From 257d9b2f8d5172acc576a1bf506e72c483817b63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Sun, 17 Apr 2016 15:39:46 +0200 Subject: [PATCH 001/476] NEW #4772 Removed support for Mysql deprecated driver. Please use Mysqli instead --- build/debian/conf.php.install | 3 +- htdocs/conf/conf.php.example | 3 +- htdocs/core/db/mysql.class.php | 1034 -------------------------------- htdocs/filefunc.inc.php | 12 +- htdocs/install/inc.php | 8 +- htdocs/install/repair.php | 1 - htdocs/install/step2.php | 1 - htdocs/install/upgrade.php | 3 +- htdocs/install/upgrade2.php | 3 +- htdocs/support/inc.php | 7 + 10 files changed, 26 insertions(+), 1049 deletions(-) delete mode 100644 htdocs/core/db/mysql.class.php diff --git a/build/debian/conf.php.install b/build/debian/conf.php.install index c0ba3bdb120..c27d9e0985b 100644 --- a/build/debian/conf.php.install +++ b/build/debian/conf.php.install @@ -100,9 +100,8 @@ $dolibarr_main_db_pass=''; # This parameter contains the name of the driver used to access your # Dolibarr database. # Default value: none -# Possible values: mysql, mysqli, pgsql +# Possible values: mysqli, pgsql # Examples: -# $dolibarr_main_db_type='mysql'; # $dolibarr_main_db_type='mysqli'; # $dolibarr_main_db_type='pgsql'; # diff --git a/htdocs/conf/conf.php.example b/htdocs/conf/conf.php.example index 3d6db94d801..f4a9563c6df 100644 --- a/htdocs/conf/conf.php.example +++ b/htdocs/conf/conf.php.example @@ -125,9 +125,8 @@ $dolibarr_main_db_pass=''; // This parameter contains the name of the driver used to access your // Dolibarr database. // Default value: none -// Possible values: mysql, mysqli, pgsql +// Possible values: mysqli, pgsql // Examples: -// $dolibarr_main_db_type='mysql'; // $dolibarr_main_db_type='mysqli'; // $dolibarr_main_db_type='pgsql'; // diff --git a/htdocs/core/db/mysql.class.php b/htdocs/core/db/mysql.class.php deleted file mode 100644 index 34a7ebdf9f5..00000000000 --- a/htdocs/core/db/mysql.class.php +++ /dev/null @@ -1,1034 +0,0 @@ - - * Copyright (C) 2002-2007 Rodolphe Quiedeville - * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2006 Andre Cianfarani - * Copyright (C) 2005-2012 Regis Houssin - * - * 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 . - */ - -/** - * \file htdocs/core/db/mysql.class.php - * \brief Class file to manage Dolibarr database access for a MySQL database - */ - -require_once DOL_DOCUMENT_ROOT .'/core/db/DoliDB.class.php'; - -/** - * Class to manage Dolibarr database access for a MySQL database using the mysql extension - * - * @deprecated Use DoliDBMysqli - */ -class DoliDBMysql extends DoliDB -{ - //! Database type - public $type='mysql'; - //! Database label - const LABEL='MySQL'; - //! Version min database - const VERSIONMIN='5.0.3'; - /** @var resource Resultset of last query */ - private $_results; - - /** - * Constructor. - * This create an opened connexion to a database server and eventually to a database - * - * @param string $type Type of database (mysql, pgsql...) - * @param string $host Address of database server - * @param string $user Nom de l'utilisateur autorise - * @param string $pass Mot de passe - * @param string $name Nom de la database - * @param int $port Port of database server - */ - function __construct($type, $host, $user, $pass, $name='', $port=0) - { - global $conf,$langs; - - // Note that having "static" property for "$forcecharset" and "$forcecollate" will make error here in strict mode, so they are not static - if (! empty($conf->db->character_set)) $this->forcecharset=$conf->db->character_set; - if (! empty($conf->db->dolibarr_main_db_collation)) $this->forcecollate=$conf->db->dolibarr_main_db_collation; - - $this->database_user=$user; - $this->database_host=$host; - $this->database_port=$port; - - $this->transaction_opened=0; - - //print "Name DB: $host,$user,$pass,$name
"; - - if (! function_exists("mysql_connect")) - { - $this->connected = false; - $this->ok = false; - $this->error="Mysql PHP functions for using MySql driver are not available in this version of PHP. Try to use another driver."; - dol_syslog(get_class($this)."::DoliDBMysql : Mysql PHP functions for using Mysql driver are not available in this version of PHP. Try to use another driver.",LOG_ERR); - return $this->ok; - } - - if (! $host) - { - $this->connected = false; - $this->ok = false; - $this->error=$langs->trans("ErrorWrongHostParameter"); - dol_syslog(get_class($this)."::DoliDBMysql : Erreur Connect, wrong host parameters",LOG_ERR); - return $this->ok; - } - - // Essai connexion serveur - $this->db = $this->connect($host, $user, $pass, $name, $port); - if ($this->db) - { - $this->connected = true; - $this->ok = true; - } - else - { - // host, login ou password incorrect - $this->connected = false; - $this->ok = false; - $this->error=mysql_error(); - dol_syslog(get_class($this)."::DoliDBMysql : Erreur Connect mysql_error=".$this->error,LOG_ERR); - } - - // Si connexion serveur ok et si connexion base demandee, on essaie connexion base - if ($this->connected && $name) - { - if ($this->select_db($name)) - { - $this->database_selected = true; - $this->database_name = $name; - $this->ok = true; - - // If client connected with different charset than Dolibarr HTML output - $clientmustbe=''; - if (preg_match('/UTF-8/i',$conf->file->character_set_client)) $clientmustbe='utf8'; - if (preg_match('/ISO-8859-1/i',$conf->file->character_set_client)) $clientmustbe='latin1'; - if (mysql_client_encoding($this->db) != $clientmustbe) - { - $this->query("SET NAMES '".$clientmustbe."'", $this->db); - //$this->query("SET CHARACTER SET ". $this->forcecharset); - } - } - else - { - $this->database_selected = false; - $this->database_name = ''; - $this->ok = false; - $this->error=$this->error(); - dol_syslog(get_class($this)."::DoliDBMysql : Erreur Select_db ".$this->error,LOG_ERR); - } - } - else - { - // Pas de selection de base demandee, ok ou ko - $this->database_selected = false; - - if ($this->connected) - { - // If client connected with different charset than Dolibarr HTML output - $clientmustbe=''; - if (preg_match('/UTF-8/i',$conf->file->character_set_client)) $clientmustbe='utf8'; - if (preg_match('/ISO-8859-1/i',$conf->file->character_set_client)) $clientmustbe='latin1'; - if (mysql_client_encoding($this->db) != $clientmustbe) - { - $this->query("SET NAMES '".$clientmustbe."'", $this->db); - //$this->query("SET CHARACTER SET ". $this->forcecharset); - } - } - } - - return $this->ok; - } - - - /** - * Convert a SQL request in Mysql syntax to native syntax - * - * @param string $line SQL request line to convert - * @param string $type Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...) - * @return string SQL request line converted - */ - static function convertSQLFromMysql($line,$type='ddl') - { - return $line; - } - - /** - * Select a database - * - * @param string $database Name of database - * @return boolean true if OK, false if KO - */ - function select_db($database) - { - dol_syslog(get_class($this)."::select_db database=".$database, LOG_DEBUG); - return mysql_select_db($database, $this->db); - } - - /** - * Connection to server - * - * @param string $host database server host - * @param string $login login - * @param string $passwd password - * @param string $name name of database (not used for mysql, used for pgsql) - * @param integer $port Port of database server - * @return resource|false Database access handler - * @see close - */ - function connect($host, $login, $passwd, $name, $port=0) - { - dol_syslog(get_class($this)."::connect host=$host, port=$port, login=$login, passwd=--hidden--, name=$name",LOG_DEBUG); - - $newhost=$host; - - // With mysql, port must be in hostname - if ($port) $newhost.=':'.$port; - - $this->db = @mysql_connect($newhost, $login, $passwd); - - //print "Resultat fonction connect: ".$this->db; - return $this->db; - } - - /** - * Return version of database server - * - * @return string Version string - */ - function getVersion() - { - return mysql_get_server_info($this->db); - } - - /** - * Return version of database client driver - * - * @return string Version string - */ - function getDriverInfo() - { - return mysql_get_client_info(); - } - - - /** - * Close database connexion - * - * @return boolean True if disconnect successfull, false otherwise - * @see connect - */ - function close() - { - if ($this->db) - { - if ($this->transaction_opened > 0) dol_syslog(get_class($this)."::close Closing a connection with an opened transaction depth=".$this->transaction_opened,LOG_ERR); - $this->connected=false; - return mysql_close($this->db); - } - return false; - } - - /** - * Execute a SQL request and return the resultset - * - * @param string $query SQL query string - * @param int $usesavepoint 0=Default mode, 1=Run a savepoint before and a rollbock to savepoint if error (this allow to have some request with errors inside global transactions). - * Note that with Mysql, this parameter is not used as Myssql can already commit a transaction even if one request is in error, without using savepoints. - * @param string $type Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...) - * @return resource|true|false Resultset of answer - */ - function query($query,$usesavepoint=0,$type='auto') - { - global $conf; - - $query = trim($query); - - if (! in_array($query,array('BEGIN','COMMIT','ROLLBACK'))) dol_syslog('sql='.$query, LOG_DEBUG); - - if (! $this->database_name) - { - // Ordre SQL ne necessitant pas de connexion a une base (exemple: CREATE DATABASE) - $ret = mysql_query($query, $this->db); - } - else - { - mysql_select_db($this->database_name); - $ret = mysql_query($query, $this->db); - } - - if (! preg_match("/^COMMIT/i",$query) && ! preg_match("/^ROLLBACK/i",$query)) - { - // Si requete utilisateur, on la sauvegarde ainsi que son resultset - if (! $ret) - { - $this->lastqueryerror = $query; - $this->lasterror = $this->error(); - $this->lasterrno = $this->errno(); - - if ($conf->global->SYSLOG_LEVEL < LOG_DEBUG) dol_syslog(get_class($this)."::query SQL Error query: ".$query, LOG_ERR); // Log of request was not yet done previously - dol_syslog(get_class($this)."::query SQL Error message: ".$this->lasterrno." ".$this->lasterror, LOG_ERR); - } - $this->lastquery=$query; - $this->_results = $ret; - } - - return $ret; - } - - /** - * Renvoie la ligne courante (comme un objet) pour le curseur resultset - * - * @param resource $resultset Curseur de la requete voulue - * @return resource|false Object result line or false if KO or end of cursor - */ - function fetch_object($resultset) - { - // If resultset not provided, we take the last used by connexion - if (! is_resource($resultset)) { $resultset=$this->_results; } - return mysql_fetch_object($resultset); - } - - /** - * Return datas as an array - * - * @param resource $resultset Resultset of request - * @return array Array - */ - function fetch_array($resultset) - { - // If resultset not provided, we take the last used by connexion - if (! is_resource($resultset)) { $resultset=$this->_results; } - return mysql_fetch_array($resultset); - } - - - /** - * Return datas as an array - * - * @param resource $resultset Resultset of request - * @return array Array - */ - function fetch_row($resultset) - { - // If resultset not provided, we take the last used by connexion - if (! is_resource($resultset)) { $resultset=$this->_results; } - return @mysql_fetch_row($resultset); - } - - /** - * Return number of lines for result of a SELECT - * - * @param resource $resultset Resulset of requests - * @return int Nb of lines - * @see affected_rows - */ - function num_rows($resultset) - { - // If resultset not provided, we take the last used by connexion - if (! is_resource($resultset)) { $resultset=$this->_results; } - return mysql_num_rows($resultset); - } - - /** - * Renvoie le nombre de lignes dans le resultat d'une requete INSERT, DELETE ou UPDATE - * - * @param resource $resultset Curseur de la requete voulue - * @return int Nombre de lignes - * @see num_rows - */ - function affected_rows($resultset) - { - // If resultset not provided, we take the last used by connexion - if (! is_resource($resultset)) { $resultset=$this->_results; } - // mysql necessite un link de base pour cette fonction contrairement - // a pqsql qui prend un resultset - return mysql_affected_rows($this->db); - } - - - /** - * Free last resultset used. - * - * @param resource $resultset Curseur de la requete voulue - * @return void - */ - function free($resultset=null) - { - // If resultset not provided, we take the last used by connexion - if (! is_resource($resultset)) { $resultset=$this->_results; } - // Si resultset en est un, on libere la memoire - if (is_resource($resultset)) mysql_free_result($resultset); - } - - /** - * Escape a string to insert data - * - * @param string $stringtoencode String to escape - * @return string String escaped - */ - function escape($stringtoencode) - { - return addslashes($stringtoencode); - } - - /** - * Return generic error code of last operation. - * - * @return string Error code (Exemples: DB_ERROR_TABLE_ALREADY_EXISTS, DB_ERROR_RECORD_ALREADY_EXISTS...) - */ - function errno() - { - if (! $this->connected) - { - // Si il y a eu echec de connexion, $this->db n'est pas valide. - return 'DB_ERROR_FAILED_TO_CONNECT'; - } - else - { - // Constants to convert a MySql error code to a generic Dolibarr error code - $errorcode_map = array( - 1004 => 'DB_ERROR_CANNOT_CREATE', - 1005 => 'DB_ERROR_CANNOT_CREATE', - 1006 => 'DB_ERROR_CANNOT_CREATE', - 1007 => 'DB_ERROR_ALREADY_EXISTS', - 1008 => 'DB_ERROR_CANNOT_DROP', - 1022 => 'DB_ERROR_KEY_NAME_ALREADY_EXISTS', - 1025 => 'DB_ERROR_NO_FOREIGN_KEY_TO_DROP', - 1044 => 'DB_ERROR_ACCESSDENIED', - 1046 => 'DB_ERROR_NODBSELECTED', - 1048 => 'DB_ERROR_CONSTRAINT', - 1050 => 'DB_ERROR_TABLE_ALREADY_EXISTS', - 1051 => 'DB_ERROR_NOSUCHTABLE', - 1054 => 'DB_ERROR_NOSUCHFIELD', - 1060 => 'DB_ERROR_COLUMN_ALREADY_EXISTS', - 1061 => 'DB_ERROR_KEY_NAME_ALREADY_EXISTS', - 1062 => 'DB_ERROR_RECORD_ALREADY_EXISTS', - 1064 => 'DB_ERROR_SYNTAX', - 1068 => 'DB_ERROR_PRIMARY_KEY_ALREADY_EXISTS', - 1075 => 'DB_ERROR_CANT_DROP_PRIMARY_KEY', - 1091 => 'DB_ERROR_NOSUCHFIELD', - 1100 => 'DB_ERROR_NOT_LOCKED', - 1136 => 'DB_ERROR_VALUE_COUNT_ON_ROW', - 1146 => 'DB_ERROR_NOSUCHTABLE', - 1216 => 'DB_ERROR_NO_PARENT', - 1217 => 'DB_ERROR_CHILD_EXISTS', - 1396 => 'DB_ERROR_USER_ALREADY_EXISTS', // When creating user already existing - 1451 => 'DB_ERROR_CHILD_EXISTS' - ); - - if (isset($errorcode_map[mysql_errno($this->db)])) - { - return $errorcode_map[mysql_errno($this->db)]; - } - $errno=mysql_errno($this->db); - return ($errno?'DB_ERROR_'.$errno:'0'); - } - } - - /** - * Return description of last error - * - * @return string Error text - */ - function error() - { - if (! $this->connected) { - // Si il y a eu echec de connexion, $this->db n'est pas valide pour mysql_error. - return 'Not connected. Check setup parameters in conf/conf.php file and your mysql client and server versions'; - } - else { - return mysql_error($this->db); - } - } - - /** - * Get last ID after an insert INSERT - * - * @param string $tab Table name concerned by insert. Ne sert pas sous MySql mais requis pour compatibilite avec Postgresql - * @param string $fieldid Field name - * @return int Id of row - */ - function last_insert_id($tab,$fieldid='rowid') - { - return mysql_insert_id($this->db); - } - - - - // Next functions are not required. Only minor features use them. - //--------------------------------------------------------------- - - /** - * Encrypt sensitive data in database - * Warning: This function includes the escape, so it must use direct value - * - * @param string $fieldorvalue Field name or value to encrypt - * @param int $withQuotes Return string with quotes - * @return string XXX(field) or XXX('value') or field or 'value' - */ - function encrypt($fieldorvalue, $withQuotes=0) - { - global $conf; - - // Type of encryption (2: AES (recommended), 1: DES , 0: no encryption) - $cryptType = (! empty($conf->db->dolibarr_main_db_encryption)?$conf->db->dolibarr_main_db_encryption:0); - - //Encryption key - $cryptKey = (!empty($conf->db->dolibarr_main_db_cryptkey)?$conf->db->dolibarr_main_db_cryptkey:''); - - $return = ($withQuotes?"'":"").$this->escape($fieldorvalue).($withQuotes?"'":""); - - if ($cryptType && !empty($cryptKey)) - { - if ($cryptType == 2) - { - $return = 'AES_ENCRYPT('.$return.',\''.$cryptKey.'\')'; - } - else if ($cryptType == 1) - { - $return = 'DES_ENCRYPT('.$return.',\''.$cryptKey.'\')'; - } - } - - return $return; - } - - /** - * Decrypt sensitive data in database - * - * @param string $value Value to decrypt - * @return string Decrypted value if used - */ - function decrypt($value) - { - global $conf; - - // Type of encryption (2: AES (recommended), 1: DES , 0: no encryption) - $cryptType = (!empty($conf->db->dolibarr_main_db_encryption)?$conf->db->dolibarr_main_db_encryption:0); - - //Encryption key - $cryptKey = (!empty($conf->db->dolibarr_main_db_cryptkey)?$conf->db->dolibarr_main_db_cryptkey:''); - - $return = $value; - - if ($cryptType && !empty($cryptKey)) - { - if ($cryptType == 2) - { - $return = 'AES_DECRYPT('.$value.',\''.$cryptKey.'\')'; - } - else if ($cryptType == 1) - { - $return = 'DES_DECRYPT('.$value.',\''.$cryptKey.'\')'; - } - } - - return $return; - } - - - /** - * Return connexion ID - * - * @return string Id connexion - */ - function DDLGetConnectId() - { - $resql=$this->query('SELECT CONNECTION_ID()'); - $row=$this->fetch_row($resql); - return $row[0]; - } - - - /** - * Create a new database - * Do not use function xxx_create_db (xxx=mysql, ...) as they are deprecated - * We force to create database with charset this->forcecharset and collate this->forcecollate - * - * @param string $database Database name to create - * @param string $charset Charset used to store data - * @param string $collation Charset used to sort data - * @param string $owner Username of database owner - * @return false|resource|true resource defined if OK, null if KO - */ - function DDLCreateDb($database,$charset='',$collation='',$owner='') - { - if (empty($charset)) $charset=$this->forcecharset; - if (empty($collation)) $collation=$this->forcecollate; - - // ALTER DATABASE dolibarr_db DEFAULT CHARACTER SET latin DEFAULT COLLATE latin1_swedish_ci - $sql = "CREATE DATABASE `".$this->escape($database)."`"; - $sql.= " DEFAULT CHARACTER SET `".$this->escape($charset)."` DEFAULT COLLATE `".$this->escape($collation)."`"; - - dol_syslog($sql,LOG_DEBUG); - $ret=$this->query($sql); - if (! $ret) - { - // We try again for compatibility with Mysql < 4.1.1 - $sql = "CREATE DATABASE `".$this->escape($database)."`"; - dol_syslog($sql,LOG_DEBUG); - $ret=$this->query($sql); - } - return $ret; - } - - /** - * List tables into a database - * - * @param string $database Name of database - * @param string $table Nmae of table filter ('xxx%') - * @return array List of tables in an array - */ - function DDLListTables($database, $table='') - { - $listtables=array(); - - $like = ''; - if ($table) $like = "LIKE '".$table."'"; - $sql="SHOW TABLES FROM ".$database." ".$like.";"; - //print $sql; - $result = $this->query($sql); - while($row = $this->fetch_row($result)) - { - $listtables[] = $row[0]; - } - return $listtables; - } - - /** - * List information of columns into a table. - * - * @param string $table Name of table - * @return array Tableau des informations des champs de la table - */ - function DDLInfoTable($table) - { - $infotables=array(); - - $sql="SHOW FULL COLUMNS FROM ".$table.";"; - - dol_syslog($sql,LOG_DEBUG); - $result = $this->query($sql); - while($row = $this->fetch_row($result)) - { - $infotables[] = $row; - } - return $infotables; - } - - /** - * Create a table into database - * - * @param string $table Nom de la table - * @param array $fields Tableau associatif [nom champ][tableau des descriptions] - * @param string $primary_key Nom du champ qui sera la clef primaire - * @param string $type Type de la table - * @param array $unique_keys Tableau associatifs Nom de champs qui seront clef unique => valeur - * @param array $fulltext_keys Tableau des Nom de champs qui seront indexes en fulltext - * @param array $keys Tableau des champs cles noms => valeur - * @return int <0 if KO, >=0 if OK - */ - function DDLCreateTable($table,$fields,$primary_key,$type,$unique_keys=null,$fulltext_keys=null,$keys=null) - { - // FIXME: $fulltext_keys parameter is unused - - // cles recherchees dans le tableau des descriptions (fields) : type,value,attribute,null,default,extra - // ex. : $fields['rowid'] = array('type'=>'int','value'=>'11','null'=>'not null','extra'=> 'auto_increment'); - $sql = "CREATE TABLE ".$table."("; - $i=0; - foreach($fields as $field_name => $field_desc) - { - $sqlfields[$i] = $field_name." "; - $sqlfields[$i] .= $field_desc['type']; - if( preg_match("/^[^\s]/i",$field_desc['value'])) { - $sqlfields[$i] .= "(".$field_desc['value'].")"; - } - if( preg_match("/^[^\s]/i",$field_desc['attribute'])) { - $sqlfields[$i] .= " ".$field_desc['attribute']; - } - if( preg_match("/^[^\s]/i",$field_desc['default'])) - { - if ((preg_match("/null/i",$field_desc['default'])) || (preg_match("/CURRENT_TIMESTAMP/i",$field_desc['default']))) { - $sqlfields[$i] .= " default ".$field_desc['default']; - } - else { - $sqlfields[$i] .= " default '".$field_desc['default']."'"; - } - } - if( preg_match("/^[^\s]/i",$field_desc['null'])) { - $sqlfields[$i] .= " ".$field_desc['null']; - } - if( preg_match("/^[^\s]/i",$field_desc['extra'])) { - $sqlfields[$i] .= " ".$field_desc['extra']; - } - $i++; - } - if($primary_key != "") - $pk = "primary key(".$primary_key.")"; - - if(is_array($unique_keys)) - { - $i = 0; - foreach($unique_keys as $key => $value) - { - $sqluq[$i] = "UNIQUE KEY '".$key."' ('".$value."')"; - $i++; - } - } - if(is_array($keys)) - { - $i = 0; - foreach($keys as $key => $value) - { - $sqlk[$i] = "KEY ".$key." (".$value.")"; - $i++; - } - } - $sql .= implode(',',$sqlfields); - if($primary_key != "") - $sql .= ",".$pk; - if(is_array($unique_keys)) - $sql .= ",".implode(',',$sqluq); - if(is_array($keys)) - $sql .= ",".implode(',',$sqlk); - $sql .=") engine=".$type; - - dol_syslog($sql,LOG_DEBUG); - if(! $this -> query($sql)) - return -1; - else - return 1; - } - - /** - * Return a pointer of line with description of a table or field - * - * @param string $table Name of table - * @param string $field Optionnel : Name of field if we want description of field - * @return false|resource|true Resource - */ - function DDLDescTable($table,$field="") - { - $sql="DESC ".$table." ".$field; - - dol_syslog(get_class($this)."::DDLDescTable ".$sql,LOG_DEBUG); - $this->_results = $this->query($sql); - return $this->_results; - } - - /** - * Create a new field into table - * - * @param string $table Name of table - * @param string $field_name Name of field to add - * @param string $field_desc Tableau associatif de description du champ a inserer[nom du parametre][valeur du parametre] - * @param string $field_position Optionnel ex.: "after champtruc" - * @return int <0 if KO, >0 if OK - */ - function DDLAddField($table,$field_name,$field_desc,$field_position="") - { - // cles recherchees dans le tableau des descriptions (field_desc) : type,value,attribute,null,default,extra - // ex. : $field_desc = array('type'=>'int','value'=>'11','null'=>'not null','extra'=> 'auto_increment'); - $sql= "ALTER TABLE ".$table." ADD `".$field_name."` "; - $sql.= $field_desc['type']; - if(preg_match("/^[^\s]/i",$field_desc['value'])) - if (! in_array($field_desc['type'],array('date','datetime'))) - { - $sql.= "(".$field_desc['value'].")"; - } - if(preg_match("/^[^\s]/i",$field_desc['attribute'])) - $sql.= " ".$field_desc['attribute']; - if(preg_match("/^[^\s]/i",$field_desc['null'])) - $sql.= " ".$field_desc['null']; - if(preg_match("/^[^\s]/i",$field_desc['default'])) - { - if(preg_match("/null/i",$field_desc['default'])) - $sql.= " default ".$field_desc['default']; - else - $sql.= " default '".$field_desc['default']."'"; - } - if(preg_match("/^[^\s]/i",$field_desc['extra'])) - $sql.= " ".$field_desc['extra']; - $sql.= " ".$field_position; - - dol_syslog(get_class($this)."::DDLAddField ".$sql,LOG_DEBUG); - if(! $this->query($sql)) - { - return -1; - } - else - { - return 1; - } - } - - /** - * Update format of a field into a table - * - * @param string $table Name of table - * @param string $field_name Name of field to modify - * @param string $field_desc Array with description of field format - * @return int <0 if KO, >0 if OK - */ - function DDLUpdateField($table,$field_name,$field_desc) - { - $sql = "ALTER TABLE ".$table; - $sql .= " MODIFY COLUMN ".$field_name." ".$field_desc['type']; - if ($field_desc['type'] == 'tinyint' || $field_desc['type'] == 'int' || $field_desc['type'] == 'varchar') { - $sql.="(".$field_desc['value'].")"; - } - if ($field_desc['null'] == 'not null' || $field_desc['null'] == 'NOT NULL') $sql.=" NOT NULL"; - - dol_syslog(get_class($this)."::DDLUpdateField ".$sql,LOG_DEBUG); - if (! $this->query($sql)) - return -1; - else - return 1; - } - - /** - * Drop a field from table - * - * @param string $table Name of table - * @param string $field_name Name of field to drop - * @return int <0 if KO, >0 if OK - */ - function DDLDropField($table,$field_name) - { - $sql= "ALTER TABLE ".$table." DROP COLUMN `".$field_name."`"; - dol_syslog(get_class($this)."::DDLDropField ".$sql,LOG_DEBUG); - if (! $this->query($sql)) - { - $this->error=$this->lasterror(); - return -1; - } - else return 1; - } - - - /** - * Create a user and privileges to connect to database (even if database does not exists yet) - * - * @param string $dolibarr_main_db_host Ip serveur - * @param string $dolibarr_main_db_user Nom user a creer - * @param string $dolibarr_main_db_pass Mot de passe user a creer - * @param string $dolibarr_main_db_name Database name where user must be granted - * @return int <0 if KO, >=0 if OK - */ - function DDLCreateUser($dolibarr_main_db_host,$dolibarr_main_db_user,$dolibarr_main_db_pass,$dolibarr_main_db_name) - { - $sql = "CREATE USER '".$this->escape($dolibarr_main_db_user)."'"; - dol_syslog(get_class($this)."::DDLCreateUser", LOG_DEBUG); // No sql to avoid password in log - $resql=$this->query($sql); - if (! $resql) - { - if ($this->lasterrno != 'DB_ERROR_USER_ALREADY_EXISTS') - { - return -1; - } - else - { - // If user already exists, we continue to set permissions - dol_syslog(get_class($this)."::DDLCreateUser sql=".$sql, LOG_WARNING); - } - } - $sql = "GRANT ALL PRIVILEGES ON ".$this->escape($dolibarr_main_db_name).".* TO '".$this->escape($dolibarr_main_db_user)."'@'".$this->escape($dolibarr_main_db_host)."' IDENTIFIED BY '".$this->escape($dolibarr_main_db_pass)."'"; - dol_syslog(get_class($this)."::DDLCreateUser", LOG_DEBUG); // No sql to avoid password in log - $resql=$this->query($sql); - if (! $resql) - { - return -1; - } - - $sql="FLUSH Privileges"; - - dol_syslog(get_class($this)."::DDLCreateUser", LOG_DEBUG); - $resql=$this->query($sql); - if (! $resql) - { - return -1; - } - - return 1; - } - - /** - * Return charset used to store data in database - * - * @return string Charset - */ - function getDefaultCharacterSetDatabase() - { - $resql=$this->query('SHOW VARIABLES LIKE \'character_set_database\''); - if (!$resql) - { - // version Mysql < 4.1.1 - return $this->forcecharset; - } - $liste=$this->fetch_array($resql); - return $liste['Value']; - } - - /** - * Return list of available charset that can be used to store data in database - * - * @return array List of Charset - */ - function getListOfCharacterSet() - { - $resql=$this->query('SHOW CHARSET'); - $liste = array(); - if ($resql) - { - $i = 0; - while ($obj = $this->fetch_object($resql) ) - { - $liste[$i]['charset'] = $obj->Charset; - $liste[$i]['description'] = $obj->Description; - $i++; - } - $this->free($resql); - } else { - // version Mysql < 4.1.1 - return null; - } - return $liste; - } - - /** - * Return collation used in database - * - * @return string Collation value - */ - function getDefaultCollationDatabase() - { - $resql=$this->query('SHOW VARIABLES LIKE \'collation_database\''); - if (!$resql) - { - // version Mysql < 4.1.1 - return $this->forcecollate; - } - $liste=$this->fetch_array($resql); - return $liste['Value']; - } - - /** - * Return list of available collation that can be used for database - * - * @return array List of Collation - */ - function getListOfCollation() - { - $resql=$this->query('SHOW COLLATION'); - $liste = array(); - if ($resql) - { - $i = 0; - while ($obj = $this->fetch_object($resql) ) - { - $liste[$i]['collation'] = $obj->Collation; - $i++; - } - $this->free($resql); - } else { - // version Mysql < 4.1.1 - return null; - } - return $liste; - } - - /** - * Return full path of dump program - * - * @return string Full path of dump program - */ - function getPathOfDump() - { - $fullpathofdump='/pathtomysqldump/mysqldump'; - - $resql=$this->query('SHOW VARIABLES LIKE \'basedir\''); - if ($resql) - { - $liste=$this->fetch_array($resql); - $basedir=$liste['Value']; - $fullpathofdump=$basedir.(preg_match('/\/$/',$basedir)?'':'/').'bin/mysqldump'; - } - return $fullpathofdump; - } - - /** - * Return full path of restore program - * - * @return string Full path of restore program - */ - function getPathOfRestore() - { - $fullpathofimport='/pathtomysql/mysql'; - - $resql=$this->query('SHOW VARIABLES LIKE \'basedir\''); - if ($resql) - { - $liste=$this->fetch_array($resql); - $basedir=$liste['Value']; - $fullpathofimport=$basedir.(preg_match('/\/$/',$basedir)?'':'/').'bin/mysql'; - } - return $fullpathofimport; - } - - /** - * Return value of server parameters - * - * @param string $filter Filter list on a particular value - * @return array Array of key-values (key=>value) - */ - function getServerParametersValues($filter='') - { - $result=array(); - - $sql='SHOW VARIABLES'; - if ($filter) $sql.=" LIKE '".$this->escape($filter)."'"; - $resql=$this->query($sql); - if ($resql) - { - while ($obj=$this->fetch_object($resql)) $result[$obj->Variable_name]=$obj->Value; - } - - return $result; - } - - /** - * Return value of server status - * - * @param string $filter Filter list on a particular value - * @return array Array of key-values (key=>value) - */ - function getServerStatusValues($filter='') - { - $result=array(); - - $sql='SHOW STATUS'; - if ($filter) $sql.=" LIKE '".$this->escape($filter)."'"; - $resql=$this->query($sql); - if ($resql) - { - while ($obj=$this->fetch_object($resql)) $result[$obj->Variable_name]=$obj->Value; - } - - return $result; - } -} - diff --git a/htdocs/filefunc.inc.php b/htdocs/filefunc.inc.php index b97721f2108..a6ebfdca2dd 100644 --- a/htdocs/filefunc.inc.php +++ b/htdocs/filefunc.inc.php @@ -114,10 +114,15 @@ $dolibarr_main_document_root=trim($dolibarr_main_document_root); $dolibarr_main_document_root_alt=(empty($dolibarr_main_document_root_alt)?'':trim($dolibarr_main_document_root_alt)); if (empty($dolibarr_main_db_port)) $dolibarr_main_db_port=0; // Pour compatibilite avec anciennes configs, si non defini, on prend 'mysql' -if (empty($dolibarr_main_db_type)) $dolibarr_main_db_type='mysql'; // Pour compatibilite avec anciennes configs, si non defini, on prend 'mysql' +if (empty($dolibarr_main_db_type)) $dolibarr_main_db_type='mysqli'; // Pour compatibilite avec anciennes configs, si non defini, on prend 'mysql' + +//Mysql driver support has been removed in favor of mysqli +if ($dolibarr_main_db_type == 'mysql') { + $dolibarr_main_db_type = 'mysqli'; +} if (empty($dolibarr_main_db_prefix)) $dolibarr_main_db_prefix='llx_'; -if (empty($dolibarr_main_db_character_set)) $dolibarr_main_db_character_set=($dolibarr_main_db_type=='mysql'?'utf8':''); // Old installation -if (empty($dolibarr_main_db_collation)) $dolibarr_main_db_collation=($dolibarr_main_db_type=='mysql'?'utf8_general_ci':''); // Old installation +if (empty($dolibarr_main_db_character_set)) $dolibarr_main_db_character_set=($dolibarr_main_db_type=='mysqli'?'utf8':''); // Old installation +if (empty($dolibarr_main_db_collation)) $dolibarr_main_db_collation=($dolibarr_main_db_type=='mysqli'?'utf8_general_ci':''); // Old installation if (empty($dolibarr_main_db_encryption)) $dolibarr_main_db_encryption=0; if (empty($dolibarr_main_db_cryptkey)) $dolibarr_main_db_cryptkey=''; if (empty($dolibarr_main_limit_users)) $dolibarr_main_limit_users=0; @@ -149,7 +154,6 @@ if (empty($dolibarr_main_url_root)) print 'You must add this parameter with your full Dolibarr root Url (Example: http://myvirtualdomain/ or http://mydomain/mydolibarrurl/)'."\n"; die; } -if (empty($dolibarr_main_db_type)) $dolibarr_main_db_type='mysql'; // Pour compatibilite avec anciennes configs, si non defini, on prend 'mysql' if (empty($dolibarr_main_data_root)) { // Si repertoire documents non defini, on utilise celui par defaut diff --git a/htdocs/install/inc.php b/htdocs/install/inc.php index 1fa6189df67..a798523f86d 100644 --- a/htdocs/install/inc.php +++ b/htdocs/install/inc.php @@ -84,7 +84,13 @@ if (! defined('DONOTLOADCONF') && file_exists($conffile) && filesize($conffile) if ($result) { if (empty($dolibarr_main_db_type)) $dolibarr_main_db_type='mysqli'; // For backward compatibility - if (empty($dolibarr_main_db_port) && ($dolibarr_main_db_type=='mysqli' || $dolibarr_main_db_type=='mysql')) $dolibarr_main_db_port='3306'; // For backward compatibility + + //Mysql driver support has been removed in favor of mysqli + if ($dolibarr_main_db_type == 'mysql') { + $dolibarr_main_db_type = 'mysqli'; + } + + if (empty($dolibarr_main_db_port) && ($dolibarr_main_db_type=='mysqli')) $dolibarr_main_db_port='3306'; // For backward compatibility // Clean parameters $dolibarr_main_data_root =isset($dolibarr_main_data_root)?trim($dolibarr_main_data_root):DOL_DOCUMENT_ROOT . '/../documents'; diff --git a/htdocs/install/repair.php b/htdocs/install/repair.php index 10edf5a82a7..a1dc04b6690 100644 --- a/htdocs/install/repair.php +++ b/htdocs/install/repair.php @@ -50,7 +50,6 @@ $langs->load("admin"); $langs->load("install"); $langs->load("other"); -if ($dolibarr_main_db_type == "mysql") $choix=1; if ($dolibarr_main_db_type == "mysqli") $choix=1; if ($dolibarr_main_db_type == "pgsql") $choix=2; if ($dolibarr_main_db_type == "mssql") $choix=3; diff --git a/htdocs/install/step2.php b/htdocs/install/step2.php index bb7e37c7e47..3b3ee8c7b9f 100644 --- a/htdocs/install/step2.php +++ b/htdocs/install/step2.php @@ -48,7 +48,6 @@ $langs->load("admin"); $langs->load("install"); $choix=0; -if ($dolibarr_main_db_type == "mysql") $choix=1; if ($dolibarr_main_db_type == "mysqli") $choix=1; if ($dolibarr_main_db_type == "pgsql") $choix=2; if ($dolibarr_main_db_type == "mssql") $choix=3; diff --git a/htdocs/install/upgrade.php b/htdocs/install/upgrade.php index 4d42e225429..6c9bfc41f38 100644 --- a/htdocs/install/upgrade.php +++ b/htdocs/install/upgrade.php @@ -38,7 +38,7 @@ if (! file_exists($conffile)) { print 'Error: Dolibarr config file was not found. This may means that Dolibarr is not installed yet. Please call the page "/install/index.php" instead of "/install/upgrade.php").'; } -require_once $conffile; if (! isset($dolibarr_main_db_type)) $dolibarr_main_db_type='mysql'; // For backward compatibility +require_once $conffile; require_once $dolibarr_main_document_root.'/core/lib/admin.lib.php'; $grant_query=''; @@ -66,7 +66,6 @@ $langs->load("install"); $langs->load("other"); $langs->load("errors"); -if ($dolibarr_main_db_type == "mysql") $choix=1; if ($dolibarr_main_db_type == "mysqli") $choix=1; if ($dolibarr_main_db_type == "pgsql") $choix=2; if ($dolibarr_main_db_type == "mssql") $choix=3; diff --git a/htdocs/install/upgrade2.php b/htdocs/install/upgrade2.php index c9fa2ba39a6..1c574b8a0bd 100644 --- a/htdocs/install/upgrade2.php +++ b/htdocs/install/upgrade2.php @@ -37,7 +37,7 @@ if (! file_exists($conffile)) { print 'Error: Dolibarr config file was not found. This may means that Dolibarr is not installed yet. Please call the page "/install/index.php" instead of "/install/upgrade.php").'; } -require_once $conffile; if (! isset($dolibarr_main_db_type)) $dolibarr_main_db_type='mysql'; // For backward compatibility +require_once $conffile; require_once $dolibarr_main_document_root . '/compta/facture/class/facture.class.php'; require_once $dolibarr_main_document_root . '/comm/propal/class/propal.class.php'; require_once $dolibarr_main_document_root . '/contrat/class/contrat.class.php'; @@ -69,7 +69,6 @@ $langs->load('install'); $langs->load("bills"); $langs->load("suppliers"); -if ($dolibarr_main_db_type == 'mysql') $choix=1; if ($dolibarr_main_db_type == 'mysqli') $choix=1; if ($dolibarr_main_db_type == 'pgsql') $choix=2; if ($dolibarr_main_db_type == 'mssql') $choix=3; diff --git a/htdocs/support/inc.php b/htdocs/support/inc.php index 36566b0d3f5..2db312ee630 100644 --- a/htdocs/support/inc.php +++ b/htdocs/support/inc.php @@ -71,6 +71,13 @@ if (! defined('DONOTLOADCONF') && file_exists($conffile) && filesize($conffile) if (empty($dolibarr_main_db_type)) $dolibarr_main_db_type='mysql'; // For backward compatibility + //Mysql driver support has been removed in favor of mysqli + if ($dolibarr_main_db_type == 'mysql') { + $dolibarr_main_db_type = 'mysqli'; + } + + if (empty($dolibarr_main_db_port) && ($dolibarr_main_db_type=='mysqli')) $dolibarr_main_db_port='3306'; // For backward compatibility + // Clean parameters $dolibarr_main_data_root =isset($dolibarr_main_data_root)?trim($dolibarr_main_data_root):''; $dolibarr_main_url_root =isset($dolibarr_main_url_root)?trim($dolibarr_main_url_root):''; From d6b9eb1a8562740adbcb41e1f2d544d8c9daa923 Mon Sep 17 00:00:00 2001 From: Xebax Date: Mon, 13 Jun 2016 14:24:09 +0200 Subject: [PATCH 002/476] REST API: enable the Restler API Explorer. --- htdocs/api/index.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/htdocs/api/index.php b/htdocs/api/index.php index 660c90d3476..fc4f8bb8dfd 100644 --- a/htdocs/api/index.php +++ b/htdocs/api/index.php @@ -58,7 +58,10 @@ if (empty($conf->global->MAIN_MODULE_API)) $api = new DolibarrApi($db); -$api->r->addAPIClass('Luracast\\Restler\\Resources'); //this creates resources.json at API Root +// Enable the Restler API Explorer. +// See https://github.com/Luracast/Restler-API-Explorer for more info. +$api->r->addAPIClass('Luracast\\Restler\\Explorer'); + $api->r->setSupportedFormats('JsonFormat', 'XmlFormat'); $api->r->addAuthenticationClass('DolibarrApiAccess',''); From 396d31e18edf21d036ccfd0c0b157fb8c8d25e81 Mon Sep 17 00:00:00 2001 From: Xebax Date: Mon, 13 Jun 2016 23:24:54 +0200 Subject: [PATCH 003/476] REST API: begin the refactoring. Simplify the code that looks for the API classes and replace the /contact/ and /user/ APIs by /contacts/ and /users/. --- htdocs/api/index.php | 29 ++++++------------- ...ntact.class.php => api_contacts.class.php} | 27 ++++------------- ...api_user.class.php => api_users.class.php} | 25 +++++----------- 3 files changed, 21 insertions(+), 60 deletions(-) rename htdocs/societe/class/{api_contact.class.php => api_contacts.class.php} (91%) rename htdocs/user/class/{api_user.class.php => api_users.class.php} (94%) diff --git a/htdocs/api/index.php b/htdocs/api/index.php index fc4f8bb8dfd..e0abd839b66 100644 --- a/htdocs/api/index.php +++ b/htdocs/api/index.php @@ -65,8 +65,6 @@ $api->r->addAPIClass('Luracast\\Restler\\Explorer'); $api->r->setSupportedFormats('JsonFormat', 'XmlFormat'); $api->r->addAuthenticationClass('DolibarrApiAccess',''); -$listofapis = array(); - $modulesdir = dolGetModulesDirs(); foreach ($modulesdir as $dir) { @@ -80,25 +78,19 @@ foreach ($modulesdir as $dir) { while (($file = readdir($handle))!==false) { - if (is_readable($dir.$file) && preg_match("/^(mod.*)\.class\.php$/i",$file,$reg)) + if (is_readable($dir.$file) && preg_match("/^mod(.*)\.class\.php$/i",$file,$reg)) { - $modulename=$reg[1]; + $module = $part = strtolower($reg[1]); - // Defined if module is enabled - $enabled=true; - $module=$part=$obj=strtolower(preg_replace('/^mod/i','',$modulename)); - //if ($part == 'propale') $part='propal'; - if ($module == 'societe') { - $obj = 'thirdparty'; - } if ($module == 'categorie') { $part = 'categories'; - $obj = 'category'; } if ($module == 'facture') { $part = 'compta/facture'; - $obj = 'facture'; } + + // Defined if module is enabled + $enabled=true; if (empty($conf->$module->enabled)) $enabled=false; if ($enabled) @@ -118,17 +110,14 @@ foreach ($modulesdir as $dir) { while (($file_searched = readdir($handle_part))!==false) { - if (is_readable($dir_part.$file_searched) && preg_match("/^(api_.*)\.class\.php$/i",$file_searched,$reg)) + if (is_readable($dir_part.$file_searched) && preg_match("/^api_(.*)\.class\.php$/i",$file_searched,$reg)) { - $classname=$reg[1]; - $classname = str_replace('Api_','',ucwords($reg[1])).'Api'; - $classname = ucfirst($classname); + $classname = ucwords($reg[1]); require_once $dir_part.$file_searched; - if (class_exists($classname)) + if (class_exists($classname)) { dol_syslog("Found API classname=".$classname); - $api->r->addAPIClass($classname,''); - $listofapis[]=array('classname'=>$classname, 'fullpath'=>$file_searched); + $api->r->addAPIClass($classname); } } } diff --git a/htdocs/societe/class/api_contact.class.php b/htdocs/societe/class/api_contacts.class.php similarity index 91% rename from htdocs/societe/class/api_contact.class.php rename to htdocs/societe/class/api_contacts.class.php index 5144c000b4d..d49be1bd4f1 100644 --- a/htdocs/societe/class/api_contact.class.php +++ b/htdocs/societe/class/api_contacts.class.php @@ -20,14 +20,12 @@ use Luracast\Restler\RestException; //require_once DOL_DOCUMENT_ROOT . '/contact/class/contact.class.php'; /** - * API class for contact object + * API class for contacts * - * @smart-auto-routing false * @access protected * @class DolibarrApiAccess {@requires user,external} - * */ -class ContactApi extends DolibarrApi +class Contacts extends DolibarrApi { /** * @@ -44,9 +42,6 @@ class ContactApi extends DolibarrApi /** * Constructor - * - * @url contact/ - * */ function __construct() { global $db, $conf; @@ -62,7 +57,6 @@ class ContactApi extends DolibarrApi * @param int $id ID of contact * @return array|mixed data without useless information * - * @url GET contact/{id} * @throws RestException */ function get($id) { @@ -96,15 +90,10 @@ class ContactApi extends DolibarrApi * @param int $limit Limit for list * @param int $page Page number * @return array Array of contact objects - * - * @url GET /contact/list - * @url GET /contact/list/{socid} - * @url GET /thirdparty/{socid}/contacts - * @url GET /customer/{socid}/contacts * * @throws RestException */ - function getList($socid = 0, $sortfield = "c.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { + function index($socid = 0, $sortfield = "c.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { global $db, $conf; $obj_ret = array(); @@ -191,8 +180,6 @@ class ContactApi extends DolibarrApi * * @param array $request_data Request datas * @return int ID of contact - * - * @url POST contact/ */ function post($request_data = NULL) { if (!DolibarrApiAccess::$user->rights->societe->contact->creer) @@ -215,8 +202,6 @@ class ContactApi extends DolibarrApi * @param int $id Id of contact to update * @param array $request_data Datas * @return int - * - * @url PUT contact/{id} */ function put($id, $request_data = NULL) { if (!DolibarrApiAccess::$user->rights->societe->contact->creer) @@ -251,11 +236,9 @@ class ContactApi extends DolibarrApi * * @param int $id Contact ID * @return integer - * - * @url DELETE contact/{id} */ function delete($id) { - if (!DolibarrApiAccess::$user->rights->contact->supprimer) + if (!DolibarrApiAccess::$user->rights->societe->contact->supprimer) { throw new RestException(401); } @@ -282,7 +265,7 @@ class ContactApi extends DolibarrApi */ function _validate($data) { $contact = array(); - foreach (ContactApi::$FIELDS as $field) + foreach (Contacts::$FIELDS as $field) { if (!isset($data[$field])) throw new RestException(400, "$field field missing"); diff --git a/htdocs/user/class/api_user.class.php b/htdocs/user/class/api_users.class.php similarity index 94% rename from htdocs/user/class/api_user.class.php rename to htdocs/user/class/api_users.class.php index e89a5faac0b..7b2396434de 100644 --- a/htdocs/user/class/api_user.class.php +++ b/htdocs/user/class/api_users.class.php @@ -20,14 +20,12 @@ use Luracast\Restler\RestException; //require_once DOL_DOCUMENT_ROOT . '/contact/class/contact.class.php'; /** - * API class for user object + * API class for users * - * @smart-auto-routing false * @access protected * @class DolibarrApiAccess {@requires user,external} - * */ -class UserApi extends DolibarrApi +class Users extends DolibarrApi { /** * @@ -44,9 +42,6 @@ class UserApi extends DolibarrApi /** * Constructor - * - * @url user/ - * */ function __construct() { global $db, $conf; @@ -62,7 +57,6 @@ class UserApi extends DolibarrApi * @param int $id ID of user * @return array|mixed data without useless information * - * @url GET user/{id} * @throws RestException */ function get($id) { @@ -85,6 +79,7 @@ class UserApi extends DolibarrApi } /** + * TODO move to the /contacts/ API * Create useraccount object from contact * * @param int $contactid Id of contact @@ -133,8 +128,6 @@ class UserApi extends DolibarrApi * * @param array $request_data New user data * @return int - * - * @url POST user/ */ function post($request_data = NULL) { // check user authorization @@ -170,8 +163,6 @@ class UserApi extends DolibarrApi * @param int $id Id of account to update * @param array $request_data Datas * @return int - * - * @url PUT user/{id} */ function put($id, $request_data = NULL) { //if (!DolibarrApiAccess::$user->rights->user->user->creer) { @@ -194,7 +185,7 @@ class UserApi extends DolibarrApi $this->useraccount->$field = $value; } - if ($this->useraccount->update($id, DolibarrApiAccess::$user, 1, '', '', 'update')) + if ($this->useraccount->update(DolibarrApiAccess::$user, 1)) return $this->get($id); return false; @@ -207,9 +198,9 @@ class UserApi extends DolibarrApi * @param int $group Group ID * @return int * - * @url GET user/{id}/setGroup/{group} + * @url GET {id}/setGroup/{group} */ - function setGroup($id,$group) { + function setGroup($id, $group) { //if (!DolibarrApiAccess::$user->rights->user->user->supprimer) { //throw new RestException(401); //} @@ -232,8 +223,6 @@ class UserApi extends DolibarrApi * * @param int $id Account ID * @return array - * - * @url DELETE user/{id} */ function delete($id) { //if (!DolibarrApiAccess::$user->rights->user->user->supprimer) { @@ -262,7 +251,7 @@ class UserApi extends DolibarrApi */ function _validate($data) { $account = array(); - foreach (UserApi::$FIELDS as $field) + foreach (Users::$FIELDS as $field) { if (!isset($data[$field])) throw new RestException(400, "$field field missing"); From db77efc067a5dd1fa37ebbdd42c48f4afddfbf62 Mon Sep 17 00:00:00 2001 From: Xebax Date: Tue, 14 Jun 2016 18:57:00 +0200 Subject: [PATCH 004/476] REST API: replace the /category/ API by /categories/. Remove several /category/list/xxx endpoints because they are redundant with the /categories/ endpoint whith the 'type' filter. --- ...ory.class.php => api_categories.class.php} | 109 ++---------------- 1 file changed, 11 insertions(+), 98 deletions(-) rename htdocs/categories/class/{api_category.class.php => api_categories.class.php} (79%) diff --git a/htdocs/categories/class/api_category.class.php b/htdocs/categories/class/api_categories.class.php similarity index 79% rename from htdocs/categories/class/api_category.class.php rename to htdocs/categories/class/api_categories.class.php index f5a5b1f037d..7a664718414 100644 --- a/htdocs/categories/class/api_category.class.php +++ b/htdocs/categories/class/api_categories.class.php @@ -21,15 +21,12 @@ require_once DOL_DOCUMENT_ROOT.'/societe/class/client.class.php'; /** - * API class for category object + * API class for categories * - * @smart-auto-routing false * @access protected * @class DolibarrApiAccess {@requires user,external} - * - * */ -class CategoryApi extends DolibarrApi +class Categories extends DolibarrApi { /** * @var array $FIELDS Mandatory fields, checked when create and update object @@ -55,16 +52,12 @@ class CategoryApi extends DolibarrApi /** * Constructor - * - * @url GET category/ - * */ function __construct() { global $db, $conf; $this->db = $db; $this->category = new Categorie($this->db); - } /** @@ -75,7 +68,6 @@ class CategoryApi extends DolibarrApi * @param int $id ID of category * @return array|mixed data without useless information * - * @url GET category/{id} * @throws RestException */ function get($id) @@ -108,9 +100,9 @@ class CategoryApi extends DolibarrApi * @param int $page Page number * @return array Array of category objects * - * @url GET /category/list + * @throws RestException */ - function getList($type='product', $sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { + function index($type, $sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { global $db, $conf; $obj_ret = array(); @@ -122,7 +114,7 @@ class CategoryApi extends DolibarrApi $sql = "SELECT s.rowid"; $sql.= " FROM ".MAIN_DB_PREFIX."categorie as s"; $sql.= ' WHERE s.entity IN ('.getEntity('categorie', 1).')'; - $sql.= ' AND s.type='.array_search($type,CategoryApi::$TYPES); + $sql.= ' AND s.type='.array_search($type,Categories::$TYPES); $nbtotalofrecords = 0; if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) @@ -165,7 +157,9 @@ class CategoryApi extends DolibarrApi } return $obj_ret; } + /** + * TODO move to /members/, /products/ and /contacts/ * List categories of an entity * * Get a list of categories @@ -201,7 +195,7 @@ class CategoryApi extends DolibarrApi $sql.= " FROM ".MAIN_DB_PREFIX."categorie as s"; $sql.= " , ".MAIN_DB_PREFIX."categorie_".$sub_type." as sub "; $sql.= ' WHERE s.entity IN ('.getEntity('categorie', 1).')'; - $sql.= ' AND s.type='.array_search($type,CategoryApi::$TYPES); + $sql.= ' AND s.type='.array_search($type,Categories::$TYPES); $sql.= ' AND s.rowid = sub.fk_categorie'; $sql.= ' AND sub.'.$subcol_name.' = '.$item; @@ -248,36 +242,7 @@ class CategoryApi extends DolibarrApi } /** - * Get member categories list - * - * @param string $sortfield Sort field - * @param string $sortorder Sort order - * @param int $limit Limit for list - * @param int $page Page number - * @return mixed - * - * @url GET /category/list/member - */ - function getListCategoryMember($sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { - return $this->getList('member', $sortfield, $sortorder, $limit, $page); - } - - /** - * Get customer categories list - * - * @param string $sortfield Sort field - * @param string $sortorder Sort order - * @param int $limit Limit for list - * @param int $page Page number - * - * @return mixed - * - * @url GET /category/list/customer - */ - function getListCategoryCustomer($sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { - return $this->getList('customer', $sortfield, $sortorder, $limit, $page); - } - /** + * TODO move to /thirsparties/ or /customers/ * Get categories for a customer * * @param int $cusid Customer id filter @@ -295,6 +260,7 @@ class CategoryApi extends DolibarrApi } /** + * TODO move to /thirsparties/ or /customers/ * Add category to customer * * @param int $cusid Id of customer @@ -328,60 +294,11 @@ class CategoryApi extends DolibarrApi return $customer; } - /** - * Get supplier categories list - * - * @param string $sortfield Sort field - * @param string $sortorder Sort order - * @param int $limit Limit for list - * @param int $page Page number - * - * @return mixed - * - * @url GET /category/list/supplier - */ - function getListCategorySupplier($sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { - return $this->getList('supplier', $sortfield, $sortorder, $limit, $page); - } - - /** - * Get product categories list - * - * @param string $sortfield Sort field - * @param string $sortorder Sort order - * @param int $limit Limit for list - * @param int $page Page number - * - * @return mixed - * - * @url GET /category/list/product - */ - function getListCategoryProduct($sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { - return $this->getList('product', $sortfield, $sortorder, $limit, $page); - } - - /** - * Get contact categories list - * - * @param string $sortfield Sort field - * @param string $sortorder Sort order - * @param int $limit Limit for list - * @param int $page Page number - * @return mixed - * - * @url GET /category/list/contact - */ - function getListCategoryContact($sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { - return $this->getList('contact', $sortfield, $sortorder, $limit, $page); - } - /** * Create category object * * @param array $request_data Request data * @return int ID of category - * - * @url POST category/ */ function post($request_data = NULL) { @@ -406,8 +323,6 @@ class CategoryApi extends DolibarrApi * @param int $id Id of category to update * @param array $request_data Datas * @return int - * - * @url PUT category/{id} */ function put($id, $request_data = NULL) { @@ -439,8 +354,6 @@ class CategoryApi extends DolibarrApi * * @param int $id Category ID * @return array - * - * @url DELETE category/{id} */ function delete($id) { @@ -479,7 +392,7 @@ class CategoryApi extends DolibarrApi function _validate($data) { $category = array(); - foreach (CategoryApi::$FIELDS as $field) { + foreach (Categories::$FIELDS as $field) { if (!isset($data[$field])) throw new RestException(400, "$field field missing"); $category[$field] = $data[$field]; From 8cf0bceadd4b09b6ddfd7088282a0d2d3710045b Mon Sep 17 00:00:00 2001 From: Xebax Date: Tue, 14 Jun 2016 19:55:49 +0200 Subject: [PATCH 005/476] REST API: replace the /invoice/ API by /invoices/. Rename the 'mode' parameter to 'status' in GET /invoices. Fix the error handling in DELETE /invoices/{id}. --- ...voice.class.php => api_invoices.class.php} | 42 ++++++------------- 1 file changed, 13 insertions(+), 29 deletions(-) rename htdocs/compta/facture/class/{api_invoice.class.php => api_invoices.class.php} (89%) diff --git a/htdocs/compta/facture/class/api_invoice.class.php b/htdocs/compta/facture/class/api_invoices.class.php similarity index 89% rename from htdocs/compta/facture/class/api_invoice.class.php rename to htdocs/compta/facture/class/api_invoices.class.php index 60098a38b9f..8fc6274b1a6 100644 --- a/htdocs/compta/facture/class/api_invoice.class.php +++ b/htdocs/compta/facture/class/api_invoices.class.php @@ -20,14 +20,12 @@ require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; /** - * API class for invoice object + * API class for invoices * - * @smart-auto-routing false * @access protected * @class DolibarrApiAccess {@requires user,external} - * */ -class InvoiceApi extends DolibarrApi +class Invoices extends DolibarrApi { /** * @@ -44,9 +42,6 @@ class InvoiceApi extends DolibarrApi /** * Constructor - * - * @url GET invoice/ - * */ function __construct() { @@ -63,7 +58,6 @@ class InvoiceApi extends DolibarrApi * @param int $id ID of invoice * @return array|mixed data without useless information * - * @url GET invoice/{id} * @throws RestException */ function get($id) @@ -89,21 +83,18 @@ class InvoiceApi extends DolibarrApi * * Get a list of invoices * + * FIXME this parameter is overwritten in the code and thus ignored * @param int $socid Filter list with thirdparty ID - * @param string $mode Filter by invoice status : draft | unpaid | paid | cancelled + * @param string $status Filter by invoice status : draft | unpaid | paid | cancelled * @param string $sortfield Sort field * @param string $sortorder Sort order * @param int $limit Limit for list * @param int $page Page number - * * @return array Array of invoice objects * - * @url GET invoice/list - * @url GET invoice/list/{mode} - * @url GET thirdparty/{socid}/invoice/list - * @url GET thirdparty/{socid}/invoice/list/{mode} + * @throws RestException */ - function getList($socid=0, $mode='', $sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { + function index($socid=0, $status='', $sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { global $db, $conf; $obj_ret = array(); @@ -125,11 +116,11 @@ class InvoiceApi extends DolibarrApi if ($search_sale > 0) $sql.= " AND s.rowid = sc.fk_soc"; // Join for the needed table to filter by sale - // Example of use $mode - if ($mode == 'draft') $sql.= " AND s.fk_statut IN (0)"; - if ($mode == 'unpaid') $sql.= " AND s.fk_statut IN (1)"; - if ($mode == 'paid') $sql.= " AND s.fk_statut IN (2)"; - if ($mode == 'cancelled') $sql.= " AND s.fk_statut IN (3)"; + // Filter by status + if ($status == 'draft') $sql.= " AND s.fk_statut IN (0)"; + if ($status == 'unpaid') $sql.= " AND s.fk_statut IN (1)"; + if ($status == 'paid') $sql.= " AND s.fk_statut IN (2)"; + if ($status == 'cancelled') $sql.= " AND s.fk_statut IN (3)"; // Insert sale filter if ($search_sale > 0) @@ -183,8 +174,6 @@ class InvoiceApi extends DolibarrApi * * @param array $request_data Request datas * @return int ID of invoice - * - * @url POST invoice/ */ function post($request_data = NULL) { @@ -212,8 +201,6 @@ class InvoiceApi extends DolibarrApi * @param int $id Id of invoice to update * @param array $request_data Datas * @return int - * - * @url PUT invoice/{id} */ function put($id, $request_data = NULL) { @@ -245,8 +232,6 @@ class InvoiceApi extends DolibarrApi * * @param int $id Invoice ID * @return type - * - * @url DELETE invoice/{id} */ function delete($id) { @@ -262,7 +247,7 @@ class InvoiceApi extends DolibarrApi throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); } - if( !$this->invoice->delete($id)) + if( $this->invoice->delete($id) < 0) { throw new RestException(500); } @@ -273,7 +258,6 @@ class InvoiceApi extends DolibarrApi 'message' => 'Facture deleted' ) ); - } /** @@ -287,7 +271,7 @@ class InvoiceApi extends DolibarrApi function _validate($data) { $invoice = array(); - foreach (InvoiceApi::$FIELDS as $field) { + foreach (Invoices::$FIELDS as $field) { if (!isset($data[$field])) throw new RestException(400, "$field field missing"); $invoice[$field] = $data[$field]; From f03d6e1bed90639790631d802279ac54bf50fc3b Mon Sep 17 00:00:00 2001 From: Xebax Date: Tue, 14 Jun 2016 21:29:38 +0200 Subject: [PATCH 006/476] REST API: replace the /product/ API by /products/. Added some FIXME: - the put() method does its job but the API returns an error 500 - delete() does not work. --- ...oduct.class.php => api_products.class.php} | 45 +++++++------------ 1 file changed, 16 insertions(+), 29 deletions(-) rename htdocs/product/class/{api_product.class.php => api_products.class.php} (91%) diff --git a/htdocs/product/class/api_product.class.php b/htdocs/product/class/api_products.class.php similarity index 91% rename from htdocs/product/class/api_product.class.php rename to htdocs/product/class/api_products.class.php index 1e485fd6733..b5eb3d6bd87 100644 --- a/htdocs/product/class/api_product.class.php +++ b/htdocs/product/class/api_products.class.php @@ -21,14 +21,12 @@ require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; /** - * API class for product object + * API class for products * - * @smart-auto-routing false * @access protected * @class DolibarrApiAccess {@requires user,external} - * */ -class ProductApi extends DolibarrApi +class Products extends DolibarrApi { /** * @var array $FIELDS Mandatory fields, checked when create and update object @@ -45,9 +43,6 @@ class ProductApi extends DolibarrApi /** * Constructor - * - * @url product/ - * */ function __construct() { @@ -58,24 +53,22 @@ class ProductApi extends DolibarrApi /** * Get properties of a product object - * + * * Return an array with product informations * * @param int $id ID of product - * @param string $ref Product ref - * @param string $ref_ext Product ref ext * @return array|mixed data without useless information * - * @url GET product/{id} * @throws RestException + * TODO implement getting a product by ref or by $ref_ext */ - function get($id='', $ref='', $ref_ext='') + function get($id) { - if(! DolibarrApiAccess::$user->rights->produit->lire) { + if(! DolibarrApiAccess::$user->rights->produit->lire) { throw new RestException(401); } - $result = $this->product->fetch($id,$ref,$ref_ext); + $result = $this->product->fetch($id); if( ! $result ) { throw new RestException(404, 'Product not found'); } @@ -86,7 +79,7 @@ class ProductApi extends DolibarrApi $this->product->load_stock(); - return $this->_cleanObjectDatas($this->product); + return $this->_cleanObjectDatas($this->product); } /** @@ -96,17 +89,15 @@ class ProductApi extends DolibarrApi * * @param int $mode Use this param to filter list (0 for all, 1 for only product, 2 for only service) * @param mixed $to_sell Filter products to sell (1) or not to sell (0) - * @param mixed $to_buy Filter products to nuy (1) or not to buy (0) + * @param mixed $to_buy Filter products to buy (1) or not to buy (0) * @param string $sortfield Sort field * @param string $sortorder Sort order * @param int $limit Limit for list * @param int $page Page number * * @return array Array of product objects - * - * @url GET /product/list */ - function getList($mode=0, $to_sell='', $to_buy='', $sortfield = "p.ref", $sortorder = 'ASC', $limit = 0, $page = 0) { + function index($mode=0, $to_sell='', $to_buy='', $sortfield = "p.ref", $sortorder = 'ASC', $limit = 0, $page = 0) { global $db, $conf; $obj_ret = array(); @@ -169,6 +160,7 @@ class ProductApi extends DolibarrApi /** + * TODO implement this as a filter in /products/ * List products in a category * * Get a list of products @@ -257,8 +249,6 @@ class ProductApi extends DolibarrApi * * @param array $request_data Request data * @return int ID of product - * - * @url POST product/ */ function post($request_data = NULL) { @@ -277,7 +267,6 @@ class ProductApi extends DolibarrApi } return $this->product->id; - } /** @@ -286,8 +275,7 @@ class ProductApi extends DolibarrApi * @param int $id Id of product to update * @param array $request_data Datas * @return int - * - * @url PUT product/{id} + * FIXME The product is correctluy updated but the API returns an error 500. */ function put($id, $request_data = NULL) { @@ -308,7 +296,7 @@ class ProductApi extends DolibarrApi $this->product->$field = $value; } - if($this->product->update($id, DolibarrApiAccess::$user,1,'','','update')) + if($this->product->update($id, DolibarrApiAccess::$user,1,'update')) return $this->get ($id); return false; @@ -319,12 +307,11 @@ class ProductApi extends DolibarrApi * * @param int $id Product ID * @return array - * - * @url DELETE product/{id} + * FIXME Deleting a product/service does not work because the Product::delete() method uses a global $user but it is not set. */ function delete($id) { - if(! DolibarrApiAccess::$user->rights->product->supprimer) { + if(! DolibarrApiAccess::$user->rights->produit->supprimer) { throw new RestException(401); } $result = $this->product->fetch($id); @@ -349,7 +336,7 @@ class ProductApi extends DolibarrApi function _validate($data) { $product = array(); - foreach (ProductApi::$FIELDS as $field) { + foreach (Products::$FIELDS as $field) { if (!isset($data[$field])) throw new RestException(400, "$field field missing"); $product[$field] = $data[$field]; From 571f6b8a26fae4924c3f83dd6bd25ce05d671004 Mon Sep 17 00:00:00 2001 From: Xebax Date: Wed, 15 Jun 2016 00:52:09 +0200 Subject: [PATCH 007/476] REST API: replace the /order/ API by /orders/. Remove the /thirdparty/{socid}/order/list endpoint because it is redundant with the /orders/ endpoint whith the 'societe' filter. --- ...ommande.class.php => api_orders.class.php} | 71 ++++--------------- 1 file changed, 15 insertions(+), 56 deletions(-) rename htdocs/commande/class/{api_commande.class.php => api_orders.class.php} (90%) diff --git a/htdocs/commande/class/api_commande.class.php b/htdocs/commande/class/api_orders.class.php similarity index 90% rename from htdocs/commande/class/api_commande.class.php rename to htdocs/commande/class/api_orders.class.php index d6a2a3d0f82..fbbad50bd93 100644 --- a/htdocs/commande/class/api_commande.class.php +++ b/htdocs/commande/class/api_orders.class.php @@ -20,18 +20,12 @@ require_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; /** - * API class for commande object + * API class for orders * - * @smart-auto-routing false * @access protected * @class DolibarrApiAccess {@requires user,external} - * - * @category Api - * @package Api - * - * */ -class CommandeApi extends DolibarrApi +class Orders extends DolibarrApi { /** @@ -48,9 +42,6 @@ class CommandeApi extends DolibarrApi /** * Constructor - * - * @url GET order/ - * */ function __construct() { @@ -65,15 +56,11 @@ class CommandeApi extends DolibarrApi * Return an array with commande informations * * @param int $id ID of order - * @param string $ref Ref of object - * @param string $ref_ext External reference of object - * @param string $ref_int Internal reference of other object * @return array|mixed data without useless information * - * @url GET order/{id} * @throws RestException */ - function get($id='',$ref='', $ref_ext='', $ref_int='') + function get($id) { if(! DolibarrApiAccess::$user->rights->commande->lire) { throw new RestException(401); @@ -97,17 +84,15 @@ class CommandeApi extends DolibarrApi * * Get a list of orders * - * @param int $mode Use this param to filter list * @param string $sortfield Sort field * @param string $sortorder Sort order * @param int $limit Limit for list * @param int $page Page number * @param string $societe Societe filter field * - * @url GET /order/list * @return array Array of order objects */ - function getList($mode=0, $sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0, $societe = 0) { + function index($sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0, $societe = 0) { global $db, $conf; $obj_ret = array(); @@ -122,10 +107,6 @@ class CommandeApi extends DolibarrApi $sql.= " FROM ".MAIN_DB_PREFIX."commande as s"; if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; // We need this table joined to the select in order to filter by sale - - // Example of use $mode - //if ($mode == 1) $sql.= " AND s.client IN (1, 3)"; - //if ($mode == 2) $sql.= " AND s.client IN (2, 3)"; $sql.= ' WHERE s.entity IN ('.getEntity('commande', 1).')'; if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql.= " AND s.fk_soc = sc.fk_soc"; @@ -180,29 +161,10 @@ class CommandeApi extends DolibarrApi return $obj_ret; } - /** - * List orders for specific thirdparty - * - * Get a list of orders - * - * @param int $socid Id of customer - * - * @url GET /customer/{socid}/order/list - * @url GET /thirdparty/{socid}/order/list - * @return array Array of order objects - */ - function getListForSoc($socid = 0) { - return getList(0,"s.rowid","ASC",0,0,$socid); - } - - /** * Create order object * - * @param array $request_data Request datas - * - * @url POST order/ - * + * @param array $request_data Request data * @return int ID of commande */ function post($request_data = NULL) @@ -229,13 +191,13 @@ class CommandeApi extends DolibarrApi return $this->commande->id; } + /** * Get lines of an order * - * * @param int $id Id of order * - * @url GET order/{id}/line/list + * @url GET {id}/lines * * @return int */ @@ -259,14 +221,14 @@ class CommandeApi extends DolibarrApi } return $result; } + /** * Add a line to given order * - * * @param int $id Id of commande to update * @param array $request_data Orderline data * - * @url POST order/{id}/line + * @url POST {id}/lines * * @return int */ @@ -318,15 +280,15 @@ class CommandeApi extends DolibarrApi } return false; } + /** * Update a line to given order * - * * @param int $id Id of commande to update * @param int $lineid Id of line to update * @param array $request_data Orderline data * - * @url PUT order/{id}/line/{lineid} + * @url PUT {id}/lines/{lineid} * * @return object */ @@ -375,6 +337,7 @@ class CommandeApi extends DolibarrApi } return false; } + /** * Delete a line to given order * @@ -382,7 +345,7 @@ class CommandeApi extends DolibarrApi * @param int $id Id of commande to update * @param int $lineid Id of line to delete * - * @url DELETE order/{id}/line/{lineid} + * @url DELETE {id}/lines/{lineid} * * @return int */ @@ -413,8 +376,6 @@ class CommandeApi extends DolibarrApi * @param int $id Id of commande to update * @param array $request_data Datas * - * @url PUT order/{id} - * * @return int */ function put($id, $request_data = NULL) { @@ -445,8 +406,6 @@ class CommandeApi extends DolibarrApi * * @param int $id Order ID * - * @url DELETE order/{id} - * * @return array */ function delete($id) @@ -486,7 +445,7 @@ class CommandeApi extends DolibarrApi * @url POST order/{id}/validate * * @return array - * + * TODO keep only one of the two verbs above (and fix the URL: {id}/validate) */ function validOrder($id, $idwarehouse=0) { @@ -524,7 +483,7 @@ class CommandeApi extends DolibarrApi function _validate($data) { $commande = array(); - foreach (CommandeApi::$FIELDS as $field) { + foreach (Orders::$FIELDS as $field) { if (!isset($data[$field])) throw new RestException(400, "$field field missing"); $commande[$field] = $data[$field]; From 04778f932e5d7abe57cd585c598764174419dd74 Mon Sep 17 00:00:00 2001 From: Xebax Date: Wed, 15 Jun 2016 17:08:17 +0200 Subject: [PATCH 008/476] REST API: replace the /thirdparty/ API by /thirdparties/. Remove several /thirdparty/list/xxx endpoints because they are redundant with the /thirdparties/ endpoint whith the 'mode' filter. Remove the customer/byemail/{email} endpoint because it is redundant with the /thirdparties/ endpoint whith the 'email' filter. Remove all the /customer/ endpoints because they do the same thing as the corresponding /thirdparty/ endpoints. --- ...y.class.php => api_thirdparties.class.php} | 157 +----------------- 1 file changed, 5 insertions(+), 152 deletions(-) rename htdocs/societe/class/{api_thirdparty.class.php => api_thirdparties.class.php} (67%) diff --git a/htdocs/societe/class/api_thirdparty.class.php b/htdocs/societe/class/api_thirdparties.class.php similarity index 67% rename from htdocs/societe/class/api_thirdparty.class.php rename to htdocs/societe/class/api_thirdparties.class.php index 507d95639e6..cb898991f7b 100644 --- a/htdocs/societe/class/api_thirdparty.class.php +++ b/htdocs/societe/class/api_thirdparties.class.php @@ -19,14 +19,12 @@ /** - * API class for thirdparty object + * API class for thirdparties * - * @smart-auto-routing false * @access protected * @class DolibarrApiAccess {@requires user,external} - * */ -class ThirdpartyApi extends DolibarrApi +class Thirdparties extends DolibarrApi { /** * @@ -40,76 +38,21 @@ class ThirdpartyApi extends DolibarrApi * @var Societe $company {@type Societe} */ public $company; - /** - * @var Customer $customer {@type Client} - */ - public $customer; /** * Constructor - * - * @url thirdparty/ - * */ function __construct() { global $db, $conf; $this->db = $db; $this->company = new Societe($this->db); - $this->customer = new Client($this->db); if (! empty($conf->global->SOCIETE_MAIL_REQUIRED)) { static::$FIELDS[] = 'email'; } } - /** - * Get properties of a customer object - * - * Return an array with customer informations - * - * @param int $id ID of customer - * @return array|mixed data without useless information - * - * @url GET customer/{id} - * @throws RestException - */ - function getCustomer($id) - { - if(! DolibarrApiAccess::$user->rights->societe->lire) { - throw new RestException(401); - } - - $result = $this->customer->fetch($id); - if( ! $result ) { - throw new RestException(404, 'Customer not found'); - } - - if( ! DolibarrApi::_checkAccessToResource('societe',$this->customer->id)) { - throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); - } - - return $this->_cleanObjectDatas($this->customer); - } - - /** - * Search customer by email - * - * @param string $email email id - * - * @return object client with given email - * - * @url GET customer/byemail/{email} - */ - function getByEmail($email) { - $res = $this->getList(1,$email); - if (count($res) == 1) { - $customer = $res[0]; - return $customer; - } - return $res; - } - /** * Get properties of a thirdparty object * @@ -118,7 +61,6 @@ class ThirdpartyApi extends DolibarrApi * @param int $id ID of thirdparty * @return array|mixed data without useless information * - * @url GET thirdparty/{id} * @throws RestException */ function get($id) @@ -147,17 +89,14 @@ class ThirdpartyApi extends DolibarrApi * @param int $mode Set to 1 to show only customers * Set to 2 to show only prospects * Set to 3 to show only those are not customer neither prospect - * @param Text $email Search by email filter + * @param string $email Search by email filter * @param string $sortfield Sort field * @param string $sortorder Sort order * @param int $limit Limit for list * @param int $page Page number * @return array Array of thirdparty objects - * - * @url GET /thirdparty/list - * */ - function getList($mode=0, $email=NULL, $sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { + function index($mode=0, $email=NULL, $sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { global $db, $conf; $obj_ret = array(); @@ -231,47 +170,11 @@ class ThirdpartyApi extends DolibarrApi return $obj_ret; } - /** - * Show customers - * - * @return array List of customers - * - * @url GET /thirdparty/list/customers - * @url GET /customer/list - */ - function getListCustomers() { - return $this->getList(1); - } - - /** - * Show prospects - * - * @return array List of prospects - * - * @url GET /thirdparty/list/prospects - */ - function getListProspects() { - return $this->getList(2); - } - - /** - * Show other - * - * @return array List of thirpdparties who are not customer neither prospect - * - * @url GET /thirdparty/list/others - */ - function getListOthers() { - return $this->getList(3); - } - /** * Create thirdparty object * * @param array $request_data Request datas * @return int ID of thirdparty - * - * @url POST thirdparty/ */ function post($request_data = NULL) { @@ -287,29 +190,12 @@ class ThirdpartyApi extends DolibarrApi return $this->company->create(DolibarrApiAccess::$user); } - - /** - * Create customer object - * - * @param array $request_data Request datas - * @return int ID of thirdparty - * - * @url POST customer/ - */ - function postCustomer($request_data) { - $this->post($request_data); - $this->company->set_as_client(); - return $this->company->id; - } - /** * Update thirdparty * * @param int $id Id of thirdparty to update * @param array $request_data Datas * @return int - * - * @url PUT thirdparty/{id} */ function put($id, $request_data = NULL) { @@ -335,45 +221,12 @@ class ThirdpartyApi extends DolibarrApi return false; } - /** - * Update customer - * - * @param int $id Id of thirdparty to update - * @param array $request_data Datas - * @return int - * - * @url PUT customer/{id} - */ - function putClient($id, $request_data = NULL) { - if(! DolibarrApiAccess::$user->rights->societe->creer) { - throw new RestException(401); - } - $result = $this->customer->fetch($id); - if( ! $result ) { - throw new RestException(404, 'Customer not found'); - } - if( ! DolibarrApi::_checkAccessToResource('societe',$this->customer->id)) { - throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); - } - - foreach($request_data as $field => $value) { - $this->customer->$field = $value; - } - - if($this->customer->update($id, DolibarrApiAccess::$user,1,'','','update')) - return $this->get ($id); - - return false; - } /** * Delete thirdparty * * @param int $id Thirparty ID * @return integer - * - * @url DELETE thirdparty/{id} - * @url DELETE customer/{id} */ function delete($id) { @@ -401,7 +254,7 @@ class ThirdpartyApi extends DolibarrApi function _validate($data) { $thirdparty = array(); - foreach (ThirdpartyApi::$FIELDS as $field) { + foreach (Thirdparties::$FIELDS as $field) { if (!isset($data[$field])) throw new RestException(400, "$field field missing"); $thirdparty[$field] = $data[$field]; From 5ea526c29e3e2fc023655beea401dfdbe7f45757 Mon Sep 17 00:00:00 2001 From: Xebax Date: Wed, 15 Jun 2016 18:26:31 +0200 Subject: [PATCH 009/476] REST API: update the API to have /login and /status. Replace the GenericApi class by two classes, Login and Status, else the endpoints would be /generic/login and /generic/status. --- ..._generic.class.php => api_login.class.php} | 25 ++---------- htdocs/api/class/api_status.class.php | 39 +++++++++++++++++++ 2 files changed, 42 insertions(+), 22 deletions(-) rename htdocs/api/class/{api_generic.class.php => api_login.class.php} (84%) create mode 100644 htdocs/api/class/api_status.class.php diff --git a/htdocs/api/class/api_generic.class.php b/htdocs/api/class/api_login.class.php similarity index 84% rename from htdocs/api/class/api_generic.class.php rename to htdocs/api/class/api_login.class.php index 9a630a9da47..1fa08b96179 100644 --- a/htdocs/api/class/api_generic.class.php +++ b/htdocs/api/class/api_login.class.php @@ -18,14 +18,11 @@ use Luracast\Restler\RestException; require_once DOL_DOCUMENT_ROOT.'/user/class/user.class.php'; -require_once DOL_DOCUMENT_ROOT.'/api/class/api.class.php'; - /** - * API generic (login, status, ...) - * + * API that allows to log in with an user account. */ -class GenericApi extends DolibarrApi +class Login { function __construct() { @@ -46,7 +43,7 @@ class GenericApi extends DolibarrApi * * @throws RestException */ - public function login($login, $password, $entity=0, $reset=0) { + public function index($login, $password, $entity=0, $reset=0) { global $conf, $dolibarr_main_authentication, $dolibarr_auto_user; @@ -103,20 +100,4 @@ class GenericApi extends DolibarrApi ) ); } - - /** - * Get status (Dolibarr version) - * - * @access protected - * @class DolibarrApiAccess {@requires admin} - */ - function status() { - require_once DOL_DOCUMENT_ROOT . '/core/lib/functions.lib.php'; - return array( - 'success' => array( - 'code' => 200, - 'dolibarr_version' => DOL_VERSION - ) - ); - } } diff --git a/htdocs/api/class/api_status.class.php b/htdocs/api/class/api_status.class.php new file mode 100644 index 00000000000..a4df6dbba7c --- /dev/null +++ b/htdocs/api/class/api_status.class.php @@ -0,0 +1,39 @@ + + * + * 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 . + */ + +require_once DOL_DOCUMENT_ROOT . '/core/lib/functions.lib.php'; + +/** + * API that gives the status of the Dolibarr instance. + * + * @access protected + * @class DolibarrApiAccess {@requires user,external} + */ +class Status +{ + /** + * Get status (Dolibarr version) + */ + function index() { + return array( + 'success' => array( + 'code' => 200, + 'dolibarr_version' => DOL_VERSION + ) + ); + } +} From f6eac2b643cb92d0aebccb0def8fd95555510afd Mon Sep 17 00:00:00 2001 From: Xebax Date: Mon, 20 Jun 2016 15:55:46 +0200 Subject: [PATCH 010/476] REST API: replace the home made API explorer by the Restler API Explorer. --- htdocs/api/admin/explorer.php | 197 ---------------------------------- htdocs/api/admin/index.php | 16 ++- 2 files changed, 15 insertions(+), 198 deletions(-) delete mode 100644 htdocs/api/admin/explorer.php diff --git a/htdocs/api/admin/explorer.php b/htdocs/api/admin/explorer.php deleted file mode 100644 index 53ff102e89b..00000000000 --- a/htdocs/api/admin/explorer.php +++ /dev/null @@ -1,197 +0,0 @@ - - * Copyright (C) 2016 Laurent Destailleur - * - * 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 . - */ - -/** - * \defgroup api Module DolibarrApi - * \brief API loader - * Search files htdocs//class/api_.class.php - * \file htdocs/api/admin/explorer.php - */ - -require_once '../../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/api/class/api.class.php'; -require_once DOL_DOCUMENT_ROOT.'/api/class/api_access.class.php'; - - -/* - * View - */ - -// Enable and test if module Api is enabled -if (empty($conf->global->MAIN_MODULE_API)) -{ - $langs->load("admin"); - dol_syslog("Call Dolibarr API interfaces with module REST disabled"); - print $langs->trans("WarningModuleNotActive",'Api').'.

'; - print $langs->trans("ToActivateModule"); - exit; -} - - -$api = new DolibarrApi($db); - -$api->r->addAPIClass('Luracast\\Restler\\Resources'); //this creates resources.json at API Root -$api->r->setSupportedFormats('JsonFormat', 'XmlFormat'); -$api->r->addAuthenticationClass('DolibarrApiAccess',''); - -$listofapis = array(); - -$modulesdir = dolGetModulesDirs(); -foreach ($modulesdir as $dir) -{ - /* - * Search available module - */ - dol_syslog("Scan directory ".$dir." for API modules"); - - $handle=@opendir(dol_osencode($dir)); - if (is_resource($handle)) - { - while (($file = readdir($handle))!==false) - { - if (is_readable($dir.$file) && preg_match("/^(mod.*)\.class\.php$/i",$file,$reg)) - { - $modulename=$reg[1]; - - // Defined if module is enabled - $enabled=true; - $module=$part=$obj=strtolower(preg_replace('/^mod/i','',$modulename)); - //if ($part == 'propale') $part='propal'; - if ($module == 'societe') { - $obj = 'thirdparty'; - } - if ($module == 'categorie') { - $part = 'categories'; - $obj = 'category'; - } - if ($module == 'facture') { - $part = 'compta/facture'; - $obj = 'facture'; - } - if (empty($conf->$module->enabled)) $enabled=false; - - if ($enabled) - { - /* - * If exists, load the API class for enable module - * - * Search files named api_.class.php into /htdocs//class directory - * - * @todo : take care of externals module! - * @todo : use getElementProperties() function ? - */ - $dir_part = DOL_DOCUMENT_ROOT.'/'.$part.'/class/'; - - $handle_part=@opendir(dol_osencode($dir_part)); - if (is_resource($handle_part)) - { - while (($file_searched = readdir($handle_part))!==false) - { - if (is_readable($dir_part.$file_searched) && preg_match("/^(api_.*)\.class\.php$/i",$file_searched,$reg)) - { - $classname=$reg[1]; - $classname = str_replace('Api_','',ucwords($reg[1])).'Api'; - $classname = ucfirst($classname); - require_once $dir_part.$file_searched; - if (class_exists($classname)) - { - dol_syslog("Found API classname=".$classname); - $api->r->addAPIClass($classname,''); - - /* - require_once DOL_DOCUMENT_ROOT.'/includes/restler/framework/Luracast/Restler/Routes.php'; - $tmpclass = new ReflectionClass($classname); - try { - $classMetadata = CommentParser::parse($tmpclass->getDocComment()); - } catch (Exception $e) { - throw new RestException(500, "Error while parsing comments of `$classname` class. " . $e->getMessage()); - }*/ - - //$listofapis[]=array('classname'=>$classname, 'fullpath'=>$file_searched); - } - } - } - } - } - } - } - } -} - - -$listofapis=Routes::toArray(); -//var_dump($listofapis); - - -llxHeader(); - -$linkback=''.$langs->trans("BackToModuleList").''; -print load_fiche_titre($langs->trans("ApiSetup"),$linkback,'title_setup'); - -// Define $urlwithroot -$urlwithouturlroot=preg_replace('/'.preg_quote(DOL_URL_ROOT,'/').'$/i','',trim($dolibarr_main_url_root)); -$urlwithroot=$urlwithouturlroot.DOL_URL_ROOT; // This is to use external domain name found into config file -//$urlwithroot=DOL_MAIN_URL_ROOT; // This is to use same domain name than current - -// Show message -print '
'; -$message=''; -$url=''.$urlwithroot.'/api/index.php/login?login='.urlencode($user->login).'&password=yourpassword[&reset=1]'; -$message.=$langs->trans("UrlToGetKeyToUseAPIs").':
'; -$message.=img_picto('','object_globe.png').' '.$url; -print $message; -print '
'; -print '
'; - -$oldclass=''; - -print $langs->trans("ListOfAvailableAPIs").':
'; -foreach($listofapis['v1'] as $key => $val) -{ - if ($key == 'login') continue; - - if ($key) - { - foreach($val as $method => $val2) - { - $newclass=$val2['className']; - - if (preg_match('/restler/i', $newclass)) continue; - - if ($oldclass != $newclass) - { - print "\n
\n".$langs->trans("Class").': '.$newclass.'
'."\n"; - $oldclass = $newclass; - } - //print $key.' - '.$val['classname'].' - '.$val['fullpath']." - ".DOL_MAIN_URL_ROOT.'/api/index.php/'.strtolower(preg_replace('/Api$/','',$val['classname']))."/xxx
\n"; - $url=$urlwithroot.'/api/index.php/'.$key; - $url.='?api_key=token'; - print img_picto('','object_globe.png').' '.$method.' '.$url."
\n"; - } - } -} - -print '
'; -print '
'; -print $langs->trans("OnlyActiveElementsAreExposed", DOL_URL_ROOT.'/admin/modules.php'); - - -llxFooter(); -$db->close(); - diff --git a/htdocs/api/admin/index.php b/htdocs/api/admin/index.php index 3a69dadaaba..08209b03668 100644 --- a/htdocs/api/admin/index.php +++ b/htdocs/api/admin/index.php @@ -95,9 +95,23 @@ print ''; print ''; print '

'; +// Define $urlwithroot +$urlwithouturlroot=preg_replace('/'.preg_quote(DOL_URL_ROOT,'/').'$/i','',trim($dolibarr_main_url_root)); +$urlwithroot=$urlwithouturlroot.DOL_URL_ROOT; // This is to use external domain name found into config file +//$urlwithroot=DOL_MAIN_URL_ROOT; // This is to use same domain name than current + +// Show message +$message=''; +$url=''.$urlwithroot.'/api/index.php/login?login='.urlencode($user->login).'&password=yourpassword[&reset=1]'; +$message.=$langs->trans("UrlToGetKeyToUseAPIs").':
'; +$message.=img_picto('','object_globe.png').' '.$url; +print $message; +print '
'; +print '
'; + // Explorer print ''.$langs->trans("ApiExporerIs").':
'; -$url=DOL_MAIN_URL_ROOT.'/api/admin/explorer.php'; +$url=DOL_MAIN_URL_ROOT.'/api/index.php/explorer'; print img_picto('','object_globe.png').' '.$url."
\n"; From 9f526c512dceabf009a7d42e4ee9b96ef549d060 Mon Sep 17 00:00:00 2001 From: Xebax Date: Wed, 15 Jun 2016 22:53:05 +0200 Subject: [PATCH 011/476] REST API: sort the classes before adding them to Restler. The Restler API Explorer shows the classes in the order they are added and it's a mess if they are not sorted. --- htdocs/api/index.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/htdocs/api/index.php b/htdocs/api/index.php index e0abd839b66..e58d2370be7 100644 --- a/htdocs/api/index.php +++ b/htdocs/api/index.php @@ -65,6 +65,8 @@ $api->r->addAPIClass('Luracast\\Restler\\Explorer'); $api->r->setSupportedFormats('JsonFormat', 'XmlFormat'); $api->r->addAuthenticationClass('DolibarrApiAccess',''); +$listofapis = array(); + $modulesdir = dolGetModulesDirs(); foreach ($modulesdir as $dir) { @@ -117,7 +119,7 @@ foreach ($modulesdir as $dir) if (class_exists($classname)) { dol_syslog("Found API classname=".$classname); - $api->r->addAPIClass($classname); + $listofapis[] = $classname; } } } @@ -128,6 +130,14 @@ foreach ($modulesdir as $dir) } } +// Sort the classes before adding them to Restler. The Restler API Explorer +// shows the classes in the order they are added and it's a mess if they are +// not sorted. +sort($listofapis); +foreach ($listofapis as $classname) +{ + $api->r->addAPIClass($classname); +} // TODO If not found, redirect to explorer From 58c25ff665d0eb6f09772b1732433a6b86e57291 Mon Sep 17 00:00:00 2001 From: Xebax Date: Thu, 16 Jun 2016 22:31:34 +0200 Subject: [PATCH 012/476] REST API: fix the error 500 when updating a product. --- htdocs/api/class/api.class.php | 11 +++++++++++ htdocs/product/class/api_products.class.php | 1 - 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/htdocs/api/class/api.class.php b/htdocs/api/class/api.class.php index b3a2cdaf9d0..00621fdeb59 100644 --- a/htdocs/api/class/api.class.php +++ b/htdocs/api/class/api.class.php @@ -88,6 +88,17 @@ class DolibarrApi // Remove $db object property for object unset($object->db); + // Remove the $oldcopy property because it is not supported by the JSON + // encoder. The following error is generated when trying to serialize + // it: "Error encoding/decoding JSON: Type is not supported" + // Note: Event if this property was correctly handled by the JSON + // encoder, it should be ignored because keeping it would let the API + // have a very strange behavior: calling PUT and then GET on the same + // resource would give different results: + // PUT /objects/{id} -> returns object with oldcopy = previous version of the object + // GET /objects/{id} -> returns object with oldcopy empty + unset($object->oldcopy); + // If object has lines, remove $db property if(isset($object->lines) && count($object->lines) > 0) { $nboflines = count($object->lines); diff --git a/htdocs/product/class/api_products.class.php b/htdocs/product/class/api_products.class.php index b5eb3d6bd87..ce0a812558e 100644 --- a/htdocs/product/class/api_products.class.php +++ b/htdocs/product/class/api_products.class.php @@ -275,7 +275,6 @@ class Products extends DolibarrApi * @param int $id Id of product to update * @param array $request_data Datas * @return int - * FIXME The product is correctluy updated but the API returns an error 500. */ function put($id, $request_data = NULL) { From d7c8a466b12c99306a2080cd22d887a36c9f751d Mon Sep 17 00:00:00 2001 From: Xebax Date: Fri, 17 Jun 2016 00:50:07 +0200 Subject: [PATCH 013/476] REST API: fix deleting a product/service. Add a User parameter to the Product::delete() method to explicitly set the user that performs the action instead of using a global variable. In the calls to Product::delete() with a fetched object, remove the deprecated parameter $id. --- htdocs/product/card.php | 2 +- htdocs/product/class/api_products.class.php | 3 +-- htdocs/product/class/product.class.php | 5 +++-- htdocs/webservices/server_productorservice.php | 6 +----- test/phpunit/ProductTest.php | 2 +- 5 files changed, 7 insertions(+), 11 deletions(-) diff --git a/htdocs/product/card.php b/htdocs/product/card.php index 330e712cf1b..c2d7b76dac3 100644 --- a/htdocs/product/card.php +++ b/htdocs/product/card.php @@ -553,7 +553,7 @@ if (empty($reshook)) { if (($object->type == Product::TYPE_PRODUCT && $user->rights->produit->supprimer) || ($object->type == Product::TYPE_SERVICE && $user->rights->service->supprimer)) { - $result = $object->delete($object->id); + $result = $object->delete($user); } if ($result > 0) diff --git a/htdocs/product/class/api_products.class.php b/htdocs/product/class/api_products.class.php index ce0a812558e..c2273c4cf2d 100644 --- a/htdocs/product/class/api_products.class.php +++ b/htdocs/product/class/api_products.class.php @@ -306,7 +306,6 @@ class Products extends DolibarrApi * * @param int $id Product ID * @return array - * FIXME Deleting a product/service does not work because the Product::delete() method uses a global $user but it is not set. */ function delete($id) { @@ -322,7 +321,7 @@ class Products extends DolibarrApi throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); } - return $this->product->delete($id); + return $this->product->delete(DolibarrApiAccess::$user); } /** diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index 982b109da99..908ccea68e9 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -878,18 +878,19 @@ class Product extends CommonObject /** * Delete a product from database (if not used) * + * @param User $user Object user that ask to delete * @param int $id Product id (usage of this is deprecated, delete should be called without parameters on a fetched object) * @param int $notrigger Do not execute trigger * @return int < 0 if KO, 0 = Not possible, > 0 if OK */ - function delete($id=0, $notrigger=0) + function delete($user, $id=0, $notrigger=0) { // Deprecation warning if ($id > 0) { dol_syslog(__METHOD__ . " with parameter is deprecated", LOG_WARNING); } - global $conf,$user,$langs; + global $conf,$langs; require_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php'; $error=0; diff --git a/htdocs/webservices/server_productorservice.php b/htdocs/webservices/server_productorservice.php index aa43dbb185c..9da26495f76 100644 --- a/htdocs/webservices/server_productorservice.php +++ b/htdocs/webservices/server_productorservice.php @@ -841,10 +841,6 @@ function deleteProductOrService($authentication,$listofidstring) $error=0; $fuser=check_authentication($authentication,$error,$errorcode,$errorlabel); - // User must be defined to user authenticated - global $user; - $user=$fuser; - $listofid=explode(',',trim($listofidstring)); $listofiddeleted=array(); @@ -873,7 +869,7 @@ function deleteProductOrService($authentication,$listofidstring) } else { - $result=$newobject->delete(); + $result=$newobject->delete($fuser); if ($result <= 0) { $error++; diff --git a/test/phpunit/ProductTest.php b/test/phpunit/ProductTest.php index 199aace802c..87f290593f0 100644 --- a/test/phpunit/ProductTest.php +++ b/test/phpunit/ProductTest.php @@ -232,7 +232,7 @@ class ProductTest extends PHPUnit_Framework_TestCase $localobject=new Product($this->savdb); $result=$localobject->fetch($id); - $result=$localobject->delete($id); + $result=$localobject->delete($user); print __METHOD__." id=".$id." result=".$result."\n"; $this->assertLessThan($result, 0); From 6d673035016d138b7f9ede1a95ebc6a884f5a7dc Mon Sep 17 00:00:00 2001 From: Xebax Date: Fri, 17 Jun 2016 14:35:35 +0200 Subject: [PATCH 014/476] REST API: move the definition of /contacts/{id}/createUser from api_users.class.php to api_contacts.class.php. --- htdocs/societe/class/api_contacts.class.php | 44 +++++++++++++++++++++ htdocs/user/class/api_users.class.php | 44 --------------------- 2 files changed, 44 insertions(+), 44 deletions(-) diff --git a/htdocs/societe/class/api_contacts.class.php b/htdocs/societe/class/api_contacts.class.php index d49be1bd4f1..349fa8ecae2 100644 --- a/htdocs/societe/class/api_contacts.class.php +++ b/htdocs/societe/class/api_contacts.class.php @@ -256,6 +256,50 @@ class Contacts extends DolibarrApi return $this->contact->delete($id); } + /** + * Create useraccount object from contact + * + * @param int $id Id of contact + * @param array $request_data Request datas + * @return int ID of user + * + * @url POST {id}/createUser + */ + function createUser($id, $request_data = NULL) { + //if (!DolibarrApiAccess::$user->rights->user->user->creer) { + //throw new RestException(401); + //} + + if (!isset($request_data["login"])) + throw new RestException(400, "login field missing"); + if (!isset($request_data["password"])) + throw new RestException(400, "password field missing"); + if (!DolibarrApiAccess::$user->rights->societe->contact->lire) { + throw new RestException(401); + } + $contact = new Contact($this->db); + $contact->fetch($id); + if ($contact->id <= 0) { + throw new RestException(404, 'Contact not found'); + } + + if (!DolibarrApi::_checkAccessToResource('contact', $contact->id, 'socpeople&societe')) { + throw new RestException(401, 'Access not allowed for login ' . DolibarrApiAccess::$user->login); + } + // Check mandatory fields + $login = $request_data["login"]; + $password = $request_data["password"]; + $useraccount = new User($this->db); + $result = $useraccount->create_from_contact($contact,$login,$password); + if ($result <= 0) { + throw new RestException(500, "User not created"); + } + // password parameter not used in create_from_contact + $useraccount->setPassword($useraccount,$password); + + return $result; + } + /** * Validate fields before create or update object * diff --git a/htdocs/user/class/api_users.class.php b/htdocs/user/class/api_users.class.php index 7b2396434de..a9eb7771d9d 100644 --- a/htdocs/user/class/api_users.class.php +++ b/htdocs/user/class/api_users.class.php @@ -77,50 +77,6 @@ class Users extends DolibarrApi return $this->_cleanObjectDatas($this->useraccount); } - - /** - * TODO move to the /contacts/ API - * Create useraccount object from contact - * - * @param int $contactid Id of contact - * @param array $request_data Request datas - * @return int ID of user - * - * @url POST /contact/{contactid}/createUser - */ - function createFromContact($contactid, $request_data = NULL) { - //if (!DolibarrApiAccess::$user->rights->user->user->creer) { - //throw new RestException(401); - //} - - if (!isset($request_data["login"])) - throw new RestException(400, "login field missing"); - if (!isset($request_data["password"])) - throw new RestException(400, "password field missing"); - if (!DolibarrApiAccess::$user->rights->societe->contact->lire) { - throw new RestException(401); - } - $contact = new Contact($this->db); - $contact->fetch($contactid); - if ($contact->id <= 0) { - throw new RestException(404, 'Contact not found'); - } - - if (!DolibarrApi::_checkAccessToResource('contact', $contact->id, 'socpeople&societe')) { - throw new RestException(401, 'Access not allowed for login ' . DolibarrApiAccess::$user->login); - } - // Check mandatory fields - $login = $request_data["login"]; - $password = $request_data["password"]; - $result = $this->useraccount->create_from_contact($contact,$login,$password); - if ($result <= 0) { - throw new RestException(500, "User not created"); - } - // password parameter not used in create_from_contact - $this->useraccount->setPassword($this->useraccount,$password); - - return $result; - } /** From 9a509dd0ee3f3ec5bbeee4dc806c018381a82ab9 Mon Sep 17 00:00:00 2001 From: Xebax Date: Fri, 17 Jun 2016 15:29:51 +0200 Subject: [PATCH 015/476] REST API: add the 'category' filter in /products/ and fix the 'to_sell' and 'to_buy' filters. --- htdocs/product/class/api_products.class.php | 30 ++++++++++++++------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/htdocs/product/class/api_products.class.php b/htdocs/product/class/api_products.class.php index c2273c4cf2d..d9ecbe31939 100644 --- a/htdocs/product/class/api_products.class.php +++ b/htdocs/product/class/api_products.class.php @@ -88,6 +88,7 @@ class Products extends DolibarrApi * Get a list of products * * @param int $mode Use this param to filter list (0 for all, 1 for only product, 2 for only service) + * @param int $category Use this param to filter list by category * @param mixed $to_sell Filter products to sell (1) or not to sell (0) * @param mixed $to_buy Filter products to buy (1) or not to buy (0) * @param string $sortfield Sort field @@ -97,25 +98,36 @@ class Products extends DolibarrApi * * @return array Array of product objects */ - function index($mode=0, $to_sell='', $to_buy='', $sortfield = "p.ref", $sortorder = 'ASC', $limit = 0, $page = 0) { + function index($mode=0, $category=0, $to_sell='', $to_buy='', $sortfield = "p.ref", $sortorder = 'ASC', $limit = 0, $page = 0) { global $db, $conf; $obj_ret = array(); $socid = DolibarrApiAccess::$user->societe_id ? DolibarrApiAccess::$user->societe_id : ''; - $sql ="SELECT rowid, ref, ref_ext"; + $sql = "SELECT rowid, ref, ref_ext"; $sql.= " FROM ".MAIN_DB_PREFIX."product as p"; + if ($category > 0) + { + $sql.= ", ".MAIN_DB_PREFIX."categorie_product as c"; + } $sql.= ' WHERE p.entity IN ('.getEntity('product', 1).')'; - + + // Select products of given category + if ($category > 0) + { + $sql.= " AND c.fk_categorie = ".$db->escape($category); + $sql.= " AND c.fk_product = p.rowid "; + } + // Show products if ($mode == 1) $sql.= " AND p.fk_product_type = 0"; // Show services if ($mode == 2) $sql.= " AND p.fk_product_type = 1"; // Show product on sell - if ($to_sell) $sql.= " AND p.to_sell = ".$db->escape($to_sell); + if ($to_sell !== '') $sql.= " AND p.tosell = ".$db->escape($to_sell); // Show product on buy - if ($to_buy) $sql.= " AND p.to_nuy = ".$db->escape($to_nuy); + if ($to_buy !== '') $sql.= " AND p.tobuy = ".$db->escape($to_buy); $nbtotalofrecords = 0; if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) @@ -155,7 +167,7 @@ class Products extends DolibarrApi if( ! count($obj_ret)) { throw new RestException(404, 'No product found'); } - return $obj_ret; + return $obj_ret; } @@ -168,7 +180,7 @@ class Products extends DolibarrApi * @param int $mode Use this param to filter list (0 for all, 1 for only product, 2 for only service) * @param int $category Use this param to filter list by category * @param mixed $to_sell Filter products to sell (1) or not to sell (0) - * @param mixed $to_buy Filter products to nuy (1) or not to buy (0) + * @param mixed $to_buy Filter products to buy (1) or not to buy (0) * @param string $sortfield Sort field * @param string $sortorder Sort order * @param int $limit Limit for list @@ -193,7 +205,7 @@ class Products extends DolibarrApi // Select products of given category $sql.= " AND c.fk_categorie = ".$db->escape($category); $sql.= " AND c.fk_product = p.rowid "; - + // Show products if ($mode == 1) $sql.= " AND p.fk_product_type = 0"; // Show services @@ -201,7 +213,7 @@ class Products extends DolibarrApi // Show product on sell if ($to_sell) $sql.= " AND p.to_sell = ".$db->escape($to_sell); // Show product on buy - if ($to_buy) $sql.= " AND p.to_nuy = ".$db->escape($to_nuy); + if ($to_buy) $sql.= " AND p.to_buy = ".$db->escape($to_buy); $nbtotalofrecords = 0; if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) From ce6d7046becaad5b4915d192fd9d15565f341ff7 Mon Sep 17 00:00:00 2001 From: Xebax Date: Fri, 17 Jun 2016 15:31:57 +0200 Subject: [PATCH 016/476] REST API: remove getByCategory() from Products because the same feature is available with GET /products/. --- htdocs/product/class/api_products.class.php | 86 --------------------- 1 file changed, 86 deletions(-) diff --git a/htdocs/product/class/api_products.class.php b/htdocs/product/class/api_products.class.php index d9ecbe31939..e1a8b6824a0 100644 --- a/htdocs/product/class/api_products.class.php +++ b/htdocs/product/class/api_products.class.php @@ -169,92 +169,6 @@ class Products extends DolibarrApi } return $obj_ret; } - - - /** - * TODO implement this as a filter in /products/ - * List products in a category - * - * Get a list of products - * - * @param int $mode Use this param to filter list (0 for all, 1 for only product, 2 for only service) - * @param int $category Use this param to filter list by category - * @param mixed $to_sell Filter products to sell (1) or not to sell (0) - * @param mixed $to_buy Filter products to buy (1) or not to buy (0) - * @param string $sortfield Sort field - * @param string $sortorder Sort order - * @param int $limit Limit for list - * @param int $page Page number - * - * @return array Array of product objects - * - * @url GET /product/list/category/{category} - */ - function getByCategory($mode=0, $category=0, $to_sell='', $to_buy='', $sortfield = "p.ref", $sortorder = 'ASC', $limit = 0, $page = 0) { - global $db, $conf; - - $obj_ret = array(); - - $socid = DolibarrApiAccess::$user->societe_id ? DolibarrApiAccess::$user->societe_id : ''; - - $sql = "SELECT rowid, ref, ref_ext"; - $sql.= " FROM ".MAIN_DB_PREFIX."product as p, "; - $sql.= MAIN_DB_PREFIX."categorie_product as c"; - $sql.= ' WHERE p.entity IN ('.getEntity('product', 1).')'; - - // Select products of given category - $sql.= " AND c.fk_categorie = ".$db->escape($category); - $sql.= " AND c.fk_product = p.rowid "; - - // Show products - if ($mode == 1) $sql.= " AND p.fk_product_type = 0"; - // Show services - if ($mode == 2) $sql.= " AND p.fk_product_type = 1"; - // Show product on sell - if ($to_sell) $sql.= " AND p.to_sell = ".$db->escape($to_sell); - // Show product on buy - if ($to_buy) $sql.= " AND p.to_buy = ".$db->escape($to_buy); - - $nbtotalofrecords = 0; - if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) - { - $result = $db->query($sql); - $nbtotalofrecords = $db->num_rows($result); - } - - $sql.= $db->order($sortfield, $sortorder); - if ($limit) { - if ($page < 0) - { - $page = 0; - } - $offset = $limit * $page; - - $sql.= $db->plimit($limit + 1, $offset); - } - - $result = $db->query($sql); - if ($result) - { - $num = $db->num_rows($result); - while ($i < $num) - { - $obj = $db->fetch_object($result); - $product_static = new Product($db); - if($product_static->fetch($obj->rowid)) { - $obj_ret[] = parent::_cleanObjectDatas($product_static); - } - $i++; - } - } - else { - throw new RestException(503, 'Error when retrieve product list'); - } - if( ! count($obj_ret)) { - throw new RestException(404, 'No product found'); - } - return $obj_ret; - } /** * Create product object From 8d86b8b37db53152492e661915b86023e6e074f2 Mon Sep 17 00:00:00 2001 From: Xebax Date: Fri, 17 Jun 2016 17:42:46 +0200 Subject: [PATCH 017/476] REST API: fix the definition of /orders/{id}/validate. --- htdocs/commande/class/api_orders.class.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/htdocs/commande/class/api_orders.class.php b/htdocs/commande/class/api_orders.class.php index fbbad50bd93..1f560775b7b 100644 --- a/htdocs/commande/class/api_orders.class.php +++ b/htdocs/commande/class/api_orders.class.php @@ -441,13 +441,17 @@ class Orders extends DolibarrApi * @param int $id Order ID * @param int $idwarehouse Warehouse ID * - * @url GET order/{id}/validate - * @url POST order/{id}/validate + * @url POST {id}/validate * * @return array - * TODO keep only one of the two verbs above (and fix the URL: {id}/validate) + * FIXME An error 403 is returned if the request has an empty body. + * Error message: "Forbidden: Content type `text/plain` is not supported." + * Workaround: send this in the body + * { + * "idwarehouse": 0 + * } */ - function validOrder($id, $idwarehouse=0) + function validate($id, $idwarehouse=0) { if(! DolibarrApiAccess::$user->rights->commande->creer) { throw new RestException(401); From 3b662d6ed88f6531a46fdf0038f9788e77b5950e Mon Sep 17 00:00:00 2001 From: Xebax Date: Fri, 17 Jun 2016 22:52:34 +0200 Subject: [PATCH 018/476] REST API: improve the API to get/add categories for an item. Move the GET /xxx/{id}/categories requests to the corresponding classes (Contacts, Products, Thirdparties). Move the addCustomerCategory() method to the Thirdparties class. Use the POST verb for the request instead of GET because the request modifies the state of the server. --- .../categories/class/api_categories.class.php | 64 ++----------------- htdocs/product/class/api_products.class.php | 18 ++++++ htdocs/societe/class/api_contacts.class.php | 18 ++++++ .../societe/class/api_thirdparties.class.php | 58 +++++++++++++++++ 4 files changed, 101 insertions(+), 57 deletions(-) diff --git a/htdocs/categories/class/api_categories.class.php b/htdocs/categories/class/api_categories.class.php index 7a664718414..22c40de0ef9 100644 --- a/htdocs/categories/class/api_categories.class.php +++ b/htdocs/categories/class/api_categories.class.php @@ -159,10 +159,10 @@ class Categories extends DolibarrApi } /** - * TODO move to /members/, /products/ and /contacts/ * List categories of an entity * - * Get a list of categories + * Note: This method is not directly exposed in the API, it is used + * in the GET /xxx/{id}/categories requests. * * @param string $type Type of category ('member', 'customer', 'supplier', 'product', 'contact') * @param string $sortfield Sort field @@ -172,9 +172,9 @@ class Categories extends DolibarrApi * @param int $item Id of the item to get categories for * @return array Array of category objects * - * @url GET /product/{item}/categories + * @access private */ - function getListForItem($type='product', $sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0, $item = 0) { + function getListForItem($type, $sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0, $item = 0) { global $db, $conf; $obj_ret = array(); @@ -191,6 +191,9 @@ class Categories extends DolibarrApi $sub_type="societe"; $subcol_name="fk_soc"; } + if ($type=="contact") { + $subcol_name="fk_socpeople"; + } $sql = "SELECT s.rowid"; $sql.= " FROM ".MAIN_DB_PREFIX."categorie as s"; $sql.= " , ".MAIN_DB_PREFIX."categorie_".$sub_type." as sub "; @@ -240,60 +243,7 @@ class Categories extends DolibarrApi } return $obj_ret; } - - /** - * TODO move to /thirsparties/ or /customers/ - * Get categories for a customer - * - * @param int $cusid Customer id filter - * @param string $sortfield Sort field - * @param string $sortorder Sort order - * @param int $limit Limit for list - * @param int $page Page number - * - * @return mixed - * - * @url GET /customer/{cusid}/categories - */ - function getListCustomerCategories($cusid, $sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { - return $this->getListForItem('customer', $sortfield, $sortorder, $limit, $page, $cusid); - } - /** - * TODO move to /thirsparties/ or /customers/ - * Add category to customer - * - * @param int $cusid Id of customer - * @param int $catid Id of category - * - * @return mixed - * - * @url GET /customer/{cusid}/addCategory/{catid} - */ - function addCustomerCategory($cusid,$catid) { - if(! DolibarrApiAccess::$user->rights->societe->creer) { - throw new RestException(401); - } - $customer = new Client($this->db); - $customer->fetch($cusid); - if( ! $customer ) { - throw new RestException(404, 'customer not found'); - } - $result = $this->category->fetch($catid); - if( ! $result ) { - throw new RestException(404, 'category not found'); - } - - if( ! DolibarrApi::_checkAccessToResource('societe',$customer->id)) { - throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); - } - if( ! DolibarrApi::_checkAccessToResource('category',$this->category->id)) { - throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); - } - $this->category->add_type($customer,'customer'); - return $customer; - } - /** * Create category object * diff --git a/htdocs/product/class/api_products.class.php b/htdocs/product/class/api_products.class.php index e1a8b6824a0..bba6739ab68 100644 --- a/htdocs/product/class/api_products.class.php +++ b/htdocs/product/class/api_products.class.php @@ -250,6 +250,24 @@ class Products extends DolibarrApi return $this->product->delete(DolibarrApiAccess::$user); } + /** + * Get categories for a product + * + * @param int $id ID of product + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * + * @return mixed + * + * @url GET {id}/categories + */ + function getCategories($id, $sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { + $categories = new Categories(); + return $categories->getListForItem('product', $sortfield, $sortorder, $limit, $page, $id); + } + /** * Validate fields before create or update object * diff --git a/htdocs/societe/class/api_contacts.class.php b/htdocs/societe/class/api_contacts.class.php index 349fa8ecae2..cd0dd6ae38f 100644 --- a/htdocs/societe/class/api_contacts.class.php +++ b/htdocs/societe/class/api_contacts.class.php @@ -300,6 +300,24 @@ class Contacts extends DolibarrApi return $result; } + /** + * Get categories for a contact + * + * @param int $id ID of contact + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * + * @return mixed + * + * @url GET {id}/categories + */ + function getCategories($id, $sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { + $categories = new Categories(); + return $categories->getListForItem('contact', $sortfield, $sortorder, $limit, $page, $id); + } + /** * Validate fields before create or update object * diff --git a/htdocs/societe/class/api_thirdparties.class.php b/htdocs/societe/class/api_thirdparties.class.php index cb898991f7b..7c3d1eace04 100644 --- a/htdocs/societe/class/api_thirdparties.class.php +++ b/htdocs/societe/class/api_thirdparties.class.php @@ -243,6 +243,64 @@ class Thirdparties extends DolibarrApi return $this->company->delete($id); } + /** + * Get categories for a thirdparty + * + * @param int $id ID of thirdparty + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * + * @return mixed + * + * @url GET {id}/categories + */ + function getCategories($id, $sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { + $categories = new Categories(); + return $categories->getListForItem('customer', $sortfield, $sortorder, $limit, $page, $id); + } + + /** + * Add category to a thirdparty + * + * @param int $id Id of thirdparty + * @param array $request_data Request datas + * + * @return mixed + * + * @url POST {id}/addCategory + */ + function addCategory($id, $request_data = NULL) { + if (!isset($request_data["category_id"])) + throw new RestException(400, "category_id field missing"); + $category_id = $request_data["category_id"]; + + if(! DolibarrApiAccess::$user->rights->societe->creer) { + throw new RestException(401); + } + + $result = $this->company->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Thirdparty not found'); + } + $category = new Categorie($this->db); + $result = $category->fetch($category_id); + if( ! $result ) { + throw new RestException(404, 'category not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('societe',$this->company->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + if( ! DolibarrApi::_checkAccessToResource('category',$category->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + $category->add_type($this->company,'customer'); + return $this->company; + } + /** * Validate fields before create or update object * From 388839296e51d5b95d28d0b6f19ed364559ce192 Mon Sep 17 00:00:00 2001 From: Xebax Date: Sat, 18 Jun 2016 19:15:39 +0200 Subject: [PATCH 019/476] REST API: update the URLs in RestAPIUserTest.php. --- test/phpunit/RestAPIUserTest.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/phpunit/RestAPIUserTest.php b/test/phpunit/RestAPIUserTest.php index 189c17a0bd3..af1ae6b3622 100644 --- a/test/phpunit/RestAPIUserTest.php +++ b/test/phpunit/RestAPIUserTest.php @@ -147,7 +147,7 @@ class RestAPIUserTest extends PHPUnit_Framework_TestCase { global $conf,$user,$langs,$db; - $url = $this->api_url.'/user/123456789?api_key='.$this->api_key; + $url = $this->api_url.'/users/123456789?api_key='.$this->api_key; //$addheaders=array('Content-Type: application/json'); print __METHOD__." Request url=".$url."\n"; @@ -159,7 +159,7 @@ class RestAPIUserTest extends PHPUnit_Framework_TestCase $this->assertNotNull($object, "Parsing of json result must no be null"); $this->assertEquals(404, $object['error']['code']); - $url = $this->api_url.'/user/1?api_key='.$this->api_key; + $url = $this->api_url.'/users/1?api_key='.$this->api_key; print __METHOD__." Request url=".$url."\n"; $result=getURLContent($url, 'GET', '', 1, array()); @@ -174,7 +174,7 @@ class RestAPIUserTest extends PHPUnit_Framework_TestCase public function testRestCreateUser() { // attemp to create without mandatory fields : - $url = $this->api_url.'/user?api_key='.$this->api_key; + $url = $this->api_url.'/users?api_key='.$this->api_key; $addheaders=array('Content-Type: application/json'); $bodyobj = array( From 3cac54741da48ae2baa4896d3a39bcf029271f33 Mon Sep 17 00:00:00 2001 From: Xebax Date: Mon, 20 Jun 2016 12:16:19 +0200 Subject: [PATCH 020/476] REST API: fix the index() method in Categories. In the Categories class, set all the parameters of the index() method as optional to make this method compatible with the one of the parent class, DolibarrApi. --- htdocs/categories/class/api_categories.class.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/htdocs/categories/class/api_categories.class.php b/htdocs/categories/class/api_categories.class.php index 22c40de0ef9..cab36132944 100644 --- a/htdocs/categories/class/api_categories.class.php +++ b/htdocs/categories/class/api_categories.class.php @@ -102,7 +102,7 @@ class Categories extends DolibarrApi * * @throws RestException */ - function index($type, $sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { + function index($type = '', $sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { global $db, $conf; $obj_ret = array(); @@ -114,7 +114,10 @@ class Categories extends DolibarrApi $sql = "SELECT s.rowid"; $sql.= " FROM ".MAIN_DB_PREFIX."categorie as s"; $sql.= ' WHERE s.entity IN ('.getEntity('categorie', 1).')'; - $sql.= ' AND s.type='.array_search($type,Categories::$TYPES); + if (!empty($type)) + { + $sql.= ' AND s.type='.array_search($type,Categories::$TYPES); + } $nbtotalofrecords = 0; if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) From 4a0d5549865ca7ab06462841e22a495c5af7245c Mon Sep 17 00:00:00 2001 From: Xebax Date: Tue, 21 Jun 2016 22:54:38 +0200 Subject: [PATCH 021/476] Revert "REST API: fix deleting a product/service." This reverts commit d7c8a466b12c99306a2080cd22d887a36c9f751d. --- htdocs/product/card.php | 2 +- htdocs/product/class/api_products.class.php | 3 ++- htdocs/product/class/product.class.php | 5 ++--- htdocs/webservices/server_productorservice.php | 6 +++++- test/phpunit/ProductTest.php | 2 +- 5 files changed, 11 insertions(+), 7 deletions(-) diff --git a/htdocs/product/card.php b/htdocs/product/card.php index c2d7b76dac3..330e712cf1b 100644 --- a/htdocs/product/card.php +++ b/htdocs/product/card.php @@ -553,7 +553,7 @@ if (empty($reshook)) { if (($object->type == Product::TYPE_PRODUCT && $user->rights->produit->supprimer) || ($object->type == Product::TYPE_SERVICE && $user->rights->service->supprimer)) { - $result = $object->delete($user); + $result = $object->delete($object->id); } if ($result > 0) diff --git a/htdocs/product/class/api_products.class.php b/htdocs/product/class/api_products.class.php index bba6739ab68..bd5b37194c3 100644 --- a/htdocs/product/class/api_products.class.php +++ b/htdocs/product/class/api_products.class.php @@ -232,6 +232,7 @@ class Products extends DolibarrApi * * @param int $id Product ID * @return array + * FIXME Deleting a product/service does not work because the Product::delete() method uses a global $user but it is not set. */ function delete($id) { @@ -247,7 +248,7 @@ class Products extends DolibarrApi throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); } - return $this->product->delete(DolibarrApiAccess::$user); + return $this->product->delete($id); } /** diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index 908ccea68e9..982b109da99 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -878,19 +878,18 @@ class Product extends CommonObject /** * Delete a product from database (if not used) * - * @param User $user Object user that ask to delete * @param int $id Product id (usage of this is deprecated, delete should be called without parameters on a fetched object) * @param int $notrigger Do not execute trigger * @return int < 0 if KO, 0 = Not possible, > 0 if OK */ - function delete($user, $id=0, $notrigger=0) + function delete($id=0, $notrigger=0) { // Deprecation warning if ($id > 0) { dol_syslog(__METHOD__ . " with parameter is deprecated", LOG_WARNING); } - global $conf,$langs; + global $conf,$user,$langs; require_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php'; $error=0; diff --git a/htdocs/webservices/server_productorservice.php b/htdocs/webservices/server_productorservice.php index 9da26495f76..aa43dbb185c 100644 --- a/htdocs/webservices/server_productorservice.php +++ b/htdocs/webservices/server_productorservice.php @@ -841,6 +841,10 @@ function deleteProductOrService($authentication,$listofidstring) $error=0; $fuser=check_authentication($authentication,$error,$errorcode,$errorlabel); + // User must be defined to user authenticated + global $user; + $user=$fuser; + $listofid=explode(',',trim($listofidstring)); $listofiddeleted=array(); @@ -869,7 +873,7 @@ function deleteProductOrService($authentication,$listofidstring) } else { - $result=$newobject->delete($fuser); + $result=$newobject->delete(); if ($result <= 0) { $error++; diff --git a/test/phpunit/ProductTest.php b/test/phpunit/ProductTest.php index 87f290593f0..199aace802c 100644 --- a/test/phpunit/ProductTest.php +++ b/test/phpunit/ProductTest.php @@ -232,7 +232,7 @@ class ProductTest extends PHPUnit_Framework_TestCase $localobject=new Product($this->savdb); $result=$localobject->fetch($id); - $result=$localobject->delete($user); + $result=$localobject->delete($id); print __METHOD__." id=".$id." result=".$result."\n"; $this->assertLessThan($result, 0); From 9e9e224c4634f20a4fc764d8e2394d9b96d3aaa6 Mon Sep 17 00:00:00 2001 From: Xebax Date: Tue, 21 Jun 2016 23:08:22 +0200 Subject: [PATCH 022/476] REST API: fix deleting a product/service. The global variable $user must be set before calling the Product::delete() method else the check of permissions fails. --- htdocs/product/class/api_products.class.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/htdocs/product/class/api_products.class.php b/htdocs/product/class/api_products.class.php index bd5b37194c3..d6dc8770b23 100644 --- a/htdocs/product/class/api_products.class.php +++ b/htdocs/product/class/api_products.class.php @@ -232,7 +232,6 @@ class Products extends DolibarrApi * * @param int $id Product ID * @return array - * FIXME Deleting a product/service does not work because the Product::delete() method uses a global $user but it is not set. */ function delete($id) { @@ -248,6 +247,10 @@ class Products extends DolibarrApi throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); } + // The Product::delete() method uses the global variable $user. + global $user; + $user = DolibarrApiAccess::$user; + return $this->product->delete($id); } From 70ba8ec78db38acb55d65f1764ee56d4f793fea9 Mon Sep 17 00:00:00 2001 From: Xebax Date: Wed, 22 Jun 2016 10:08:54 +0200 Subject: [PATCH 023/476] REST API: Bring back the existing API (for backward compatibility). Bring back the existing API and mark all the operations as deprecated. Both the existing and the new API are documented and browsable with the Restler API Explorer. The existing API appears under "root". --- htdocs/api/index.php | 15 +- .../class/api_deprecated_category.class.php | 489 ++++++++++++++++ .../class/api_deprecated_commande.class.php | 535 ++++++++++++++++++ .../class/api_deprecated_invoice.class.php | 297 ++++++++++ .../class/api_deprecated_product.class.php | 359 ++++++++++++ .../class/api_deprecated_contact.class.php | 293 ++++++++++ .../class/api_deprecated_thirdparty.class.php | 411 ++++++++++++++ .../user/class/api_deprecated_user.class.php | 273 +++++++++ 8 files changed, 2670 insertions(+), 2 deletions(-) create mode 100644 htdocs/categories/class/api_deprecated_category.class.php create mode 100644 htdocs/commande/class/api_deprecated_commande.class.php create mode 100644 htdocs/compta/facture/class/api_deprecated_invoice.class.php create mode 100644 htdocs/product/class/api_deprecated_product.class.php create mode 100644 htdocs/societe/class/api_deprecated_contact.class.php create mode 100644 htdocs/societe/class/api_deprecated_thirdparty.class.php create mode 100644 htdocs/user/class/api_deprecated_user.class.php diff --git a/htdocs/api/index.php b/htdocs/api/index.php index e58d2370be7..28fb3d5f038 100644 --- a/htdocs/api/index.php +++ b/htdocs/api/index.php @@ -112,13 +112,24 @@ foreach ($modulesdir as $dir) { while (($file_searched = readdir($handle_part))!==false) { - if (is_readable($dir_part.$file_searched) && preg_match("/^api_(.*)\.class\.php$/i",$file_searched,$reg)) + // Support of the deprecated API. + if (is_readable($dir_part.$file_searched) && preg_match("/^api_deprecated_(.*)\.class\.php$/i",$file_searched,$reg)) + { + $classname = ucwords($reg[1]).'Api'; + require_once $dir_part.$file_searched; + if (class_exists($classname)) + { + dol_syslog("Found deprecated API classname=".$classname); + $api->r->addAPIClass($classname, ''); + } + } + else if (is_readable($dir_part.$file_searched) && preg_match("/^api_(.*)\.class\.php$/i",$file_searched,$reg)) { $classname = ucwords($reg[1]); require_once $dir_part.$file_searched; if (class_exists($classname)) { - dol_syslog("Found API classname=".$classname); + dol_syslog("Found API classname=".$classname); $listofapis[] = $classname; } } diff --git a/htdocs/categories/class/api_deprecated_category.class.php b/htdocs/categories/class/api_deprecated_category.class.php new file mode 100644 index 00000000000..c6a52f72035 --- /dev/null +++ b/htdocs/categories/class/api_deprecated_category.class.php @@ -0,0 +1,489 @@ + + * + * 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 . + */ + + use Luracast\Restler\RestException; + + require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; + require_once DOL_DOCUMENT_ROOT.'/societe/class/client.class.php'; + +/** + * API class for category object + * + * @smart-auto-routing false + * @access protected + * @class DolibarrApiAccess {@requires user,external} + * + * @deprecated + */ +class CategoryApi extends DolibarrApi +{ + /** + * @var array $FIELDS Mandatory fields, checked when create and update object + */ + static $FIELDS = array( + 'label', + 'type' + ); + + static $TYPES = array( + 0 => 'product', + 1 => 'supplier', + 2 => 'customer', + 3 => 'member', + 4 => 'contact', + 5 => 'account', + ); + + /** + * @var Categorie $category {@type Categorie} + */ + public $category; + + /** + * Constructor Warning: Deprecated + * + * @url GET category/ + * + */ + function __construct() + { + global $db, $conf; + $this->db = $db; + $this->category = new Categorie($this->db); + + } + + /** + * Get properties of a category object Warning: Deprecated + * + * Return an array with category informations + * + * @param int $id ID of category + * @return array|mixed data without useless information + * + * @url GET category/{id} + * @throws RestException + */ + function get($id) + { + if(! DolibarrApiAccess::$user->rights->categorie->lire) { + throw new RestException(401); + } + + $result = $this->category->fetch($id); + if( ! $result ) { + throw new RestException(404, 'category not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('category',$this->category->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + return $this->_cleanObjectDatas($this->category); + } + + /** + * List categories Warning: Deprecated + * + * Get a list of categories + * + * @param string $type Type of category ('member', 'customer', 'supplier', 'product', 'contact') + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * @return array Array of category objects + * + * @url GET /category/list + */ + function getList($type='product', $sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { + global $db, $conf; + + $obj_ret = array(); + + if(! DolibarrApiAccess::$user->rights->categorie->lire) { + throw new RestException(401); + } + + $sql = "SELECT s.rowid"; + $sql.= " FROM ".MAIN_DB_PREFIX."categorie as s"; + $sql.= ' WHERE s.entity IN ('.getEntity('categorie', 1).')'; + $sql.= ' AND s.type='.array_search($type,CategoryApi::$TYPES); + + $nbtotalofrecords = 0; + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) + { + $result = $db->query($sql); + $nbtotalofrecords = $db->num_rows($result); + } + + $sql.= $db->order($sortfield, $sortorder); + if ($limit) { + if ($page < 0) + { + $page = 0; + } + $offset = $limit * $page; + + $sql.= $db->plimit($limit + 1, $offset); + } + + $result = $db->query($sql); + if ($result) + { + $i=0; + $num = $db->num_rows($result); + while ($i < $num) + { + $obj = $db->fetch_object($result); + $category_static = new Categorie($db); + if($category_static->fetch($obj->rowid)) { + $obj_ret[] = parent::_cleanObjectDatas($category_static); + } + $i++; + } + } + else { + throw new RestException(503, 'Error when retrieve category list : '.$category_static->error); + } + if( ! count($obj_ret)) { + throw new RestException(404, 'No category found'); + } + return $obj_ret; + } + /** + * List categories of an entity Warning: Deprecated + * + * Get a list of categories + * + * @param string $type Type of category ('member', 'customer', 'supplier', 'product', 'contact') + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * @param int $item Id of the item to get categories for + * @return array Array of category objects + * + * @url GET /product/{item}/categories + */ + function getListForItem($type='product', $sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0, $item = 0) { + global $db, $conf; + + $obj_ret = array(); + + if(! DolibarrApiAccess::$user->rights->categorie->lire) { + throw new RestException(401); + } + //if ($type == "") { + //$type="product"; + //} + $sub_type = $type; + $subcol_name = "fk_".$type; + if ($type=="customer" || $type=="supplier") { + $sub_type="societe"; + $subcol_name="fk_soc"; + } + $sql = "SELECT s.rowid"; + $sql.= " FROM ".MAIN_DB_PREFIX."categorie as s"; + $sql.= " , ".MAIN_DB_PREFIX."categorie_".$sub_type." as sub "; + $sql.= ' WHERE s.entity IN ('.getEntity('categorie', 1).')'; + $sql.= ' AND s.type='.array_search($type,CategoryApi::$TYPES); + $sql.= ' AND s.rowid = sub.fk_categorie'; + $sql.= ' AND sub.'.$subcol_name.' = '.$item; + + $nbtotalofrecords = 0; + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) + { + $result = $db->query($sql); + $nbtotalofrecords = $db->num_rows($result); + } + + $sql.= $db->order($sortfield, $sortorder); + if ($limit) { + if ($page < 0) + { + $page = 0; + } + $offset = $limit * $page; + + $sql.= $db->plimit($limit + 1, $offset); + } + + $result = $db->query($sql); + if ($result) + { + $i=0; + $num = $db->num_rows($result); + while ($i < $num) + { + $obj = $db->fetch_object($result); + $category_static = new Categorie($db); + if($category_static->fetch($obj->rowid)) { + $obj_ret[] = parent::_cleanObjectDatas($category_static); + } + $i++; + } + } + else { + throw new RestException(503, 'Error when retrieve category list : '.$category_static->error); + } + if( ! count($obj_ret)) { + throw new RestException(404, 'No category found'); + } + return $obj_ret; + } + + /** + * Get member categories list Warning: Deprecated + * + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * @return mixed + * + * @url GET /category/list/member + */ + function getListCategoryMember($sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { + return $this->getList('member', $sortfield, $sortorder, $limit, $page); + } + + /** + * Get customer categories list Warning: Deprecated + * + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * + * @return mixed + * + * @url GET /category/list/customer + */ + function getListCategoryCustomer($sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { + return $this->getList('customer', $sortfield, $sortorder, $limit, $page); + } + /** + * Get categories for a customer Warning: Deprecated + * + * @param int $cusid Customer id filter + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * + * @return mixed + * + * @url GET /customer/{cusid}/categories + */ + function getListCustomerCategories($cusid, $sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { + return $this->getListForItem('customer', $sortfield, $sortorder, $limit, $page, $cusid); + } + + /** + * Add category to customer Warning: Deprecated + * + * @param int $cusid Id of customer + * @param int $catid Id of category + * + * @return mixed + * + * @url GET /customer/{cusid}/addCategory/{catid} + */ + function addCustomerCategory($cusid,$catid) { + if(! DolibarrApiAccess::$user->rights->societe->creer) { + throw new RestException(401); + } + $customer = new Client($this->db); + $customer->fetch($cusid); + if( ! $customer ) { + throw new RestException(404, 'customer not found'); + } + $result = $this->category->fetch($catid); + if( ! $result ) { + throw new RestException(404, 'category not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('societe',$customer->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + if( ! DolibarrApi::_checkAccessToResource('category',$this->category->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + $this->category->add_type($customer,'customer'); + return $customer; + } + + /** + * Get supplier categories list Warning: Deprecated + * + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * + * @return mixed + * + * @url GET /category/list/supplier + */ + function getListCategorySupplier($sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { + return $this->getList('supplier', $sortfield, $sortorder, $limit, $page); + } + + /** + * Get product categories list Warning: Deprecated + * + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * + * @return mixed + * + * @url GET /category/list/product + */ + function getListCategoryProduct($sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { + return $this->getList('product', $sortfield, $sortorder, $limit, $page); + } + + /** + * Get contact categories list Warning: Deprecated + * + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * @return mixed + * + * @url GET /category/list/contact + */ + function getListCategoryContact($sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { + return $this->getList('contact', $sortfield, $sortorder, $limit, $page); + } + + /** + * Create category object Warning: Deprecated + * + * @param array $request_data Request data + * @return int ID of category + * + * @url POST category/ + */ + function post($request_data = NULL) + { + if(! DolibarrApiAccess::$user->rights->categorie->creer) { + throw new RestException(401); + } + // Check mandatory fields + $result = $this->_validate($request_data); + + foreach($request_data as $field => $value) { + $this->category->$field = $value; + } + if($this->category->create(DolibarrApiAccess::$user) < 0) { + throw new RestException(503, 'Error when create category : '.$this->category->error); + } + return $this->category->id; + } + + /** + * Update category Warning: Deprecated + * + * @param int $id Id of category to update + * @param array $request_data Datas + * @return int + * + * @url PUT category/{id} + */ + function put($id, $request_data = NULL) + { + if(! DolibarrApiAccess::$user->rights->categorie->creer) { + throw new RestException(401); + } + + $result = $this->category->fetch($id); + if( ! $result ) { + throw new RestException(404, 'category not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('category',$this->category->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + foreach($request_data as $field => $value) { + $this->category->$field = $value; + } + + if($this->category->update(DolibarrApiAccess::$user)) + return $this->get ($id); + + return false; + } + + /** + * Delete category Warning: Deprecated + * + * @param int $id Category ID + * @return array + * + * @url DELETE category/{id} + */ + function delete($id) + { + if(! DolibarrApiAccess::$user->rights->categorie->supprimer) { + throw new RestException(401); + } + $result = $this->category->fetch($id); + if( ! $result ) { + throw new RestException(404, 'category not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('category',$this->category->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + if (! $this->category->delete(DolibarrApiAccess::$user)) { + throw new RestException(401,'error when delete category'); + } + + return array( + 'success' => array( + 'code' => 200, + 'message' => 'Category deleted' + ) + ); + } + + /** + * Validate fields before create or update object + * + * @param array $data Data to validate + * @return array + * + * @throws RestException + */ + function _validate($data) + { + $category = array(); + foreach (CategoryApi::$FIELDS as $field) { + if (!isset($data[$field])) + throw new RestException(400, "$field field missing"); + $category[$field] = $data[$field]; + } + return $category; + } +} diff --git a/htdocs/commande/class/api_deprecated_commande.class.php b/htdocs/commande/class/api_deprecated_commande.class.php new file mode 100644 index 00000000000..557682b8cf7 --- /dev/null +++ b/htdocs/commande/class/api_deprecated_commande.class.php @@ -0,0 +1,535 @@ + + * + * 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 . + */ + + use Luracast\Restler\RestException; + + require_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; + +/** + * API class for commande object + * + * @smart-auto-routing false + * @access protected + * @class DolibarrApiAccess {@requires user,external} + * + * @category Api + * @package Api + * + * @deprecated + */ +class CommandeApi extends DolibarrApi +{ + + /** + * @var array $FIELDS Mandatory fields, checked when create and update object + */ + static $FIELDS = array( + 'socid' + ); + + /** + * @var Commande $commande {@type Commande} + */ + public $commande; + + /** + * Constructor Warning: Deprecated + * + * @url GET order/ + * + */ + function __construct() + { + global $db, $conf; + $this->db = $db; + $this->commande = new Commande($this->db); + } + + /** + * Get properties of a commande object Warning: Deprecated + * + * Return an array with commande informations + * + * @param int $id ID of order + * @param string $ref Ref of object + * @param string $ref_ext External reference of object + * @param string $ref_int Internal reference of other object + * @return array|mixed data without useless information + * + * @url GET order/{id} + * @throws RestException + */ + function get($id='',$ref='', $ref_ext='', $ref_int='') + { + if(! DolibarrApiAccess::$user->rights->commande->lire) { + throw new RestException(401); + } + + $result = $this->commande->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Order not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('commande',$this->commande->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + $this->commande->fetchObjectLinked(); + return $this->_cleanObjectDatas($this->commande); + } + + /** + * List orders Warning: Deprecated + * + * Get a list of orders + * + * @param int $mode Use this param to filter list + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * @param string $societe Societe filter field + * + * @url GET /order/list + * @return array Array of order objects + */ + function getList($mode=0, $sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0, $societe = 0) { + global $db, $conf; + + $obj_ret = array(); + // case of external user, $societe param is ignored and replaced by user's socid + $socid = DolibarrApiAccess::$user->societe_id ? DolibarrApiAccess::$user->societe_id : $societe; + + // If the internal user must only see his customers, force searching by him + if (! DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) $search_sale = DolibarrApiAccess::$user->id; + + $sql = "SELECT s.rowid"; + if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql .= ", sc.fk_soc, sc.fk_user"; // We need these fields in order to filter by sale (including the case where the user can only see his prospects) + $sql.= " FROM ".MAIN_DB_PREFIX."commande as s"; + + if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; // We need this table joined to the select in order to filter by sale + + // Example of use $mode + //if ($mode == 1) $sql.= " AND s.client IN (1, 3)"; + //if ($mode == 2) $sql.= " AND s.client IN (2, 3)"; + + $sql.= ' WHERE s.entity IN ('.getEntity('commande', 1).')'; + if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql.= " AND s.fk_soc = sc.fk_soc"; + if ($socid) $sql.= " AND s.fk_soc = ".$socid; + if ($search_sale > 0) $sql.= " AND s.rowid = sc.fk_soc"; // Join for the needed table to filter by sale + + // Insert sale filter + if ($search_sale > 0) + { + $sql .= " AND sc.fk_user = ".$search_sale; + } + + $nbtotalofrecords = 0; + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) + { + $result = $db->query($sql); + $nbtotalofrecords = $db->num_rows($result); + } + + $sql.= $db->order($sortfield, $sortorder); + if ($limit) { + if ($page < 0) + { + $page = 0; + } + $offset = $limit * $page; + + $sql.= $db->plimit($limit + 1, $offset); + } + + $result = $db->query($sql); + + if ($result) + { + $num = $db->num_rows($result); + while ($i < $num) + { + $obj = $db->fetch_object($result); + $commande_static = new Commande($db); + if($commande_static->fetch($obj->rowid)) { + $obj_ret[] = parent::_cleanObjectDatas($commande_static); + } + $i++; + } + } + else { + throw new RestException(503, 'Error when retrieve commande list'); + } + if( ! count($obj_ret)) { + throw new RestException(404, 'No commande found'); + } + return $obj_ret; + } + + /** + * List orders for specific thirdparty Warning: Deprecated + * + * Get a list of orders + * + * @param int $socid Id of customer + * + * @url GET /customer/{socid}/order/list + * @url GET /thirdparty/{socid}/order/list + * @return array Array of order objects + */ + function getListForSoc($socid = 0) { + return getList(0,"s.rowid","ASC",0,0,$socid); + } + + + /** + * Create order object Warning: Deprecated + * + * @param array $request_data Request datas + * + * @url POST order/ + * + * @return int ID of commande + */ + function post($request_data = NULL) + { + if(! DolibarrApiAccess::$user->rights->commande->creer) { + throw new RestException(401, "Insuffisant rights"); + } + // Check mandatory fields + $result = $this->_validate($request_data); + + foreach($request_data as $field => $value) { + $this->commande->$field = $value; + } + if (isset($request_data["lines"])) { + $lines = array(); + foreach ($request_data["lines"] as $line) { + array_push($lines, (object) $line); + } + $this->commande->lines = $lines; + } + if(! $this->commande->create(DolibarrApiAccess::$user) ) { + throw new RestException(500, "Error while creating order"); + } + + return $this->commande->id; + } + /** + * Get lines of an order Warning: Deprecated + * + * + * @param int $id Id of order + * + * @url GET order/{id}/line/list + * + * @return int + */ + function getLines($id) { + if(! DolibarrApiAccess::$user->rights->commande->lire) { + throw new RestException(401); + } + + $result = $this->commande->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Commande not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('commande',$this->commande->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + $this->commande->getLinesArray(); + $result = array(); + foreach ($this->commande->lines as $line) { + array_push($result,$this->_cleanObjectDatas($line)); + } + return $result; + } + /** + * Add a line to given order Warning: Deprecated + * + * + * @param int $id Id of commande to update + * @param array $request_data Orderline data + * + * @url POST order/{id}/line + * + * @return int + */ + function postLine($id, $request_data = NULL) { + if(! DolibarrApiAccess::$user->rights->commande->creer) { + throw new RestException(401); + } + + $result = $this->commande->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Commande not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('commande',$this->commande->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + $request_data = (object) $request_data; + $updateRes = $this->commande->addline( + $request_data->desc, + $request_data->subprice, + $request_data->qty, + $request_data->tva_tx, + $request_data->localtax1_tx, + $request_data->localtax2_tx, + $request_data->fk_product, + $request_data->remise_percent, + $request_data->info_bits, + $request_data->fk_remise_except, + 'HT', + 0, + $request_data->date_start, + $request_data->date_end, + $request_data->product_type, + $request_data->rang, + $request_data->special_code, + $fk_parent_line, + $request_data->fk_fournprice, + $request_data->pa_ht, + $request_data->label, + $request_data->array_options, + $request_data->fk_unit, + $this->element, + $request_data->id + ); + + if ($updateRes > 0) { + return $this->get($id)->line->rowid; + + } + return false; + } + /** + * Update a line to given order Warning: Deprecated + * + * + * @param int $id Id of commande to update + * @param int $lineid Id of line to update + * @param array $request_data Orderline data + * + * @url PUT order/{id}/line/{lineid} + * + * @return object + */ + function putLine($id, $lineid, $request_data = NULL) { + if(! DolibarrApiAccess::$user->rights->commande->creer) { + throw new RestException(401); + } + + $result = $this->commande->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Commande not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('commande',$this->commande->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + $request_data = (object) $request_data; + $updateRes = $this->commande->updateline( + $lineid, + $request_data->desc, + $request_data->subprice, + $request_data->qty, + $request_data->remise_percent, + $request_data->tva_tx, + $request_data->localtax1_tx, + $request_data->localtax2_tx, + 'HT', + $request_data->info_bits, + $request_data->date_start, + $request_data->date_end, + $request_data->product_type, + $request_data->fk_parent_line, + 0, + $request_data->fk_fournprice, + $request_data->pa_ht, + $request_data->label, + $request_data->special_code, + $request_data->array_options, + $request_data->fk_unit + ); + + if ($updateRes > 0) { + $result = $this->get($id); + unset($result->line); + return $this->_cleanObjectDatas($result); + } + return false; + } + /** + * Delete a line to given order Warning: Deprecated + * + * + * @param int $id Id of commande to update + * @param int $lineid Id of line to delete + * + * @url DELETE order/{id}/line/{lineid} + * + * @return int + */ + function delLine($id, $lineid) { + if(! DolibarrApiAccess::$user->rights->commande->creer) { + throw new RestException(401); + } + + $result = $this->commande->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Commande not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('commande',$this->commande->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + $request_data = (object) $request_data; + $updateRes = $this->commande->deleteline($lineid); + if ($updateRes == 1) { + return $this->get($id); + } + return false; + } + + /** + * Update order general fields (won't touch lines of order) Warning: Deprecated + * + * @param int $id Id of commande to update + * @param array $request_data Datas + * + * @url PUT order/{id} + * + * @return int + */ + function put($id, $request_data = NULL) { + if(! DolibarrApiAccess::$user->rights->commande->creer) { + throw new RestException(401); + } + + $result = $this->commande->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Commande not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('commande',$this->commande->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + foreach($request_data as $field => $value) { + $this->commande->$field = $value; + } + + if($this->commande->update($id, DolibarrApiAccess::$user,1,'','','update')) + return $this->get($id); + + return false; + } + + /** + * Delete order Warning: Deprecated + * + * @param int $id Order ID + * + * @url DELETE order/{id} + * + * @return array + */ + function delete($id) + { + if(! DolibarrApiAccess::$user->rights->commande->supprimer) { + throw new RestException(401); + } + $result = $this->commande->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Order not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('commande',$this->commande->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + if( ! $this->commande->delete(DolibarrApiAccess::$user)) { + throw new RestException(500, 'Error when delete order : '.$this->commande->error); + } + + return array( + 'success' => array( + 'code' => 200, + 'message' => 'Order deleted' + ) + ); + + } + + /** + * Validate an order Warning: Deprecated + * + * @param int $id Order ID + * @param int $idwarehouse Warehouse ID + * + * @url GET order/{id}/validate + * @url POST order/{id}/validate + * + * @return array + * + */ + function validOrder($id, $idwarehouse=0) + { + if(! DolibarrApiAccess::$user->rights->commande->creer) { + throw new RestException(401); + } + $result = $this->commande->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Order not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('commande',$this->commande->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + if( ! $this->commande->valid(DolibarrApiAccess::$user, $idwarehouse)) { + throw new RestException(500, 'Error when validate order'); + } + + return array( + 'success' => array( + 'code' => 200, + 'message' => 'Order validated' + ) + ); + } + + /** + * Validate fields before create or update object + * + * @param array $data Array with data to verify + * @return array + * @throws RestException + */ + function _validate($data) + { + $commande = array(); + foreach (CommandeApi::$FIELDS as $field) { + if (!isset($data[$field])) + throw new RestException(400, "$field field missing"); + $commande[$field] = $data[$field]; + + } + return $commande; + } +} diff --git a/htdocs/compta/facture/class/api_deprecated_invoice.class.php b/htdocs/compta/facture/class/api_deprecated_invoice.class.php new file mode 100644 index 00000000000..2ba4873fe8f --- /dev/null +++ b/htdocs/compta/facture/class/api_deprecated_invoice.class.php @@ -0,0 +1,297 @@ + + * + * 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 . + */ + + use Luracast\Restler\RestException; + + require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; + +/** + * API class for invoice object + * + * @smart-auto-routing false + * @access protected + * @class DolibarrApiAccess {@requires user,external} + * @deprecated + */ +class InvoiceApi extends DolibarrApi +{ + /** + * + * @var array $FIELDS Mandatory fields, checked when create and update object + */ + static $FIELDS = array( + 'socid' + ); + + /** + * @var Facture $invoice {@type Facture} + */ + public $invoice; + + /** + * Constructor Warning: Deprecated + * + * @url GET invoice/ + * + */ + function __construct() + { + global $db, $conf; + $this->db = $db; + $this->invoice = new Facture($this->db); + } + + /** + * Get properties of a invoice object Warning: Deprecated + * + * Return an array with invoice informations + * + * @param int $id ID of invoice + * @return array|mixed data without useless information + * + * @url GET invoice/{id} + * @throws RestException + */ + function get($id) + { + if(! DolibarrApiAccess::$user->rights->facture->lire) { + throw new RestException(401); + } + + $result = $this->invoice->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Facture not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('facture',$this->invoice->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + return $this->_cleanObjectDatas($this->invoice); + } + + /** + * List invoices Warning: Deprecated + * + * Get a list of invoices + * + * @param int $socid Filter list with thirdparty ID + * @param string $mode Filter by invoice status : draft | unpaid | paid | cancelled + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * + * @return array Array of invoice objects + * + * @url GET invoice/list + * @url GET invoice/list/{mode} + * @url GET thirdparty/{socid}/invoice/list + * @url GET thirdparty/{socid}/invoice/list/{mode} + */ + function getList($socid=0, $mode='', $sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { + global $db, $conf; + + $obj_ret = array(); + + $socid = DolibarrApiAccess::$user->societe_id ? DolibarrApiAccess::$user->societe_id : ''; + + // If the internal user must only see his customers, force searching by him + if (! DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) $search_sale = DolibarrApiAccess::$user->id; + + $sql = "SELECT s.rowid"; + if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql .= ", sc.fk_soc, sc.fk_user"; // We need these fields in order to filter by sale (including the case where the user can only see his prospects) + $sql.= " FROM ".MAIN_DB_PREFIX."facture as s"; + + if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; // We need this table joined to the select in order to filter by sale + + $sql.= ' WHERE s.entity IN ('.getEntity('facture', 1).')'; + if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql.= " AND s.fk_soc = sc.fk_soc"; + if ($socid) $sql.= " AND s.fk_soc = ".$socid; + if ($search_sale > 0) $sql.= " AND s.rowid = sc.fk_soc"; // Join for the needed table to filter by sale + + + // Example of use $mode + if ($mode == 'draft') $sql.= " AND s.fk_statut IN (0)"; + if ($mode == 'unpaid') $sql.= " AND s.fk_statut IN (1)"; + if ($mode == 'paid') $sql.= " AND s.fk_statut IN (2)"; + if ($mode == 'cancelled') $sql.= " AND s.fk_statut IN (3)"; + + // Insert sale filter + if ($search_sale > 0) + { + $sql .= " AND sc.fk_user = ".$search_sale; + } + + $nbtotalofrecords = 0; + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) + { + $result = $db->query($sql); + $nbtotalofrecords = $db->num_rows($result); + } + + $sql.= $db->order($sortfield, $sortorder); + if ($limit) { + if ($page < 0) + { + $page = 0; + } + $offset = $limit * $page; + + $sql.= $db->plimit($limit + 1, $offset); + } + + $result = $db->query($sql); + if ($result) + { + $num = $db->num_rows($result); + while ($i < $num) + { + $obj = $db->fetch_object($result); + $invoice_static = new Facture($db); + if($invoice_static->fetch($obj->rowid)) { + $obj_ret[] = parent::_cleanObjectDatas($invoice_static); + } + $i++; + } + } + else { + throw new RestException(503, 'Error when retrieve invoice list'); + } + if( ! count($obj_ret)) { + throw new RestException(404, 'No invoice found'); + } + return $obj_ret; + } + + /** + * Create invoice object Warning: Deprecated + * + * @param array $request_data Request datas + * @return int ID of invoice + * + * @url POST invoice/ + */ + function post($request_data = NULL) + { + if(! DolibarrApiAccess::$user->rights->facture->creer) { + throw new RestException(401); + } + // Check mandatory fields + $result = $this->_validate($request_data); + + foreach($request_data as $field => $value) { + $this->invoice->$field = $value; + } + if(! array_keys($request_data,'date')) { + $this->invoice->date = dol_now(); + } + if( ! $this->invoice->create(DolibarrApiAccess::$user)) { + throw new RestException(500); + } + return $this->invoice->id; + } + + /** + * Update invoice Warning: Deprecated + * + * @param int $id Id of invoice to update + * @param array $request_data Datas + * @return int + * + * @url PUT invoice/{id} + */ + function put($id, $request_data = NULL) + { + if(! DolibarrApiAccess::$user->rights->facture->creer) { + throw new RestException(401); + } + + $result = $this->invoice->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Facture not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('facture',$this->invoice->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + foreach($request_data as $field => $value) { + $this->invoice->$field = $value; + } + + if($this->invoice->update($id, DolibarrApiAccess::$user)) + return $this->get ($id); + + return false; + } + + /** + * Delete invoice Warning: Deprecated + * + * @param int $id Invoice ID + * @return type + * + * @url DELETE invoice/{id} + */ + function delete($id) + { + if(! DolibarrApiAccess::$user->rights->facture->supprimer) { + throw new RestException(401); + } + $result = $this->invoice->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Facture not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('facture',$this->facture->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + if( !$this->invoice->delete($id)) + { + throw new RestException(500); + } + + return array( + 'success' => array( + 'code' => 200, + 'message' => 'Facture deleted' + ) + ); + + } + + /** + * Validate fields before create or update object + * + * @param array $data Datas to validate + * @return array + * + * @throws RestException + */ + function _validate($data) + { + $invoice = array(); + foreach (InvoiceApi::$FIELDS as $field) { + if (!isset($data[$field])) + throw new RestException(400, "$field field missing"); + $invoice[$field] = $data[$field]; + } + return $invoice; + } +} diff --git a/htdocs/product/class/api_deprecated_product.class.php b/htdocs/product/class/api_deprecated_product.class.php new file mode 100644 index 00000000000..784539230e5 --- /dev/null +++ b/htdocs/product/class/api_deprecated_product.class.php @@ -0,0 +1,359 @@ + + * + * 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 . + */ + + use Luracast\Restler\RestException; + + require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; + require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; + +/** + * API class for product object + * + * @smart-auto-routing false + * @access protected + * @class DolibarrApiAccess {@requires user,external} + * @deprecated + */ +class ProductApi extends DolibarrApi +{ + /** + * @var array $FIELDS Mandatory fields, checked when create and update object + */ + static $FIELDS = array( + 'ref', + 'label' + ); + + /** + * @var Product $product {@type Product} + */ + public $product; + + /** + * Constructor Warning: Deprecated + * + * @url product/ + * + */ + function __construct() + { + global $db, $conf; + $this->db = $db; + $this->product = new Product($this->db); + } + + /** + * Get properties of a product object Warning: Deprecated + * + * Return an array with product informations + * + * @param int $id ID of product + * @param string $ref Product ref + * @param string $ref_ext Product ref ext + * @return array|mixed data without useless information + * + * @url GET product/{id} + * @throws RestException + */ + function get($id='', $ref='', $ref_ext='') + { + if(! DolibarrApiAccess::$user->rights->produit->lire) { + throw new RestException(401); + } + + $result = $this->product->fetch($id,$ref,$ref_ext); + if( ! $result ) { + throw new RestException(404, 'Product not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('product',$this->product->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + $this->product->load_stock(); + + return $this->_cleanObjectDatas($this->product); + } + + /** + * List products Warning: Deprecated + * + * Get a list of products + * + * @param int $mode Use this param to filter list (0 for all, 1 for only product, 2 for only service) + * @param mixed $to_sell Filter products to sell (1) or not to sell (0) + * @param mixed $to_buy Filter products to nuy (1) or not to buy (0) + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * + * @return array Array of product objects + * + * @url GET /product/list + */ + function getList($mode=0, $to_sell='', $to_buy='', $sortfield = "p.ref", $sortorder = 'ASC', $limit = 0, $page = 0) { + global $db, $conf; + + $obj_ret = array(); + + $socid = DolibarrApiAccess::$user->societe_id ? DolibarrApiAccess::$user->societe_id : ''; + + $sql ="SELECT rowid, ref, ref_ext"; + $sql.= " FROM ".MAIN_DB_PREFIX."product as p"; + $sql.= ' WHERE p.entity IN ('.getEntity('product', 1).')'; + + // Show products + if ($mode == 1) $sql.= " AND p.fk_product_type = 0"; + // Show services + if ($mode == 2) $sql.= " AND p.fk_product_type = 1"; + // Show product on sell + if ($to_sell) $sql.= " AND p.to_sell = ".$db->escape($to_sell); + // Show product on buy + if ($to_buy) $sql.= " AND p.to_nuy = ".$db->escape($to_nuy); + + $nbtotalofrecords = 0; + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) + { + $result = $db->query($sql); + $nbtotalofrecords = $db->num_rows($result); + } + + $sql.= $db->order($sortfield, $sortorder); + if ($limit) { + if ($page < 0) + { + $page = 0; + } + $offset = $limit * $page; + + $sql.= $db->plimit($limit + 1, $offset); + } + + $result = $db->query($sql); + if ($result) + { + $num = $db->num_rows($result); + while ($i < $num) + { + $obj = $db->fetch_object($result); + $product_static = new Product($db); + if($product_static->fetch($obj->rowid)) { + $obj_ret[] = parent::_cleanObjectDatas($product_static); + } + $i++; + } + } + else { + throw new RestException(503, 'Error when retrieve product list'); + } + if( ! count($obj_ret)) { + throw new RestException(404, 'No product found'); + } + return $obj_ret; + } + + + /** + * List products in a category Warning: Deprecated + * + * Get a list of products + * + * @param int $mode Use this param to filter list (0 for all, 1 for only product, 2 for only service) + * @param int $category Use this param to filter list by category + * @param mixed $to_sell Filter products to sell (1) or not to sell (0) + * @param mixed $to_buy Filter products to nuy (1) or not to buy (0) + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * + * @return array Array of product objects + * + * @url GET /product/list/category/{category} + */ + function getByCategory($mode=0, $category=0, $to_sell='', $to_buy='', $sortfield = "p.ref", $sortorder = 'ASC', $limit = 0, $page = 0) { + global $db, $conf; + + $obj_ret = array(); + + $socid = DolibarrApiAccess::$user->societe_id ? DolibarrApiAccess::$user->societe_id : ''; + + $sql = "SELECT rowid, ref, ref_ext"; + $sql.= " FROM ".MAIN_DB_PREFIX."product as p, "; + $sql.= MAIN_DB_PREFIX."categorie_product as c"; + $sql.= ' WHERE p.entity IN ('.getEntity('product', 1).')'; + + // Select products of given category + $sql.= " AND c.fk_categorie = ".$db->escape($category); + $sql.= " AND c.fk_product = p.rowid "; + + // Show products + if ($mode == 1) $sql.= " AND p.fk_product_type = 0"; + // Show services + if ($mode == 2) $sql.= " AND p.fk_product_type = 1"; + // Show product on sell + if ($to_sell) $sql.= " AND p.to_sell = ".$db->escape($to_sell); + // Show product on buy + if ($to_buy) $sql.= " AND p.to_nuy = ".$db->escape($to_nuy); + + $nbtotalofrecords = 0; + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) + { + $result = $db->query($sql); + $nbtotalofrecords = $db->num_rows($result); + } + + $sql.= $db->order($sortfield, $sortorder); + if ($limit) { + if ($page < 0) + { + $page = 0; + } + $offset = $limit * $page; + + $sql.= $db->plimit($limit + 1, $offset); + } + + $result = $db->query($sql); + if ($result) + { + $num = $db->num_rows($result); + while ($i < $num) + { + $obj = $db->fetch_object($result); + $product_static = new Product($db); + if($product_static->fetch($obj->rowid)) { + $obj_ret[] = parent::_cleanObjectDatas($product_static); + } + $i++; + } + } + else { + throw new RestException(503, 'Error when retrieve product list'); + } + if( ! count($obj_ret)) { + throw new RestException(404, 'No product found'); + } + return $obj_ret; + } + + /** + * Create product object Warning: Deprecated + * + * @param array $request_data Request data + * @return int ID of product + * + * @url POST product/ + */ + function post($request_data = NULL) + { + if(! DolibarrApiAccess::$user->rights->produit->creer) { + throw new RestException(401); + } + // Check mandatory fields + $result = $this->_validate($request_data); + + foreach($request_data as $field => $value) { + $this->product->$field = $value; + } + $result = $this->product->create(DolibarrApiAccess::$user); + if($result < 0) { + throw new RestException(503,'Error when creating product : '.$this->product->error); + } + + return $this->product->id; + + } + + /** + * Update product Warning: Deprecated + * + * @param int $id Id of product to update + * @param array $request_data Datas + * @return int + * + * @url PUT product/{id} + */ + function put($id, $request_data = NULL) + { + if(! DolibarrApiAccess::$user->rights->produit->creer) { + throw new RestException(401); + } + + $result = $this->product->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Product not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('product',$this->product->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + foreach($request_data as $field => $value) { + $this->product->$field = $value; + } + + if($this->product->update($id, DolibarrApiAccess::$user,1,'','','update')) + return $this->get ($id); + + return false; + } + + /** + * Delete product Warning: Deprecated + * + * @param int $id Product ID + * @return array + * + * @url DELETE product/{id} + */ + function delete($id) + { + if(! DolibarrApiAccess::$user->rights->product->supprimer) { + throw new RestException(401); + } + $result = $this->product->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Product not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('product',$this->product->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + return $this->product->delete($id); + } + + /** + * Validate fields before create or update object + * + * @param array $data Datas to validate + * @return array + * @throws RestException + */ + function _validate($data) + { + $product = array(); + foreach (ProductApi::$FIELDS as $field) { + if (!isset($data[$field])) + throw new RestException(400, "$field field missing"); + $product[$field] = $data[$field]; + } + return $product; + } +} diff --git a/htdocs/societe/class/api_deprecated_contact.class.php b/htdocs/societe/class/api_deprecated_contact.class.php new file mode 100644 index 00000000000..c4b0c672e19 --- /dev/null +++ b/htdocs/societe/class/api_deprecated_contact.class.php @@ -0,0 +1,293 @@ + + * + * 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 . + */ + +use Luracast\Restler\RestException; + +//require_once DOL_DOCUMENT_ROOT . '/contact/class/contact.class.php'; + +/** + * API class for contact object + * + * @smart-auto-routing false + * @access protected + * @class DolibarrApiAccess {@requires user,external} + * @deprecated + */ +class ContactApi extends DolibarrApi +{ + /** + * + * @var array $FIELDS Mandatory fields, checked when create and update object + */ + static $FIELDS = array( + 'lastname' + ); + + /** + * @var Contact $contact {@type Contact} + */ + public $contact; + + /** + * Constructor Warning: Deprecated + * + * @url contact/ + * + */ + function __construct() { + global $db, $conf; + $this->db = $db; + $this->contact = new Contact($this->db); + } + + /** + * Get properties of a contact object Warning: Deprecated + * + * Return an array with contact informations + * + * @param int $id ID of contact + * @return array|mixed data without useless information + * + * @url GET contact/{id} + * @throws RestException + */ + function get($id) { + if (!DolibarrApiAccess::$user->rights->societe->contact->lire) + { + throw new RestException(401); + } + + $result = $this->contact->fetch($id); + if (!$result) + { + throw new RestException(404, 'Contact not found'); + } + + if (!DolibarrApi::_checkAccessToResource('contact', $this->contact->id, 'socpeople&societe')) + { + throw new RestException(401, 'Access not allowed for login ' . DolibarrApiAccess::$user->login); + } + + return $this->_cleanObjectDatas($this->contact); + } + + /** + * List contacts Warning: Deprecated + * + * Get a list of contacts + * + * @param int $socid ID of thirdparty to filter list + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * @return array Array of contact objects + * + * @url GET /contact/list + * @url GET /contact/list/{socid} + * @url GET /thirdparty/{socid}/contacts + * @url GET /customer/{socid}/contacts + * + * @throws RestException + */ + function getList($socid = 0, $sortfield = "c.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { + global $db, $conf; + + $obj_ret = array(); + + if (!$socid) + { + $socid = DolibarrApiAccess::$user->societe_id ? DolibarrApiAccess::$user->societe_id : ''; + } + + // If the internal user must only see his customers, force searching by him + if (!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) + $search_sale = DolibarrApiAccess::$user->id; + + $sql = "SELECT c.rowid"; + $sql.= " FROM " . MAIN_DB_PREFIX . "socpeople as c"; + if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) { + // We need this table joined to the select in order to filter by sale + $sql.= ", " . MAIN_DB_PREFIX . "societe_commerciaux as sc"; + } + $sql.= " LEFT JOIN " . MAIN_DB_PREFIX . "societe as s ON c.fk_soc = s.rowid"; + $sql.= ' WHERE c.entity IN (' . getEntity('contact', 1) . ')'; + if ($socid) + $sql.= " AND c.fk_soc = " . $socid; + + if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) + $sql.= " AND c.fk_soc = sc.fk_soc"; + if ($search_sale > 0) + $sql.= " AND s.rowid = sc.fk_soc"; // Join for the needed table to filter by sale + + + + // Insert sale filter + if ($search_sale > 0) + { + $sql .= " AND sc.fk_user = " . $search_sale; + } + + $nbtotalofrecords = 0; + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) + { + $result = $db->query($sql); + $nbtotalofrecords = $db->num_rows($result); + } + + $sql.= $db->order($sortfield, $sortorder); + + if ($limit) + { + if ($page < 0) + { + $page = 0; + } + $offset = $limit * $page; + + $sql.= $db->plimit($limit + 1, $offset); + } + $result = $db->query($sql); + if ($result) + { + $num = $db->num_rows($result); + while ($i < $num) + { + $obj = $db->fetch_object($result); + $contact_static = new Contact($db); + if ($contact_static->fetch($obj->rowid)) + { + $obj_ret[] = parent::_cleanObjectDatas($contact_static); + } + $i++; + } + } + else { + throw new RestException(503, 'Error when retreive contacts : ' . $sql); + } + if (!count($obj_ret)) + { + throw new RestException(404, 'Contacts not found'); + } + return $obj_ret; + } + + /** + * Create contact object Warning: Deprecated + * + * @param array $request_data Request datas + * @return int ID of contact + * + * @url POST contact/ + */ + function post($request_data = NULL) { + if (!DolibarrApiAccess::$user->rights->societe->contact->creer) + { + throw new RestException(401); + } + // Check mandatory fields + $result = $this->_validate($request_data); + + foreach ($request_data as $field => $value) + { + $this->contact->$field = $value; + } + return $this->contact->create(DolibarrApiAccess::$user); + } + + /** + * Update contact Warning: Deprecated + * + * @param int $id Id of contact to update + * @param array $request_data Datas + * @return int + * + * @url PUT contact/{id} + */ + function put($id, $request_data = NULL) { + if (!DolibarrApiAccess::$user->rights->societe->contact->creer) + { + throw new RestException(401); + } + + $result = $this->contact->fetch($id); + if (!$result) + { + throw new RestException(404, 'Contact not found'); + } + + if (!DolibarrApi::_checkAccessToResource('contact', $this->contact->id, 'socpeople&societe')) + { + throw new RestException(401, 'Access not allowed for login ' . DolibarrApiAccess::$user->login); + } + + foreach ($request_data as $field => $value) + { + $this->contact->$field = $value; + } + + if ($this->contact->update($id, DolibarrApiAccess::$user, 1, '', '', 'update')) + return $this->get($id); + + return false; + } + + /** + * Delete contact Warning: Deprecated + * + * @param int $id Contact ID + * @return integer + * + * @url DELETE contact/{id} + */ + function delete($id) { + if (!DolibarrApiAccess::$user->rights->contact->supprimer) + { + throw new RestException(401); + } + $result = $this->contact->fetch($id); + if (!$result) + { + throw new RestException(404, 'Contact not found'); + } + + if (!DolibarrApi::_checkAccessToResource('contact', $this->contact->id, 'socpeople&societe')) + { + throw new RestException(401, 'Access not allowed for login ' . DolibarrApiAccess::$user->login); + } + + return $this->contact->delete($id); + } + + /** + * Validate fields before create or update object + * + * @param array $data Data to validate + * @return array + * @throws RestException + */ + function _validate($data) { + $contact = array(); + foreach (ContactApi::$FIELDS as $field) + { + if (!isset($data[$field])) + throw new RestException(400, "$field field missing"); + $contact[$field] = $data[$field]; + } + return $contact; + } +} diff --git a/htdocs/societe/class/api_deprecated_thirdparty.class.php b/htdocs/societe/class/api_deprecated_thirdparty.class.php new file mode 100644 index 00000000000..5eb86405a5b --- /dev/null +++ b/htdocs/societe/class/api_deprecated_thirdparty.class.php @@ -0,0 +1,411 @@ + + * + * 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 . + */ + + use Luracast\Restler\RestException; + + +/** + * API class for thirdparty object + * + * @smart-auto-routing false + * @access protected + * @class DolibarrApiAccess {@requires user,external} + * @deprecated + */ +class ThirdpartyApi extends DolibarrApi +{ + /** + * + * @var array $FIELDS Mandatory fields, checked when create and update object + */ + static $FIELDS = array( + 'name' + ); + + /** + * @var Societe $company {@type Societe} + */ + public $company; + /** + * @var Customer $customer {@type Client} + */ + public $customer; + + /** + * Constructor Warning: Deprecated + * + * @url thirdparty/ + * + */ + function __construct() + { + global $db, $conf; + $this->db = $db; + $this->company = new Societe($this->db); + $this->customer = new Client($this->db); + + if (! empty($conf->global->SOCIETE_MAIL_REQUIRED)) { + static::$FIELDS[] = 'email'; + } + } + + /** + * Get properties of a customer object Warning: Deprecated + * + * Return an array with customer informations + * + * @param int $id ID of customer + * @return array|mixed data without useless information + * + * @url GET customer/{id} + * @throws RestException + */ + function getCustomer($id) + { + if(! DolibarrApiAccess::$user->rights->societe->lire) { + throw new RestException(401); + } + + $result = $this->customer->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Customer not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('societe',$this->customer->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + return $this->_cleanObjectDatas($this->customer); + } + + /** + * Search customer by email Warning: Deprecated + * + * @param string $email email id + * + * @return object client with given email + * + * @url GET customer/byemail/{email} + */ + function getByEmail($email) { + $res = $this->getList(1,$email); + if (count($res) == 1) { + $customer = $res[0]; + return $customer; + } + return $res; + } + + /** + * Get properties of a thirdparty object Warning: Deprecated + * + * Return an array with thirdparty informations + * + * @param int $id ID of thirdparty + * @return array|mixed data without useless information + * + * @url GET thirdparty/{id} + * @throws RestException + */ + function get($id) + { + if(! DolibarrApiAccess::$user->rights->societe->lire) { + throw new RestException(401); + } + + $result = $this->company->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Thirdparty not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('societe',$this->company->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + return $this->_cleanObjectDatas($this->company); + } + + /** + * List thirdparties Warning: Deprecated + * + * Get a list of thirdparties + * + * @param int $mode Set to 1 to show only customers + * Set to 2 to show only prospects + * Set to 3 to show only those are not customer neither prospect + * @param Text $email Search by email filter + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * @return array Array of thirdparty objects + * + * @url GET /thirdparty/list + * + */ + function getList($mode=0, $email=NULL, $sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { + global $db, $conf; + + $obj_ret = array(); + + $socid = DolibarrApiAccess::$user->societe_id ? DolibarrApiAccess::$user->societe_id : ''; + + // If the internal user must only see his customers, force searching by him + if (! DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) $search_sale = DolibarrApiAccess::$user->id; + + $sql = "SELECT s.rowid"; + if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql .= ", sc.fk_soc, sc.fk_user"; // We need these fields in order to filter by sale (including the case where the user can only see his prospects) + $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; + + if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; // We need this table joined to the select in order to filter by sale + $sql.= ", ".MAIN_DB_PREFIX."c_stcomm as st"; + $sql.= " WHERE s.fk_stcomm = st.id"; + if ($mode == 1) $sql.= " AND s.client IN (1, 3)"; + if ($mode == 2) $sql.= " AND s.client IN (2, 3)"; + if ($mode == 3) $sql.= " AND s.client IN (0)"; + $sql.= ' AND s.entity IN ('.getEntity('societe', 1).')'; + if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql.= " AND s.rowid = sc.fk_soc"; + if ($email != NULL) $sql.= " AND s.email = \"".$email."\""; + if ($socid) $sql.= " AND s.rowid = ".$socid; + if ($search_sale > 0) $sql.= " AND s.rowid = sc.fk_soc"; // Join for the needed table to filter by sale + + // Insert sale filter + if ($search_sale > 0) + { + $sql .= " AND sc.fk_user = ".$search_sale; + } + + $nbtotalofrecords = 0; + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) + { + $result = $db->query($sql); + $nbtotalofrecords = $db->num_rows($result); + } + + $sql.= $db->order($sortfield, $sortorder); + + if ($limit) { + if ($page < 0) + { + $page = 0; + } + $offset = $limit * $page; + + $sql.= $db->plimit($limit + 1, $offset); + } + + $result = $db->query($sql); + if ($result) + { + $num = $db->num_rows($result); + while ($i < $num) + { + $obj = $db->fetch_object($result); + $soc_static = new Societe($db); + if($soc_static->fetch($obj->rowid)) { + $obj_ret[] = parent::_cleanObjectDatas($soc_static); + } + $i++; + } + } + else { + throw new RestException(503, 'Error when retrieve thirdparties : ' . $sql); + } + if( ! count($obj_ret)) { + throw new RestException(404, 'Thirdparties not found'); + } + return $obj_ret; + } + + /** + * Show customers Warning: Deprecated + * + * @return array List of customers + * + * @url GET /thirdparty/list/customers + * @url GET /customer/list + */ + function getListCustomers() { + return $this->getList(1); + } + + /** + * Show prospects Warning: Deprecated + * + * @return array List of prospects + * + * @url GET /thirdparty/list/prospects + */ + function getListProspects() { + return $this->getList(2); + } + + /** + * Show other Warning: Deprecated + * + * @return array List of thirpdparties who are not customer neither prospect + * + * @url GET /thirdparty/list/others + */ + function getListOthers() { + return $this->getList(3); + } + + /** + * Create thirdparty object Warning: Deprecated + * + * @param array $request_data Request datas + * @return int ID of thirdparty + * + * @url POST thirdparty/ + */ + function post($request_data = NULL) + { + if(! DolibarrApiAccess::$user->rights->societe->creer) { + throw new RestException(401); + } + // Check mandatory fields + $result = $this->_validate($request_data); + + foreach($request_data as $field => $value) { + $this->company->$field = $value; + } + return $this->company->create(DolibarrApiAccess::$user); + } + + + /** + * Create customer object Warning: Deprecated + * + * @param array $request_data Request datas + * @return int ID of thirdparty + * + * @url POST customer/ + */ + function postCustomer($request_data) { + $this->post($request_data); + $this->company->set_as_client(); + return $this->company->id; + } + + /** + * Update thirdparty Warning: Deprecated + * + * @param int $id Id of thirdparty to update + * @param array $request_data Datas + * @return int + * + * @url PUT thirdparty/{id} + */ + function put($id, $request_data = NULL) + { + if(! DolibarrApiAccess::$user->rights->societe->creer) { + throw new RestException(401); + } + + $result = $this->company->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Thirdparty not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('societe',$this->company->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + foreach($request_data as $field => $value) { + $this->company->$field = $value; + } + + if($this->company->update($id, DolibarrApiAccess::$user,1,'','','update')) + return $this->get ($id); + + return false; + } + /** + * Update customer Warning: Deprecated + * + * @param int $id Id of thirdparty to update + * @param array $request_data Datas + * @return int + * + * @url PUT customer/{id} + */ + function putClient($id, $request_data = NULL) { + if(! DolibarrApiAccess::$user->rights->societe->creer) { + throw new RestException(401); + } + $result = $this->customer->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Customer not found'); + } + if( ! DolibarrApi::_checkAccessToResource('societe',$this->customer->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + foreach($request_data as $field => $value) { + $this->customer->$field = $value; + } + + if($this->customer->update($id, DolibarrApiAccess::$user,1,'','','update')) + return $this->get ($id); + + return false; + } + + /** + * Delete thirdparty Warning: Deprecated + * + * @param int $id Thirparty ID + * @return integer + * + * @url DELETE thirdparty/{id} + * @url DELETE customer/{id} + */ + function delete($id) + { + if(! DolibarrApiAccess::$user->rights->societe->supprimer) { + throw new RestException(401); + } + $result = $this->company->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Thirdparty not found'); + } + if( ! DolibarrApi::_checkAccessToResource('societe',$this->company->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + return $this->company->delete($id); + } + + /** + * Validate fields before create or update object + * + * @param array $data Datas to validate + * @return array + * + * @throws RestException + */ + function _validate($data) + { + $thirdparty = array(); + foreach (ThirdpartyApi::$FIELDS as $field) { + if (!isset($data[$field])) + throw new RestException(400, "$field field missing"); + $thirdparty[$field] = $data[$field]; + } + return $thirdparty; + } +} diff --git a/htdocs/user/class/api_deprecated_user.class.php b/htdocs/user/class/api_deprecated_user.class.php new file mode 100644 index 00000000000..5c5e7abaca6 --- /dev/null +++ b/htdocs/user/class/api_deprecated_user.class.php @@ -0,0 +1,273 @@ + + * + * 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 . + */ + +use Luracast\Restler\RestException; + +//require_once DOL_DOCUMENT_ROOT . '/contact/class/contact.class.php'; + +/** + * API class for user object + * + * @smart-auto-routing false + * @access protected + * @class DolibarrApiAccess {@requires user,external} + * @deprecated + */ +class UserApi extends DolibarrApi +{ + /** + * + * @var array $FIELDS Mandatory fields, checked when create and update object + */ + static $FIELDS = array( + 'login' + ); + + /** + * @var User $user {@type User} + */ + public $useraccount; + + /** + * Constructor Warning: Deprecated + * + * @url user/ + * + */ + function __construct() { + global $db, $conf; + $this->db = $db; + $this->useraccount = new User($this->db); + } + + /** + * Get properties of an user object Warning: Deprecated + * + * Return an array with user informations + * + * @param int $id ID of user + * @return array|mixed data without useless information + * + * @url GET user/{id} + * @throws RestException + */ + function get($id) { + //if (!DolibarrApiAccess::$user->rights->user->user->lire) { + //throw new RestException(401); + //} + + $result = $this->useraccount->fetch($id); + if (!$result) + { + throw new RestException(404, 'User not found'); + } + + if (!DolibarrApi::_checkAccessToResource('user', $this->useraccount->id, 'user')) + { + throw new RestException(401, 'Access not allowed for login ' . DolibarrApiAccess::$user->login); + } + + return $this->_cleanObjectDatas($this->useraccount); + } + + /** + * Create useraccount object from contact Warning: Deprecated + * + * @param int $contactid Id of contact + * @param array $request_data Request datas + * @return int ID of user + * + * @url POST /contact/{contactid}/createUser + */ + function createFromContact($contactid, $request_data = NULL) { + //if (!DolibarrApiAccess::$user->rights->user->user->creer) { + //throw new RestException(401); + //} + + if (!isset($request_data["login"])) + throw new RestException(400, "login field missing"); + if (!isset($request_data["password"])) + throw new RestException(400, "password field missing"); + if (!DolibarrApiAccess::$user->rights->societe->contact->lire) { + throw new RestException(401); + } + $contact = new Contact($this->db); + $contact->fetch($contactid); + if ($contact->id <= 0) { + throw new RestException(404, 'Contact not found'); + } + + if (!DolibarrApi::_checkAccessToResource('contact', $contact->id, 'socpeople&societe')) { + throw new RestException(401, 'Access not allowed for login ' . DolibarrApiAccess::$user->login); + } + // Check mandatory fields + $login = $request_data["login"]; + $password = $request_data["password"]; + $result = $this->useraccount->create_from_contact($contact,$login,$password); + if ($result <= 0) { + throw new RestException(500, "User not created"); + } + // password parameter not used in create_from_contact + $this->useraccount->setPassword($this->useraccount,$password); + + return $result; + } + + + /** + * Create user account Warning: Deprecated + * + * @param array $request_data New user data + * @return int + * + * @url POST user/ + */ + function post($request_data = NULL) { + // check user authorization + //if(! DolibarrApiAccess::$user->rights->user->creer) { + // throw new RestException(401, "User creation not allowed"); + //} + // check mandatory fields + /*if (!isset($request_data["login"])) + throw new RestException(400, "login field missing"); + if (!isset($request_data["password"])) + throw new RestException(400, "password field missing"); + if (!isset($request_data["lastname"])) + throw new RestException(400, "lastname field missing");*/ + //assign field values + $xxx=var_export($request_data, true); + dol_syslog("xxx=".$xxx); + foreach ($request_data as $field => $value) + { + $this->useraccount->$field = $value; + } + + $result = $this->useraccount->create(DolibarrApiAccess::$user); + if ($result <=0) { + throw new RestException(500, "User not created : ".$this->useraccount->error); + } + return array('id'=>$result); + } + + + /** + * Update account Warning: Deprecated + * + * @param int $id Id of account to update + * @param array $request_data Datas + * @return int + * + * @url PUT user/{id} + */ + function put($id, $request_data = NULL) { + //if (!DolibarrApiAccess::$user->rights->user->user->creer) { + //throw new RestException(401); + //} + + $result = $this->useraccount->fetch($id); + if (!$result) + { + throw new RestException(404, 'Account not found'); + } + + if (!DolibarrApi::_checkAccessToResource('user', $this->useraccount->id, 'user')) + { + throw new RestException(401, 'Access not allowed for login ' . DolibarrApiAccess::$user->login); + } + + foreach ($request_data as $field => $value) + { + $this->useraccount->$field = $value; + } + + if ($this->useraccount->update($id, DolibarrApiAccess::$user, 1, '', '', 'update')) + return $this->get($id); + + return false; + } + + /** + * add user to group Warning: Deprecated + * + * @param int $id User ID + * @param int $group Group ID + * @return int + * + * @url GET user/{id}/setGroup/{group} + */ + function setGroup($id,$group) { + //if (!DolibarrApiAccess::$user->rights->user->user->supprimer) { + //throw new RestException(401); + //} + $result = $this->useraccount->fetch($id); + if (!$result) + { + throw new RestException(404, 'User not found'); + } + + if (!DolibarrApi::_checkAccessToResource('user', $this->useraccount->id, 'user')) + { + throw new RestException(401, 'Access not allowed for login ' . DolibarrApiAccess::$user->login); + } + + return $this->useraccount->SetInGroup($group,1); + } + + /** + * Delete account Warning: Deprecated + * + * @param int $id Account ID + * @return array + * + * @url DELETE user/{id} + */ + function delete($id) { + //if (!DolibarrApiAccess::$user->rights->user->user->supprimer) { + //throw new RestException(401); + //} + $result = $this->useraccount->fetch($id); + if (!$result) + { + throw new RestException(404, 'User not found'); + } + + if (!DolibarrApi::_checkAccessToResource('user', $this->useraccount->id, 'user')) + { + throw new RestException(401, 'Access not allowed for login ' . DolibarrApiAccess::$user->login); + } + + return $this->useraccount->delete($id); + } + + /** + * Validate fields before create or update object + * + * @param array $data Data to validate + * @return array + * @throws RestException + */ + function _validate($data) { + $account = array(); + foreach (UserApi::$FIELDS as $field) + { + if (!isset($data[$field])) + throw new RestException(400, "$field field missing"); + $account[$field] = $data[$field]; + } + return $account; + } +} From e12e1980fc0fee26b231600e73e349d478040074 Mon Sep 17 00:00:00 2001 From: Xebax Date: Wed, 22 Jun 2016 10:43:35 +0200 Subject: [PATCH 024/476] REST API: Add comments in the @deprecated tags. --- htdocs/categories/class/api_deprecated_category.class.php | 2 +- htdocs/commande/class/api_deprecated_commande.class.php | 2 +- htdocs/compta/facture/class/api_deprecated_invoice.class.php | 2 +- htdocs/product/class/api_deprecated_product.class.php | 2 +- htdocs/societe/class/api_deprecated_contact.class.php | 2 +- htdocs/societe/class/api_deprecated_thirdparty.class.php | 2 +- htdocs/user/class/api_deprecated_user.class.php | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/htdocs/categories/class/api_deprecated_category.class.php b/htdocs/categories/class/api_deprecated_category.class.php index c6a52f72035..656c769bed3 100644 --- a/htdocs/categories/class/api_deprecated_category.class.php +++ b/htdocs/categories/class/api_deprecated_category.class.php @@ -27,7 +27,7 @@ * @access protected * @class DolibarrApiAccess {@requires user,external} * - * @deprecated + * @deprecated Use Categories instead (defined in api_categories.class.php) */ class CategoryApi extends DolibarrApi { diff --git a/htdocs/commande/class/api_deprecated_commande.class.php b/htdocs/commande/class/api_deprecated_commande.class.php index 557682b8cf7..2a8caf5321e 100644 --- a/htdocs/commande/class/api_deprecated_commande.class.php +++ b/htdocs/commande/class/api_deprecated_commande.class.php @@ -29,7 +29,7 @@ * @category Api * @package Api * - * @deprecated + * @deprecated Use Orders instead (defined in api_orders.class.php) */ class CommandeApi extends DolibarrApi { diff --git a/htdocs/compta/facture/class/api_deprecated_invoice.class.php b/htdocs/compta/facture/class/api_deprecated_invoice.class.php index 2ba4873fe8f..99fe0d7fe52 100644 --- a/htdocs/compta/facture/class/api_deprecated_invoice.class.php +++ b/htdocs/compta/facture/class/api_deprecated_invoice.class.php @@ -25,7 +25,7 @@ * @smart-auto-routing false * @access protected * @class DolibarrApiAccess {@requires user,external} - * @deprecated + * @deprecated Use Invoices instead (defined in api_invoices.class.php) */ class InvoiceApi extends DolibarrApi { diff --git a/htdocs/product/class/api_deprecated_product.class.php b/htdocs/product/class/api_deprecated_product.class.php index 784539230e5..4efa2ef5502 100644 --- a/htdocs/product/class/api_deprecated_product.class.php +++ b/htdocs/product/class/api_deprecated_product.class.php @@ -26,7 +26,7 @@ * @smart-auto-routing false * @access protected * @class DolibarrApiAccess {@requires user,external} - * @deprecated + * @deprecated Use Products instead (defined in api_products.class.php) */ class ProductApi extends DolibarrApi { diff --git a/htdocs/societe/class/api_deprecated_contact.class.php b/htdocs/societe/class/api_deprecated_contact.class.php index c4b0c672e19..9509e276f32 100644 --- a/htdocs/societe/class/api_deprecated_contact.class.php +++ b/htdocs/societe/class/api_deprecated_contact.class.php @@ -25,7 +25,7 @@ use Luracast\Restler\RestException; * @smart-auto-routing false * @access protected * @class DolibarrApiAccess {@requires user,external} - * @deprecated + * @deprecated Use Contacts instead (defined in api_contacts.class.php) */ class ContactApi extends DolibarrApi { diff --git a/htdocs/societe/class/api_deprecated_thirdparty.class.php b/htdocs/societe/class/api_deprecated_thirdparty.class.php index 5eb86405a5b..db270142972 100644 --- a/htdocs/societe/class/api_deprecated_thirdparty.class.php +++ b/htdocs/societe/class/api_deprecated_thirdparty.class.php @@ -24,7 +24,7 @@ * @smart-auto-routing false * @access protected * @class DolibarrApiAccess {@requires user,external} - * @deprecated + * @deprecated Use Thirdparties instead (defined in api_thirdparties.class.php) */ class ThirdpartyApi extends DolibarrApi { diff --git a/htdocs/user/class/api_deprecated_user.class.php b/htdocs/user/class/api_deprecated_user.class.php index 5c5e7abaca6..c9fcb2b0dd7 100644 --- a/htdocs/user/class/api_deprecated_user.class.php +++ b/htdocs/user/class/api_deprecated_user.class.php @@ -25,7 +25,7 @@ use Luracast\Restler\RestException; * @smart-auto-routing false * @access protected * @class DolibarrApiAccess {@requires user,external} - * @deprecated + * @deprecated Use Users instead (defined in api_users.class.php) */ class UserApi extends DolibarrApi { From d431e73ec88171545a2ca754175b98532d75e147 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Thu, 30 Jun 2016 15:49:57 +0200 Subject: [PATCH 025/476] Fix #5353 --- htdocs/compta/bank/class/account.class.php | 34 ++- htdocs/core/lib/pdf.lib.php | 74 +++--- .../class/companybankaccount.class.php | 2 +- htdocs/societe/class/societe.class.php | 24 +- htdocs/societe/rib.php | 226 +++++++++++------- htdocs/societe/soc.php | 48 ++-- 6 files changed, 233 insertions(+), 175 deletions(-) diff --git a/htdocs/compta/bank/class/account.class.php b/htdocs/compta/bank/class/account.class.php index f072a066ec0..d8f65c08302 100644 --- a/htdocs/compta/bank/class/account.class.php +++ b/htdocs/compta/bank/class/account.class.php @@ -258,6 +258,10 @@ class Account extends CommonObject $string .= $this->code_guichet.' '; } elseif ($val == 'BankAccountNumberKey') { $string .= $this->cle_rib.' '; + }elseif ($val == 'BIC') { + $string .= $this->bic.' '; + }elseif ($val == 'IBAN') { + $string .= $this->iban.' '; } } @@ -1151,9 +1155,9 @@ class Account extends CommonObject if ($user->societe_id) { return 0; } - + $nb=0; - + $sql = "SELECT COUNT(ba.rowid) as nb"; $sql.= " FROM ".MAIN_DB_PREFIX."bank_account as ba"; $sql.= " WHERE ba.rappro > 0 and ba.clos = 0"; @@ -1169,7 +1173,7 @@ class Account extends CommonObject return $nb; } - + /** * Return clicable name (with picto eventually) * @@ -1204,7 +1208,7 @@ class Account extends CommonObject $link = 'label.$linkend; return $result; @@ -1324,12 +1328,16 @@ class Account extends CommonObject if ($detailedBBAN == 0) { return array( - 'BankAccountNumber' + 'IBAN', + 'BIC', + 'BankAccountNumber' ); } elseif ($detailedBBAN == 2) { return array( - 'BankCode', - 'BankAccountNumber' + 'IBAN', + 'BIC', + 'BankCode', + 'BankAccountNumber' ); } @@ -1352,16 +1360,20 @@ class Account extends CommonObject global $conf; $fieldlists = array( - 'BankCode', - 'DeskCode', - 'BankAccountNumber', - 'BankAccountNumberKey' + 'IBAN', + 'BIC', + 'BankCode', + 'DeskCode', + 'BankAccountNumber', + 'BankAccountNumberKey' ); if (!empty($conf->global->BANK_SHOW_ORDER_OPTION)) { if (is_numeric($conf->global->BANK_SHOW_ORDER_OPTION)) { if ($conf->global->BANK_SHOW_ORDER_OPTION == '1') { $fieldlists = array( + 'IBAN', + 'BIC', 'BankCode', 'DeskCode', 'BankAccountNumberKey', diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index 45e9ff1df5d..d299d11798a 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -292,7 +292,7 @@ function pdf_getHeightForLogo($logo, $url = false) /** * Function to try to calculate height of a HTML Content - * + * * @param TCPDF $pdf PDF initialized object * @param string $htmlcontent HTML Contect * @see getStringHeight @@ -315,7 +315,7 @@ function pdfGetHeightForHtmlContent(&$pdf, $htmlcontent) if ($end_page == $start_page) { $height = $end_y - $start_y; } - else + else { for ($page=$start_page; $page <= $end_page; ++$page) { $pdf->setPage($page); @@ -331,7 +331,7 @@ function pdfGetHeightForHtmlContent(&$pdf, $htmlcontent) } } // restore previous object - $pdf = $pdf->rollbackTransaction(); + $pdf = $pdf->rollbackTransaction(); return $height; } @@ -404,9 +404,9 @@ function pdf_build_address($outputlangs,$sourcecompany,$targetcompany='',$target { $withCountry = 0; if (!empty($sourcecompany->country_code) && ($targetcompany->country_code != $sourcecompany->country_code)) $withCountry = 1; - + $stringaddress .= ($stringaddress ? "\n" : '' ).$outputlangs->convToOutputCharset(dol_format_address($sourcecompany, $withCountry, "\n", $outputlangs))."\n"; - + if (empty($conf->global->MAIN_PDF_DISABLESOURCEDETAILS)) { // Phone @@ -419,13 +419,13 @@ function pdf_build_address($outputlangs,$sourcecompany,$targetcompany='',$target if ($sourcecompany->url) $stringaddress .= ($stringaddress ? "\n" : '' ).$outputlangs->transnoentities("Web").": ".$outputlangs->convToOutputCharset($sourcecompany->url); } } - + if ($mode == 'target' || preg_match('/targetwithdetails/',$mode)) { if ($usecontact) { $stringaddress .= ($stringaddress ? "\n" : '' ).$outputlangs->convToOutputCharset($targetcontact->getFullName($outputlangs,1)); - + if (!empty($targetcontact->address)) { $stringaddress .= ($stringaddress ? "\n" : '' ).$outputlangs->convToOutputCharset(dol_format_address($targetcontact))."\n"; }else { @@ -438,7 +438,7 @@ function pdf_build_address($outputlangs,$sourcecompany,$targetcompany='',$target else if (empty($targetcontact->country_code) && !empty($targetcompany->country_code) && ($targetcompany->country_code != $sourcecompany->country_code)) { $stringaddress.=$outputlangs->convToOutputCharset($outputlangs->transnoentitiesnoconv("Country".$targetcompany->country_code))."\n"; } - + if (! empty($conf->global->MAIN_PDF_ADDALSOTARGETDETAILS) || preg_match('/targetwithdetails/',$mode)) { // Phone @@ -471,7 +471,7 @@ function pdf_build_address($outputlangs,$sourcecompany,$targetcompany='',$target $stringaddress .= ($stringaddress ? "\n" : '' ).$outputlangs->convToOutputCharset(dol_format_address($targetcompany))."\n"; // Country if (!empty($targetcompany->country_code) && $targetcompany->country_code != $sourcecompany->country_code) $stringaddress.=$outputlangs->convToOutputCharset($outputlangs->transnoentitiesnoconv("Country".$targetcompany->country_code))."\n"; - + if (! empty($conf->global->MAIN_PDF_ADDALSOTARGETDETAILS) || preg_match('/targetwithdetails/',$mode)) { // Phone @@ -499,13 +499,13 @@ function pdf_build_address($outputlangs,$sourcecompany,$targetcompany='',$target } } } - + // Intra VAT if (empty($conf->global->MAIN_TVAINTRA_NOT_IN_ADDRESS)) { if ($targetcompany->tva_intra) $stringaddress.="\n".$outputlangs->transnoentities("VATIntraShort").': '.$outputlangs->convToOutputCharset($targetcompany->tva_intra); } - + // Professionnal Ids if (! empty($conf->global->MAIN_PROFID1_IN_ADDRESS) && ! empty($targetcompany->idprof1)) { @@ -543,7 +543,7 @@ function pdf_build_address($outputlangs,$sourcecompany,$targetcompany='',$target if (preg_match('/\((.+)\)/',$tmp,$reg)) $tmp=$reg[1]; $stringaddress.="\n".$tmp.': '.$outputlangs->convToOutputCharset($targetcompany->idprof6); } - + // Public note if (! empty($conf->global->MAIN_PUBLIC_NOTE_IN_ADDRESS)) { @@ -558,7 +558,7 @@ function pdf_build_address($outputlangs,$sourcecompany,$targetcompany='',$target } } } - + return $stringaddress; } @@ -641,7 +641,7 @@ function pdf_bank(&$pdf,$outputlangs,$curx,$cury,$account,$onlynumber=0,$default global $mysoc, $conf; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formbank.class.php'; - + $diffsizetitle=(empty($conf->global->PDF_DIFFSIZE_TITLE)?3:$conf->global->PDF_DIFFSIZE_TITLE); $diffsizecontent=(empty($conf->global->PDF_DIFFSIZE_CONTENT)?4:$conf->global->PDF_DIFFSIZE_CONTENT); $pdf->SetXY($curx, $cury); @@ -683,7 +683,7 @@ function pdf_bank(&$pdf,$outputlangs,$curx,$cury,$account,$onlynumber=0,$default // number = account number // key = check control key used only when $usedetailedbban = 1 if (empty($onlynumber)) $pdf->line($curx+1, $cury+1, $curx+1, $cury+6); - + foreach ($account->getFieldsToShow() as $val) { @@ -706,8 +706,12 @@ function pdf_bank(&$pdf,$outputlangs,$curx,$cury,$account,$onlynumber=0,$default // Key $tmplength = 13; $content = $account->cle_rib; + }elseif ($val == 'IBAN' || $val == 'BIC') { + // Key + $tmplength = 0; + $content = ''; } else { - dol_print_error($this->db, 'Unexpected value for getFieldsToShow: '.$val); + dol_print_error($account->db, 'Unexpected value for getFieldsToShow: '.$val); break; } @@ -720,7 +724,7 @@ function pdf_bank(&$pdf,$outputlangs,$curx,$cury,$account,$onlynumber=0,$default $pdf->line($curx, $cury + 1, $curx, $cury + 7); } } - + $curx=$savcurx; $cury+=8; } @@ -1054,7 +1058,7 @@ function pdf_writeLinkedObjects(&$pdf,$object,$outputlangs,$posx,$posy,$w,$h,$al { $reftoshow .= ' / '.$linkedobject["date_value"]; } - + $posy+=3; $pdf->SetXY($posx,$posy); $pdf->SetFont('','', $default_font_size - 2); @@ -1095,7 +1099,7 @@ function pdf_writelinedesc(&$pdf,$object,$i,$outputlangs,$w,$h,$posx,$posy,$hide $parameters = array('pdf'=>$pdf,'i'=>$i,'outputlangs'=>$outputlangs,'w'=>$w,'h'=>$h,'posx'=>$posx,'posy'=>$posy,'hideref'=>$hideref,'hidedesc'=>$hidedesc,'issupplierline'=>$issupplierline,'special_code'=>$special_code); $action=''; $reshook=$hookmanager->executeHooks('pdf_writelinedesc',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks - + if (!empty($hookmanager->resPrint)) $result.=$hookmanager->resPrint; } if (empty($reshook)) @@ -1415,7 +1419,7 @@ function pdf_getlinevatrate($object,$i,$outputlangs,$hidedetails=0) $parameters = array('i'=>$i,'outputlangs'=>$outputlangs,'hidedetails'=>$hidedetails,'special_code'=>$special_code); $action=''; $reshook = $hookmanager->executeHooks('pdf_getlinevatrate',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks - + if (!empty($hookmanager->resPrint)) $result.=$hookmanager->resPrint; } if (empty($reshook)) @@ -1451,12 +1455,12 @@ function pdf_getlineupexcltax($object,$i,$outputlangs,$hidedetails=0) $parameters = array('i'=>$i,'outputlangs'=>$outputlangs,'hidedetails'=>$hidedetails,'special_code'=>$special_code); $action=''; $reshook = $hookmanager->executeHooks('pdf_getlineupexcltax',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks - + if (!empty($hookmanager->resPrint)) $result.=$hookmanager->resPrint; } if (empty($reshook)) { - if (empty($hidedetails) || $hidedetails > 1) + if (empty($hidedetails) || $hidedetails > 1) { $subprice = ($conf->multicurrency->enabled && $object->multicurrency_tx != 1 ? $object->lines[$i]->multicurrency_subprice : $object->lines[$i]->subprice); $result.=price($sign * $subprice, 0, $outputlangs); @@ -1488,7 +1492,7 @@ function pdf_getlineupwithtax($object,$i,$outputlangs,$hidedetails=0) $parameters = array('i'=>$i,'outputlangs'=>$outputlangs,'hidedetails'=>$hidedetails,'special_code'=>$special_code); $action=''; $reshook = $hookmanager->executeHooks('pdf_getlineupwithtax',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks - + if (!empty($hookmanager->resPrint)) $result.=$hookmanager->resPrint; } if (empty($reshook)) @@ -1521,7 +1525,7 @@ function pdf_getlineqty($object,$i,$outputlangs,$hidedetails=0) $parameters = array('i'=>$i,'outputlangs'=>$outputlangs,'hidedetails'=>$hidedetails,'special_code'=>$special_code); $action=''; $reshook = $hookmanager->executeHooks('pdf_getlineqty',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks - + if(!empty($hookmanager->resPrint)) $result=$hookmanager->resPrint; } if (empty($reshook)) @@ -1555,7 +1559,7 @@ function pdf_getlineqty_asked($object,$i,$outputlangs,$hidedetails=0) $parameters = array('i'=>$i,'outputlangs'=>$outputlangs,'hidedetails'=>$hidedetails,'special_code'=>$special_code); $action=''; $reshook = $hookmanager->executeHooks('pdf_getlineqty_asked',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks - + if (!empty($hookmanager->resPrint)) $result.=$hookmanager->resPrint; } if (empty($reshook)) @@ -1589,7 +1593,7 @@ function pdf_getlineqty_shipped($object,$i,$outputlangs,$hidedetails=0) $parameters = array('i'=>$i,'outputlangs'=>$outputlangs,'hidedetails'=>$hidedetails,'special_code'=>$special_code); $action=''; $reshook = $hookmanager->executeHooks('pdf_getlineqty_shipped',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks - + if(!empty($hookmanager->resPrint)) $result.=$hookmanager->resPrint; } if (empty($reshook)) @@ -1623,7 +1627,7 @@ function pdf_getlineqty_keeptoship($object,$i,$outputlangs,$hidedetails=0) $parameters = array('i'=>$i,'outputlangs'=>$outputlangs,'hidedetails'=>$hidedetails,'special_code'=>$special_code); $action=''; $reshook = $hookmanager->executeHooks('pdf_getlineqty_keeptoship',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks - + if(!empty($hookmanager->resPrint)) $result.=$hookmanager->resPrint; } if (empty($reshook)) @@ -1647,7 +1651,7 @@ function pdf_getlineqty_keeptoship($object,$i,$outputlangs,$hidedetails=0) function pdf_getlineunit($object, $i, $outputlangs, $hidedetails = 0, $hookmanager = false) { global $langs; - + $reshook=0; $result=''; //if (is_object($hookmanager) && ( (isset($object->lines[$i]->product_type) && $object->lines[$i]->product_type == 9 && ! empty($object->lines[$i]->special_code)) || ! empty($object->lines[$i]->fk_parent_line) ) ) @@ -1665,7 +1669,7 @@ function pdf_getlineunit($object, $i, $outputlangs, $hidedetails = 0, $hookmanag ); $action = ''; $reshook = $hookmanager->executeHooks('pdf_getlineunit', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks - + if(!empty($hookmanager->resPrint)) $result.=$hookmanager->resPrint; } if (empty($reshook)) @@ -1702,7 +1706,7 @@ function pdf_getlineremisepercent($object,$i,$outputlangs,$hidedetails=0) $parameters = array('i'=>$i,'outputlangs'=>$outputlangs,'hidedetails'=>$hidedetails,'special_code'=>$special_code); $action=''; $reshook = $hookmanager->executeHooks('pdf_getlineremisepercent',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks - + if(!empty($hookmanager->resPrint)) $result.=$hookmanager->resPrint; } if (empty($reshook)) @@ -1735,7 +1739,7 @@ function pdf_getlineprogress($object, $i, $outputlangs, $hidedetails = 0, $hookm $parameters = array('i' => $i, 'outputlangs' => $outputlangs, 'hidedetails' => $hidedetails, 'special_code' => $special_code); $action = ''; $reshook = $hookmanager->executeHooks('pdf_getlineprogress', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks - + if(!empty($hookmanager->resPrint)) return $hookmanager->resPrint; } if (empty($reshook)) @@ -1772,7 +1776,7 @@ function pdf_getlinetotalexcltax($object,$i,$outputlangs,$hidedetails=0) $parameters = array('i'=>$i,'outputlangs'=>$outputlangs,'hidedetails'=>$hidedetails,'special_code'=>$special_code, 'sign'=>$sign); $action=''; $reshook = $hookmanager->executeHooks('pdf_getlinetotalexcltax',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks - + if(!empty($hookmanager->resPrint)) $result.=$hookmanager->resPrint; } if (empty($reshook)) @@ -1813,7 +1817,7 @@ function pdf_getlinetotalwithtax($object,$i,$outputlangs,$hidedetails=0) $parameters = array('i'=>$i,'outputlangs'=>$outputlangs,'hidedetails'=>$hidedetails,'special_code'=>$special_code); $action=''; $reshook = $hookmanager->executeHooks('pdf_getlinetotalwithtax',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks - + if(!empty($hookmanager->resPrint)) $result.=$hookmanager->resPrint; } if (empty($reshook)) @@ -1889,7 +1893,7 @@ function pdf_getLinkedObjects($object,$outputlangs) $linkedobjects=array(); $object->fetchObjectLinked(); - + foreach($object->linkedObjects as $objecttype => $objects) { if ($objecttype == 'facture') @@ -1949,7 +1953,7 @@ function pdf_getLinkedObjects($object,$outputlangs) if (! empty($linkedobjects[$objecttype]['ref_value'])) $linkedobjects[$objecttype]['ref_value'].=' / '; $linkedobjects[$objecttype]['ref_value'].= $outputlangs->transnoentities($elementobject->ref); //$linkedobjects[$objecttype]['date_title'] = $outputlangs->transnoentities("DateShipment"); - //if (! empty($linkedobjects[$objecttype]['date_value'])) $linkedobjects[$objecttype]['date_value'].=' / '; + //if (! empty($linkedobjects[$objecttype]['date_value'])) $linkedobjects[$objecttype]['date_value'].=' / '; //$linkedobjects[$objecttype]['date_value'].= dol_print_date($elementobject->date_delivery,'day','',$outputlangs); } else diff --git a/htdocs/societe/class/companybankaccount.class.php b/htdocs/societe/class/companybankaccount.class.php index 9fa62dea587..61629e63838 100644 --- a/htdocs/societe/class/companybankaccount.class.php +++ b/htdocs/societe/class/companybankaccount.class.php @@ -233,7 +233,7 @@ class CompanyBankAccount extends Account { $rib = ''; - if ($this->code_banque || $this->code_guichet || $this->number || $this->cle_rib) { + if ($this->code_banque || $this->code_guichet || $this->number || $this->cle_rib || $this->iban || $this->bic ) { if ($this->label && $displayriblabel) { $rib = $this->label." : "; diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index 69262715b31..4fca804638e 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -357,7 +357,7 @@ class Societe extends CommonObject // Multicurrency var $fk_multicurrency; var $multicurrency_code; - + /** * To contains a clone of this when we need to save old properties of object * @var Societe @@ -406,14 +406,14 @@ class Societe extends CommonObject if (empty($this->client)) $this->client=0; if (empty($this->fournisseur)) $this->fournisseur=0; $this->import_key = trim($this->import_key); - + if (!empty($this->multicurrency_code)) $this->fk_multicurrency = MultiCurrency::getIdFromCode($this->db, $this->multicurrency_code); if (empty($this->fk_multicurrency)) { $this->multicurrency_code = ''; $this->fk_multicurrency = 0; } - + dol_syslog(get_class($this)."::create ".$this->name); // Check parameters @@ -845,7 +845,7 @@ class Societe extends CommonObject $sql .= ",mode_reglement_supplier = ".(! empty($this->mode_reglement_supplier_id)?"'".$this->db->escape($this->mode_reglement_supplier_id)."'":"null"); $sql .= ",cond_reglement_supplier = ".(! empty($this->cond_reglement_supplier_id)?"'".$this->db->escape($this->cond_reglement_supplier_id)."'":"null"); $sql .= ",fk_shipping_method = ".(! empty($this->shipping_method_id)?"'".$this->db->escape($this->shipping_method_id)."'":"null"); - + $sql .= ",client = " . (! empty($this->client)?$this->client:0); $sql .= ",fournisseur = " . (! empty($this->fournisseur)?$this->fournisseur:0); $sql .= ",barcode = ".(! empty($this->barcode)?"'".$this->db->escape($this->barcode)."'":"null"); @@ -1055,7 +1055,7 @@ class Societe extends CommonObject else if ($idprof4) $sql .= " WHERE s.idprof4 = '".$this->db->escape($idprof4)."' AND s.entity IN (".getEntity($this->element, 1).")"; else if ($idprof5) $sql .= " WHERE s.idprof5 = '".$this->db->escape($idprof5)."' AND s.entity IN (".getEntity($this->element, 1).")"; else if ($idprof6) $sql .= " WHERE s.idprof6 = '".$this->db->escape($idprof6)."' AND s.entity IN (".getEntity($this->element, 1).")"; - + $resql=$this->db->query($sql); dol_syslog(get_class($this)."::fetch ".$sql); if ($resql) @@ -1900,10 +1900,10 @@ class Societe extends CommonObject $link.=(!empty($this->canvas)?'&canvas='.$this->canvas:'').'"'; if (empty($notooltip)) { - if (! empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) + if (! empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) { $label=$langs->trans("ShowCompany"); - $link.=' alt="'.dol_escape_htmltag($label, 1).'"'; + $link.=' alt="'.dol_escape_htmltag($label, 1).'"'; } $link.= ' title="'.dol_escape_htmltag($label, 1).'"'; $link.=' class="classfortooltip"'; @@ -2195,6 +2195,7 @@ class Societe extends CommonObject function display_rib($mode='label') { require_once DOL_DOCUMENT_ROOT . '/societe/class/companybankaccount.class.php'; + $bac = new CompanyBankAccount($this->db); $bac->fetch(0,$this->id); @@ -2206,6 +2207,7 @@ class Societe extends CommonObject { if (empty($bac->rum)) { + require_once DOL_DOCUMENT_ROOT . '/compta/prelevement/class/bonprelevement.class.php'; $prelevement = new BonPrelevement($this->db); $bac->fetch_thirdparty(); $bac->rum = $prelevement->buildRumNumber($bac->thirdparty->code_client, $bac->datec, $bac->id); @@ -3126,7 +3128,7 @@ class Societe extends CommonObject } else return false; } - + /** * Check if we must use revenue stamps feature or not according to country (country of $mysocin most cases). * @@ -3355,7 +3357,7 @@ class Societe extends CommonObject } - + /** * Create a document onto disk according to template module. * @@ -3390,8 +3392,8 @@ class Societe extends CommonObject return $result; } - - + + /** * Sets object to supplied categories. * diff --git a/htdocs/societe/rib.php b/htdocs/societe/rib.php index 0d8cdcc1264..d820058d83b 100644 --- a/htdocs/societe/rib.php +++ b/htdocs/societe/rib.php @@ -59,43 +59,70 @@ if ($action == 'update' && ! $_POST["cancel"]) // Modification $account = new CompanyBankAccount($db); + + if (! GETPOST('label')) + { + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Label")), null, 'errors'); + $action='update'; + $error++; + } + if (! GETPOST('bank')) + { + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("BankName")), null, 'errors'); + $action='update'; + $error++; + } + if (! GETPOST('iban')) + { + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("IBAN")), null, 'errors'); + $action='update'; + $error++; + } + if (! GETPOST('bic')) + { + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("BIC")), null, 'errors'); + $action='update'; + $error++; + } + $account->fetch($id); + if (! $error) + { + $account->socid = $object->id; - $account->socid = $object->id; + $account->bank = GETPOST('bank','alpha'); + $account->label = GETPOST('label','alpha'); + $account->courant = GETPOST('courant','alpha'); + $account->clos = GETPOST('clos','alpha'); + $account->code_banque = GETPOST('code_banque','alpha'); + $account->code_guichet = GETPOST('code_guichet','alpha'); + $account->number = GETPOST('number','alpha'); + $account->cle_rib = GETPOST('cle_rib','alpha'); + $account->bic = GETPOST('bic','alpha'); + $account->iban = GETPOST('iban','alpha'); + $account->domiciliation = GETPOST('domiciliation','alpha'); + $account->proprio = GETPOST('proprio','alpha'); + $account->owner_address = GETPOST('owner_address','alpha'); + $account->frstrecur = GETPOST('frstrecur','alpha'); - $account->bank = $_POST["bank"]; - $account->label = $_POST["label"]; - $account->courant = $_POST["courant"]; - $account->clos = $_POST["clos"]; - $account->code_banque = $_POST["code_banque"]; - $account->code_guichet = $_POST["code_guichet"]; - $account->number = $_POST["number"]; - $account->cle_rib = $_POST["cle_rib"]; - $account->bic = $_POST["bic"]; - $account->iban = $_POST["iban"]; - $account->domiciliation = $_POST["domiciliation"]; - $account->proprio = $_POST["proprio"]; - $account->owner_address = $_POST["owner_address"]; - $account->frstrecur = GETPOST('frstrecur'); - - $result = $account->update($user); - if (! $result) - { - setEventMessages($account->error, $account->errors, 'errors'); - $_GET["action"]='edit'; // Force chargement page edition - } - else - { - // If this account is the default bank account, we disable others - if ($account->default_rib) + $result = $account->update($user); + if (! $result) { - $account->setAsDefault($id); // This will make sure there is only one default rib + setEventMessages($account->error, $account->errors, 'errors'); } + else + { + // If this account is the default bank account, we disable others + if ($account->default_rib) + { + $account->setAsDefault($id); // This will make sure there is only one default rib + } - $url=DOL_URL_ROOT.'/societe/rib.php?socid='.$object->id; - header('Location: '.$url); - exit; - } + $url=DOL_URL_ROOT.'/societe/rib.php?socid='.$object->id; + header('Location: '.$url); + exit; + } + } } if ($action == 'add' && ! $_POST["cancel"]) @@ -114,6 +141,18 @@ if ($action == 'add' && ! $_POST["cancel"]) $action='create'; $error++; } + if (! GETPOST('iban')) + { + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("IBAN")), null, 'errors'); + $action='create'; + $error++; + } + if (! GETPOST('bic')) + { + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("BIC")), null, 'errors'); + $action='create'; + $error++; + } if (! $error) { @@ -122,19 +161,19 @@ if ($action == 'add' && ! $_POST["cancel"]) $account->socid = $object->id; - $account->bank = $_POST["bank"]; - $account->label = $_POST["label"]; - $account->courant = $_POST["courant"]; - $account->clos = $_POST["clos"]; - $account->code_banque = $_POST["code_banque"]; - $account->code_guichet = $_POST["code_guichet"]; - $account->number = $_POST["number"]; - $account->cle_rib = $_POST["cle_rib"]; - $account->bic = $_POST["bic"]; - $account->iban = $_POST["iban"]; - $account->domiciliation = $_POST["domiciliation"]; - $account->proprio = $_POST["proprio"]; - $account->owner_address = $_POST["owner_address"]; + $account->bank = GETPOST('bank','alpha'); + $account->label = GETPOST('label','alpha'); + $account->courant = GETPOST('courant','alpha'); + $account->clos = GETPOST('clos','alpha'); + $account->code_banque = GETPOST('code_banque','alpha'); + $account->code_guichet = GETPOST('code_guichet','alpha'); + $account->number = GETPOST('number','alpha'); + $account->cle_rib = GETPOST('cle_rib','alpha'); + $account->bic = GETPOST('bic','alpha'); + $account->iban = GETPOST('iban','alpha'); + $account->domiciliation = GETPOST('domiciliation','alpha'); + $account->proprio = GETPOST('proprio','alpha'); + $account->owner_address = GETPOST('owner_address','alpha'); $account->frstrecur = GETPOST('frstrecur'); $result = $account->update($user); // TODO Use create and include update into create method @@ -161,8 +200,8 @@ if ($action == 'setasdefault') $url=DOL_URL_ROOT.'/societe/rib.php?socid='.$object->id; header('Location: '.$url); exit; - } - else + } + else { setEventMessages($db->lasterror, null, 'errors'); } @@ -239,9 +278,9 @@ if ($socid && $action != 'edit' && $action != "create") } dol_banner_tab($object, 'socid', '', ($user->societe_id?0:1), 'rowid', 'nom'); - + print '
'; - + print load_fiche_titre($langs->trans("DefaultRIB"), '', ''); print '
'; @@ -265,35 +304,31 @@ if ($socid && $action != 'edit' && $action != "create") $content = $account->number; } elseif ($val == 'BankAccountNumberKey') { $content = $account->cle_rib; + }elseif ($val == 'IBAN') { + $content = $account->iban; + if (! empty($account->iban)) { + if (! checkIbanForAccount($account)) { + $content.= img_picto($langs->trans("IbanNotValid"),'warning'); + } else { + $content.= img_picto($langs->trans("IbanValid"),'info'); + } + } + }elseif ($val == 'BIC') { + $content = $account->bic; + if (! empty($account->bic)) { + if (! checkSwiftForAccount($account)) { + $content.= img_picto($langs->trans("SwiftNotValid"),'warning'); + } else { + $content.= img_picto($langs->trans("SwiftValid"),'info'); + } + } } print ''.$langs->trans($val).''; - print ''.$content.''; + print ''.$content.''; print ''; } - print ''.$langs->trans("IBAN").''; - print ''.$account->iban . ' '; - if (! empty($account->iban)) { - if (! checkIbanForAccount($account)) { - print img_picto($langs->trans("IbanNotValid"),'warning'); - } else { - print img_picto($langs->trans("IbanValid"),'info'); - } - } - print ''; - - print ''.$langs->trans("BIC").''; - print ''.$account->bic.' '; - if (! empty($account->bic)) { - if (! checkSwiftForAccount($account)) { - print img_picto($langs->trans("SwiftNotValid"),'warning'); - } else { - print img_picto($langs->trans("SwiftValid"),'info'); - } - } - print ''; - print ''.$langs->trans("BankAccountDomiciliation").''; print $account->domiciliation; print "\n"; @@ -315,7 +350,7 @@ if ($socid && $action != 'edit' && $action != "create") } print "
"; - + dol_fiche_end(); @@ -418,9 +453,9 @@ if ($socid && $action == 'edit' && $user->rights->societe->creer) dol_fiche_head($head, 'rib', $langs->trans("ThirdParty"),0,'company'); dol_banner_tab($object, 'socid', '', ($user->societe_id?0:1), 'rowid', 'nom'); - + print '
'; - + print '
'; print ''; @@ -432,6 +467,8 @@ if ($socid && $action == 'edit' && $user->rights->societe->creer) // Show fields of bank account foreach ($account->getFieldsToShow() as $val) { + + $require=false; if ($val == 'BankCode') { $name = 'code_banque'; $size = 8; @@ -448,20 +485,23 @@ if ($socid && $action == 'edit' && $user->rights->societe->creer) $name = 'cle_rib'; $size = 3; $content = $account->cle_rib; + } elseif ($val == 'IBAN') { + $name = 'iban'; + $size = 30; + $content = $account->iban; + $require=true; + } elseif ($val == 'BIC') { + $name = 'bic'; + $size = 12; + $content = $account->bic; + $require=true; } - print ''; + print ''.$langs->trans($val).''; print ''; print ''; } - // IBAN - print ''; - print ''; - - print ''; - print ''; - print ''; print ''; diff --git a/htdocs/holiday/define_holiday.php b/htdocs/holiday/define_holiday.php index 7a94e686173..92a93a0d357 100644 --- a/htdocs/holiday/define_holiday.php +++ b/htdocs/holiday/define_holiday.php @@ -106,46 +106,6 @@ if ($action == 'update' && isset($_POST['update_cp'])) if (! $error) setEventMessages('UpdateConfCPOK', '', 'mesgs'); } -elseif($action == 'add_event') -{ - $error = 0; - - $typeleaves=$holiday->getTypes(1,1); - - if(!empty($_POST['list_event']) && $_POST['list_event'] > 0) { - $event = $_POST['list_event']; - } else { $error++; - } - - if(!empty($_POST['userCP']) && $_POST['userCP'] > 0) { - $userCP = $_POST['userCP']; - } else { $erro++; - } - - if ($error) - { - setEventMessages('ErrorAddEventToUserCP', '', 'errors'); - } - else - { - $nb_holiday = $holiday->getCPforUser($userCP); - $add_holiday = $holiday->getValueEventCp($event); - $new_holiday = $nb_holiday + $add_holiday; - - // add event to existing types of vacation - foreach ($typeleaves as $key => $leave) - { - $vacationTypeID = $leave['rowid']; - - // On ajoute la modification dans le LOG - $holiday->addLogCP($user->id,$userCP, $holiday->getNameEventCp($event),$new_holiday, $vacationTypeID); - - $holiday->updateSoldeCP($userCP,$new_holiday, $vacationTypeID); - } - - setEventMessages('AddEventToUserOkCP', '', 'mesgs'); - } -} /* @@ -186,24 +146,6 @@ if (is_numeric($listUsers) && $listUsers < 0) $var=true; $i = 0; -$cp_events = $holiday->fetchEventsCP(); -if ($cp_events == 1) -{ - print '
'."\n"; - print ''; - - print load_fiche_titre($langs->trans('DefineEventUserCP'),'',''); - - print $langs->trans('MotifCP').' : '; - print $holiday->selectEventCP(); - print '   '.$langs->trans('UserCP').' : '; - print $form->select_dolusers('', 'userCP', 1, '', 0, '', '', 0, 0, 0, '', 0, '', 'maxwidth300'); - print ' '; - - print '
'; -} - - $typeleaves=$holiday->getTypes(1,1); if (count($typeleaves) == 0) From 4448c5e86fef08ec4a396f3b9f639bc5cc0a4270 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 21 Jul 2016 20:50:46 +0200 Subject: [PATCH 056/476] Removed "small" --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a3a542b194e..cbb3da345b4 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Dolibarr ERP & CRM is a modern software to manage your organization's activity (contacts, suppliers, invoices, orders, stocks, agenda, ...). -It's an Open Source software (wrote in PHP language) designed for small and medium companies, foundation and freelances. +It's an Open Source software (wrote in PHP language) designed for companies, foundations and freelances. You can freely use, study, modify or distribute it according to its Free Software licence. From efe1cde388bab583a1d8c72e8999dd6dc8de4e81 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 21 Jul 2016 20:51:17 +0200 Subject: [PATCH 057/476] More keywords in desc --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cbb3da345b4..cb5f7e61c70 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Dolibarr ERP & CRM is a modern software to manage your organization's activity (contacts, suppliers, invoices, orders, stocks, agenda, ...). -It's an Open Source software (wrote in PHP language) designed for companies, foundations and freelances. +It's an Open Source software (wrote in PHP language) designed for small, medium or large companies, foundations and freelances. You can freely use, study, modify or distribute it according to its Free Software licence. From 834356b61eac54c685089c9ebc0cec9deb453fc2 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 24 Jul 2016 22:24:18 +0200 Subject: [PATCH 058/476] Fix missing opacity css --- htdocs/contrat/index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/contrat/index.php b/htdocs/contrat/index.php index 250f1c98199..86f7c00e566 100644 --- a/htdocs/contrat/index.php +++ b/htdocs/contrat/index.php @@ -273,7 +273,7 @@ if (! empty($conf->contrat->enabled) && $user->rights->contrat->lire) } else { - print ''; + print ''; } print "
'.$langs->trans($val).'
'.$langs->trans("IBAN").'
'.$langs->trans("BIC").'
'.$langs->trans("BankAccountDomiciliation").''; print ''; + print ''; print '
'.$langs->trans("NoContracts").'
'.$langs->trans("NoContracts").'

"; $db->free($resql); From e9480023537a06c9ab180ff2a4c9e5602e4aa80c Mon Sep 17 00:00:00 2001 From: BENKE Charlie Date: Mon, 25 Jul 2016 11:21:00 +0200 Subject: [PATCH 059/476] New : edition feature on action/agenda --- .../core/modules/action/modules_actions.php | 149 ++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 htdocs/core/modules/action/modules_actions.php diff --git a/htdocs/core/modules/action/modules_actions.php b/htdocs/core/modules/action/modules_actions.php new file mode 100644 index 00000000000..2971b6f59ee --- /dev/null +++ b/htdocs/core/modules/action/modules_actions.php @@ -0,0 +1,149 @@ + + * Copyright (C) 2004-2010 Laurent Destailleur + * Copyright (C) 2004 Eric Seigne + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2016 Charlie Benke + * + * 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 . + * or see http://www.gnu.org/ + */ + +require_once DOL_DOCUMENT_ROOT.'/core/class/commondocgenerator.class.php'; + +/** + * \class ModeleAction + * \brief Parent class for product models of doc generators + */ +abstract class ModeleAction extends CommonDocGenerator +{ + var $error=''; + + /** + * Return list of active generation modules + * + * @param DoliDB $db Database handler + * @param integer $maxfilenamelength Max length of value to show + * @return array List of templates + */ + static function liste_modeles($db,$maxfilenamelength=0) + { + global $conf; + + $type='action'; + $liste=array(); + + include_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; + $liste=getListOfModels($db,$type,$maxfilenamelength); + + return $liste; + } +} +/** + * Create an product document on disk using template defined into PRODUCT_ADDON_PDF + * + * @param DoliDB $db objet base de donnee + * @param Object $object Object fichinter + * @param string $modele force le modele a utiliser ('' par defaut) + * @param Translate $outputlangs objet lang a utiliser pour traduction + * @param int $hidedetails Hide details of lines + * @param int $hidedesc Hide description + * @param int $hideref Hide ref + * @return int 0 if KO, 1 if OK + */ +function action_create($db, $object, $modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0) +{ + global $conf,$langs,$user; + $langs->load("action"); + + $error=0; + + $srctemplatepath=''; + + // Positionne modele sur le nom du modele de fichinter a utiliser + if (! dol_strlen($modele)) + { + if (! empty($conf->global->ACTION_EVENT_ADDON_PDF)) + { + $modele = $conf->global->ACTION_EVENT_ADDON_PDF; + } + else + { + $modele = 'soleil'; + } + } + + // If selected modele is a filename template (then $modele="modelname:filename") + $tmp=explode(':',$modele,2); + if (! empty($tmp[1])) + { + $modele=$tmp[0]; + $srctemplatepath=$tmp[1]; + } + + // Search template files + $file=''; $classname=''; $filefound=0; + $dirmodels=array('/'); + if (is_array($conf->modules_parts['models'])) $dirmodels=array_merge($dirmodels,$conf->modules_parts['models']); + foreach($dirmodels as $reldir) + { + foreach(array('doc','pdf') as $prefix) + { + $file = $prefix."_".$modele.".modules.php"; + + // On verifie l'emplacement du modele + $file=dol_buildpath($reldir."core/modules/action/doc/".$file,0); + if (file_exists($file)) + { + $filefound=1; + $classname=$prefix.'_'.$modele; + break; + } + } + if ($filefound) break; + } + + // Charge le modele + if ($filefound) + { + require_once $file; + + $obj = new $classname($db); + + // We save charset_output to restore it because write_file can change it if needed for + // output format that does not support UTF8. + $sav_charset_output=$outputlangs->charset_output; + if ($obj->write_file($object, $outputlangs, $srctemplatepath, $hidedetails, $hidedesc, $hideref) > 0) + { + $outputlangs->charset_output=$sav_charset_output; + + // We delete old preview + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + dol_delete_preview($object); + + return 1; + } + else + { + $outputlangs->charset_output=$sav_charset_output; + dol_print_error($db,"action_pdf_create Error: ".$obj->error); + return 0; + } + } + else + { + print $langs->trans("Error")." ".$langs->trans("ErrorFileDoesNotExists",$file); + return 0; + } +} From 415bdbe9b5fa44e1be7c6d008d0065019353b4ba Mon Sep 17 00:00:00 2001 From: BENKE Charlie Date: Mon, 25 Jul 2016 11:22:53 +0200 Subject: [PATCH 060/476] Update html.formfile.class.php --- htdocs/core/class/html.formfile.class.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/htdocs/core/class/html.formfile.class.php b/htdocs/core/class/html.formfile.class.php index f4163a889f0..0e57118f4bb 100644 --- a/htdocs/core/class/html.formfile.class.php +++ b/htdocs/core/class/html.formfile.class.php @@ -460,11 +460,20 @@ class FormFile $modellist=ModeleDon::liste_modeles($this->db); } } + elseif ($modulepart == 'agenda') + { + if (is_array($genallowed)) $modellist=$genallowed; + else + { + include_once DOL_DOCUMENT_ROOT.'/core/modules/action/modules_action.php'; + $modellist=ModeleAction::liste_modeles($this->db); + } + } else if ($modulepart == 'unpaid') { $modellist=''; } - else if ($modulepart != 'agenda') + else //if ($modulepart != 'agenda') { // For normalized standard modules $file=dol_buildpath('/core/modules/'.$modulepart.'/modules_'.$modulepart.'.php',0); From cba9bae1248f27055cf33a5cf6b9087f338dd7a2 Mon Sep 17 00:00:00 2001 From: BENKE Charlie Date: Mon, 25 Jul 2016 11:30:05 +0200 Subject: [PATCH 061/476] Update agenda_other.php --- htdocs/admin/agenda_other.php | 240 +++++++++++++++++++++++++++++++++- 1 file changed, 237 insertions(+), 3 deletions(-) diff --git a/htdocs/admin/agenda_other.php b/htdocs/admin/agenda_other.php index b9051f6f33a..25621a93e16 100644 --- a/htdocs/admin/agenda_other.php +++ b/htdocs/admin/agenda_other.php @@ -36,7 +36,11 @@ $langs->load("admin"); $langs->load("other"); $action = GETPOST('action','alpha'); +$value = GETPOST('value','alpha'); +$param = GETPOST('param','alpha'); $cancel = GETPOST('cancel','alpha'); +$scandir = GETPOST('scandir','alpha'); +$type = 'action'; /* @@ -71,7 +75,21 @@ if (preg_match('/del_(.*)/',$action,$reg)) dol_print_error($db); } } +// Define constants for submodules that contains parameters (forms with param1, param2, ... and value1, value2, ...) +if ($action == 'setModuleOptions') +{ + if ($param) $res = dolibarr_set_const($db,$param,$value,'chaine',0,'',$conf->entity); + if (! $res > 0) $error++; + if (! $error) + { + setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); + } + else + { + setEventMessages($langs->trans("Error"), null, 'errors'); + } +} if ($action == 'set') { dolibarr_set_const($db, 'AGENDA_USE_EVENT_TYPE_DEFAULT', GETPOST('AGENDA_USE_EVENT_TYPE_DEFAULT'), 'chaine', 0, '', $conf->entity); @@ -79,6 +97,85 @@ if ($action == 'set') dolibarr_set_const($db, 'AGENDA_DEFAULT_FILTER_STATUS', GETPOST('AGENDA_DEFAULT_FILTER_STATUS'), 'chaine', 0, '', $conf->entity); dolibarr_set_const($db, 'AGENDA_DEFAULT_VIEW', GETPOST('AGENDA_DEFAULT_VIEW'), 'chaine', 0, '', $conf->entity); } +else if ($action == 'specimen') // For orders +{ + $modele=GETPOST('module','alpha'); + + $commande = new CommandeFournisseur($db); + $commande->initAsSpecimen(); + $commande->thirdparty=$specimenthirdparty; + + // Search template files + $file=''; $classname=''; $filefound=0; + $dirmodels=array_merge(array('/'),(array) $conf->modules_parts['models']); + foreach($dirmodels as $reldir) + { + $file=dol_buildpath($reldir."core/modules/action/doc/pdf_".$modele.".modules.php",0); + if (file_exists($file)) + { + $filefound=1; + $classname = "pdf_".$modele; + break; + } + } + + if ($filefound) + { + require_once $file; + + $module = new $classname($db,$commande); + + if ($module->write_file($commande,$langs) > 0) + { + header("Location: ".DOL_URL_ROOT."/document.php?modulepart=action&file=SPECIMEN.pdf"); + return; + } + else + { + setEventMessages($module->error, $module->errors, 'errors'); + dol_syslog($module->error, LOG_ERR); + } + } + else + { + setEventMessages($langs->trans("ErrorModuleNotFound"), null, 'errors'); + dol_syslog($langs->trans("ErrorModuleNotFound"), LOG_ERR); + } +} + +// Activate a model +else if ($action == 'setmodel') +{ + print "sssd".$value; + $ret = addDocumentModel($value, $type, $label, $scandir); +} + +else if ($action == 'del') +{ + $ret = delDocumentModel($value, $type); + if ($ret > 0) + { + if ($conf->global->ACTION_EVENT_ADDON_PDF == "$value") dolibarr_del_const($db, 'ACTION_EVENT_ADDON_PDF',$conf->entity); + } +} + +// Set default model +else if ($action == 'setdoc') +{ + if (dolibarr_set_const($db, "ACTION_EVENT_ADDON_PDF",$value,'chaine',0,'',$conf->entity)) + { + // La constante qui a ete lue en avant du nouveau set + // on passe donc par une variable pour avoir un affichage coherent + $conf->global->ACTION_EVENT_ADDON_PDF = $value; + } + + // On active le modele + $ret = delDocumentModel($value, $type); + if ($ret > 0) + { + $ret = addDocumentModel($value, $type, $label, $scandir); + } +} /** @@ -86,7 +183,7 @@ if ($action == 'set') */ $formactions=new FormActions($db); - +$dirmodels=array_merge(array('/'),(array) $conf->modules_parts['models']); llxHeader(); $linkback='
'.$langs->trans("BackToModuleList").''; @@ -95,14 +192,151 @@ print "
\n"; -print '
'; -print ''; $head=agenda_prepare_head(); dol_fiche_head($head, 'other', $langs->trans("Agenda"), 0, 'action'); + +/* + * Documents models for supplier orders + */ + +print load_fiche_titre($langs->trans("AgendaModelModule"),'',''); + +// Define array def of models +$def = array(); + +$sql = "SELECT nom"; +$sql.= " FROM ".MAIN_DB_PREFIX."document_model"; +$sql.= " WHERE type = 'action'"; +$sql.= " AND entity = ".$conf->entity; + +$resql=$db->query($sql); +if ($resql) +{ + $i = 0; + $num_rows=$db->num_rows($resql); + while ($i < $num_rows) + { + $array = $db->fetch_array($resql); + array_push($def, $array[0]); + $i++; + } +} +else +{ + dol_print_error($db); +} + +print ''."\n"; +print ''."\n"; +print ''."\n"; +print ''."\n"; +print ''."\n"; +print ''."\n"; +print ''; +print ''; +print ''."\n"; + +clearstatcache(); + $var=true; +foreach ($dirmodels as $reldir) +{ + $dir = dol_buildpath($reldir."core/modules/action/doc/"); + + if (is_dir($dir)) + { + $handle=opendir($dir); + if (is_resource($handle)) + { + while (($file = readdir($handle))!==false) + { + if (preg_match('/\.modules\.php$/i',$file) && preg_match('/^(pdf_|doc_)/',$file)) + { + $name = substr($file, 4, dol_strlen($file) -16); + $classname = substr($file, 0, dol_strlen($file) -12); + + require_once $dir.'/'.$file; + $module = new $classname($db, new ActionComm($db)); + + $var=!$var; + print "\n"; + print "\n"; + print "\n"; + + // Active + if (in_array($name, $def)) + { + + print '"; + } + else + { + print '"; + } + + // Default + print ''; + + // Info + $htmltooltip = ''.$langs->trans("Name").': '.$module->name; + $htmltooltip.='
'.$langs->trans("Type").': '.($module->type?$module->type:$langs->trans("Unknown")); + $htmltooltip.='
'.$langs->trans("Width").'/'.$langs->trans("Height").': '.$module->page_largeur.'/'.$module->page_hauteur; + $htmltooltip.='

'.$langs->trans("FeaturesSupported").':'; + $htmltooltip.='
'.$langs->trans("Logo").': '.yn($module->option_logo,1,1); + print ''; + print ''; + + print "\n"; + } + } + closedir($handle); + } + } +} +print '
'.$langs->trans("Name").''.$langs->trans("Description").''.$langs->trans("Status").''.$langs->trans("Default").''.$langs->trans("ShortInfo").''.$langs->trans("Preview").'
"; + print (empty($module->name)?$name:$module->name); + print "\n"; + require_once $dir.$file; + $module = new $classname($db,$specimenthirdparty); + if (method_exists($module,'info')) + print $module->info($langs); + else + print $module->description; + print "'."\n"; + if ($conf->global->ACTION_EVENT_ADDON_PDF != "$name") + { + print 'scandir.'&label='.urlencode($module->name).'&type=action">'; + print img_picto($langs->trans("Enabled"),'switch_on'); + print ''; + } + else + { + print img_picto($langs->trans("Enabled"),'switch_on'); + } + print "'."\n"; + print 'scandir.'&label='.urlencode($module->name).'&type=action">'.img_picto($langs->trans("Disabled"),'switch_off').''; + print "'; + if ($conf->global->ACTION_EVENT_ADDON_PDF == "$name") + { + print img_picto($langs->trans("Default"),'on'); + } + else + { + print 'scandir.'&label='.urlencode($module->name).'&type=action"" alt="'.$langs->trans("Default").'">'.img_picto($langs->trans("Disabled"),'off').''; + } + print ''; + print $form->textwithpicto('',$htmltooltip,1,0); + print ''; + print ''.img_object($langs->trans("Preview"),'order').''; + print '

'; + +$var=true; + +print ''; +print ''; print ''."\n"; print ''."\n"; From 6acff5dcb5ab514da4f5803b34a8b5e1206f5814 Mon Sep 17 00:00:00 2001 From: BENKE Charlie Date: Mon, 25 Jul 2016 11:31:10 +0200 Subject: [PATCH 062/476] Update agenda_other.php --- htdocs/admin/agenda_other.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/htdocs/admin/agenda_other.php b/htdocs/admin/agenda_other.php index 25621a93e16..76b3b060925 100644 --- a/htdocs/admin/agenda_other.php +++ b/htdocs/admin/agenda_other.php @@ -1,8 +1,9 @@ - * Copyright (C) 2011 Regis Houssin - * Copyright (C) 2011-2013 Juanjo Menent - * Copyright (C) 2015 Jean-François Ferry +/* Copyright (C) 2008-2015 Laurent Destailleur + * Copyright (C) 2011 Regis Houssin + * Copyright (C) 2011-2013 Juanjo Menent + * Copyright (C) 2015 Jean-François Ferry + * Copyright (C) 2016 Charlie Benke * * 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 From a9d75b2c9142cb1c0ffbc264e2133898d1ad021f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Mon, 25 Jul 2016 11:49:04 +0200 Subject: [PATCH 063/476] FIX #5537 AJAX project search does not work properly --- htdocs/core/class/html.formprojet.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/core/class/html.formprojet.class.php b/htdocs/core/class/html.formprojet.class.php index 01b22d3b514..d93e6c657b9 100644 --- a/htdocs/core/class/html.formprojet.class.php +++ b/htdocs/core/class/html.formprojet.class.php @@ -140,8 +140,8 @@ class FormProjets if ($socid == 0) $sql.= " AND (p.fk_soc=0 OR p.fk_soc IS NULL)"; if ($socid > 0) $sql.= " AND (p.fk_soc=".$socid." OR p.fk_soc IS NULL)"; if (!empty($filterkey)) { - $sql .= ' AND p.title LIKE "%'.$this->db->escape($filterkey).'%"'; - $sql .= ' OR p.ref LIKE "%'.$this->db->escape($filterkey).'%"'; + $sql .= " AND p.title LIKE '%".$this->db->escape($filterkey)."%'"; + $sql .= " OR p.ref LIKE '%".$this->db->escape($filterkey)."%'"; } $sql.= " ORDER BY p.ref ASC"; From 3029fd0fe134887e38d28e970d8a8de614f5be7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Mon, 25 Jul 2016 13:18:41 +0200 Subject: [PATCH 064/476] FIX #5540 getFormMail is not registered as addReplace hook --- htdocs/core/class/hookmanager.class.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/htdocs/core/class/hookmanager.class.php b/htdocs/core/class/hookmanager.class.php index e2de6e61c86..3f3fbb4f409 100644 --- a/htdocs/core/class/hookmanager.class.php +++ b/htdocs/core/class/hookmanager.class.php @@ -167,7 +167,8 @@ class HookManager 'printObjectLine', 'printObjectSubLine', 'createDictionaryFieldList', - 'editDictionaryFieldlist' + 'editDictionaryFieldlist', + 'getFormMail' ) )) $hooktype='addreplace'; // Deprecated hook types ('returnvalue') From d8f77abf31dd56f8d3f7a071115466bafd8aad5a Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Mon, 25 Jul 2016 14:36:20 +0200 Subject: [PATCH 065/476] Fix: missing sourcetype can create fault positive --- htdocs/compta/facture.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php index e805d1ecac9..d19f3a7925b 100644 --- a/htdocs/compta/facture.php +++ b/htdocs/compta/facture.php @@ -405,7 +405,7 @@ if (empty($reshook)) } } } - + $qualified_for_stock_change = 0; if (empty($conf->global->STOCK_SUPPORTS_SERVICES)) { $qualified_for_stock_change = $object->hasProductsOrServices(2); @@ -2389,7 +2389,7 @@ if ($action == 'create') print '\n"; - +// Use services duration +$var = !$var; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; print ''; diff --git a/htdocs/fichinter/card.php b/htdocs/fichinter/card.php index 2a4ec4337f2..934d19fb320 100644 --- a/htdocs/fichinter/card.php +++ b/htdocs/fichinter/card.php @@ -280,68 +280,82 @@ if (empty($reshook)) for ($i=0;$i<$num;$i++) { - $product_type=($lines[$i]->product_type?$lines[$i]->product_type:0); + $product_type=($lines[$i]->product_type?$lines[$i]->product_type:Product::TYPE_PRODUCT); - if ($product_type == 1 || !empty($conf->global->FICHINTER_PRINT_PRODUCTS)) { //only services except if config includes products - // service prédéfini + if ($product_type == Product::TYPE_SERVICE || !empty($conf->global->FICHINTER_PRINT_PRODUCTS)) { //only services except if config includes products + $duration = 3600; // Default to one hour + + // Predefined products & services if ($lines[$i]->fk_product > 0) { + $prod = new Product($db); + $prod->id = $lines[$i]->fk_product; + // Define output language - if (! empty($conf->global->MAIN_MULTILANGS) && ! empty($conf->global->PRODUIT_TEXTS_IN_THIRDPARTY_LANGUAGE)) - { - $prod = new Product($db); - $prod->id=$lines[$i]->fk_product; + if (! empty($conf->global->MAIN_MULTILANGS) && ! empty($conf->global->PRODUIT_TEXTS_IN_THIRDPARTY_LANGUAGE)) { $prod->getMultiLangs(); // We show if duration is present on service (so we get it) $prod->fetch($lines[$i]->fk_product); - if ($prod->duration_value && $prod->duration_unit == 'h' && $conf->global->FICHINTER_USE_SERVICE_DURATION) - { - $durationproduct=$prod->duration_value * 3600 * $lines[$i]->qty; - } - else - $durationproduct=3600; $outputlangs = $langs; $newlang=''; if (empty($newlang) && GETPOST('lang_id')) $newlang=GETPOST('lang_id'); if (empty($newlang)) $newlang=$srcobject->client->default_lang; - if (! empty($newlang)) - { + if (! empty($newlang)) { $outputlangs = new Translate("",$conf); $outputlangs->setDefaultLang($newlang); } - $label = (! empty($prod->multilangs[$outputlangs->defaultlang]["libelle"])) ? $prod->multilangs[$outputlangs->defaultlang]["libelle"] : $lines[$i]->product_label; - } - else - { - $label = $lines[$i]->product_label; + } else { + $prod->fetch($lines[$i]->fk_product); + $label .= $lines[$i]->product_label; } - $desc = $label; - $desc .= ' ('.$langs->trans('Quantity').': '.$lines[$i]->qty.')'; - } - else { - $desc = dol_htmlentitiesbr($lines[$i]->desc); - $desc .= ' ('.$langs->trans('Quantity').': '.$lines[$i]->qty.')'; + if ($prod->duration_value && $conf->global->FICHINTER_USE_SERVICE_DURATION) { + switch ($prod->duration_unit) { + default: + case 'h': + $mult = 3600; + break; + case 'd': + $mult = 3600 * 24; + break; + case 'w': + $mult = 3600 * 24 * 7; + break; + case 'm': + $mult = (int) 3600 * 24 * (365 / 12); // Average month duration + break; + case 'y': + $mult = 3600 * 24 * 365; + break; + } + $duration = $prod->duration_value * $mult * $lines[$i]->qty; + } + + $desc = $lines[$i]->product_ref; + $desc .= ' - '; + $desc .= $label; + $desc .= '
'; } + // Common part (predefined or free line) + $desc .= dol_htmlentitiesbr($lines[$i]->desc); + $desc .= '
'; + $desc .= ' (' . $langs->trans('Quantity') . ': ' . $lines[$i]->qty . ')'; + $timearray=dol_getdate(mktime()); $date_intervention=dol_mktime(0,0,0,$timearray['mon'],$timearray['mday'],$timearray['year']); - if ($product_type == 1) - { //service - $duration = $durationproduct; - } - else - { //product + + if ($product_type == Product::TYPE_PRODUCT) { $duration = 0; } $predef = ''; + // Extrafields $extrafieldsline = new ExtraFields($db); $extralabelsline = $extrafieldsline->fetch_name_optionals_label($object->table_element_line); $array_options = $extrafieldsline->getOptionalsFromPost($extralabelsline, $predef); - $result = $object->addline( $user, $id, diff --git a/htdocs/langs/en_US/interventions.lang b/htdocs/langs/en_US/interventions.lang index b0adb985dff..cad0806282e 100644 --- a/htdocs/langs/en_US/interventions.lang +++ b/htdocs/langs/en_US/interventions.lang @@ -45,6 +45,7 @@ TypeContact_fichinter_external_CUSTOMER=Following-up customer contact # Modele numérotation PrintProductsOnFichinter=Print also lines of type "product" (not only services) on intervention card PrintProductsOnFichinterDetails=interventions generated from orders +UseServicesDurationOnFichinter=Use services duration for interventions generated from orders InterventionStatistics=Statistics of interventions NbOfinterventions=Nb of intervention cards NumberOfInterventionsByMonth=Nb of intervention cards by month (date of validation) @@ -58,4 +59,4 @@ InterNote=Note intervention InterLineId=Line id intervention InterLineDate=Line date intervention InterLineDuration=Line duration intervention -InterLineDesc=Line description intervention +InterLineDesc=Line description intervention From a82e551a549e025cc3b05e28534de3433c787ed9 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 25 Jul 2016 19:43:07 +0200 Subject: [PATCH 067/476] Start to work to mutualize code of mass actions --- htdocs/commande/list.php | 47 +++++++++++++++++++++++++++++++--- htdocs/compta/facture/list.php | 6 +++-- 2 files changed, 48 insertions(+), 5 deletions(-) diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index 3a062788059..0d1c2a1a1c7 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -50,6 +50,10 @@ $langs->load('bills'); $action=GETPOST('action','alpha'); $massaction=GETPOST('massaction','alpha'); +$show_files=GETPOST('show_files','int'); +$confirm=GETPOST('confirm','alpha'); +$toselect = GETPOST('toselect', 'array'); + $orderyear=GETPOST("orderyear","int"); $ordermonth=GETPOST("ordermonth","int"); $orderday=GETPOST("orderday","int"); @@ -72,7 +76,6 @@ $search_sale=GETPOST('search_sale','int'); $search_total_ht=GETPOST('search_total_ht','alpha'); $optioncss = GETPOST('optioncss','alpha'); $billed = GETPOST('billed','int'); -$toselect = GETPOST('toselect', 'array'); // Security check $id = (GETPOST('orderid')?GETPOST('orderid','int'):GETPOST('id','int')); @@ -346,6 +349,20 @@ if (empty($reshook)) { setEventMessages($langs->trans('NoPDFAvailableForDocGenAmongChecked'), null, 'errors'); } + } + + // Remove file + if ($action == 'remove_file') + { + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + + $langs->load("other"); + $upload_dir = $diroutputmassaction; + $file = $upload_dir . '/' . GETPOST('file'); + $ret=dol_delete_file($file); + if ($ret) setEventMessages($langs->trans("FileWasRemoved", GETPOST('file')), null, 'mesgs'); + else setEventMessages($langs->trans("ErrorFailToDeleteFile", GETPOST('file')), null, 'errors'); + $action=''; } } @@ -557,8 +574,8 @@ if ($resql) } $arrayofmassactions = array( - //'presend'=>$langs->trans("SendByMail"), - //'builddoc'=>$langs->trans("PDFMerge"), + 'presend'=>$langs->trans("SendByMail"), + 'builddoc'=>$langs->trans("PDFMerge"), ); if ($user->rights->commande->supprimer) $arrayofmassactions['delete']=$langs->trans("Delete"); if ($massaction == 'presend') $arrayofmassactions=array(); @@ -1204,6 +1221,30 @@ if ($resql) print ''."\n"; print '
'.img_help(1,'').' '.$langs->trans("ToBillSeveralOrderSelectCustomer", $langs->transnoentitiesnoconv("CreateInvoiceForThisCustomer")).'
'; + + if ($massaction == 'builddoc' || $action == 'remove_file' || $show_files) + { + /* + * Show list of available documents + */ + $urlsource=$_SERVER['PHP_SELF'].'?sortfield='.$sortfield.'&sortorder='.$sortorder; + $urlsource.=str_replace('&','&',$param); + + $filedir=$diroutputmassaction; + $genallowed=$user->rights->facture->lire; + $delallowed=$user->rights->facture->lire; + + print '
'; + $paramwithoutshowfiles=preg_replace('/show_files=1&?/','',$param); + $title=$langs->trans("MassFilesArea").' ('.$langs->trans("Hide").')'; + + print $formfile->showdocuments('massfilesarea_orders','',$filedir,$urlsource,0,$delallowed,'',1,1,0,48,1,$param,$title,''); + } + else + { + print '
'.$langs->trans("ShowTempMassFilesArea").''; + } + } else { diff --git a/htdocs/compta/facture/list.php b/htdocs/compta/facture/list.php index 99103ee419a..5bd8ecfe852 100644 --- a/htdocs/compta/facture/list.php +++ b/htdocs/compta/facture/list.php @@ -58,10 +58,13 @@ $projectid=(GETPOST('projectid')?GETPOST('projectid','int'):0); $id=(GETPOST('id','int')?GETPOST('id','int'):GETPOST('facid','int')); // For backward compatibility $ref=GETPOST('ref','alpha'); $socid=GETPOST('socid','int'); + $action=GETPOST('action','alpha'); $massaction=GETPOST('massaction','alpha'); $show_files=GETPOST('show_files','int'); $confirm=GETPOST('confirm','alpha'); +$toselect = GETPOST('toselect', 'array'); + $lineid=GETPOST('lineid','int'); $userid=GETPOST('userid','int'); $search_product_category=GETPOST('search_product_category','int'); @@ -86,7 +89,6 @@ $year = GETPOST('year','int'); $day_lim = GETPOST('day_lim','int'); $month_lim = GETPOST('month_lim','int'); $year_lim = GETPOST('year_lim','int'); -$toselect = GETPOST('toselect', 'array'); $option = GETPOST('option'); if ($option == 'late') $filter = 'paye:0'; @@ -1494,7 +1496,7 @@ if ($resql) $paramwithoutshowfiles=preg_replace('/show_files=1&?/','',$param); $title=$langs->trans("MassFilesArea").' ('.$langs->trans("Hide").')'; - print $formfile->showdocuments('massfilesarea_facture','',$filedir,$urlsource,0,$delallowed,'',1,1,0,48,1,$param,$title,''); + print $formfile->showdocuments('massfilesarea_invoice','',$filedir,$urlsource,0,$delallowed,'',1,1,0,48,1,$param,$title,''); } else { From fc1c38420cb79adecc529bd191d97bcf8c9e210c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 25 Jul 2016 19:47:07 +0200 Subject: [PATCH 068/476] Revert "Fix Performance improvement with many extrafields" This reverts commit ae18178d5641abf01f10ae80334143e8dfdd920a. --- htdocs/societe/list.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/htdocs/societe/list.php b/htdocs/societe/list.php index 7c44d8a9e29..e9b98ad7164 100644 --- a/htdocs/societe/list.php +++ b/htdocs/societe/list.php @@ -5,7 +5,6 @@ * Copyright (C) 2012 Marcos García * Copyright (C) 2013-2015 Raphaël Doursenaud * Copyright (C) 2015 Florian Henry - * Copyright (C) 2016 Juanjo Menent * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -353,17 +352,16 @@ $parameters=array(); $reshook=$hookmanager->executeHooks('printFieldListSelect',$parameters); // Note that $action and $object may have been modified by hook $sql.=$hookmanager->resPrint; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; +if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label)) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe_extrafields as ef on (s.rowid = ef.fk_object)"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_country as country on (country.rowid = s.fk_pays) "; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_typent as typent on (typent.id = s.fk_typent) "; $sql.= " ,".MAIN_DB_PREFIX."c_stcomm as st"; -if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label)) $sql.= " , ".MAIN_DB_PREFIX."societe_extrafields as ef "; // We'll need this table joined to the select in order to filter by sale if ($search_sale || (!$user->rights->societe->client->voir && !$socid)) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; // We'll need this table joined to the select in order to filter by categ if ($search_categ) $sql.= ", ".MAIN_DB_PREFIX."categorie_".($type=='f'?"fournisseur":"societe")." as cs"; $sql.= " WHERE s.fk_stcomm = st.id"; $sql.= " AND s.entity IN (".getEntity('societe', 1).")"; -if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label)) $sql.= " AND s.rowid = ef.fk_object"; 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_sale) $sql.= " AND s.rowid = sc.fk_soc"; // Join for the needed table to filter by sale From f0a3a5ce025a8470b34c8f44384d1cebaa9451dd Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 25 Jul 2016 21:50:41 +0200 Subject: [PATCH 069/476] NEW Mutualize mass action. So "Send by email" is also avavilable on orders. --- htdocs/commande/list.php | 277 ++++------ htdocs/compta/facture.php | 2 +- .../facture/class/api_invoice.class.php | 2 +- htdocs/compta/facture/class/facture.class.php | 6 +- htdocs/compta/facture/fiche-rec.php | 4 +- htdocs/compta/facture/list.php | 427 +-------------- htdocs/core/actions_massactions.inc.php | 499 ++++++++++++++++++ htdocs/core/lib/files.lib.php | 12 +- htdocs/langs/en_US/mails.lang | 3 +- htdocs/paypal/lib/paypal.lib.php | 2 + 10 files changed, 647 insertions(+), 587 deletions(-) create mode 100644 htdocs/core/actions_massactions.inc.php diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index 0d1c2a1a1c7..6ded9b219ac 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -154,7 +154,7 @@ if (is_array($extrafields->attribute_label) && count($extrafields->attribute_lab */ if (GETPOST('cancel')) { $action='list'; $massaction=''; } -if (! GETPOST('confirmmassaction')) { $massaction=''; } +if (! GETPOST('confirmmassaction') && $massaction != 'presend' && $massaction != 'confirm_presend') { $massaction=''; } $parameters=array('socid'=>$socid); $reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks @@ -195,175 +195,11 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") || GETP if (empty($reshook)) { - // Mass actions. Controls on number of lines checked - $maxformassaction=1000; - if (! empty($massaction) && count($toselect) < 1) - { - $error++; - setEventMessages($langs->trans("NoLineChecked"), null, "warnings"); - } - if (! $error && count($toselect) > $maxformassaction) - { - setEventMessages($langs->trans('TooManyRecordForMassAction',$maxformassaction), null, 'errors'); - $error++; - } - - // TODO Use a common inc.php file - if (! $error && $massaction == 'delete' && $user->rights->commande->supprimer) - { - $db->begin(); - - $objecttmp=new Commande($db); - $nbok = 0; - foreach($toselect as $toselectid) - { - $result=$objecttmp->fetch($toselectid); - if ($result > 0) - { - $result = $objecttmp->delete($user); - if ($result <= 0) - { - setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); - $error++; - break; - } - else $nbok++; - } - else - { - setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); - $error++; - break; - } - } - - if (! $error) - { - if ($nbok > 1) setEventMessages($langs->trans("RecordsDeleted", $nbok), null, 'mesgs'); - else setEventMessages($langs->trans("RecordDeleted", $nbok), null, 'mesgs'); - $db->commit(); - } - else - { - $db->rollback(); - } - //var_dump($listofobjectthirdparties);exit; - } - - if (! $error && $massaction == "builddoc" && $user->rights->commande->lire && ! GETPOST('button_search')) - { - require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; - require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php'; - require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; - - $objecttmp=new Commande($db); - $listofobjectid=array(); - $listofobjectthirdparties=array(); - $listofobjectref=array(); - foreach($toselect as $toselectid) - { - $objecttmp=new Commande($db); // must create new instance because instance is saved into $listofobjectref array for future use - $result=$objecttmp->fetch($toselectid); - if ($result > 0) - { - $listoinvoicesid[$toselectid]=$toselectid; - $thirdpartyid=$objecttmp->fk_soc?$objecttmp->fk_soc:$objecttmp->socid; - $listofobjectthirdparties[$thirdpartyid]=$thirdpartyid; - $listofobjectref[$toselectid]=$objecttmp->ref; - } - } - - $arrayofinclusion=array(); - foreach($listofobjectref as $tmppdf) $arrayofinclusion[]=preg_quote($tmppdf.'.pdf','/'); - $listoffiles = dol_dir_list($conf->commande->dir_output,'all',1,implode('|',$arrayofinclusion),'\.meta$|\.png','date',SORT_DESC,0,true); - - // build list of files with full path - $files = array(); - foreach($listofobjectref as $basename) - { - foreach($listoffiles as $filefound) - { - if (strstr($filefound["name"],$basename)) - { - $files[] = $conf->commande->dir_output.'/'.$basename.'/'.$filefound["name"]; - break; - } - } - } - - // Define output language (Here it is not used because we do only merging existing PDF) - $outputlangs = $langs; - $newlang=''; - if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang=GETPOST('lang_id'); - if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->thirdparty->default_lang; - if (! empty($newlang)) - { - $outputlangs = new Translate("",$conf); - $outputlangs->setDefaultLang($newlang); - } - - // Create empty PDF - $pdf=pdf_getInstance(); - if (class_exists('TCPDF')) - { - $pdf->setPrintHeader(false); - $pdf->setPrintFooter(false); - } - $pdf->SetFont(pdf_getPDFFont($outputlangs)); - - if (! empty($conf->global->MAIN_DISABLE_PDF_COMPRESSION)) $pdf->SetCompression(false); - - // Add all others - foreach($files as $file) - { - // Charge un document PDF depuis un fichier. - $pagecount = $pdf->setSourceFile($file); - for ($i = 1; $i <= $pagecount; $i++) - { - $tplidx = $pdf->importPage($i); - $s = $pdf->getTemplatesize($tplidx); - $pdf->AddPage($s['h'] > $s['w'] ? 'P' : 'L'); - $pdf->useTemplate($tplidx); - } - } - - // Create output dir if not exists - dol_mkdir($diroutputmassaction); - - // Save merged file - $filename=strtolower(dol_sanitizeFileName($langs->transnoentities("Orders"))); - if ($year) $filename.='_'.$year; - if ($month) $filename.='_'.$month; - if ($pagecount) - { - $now=dol_now(); - $file=$diroutputmassaction.'/'.$filename.'_'.dol_print_date($now,'dayhourlog').'.pdf'; - $pdf->Output($file,'F'); - if (! empty($conf->global->MAIN_UMASK)) - @chmod($file, octdec($conf->global->MAIN_UMASK)); - - $langs->load("exports"); - setEventMessages($langs->trans('FileSuccessfullyBuilt',$filename.'_'.dol_print_date($now,'dayhourlog')), null, 'mesgs'); - } - else - { - setEventMessages($langs->trans('NoPDFAvailableForDocGenAmongChecked'), null, 'errors'); - } - } - - // Remove file - if ($action == 'remove_file') - { - require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; - - $langs->load("other"); - $upload_dir = $diroutputmassaction; - $file = $upload_dir . '/' . GETPOST('file'); - $ret=dol_delete_file($file); - if ($ret) setEventMessages($langs->trans("FileWasRemoved", GETPOST('file')), null, 'mesgs'); - else setEventMessages($langs->trans("ErrorFailToDeleteFile", GETPOST('file')), null, 'errors'); - $action=''; - } + $objectclass='Commande'; + $permtoread = $user->rights->commande->lire; + $permtodelete = $user->rights->commande->supprimer; + $uploaddir = $conf->commande->dir_output; + include DOL_DOCUMENT_ROOT.'/core/actions_massactions.inc.php'; } @@ -564,7 +400,8 @@ if ($resql) if ($search_total_ht != '') $param.='&search_total_ht='.$search_total_ht; if ($search_total_vat != '') $param.='&search_total_vat='.$search_total_vat; if ($search_total_ttc != '') $param.='&search_total_ttc='.$search_total_ttc; - if ($optioncss != '') $param.='&optioncss='.$optioncss; + if ($show_files) $param.='&show_files=' .$show_files; + if ($optioncss != '') $param.='&optioncss='.$optioncss; // Add $param from extra fields foreach ($search_array_options as $key => $val) { @@ -593,6 +430,102 @@ if ($resql) print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'title_commercial.png', 0, '', '', $limit); + if ($massaction == 'presend') + { + $langs->load("mails"); + + if (! GETPOST('cancel')) + { + $objecttmp=new Commande($db); + $listofselectedid=array(); + $listofselectedthirdparties=array(); + $listofselectedref=array(); + foreach($arrayofselected as $toselectid) + { + $result=$objecttmp->fetch($toselectid); + if ($result > 0) + { + $listofselectedid[$toselectid]=$toselectid; + $thirdpartyid=$objecttmp->fk_soc?$objecttmp->fk_soc:$objecttmp->socid; + $listofselectedthirdparties[$thirdpartyid]=$thirdpartyid; + $listofselectedref[$thirdpartyid][$toselectid]=$objecttmp->ref; + } + } + } + + print ''; + + include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php'; + $formmail = new FormMail($db); + + dol_fiche_head(null, '', ''); + + $topicmail="SendOrderRef"; + $modelmail="order_send"; + + // Cree l'objet formulaire mail + include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php'; + $formmail = new FormMail($db); + $formmail->withform=-1; + $formmail->fromtype = 'user'; + $formmail->fromid = $user->id; + $formmail->fromname = $user->getFullName($langs); + $formmail->frommail = $user->email; + if (! empty($conf->global->MAIN_EMAIL_ADD_TRACK_ID) && ($conf->global->MAIN_EMAIL_ADD_TRACK_ID & 1)) // If bit 1 is set + { + $formmail->trackid='ord'.$object->id; + } + if (! empty($conf->global->MAIN_EMAIL_ADD_TRACK_ID) && ($conf->global->MAIN_EMAIL_ADD_TRACK_ID & 2)) // If bit 2 is set + { + include DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; + $formmail->frommail=dolAddEmailTrackId($formmail->frommail, 'ord'.$object->id); + } + $formmail->withfrom=1; + $liste=$langs->trans("AllRecipientSelected"); + if (count($listofselectedthirdparties) == 1) + { + $liste=array(); + $thirdpartyid=array_shift($listofselectedthirdparties); + $soc=new Societe($db); + $soc->fetch($thirdpartyid); + foreach ($soc->thirdparty_and_contact_email_array(1) as $key=>$value) + { + $liste[$key]=$value; + } + $formmail->withtoreadonly=0; + } + else + { + $formmail->withtoreadonly=1; + } + $formmail->withto=$liste; + $formmail->withtofree=0; + $formmail->withtocc=1; + $formmail->withtoccc=$conf->global->MAIN_EMAIL_USECCC; + $formmail->withtopic=$langs->transnoentities($topicmail, '__REF__', '__REFCLIENT__'); + $formmail->withfile=$langs->trans("OnlyPDFattachmentSupported"); + $formmail->withbody=1; + $formmail->withdeliveryreceipt=1; + $formmail->withcancel=1; + // Tableau des substitutions + $formmail->substit['__REF__']='__REF__'; // We want to keep the tag + $formmail->substit['__SIGNATURE__']=$user->signature; + $formmail->substit['__REFCLIENT__']='__REFCLIENT__'; // We want to keep the tag + $formmail->substit['__PERSONALIZED__']=''; + $formmail->substit['__CONTACTCIVNAME__']=''; + + // Tableau des parametres complementaires du post + $formmail->param['action']=$action; + $formmail->param['models']=$modelmail; + $formmail->param['models_id']=GETPOST('modelmailselected','int'); + $formmail->param['id']=join(',',$arrayofselected); + //$formmail->param['returnurl']=$_SERVER["PHP_SELF"].'?id='.$object->id; + + print $formmail->get_form(); + + dol_fiche_end(); + } + if ($sall) { foreach($fieldstosearchall as $key => $val) $fieldstosearchall[$key]=$langs->trans($val); @@ -1173,7 +1106,7 @@ if ($resql) // Action column print '
' + vItemRowStr + '
' . $langs->trans($newclassname) . '' . $objectsrc->getNomUrl(1); //We check if Origin document has already an invoice attached to it - $objectsrc->fetchObjectLinked($originid,'','','facture'); + $objectsrc->fetchObjectLinked($originid,$origin,'','facture'); $cntinvoice=count($objectsrc->linkedObjects['facture']); if ($cntinvoice>=1) { From 052a11a5c01e0dcee97a756c142f8b391c018028 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Doursenaud?= Date: Mon, 25 Jul 2016 17:18:13 +0200 Subject: [PATCH 066/476] Fixed interventions from order. Handling of predefined services was buggy and resulted in an SQL error because of uninitialized duration. Generalized services duration handling and exposed it in the module's admin page. --- htdocs/admin/fichinter.php | 31 ++++++++++- htdocs/fichinter/card.php | 80 ++++++++++++++++----------- htdocs/langs/en_US/interventions.lang | 3 +- 3 files changed, 79 insertions(+), 35 deletions(-) diff --git a/htdocs/admin/fichinter.php b/htdocs/admin/fichinter.php index fd34d01f620..a67407b818c 100644 --- a/htdocs/admin/fichinter.php +++ b/htdocs/admin/fichinter.php @@ -232,6 +232,20 @@ elseif ($action == 'set_FICHINTER_PRINT_PRODUCTS') { setEventMessages($langs->trans("Error"), null, 'errors'); } +} elseif ($action == 'set_FICHINTER_USE_SERVICE_DURATION') { + $val = GETPOST('FICHINTER_USE_SERVICE_DURATION', 'alpha'); + $res = dolibarr_set_const($db, "FICHINTER_USE_SERVICE_DURATION", ($val == 'on' ? 1 : 0), 'bool', 0, '', + $conf->entity); + + if (!$res > 0) { + $error++; + } + + if (!$error) { + setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); + } else { + setEventMessages($langs->trans("Error"), null, 'errors'); + } } @@ -568,7 +582,22 @@ print '/>'; print ''; print ''; print "
'; +print $langs->trans("UseServicesDurationOnFichinter"); +print ''; +print 'global->FICHINTER_USE_SERVICE_DURATION?' checked':'') . '>'; +print ''; +print ''; +print '
'; - if ($massactionbutton) + if ($massactionbutton || $massaction) // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined { $selected=0; if (in_array($obj->rowid, $arrayofselected)) $selected=1; diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php index b2b39e375d7..b6e7fc463e1 100644 --- a/htdocs/compta/facture.php +++ b/htdocs/compta/facture.php @@ -188,7 +188,7 @@ if (empty($reshook)) $qualified_for_stock_change = $object->hasProductsOrServices(1); } - $result = $object->delete(0, 0, $idwarehouse); + $result = $object->delete($user, 0, $idwarehouse); if ($result > 0) { header('Location: ' . DOL_URL_ROOT . '/compta/facture/list.php'); exit(); diff --git a/htdocs/compta/facture/class/api_invoice.class.php b/htdocs/compta/facture/class/api_invoice.class.php index 60098a38b9f..da2a6185053 100644 --- a/htdocs/compta/facture/class/api_invoice.class.php +++ b/htdocs/compta/facture/class/api_invoice.class.php @@ -262,7 +262,7 @@ class InvoiceApi extends DolibarrApi throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); } - if( !$this->invoice->delete($id)) + if( !$this->invoice->delete(DolibarrApiAccess::$user)) { throw new RestException(500); } diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php index 3b1bb17bfa7..c88648900cc 100644 --- a/htdocs/compta/facture/class/facture.class.php +++ b/htdocs/compta/facture/class/facture.class.php @@ -1548,14 +1548,14 @@ class Facture extends CommonInvoice /** * Delete invoice * - * @param int $rowid Id of invoice to delete. If empty, we delete current instance of invoice + * @param User $user User to delete. * @param int $notrigger 1=Does not execute triggers, 0= execute triggers * @param int $idwarehouse Id warehouse to use for stock change. * @return int <0 if KO, >0 if OK */ - function delete($rowid=0, $notrigger=0, $idwarehouse=-1) + function delete($user, $notrigger=0, $idwarehouse=-1) { - global $user,$langs,$conf; + global $langs,$conf; require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; if (empty($rowid)) $rowid=$this->id; diff --git a/htdocs/compta/facture/fiche-rec.php b/htdocs/compta/facture/fiche-rec.php index 198b08cb451..8eb77d30767 100644 --- a/htdocs/compta/facture/fiche-rec.php +++ b/htdocs/compta/facture/fiche-rec.php @@ -206,7 +206,7 @@ if ($action == 'add') $result = $object->create($user, $oldinvoice->id); if ($result > 0) { - $result=$oldinvoice->delete(0, 1); + $result=$oldinvoice->delete($user, 1); if ($result < 0) { $error++; @@ -242,7 +242,7 @@ if ($action == 'add') // Delete if ($action == 'delete' && $user->rights->facture->supprimer) { - $object->delete(); + $object->delete($user); header("Location: " . $_SERVER['PHP_SELF'] ); exit; } diff --git a/htdocs/compta/facture/list.php b/htdocs/compta/facture/list.php index 5bd8ecfe852..3e714c8da08 100644 --- a/htdocs/compta/facture/list.php +++ b/htdocs/compta/facture/list.php @@ -175,7 +175,8 @@ if (is_array($extrafields->attribute_label) && count($extrafields->attribute_lab */ if (GETPOST('cancel')) { $action='list'; $massaction=''; } -if (! GETPOST('confirmmassaction')) { $massaction=''; } +if (! GETPOST('confirmmassaction') && $massaction != 'presend' && $massaction != 'confirm_presend') { $massaction=''; } + $parameters=array('socid'=>$socid); $reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks @@ -218,408 +219,11 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter") || GETPOS if (empty($reshook)) { - // Mass actions. Controls on number of lines checked - $maxformassaction=1000; - if (! empty($massaction) && count($toselect) < 1) - { - $error++; - setEventMessages($langs->trans("NoLineChecked"), null, "warnings"); - } - if (! $error && count($toselect) > $maxformassaction) - { - setEventMessages($langs->trans('TooManyRecordForMassAction',$maxformassaction), null, 'errors'); - $error++; - } - - // TODO Use a common inc.php file - if (! $error && $massaction == 'confirm_presend') - { - $resaction = ''; - $nbsent = 0; - $nbignored = 0; - $langs->load("mails"); - include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; - - if (!$error && !isset($user->email)) - { - $error++; - setEventMessages($langs->trans("NoSenderEmailDefined"), null, 'warnings'); - } - - if (! $error) - { - $thirdparty=new Societe($db); - $objecttmp=new Facture($db); - $listofobjectid=array(); - $listofobjectthirdparties=array(); - $listofobjectref=array(); - foreach($toselect as $toselectid) - { - $objecttmp=new Facture($db); // must create new instance because instance is saved into $listofobjectref array for future use - $result=$objecttmp->fetch($toselectid); - if ($result > 0) - { - $listoinvoicesid[$toselectid]=$toselectid; - $thirdpartyid=$objecttmp->fk_soc?$objecttmp->fk_soc:$objecttmp->socid; - $listofobjectthirdparties[$thirdpartyid]=$thirdpartyid; - $listofobjectref[$thirdpartyid][$toselectid]=$objecttmp; - } - } - //var_dump($listofobjectthirdparties);exit; - - foreach ($listofobjectthirdparties as $thirdpartyid) - { - $result = $thirdparty->fetch($thirdpartyid); - if ($result < 0) - { - dol_print_error($db); - exit; - } - - // Define recipient $sendto and $sendtocc - if (trim($_POST['sendto'])) - { - // Recipient is provided into free text - $sendto = trim($_POST['sendto']); - $sendtoid = 0; - } - elseif ($_POST['receiver'] != '-1') - { - // Recipient was provided from combo list - if ($_POST['receiver'] == 'thirdparty') // Id of third party - { - $sendto = $thirdparty->email; - $sendtoid = 0; - } - else // Id du contact - { - $sendto = $thirdparty->contact_get_property((int) $_POST['receiver'],'email'); - $sendtoid = $_POST['receiver']; - } - } - if (trim($_POST['sendtocc'])) - { - $sendtocc = trim($_POST['sendtocc']); - } - elseif ($_POST['receivercc'] != '-1') - { - // Recipient was provided from combo list - if ($_POST['receivercc'] == 'thirdparty') // Id of third party - { - $sendtocc = $thirdparty->email; - } - else // Id du contact - { - $sendtocc = $thirdparty->contact_get_property((int) $_POST['receivercc'],'email'); - } - } - - //var_dump($listofobjectref[$thirdpartyid]); // Array of invoice for this thirdparty - - $attachedfiles=array('paths'=>array(), 'names'=>array(), 'mimes'=>array()); - $listofqualifiedinvoice=array(); - $listofqualifiedref=array(); - foreach($listofobjectref[$thirdpartyid] as $objectid => $object) - { - //var_dump($object); - //var_dump($thirdpartyid.' - '.$objectid.' - '.$object->statut); - - if ($object->statut != Facture::STATUS_VALIDATED) - { - $nbignored++; - continue; // Payment done or started or canceled - } - - // Read document - // TODO Use future field $object->fullpathdoc to know where is stored default file - // TODO If not defined, use $object->modelpdf (or defaut invoice config) to know what is template to use to regenerate doc. - $filename=dol_sanitizeFileName($object->ref).'.pdf'; - $filedir=$conf->facture->dir_output . '/' . dol_sanitizeFileName($object->ref); - $file = $filedir . '/' . $filename; - $mime = dol_mimetype($file); - - if (dol_is_file($file)) - { - if (empty($sendto)) // For the case, no recipient were set (multi thirdparties send) - { - $object->fetch_thirdparty(); - $sendto = $object->thirdparty->email; - } - - if (empty($sendto)) - { - //print "No recipient for thirdparty ".$object->thirdparty->name; - $nbignored++; - continue; - } - - if (dol_strlen($sendto)) - { - // Create form object - $attachedfiles=array( - 'paths'=>array_merge($attachedfiles['paths'],array($file)), - 'names'=>array_merge($attachedfiles['names'],array($filename)), - 'mimes'=>array_merge($attachedfiles['mimes'],array($mime)) - ); - } - - $listofqualifiedinvoice[$objectid]=$object; - $listofqualifiedref[$objectid]=$object->ref; - } - else - { - $nbignored++; - $langs->load("other"); - $resaction.='
'.$langs->trans('ErrorCantReadFile',$file).'
'; - dol_syslog('Failed to read file: '.$file, LOG_WARNING); - continue; - } - - //var_dump($listofqualifiedref); - } - - if (count($listofqualifiedinvoice) > 0) - { - $langs->load("commercial"); - $from = $user->getFullName($langs) . ' <' . $user->email .'>'; - $replyto = $from; - $subject = GETPOST('subject'); - $message = GETPOST('message'); - $sendtocc = GETPOST('sentocc'); - $sendtobcc = (empty($conf->global->MAIN_MAIL_AUTOCOPY_INVOICE_TO)?'':$conf->global->MAIN_MAIL_AUTOCOPY_INVOICE_TO); - - $substitutionarray=array( - '__ID__' => join(', ',array_keys($listofqualifiedinvoice)), - '__EMAIL__' => $thirdparty->email, - '__CHECK_READ__' => '', - //'__LASTNAME__' => $obj2->lastname, - //'__FIRSTNAME__' => $obj2->firstname, - '__FACREF__' => join(', ',$listofqualifiedref), // For backward compatibility - '__REF__' => join(', ',$listofqualifiedref), - '__REFCLIENT__' => $thirdparty->name - ); - - $subject=make_substitutions($subject, $substitutionarray); - $message=make_substitutions($message, $substitutionarray); - - $filepath = $attachedfiles['paths']; - $filename = $attachedfiles['names']; - $mimetype = $attachedfiles['mimes']; - - //var_dump($filepath); - - // Send mail - require_once(DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php'); - $mailfile = new CMailFile($subject,$sendto,$from,$message,$filepath,$mimetype,$filename,$sendtocc,$sendtobcc,$deliveryreceipt,-1); - if ($mailfile->error) - { - $resaction.='
'.$mailfile->error.'
'; - } - else - { - $result=$mailfile->sendfile(); - if ($result) - { - $resaction.=$langs->trans('MailSuccessfulySent',$mailfile->getValidAddress($from,2),$mailfile->getValidAddress($sendto,2)).'
'; // Must not contain " - - $error=0; - - // Insert logs into agenda - foreach($listofqualifiedinvoice as $invid => $object) - { - $actiontypecode='AC_FAC'; - $actionmsg=$langs->transnoentities('MailSentBy').' '.$from.' '.$langs->transnoentities('To').' '.$sendto; - if ($message) - { - if ($sendtocc) $actionmsg = dol_concatdesc($actionmsg, $langs->transnoentities('Bcc') . ": " . $sendtocc); - $actionmsg = dol_concatdesc($actionmsg, $langs->transnoentities('MailTopic') . ": " . $subject); - $actionmsg = dol_concatdesc($actionmsg, $langs->transnoentities('TextUsedInTheMessageBody') . ":"); - $actionmsg = dol_concatdesc($actionmsg, $message); - } - - // Initialisation donnees - $object->sendtoid = 0; - $object->actiontypecode = $actiontypecode; - $object->actionmsg = $actionmsg; // Long text - $object->actionmsg2 = $actionmsg2; // Short text - $object->fk_element = $invid; - $object->elementtype = $object->element; - - // Appel des triggers - include_once(DOL_DOCUMENT_ROOT . "/core/class/interfaces.class.php"); - $interface=new Interfaces($db); - $result=$interface->run_triggers('BILL_SENTBYMAIL',$object,$user,$langs,$conf); - if ($result < 0) { $error++; $errors=$interface->errors; } - // Fin appel triggers - - if ($error) - { - setEventMessages($db->lasterror(), $errors, 'errors'); - dol_syslog("Error in trigger BILL_SENTBYMAIL ".$db->lasterror(), LOG_ERR); - } - $nbsent++; - } - } - else - { - $langs->load("other"); - if ($mailfile->error) - { - $resaction.=$langs->trans('ErrorFailedToSendMail',$from,$sendto); - $resaction.='
'.$mailfile->error.'
'; - } - else - { - $resaction.='
No mail sent. Feature is disabled by option MAIN_DISABLE_ALL_MAILS
'; - } - } - } - } - } - - $resaction.=($resaction?'
':$resaction); - $resaction.=''.$langs->trans("ResultOfMailSending").':
'."\n"; - $resaction.=$langs->trans("NbSelected").': '.count($toselect)."\n
"; - $resaction.=$langs->trans("NbIgnored").': '.($nbignored?$nbignored:0)."\n
"; - $resaction.=$langs->trans("NbSent").': '.($nbsent?$nbsent:0)."\n
"; - - if ($nbsent) - { - $action=''; // Do not show form post if there was at least one successfull sent - setEventMessages($langs->trans("EMailSentToNRecipients", $nbsent.'/'.count($toselect)), null, 'mesgs'); - setEventMessages($resaction, null, 'mesgs'); - } - else - { - //setEventMessages($langs->trans("EMailSentToNRecipients", 0), null, 'warnings'); // May be object has no generated PDF file - setEventMessages($resaction, null, 'warnings'); - } - } - - $action='list'; - $massaction=''; - } - - if (! $error && $massaction == "builddoc" && $user->rights->facture->lire && ! GETPOST('button_search')) - { - require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; - require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php'; - require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; - - $objecttmp=new Facture($db); - $listofobjectid=array(); - $listofobjectthirdparties=array(); - $listofobjectref=array(); - foreach($toselect as $toselectid) - { - $objecttmp=new Facture($db); // must create new instance because instance is saved into $listofobjectref array for future use - $result=$objecttmp->fetch($toselectid); - if ($result > 0) - { - $listoinvoicesid[$toselectid]=$toselectid; - $thirdpartyid=$objecttmp->fk_soc?$objecttmp->fk_soc:$objecttmp->socid; - $listofobjectthirdparties[$thirdpartyid]=$thirdpartyid; - $listofobjectref[$toselectid]=$objecttmp->ref; - } - } - - $arrayofinclusion=array(); - foreach($listofobjectref as $tmppdf) $arrayofinclusion[]=preg_quote($tmppdf.'.pdf','/'); - $listoffiles = dol_dir_list($conf->facture->dir_output,'all',1,implode('|',$arrayofinclusion),'\.meta$|\.png','date',SORT_DESC,0,true); - - // build list of files with full path - $files = array(); - foreach($listofobjectref as $basename) - { - foreach($listoffiles as $filefound) - { - if (strstr($filefound["name"],$basename)) - { - $files[] = $conf->facture->dir_output.'/'.$basename.'/'.$filefound["name"]; - break; - } - } - } - - // Define output language (Here it is not used because we do only merging existing PDF) - $outputlangs = $langs; - $newlang=''; - if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang=GETPOST('lang_id'); - if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->thirdparty->default_lang; - if (! empty($newlang)) - { - $outputlangs = new Translate("",$conf); - $outputlangs->setDefaultLang($newlang); - } - - // Create empty PDF - $pdf=pdf_getInstance(); - if (class_exists('TCPDF')) - { - $pdf->setPrintHeader(false); - $pdf->setPrintFooter(false); - } - $pdf->SetFont(pdf_getPDFFont($outputlangs)); - - if (! empty($conf->global->MAIN_DISABLE_PDF_COMPRESSION)) $pdf->SetCompression(false); - - // Add all others - foreach($files as $file) - { - // Charge un document PDF depuis un fichier. - $pagecount = $pdf->setSourceFile($file); - for ($i = 1; $i <= $pagecount; $i++) - { - $tplidx = $pdf->importPage($i); - $s = $pdf->getTemplatesize($tplidx); - $pdf->AddPage($s['h'] > $s['w'] ? 'P' : 'L'); - $pdf->useTemplate($tplidx); - } - } - - // Create output dir if not exists - dol_mkdir($diroutputmassaction); - - // Save merged file - $filename=strtolower(dol_sanitizeFileName($langs->transnoentities("Invoices"))); - if ($filter=='paye:0') - { - if ($option=='late') $filename.='_'.strtolower(dol_sanitizeFileName($langs->transnoentities("Unpaid"))).'_'.strtolower(dol_sanitizeFileName($langs->transnoentities("Late"))); - else $filename.='_'.strtolower(dol_sanitizeFileName($langs->transnoentities("Unpaid"))); - } - if ($year) $filename.='_'.$year; - if ($month) $filename.='_'.$month; - if ($pagecount) - { - $now=dol_now(); - $file=$diroutputmassaction.'/'.$filename.'_'.dol_print_date($now,'dayhourlog').'.pdf'; - $pdf->Output($file,'F'); - if (! empty($conf->global->MAIN_UMASK)) - @chmod($file, octdec($conf->global->MAIN_UMASK)); - - $langs->load("exports"); - setEventMessages($langs->trans('FileSuccessfullyBuilt',$filename.'_'.dol_print_date($now,'dayhourlog')), null, 'mesgs'); - } - else - { - setEventMessages($langs->trans('NoPDFAvailableForDocGenAmongChecked'), null, 'errors'); - } - } - - // Remove file - if ($action == 'remove_file') - { - require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; - - $langs->load("other"); - $upload_dir = $diroutputmassaction; - $file = $upload_dir . '/' . GETPOST('file'); - $ret=dol_delete_file($file); - if ($ret) setEventMessages($langs->trans("FileWasRemoved", GETPOST('file')), null, 'mesgs'); - else setEventMessages($langs->trans("ErrorFailToDeleteFile", GETPOST('file')), null, 'errors'); - $action=''; - } - + $objectclass='Facture'; + $permtoread = $user->rights->facture->lire; + $permtodelete = $user->rights->facture->supprimer; + $uploaddir = $conf->facture->dir_output; + include DOL_DOCUMENT_ROOT.'/core/actions_massactions.inc.php'; } @@ -838,6 +442,18 @@ if ($resql) 'presend'=>$langs->trans("SendByMail"), 'builddoc'=>$langs->trans("PDFMerge") ); + if ($user->rights->facture->supprimer) + { + //if (! empty($conf->global->STOCK_CALCULATE_ON_BILL) || empty($conf->global->INVOICE_CAN_ALWAYS_BE_REMOVED)) + if (empty($conf->global->INVOICE_CAN_ALWAYS_BE_REMOVED)) + { + // mass deletion never possible on invoices on such situation + } + else + { + $arrayofmassactions['delete']=$langs->trans("Delete"); + } + } if ($massaction == 'presend') $arrayofmassactions=array(); $massactionbutton=$form->selectMassAction('', $arrayofmassactions); @@ -942,6 +558,7 @@ if ($resql) $formmail->param['models']=$modelmail; $formmail->param['models_id']=GETPOST('modelmailselected','int'); $formmail->param['facid']=join(',',$arrayofselected); + // TODO We should use $formmail->param['id']=join(',',$arrayofselected); //$formmail->param['returnurl']=$_SERVER["PHP_SELF"].'?id='.$object->id; print $formmail->get_form(); @@ -1431,7 +1048,7 @@ if ($resql) // Action column print '
'; - if ($massactionbutton) + if ($massactionbutton || $massaction) // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined { $selected=0; if (in_array($obj->facid, $arrayofselected)) $selected=1; @@ -1496,7 +1113,7 @@ if ($resql) $paramwithoutshowfiles=preg_replace('/show_files=1&?/','',$param); $title=$langs->trans("MassFilesArea").' ('.$langs->trans("Hide").')'; - print $formfile->showdocuments('massfilesarea_invoice','',$filedir,$urlsource,0,$delallowed,'',1,1,0,48,1,$param,$title,''); + print $formfile->showdocuments('massfilesarea_invoices','',$filedir,$urlsource,0,$delallowed,'',1,1,0,48,1,$param,$title,''); } else { diff --git a/htdocs/core/actions_massactions.inc.php b/htdocs/core/actions_massactions.inc.php new file mode 100644 index 00000000000..3c800f1f7fb --- /dev/null +++ b/htdocs/core/actions_massactions.inc.php @@ -0,0 +1,499 @@ + + * + * 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 . + * or see http://www.gnu.org/ + */ + +/** + * \file htdocs/core/actions_massactions.inc.php + * \brief Code for actions done with massaction button (send by email, merge pdf, delete, ...) + */ + + +// $massaction must be defined +// $objectclass must be defined +// $uploaddir (example $conf->projet->dir_output . "/";) +// $toselect may be defined + + +// Protection +if (empty($objectclass) || empty($uploaddir)) +{ + dol_print_error(null, 'include of actions_massactions.inc.php is done but var $massaction or $objectclass or $uploaddir was not defined'); + exit; +} + + +// Mass actions. Controls on number of lines checked +$maxformassaction=1000; +if (! empty($massaction) && count($toselect) < 1) +{ + $error++; + setEventMessages($langs->trans("NoLineChecked"), null, "warnings"); +} +if (! $error && count($toselect) > $maxformassaction) +{ + setEventMessages($langs->trans('TooManyRecordForMassAction',$maxformassaction), null, 'errors'); + $error++; +} + + +if (! $error && $massaction == 'confirm_presend') +{ + $resaction = ''; + $nbsent = 0; + $nbignored = 0; + $langs->load("mails"); + include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + + if (!$error && !isset($user->email)) + { + $error++; + setEventMessages($langs->trans("NoSenderEmailDefined"), null, 'warnings'); + } + + if (! $error) + { + $thirdparty=new Societe($db); + $objecttmp=new $objectclass($db); + $listofobjectid=array(); + $listofobjectthirdparties=array(); + $listofobjectref=array(); + foreach($toselect as $toselectid) + { + $objecttmp=new $objectclass($db); // must create new instance because instance is saved into $listofobjectref array for future use + $result=$objecttmp->fetch($toselectid); + if ($result > 0) + { + $listoinvoicesid[$toselectid]=$toselectid; + $thirdpartyid=$objecttmp->fk_soc?$objecttmp->fk_soc:$objecttmp->socid; + $listofobjectthirdparties[$thirdpartyid]=$thirdpartyid; + $listofobjectref[$thirdpartyid][$toselectid]=$objecttmp; + } + } + //var_dump($listofobjectthirdparties);exit; + + foreach ($listofobjectthirdparties as $thirdpartyid) + { + $result = $thirdparty->fetch($thirdpartyid); + if ($result < 0) + { + dol_print_error($db); + exit; + } + + // Define recipient $sendto and $sendtocc + if (trim($_POST['sendto'])) + { + // Recipient is provided into free text + $sendto = trim($_POST['sendto']); + $sendtoid = 0; + } + elseif ($_POST['receiver'] != '-1') + { + // Recipient was provided from combo list + if ($_POST['receiver'] == 'thirdparty') // Id of third party + { + $sendto = $thirdparty->email; + $sendtoid = 0; + } + else // Id du contact + { + $sendto = $thirdparty->contact_get_property((int) $_POST['receiver'],'email'); + $sendtoid = $_POST['receiver']; + } + } + if (trim($_POST['sendtocc'])) + { + $sendtocc = trim($_POST['sendtocc']); + } + elseif ($_POST['receivercc'] != '-1') + { + // Recipient was provided from combo list + if ($_POST['receivercc'] == 'thirdparty') // Id of third party + { + $sendtocc = $thirdparty->email; + } + else // Id du contact + { + $sendtocc = $thirdparty->contact_get_property((int) $_POST['receivercc'],'email'); + } + } + + //var_dump($listofobjectref[$thirdpartyid]); // Array of invoice for this thirdparty + + $attachedfiles=array('paths'=>array(), 'names'=>array(), 'mimes'=>array()); + $listofqualifiedinvoice=array(); + $listofqualifiedref=array(); + foreach($listofobjectref[$thirdpartyid] as $objectid => $object) + { + //var_dump($object); + //var_dump($thirdpartyid.' - '.$objectid.' - '.$object->statut); + + if ($objectclass == 'Facture' && $object->statut != Facture::STATUS_VALIDATED) + { + $nbignored++; + $resaction.='
'.$langs->trans('ErrorOnlyInvoiceValidatedCanBeSentInMassAction',$object->ref).'

'; + continue; // Payment done or started or canceled + } + if ($objectclass == 'Commande' && $object->statut == Commande::STATUS_DRAFT) + { + $nbignored++; + $resaction.='
'.$langs->trans('ErrorOnlyOrderNotDraftCanBeSentInMassAction',$object->ref).'

'; + continue; + } + + // Read document + // TODO Use future field $object->fullpathdoc to know where is stored default file + // TODO If not defined, use $object->modelpdf (or defaut invoice config) to know what is template to use to regenerate doc. + $filename=dol_sanitizeFileName($object->ref).'.pdf'; + $filedir=$uploaddir . '/' . dol_sanitizeFileName($object->ref); + $file = $filedir . '/' . $filename; + $mime = dol_mimetype($file); + + if (dol_is_file($file)) + { + if (empty($sendto)) // For the case, no recipient were set (multi thirdparties send) + { + $object->fetch_thirdparty(); + $sendto = $object->thirdparty->email; + } + + if (empty($sendto)) + { + //print "No recipient for thirdparty ".$object->thirdparty->name; + $nbignored++; + continue; + } + + if (dol_strlen($sendto)) + { + // Create form object + $attachedfiles=array( + 'paths'=>array_merge($attachedfiles['paths'],array($file)), + 'names'=>array_merge($attachedfiles['names'],array($filename)), + 'mimes'=>array_merge($attachedfiles['mimes'],array($mime)) + ); + } + + $listofqualifiedinvoice[$objectid]=$object; + $listofqualifiedref[$objectid]=$object->ref; + } + else + { + $nbignored++; + $langs->load("errors"); + $resaction.='
'.$langs->trans('ErrorCantReadFile',$file).'

'; + dol_syslog('Failed to read file: '.$file, LOG_WARNING); + continue; + } + + //var_dump($listofqualifiedref); + } + + if (count($listofqualifiedinvoice) > 0) + { + $langs->load("commercial"); + $from = $user->getFullName($langs) . ' <' . $user->email .'>'; + $replyto = $from; + $subject = GETPOST('subject'); + $message = GETPOST('message'); + $sendtocc = GETPOST('sentocc'); + $sendtobcc = (empty($conf->global->MAIN_MAIL_AUTOCOPY_INVOICE_TO)?'':$conf->global->MAIN_MAIL_AUTOCOPY_INVOICE_TO); + + $substitutionarray=array( + '__ID__' => join(', ',array_keys($listofqualifiedinvoice)), + '__EMAIL__' => $thirdparty->email, + '__CHECK_READ__' => '', + '__FACREF__' => join(', ',$listofqualifiedref), // For backward compatibility + '__ORDERREF__' => join(', ',$listofqualifiedref), // For backward compatibility + '__PROPREF__' => join(', ',$listofqualifiedref), // For backward compatibility + '__REF__' => join(', ',$listofqualifiedref), + '__REFCLIENT__' => $thirdparty->name + ); + + $subject=make_substitutions($subject, $substitutionarray); + $message=make_substitutions($message, $substitutionarray); + + $filepath = $attachedfiles['paths']; + $filename = $attachedfiles['names']; + $mimetype = $attachedfiles['mimes']; + + //var_dump($filepath); + + // Send mail + require_once(DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php'); + $mailfile = new CMailFile($subject,$sendto,$from,$message,$filepath,$mimetype,$filename,$sendtocc,$sendtobcc,$deliveryreceipt,-1); + if ($mailfile->error) + { + $resaction.='
'.$mailfile->error.'
'; + } + else + { + $result=$mailfile->sendfile(); + if ($result) + { + $resaction.=$langs->trans('MailSuccessfulySent',$mailfile->getValidAddress($from,2),$mailfile->getValidAddress($sendto,2)).'
'; // Must not contain " + + $error=0; + + // Insert logs into agenda + foreach($listofqualifiedinvoice as $invid => $object) + { + if ($objectclass == 'Propale') $actiontypecode='AC_PROP'; + if ($objectclass == 'Commande') $actiontypecode='AC_COM'; + if ($objectclass == 'Facture') $actiontypecode='AC_FAC'; + if ($objectclass == 'Supplier_Proposal') $actiontypecode='AC_SUP_PRO'; + if ($objectclass == 'CommandeFournisseur') $actiontypecode='AC_SUP_ORD'; + if ($objectclass == 'FactureFournisseur') $actiontypecode='AC_SUP_INV'; + + $actionmsg=$langs->transnoentities('MailSentBy').' '.$from.' '.$langs->transnoentities('To').' '.$sendto; + if ($message) + { + if ($sendtocc) $actionmsg = dol_concatdesc($actionmsg, $langs->transnoentities('Bcc') . ": " . $sendtocc); + $actionmsg = dol_concatdesc($actionmsg, $langs->transnoentities('MailTopic') . ": " . $subject); + $actionmsg = dol_concatdesc($actionmsg, $langs->transnoentities('TextUsedInTheMessageBody') . ":"); + $actionmsg = dol_concatdesc($actionmsg, $message); + } + + // Initialisation donnees + $object->sendtoid = 0; + $object->actiontypecode = $actiontypecode; + $object->actionmsg = $actionmsg; // Long text + $object->actionmsg2 = $actionmsg2; // Short text + $object->fk_element = $invid; + $object->elementtype = $object->element; + + // Appel des triggers + include_once(DOL_DOCUMENT_ROOT . "/core/class/interfaces.class.php"); + $interface=new Interfaces($db); + $result=$interface->run_triggers('BILL_SENTBYMAIL',$object,$user,$langs,$conf); + if ($result < 0) { $error++; $errors=$interface->errors; } + // Fin appel triggers + + if ($error) + { + setEventMessages($db->lasterror(), $errors, 'errors'); + dol_syslog("Error in trigger BILL_SENTBYMAIL ".$db->lasterror(), LOG_ERR); + } + $nbsent++; + } + } + else + { + $langs->load("other"); + if ($mailfile->error) + { + $resaction.=$langs->trans('ErrorFailedToSendMail',$from,$sendto); + $resaction.='
'.$mailfile->error.'
'; + } + else + { + $resaction.='
No mail sent. Feature is disabled by option MAIN_DISABLE_ALL_MAILS
'; + } + } + } + } + } + + $resaction.=($resaction?'
':$resaction); + $resaction.=''.$langs->trans("ResultOfMailSending").':
'."\n"; + $resaction.=$langs->trans("NbSelected").': '.count($toselect)."\n
"; + $resaction.=$langs->trans("NbIgnored").': '.($nbignored?$nbignored:0)."\n
"; + $resaction.=$langs->trans("NbSent").': '.($nbsent?$nbsent:0)."\n
"; + + if ($nbsent) + { + $action=''; // Do not show form post if there was at least one successfull sent + //setEventMessages($langs->trans("EMailSentToNRecipients", $nbsent.'/'.count($toselect)), null, 'mesgs'); + setEventMessages($langs->trans("EMailSentForNElements", $nbsent.'/'.count($toselect)), null, 'mesgs'); + setEventMessages($resaction, null, 'mesgs'); + } + else + { + //setEventMessages($langs->trans("EMailSentToNRecipients", 0), null, 'warnings'); // May be object has no generated PDF file + setEventMessages($resaction, null, 'warnings'); + } + } + + $action='list'; + $massaction=''; +} + +if (! $error && $massaction == "builddoc" && $permtoread && ! GETPOST('button_search')) +{ + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php'; + require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; + + $objecttmp=new $objectclass($db); + $listofobjectid=array(); + $listofobjectthirdparties=array(); + $listofobjectref=array(); + foreach($toselect as $toselectid) + { + $objecttmp=new $objectclass($db); // must create new instance because instance is saved into $listofobjectref array for future use + $result=$objecttmp->fetch($toselectid); + if ($result > 0) + { + $listoinvoicesid[$toselectid]=$toselectid; + $thirdpartyid=$objecttmp->fk_soc?$objecttmp->fk_soc:$objecttmp->socid; + $listofobjectthirdparties[$thirdpartyid]=$thirdpartyid; + $listofobjectref[$toselectid]=$objecttmp->ref; + } + } + + $arrayofinclusion=array(); + foreach($listofobjectref as $tmppdf) $arrayofinclusion[]=preg_quote($tmppdf.'.pdf','/'); + $listoffiles = dol_dir_list($uploaddir,'all',1,implode('|',$arrayofinclusion),'\.meta$|\.png','date',SORT_DESC,0,true); + + // build list of files with full path + $files = array(); + foreach($listofobjectref as $basename) + { + foreach($listoffiles as $filefound) + { + if (strstr($filefound["name"],$basename)) + { + $files[] = $uploaddir.'/'.$basename.'/'.$filefound["name"]; + break; + } + } + } + + // Define output language (Here it is not used because we do only merging existing PDF) + $outputlangs = $langs; + $newlang=''; + if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang=GETPOST('lang_id'); + if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->thirdparty->default_lang; + if (! empty($newlang)) + { + $outputlangs = new Translate("",$conf); + $outputlangs->setDefaultLang($newlang); + } + + // Create empty PDF + $pdf=pdf_getInstance(); + if (class_exists('TCPDF')) + { + $pdf->setPrintHeader(false); + $pdf->setPrintFooter(false); + } + $pdf->SetFont(pdf_getPDFFont($outputlangs)); + + if (! empty($conf->global->MAIN_DISABLE_PDF_COMPRESSION)) $pdf->SetCompression(false); + + // Add all others + foreach($files as $file) + { + // Charge un document PDF depuis un fichier. + $pagecount = $pdf->setSourceFile($file); + for ($i = 1; $i <= $pagecount; $i++) + { + $tplidx = $pdf->importPage($i); + $s = $pdf->getTemplatesize($tplidx); + $pdf->AddPage($s['h'] > $s['w'] ? 'P' : 'L'); + $pdf->useTemplate($tplidx); + } + } + + // Create output dir if not exists + dol_mkdir($diroutputmassaction); + + // Save merged file + $filename=strtolower(dol_sanitizeFileName($langs->transnoentities("Invoices"))); + if ($filter=='paye:0') + { + if ($option=='late') $filename.='_'.strtolower(dol_sanitizeFileName($langs->transnoentities("Unpaid"))).'_'.strtolower(dol_sanitizeFileName($langs->transnoentities("Late"))); + else $filename.='_'.strtolower(dol_sanitizeFileName($langs->transnoentities("Unpaid"))); + } + if ($year) $filename.='_'.$year; + if ($month) $filename.='_'.$month; + if ($pagecount) + { + $now=dol_now(); + $file=$diroutputmassaction.'/'.$filename.'_'.dol_print_date($now,'dayhourlog').'.pdf'; + $pdf->Output($file,'F'); + if (! empty($conf->global->MAIN_UMASK)) + @chmod($file, octdec($conf->global->MAIN_UMASK)); + + $langs->load("exports"); + setEventMessages($langs->trans('FileSuccessfullyBuilt',$filename.'_'.dol_print_date($now,'dayhourlog')), null, 'mesgs'); + } + else + { + setEventMessages($langs->trans('NoPDFAvailableForDocGenAmongChecked'), null, 'errors'); + } +} + +// Remove a file from massaction area +if ($action == 'remove_file') +{ + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + + $langs->load("other"); + $upload_dir = $diroutputmassaction; + $file = $upload_dir . '/' . GETPOST('file'); + $ret=dol_delete_file($file); + if ($ret) setEventMessages($langs->trans("FileWasRemoved", GETPOST('file')), null, 'mesgs'); + else setEventMessages($langs->trans("ErrorFailToDeleteFile", GETPOST('file')), null, 'errors'); + $action=''; +} + +// Delete records +if (! $error && $massaction == 'delete' && $permtodelete) +{ + $db->begin(); + + $objecttmp=new $objectclass($db); + $nbok = 0; + foreach($toselect as $toselectid) + { + $result=$objecttmp->fetch($toselectid); + if ($result > 0) + { + $result = $objecttmp->delete($user); + if ($result <= 0) + { + setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); + $error++; + break; + } + else $nbok++; + } + else + { + setEventMessages($objecttmp->error, $objecttmp->errors, 'errors'); + $error++; + break; + } + } + + if (! $error) + { + if ($nbok > 1) setEventMessages($langs->trans("RecordsDeleted", $nbok), null, 'mesgs'); + else setEventMessages($langs->trans("RecordDeleted", $nbok), null, 'mesgs'); + $db->commit(); + } + else + { + $db->rollback(); + } + //var_dump($listofobjectthirdparties);exit; +} + + + + diff --git a/htdocs/core/lib/files.lib.php b/htdocs/core/lib/files.lib.php index e8cb4545507..6e44f4754b9 100644 --- a/htdocs/core/lib/files.lib.php +++ b/htdocs/core/lib/files.lib.php @@ -1990,7 +1990,7 @@ function dol_check_secure_access_document($modulepart,$original_file,$entity,$fu $original_file=$conf->facture->dir_output.'/'.$original_file; $sqlprotectagainstexternals = "SELECT fk_soc as fk_soc FROM ".MAIN_DB_PREFIX."facture WHERE ref='".$db->escape($refname)."' AND entity=".$conf->entity; } - else if ($modulepart == 'massfilesarea_facture') + else if ($modulepart == 'massfilesarea_invoices') { if ($fuser->rights->facture->lire || preg_match('/^specimen/i',$original_file)) { @@ -1998,7 +1998,15 @@ function dol_check_secure_access_document($modulepart,$original_file,$entity,$fu } $original_file=$conf->facture->dir_output.'/temp/massgeneration/'.$user->id.'/'.$original_file; } - + else if ($modulepart == 'massfilesarea_orders') + { + if ($fuser->rights->commande->lire || preg_match('/^specimen/i',$original_file)) + { + $accessallowed=1; + } + $original_file=$conf->commande->dir_output.'/temp/massgeneration/'.$user->id.'/'.$original_file; + } + // Wrapping pour les fiches intervention else if ($modulepart == 'ficheinter') { diff --git a/htdocs/langs/en_US/mails.lang b/htdocs/langs/en_US/mails.lang index 6c1e41c9d1c..104d5d3e657 100644 --- a/htdocs/langs/en_US/mails.lang +++ b/htdocs/langs/en_US/mails.lang @@ -67,8 +67,9 @@ MailingStatusRead=Read YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=EMail sent to %s recipients. +EMailSentForNElements=EMail sent for %s elements. XTargetsAdded=%s recipients added into target list -OnlyPDFattachmentSupported=If the PDF document was already generated for the invoice, it will be attached to email. If not, no email will be sent (also, note that only pdf invoice are supported as attachment in mass sending in this version). +OnlyPDFattachmentSupported=If the PDF document was already generated for the object to send, it will be attached to email. If not, no email will be sent (also, note that only pdf documents are supported as attachment in mass sending in this version). AllRecipientSelected=All thirdparties selected and if an email is set. ResultOfMailSending=Result of mass EMail sending NbSelected=Nb selected diff --git a/htdocs/paypal/lib/paypal.lib.php b/htdocs/paypal/lib/paypal.lib.php index b51086b8e07..6587e25ecb1 100644 --- a/htdocs/paypal/lib/paypal.lib.php +++ b/htdocs/paypal/lib/paypal.lib.php @@ -228,6 +228,8 @@ function getPaypalPaymentUrl($mode,$type,$ref='',$amount='9.99',$freetag='your_f { global $conf; + $ref=str_replace(' ','',$ref); + if ($type == 'free') { $out=DOL_MAIN_URL_ROOT.'/public/paypal/newpayment.php?amount='.($mode?'':'').$amount.($mode?'':'').'&tag='.($mode?'':'').$freetag.($mode?'':''); From e0f5a3cfe980ac79b86dda1083e0131cd357e745 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 25 Jul 2016 21:51:29 +0200 Subject: [PATCH 070/476] Fix send email in mass action --- htdocs/compta/facture/list.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/htdocs/compta/facture/list.php b/htdocs/compta/facture/list.php index 0e9c6874103..67e3d0aabc9 100644 --- a/htdocs/compta/facture/list.php +++ b/htdocs/compta/facture/list.php @@ -173,7 +173,7 @@ if (is_array($extrafields->attribute_label) && count($extrafields->attribute_lab */ if (GETPOST('cancel')) { $action='list'; $massaction=''; } -if (! GETPOST('confirmmassaction')) { $massaction=''; } +if (! GETPOST('confirmmassaction') && $massaction != 'confirm_presend') { $massaction=''; } $parameters=array('socid'=>$socid); $reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks @@ -324,6 +324,7 @@ if (empty($reshook)) if ($object->statut != Facture::STATUS_VALIDATED) { $nbignored++; + $resaction.='
'.$langs->trans('ErrorOnlyInvoiceValidatedCanBeSentInMassAction',$object->ref).'

'; continue; // Payment done or started or canceled } @@ -366,8 +367,8 @@ if (empty($reshook)) else { $nbignored++; - $langs->load("other"); - $resaction.='
'.$langs->trans('ErrorCantReadFile',$file).'
'; + $langs->load("errors"); + $resaction.='
'.$langs->trans('ErrorCantReadFile',$file).'

'; dol_syslog('Failed to read file: '.$file, LOG_WARNING); continue; } From caf963351b94ea3ae93325e87d9905a873251596 Mon Sep 17 00:00:00 2001 From: Sergio Sanchis Climent Date: Tue, 26 Jul 2016 01:59:27 +0200 Subject: [PATCH 071/476] change jsgantt to jsGanttImproved --- htdocs/includes/jsgantt/jsgantt.css | 265 +- htdocs/includes/jsgantt/jsgantt.js | 4746 +++++++++++++----------- htdocs/includes/jsgantt/jsgantt.min.js | 3 +- htdocs/projet/ganttchart.inc.php | 32 +- htdocs/projet/ganttview.php | 31 +- htdocs/projet/jsgantt_language.js.php | 49 +- 6 files changed, 2787 insertions(+), 2339 deletions(-) diff --git a/htdocs/includes/jsgantt/jsgantt.css b/htdocs/includes/jsgantt/jsgantt.css index 7acf9318347..78a7e83e971 100644 --- a/htdocs/includes/jsgantt/jsgantt.css +++ b/htdocs/includes/jsgantt/jsgantt.css @@ -1,53 +1,242 @@ +/* Sample CSS for jsGanttImproved v1.7.3 */ +div.gantt { font-family:tahoma, arial, verdana, Sans-serif; font-size:10px; color: #2F2F2F; } -// These are the class/styles used by various objects in GanttChart. However, Firefox has problems deciphering class style when DIVs are embedded in other DIVs. +.gantt table { border-collapse: collapse; } +.gantt td { padding: 0px; } -// GanttChart makes heavy use of embedded DIVS, thus the style are often embedded directly in the objects html. If this could be resolved with Firefox, it would +/* cell defaults */ +.gmajorheading, +.gminorheading, +.gminorheadingwkend, +.gtaskcell, +.gtaskcellwkend { height: 19px; font-size: 12px; border: #efefef 1px solid; text-align: center; cursor: default } +.gtasklist { height: 19px; min-width: 5px; max-width: 5px; width: 5px; border: #efefef 1px solid; border-right: none; } /* all three width values set just to make sure - helps resizing code */ -// make alot of the code look simpleer/cleaner without all the embedded styles +/* Additional values for some cell elements */ +.gtaskheading, +.gmajorheading, +.gminorheading { background-color: #ffffff; font-weight: bold; font-size: 9px; white-space: nowrap; } +.gtaskcellwkend, +.gminorheadingwkend { background-color: #f7f7f7; font-weight: bold; font-size: 9px; white-space: nowrap; } +td.gtaskcell { text-align: left } +td.gspanning { border-left: none; border-right: none; } +.gtaskcelldiv { position: relative; } + +/* Task list defaults */ +.gtaskheading, +.gname, +.gtaskname, +.gresource, +.gduration, +.gpccomplete, +.gstartdate, +.genddate { height: 18px; white-space: nowrap; border: #efefef 1px solid; } + +/* Additional values for some task list elements */ +.gresource, +.gduration, +.gpccomplete, +.gstartdate div, /* needed for IE8 */ +.gstartdate { text-align: center; min-width: 70px; max-width: 70px; width: 70px; font-size: 10px; } +.genddate div, /* needed for IE8 */ +.genddate { text-align: center; min-width: 70px; max-width: 70px; width: 70px; font-size: 10px; } +.gtaskheading { text-align: center; } +.gtaskname div, /* needed for IE8 */ +.gtaskname { min-width: 170px; max-width: 170px; width: 170px;/* font-size: 9px;*/ border-left: none; } + +.gselector { text-align: left; white-space: nowrap; min-width: 170px; max-width: 170px; width: 170px; } + +.gformlabel { position:relative; top:0px; cursor:pointer; border: #ffffff 1px solid; margin-left: 2px; padding-left: 2px; padding-right: 2px; } +span.gformlabel:hover, +span.gselected { background-color: #dbecff; border: #cccccc 1px solid;} + +span.gfoldercollapse { color:#000000; cursor:pointer; font-weight:bold; font-size: 12px; font-family: Courier, "Courier New", monospace; } + +.gtasktableh, +.gtasktable { border-right: #efefef 1px solid; } +.gcharttable { border: #efefef 1px solid; } /* for some reason firefox needs this */ + +/* Differentiate Group, Milestone and Ordinary task items (applied to row) */ +.ggroupitem { background-color: #fbfbfb; font-weight: bold; } +.gmileitem, +.glineitem { background-color: #ffffff; } + +/* highlight row (applied to row) */ +.gitemhighlight td { background-image: none; background-color: #fffaaa;} + +/* task bar caption text styles */ +.gmilecaption, +.ggroupcaption, +.gcaption { font-weight: normal; font-size: 9px; text-align: left; white-space: nowrap; top:1px; position: absolute; top:2px; } + +.ggroupcaption, +.gcaption { right: -126px; } + +/* Task complete %age bar shared attributes */ +.gtaskcomplete { float:left; overflow: hidden; } + +/* Task complete %age bar */ +.gtaskcomplete { height:5px; background-color:#000000; margin-top:4px; opacity:0.4; filter: alpha(opacity=40); } + +/* Milestones */ +.gmilestone { font-size: 14px; position: absolute; top: -2px; } +.gmdtop { top: 2px; overflow: hidden; width:0px; height:0px; border-bottom: 5px solid black; border-left: 5px solid transparent; border-top: 5px solid transparent; border-right: 5px solid transparent;} +.gmdbottom { top: 2px; overflow: hidden; width:0px; height:0px; border-top: 5px solid black; border-left: 5px solid transparent; border-bottom: 5px solid transparent; border-right: 5px solid transparent;} + +/* Task bar shared attributes */ +.ggroupblack, +.gtaskblue, +.gtaskred, +.gtaskgreen, +.gtaskyellow, +.gtaskpurple, +.gtaskpink { height: 13px; filter: alpha(opacity=90); opacity:0.9; margin-top: 1px; } + +/* Task bars - ggroupblack is set as the default class on the task if it is undefined */ +.ggroupblack { height: 7px; background: #000000; margin-top: 2px; } +.ggroupblackendpointleft { overflow: hidden; width:0px; height:0px; top: 2px; border-top: 4px solid black; border-left: 4px solid transparent; border-bottom: 4px solid transparent; border-right: 4px solid transparent; float: left; } +.ggroupblackendpointright { overflow: hidden; width:0px; height:0px; top: 2px; border-top: 4px solid black; border-left: 4px solid transparent; border-bottom: 4px solid transparent; border-right: 4px solid transparent; float: right; } +.ggroupblackcomplete { float:left; overflow: hidden; height:3px; filter: alpha(opacity=80); opacity:0.8; background-color:#777777; margin-top:2px; margin-bottom: 2px; } +.gtaskblue { + background: rgb(58,132,195); /* Old browsers */ + background: linear-gradient(to bottom, rgba(58,132,195,1) 0%,rgba(65,154,214,1) 20%,rgba(75,184,240,1) 40%,rgba(58,139,194,1) 70%,rgba(38,85,139,1) 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4bb8f0', endColorstr='#3a84c3',GradientType=0 ); /* IE6-9 */ +} +.gtaskred { + background: rgb(196,58,58); /* Old browsers */ + background: linear-gradient(to bottom, rgba(196,58,58,1) 0%,rgba(211,65,65,1) 20%,rgba(239,76,76,1) 40%,rgba(196,58,58,1) 70%,rgba(135,37,37,1) 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ef4c4c', endColorstr='#c43a3a',GradientType=0 ); /* IE6-9 */ +} +.gtaskgreen { + background: rgb(80,193,58); /* Old browsers */ + background: linear-gradient(to bottom, rgba(80,193,58,1) 0%,rgba(88,209,64,1) 20%,rgba(102,237,75,1) 40%,rgba(80,193,58,1) 70%,rgba(53,132,37,1) 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#66ED4B', endColorstr='#50c13a',GradientType=0 ); /* IE6-9 */ +} +.gtaskyellow { + background: rgb(247,228,56); /* Old browsers */ + background: linear-gradient(to bottom, rgba(247,228,56,1) 0%,rgba(239,239,55,1) 20%,rgba(255,255,58,1) 40%,rgba(242,236,55,1) 70%,rgba(241,218,54,1) 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffff3a', endColorstr='#f7e438',GradientType=0 ); /* IE6-9 */ +} +.gtaskpurple { + background: rgb(193,58,193); /* Old browsers */ + background: linear-gradient(to bottom, rgba(193,58,193,1) 0%,rgba(211,65,211,1) 20%,rgba(239,76,239,1) 40%,rgba(193,58,193,1) 70%,rgba(137,38,137,1) 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ef4cef', endColorstr='#892689',GradientType=0 ); /* IE6-9 */ +} +.gtaskpink { + background: rgb(249,177,245); /* Old browsers */ + background: linear-gradient(to bottom, rgba(249,177,245,1) 0%,rgba(247,192,243,1) 20%,rgba(247,202,244,1) 40%,rgba(249,192,246,1) 70%,rgba(252,174,247,1) 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7caf4', endColorstr='#fcaef7',GradientType=0 ); /* IE6-9 */ +} +.gtaskbluecomplete, +.gtaskredcomplete, +.gtaskgreencomplete, +.gtaskyellowcomplete, +.gtaskpurplecomplete, +.gtaskpinkcomplete { float:left; overflow: hidden; height:5px; filter: alpha(opacity=40); opacity:0.4; background-color: #000000; margin-top:4px; } + +/* Printer friendly styles - we could use these all the time but they are not as pretty! */ +/* note that "@media print" is not supported in IE6 or 7. Fully patched IE8 should be OK */ +@media print { + .ggroupblack { height:0px; border-top: 7px solid; border-color: #000000; } + .gtaskblue { height:0px; border-top: 13px solid; border-color: rgb(58,132,195); } + .gtaskred { height:0px; border-top: 13px solid; border-color: rgb(196,58,58); } + .gtaskgreen { height:0px; border-top: 13px solid; border-color: rgb(80,193,58); } + .gtaskyellow { height:0px; border-top: 13px solid; border-color: rgb(247,228,56); } + .gtaskpurple { height:0px; border-top: 13px solid; border-color: rgb(193,58,193); } + .gtaskpink { height:0px; border-top: 13px solid; border-color: rgb(249,177,245); } + + .gtaskbluecomplete, + .gtaskredcomplete, + .gtaskgreencomplete, + .gtaskyellowcomplete, + .gtaskpurplecomplete, + .gtaskpinkcomplete { height:0px; filter: alpha(opacity=40); opacity:0.4; margin-top: -9px; border-top: 5px solid; border-color: #000000; } + .ggroupblackcomplete { height: 0px; filter: alpha(opacity=80); opacity:0.8; margin-top:-5px; border-top:3px solid; border-color:#777777; } +} + +/* END Task bar styles */ +.glinev { border-left: 1px solid; width: 0px; } +.glineh { border-top: 1px solid; height: 0px; } + +.gDepFS, +.gDepSS, +.gDepSF, +.gDepFF { border-color: #26558b; } +.gDepFSArw, +.gDepSSArw { overflow: hidden; width:0px; height:0px; border-bottom: 4px solid transparent; border-left: 4px solid #26558b; border-top: 4px solid transparent; border-right: 4px solid transparent;} +.gDepFFArw, +.gDepSFArw { overflow: hidden; width:0px; height:0px; border-bottom: 4px solid transparent; border-left: 4px solid transparent; border-top: 4px solid transparent; border-right: 4px solid #26558b;} +.gCurDate { border-color: #0000ff; } +div.gtaskbarcontainer { z-index: 1; position: absolute; top: 0px } -..gantt { font-family:tahoma, arial, verdana; font-size:10px;} +.JSGanttToolTip {position: absolute; display: block; z-index: 2;} +.JSGanttToolTipcont {font-family: tahoma, arial, verdana; font-size: 10px; display: block; background: #ffffff; color: #656565} +.gTaskInfo {background: #dbecff; width: 400px; border: #656565 1px solid; border-radius: 10px; padding: 4px 6px 4px 6px; float: left;} +.gTtTitle {display: block; font-size: 12px; font-weight: bold; color: #404040; margin-left: 4px; margin-bottom: 1em;} +.gTaskLabel {font-size: 11px; font-weight: bold; color: #656565; margin-left: 4px;} +.gTaskText {position:absolute; left: 90px; padding-top: 1px; font-size: 10px; font-weight: normal; color: #656565;} +.gTaskNotes {font-size: 11px; font-weight: normal; color: #323232; padding: 0 15px; display: block;} +.gTIn {padding-top: 10px;} -..gdatehead { BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid; HEIGHT: 18px } +.gantt { min-width: 1064px; /* 2x LC width */ } +.gchartcontainer { padding-left: 532px; /* LC width */ } +.gcontainercol { position: relative; float: left; } /* Add a max-height value here if wanted */ +.glistgrid { width: 532px; /* LC width */ margin-left: -100%; right: 532px; /* LC width */ padding-right: 0px; padding-left: 0px; padding-bottom: 0px; padding-top: 0px; background-color: #ffffff; overflow: hidden; } +.glistlbl { width: 532px; /* LC width */ margin-left: -100%; right: 532px; /* LC width */ padding-right: 0px; padding-left: 0px; padding-bottom: 0px; padding-top: 0px; background-color: #ffffff; overflow: hidden; } +.glabelfooter { clear: both; } +.ggridfooter { clear: both; } -..ghead { BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid; WIDTH: 24px; HEIGHT: 20px } +/*.rhscrpad { width: 150px; position: absolute; top: 0px; height: 1px; }*/ -..gname { BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; WIDTH: 18px; HEIGHT: 18px } +.gchartgrid { width: 100%; padding-right: 0px; padding-left: 0px; padding-bottom: 0px; padding-top: 0px; background-color: #ffffff; position: relative; overflow: auto; min-height: 0%; } +.gchartlbl { width: 100%; padding-right: 0px; padding-left: 0px; padding-bottom: 0px; padding-top: 0px; background-color: #ffffff; position: relative; overflow: hidden; } -..ghead A { FONT-SIZE: 10px; COLOR: #000000; TEXT-DECORATION: none } +/* Old Internet Explorer version hacks */ +.gantt { _height: 100% } /* otherwise the chart disappears! */ +div .gantt { _width: 1064px; } /* ie6 fixed width */ +div.gchartlbl, +div.gchartgrid { _width: 532px; } /* ie6 fixed width */ +div.glistlbl, +div.glistgrid { + *right: 0px; /* ie7 pulls the content too far left with the negative margin */ + _right: 532px; /* but ie6 fixed width needs this */ + _margin-left: -532px; /* ie6 fixed width */ +} +div.gchartgrid { *padding-bottom: 20px; *overflow-y: hidden; } /* variable height design, no need for vertical scroll */ +td.gmajorheading div { *overflow: hidden; } /* stops resizing fixed width columns if the text is too wide */ +td.gspanning div { *overflow: hidden; } /* stops resizing fixed width columns if the text is too wide */ -..gheadwkend A { FONT-SIZE: 10px; COLOR: #000000; TEXT-DECORATION: none } +/* border transparency tricks */ +.ggroupblackendpointleft { _border-top: 4px solid black; _border-left: 4px solid pink; _border-bottom: 4px solid pink; _border-right: 4px solid pink; _filter: chroma(color=pink); } +.ggroupblackendpointright { _border-top: 4px solid black; _border-left: 4px solid pink; _border-bottom: 4px solid pink; _border-right: 4px solid pink;_filter: chroma(color=pink); } -..gheadwkend { BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid; WIDTH: 24px; HEIGHT: 20px; background-color: #cfcfcf } +.gmdtop { _border-left: 5px solid pink; _border-top: 5px solid pink; _border-right: 5px solid pink; _filter: chroma(color=pink);} +.gmdbottom { _border-left: 5px solid pink; _border-bottom: 5px solid pink; _border-right: 5px solid pink; _filter: chroma(color=pink);} -..gfiller { BORDER-TOP: #efefef 1px solid; BORDER-LEFT: #efefef 1px solid; WIDTH: 18px; HEIGHT: 18px } +.gDepFSArw, +.gDepSSArw { _border-bottom: 4px solid pink; _border-top: 4px solid pink; _border-right: 4px solid pink; _filter: chroma(color=pink);} +.gDepFFArw, +.gDepSFArw { _border-bottom: 4px solid pink; _border-left: 4px solid pink; _border-top: 4px solid pink; _filter: chroma(color=pink);} -..gfillerwkend { BORDER-LEFT: #efefef 1px solid; WIDTH: 18px; HEIGHT: 18px; BACKGROUND-COLOR: #cfcfcf } - -..gitem { BORDER-TOP: #cccccc 1px solid; WIDTH: 18px; HEIGHT: 18px } - -..gitemwkend { BORDER-TOP: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; WIDTH: 18px; HEIGHT: 18px } - -..gmilestone { BORDER-TOP: #efefef 1px solid; FONT-SIZE: 14px; OVERFLOW: hidden; BORDER-LEFT: #efefef 1px solid; WIDTH: 18px; HEIGHT: 18px} - -..gmilestonewkend { BORDER-TOP: #efefef 1px solid; BORDER-LEFT: #cccccc 1px solid; WIDTH: 18px; HEIGHT: 18px} - -..btn { BORDER-RIGHT: #ffffff; BORDER-TOP: #ffffff; FONT-WEIGHT: bold; FONT-SIZE: 10px; BORDER-LEFT: #ffffff; WIDTH: 12px; COLOR: #cccccc; BORDER-BOTTOM: #ffffff; BACKGROUND-COLOR: #ffffff } - -..hrcomplete { BORDER-RIGHT: #000000 2px solid; PADDING-RIGHT: 0px; BORDER-TOP: #000000 2px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: #000000 2px solid; WIDTH: 20px; COLOR: #000000; PADDING-TOP: 0px; BORDER-BOTTOM: #000000 2px solid; HEIGHT: 4px } - -..hrhalfcomplete { BORDER-RIGHT: #000000 2px solid; BORDER-TOP: #000000 2px solid; BORDER-LEFT: #000000 2px solid; WIDTH: 9px; COLOR: #000000; BORDER-BOTTOM: #000000 2px solid; HEIGHT: 4px } - -..gweekend { font-family:tahoma, arial, verdana; font-size:11px; background-color:#EEEEEE; text-align:center; } - -..gtask { font-family:tahoma, arial, verdana; font-size:11px; background-color:#00FF00; text-align:center; } - -..gday { font-family:tahoma, arial, verdana; font-size:11px; text-align:center; } - -..gcomplete { background-color:black; height:5px; overflow: auto; margin-top:4px; } - -DIV.scroll { BORDER-RIGHT: #efefef 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #efefef 1px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; OVERFLOW: hidden; BORDER-LEFT: #efefef 1px solid; WIDTH: 420px; PADDING-TOP: 0px; BORDER-BOTTOM: #efefef 1px solid; BACKGROUND-COLOR: #ffffff } - -DIV.scroll2 { position:relative; PADDING-RIGHT: 0px; overflow:auto ;overflow-x:scroll;overflow-y:hidden; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: 482px; PADDING-TOP: 0px; BACKGROUND-COLOR: #ffffff } +/* Workaround for odd bug in old versions of Opera - no other browser needs this */ +.glinediv {position: absolute; top: 0px; left: 0px;} +/* if using setUseSingleCell(1) the following is a suggested set of CSS3 styles to recreate the table grid - won't work on old browsers +.ggrouphour td, +.gmilehour td, +.gitemhour td { background-size: 19px 1px; background-image: linear-gradient(to left, #efefef, transparent 1px, transparent 18px); width: 100%; height: 19px; } +.ggroupday td, +.gmileday td, +.gitemday td { background-size: 19px 1px, 133px 1px; background-image: linear-gradient(to left, #efefef, transparent 1px, transparent 18px), linear-gradient(to left, #f7f7f7 39px, transparent 1px, transparent 92px); width: 100%; height: 19px; } +.ggroupweek td, +.gmileweek td, +.gitemweek td { background-size: 37px 1px; background-image: linear-gradient(to left, #efefef, transparent 1px, transparent 36px); width: 100%; height: 19px; } +.ggroupmonth td, +.gmilemonth td, +.gitemmonth td { background-size: 37px 1px; background-image: linear-gradient(to left, #efefef, transparent 1px, transparent 36px); width: 100%; height: 19px; } +.ggroupquarter td, +.gmilequarter td, +.gitemquarter td { background-size: 19px 1px; background-image: linear-gradient(to left, #efefef, transparent 1px, transparent 18px); width: 100%; height: 19px; } +*/ diff --git a/htdocs/includes/jsgantt/jsgantt.js b/htdocs/includes/jsgantt/jsgantt.js index 2447a068bf7..3360d832ec6 100644 --- a/htdocs/includes/jsgantt/jsgantt.js +++ b/htdocs/includes/jsgantt/jsgantt.js @@ -1,2315 +1,2575 @@ /* -Copyright (c) 2009, Shlomy Gantz BlueBrick Inc. All rights reserved. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are met: -* * Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* * Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the distribution. -* * Neither the name of Shlomy Gantz or BlueBrick Inc. nor the -* names of its contributors may be used to endorse or promote products -* derived from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY SHLOMY GANTZ/BLUEBRICK INC. ''AS IS'' AND ANY -* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -* DISCLAIMED. IN NO EVENT SHALL SHLOMY GANTZ/BLUEBRICK INC. BE LIABLE FOR ANY -* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -* -* LDR Modified to replace hard coded values by i18[key] -*/ + _ ___ _____ _ _____ ____ ____ + (_) / _ \ \_ \ / ||___ | ___| |___ \ + | |/ /_\/ / /\/ | | / /|___ \ __) | + | / /_\\/\/ /_ | |_ / /_ ___) | / __/ + _/ \____/\____/ |_(_)_/(_)____(_)_____| + |__/ + jsGanttImproved 1.7.5.2 + Copyright (c) 2013-2016, Paul Geldart All rights reserved. -/** -* JSGantt component is a UI control that displays gantt charts based by using CSS and HTML -* @module jsgantt -* @title JSGantt -*/ + The current version of this code can be found at https://code.google.com/p/jsgantt-improved/ -var JSGantt; if (!JSGantt) JSGantt = {}; + * Copyright (c) 2013-2016, Paul Geldart. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Paul Geldart nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY PAUL GELDART. ''AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL PAUL GELDART BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -var vTimeout = 0; -var vBenchTime = new Date().getTime(); + This project is based on jsGantt 1.2, (which can be obtained from + https://code.google.com/p/jsgantt/) and remains under the original BSD license. + The original project license follows: -/** -* Creates a task (one row) in gantt object -* @class TaskItem -* @namespace JSGantt -* @constructor -* @for JSGantt + Copyright (c) 2009, Shlomy Gantz BlueBrick Inc. All rights reserved. -* @param pID {Number} Task unique numeric ID -* @param pName {String} Task Name -* @param pStart {Date} Task start date/time (not required for pGroup=1 ) -* @param pEnd {Date} Task end date/time, you can set the end time to 12:00 to indicate half-day (not required for pGroup=1 ) -* @param pColor {String} Task bar RGB value -* @param pLink {String} Task URL, clicking on the task will redirect to this url. Leave empty if you do not with the Task also serve as a link -* @param pMile {Boolean} Determines whether task is a milestone (1=Yes,0=No) -* @param pRes {String} Resource to perform the task -* @param pComp {Number} Percent complete (Number between 0 and 100) -* @param pGroup {Boolean} -* @param pParent {Number} ID of the parent task -* @param pOpen {Boolean} -* @param pDepend {String} Comma seperated list of IDs this task depends on -* @param pCaption {String} Caption to be used instead of default caption (Resource). -* note : you should use setCaption("Caption") in order to display the caption -* @return void -*/ -JSGantt.TaskItem = function(pID, pName, pStart, pEnd, pColor, pLink, pMile, pRes, pComp, pGroup, pParent, pOpen, pDepend, pCaption) + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Shlomy Gantz or BlueBrick Inc. nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY SHLOMY GANTZ/BLUEBRICK INC. ''AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL SHLOMY GANTZ/BLUEBRICK INC. BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +var JSGantt; if (!JSGantt) JSGantt={}; + +var vBenchTime=new Date().getTime(); + +JSGantt.isIE=function () { - -/** -* The name of the attribute. -* @property vID -* @type String -* @default pID -* @private -*/ -var vID = pID; - -/** -* @property vName -* @type String -* @default pName -* @private -*/ -var vName = pName; - -/** -* @property vStart -* @type Datetime -* @default new Date() -* @private -*/ -var vStart = new Date(); - -/** -* @property vEnd -* @type Datetime -* @default new Date() -* @private -*/ -var vEnd = new Date(); - -/** -* @property vColor -* @type String -* @default pColor -* @private -*/ -var vColor = pColor; - -/** -* @property vLink -* @type String -* @default pLink -* @private -*/ -var vLink = pLink; - -/** -* @property vMile -* @type Boolean -* @default pMile -* @private -*/ -var vMile = pMile; - -/** -* @property vRes -* @type String -* @default pRes -* @private -*/ -var vRes = pRes; - -/** -* @property vComp -* @type Number -* @default pComp -* @private -*/ -var vComp = pComp; - -/** -* @property vGroup -* @type Boolean -* @default pGroup -* @private -*/ -var vGroup = pGroup; - -/** -* @property vParent -* @type Number -* @default pParent -* @private -*/ -var vParent = pParent; - -/** -* @property vOpen -* @type Boolean -* @default pOpen -* @private -*/ -var vOpen = pOpen; - -/** -* @property vDepend -* @type String -* @default pDepend -* @private -*/ -var vDepend = pDepend; - -/** -* @property vCaption -* @type String -* @default pCaption -* @private -*/ -var vCaption = pCaption; - -/** -* @property vDuration -* @type Number -* @default '' -* @private -*/ -var vDuration = ''; - -/** -* @property vLevel -* @type Number -* @default 0 -* @private -*/ -var vLevel = 0; - -/** -* @property vNumKid -* @type Number -* @default 0 -* @private -*/ -var vNumKid = 0; - -/** -* @property vVisible -* @type Boolean -* @default 0 -* @private -*/ -var vVisible = 1; - var x1, y1, x2, y2; - - - if (vGroup != 1) - { - vStart = JSGantt.parseDateStr(pStart,g.getDateInputFormat()); - vEnd = JSGantt.parseDateStr(pEnd,g.getDateInputFormat()); - } -/** -* Returns task ID -* @method getID -* @return {Number} -*/ - this.getID = function(){ return vID }; -/** -* Returns task name -* @method getName -* @return {String} -*/ - this.getName = function(){ return vName }; -/** -* Returns task start date -* @method getStart -* @return {Datetime} -*/ - this.getStart = function(){ return vStart}; -/** -* Returns task end date -* @method getEnd -* @return {Datetime} -*/ this.getEnd = function(){ return vEnd }; - -/** -* Returns task bar color (i.e. 00FF00) -* @method getColor -* @return {String} -*/ this.getColor = function(){ return vColor}; - -/** -* Returns task URL (i.e. http://www.jsgantt.com) -* @method getLink -* @return {String} -*/ this.getLink = function(){ return vLink }; - -/** -* Returns whether task is a milestone (1=Yes,0=No) -* @method getMile -* @return {Boolean} -*/ this.getMile = function(){ return vMile }; - -/** -* Returns task dependencies as list of values (i.e. 123,122) -* @method getDepend -* @return {String} -*/ this.getDepend = function(){ if(vDepend) return vDepend; else return null }; - -/** -* Returns task caption (if it exists) -* @method getCaption -* @return {String} -*/ this.getCaption = function(){ if(vCaption) return vCaption; else return ''; }; - -/** -* Returns task resource name as string -* @method getResource -* @return {String} -*/ this.getResource = function(){ if(vRes) return vRes; else return ' '; }; - -/** -* Returns task completion percent as numeric value -* @method getCompVal -* @return {Boolean} -*/ this.getCompVal = function(){ if(vComp) return vComp; else return 0; }; - -/** -* Returns task completion percent as formatted string (##%) -* @method getCompStr -* @return {String} -*/ this.getCompStr = function(){ if(vComp) return vComp+'%'; else return ''; }; - -/** -* Returns task duration as a fortmatted string based on the current selected format -* @method getDuration -* @param vFormat {String} selected format (minute,hour,day,week,month) -* @return {String} -*/ this.getDuration = function(vFormat){ - if (vMile) - vDuration = '-'; - else if (vFormat=='hour') - { - tmpPer = Math.ceil((this.getEnd() - this.getStart()) / ( 60 * 60 * 1000) ); - if(tmpPer == 1) - vDuration = '1 '+i18n["sHour"]; - else - vDuration = tmpPer + ' '+i18n["sHours"]; - } - - else if (vFormat=='minute') - { - tmpPer = Math.ceil((this.getEnd() - this.getStart()) / ( 60 * 1000) ); - if(tmpPer == 1) - vDuration = '1 '+i18n["sMinute"]; - else - vDuration = tmpPer + ' '+i18n["sMinutes"]; - } - - else { //if(vFormat == 'day') { - tmpPer = Math.ceil((this.getEnd() - this.getStart()) / (24 * 60 * 60 * 1000) + 1); - if(tmpPer == 1) vDuration = '1 '+i18n["sDay"]; - else vDuration = tmpPer + ' '+i18n["sDays"]; - } - - //else if(vFormat == 'week') { - // tmpPer = ((this.getEnd() - this.getStart()) / (24 * 60 * 60 * 1000) + 1)/7; - // if(tmpPer == 1) vDuration = '1 Week'; - // else vDuration = tmpPer + ' Weeks'; - //} - - //else if(vFormat == 'month') { - // tmpPer = ((this.getEnd() - this.getStart()) / (24 * 60 * 60 * 1000) + 1)/30; - // if(tmpPer == 1) vDuration = '1 Month'; - // else vDuration = tmpPer + ' Months'; - //} - - //else if(vFormat == 'quater') { - // tmpPer = ((this.getEnd() - this.getStart()) / (24 * 60 * 60 * 1000) + 1)/120; - // if(tmpPer == 1) vDuration = '1 Qtr'; - // else vDuration = tmpPer + ' Qtrs'; - //} - return( vDuration ) - }; - -/** -* Returns task parent ID -* @method getParent -* @return {Number} -*/ this.getParent = function(){ return vParent }; - -/** -* Returns whether task is a group (1=Yes,0=No) -* @method getGroup -* @return {Number} -*/ this.getGroup = function(){ return vGroup }; - -/** -* Returns whether task is open (1=Yes,0=No) -* @method getOpen -* @return {Boolean} -*/ this.getOpen = function(){ return vOpen }; - -/** -* Returns task tree level (0,1,2,3...) -* @method getLevel -* @return {Boolean} -*/ this.getLevel = function(){ return vLevel }; - -/** -* Returns the number of child tasks -* @method getNumKids -* @return {Number} -*/ this.getNumKids = function(){ return vNumKid }; - /** -* Returns the X position of the left side of the task bar on the graph (right side) -* @method getStartX -* @return {Number} -*/ this.getStartX = function(){ return x1 }; - -/** -* Returns the Y position of the top of the task bar on the graph (right side) -* @method getStartY -* @return {Number} -*/ this.getStartY = function(){ return y1 }; - -/** -* Returns the X position of the right of the task bar on the graph (right side) -* @method getEndX -* @return {Int} -*/ this.getEndX = function(){ return x2 }; - -/** -* Returns the Y position of the bottom of the task bar on the graph (right side) -* @method getEndY -* @return {Number} -*/ this.getEndY = function(){ return y2 }; - -/** -* Returns whether task is visible (1=Yes,0=No) -* @method getVisible -* @return {Boolean} -*/ this.getVisible = function(){ return vVisible }; - -/** -* Set task dependencies -* @method setDepend -* @param pDepend {String} A comma delimited list of task IDs the current task depends on. -* @return {void} -*/ this.setDepend = function(pDepend){ vDepend = pDepend;}; - -/** -* Set task start date/time -* @method setStart -* @param pStart {Datetime} -* @return {void} -*/ this.setStart = function(pStart){ vStart = pStart;}; - -/** -* Set task end date/time -* @method setEnd -* @param pEnd {Datetime} -* @return {void} -*/ this.setEnd = function(pEnd) { vEnd = pEnd; }; - -/** -* Set task tree level (0,1,2,3...) -* @method setLevel -* @param pLevel {Number} -* @return {void} -*/ this.setLevel = function(pLevel){ vLevel = pLevel;}; - -/** -* Set Number of children for the task -* @method setNumKid -* @param pNumKid {Number} -* @return {void} -*/ this.setNumKid = function(pNumKid){ vNumKid = pNumKid;}; - -/** -* Set task completion percentage -* @method setCompVal -* @param pCompVal {Number} -* @return {void} -*/ this.setCompVal = function(pCompVal){ vComp = pCompVal;}; - -/** -* Set a task bar starting position (left) -* @method setStartX -* @param pX {Number} -* @return {void} -*/ this.setStartX = function(pX) {x1 = pX; }; - -/** -* Set a task bar starting position (top) -* @method setStartY -* @param pY {Number} -* @return {String} -*/ this.setStartY = function(pY) {y1 = pY; }; - -/** -* Set a task bar starting position (right) -* @method setEndX -* @param pX {Number} -* @return {String} -*/ this.setEndX = function(pX) {x2 = pX; }; - -/** -* Set a task bar starting position (bottom) -* @method setEndY -* @param pY {Number} -* @return {String} -*/ this.setEndY = function(pY) {y2 = pY; }; - -/** -* Set task open/closed -* @method setOpen -* @param pOpen {Boolean} -* @return {void} -*/ this.setOpen = function(pOpen) {vOpen = pOpen; }; - -/** -* Set task visibility -* @method setVisible -* @param pVisible {Boolean} -* @return {void} -*/ this.setVisible = function(pVisible) {vVisible = pVisible; }; - + if(typeof document.all!='undefined') + { + if ('pageXOffset' in window) return false; // give IE9 and above the benefit of the doubt! + else return true; + } + else return false; }; - - -/** -* Creates the gant chart. for example: -

var g = new JSGantt.GanttChart('g',document.getElementById('GanttChartDIV'), 'day');

- -var g = new JSGantt.GanttChart( - assign the gantt chart to a javascript variable called 'g' -'g' - the name of the variable that was just assigned (will be used later so that gantt object can reference itself) -document.getElementById('GanttChartDIV') - reference to the DIV that will hold the gantt chart -'day' - default format will be by day - -* -* @class GanttChart -* @param pGanttVar {String} the name of the gantt chart variable -* @param pDiv {String} reference to the DIV that will hold the gantt chart -* @param pFormat {String} default format (minute,hour,day,week,month,quarter) -* @return void -*/ - -JSGantt.GanttChart = function(pGanttVar, pDiv, pFormat) +JSGantt.TaskItem=function(pID, pName, pStart, pEnd, pClass, pLink, pMile, pRes, pComp, pGroup, pParent, pOpen, pDepend, pCaption, pNotes, pGantt) { -/** -* The name of the gantt chart variable -* @property vGanttVar -* @type String -* @default pGanttVar -* @private -*/ var vGanttVar = pGanttVar; -/** -* The name of the gantt chart DIV -* @property vDiv -* @type String -* @default pDiv -* @private -*/ var vDiv = pDiv; -/** -* Selected format (minute,hour,day,week,month) -* @property vFormat -* @type String -* @default pFormat -* @private -*/ var vFormat = pFormat; -/** -* Show resource column -* @property vShowRes -* @type Number -* @default 1 -* @private -*/ var vShowRes = 1; -/** -* Show duration column -* @property vShowDur -* @type Number -* @default 1 -* @private -*/ var vShowDur = 1; -/** -* Show percent complete column -* @property vShowComp -* @type Number -* @default 1 -* @private -*/ var vShowComp = 1; -/** -* Show start date column -* @property vShowStartDate -* @type Number -* @default 1 -* @private -*/ var vShowStartDate = 1; -/** -* Show end date column -* @property vShowEndDate -* @type Number -* @default 1 -* @private -*/ var vShowEndDate = 1; -/** -* Date input format -* @property vDateInputFormat -* @type String -* @default "mm/dd/yyyy" -* @private -*/var vDateInputFormat = "mm/dd/yyyy"; -/** -* Date display format -* @property vDateDisplayFormat -* @type String -* @default "mm/dd/yy" -* @private -*/var vDateDisplayFormat = "mm/dd/yy"; - var vNumUnits = 0; - var vCaptionType; - var vDepId = 1; - var vTaskList = new Array(); - var vFormatArr = new Array("day","week","month","quarter"); - var vQuarterArr = new Array(1,1,1,2,2,2,3,3,3,4,4,4); - var vMonthDaysArr = new Array(31,28,31,30,31,30,31,31,30,31,30,31); - var vMonthArr = new Array(i18n["January"],i18n["February"],i18n["March"],i18n["April"],i18n["May"],i18n["June"],i18n["July"],i18n["August"],i18n["September"],i18n["October"],i18n["November"],i18n["December"]); + var vID=parseInt(document.createTextNode(pID).data); + var vName=document.createTextNode(pName).data; + var vStart=new Date(0); + var vEnd=new Date(0); + var vGroupMinStart=null; + var vGroupMinEnd=null; + var vClass=document.createTextNode(pClass).data; + var vLink=document.createTextNode(pLink).data; + var vMile=parseInt(document.createTextNode(pMile).data); + var vRes=document.createTextNode(pRes).data; + var vComp=parseFloat(document.createTextNode(pComp).data); + var vGroup=parseInt(document.createTextNode(pGroup).data); + var vParent=document.createTextNode(pParent).data; + var vOpen=(vGroup==2)?1:parseInt(document.createTextNode(pOpen).data); + var vDepend=new Array(); + var vDependType=new Array(); + var vCaption=document.createTextNode(pCaption).data; + var vDuration=''; + var vLevel=0; + var vNumKid=0; + var vVisible=1; + var vSortIdx=0; + var vToDelete=false; + var x1, y1, x2, y2; + var vNotes; + var vParItem=null; + var vCellDiv=null; + var vGantt=(pGantt instanceof JSGantt.GanttChart)? pGantt : g; //hack for backwards compatibility + var vBarDiv=null; + var vTaskDiv=null; + var vListChildRow=null; + var vChildRow=null; + var vGroupSpan=null; - -/** -* Set current display format (minute/hour/day/week/month/quarter) -* Only the first 4 arguments are used, for example: -* -* g.setFormatArr("day","week","month"); -* -* will show 3 formatting options (day/week/month) at the bottom right of the gantt chart -* @method setFormatArr -* @return {void} -*/ this.setFormatArr = function() { - vFormatArr = new Array(); - for(var i = 0; i < arguments.length; i++) {vFormatArr[i] = arguments[i];} - if(vFormatArr.length>4){vFormatArr.length=4;} - }; -/** -* Show/Hide resource column -* @param pShow {Number} 1=Show,0=Hide -* @method setShowRes -* @return {void} -*/ this.setShowRes = function(pShow) { vShowRes = pShow; }; -/** -* Show/Hide duration column -* @param pShow {Number} 1=Show,0=Hide -* @method setShowDur -* @return {void} -*/ this.setShowDur = function(pShow) { vShowDur = pShow; }; -/** -* Show/Hide completed column -* @param pShow {Number} 1=Show,0=Hide -* @method setShowComp -* @return {void} -*/ this.setShowComp = function(pShow) { vShowComp = pShow; }; -/** -* Show/Hide start date column -* @param pShow {Number} 1=Show,0=Hide -* @method setShowStartDate -* @return {void} -*/ this.setShowStartDate = function(pShow) { vShowStartDate = pShow; }; -/** -* Show/Hide end date column -* @param pShow {Number} 1=Show,0=Hide -* @method setShowEndDate -* @return {void} -*/ this.setShowEndDate = function(pShow) { vShowEndDate = pShow; }; -/** -* Overall date input format -* @param pShow {String} (mm/dd/yyyy,dd/mm/yyyy,yyyy-mm-dd) -* @method setDateInputFormat -* @return {void} -*/ this.setDateInputFormat = function(pShow) { vDateInputFormat = pShow; }; -/** -* Overall date display format -* @param pShow {String} (mm/dd/yyyy,dd/mm/yyyy,yyyy-mm-dd) -* @method setDateDisplayFormat -* @return {void} -*/ this.setDateDisplayFormat = function(pShow) { vDateDisplayFormat = pShow; }; -/** -* Set gantt caption -* @param pType {String} -

Caption-Displays a custom caption set in TaskItem
-Resource-Displays task resource
-Duration-Displays task duration
-Complete-Displays task percent complete

-* @method setCaptionType -* @return {void} -*/ this.setCaptionType = function(pType) { vCaptionType = pType }; -/** -* Set current display format and redraw gantt chart (minute/hour/day/week/month/quarter) -* @param pFormat {String} (mm/dd/yyyy,dd/mm/yyyy,yyyy-mm-dd) -* @method setFormat -* @return {void} -*/ this.setFormat = function(pFormat){ - vFormat = pFormat; - this.Draw(); - }; -/** -* Returns whether resource column is shown -* @method getShowRes -* @return {Number} -*/ this.getShowRes = function(){ return vShowRes }; -/** -* Returns whether duration column is shown -* @method getShowDur -* @return {Number} -*/ this.getShowDur = function(){ return vShowDur }; -/** -* Returns whether percent complete column is shown -* @method getShowComp -* @return {Number} -*/ this.getShowComp = function(){ return vShowComp }; -/** -* Returns whether start date column is shown -* @method getShowStartDate -* @return {Number} -*/ this.getShowStartDate = function(){ return vShowStartDate }; -/** -* Returns whether end date column is shown -* @method getShowEndDate -* @return {Number} -*/ this.getShowEndDate = function(){ return vShowEndDate }; -/** -* Returns date input format -* @method getDateInputFormat -* @return {String} -*/ this.getDateInputFormat = function() { return vDateInputFormat }; -/** -* Returns current display format -* @method getDateDisplayFormat -* @return {String} -*/ this.getDateDisplayFormat = function() { return vDateDisplayFormat }; -/** -* Returns current gantt caption type -* @method getCaptionType -* @return {String} -*/ this.getCaptionType = function() { return vCaptionType }; -/** -* Calculates X/Y coordinates of a task and sets the Start and End properties of the TaskItem -* @method CalcTaskXY -* @return {Void} -*/ this.CalcTaskXY = function () - { - var vList = this.getList(); - var vTaskDiv; - var vParDiv; - var vLeft, vTop, vHeight, vWidth; + vNotes=document.createElement('span'); + vNotes.className='gTaskNotes'; + if (pNotes!=null) + { + vNotes.innerHTML=pNotes; + JSGantt.stripUnwanted(vNotes); + } - for(i = 0; i < vList.length; i++) - { - vID = vList[i].getID(); - vTaskDiv = document.getElementById("taskbar_"+vID); - vBarDiv = document.getElementById("bardiv_"+vID); - vParDiv = document.getElementById("childgrid_"+vID); + if (pStart!=null && pStart!='') + { + vStart=(pStart instanceof Date)?pStart:JSGantt.parseDateStr(document.createTextNode(pStart).data,vGantt.getDateInputFormat()); + vGroupMinStart=vStart; + } - if(vBarDiv) { - vList[i].setStartX( vBarDiv.offsetLeft ); - vList[i].setStartY( vParDiv.offsetTop+vBarDiv.offsetTop+6 ); - vList[i].setEndX( vBarDiv.offsetLeft + vBarDiv.offsetWidth ); - vList[i].setEndY( vParDiv.offsetTop+vBarDiv.offsetTop+6 ); - }; - }; - }; + if (pEnd!=null && pEnd!='') + { + vEnd =(pEnd instanceof Date)?pEnd:JSGantt.parseDateStr(document.createTextNode(pEnd).data,vGantt.getDateInputFormat()); + vGroupMinEnd=vEnd; + } -/** -* Adds a TaskItem to the Gantt object task list array -* @method AddTaskItem -* @return {Void} -*/ this.AddTaskItem = function(value) - { - vTaskList.push(value); - }; -/** -* Returns task list Array -* @method getList -* @return {Array} -*/ this.getList = function() { return vTaskList }; + if (pDepend!=null) + { + var vDependStr=pDepend+''; + var vDepList=vDependStr.split(','); + var n=vDepList.length; -/** -* Clears dependency lines between tasks -* @method clearDependencies -* @return {Void} -*/ this.clearDependencies = function() - { - var parent = document.getElementById('rightside'); - var depLine; - var vMaxId = vDepId; - for ( i=1; i task 2 start) -* @method drawDependency -* @return {Void} -*/ this.drawDependency =function(x1,y1,x2,y2) - { - if(x1 + 10 < x2) - { - this.sLine(x1,y1,x1+4,y1); - this.sLine(x1+4,y1,x1+4,y2); - this.sLine(x1+4,y2,x2,y2); - this.dLine(x2,y2,x2-3,y2-3); - this.dLine(x2,y2,x2-3,y2+3); - this.dLine(x2-1,y2,x2-3,y2-2); - this.dLine(x2-1,y2,x2-3,y2+2); - } - else - { - this.sLine(x1,y1,x1+4,y1); - this.sLine(x1+4,y1,x1+4,y2-10); - this.sLine(x1+4,y2-10,x2-8,y2-10); - this.sLine(x2-8,y2-10,x2-8,y2); - this.sLine(x2-8,y2,x2,y2); - this.dLine(x2,y2,x2-3,y2-3); - this.dLine(x2,y2,x2-3,y2+3); - this.dLine(x2-1,y2,x2-3,y2-2); - this.dLine(x2-1,y2,x2-3,y2+2); - } - }; - -/** -* Draw all task dependencies -* @method DrawDependencies -* @return {Void} -*/ this.DrawDependencies = function () { - - //First recalculate the x,y - this.CalcTaskXY(); - - this.clearDependencies(); - - var vList = this.getList(); - for(var i = 0; i < vList.length; i++) - { - - vDepend = vList[i].getDepend(); - if(vDepend) { - - var vDependStr = vDepend + ''; - var vDepList = vDependStr.split(','); - var n = vDepList.length; - - for(var k=0;k 0) - { - - // Process all tasks preset parent date and completion % - JSGantt.processRows(vTaskList, 0, -1, 1, 1); - - // get overall min/max dates plus padding - vMinDate = JSGantt.getMinDate(vTaskList, vFormat); - vMaxDate = JSGantt.getMaxDate(vTaskList, vFormat); - - // Calculate chart width variables. vColWidth can be altered manually to change each column width - // May be smart to make this a parameter of GanttChart or set it based on existing pWidth parameter - if(vFormat == 'day') { - vColWidth = 18; - vColUnit = 1; - } - else if(vFormat == 'week') { - vColWidth = 37; - vColUnit = 7; - } - else if(vFormat == 'month') { - vColWidth = 37; - vColUnit = 30; - } - else if(vFormat == 'quarter') { - vColWidth = 60; - vColUnit = 90; - } - - else if(vFormat=='hour') - { - vColWidth = 18; - vColUnit = 1; - } - - else if(vFormat=='minute') - { - vColWidth = 18; - vColUnit = 1; - } - - vNumDays = (Date.parse(vMaxDate) - Date.parse(vMinDate)) / ( 24 * 60 * 60 * 1000); - vNumUnits = vNumDays / vColUnit; - - - vChartWidth = vNumUnits * vColWidth + 1; - vDayWidth = (vColWidth / vColUnit) + (1/vColUnit); - - vMainTable = - '' + - ''; + this.getParent=function(){return vParent;}; + this.getGroup=function(){return vGroup;}; + this.getOpen=function(){return vOpen;}; + this.getLevel=function(){return vLevel;}; + this.getNumKids=function(){return vNumKid;}; + this.getStartX=function(){return x1;}; + this.getStartY=function(){return y1;}; + this.getEndX=function(){return x2;}; + this.getEndY=function(){return y2;}; + this.getVisible=function(){return vVisible;}; + this.getParItem=function(){return vParItem;}; + this.getCellDiv=function(){return vCellDiv;}; + this.getBarDiv=function(){return vBarDiv;}; + this.getTaskDiv=function(){return vTaskDiv;}; + this.getChildRow=function(){return vChildRow;}; + this.getListChildRow=function(){return vListChildRow;}; + this.getGroupSpan=function(){return vGroupSpan;}; + this.setStart=function(pStart){if(pStart instanceof Date)vStart=pStart;}; + this.setEnd=function(pEnd){if(pEnd instanceof Date)vEnd=pEnd;}; + this.setGroupMinStart=function(pStart){if(pStart instanceof Date)vGroupMinStart=pStart;}; + this.setGroupMinEnd=function(pEnd){if(pEnd instanceof Date)vGroupMinEnd=pEnd;}; + this.setLevel=function(pLevel){vLevel=parseInt(document.createTextNode(pLevel).data);}; + this.setNumKid=function(pNumKid){vNumKid=parseInt(document.createTextNode(pNumKid).data);}; + this.setCompVal=function(pCompVal){vComp=parseFloat(document.createTextNode(pCompVal).data);}; + this.setStartX=function(pX){x1=parseInt(document.createTextNode(pX).data);}; + this.setStartY=function(pY){y1=parseInt(document.createTextNode(pY).data);}; + this.setEndX=function(pX){x2=parseInt(document.createTextNode(pX).data);}; + this.setEndY=function(pY){y2=parseInt(document.createTextNode(pY).data);}; + this.setOpen=function(pOpen){vOpen=parseInt(document.createTextNode(pOpen).data);}; + this.setVisible=function(pVisible){vVisible=parseInt(document.createTextNode(pVisible).data);}; + this.setSortIdx=function(pSortIdx){vSortIdx=parseInt(document.createTextNode(pSortIdx).data);}; + this.setToDelete=function(pToDelete){if (pToDelete) vToDelete=true; else vToDelete=false;}; + this.setParItem=function(pParItem){if(pParItem instanceof JSGantt.TaskItem) vParItem=pParItem;}; + this.setCellDiv=function(pCellDiv){if(typeof HTMLDivElement !== 'function' || pCellDiv instanceof HTMLDivElement) vCellDiv=pCellDiv;}; //"typeof HTMLDivElement !== 'function'" to play nice with ie6 and 7 + this.setGroup=function(pGroup){vGroup=parseInt(document.createTextNode(pGroup).data);}; + this.setBarDiv=function(pDiv){if(typeof HTMLDivElement !== 'function' || pDiv instanceof HTMLDivElement)vBarDiv=pDiv;}; + this.setTaskDiv=function(pDiv){if(typeof HTMLDivElement !== 'function' || pDiv instanceof HTMLDivElement)vTaskDiv=pDiv;}; + this.setChildRow=function(pRow){if(typeof HTMLTableRowElement !== 'function' || pRow instanceof HTMLTableRowElement)vChildRow=pRow;}; + this.setListChildRow=function(pRow){if(typeof HTMLTableRowElement !== 'function' || pRow instanceof HTMLTableRowElement)vListChildRow=pRow;}; + this.setGroupSpan=function(pSpan){if(typeof HTMLSpanElement !== 'function' || pSpan instanceof HTMLSpanElement)vGroupSpan=pSpan;}; +}; - vMainTable += vLeftTable; +// function that loads the main gantt chart properties and functions +// pDiv: (required) this is a div object created in HTML +// pFormat: (required) - used to indicate whether chart should be drawn in "hour", "day", "week", "month", or "quarter" format +JSGantt.GanttChart=function(pDiv, pFormat) +{ + var vDiv=pDiv; + var vFormat=pFormat; + var vDivId=null; + var vUseFade=1; + var vUseMove=1; + var vUseRowHlt=1; + var vUseToolTip=1; + var vUseSort=1; + var vUseSingleCell=25000; + var vShowRes=1; + var vShowDur=1; + var vShowComp=1; + var vShowStartDate=1; + var vShowEndDate=1; + var vShowEndWeekDate=1; + var vShowTaskInfoRes=1; + var vShowTaskInfoDur=1; + var vShowTaskInfoComp=1; + var vShowTaskInfoStartDate=1; + var vShowTaskInfoEndDate=1; + var vShowTaskInfoNotes=1; + var vShowTaskInfoLink=1; + var vShowDeps=1; + var vShowSelector=new Array('top'); + var vDateInputFormat='yyyy-mm-dd'; + var vDateTaskTableDisplayFormat=JSGantt.parseDateFormatStr('dd/mm/yyyy'); + var vDateTaskDisplayFormat=JSGantt.parseDateFormatStr('dd month yyyy'); + var vHourMajorDateDisplayFormat=JSGantt.parseDateFormatStr('day dd month yyyy'); + var vHourMinorDateDisplayFormat=JSGantt.parseDateFormatStr('HH'); + var vDayMajorDateDisplayFormat=JSGantt.parseDateFormatStr('dd/mm/yyyy'); + var vDayMinorDateDisplayFormat=JSGantt.parseDateFormatStr('dd'); + var vWeekMajorDateDisplayFormat=JSGantt.parseDateFormatStr('yyyy'); + var vWeekMinorDateDisplayFormat=JSGantt.parseDateFormatStr('dd/mm'); + var vMonthMajorDateDisplayFormat=JSGantt.parseDateFormatStr('yyyy'); + var vMonthMinorDateDisplayFormat=JSGantt.parseDateFormatStr('mon'); + var vQuarterMajorDateDisplayFormat=JSGantt.parseDateFormatStr('yyyy'); + var vQuarterMinorDateDisplayFormat=JSGantt.parseDateFormatStr('qq'); + var vUseFullYear=JSGantt.parseDateFormatStr('dd/mm/yyyy'); + var vCaptionType; + var vDepId=1; + var vTaskList=new Array(); + var vFormatArr=new Array('hour','day','week','month','quarter'); + var vMonthDaysArr=new Array(31,28,31,30,31,30,31,31,30,31,30,31); + var vProcessNeeded=true; + var vMinGpLen=8; + var vScrollTo=''; + var vHourColWidth=18; + var vDayColWidth=18; + var vWeekColWidth=36; + var vMonthColWidth=36; + var vQuarterColWidth=18; + var vRowHeight=20; + var vTodayPx=-1; + /*var vLangs={'en': + {'format':'Format','hour':'Hour','day':'Day','week':'Week','month':'Month','quarter':'Quarter','hours':'Hours','days':'Days', + 'weeks':'Weeks','months':'Months','quarters':'Quarters','hr':'Hr','dy':'Day','wk':'Wk','mth':'Mth','qtr':'Qtr','hrs':'Hrs', + 'dys':'Days','wks':'Wks','mths':'Mths','qtrs':'Qtrs','resource':'Resource','duration':'Duration','comp':'% Comp.', + 'completion':'Completion','startdate':'Start Date','enddate':'End Date','moreinfo':'More Information','notes':'Notes', + 'january':'January','february':'February','march':'March','april':'April','maylong':'May','june':'June','july':'July', + 'august':'August','september':'September','october':'October','november':'November','december':'December','jan':'Jan', + 'feb':'Feb','mar':'Mar','apr':'Apr','may':'May','jun':'Jun','jul':'Jul','aug':'Aug','sep':'Sep','oct':'Oct','nov':'Nov', + 'dec':'Dec','sunday':'Sunday','monday':'Monday','tuesday':'Tuesday','wednesday':'Wednesday','thursday':'Thursday', + 'friday':'Friday','saturday':'Saturday','sun':'Sun','mon':'Mon','tue':'Tue','wed':'Wed','thu':'Thu','fri':'Fri','sat':'Sat'} + }; + var vLang='en';*/ + var vChartBody=null; + var vChartHead=null; + var vListBody=null; + var vChartTable=null; + var vLines=null; + var vTimer=20; + + this.setUseFade=function(pVal){vUseFade=pVal;}; + this.setUseMove=function(pVal){vUseMove=pVal;}; + this.setUseRowHlt=function(pVal){vUseRowHlt=pVal;}; + this.setUseToolTip=function(pVal){vUseToolTip=pVal;}; + this.setUseSort=function(pVal){vUseSort=pVal;}; + this.setUseSingleCell=function(pVal){vUseSingleCell=pVal*1;}; + this.setFormatArr=function() + { + var vValidFormats='hour day week month quarter'; + vFormatArr=new Array(); + for(var i=0, j=0; i1) + { + vFormatArr[j++]=arguments[i].toLowerCase(); + var vRegExp=new RegExp('(?:^|\s)'+arguments[i]+'(?!\S)', 'g'); + vValidFormats=vValidFormats.replace(vRegExp, ''); + } + } + }; + this.setShowRes=function(pVal){vShowRes=pVal;}; + this.setShowDur=function(pVal){vShowDur=pVal;}; + this.setShowComp=function(pVal){vShowComp=pVal;}; + this.setShowStartDate=function(pVal){vShowStartDate=pVal;}; + this.setShowEndDate=function(pVal){vShowEndDate=pVal;}; + this.setShowTaskInfoRes=function(pVal){vShowTaskInfoRes=pVal;}; + this.setShowTaskInfoDur=function(pVal){vShowTaskInfoDur=pVal;}; + this.setShowTaskInfoComp=function(pVal){vShowTaskInfoComp=pVal;}; + this.setShowTaskInfoStartDate=function(pVal){vShowTaskInfoStartDate=pVal;}; + this.setShowTaskInfoEndDate=function(pVal){vShowTaskInfoEndDate=pVal;}; + this.setShowTaskInfoNotes=function(pVal){vShowTaskInfoNotes=pVal;}; + this.setShowTaskInfoLink=function(pVal){vShowTaskInfoLink=pVal;}; + this.setShowEndWeekDate=function(pVal){vShowEndWeekDate=pVal;}; + this.setShowSelector=function() + { + var vValidSelectors='top bottom'; + vShowSelector=new Array(); + for(var i=0, j=0; i1) + { + vShowSelector[j++]=arguments[i].toLowerCase(); + var vRegExp=new RegExp('(?:^|\s)'+arguments[i]+'(?!\S)', 'g'); + vValidSelectors=vValidSelectors.replace(vRegExp, ''); + } + } + }; + this.setShowDeps=function(pVal){vShowDeps=pVal;}; + this.setDateInputFormat=function(pVal){vDateInputFormat=pVal;}; + this.setDateTaskTableDisplayFormat=function(pVal){vDateTaskTableDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; + this.setDateTaskDisplayFormat=function(pVal){vDateTaskDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; + this.setHourMajorDateDisplayFormat=function(pVal){vHourMajorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; + this.setHourMinorDateDisplayFormat=function(pVal){vHourMinorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; + this.setDayMajorDateDisplayFormat=function(pVal){vDayMajorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; + this.setDayMinorDateDisplayFormat=function(pVal){vDayMinorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; + this.setWeekMajorDateDisplayFormat=function(pVal){vWeekMajorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; + this.setWeekMinorDateDisplayFormat=function(pVal){vWeekMinorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; + this.setMonthMajorDateDisplayFormat=function(pVal){vMonthMajorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; + this.setMonthMinorDateDisplayFormat=function(pVal){vMonthMinorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; + this.setQuarterMajorDateDisplayFormat=function(pVal){vQuarterMajorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; + this.setQuarterMinorDateDisplayFormat=function(pVal){vQuarterMinorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; + this.setCaptionType=function(pType){vCaptionType=pType;}; + this.setFormat=function(pFormat) + { + vFormat=pFormat; + this.Draw(); + }; + this.setMinGpLen=function(pMinGpLen){vMinGpLen=pMinGpLen;}; + this.setScrollTo=function(pDate){vScrollTo=pDate;}; + this.setHourColWidth=function(pWidth){vHourColWidth=pWidth;}; + this.setDayColWidth=function(pWidth){vDayColWidth=pWidth;}; + this.setWeekColWidth=function(pWidth){vWeekColWidth=pWidth;}; + this.setMonthColWidth=function(pWidth){vMonthColWidth=pWidth;}; + this.setQuarterColWidth=function(pWidth){vQuarterColWidth=pWidth;}; + this.setRowHeight=function(pHeight){vRowHeight=pHeight;}; + this.setLang=function(pLang){if(vLangs[pLang])vLang=pLang;}; + this.setChartBody=function(pDiv){if(typeof HTMLDivElement !== 'function' || pDiv instanceof HTMLDivElement)vChartBody=pDiv;}; + this.setChartHead=function(pDiv){if(typeof HTMLDivElement !== 'function' || pDiv instanceof HTMLDivElement)vChartHead=pDiv;}; + this.setListBody=function(pDiv){if(typeof HTMLDivElement !== 'function' || pDiv instanceof HTMLDivElement)vListBody=pDiv;}; + this.setChartTable=function(pTable){if(typeof HTMLTableElement !== 'function' || pTable instanceof HTMLTableElement)vChartTable=pTable;}; + this.setLines=function(pDiv){if(typeof HTMLDivElement !== 'function' || pDiv instanceof HTMLDivElement)vLines=pDiv;}; + this.setTimer=function(pVal){vTimer=pVal*1;}; + this.addLang=function(pLang, pVals){ + if(!vLangs[pLang]) + { + vLangs[pLang]=new Object(); + for(var vKey in vLangs['en'])vLangs[pLang][vKey]=(pVals[vKey])?document.createTextNode(pVals[vKey]).data:vLangs['en'][vKey]; + } + }; + + this.getDivId=function(){return vDivId;}; + this.getUseFade=function(){return vUseFade;}; + this.getUseMove=function(){return vUseMove;}; + this.getUseRowHlt=function(){return vUseRowHlt;}; + this.getUseToolTip=function(){return vUseToolTip;}; + this.getUseSort=function(){return vUseSort;}; + this.getUseSingleCell=function(){return vUseSingleCell;}; + this.getFormatArr=function(){return vFormatArr;}; + this.getShowRes=function(){return vShowRes;}; + this.getShowDur=function(){return vShowDur;}; + this.getShowComp=function(){return vShowComp;}; + this.getShowStartDate=function(){return vShowStartDate;}; + this.getShowEndDate=function(){return vShowEndDate;}; + this.getShowTaskInfoRes=function(){return vShowTaskInfoRes;}; + this.getShowTaskInfoDur=function(){return vShowTaskInfoDur;}; + this.getShowTaskInfoComp=function(){return vShowTaskInfoComp;}; + this.getShowTaskInfoStartDate=function(){return vShowTaskInfoStartDate;}; + this.getShowTaskInfoEndDate=function(){return vShowTaskInfoEndDate;}; + this.getShowTaskInfoNotes=function(){return vShowTaskInfoNotes;}; + this.getShowTaskInfoLink=function(){return vShowTaskInfoLink;}; + this.getShowEndWeekDate=function(){return vShowEndWeekDate;}; + this.getShowSelector=function(){return vShowSelector;}; + this.getShowDeps=function(){return vShowDeps;}; + this.getDateInputFormat=function(){return vDateInputFormat;}; + this.getDateTaskTableDisplayFormat=function(){return vDateTaskTableDisplayFormat;}; + this.getDateTaskDisplayFormat=function(){return vDateTaskDisplayFormat;}; + this.getHourMajorDateDisplayFormat=function(){return vHourMajorDateDisplayFormat;}; + this.getHourMinorDateDisplayFormat=function(){return vHourMinorDateDisplayFormat;}; + this.getDayMajorDateDisplayFormat=function(){return vDayMajorDateDisplayFormat;}; + this.getDayMinorDateDisplayFormat=function(){return vDayMinorDateDisplayFormat;}; + this.getWeekMajorDateDisplayFormat=function(){return vWeekMajorDateDisplayFormat;}; + this.getWeekMinorDateDisplayFormat=function(){return vWeekMinorDateDisplayFormat;}; + this.getMonthMajorDateDisplayFormat=function(){return vMonthMajorDateDisplayFormat;}; + this.getMonthMinorDateDisplayFormat=function(){return vMonthMinorDateDisplayFormat;}; + this.getQuarterMajorDateDisplayFormat=function(){return vQuarterMajorDateDisplayFormat;}; + this.getQuarterMinorDateDisplayFormat=function(){return vQuarterMinorDateDisplayFormat;}; + this.getCaptionType=function(){return vCaptionType;}; + this.getMinGpLen=function(){return vMinGpLen;}; + this.getScrollTo=function(){return vScrollTo;}; + this.getHourColWidth=function(){return vHourColWidth;}; + this.getDayColWidth=function(){return vDayColWidth;}; + this.getWeekColWidth=function(){return vWeekColWidth;}; + this.getMonthColWidth=function(){return vMonthColWidth;}; + this.getQuarterColWidth=function(){return vQuarterColWidth;}; + this.getRowHeight=function(){return vRowHeight;}; + this.getChartBody=function(){return vChartBody;}; + this.getChartHead=function(){return vChartHead;}; + this.getListBody=function(){return vListBody;}; + this.getChartTable=function(){return vChartTable;}; + this.getLines=function(){return vLines;}; + this.getTimer=function(){return vTimer;}; + + this.CalcTaskXY=function() + { + var vID; + var vList=this.getList(); + var vBarDiv; + var vTaskDiv; + var vParDiv; + var vLeft, vTop, vWidth; + var vHeight=Math.floor((this.getRowHeight()/2)); + + for(var i=0; i=x2 && y1!=y2) vBend=true; + break; + } + + if (vBend) + { + this.sLine(x1,y1,x1+vShort,y1,pClass); + this.sLine(x1+vShort,y1,x1+vShort,y2-vRow,pClass); + this.sLine(x1+vShort,y2-vRow,x2-(vShort*2),y2-vRow,pClass); + this.sLine(x2-(vShort*2),y2-vRow,x2-(vShort*2),y2,pClass); + this.sLine(x2-(vShort*2),y2,x2-(1*vDir),y2,pClass); + } + else if (y1!=y2) + { + this.sLine(x1,y1,x1+vShort,y1,pClass); + this.sLine(x1+vShort,y1,x1+vShort,y2,pClass); + this.sLine(x1+vShort,y2,x2-(1*vDir),y2,pClass); + } + else this.sLine(x1,y1,x2-(1*vDir),y2,pClass); + + var vTmpDiv=this.sLine(x2,y2,x2-3-((vDir<0)?1:0),y2-3-((vDir<0)?1:0),pClass+"Arw"); + vTmpDiv.style.width='0px'; + vTmpDiv.style.height='0px'; + }; + + this.DrawDependencies=function() + { + if (this.getShowDeps()==1) + { + //First recalculate the x,y + this.CalcTaskXY(); + this.clearDependencies(); + + var vList=this.getList(); + for(var i=0; i0 && vList[i].getVisible()==1) + { + for(var k=0;k=0 && vList[vTask].getGroup()!=2) + { + if(vList[vTask].getVisible()==1) + { + if(vDependType[k]=='SS')this.drawDependency(vList[vTask].getStartX()-1,vList[vTask].getStartY(),vList[i].getStartX()-1,vList[i].getStartY(),'SS','gDepSS'); + else if(vDependType[k]=='FF')this.drawDependency(vList[vTask].getEndX(),vList[vTask].getEndY(),vList[i].getEndX(),vList[i].getEndY(),'FF','gDepFF'); + else if(vDependType[k]=='SF')this.drawDependency(vList[vTask].getStartX()-1,vList[vTask].getStartY(),vList[i].getEndX(),vList[i].getEndY(),'SF','gDepSF'); + else if(vDependType[k]=='FS')this.drawDependency(vList[vTask].getEndX(),vList[vTask].getEndY(),vList[i].getStartX()-1,vList[i].getStartY(),'FS','gDepFS'); + } + } + } + } + } + } + // draw the current date line + if (vTodayPx>=0) this.sLine(vTodayPx, 0, vTodayPx, this.getChartTable().offsetHeight-1, 'gCurDate'); + }; + + this.getArrayLocationByID=function(pId) + { + var vList=this.getList(); + for(var i=0; i0) + { + // Process all tasks, reset parent date and completion % if task list has altered + if (vProcessNeeded) JSGantt.processRows(vTaskList, 0, -1, 1, 1, this.getUseSort()); + vProcessNeeded=false; + + // get overall min/max dates plus padding + vMinDate=JSGantt.getMinDate(vTaskList, vFormat); + vMaxDate=JSGantt.getMaxDate(vTaskList, vFormat); + + // Calculate chart width variables. + if(vFormat=='day') vColWidth=vDayColWidth; + else if(vFormat=='week') vColWidth=vWeekColWidth; + else if(vFormat=='month') vColWidth=vMonthColWidth; + else if(vFormat=='quarter') vColWidth=vQuarterColWidth; + else if(vFormat=='hour') vColWidth=vHourColWidth; + + // DRAW the Left-side of the chart (names, resources, comp%) + var vLeftHeader=document.createDocumentFragment(); + + var vTmpDiv=this.newNode(vLeftHeader, 'div', vDivId+'glisthead', 'glistlbl gcontainercol'); + var vTmpTab=this.newNode(vTmpDiv, 'table', null, 'gtasktableh'); + var vTmpTBody=this.newNode(vTmpTab, 'tbody'); + var vTmpRow=this.newNode(vTmpTBody, 'tr'); + this.newNode(vTmpRow, 'td', null, 'gtasklist', '\u00A0'); + var vTmpCell=this.newNode(vTmpRow, 'td', null, 'gspanning gtaskname'); + vTmpCell.appendChild(this.drawSelector('top')); + if(vShowRes==1)this.newNode(vTmpRow, 'td', null, 'gspanning gresource', '\u00A0'); + if(vShowDur==1)this.newNode(vTmpRow, 'td', null, 'gspanning gduration', '\u00A0'); + if(vShowComp==1)this.newNode(vTmpRow, 'td', null, 'gspanning gpccomplete', '\u00A0'); + if(vShowStartDate==1)this.newNode(vTmpRow, 'td', null, 'gspanning gstartdate', '\u00A0'); + if(vShowEndDate==1)this.newNode(vTmpRow, 'td', null, 'gspanning genddate', '\u00A0'); + + vTmpRow=this.newNode(vTmpTBody, 'tr'); + this.newNode(vTmpRow, 'td', null, 'gtasklist', '\u00A0'); + this.newNode(vTmpRow, 'td', null, 'gtaskname', '\u00A0'); + if(vShowRes==1)this.newNode(vTmpRow, 'td', null, 'gtaskheading gresource', vLangs[vLang]['resource']); + if(vShowDur==1)this.newNode(vTmpRow, 'td', null, 'gtaskheading gduration', vLangs[vLang]['duration']); + if(vShowComp==1)this.newNode(vTmpRow, 'td', null, 'gtaskheading gpccomplete', vLangs[vLang]['comp']); + if(vShowStartDate==1)this.newNode(vTmpRow, 'td', null, 'gtaskheading gstartdate', vLangs[vLang]['startdate']); + if(vShowEndDate==1)this.newNode(vTmpRow, 'td', null, 'gtaskheading genddate', vLangs[vLang]['enddate']); + + vTmpDiv=this.newNode(vLeftHeader, 'div', null, 'glabelfooter'); + + var vLeftTable=document.createDocumentFragment(); + var vTmpDiv2=this.newNode(vLeftTable, 'div', vDivId+'glistbody', 'glistgrid gcontainercol'); + this.setListBody(vTmpDiv2); + vTmpTab=this.newNode(vTmpDiv2, 'table', null, 'gtasktable'); + vTmpTBody=this.newNode(vTmpTab, 'tbody'); + + for(i=0; i' + - '
' + - '
'; - - if(vShowRes !=1) vNameWidth+=vStatusWidth; - if(vShowDur !=1) vNameWidth+=vStatusWidth; - if(vShowComp!=1) vNameWidth+=vStatusWidth; - if(vShowStartDate!=1) vNameWidth+=vStatusWidth; - if(vShowEndDate!=1) vNameWidth+=vStatusWidth; - - // DRAW the Left-side of the chart (names, resources, comp%) - vLeftTable = - '
' + - '' + - ' ' + - ' '; - - if(vShowRes ==1) vLeftTable += ' ' ; - if(vShowDur ==1) vLeftTable += ' ' ; - if(vShowComp==1) vLeftTable += ' ' ; - if(vShowStartDate==1) vLeftTable += ' ' ; - if(vShowEndDate==1) vLeftTable += ' ' ; - - vLeftTable += - '' + - ' ' + - ' ' ; - - if(vShowRes ==1) vLeftTable += ' ' ; - if(vShowDur ==1) vLeftTable += ' ' ; - if(vShowComp==1) vLeftTable += ' ' ; - if(vShowStartDate==1) vLeftTable += ' ' ; - if(vShowEndDate==1) vLeftTable += ' ' ; - - vLeftTable += ''; - - for(i = 0; i < vTaskList.length; i++) + for(var k=0;k' ; - else - vLeftTable += '' ; - - vLeftTable += - ' ' + - ' ' ; - - if(vShowRes ==1) vLeftTable += ' ' ; - if(vShowDur ==1) vLeftTable += ' ' ; - if(vShowComp==1) vLeftTable += ' ' ; - if(vShowStartDate==1) vLeftTable += ' ' ; - if(vShowEndDate==1) vLeftTable += ' ' ; - - vLeftTable += ''; + this.getID=function(){return vID;}; + this.getName=function(){return vName;}; + this.getStart=function(){return vStart;}; + this.getEnd=function(){return vEnd;}; + this.getGroupMinStart=function(){return vGroupMinStart;}; + this.getGroupMinEnd=function(){return vGroupMinEnd;}; + this.getClass=function(){return vClass;}; + this.getLink=function(){return vLink;}; + this.getMile=function(){return vMile;}; + this.getDepend=function(){if(vDepend) return vDepend; else return null;}; + this.getDepType=function(){if(vDependType) return vDependType; else return null;}; + this.getCaption=function(){if(vCaption) return vCaption; else return '';}; + this.getResource=function(){if(vRes) return vRes; else return '\u00A0';}; + this.getCompVal=function(){if(vComp) return vComp; else return 0;}; + this.getCompStr=function(){if(vComp) return vComp+'%'; else return '';}; + this.getNotes=function(){return vNotes;}; + this.getSortIdx=function(){return vSortIdx;}; + this.getToDelete=function(){return vToDelete;}; + this.getDuration=function(pFormat, pLang) + { + if (vMile) + { + vDuration='-'; + } + else + { + var vTaskEnd=new Date(this.getEnd().getTime()); + var vUnits=null; + switch(pFormat) + { + case 'week': vUnits='day'; break; + case 'month': vUnits='week'; break; + case 'quarter': vUnits='month'; break; + default: vUnits=pFormat; break; } - // DRAW the date format selector at bottom left. Another potential GanttChart parameter to hide/show this selector - vLeftTable += '' + - // LDR '
'+i18n["Resource"]+''+i18n["Duration"]+'%'+i18n["Start_Date"]+''+i18n["End_Date"]+'
 '; - - for(j=1; j ' ; - else - vLeftTable += '+ ' ; - - } else { - - vLeftTable += '   '; - } - - vLeftTable += - ' ' + vTaskList[i].getName() + '' + vTaskList[i].getResource() + '' + (vTaskList[i].getStart() > 0 ? vTaskList[i].getDuration(vFormat) : '') + '' + vTaskList[i].getCompStr() + '' + (vTaskList[i].getStart() > 0 ? JSGantt.formatDateStr( vTaskList[i].getStart(), vDateDisplayFormat) : '')+ '' + (vTaskList[i].getEnd() > 0 ? JSGantt.formatDateStr( vTaskList[i].getEnd(), vDateDisplayFormat) : '') + '
  Powered by jsGantt      Format:'; - '
         '+i18n["Period"]+':   '; - - if (vFormatArr.join().indexOf("minute")!=-1) { - if (vFormat=='minute') vLeftTable += ''+i18n["sMinute"]; - else vLeftTable += ''+i18n["sMinute"]; - } - - if (vFormatArr.join().indexOf("hour")!=-1) { - if (vFormat=='hour') vLeftTable += ''+i18n["sHour"]; - else vLeftTable += ''+i18n["sHour"]; - } - - if (vFormatArr.join().indexOf("day")!=-1) { - if (vFormat=='day') vLeftTable += ''+i18n["sDay"]; - else vLeftTable += ''+i18n["sDay"]; - } - - if (vFormatArr.join().indexOf("week")!=-1) { - if (vFormat=='week') vLeftTable += ''+i18n["sWeek"]; - else vLeftTable += ''+i18n["sWeek"]; - } - - if (vFormatArr.join().indexOf("month")!=-1) { - if (vFormat=='month') vLeftTable += ''+i18n["sMonth"]; - else vLeftTable += ''+i18n["sMonth"]; - } - - if (vFormatArr.join().indexOf("quarter")!=-1) { - if (vFormat=='quarter') vLeftTable += ''+i18n["sQuarter"]; - else vLeftTable += ''+i18n["sQuarter"]; - } - -// vLeftTable += ' .'; + if ((vTaskEnd.getTime()-(vTaskEnd.getTimezoneOffset()*60000))%(86400000)==0) + { + vTaskEnd=new Date(vTaskEnd.getFullYear(), vTaskEnd.getMonth(), vTaskEnd.getDate()+1, vTaskEnd.getHours(), vTaskEnd.getMinutes(), vTaskEnd.getSeconds()); + } + var tmpPer=(JSGantt.getOffset(this.getStart(), vTaskEnd, 999, vUnits))/1000; + if(Math.floor(tmpPer)!=tmpPer) tmpPer=Math.round(tmpPer*10)/10; + switch(vUnits) + { + case 'hour': vDuration=tmpPer+' '+((tmpPer!=1)?pLang['hrs']:pLang['hr']); break; + case 'day': vDuration=tmpPer+' '+((tmpPer!=1)?pLang['dys']:pLang['dy']); break; + case 'week': vDuration=tmpPer+' '+((tmpPer!=1)?pLang['wks']:pLang['wk']); break; + case 'month': vDuration=tmpPer+' '+((tmpPer!=1)?pLang['mths']:pLang['mth']); break; + case 'quarter': vDuration=tmpPer+' '+((tmpPer!=1)?pLang['qtrs']:pLang['qtr']); break; + } + } + return vDuration; + }; - vLeftTable += '
' + - ''; + var vRightHeader=document.createDocumentFragment(); + vTmpDiv=this.newNode(vRightHeader, 'div', vDivId+'gcharthead', 'gchartlbl gcontainercol'); + this.setChartHead(vTmpDiv); + vTmpTab=this.newNode(vTmpDiv, 'table', vDivId+'chartTableh', 'gcharttableh'); + vTmpTBody=this.newNode(vTmpTab, 'tbody'); + vTmpRow=this.newNode(vTmpTBody, 'tr'); vTmpDate.setFullYear(vMinDate.getFullYear(), vMinDate.getMonth(), vMinDate.getDate()); - vTmpDate.setHours(0); + if(vFormat=='hour')vTmpDate.setHours(vMinDate.getHours()); + else vTmpDate.setHours(0); vTmpDate.setMinutes(0); + vTmpDate.setSeconds(0); + vTmpDate.setMilliseconds(0); - // Major Date Header - while(Date.parse(vTmpDate) <= Date.parse(vMaxDate)) - { - vStr = vTmpDate.getFullYear() + ''; - vStr = vStr.substring(2,4); - - - if(vFormat == 'minute') + var vColSpan=1; + // Major Date Header + while(vTmpDate.getTime()<=vMaxDate.getTime()) { - vRightTable += ''; - vTmpDate.setHours(vTmpDate.getHours()+1); - } - - if(vFormat == 'hour') - { - vRightTable += ''; - vTmpDate.setDate(vTmpDate.getDate()+1); - } - - if(vFormat == 'day') - { - vRightTable += ''; - vTmpDate.setDate(vTmpDate.getDate()+1); - } - else if(vFormat == 'week') - { - vRightTable += ''; - vTmpDate.setDate(vTmpDate.getDate()+7); - } - else if(vFormat == 'month') - { - vRightTable += ''; - vTmpDate.setDate(vTmpDate.getDate() + 1); - while(vTmpDate.getDate() > 1) - { - vTmpDate.setDate(vTmpDate.getDate() + 1); - } - } - else if(vFormat == 'quarter') - { - vRightTable += ''; - vTmpDate.setDate(vTmpDate.getDate() + 81); - while(vTmpDate.getDate() > 1) - { - vTmpDate.setDate(vTmpDate.getDate() + 1); - } - } + var vHeaderCellClass='gmajorheading'; + vCellContents=''; - } - - vRightTable += ''; - - // Minor Date header and Cell Rows - vTmpDate.setFullYear(vMinDate.getFullYear(), vMinDate.getMonth(), vMinDate.getDate()); - vNxtDate.setFullYear(vMinDate.getFullYear(), vMinDate.getMonth(), vMinDate.getDate()); - vNumCols = 0; - - while(Date.parse(vTmpDate) <= Date.parse(vMaxDate)) - { - if (vFormat == 'minute') - { - - if( vTmpDate.getMinutes() ==0 ) - vWeekdayColor = "ccccff"; - else - vWeekdayColor = "ffffff"; - - - vDateRowStr += ''; - vItemRowStr += ''; - vTmpDate.setMinutes(vTmpDate.getMinutes() + 1); - } - - else if (vFormat == 'hour') - { - - if( vTmpDate.getHours() ==0 ) - vWeekdayColor = "ccccff"; - else - vWeekdayColor = "ffffff"; - - - vDateRowStr += ''; - vItemRowStr += ''; - vTmpDate.setHours(vTmpDate.getHours() + 1); - } - - else if(vFormat == 'day' ) - { - if( JSGantt.formatDateStr(vCurrDate,'mm/dd/yyyy') == JSGantt.formatDateStr(vTmpDate,'mm/dd/yyyy')) { - vWeekdayColor = "ccccff"; - vWeekendColor = "9999ff"; - vWeekdayGColor = "bbbbff"; - vWeekendGColor = "8888ff"; - } else { - vWeekdayColor = "ffffff"; - vWeekendColor = "cfcfcf"; - vWeekdayGColor = "f3f3f3"; - vWeekendGColor = "c3c3c3"; - } - - if(vTmpDate.getDay() % 6 == 0) { - vDateRowStr += ''; - vItemRowStr += ''; - } - else { - vDateRowStr += ''; - if( JSGantt.formatDateStr(vCurrDate,'mm/dd/yyyy') == JSGantt.formatDateStr(vTmpDate,'mm/dd/yyyy')) - vItemRowStr += ''; - else - vItemRowStr += ''; - } - - vTmpDate.setDate(vTmpDate.getDate() + 1); - - } - - else if(vFormat == 'week') - { - - vNxtDate.setDate(vNxtDate.getDate() + 7); - - if( vCurrDate >= vTmpDate && vCurrDate < vNxtDate ) - vWeekdayColor = "ccccff"; - else - vWeekdayColor = "ffffff"; - - if(vNxtDate <= vMaxDate) { - vDateRowStr += ''; - if( vCurrDate >= vTmpDate && vCurrDate < vNxtDate ) - vItemRowStr += ''; - else - vItemRowStr += ''; - - } else { - vDateRowStr += ''; - if( vCurrDate >= vTmpDate && vCurrDate < vNxtDate ) - vItemRowStr += ''; - else - vItemRowStr += ''; - - } - - vTmpDate.setDate(vTmpDate.getDate() + 7); - - } - - else if(vFormat == 'month') - { - - vNxtDate.setFullYear(vTmpDate.getFullYear(), vTmpDate.getMonth(), vMonthDaysArr[vTmpDate.getMonth()]); - if( vCurrDate >= vTmpDate && vCurrDate < vNxtDate ) - vWeekdayColor = "ccccff"; - else - vWeekdayColor = "ffffff"; - - if(vNxtDate <= vMaxDate) { - vDateRowStr += ''; - if( vCurrDate >= vTmpDate && vCurrDate < vNxtDate ) - vItemRowStr += ''; - else - vItemRowStr += ''; - } else { - vDateRowStr += ''; - if( vCurrDate >= vTmpDate && vCurrDate < vNxtDate ) - vItemRowStr += ''; - else - vItemRowStr += ''; - } - - vTmpDate.setDate(vTmpDate.getDate() + 1); - - while(vTmpDate.getDate() > 1) - { - vTmpDate.setDate(vTmpDate.getDate() + 1); - } - - } - - else if(vFormat == 'quarter') - { - - vNxtDate.setDate(vNxtDate.getDate() + 122); - if( vTmpDate.getMonth()==0 || vTmpDate.getMonth()==1 || vTmpDate.getMonth()==2 ) - vNxtDate.setFullYear(vTmpDate.getFullYear(), 2, 31); - else if( vTmpDate.getMonth()==3 || vTmpDate.getMonth()==4 || vTmpDate.getMonth()==5 ) - vNxtDate.setFullYear(vTmpDate.getFullYear(), 5, 30); - else if( vTmpDate.getMonth()==6 || vTmpDate.getMonth()==7 || vTmpDate.getMonth()==8 ) - vNxtDate.setFullYear(vTmpDate.getFullYear(), 8, 30); - else if( vTmpDate.getMonth()==9 || vTmpDate.getMonth()==10 || vTmpDate.getMonth()==11 ) - vNxtDate.setFullYear(vTmpDate.getFullYear(), 11, 31); - - if( vCurrDate >= vTmpDate && vCurrDate < vNxtDate ) - vWeekdayColor = "ccccff"; - else - vWeekdayColor = "ffffff"; - - if(vNxtDate <= vMaxDate) { - vDateRowStr += ''; - if( vCurrDate >= vTmpDate && vCurrDate < vNxtDate ) - vItemRowStr += ''; - else - vItemRowStr += ''; - } else { - vDateRowStr += ''; - if( vCurrDate >= vTmpDate && vCurrDate < vNxtDate ) - vItemRowStr += ''; - else - vItemRowStr += ''; - } - - vTmpDate.setDate(vTmpDate.getDate() + 81); - - while(vTmpDate.getDate() > 1) - { - vTmpDate.setDate(vTmpDate.getDate() + 1); - } - - } - } - - vRightTable += vDateRowStr + ''; - vRightTable += '
' ; - vRightTable += JSGantt.formatDateStr(vTmpDate, vDateDisplayFormat) + ' ' + vTmpDate.getHours() + ':00 -' + vTmpDate.getHours() + ':59 ' ; - vRightTable += JSGantt.formatDateStr(vTmpDate, vDateDisplayFormat) + '' + - JSGantt.formatDateStr(vTmpDate,vDateDisplayFormat.substring(0,5)) + ' - '; - vTmpDate.setDate(vTmpDate.getDate()+6); - vRightTable += JSGantt.formatDateStr(vTmpDate, vDateDisplayFormat) + '`'+ vStr + '`'+ vStr + '`'+ vStr + '
' + vTmpDate.getMinutes() + '
  
' + vTmpDate.getHours() + '
  
' + vTmpDate.getDate() + '
 
' + vTmpDate.getDate() + '
  
  
' + (vTmpDate.getMonth()+1) + '/' + vTmpDate.getDate() + '
  
  
' + (vTmpDate.getMonth()+1) + '/' + vTmpDate.getDate() + '
  
  
' + vMonthArr[vTmpDate.getMonth()].substr(0,3) + '
  
  
' + vMonthArr[vTmpDate.getMonth()].substr(0,3) + '
  
  
Qtr. ' + vQuarterArr[vTmpDate.getMonth()] + '
  
  
Qtr. ' + vQuarterArr[vTmpDate.getMonth()] + '
  
  
'; - - // Draw each row - - for(i = 0; i < vTaskList.length; i++) - - { - - vTmpDate.setFullYear(vMinDate.getFullYear(), vMinDate.getMonth(), vMinDate.getDate()); - vTaskStart = vTaskList[i].getStart(); - vTaskEnd = vTaskList[i].getEnd(); - - vNumCols = 0; - vID = vTaskList[i].getID(); - - // vNumUnits = Math.ceil((vTaskList[i].getEnd() - vTaskList[i].getStart()) / (24 * 60 * 60 * 1000)) + 1; - vNumUnits = (vTaskList[i].getEnd() - vTaskList[i].getStart()) / (24 * 60 * 60 * 1000) + 1; - if (vFormat=='hour') - { - vNumUnits = (vTaskList[i].getEnd() - vTaskList[i].getStart()) / ( 60 * 1000) + 1; - } - else if (vFormat=='minute') - { - vNumUnits = (vTaskList[i].getEnd() - vTaskList[i].getStart()) / ( 60 * 1000) + 1; - } - - if(vTaskList[i].getVisible() == 0) - vRightTable += '
'; - vRightTable += - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' ; + if(this.getCaptionType() && vCaptClass!==null) + { + switch(this.getCaptionType()) + { + case 'Caption': var vCaptionStr=vTmpItem.getCaption(); break; + case 'Resource': vCaptionStr=vTmpItem.getResource(); break; + case 'Duration': vCaptionStr=vTmpItem.getDuration(vFormat, vLangs[vLang]); break; + case 'Complete': vCaptionStr=vTmpItem.getCompStr(); break; + } + this.newNode(vTmpDiv, 'div', null, vCaptClass, vCaptionStr, 120, (vCaptClass=='gmilecaption')?12:0); + } - if( g.getCaptionType() ) { - vCaptionStr = ''; - switch( g.getCaptionType() ) { - case 'Caption': vCaptionStr = vTaskList[i].getCaption(); break; - case 'Resource': vCaptionStr = vTaskList[i].getResource(); break; - case 'Duration': vCaptionStr = vTaskList[i].getDuration(vFormat); break; - case 'Complete': vCaptionStr = vTaskList[i].getCompStr(); break; - } - //vRightTable += '
' + vCaptionStr + '
'; - vRightTable += '
' + vCaptionStr + '
'; - }; - - vRightTable += '
' ; - - } else { - - vDivStr = '
' + - '' + vItemRowStr + '
'; - vRightTable += vDivStr; - - // Draw Task Bar which has outer DIV with enclosed colored bar div, and opaque completion div - vRightTable += - '
' + - '
' + - '
' + - '
' + - '
'; - - if( g.getCaptionType() ) { - vCaptionStr = ''; - switch( g.getCaptionType() ) { - case 'Caption': vCaptionStr = vTaskList[i].getCaption(); break; - case 'Resource': vCaptionStr = vTaskList[i].getResource(); break; - case 'Duration': vCaptionStr = vTaskList[i].getDuration(vFormat); break; - case 'Complete': vCaptionStr = vTaskList[i].getCompStr(); break; - } - //vRightTable += '
' + vCaptionStr + '
'; - vRightTable += '
' + vCaptionStr + '
'; - } - vRightTable += '
' ; - - - - } + if (vTaskList[i].getTaskDiv() && vTmpDiv) + { + // Add Task Info div for tooltip + vTmpDiv2=this.newNode(vTmpDiv, 'div', vDivId+'tt'+vID, null, null, null, null, 'none'); + vTmpDiv2.appendChild(this.createTaskInfo(vTaskList[i])); + JSGantt.addTooltipListeners(this, vTaskList[i].getTaskDiv(), vTmpDiv2); + } } - vRightTable += ''; + if(!vSingleCell) vTmpTBody.appendChild(vDateRow.cloneNode(true)); - } + while(vDiv.hasChildNodes())vDiv.removeChild(vDiv.firstChild); + vTmpDiv=this.newNode(vDiv, 'div', null, 'gchartcontainer'); + vTmpDiv.appendChild(vRightHeader); + vTmpDiv.appendChild(vLeftHeader); + vTmpDiv.appendChild(vRightTable); + vTmpDiv.appendChild(vLeftTable); + this.newNode(vTmpDiv, 'div', null, 'ggridfooter'); + vTmpDiv2=this.newNode(this.getChartBody(), 'div', vDivId+'Lines', 'glinediv'); + vTmpDiv2.style.visibility='hidden'; + this.setLines(vTmpDiv2); - vMainTable += vRightTable + ''; + /* Quick hack to show the generated HTML on older browsers - add a '/' to the begining of this line to activate + var tmpGenSrc=document.createElement('textarea'); + tmpGenSrc.appendChild(document.createTextNode(vTmpDiv.innerHTML)); + vDiv.appendChild(tmpGenSrc); + //*/ + // Now all the content exists, register scroll listeners + JSGantt.addScrollListeners(this); - vDiv.innerHTML = vMainTable; + // now check if we are actually scrolling the pane + if (vScrollTo!='') + { + var vScrollDate=new Date(vMinDate.getTime()); + var vScrollPx=0; - } + if(vScrollTo.substr(0,2)=='px') + { + vScrollPx=parseInt(vScrollTo.substr(2)); + } + else + { + vScrollDate=JSGantt.parseDateStr(vScrollTo, this.getDateInputFormat()); + if(vFormat=='hour')vScrollDate.setMinutes(0,0,0); + else vScrollDate.setHours(0,0,0,0); + vScrollPx=JSGantt.getOffset(vMinDate, vScrollDate, vColWidth, vFormat); + } + this.getChartBody().scrollLeft=vScrollPx; + } - }; //this.draw + if (vMinDate.getTime()<=(new Date()).getTime() && vMaxDate.getTime()>=(new Date()).getTime()) vTodayPx=JSGantt.getOffset(vMinDate, new Date(), vColWidth, vFormat); + else vTodayPx=-1; + this.DrawDependencies(); + } + }; //this.draw -/** -* Mouseover behaviour for gantt row -* @method mouseOver -* @return {Void} -*/ this.mouseOver = function( pObj, pID, pPos, pType ) { - if( pPos == 'right' ) vID = 'child_' + pID; - else vID = 'childrow_' + pID; - - pObj.bgColor = "#ffffaa"; - vRowObj = JSGantt.findObj(vID); - if (vRowObj) vRowObj.bgColor = "#ffffaa"; - }; + this.mouseOver=function(pObj1, pObj2) + { + if (this.getUseRowHlt()) + { + pObj1.className+=' gitemhighlight'; + pObj2.className+=' gitemhighlight'; + } + }; -/** -* Mouseout behaviour for gantt row -* @method mouseOut -* @return {Void} -*/ this.mouseOut = function( pObj, pID, pPos, pType ) { - if( pPos == 'right' ) vID = 'child_' + pID; - else vID = 'childrow_' + pID; - - pObj.bgColor = "#ffffff"; - vRowObj = JSGantt.findObj(vID); - if (vRowObj) { - if( pType == "group") { - pObj.bgColor = "#f3f3f3"; - vRowObj.bgColor = "#f3f3f3"; - } else { - pObj.bgColor = "#ffffff"; - vRowObj.bgColor = "#ffffff"; - } - } - }; + this.mouseOut=function(pObj1, pObj2) + { + if (this.getUseRowHlt()) + { + pObj1.className=pObj1.className.replace(/(?:^|\s)gitemhighlight(?!\S)/g, ''); + pObj2.className=pObj2.className.replace(/(?:^|\s)gitemhighlight(?!\S)/g, ''); + } + }; + this.drawSelector=function(pPos) + { + var vOutput=document.createDocumentFragment(); + var vDisplay=false; + + for (var i=0; i=0 && vIdx'; + vTask+=''+vTaskList[vIdx].getName()+''; + vTask+=''+JSGantt.formatDateStr(vTaskList[vIdx].getStart(),vOutFrmt,vLangs[vLang])+''; + vTask+=''+JSGantt.formatDateStr(vTaskList[vIdx].getEnd(),vOutFrmt,vLangs[vLang])+''; + vTask+=''+vTaskList[vIdx].getClass()+''; + vTask+=''+vTaskList[vIdx].getLink()+''; + vTask+=''+vTaskList[vIdx].getMile()+''; + if(vTaskList[vIdx].getResource()!='\u00A0') vTask+=''+vTaskList[vIdx].getResource()+''; + vTask+=''+vTaskList[vIdx].getCompVal()+''; + vTask+=''+vTaskList[vIdx].getGroup()+''; + vTask+=''+vTaskList[vIdx].getParent()+''; + vTask+=''+vTaskList[vIdx].getOpen()+''; + vTask+=''; + var vDepList=vTaskList[vIdx].getDepend(); + for (i=0;i0)vTask+=','; + if(vDepList[i]>0)vTask+=vDepList[i]+vTaskList[vIdx].getDepType()[i]; + } + vTask+=''; + vTask+=''+vTaskList[vIdx].getCaption()+''; + + var vTmpFrag=document.createDocumentFragment(); + var vTmpDiv=this.newNode(vTmpFrag, 'div', null, null,vTaskList[vIdx].getNotes().innerHTML); + vTask+=''+vTmpDiv.innerHTML+''; + vTask+=''; + } + return vTask; + }; + if (vDiv && vDiv.nodeName.toLowerCase()=='div') vDivId=vDiv.id; }; //GanttChart - -/** -* -@class -*/ - -/** -* Checks whether browser is IE -* -* @method isIE -*/ -JSGantt.isIE = function () { - - if(typeof document.all != 'undefined') - {return true;} - else - {return false;} -}; - -/** -* Recursively process task tree ... set min, max dates of parent tasks and identfy task level. -* -* @method processRows -* @param pList {Array} - Array of TaskItem Objects -* @param pID {Number} - task ID -* @param pRow {Number} - Row in chart -* @param pLevel {Number} - Current tree level -* @param pOpen {Boolean} -* @return void -*/ -JSGantt.processRows = function(pList, pID, pRow, pLevel, pOpen) -{ - - var vMinDate = new Date(); - var vMaxDate = new Date(); - var vMinSet = 0; - var vMaxSet = 0; - var vList = pList; - var vLevel = pLevel; - var i = 0; - var vNumKid = 0; - var vCompSum = 0; - var vVisible = pOpen; - - for(i = 0; i < pList.length; i++) - { - if(pList[i].getParent() == pID) { - vVisible = pOpen; - pList[i].setVisible(vVisible); - if(vVisible==1 && pList[i].getOpen() == 0) - {vVisible = 0;} - - pList[i].setLevel(vLevel); - vNumKid++; - - if(pList[i].getGroup() == 1) { - JSGantt.processRows(vList, pList[i].getID(), i, vLevel+1, vVisible); - }; - - if( vMinSet==0 || pList[i].getStart() < vMinDate) { - vMinDate = pList[i].getStart(); - vMinSet = 1; - }; - - if( vMaxSet==0 || pList[i].getEnd() > vMaxDate) { - vMaxDate = pList[i].getEnd(); - vMaxSet = 1; - }; - - vCompSum += pList[i].getCompVal(); - - } - } - - if(pRow >= 0) { - pList[pRow].setStart(vMinDate); - pList[pRow].setEnd(vMaxDate); - pList[pRow].setNumKid(vNumKid); - pList[pRow].setCompVal(Math.ceil(vCompSum/vNumKid)); - } - -}; - -/** -* Determine the minimum date of all tasks and set lower bound based on format -* -* @method getMinDate -* @param pList {Array} - Array of TaskItem Objects -* @param pFormat {String} - current format (minute,hour,day...) -* @return {Datetime} -*/ -JSGantt.getMinDate = function getMinDate(pList, pFormat) - { - - var vDate = new Date(); - - vDate.setFullYear(pList[0].getStart().getFullYear(), pList[0].getStart().getMonth(), pList[0].getStart().getDate()); - - // Parse all Task End dates to find min - for(i = 0; i < pList.length; i++) - { - if(Date.parse(pList[i].getStart()) < Date.parse(vDate)) - vDate.setFullYear(pList[i].getStart().getFullYear(), pList[i].getStart().getMonth(), pList[i].getStart().getDate()); - } - - if ( pFormat== 'minute') - { - vDate.setHours(0); - vDate.setMinutes(0); - } - else if (pFormat == 'hour' ) - { - vDate.setHours(0); - vDate.setMinutes(0); - } - // Adjust min date to specific format boundaries (first of week or first of month) - else if (pFormat=='day') - { - vDate.setDate(vDate.getDate() - 1); - while(vDate.getDay() % 7 > 0) - { - vDate.setDate(vDate.getDate() - 1); - } - - } - - else if (pFormat=='week') - { - vDate.setDate(vDate.getDate() - 7); - while(vDate.getDay() % 7 > 0) - { - vDate.setDate(vDate.getDate() - 1); - } - - } - - else if (pFormat=='month') - { - while(vDate.getDate() > 1) - { - vDate.setDate(vDate.getDate() - 1); - } - } - - else if (pFormat=='quarter') - { - if( vDate.getMonth()==0 || vDate.getMonth()==1 || vDate.getMonth()==2 ) - {vDate.setFullYear(vDate.getFullYear(), 0, 1);} - else if( vDate.getMonth()==3 || vDate.getMonth()==4 || vDate.getMonth()==5 ) - {vDate.setFullYear(vDate.getFullYear(), 3, 1);} - else if( vDate.getMonth()==6 || vDate.getMonth()==7 || vDate.getMonth()==8 ) - {vDate.setFullYear(vDate.getFullYear(), 6, 1);} - else if( vDate.getMonth()==9 || vDate.getMonth()==10 || vDate.getMonth()==11 ) - {vDate.setFullYear(vDate.getFullYear(), 9, 1);} - - }; - - return(vDate); - - }; - - - - -/** -* Used to determine the minimum date of all tasks and set lower bound based on format -* -* @method getMaxDate -* @param pList {Array} - Array of TaskItem Objects -* @param pFormat {String} - current format (minute,hour,day...) -* @return {Datetime} -*/ -JSGantt.getMaxDate = function (pList, pFormat) -{ - var vDate = new Date(); - - vDate.setFullYear(pList[0].getEnd().getFullYear(), pList[0].getEnd().getMonth(), pList[0].getEnd().getDate()); - - - // Parse all Task End dates to find max - for(i = 0; i < pList.length; i++) - { - if(Date.parse(pList[i].getEnd()) > Date.parse(vDate)) - { - //vDate.setFullYear(pList[0].getEnd().getFullYear(), pList[0].getEnd().getMonth(), pList[0].getEnd().getDate()); - vDate.setTime(Date.parse(pList[i].getEnd())); - } - } - - if (pFormat == 'minute') - { - vDate.setHours(vDate.getHours() + 1); - vDate.setMinutes(59); - } - - if (pFormat == 'hour') - { - vDate.setHours(vDate.getHours() + 2); - } - - // Adjust max date to specific format boundaries (end of week or end of month) - if (pFormat=='day') - { - vDate.setDate(vDate.getDate() + 1); - - while(vDate.getDay() % 6 > 0) - { - vDate.setDate(vDate.getDate() + 1); - } - - } - - if (pFormat=='week') - { - //For weeks, what is the last logical boundary? - vDate.setDate(vDate.getDate() + 11); - - while(vDate.getDay() % 6 > 0) - { - vDate.setDate(vDate.getDate() + 1); - } - - } - - // Set to last day of current Month - if (pFormat=='month') - { - while(vDate.getDay() > 1) - { - vDate.setDate(vDate.getDate() + 1); - } - - vDate.setDate(vDate.getDate() - 1); - } - - // Set to last day of current Quarter - if (pFormat=='quarter') - { - if( vDate.getMonth()==0 || vDate.getMonth()==1 || vDate.getMonth()==2 ) - vDate.setFullYear(vDate.getFullYear(), 2, 31); - else if( vDate.getMonth()==3 || vDate.getMonth()==4 || vDate.getMonth()==5 ) - vDate.setFullYear(vDate.getFullYear(), 5, 30); - else if( vDate.getMonth()==6 || vDate.getMonth()==7 || vDate.getMonth()==8 ) - vDate.setFullYear(vDate.getFullYear(), 8, 30); - else if( vDate.getMonth()==9 || vDate.getMonth()==10 || vDate.getMonth()==11 ) - vDate.setFullYear(vDate.getFullYear(), 11, 31); - - } - - return(vDate); - - }; - - -/** -* Returns an object from the current DOM -* -* @method findObj -* @param theObj {String} - Object name -* @param theDoc {Document} - current document (DOM) -* @return {Object} -*/ -JSGantt.findObj = function (theObj, theDoc) - - { - - var p, i, foundObj; - - if(!theDoc) {theDoc = document;} - - if( (p = theObj.indexOf("?")) > 0 && parent.frames.length){ - - theDoc = parent.frames[theObj.substring(p+1)].document; - - theObj = theObj.substring(0,p); - - } - - if(!(foundObj = theDoc[theObj]) && theDoc.all) - - {foundObj = theDoc.all[theObj];} - - - - for (i=0; !foundObj && i < theDoc.forms.length; i++) - - {foundObj = theDoc.forms[i][theObj];} - - - - for(i=0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++) - - {foundObj = JSGantt.findObj(theObj,theDoc.layers[i].document);} - - - - if(!foundObj && document.getElementById) - - {foundObj = document.getElementById(theObj);} - - - - return foundObj; - - }; - - -/** -* Change display format of current gantt chart -* -* @method changeFormat -* @param pFormat {String} - Current format (minute,hour,day...) -* @param ganttObj {GanttChart} - The gantt object -* @return {void} -*/ -JSGantt.changeFormat = function(pFormat,ganttObj) { - - if(ganttObj) - { - ganttObj.setFormat(pFormat); - ganttObj.DrawDependencies(); - } - else - {alert('Chart undefined');}; - }; - - -/** -* Open/Close and hide/show children of specified task -* -* @method folder -* @param pID {Number} - Task ID -* @param ganttObj {GanttChart} - The gantt object -* @return {void} -*/ -JSGantt.folder= function (pID,ganttObj) { - - var vList = ganttObj.getList(); - - for(i = 0; i < vList.length; i++) - { - if(vList[i].getID() == pID) { - - if( vList[i].getOpen() == 1 ) { - vList[i].setOpen(0); - JSGantt.hide(pID,ganttObj); - - if (JSGantt.isIE()) - {JSGantt.findObj('group_'+pID).innerText = '+';} - else - {JSGantt.findObj('group_'+pID).textContent = '+';} - - } else { - - vList[i].setOpen(1); - - JSGantt.show(pID, 1, ganttObj); - - if (JSGantt.isIE()) - {JSGantt.findObj('group_'+pID).innerText = '�';} - else - {JSGantt.findObj('group_'+pID).textContent = '�';} - - } - - } - } -}; - -/** -* Hide children of a task -* -* @method hide -* @param pID {Number} - Task ID -* @param ganttObj {GanttChart} - The gantt object -* @return {void} -*/ -JSGantt.hide= function (pID,ganttObj) { - var vList = ganttObj.getList(); - var vID = 0; - - for(var i = 0; i < vList.length; i++) - { - if(vList[i].getParent() == pID) { - vID = vList[i].getID(); - JSGantt.findObj('child_' + vID).style.display = "none"; - JSGantt.findObj('childgrid_' + vID).style.display = "none"; - vList[i].setVisible(0); - if(vList[i].getGroup() == 1) - {JSGantt.hide(vID,ganttObj);} - } - - } -}; - -/** -* Show children of a task -* -* @method show -* @param pID {Number} - Task ID -* @param ganttObj {GanttChart} - The gantt object -* @return {void} -*/ -JSGantt.show = function (pID, pTop, ganttObj) { - var vList = ganttObj.getList(); - var vID = 0; - - for(var i = 0; i < vList.length; i++) - { - if(vList[i].getParent() == pID) { - vID = vList[i].getID(); - if(pTop == 1) { - if (JSGantt.isIE()) { // IE; - - if( JSGantt.findObj('group_'+pID).innerText == '+') { - JSGantt.findObj('child_'+vID).style.display = ""; - JSGantt.findObj('childgrid_'+vID).style.display = ""; - vList[i].setVisible(1); - } - - } else { - - if( JSGantt.findObj('group_'+pID).textContent == '+') { - JSGantt.findObj('child_'+vID).style.display = ""; - JSGantt.findObj('childgrid_'+vID).style.display = ""; - vList[i].setVisible(1); - } - - } - - } else { - - if (JSGantt.isIE()) { // IE; - if( JSGantt.findObj('group_'+pID).innerText == '�') { - JSGantt.findObj('child_'+vID).style.display = ""; - JSGantt.findObj('childgrid_'+vID).style.display = ""; - vList[i].setVisible(1); - } - - } else { - - if( JSGantt.findObj('group_'+pID).textContent == '�') { - JSGantt.findObj('child_'+vID).style.display = ""; - JSGantt.findObj('childgrid_'+vID).style.display = ""; - vList[i].setVisible(1); - } - } - } - - if(vList[i].getGroup() == 1) - {JSGantt.show(vID, 0,ganttObj);} - - } - } -}; -/** -* Handles click events on task name, currently opens a new window -* -* @method taskLink -* @param pRef {String} - URL for window -* @param pWidth {Number} - Width of window -* @param pHeight {Number} - Height of window -* @return {void} -*/ -JSGantt.taskLink = function(pRef,pWidth,pHeight) - - { - - if(pWidth) {vWidth =pWidth;} else {vWidth =400;} - if(pHeight) {vHeight=pHeight;} else {vHeight=400;} - - // LDR To open in same window - //var OpenWindow=window.open(pRef, "newwin", "height="+vHeight+",width="+vWidth); - window.location.href=pRef - - }; - -/** -* Parse dates based on gantt date format setting as defined in JSGantt.GanttChart.setDateInputFormat() -* -* @method parseDateStr -* @param pDateStr {String} - A string that contains the date (i.e. "01/01/09") -* @param pFormatStr {String} - The date format (mm/dd/yyyy,dd/mm/yyyy,yyyy-mm-dd) -* @return {Datetime} -*/ -JSGantt.parseDateStr = function(pDateStr,pFormatStr) { - var vDate =new Date(); - vDate.setTime( Date.parse(pDateStr)); - - switch(pFormatStr) - { - case 'mm/dd/yyyy': - var vDateParts = pDateStr.split('/'); - vDate.setFullYear(parseInt(vDateParts[2], 10), parseInt(vDateParts[0], 10) - 1, parseInt(vDateParts[1], 10)); - break; - case 'dd/mm/yyyy': - var vDateParts = pDateStr.split('/'); - vDate.setFullYear(parseInt(vDateParts[2], 10), parseInt(vDateParts[1], 10) - 1, parseInt(vDateParts[0], 10)); - break; - case 'yyyy-mm-dd': - var vDateParts = pDateStr.split('-'); - vDate.setFullYear(parseInt(vDateParts[0], 10), parseInt(vDateParts[1], 10) - 1, parseInt(vDateParts[1], 10)); - break; +JSGantt.updateFlyingObj=function (e, pGanttChartObj, pTimer) { + var vCurTopBuf=3; + var vCurLeftBuf=5; + var vCurBotBuf=3; + var vCurRightBuf=15; + var vMouseX=(e)?e.clientX:window.event.clientX; + var vMouseY=(e)?e.clientY:window.event.clientY; + var vViewportX=document.documentElement.clientWidth||document.getElementsByTagName('body')[0].clientWidth; + var vViewportY=document.documentElement.clientHeight||document.getElementsByTagName('body')[0].clientHeight; + var vNewX=vMouseX; + var vNewY=vMouseY; + + if (navigator.appName.toLowerCase ()=='microsoft internet explorer') { + // the clientX and clientY properties include the left and top borders of the client area + vMouseX-=document.documentElement.clientLeft; + vMouseY-=document.documentElement.clientTop; + + var vZoomFactor=JSGantt.getZoomFactor (); + if (vZoomFactor!=1) {// IE 7 at non-default zoom level + vMouseX=Math.round (vMouseX / vZoomFactor); + vMouseY=Math.round (vMouseY / vZoomFactor); + } } + var vScrollPos=JSGantt.getScrollPositions(); + + /* Code for positioned right of the mouse by default*/ + /* + if (vMouseX+vCurRightBuf+pGanttChartObj.vTool.offsetWidth>vViewportX) + { + if (vMouseX-vCurLeftBuf-pGanttChartObj.vTool.offsetWidth<0) vNewX=vScrollPos.x; + else vNewX=vMouseX+vScrollPos.x-vCurLeftBuf-pGanttChartObj.vTool.offsetWidth; + } + else vNewX=vMouseX+vScrollPos.x+vCurRightBuf; + */ + + /* Code for positioned left of the mouse by default */ + if (vMouseX-vCurLeftBuf-pGanttChartObj.vTool.offsetWidth<0) + { + if (vMouseX+vCurRightBuf+pGanttChartObj.vTool.offsetWidth>vViewportX) vNewX=vScrollPos.x; + else vNewX=vMouseX+vScrollPos.x+vCurRightBuf; + } + else vNewX=vMouseX+vScrollPos.x-vCurLeftBuf-pGanttChartObj.vTool.offsetWidth; + + /* Code for positioned below the mouse by default */ + if (vMouseY+vCurBotBuf+pGanttChartObj.vTool.offsetHeight>vViewportY) + { + if (vMouseY-vCurTopBuf-pGanttChartObj.vTool.offsetHeight<0) vNewY=vScrollPos.y; + else vNewY=vMouseY+vScrollPos.y-vCurTopBuf-pGanttChartObj.vTool.offsetHeight; + } + else vNewY=vMouseY+vScrollPos.y+vCurBotBuf; + + /* Code for positioned above the mouse by default */ + /* + if (vMouseY-vCurTopBuf-pGanttChartObj.vTool.offsetHeight<0) + { + if (vMouseY+vCurBotBuf+pGanttChartObj.vTool.offsetHeight>vViewportY) vNewY=vScrollPos.y; + else vNewY=vMouseY+vScrollPos.y+vCurBotBuf; + } + else vNewY=vMouseY+vScrollPos.y-vCurTopBuf-pGanttChartObj.vTool.offsetHeight; + */ + + if (pGanttChartObj.getUseMove()) + { + clearInterval(pGanttChartObj.vTool.moveInterval); + pGanttChartObj.vTool.moveInterval=setInterval(function(){JSGantt.moveToolTip(vNewX, vNewY, pGanttChartObj.vTool, pTimer);},pTimer); + } + else + { + pGanttChartObj.vTool.style.left=vNewX +'px'; + pGanttChartObj.vTool.style.top=vNewY +'px'; + } +}; + +JSGantt.showToolTip=function(pGanttChartObj, e, pContents, pWidth, pTimer){ + var vTtDivId=pGanttChartObj.getDivId()+'JSGanttToolTip'; + var vMaxW=500; + var vMaxAlpha=100; + var vShowing=pContents.id; + + if(pGanttChartObj.getUseToolTip()) + { + if(pGanttChartObj.vTool==null){ + pGanttChartObj.vTool=document.createElement('div'); + pGanttChartObj.vTool.id=vTtDivId; + pGanttChartObj.vTool.className='JSGanttToolTip'; + pGanttChartObj.vTool.vToolCont=document.createElement('div'); + pGanttChartObj.vTool.vToolCont.id=vTtDivId+'cont'; + pGanttChartObj.vTool.vToolCont.className='JSGanttToolTipcont'; + pGanttChartObj.vTool.vToolCont.setAttribute('showing',''); + pGanttChartObj.vTool.appendChild(pGanttChartObj.vTool.vToolCont); + document.body.appendChild(pGanttChartObj.vTool); + pGanttChartObj.vTool.style.opacity=0; + pGanttChartObj.vTool.setAttribute('currentOpacity',0); + pGanttChartObj.vTool.setAttribute('fadeIncrement',10); + pGanttChartObj.vTool.setAttribute('moveSpeed',10); + pGanttChartObj.vTool.style.filter='alpha(opacity=0)'; + pGanttChartObj.vTool.style.visibility='hidden'; + pGanttChartObj.vTool.style.left=Math.floor(((e)?e.clientX:window.event.clientX)/2)+'px'; + pGanttChartObj.vTool.style.top=Math.floor(((e)?e.clientY:window.event.clientY)/2)+'px'; + JSGantt.addListener('mouseover', function () {clearTimeout(pGanttChartObj.vTool.delayTimeout);}, pGanttChartObj.vTool); + JSGantt.addListener('mouseout', function () {JSGantt.delayedHide(pGanttChartObj, pGanttChartObj.vTool, pTimer);}, pGanttChartObj.vTool); + } + clearTimeout(pGanttChartObj.vTool.delayTimeout); + if(pGanttChartObj.vTool.vToolCont.getAttribute('showing')!=vShowing || pGanttChartObj.vTool.style.visibility!='visible') + { + if (pGanttChartObj.vTool.vToolCont.getAttribute('showing')!=vShowing) + { + pGanttChartObj.vTool.vToolCont.setAttribute('showing',vShowing); + + pGanttChartObj.vTool.vToolCont.innerHTML=pContents.innerHTML; + // as we are allowing arbitrary HTML we should remove any tag ids to prevent duplication + JSGantt.stripIds(pGanttChartObj.vTool.vToolCont); + } + + pGanttChartObj.vTool.style.visibility='visible'; + // Rather than follow the mouse just have it stay put + JSGantt.updateFlyingObj(e, pGanttChartObj, pTimer); + pGanttChartObj.vTool.style.width=(pWidth)? pWidth+'px' : 'auto'; + if(!pWidth && JSGantt.isIE()){ + pGanttChartObj.vTool.style.width=pGanttChartObj.vTool.offsetWidth; + } + if(pGanttChartObj.vTool.offsetWidth>vMaxW){pGanttChartObj.vTool.style.width=vMaxW+'px';} + } + + if (pGanttChartObj.getUseFade()) + { + clearInterval(pGanttChartObj.vTool.fadeInterval); + pGanttChartObj.vTool.fadeInterval=setInterval(function(){JSGantt.fadeToolTip(1, pGanttChartObj.vTool, vMaxAlpha);},pTimer); + } + else + { + pGanttChartObj.vTool.style.opacity=vMaxAlpha * 0.01; + pGanttChartObj.vTool.style.filter='alpha(opacity='+vMaxAlpha+')'; + } + } +}; + +JSGantt.stripIds=function(pNode){ + for(var i=0; i=0 && pList[i].getID()==pID)vCurItem=pList[i]; + } + + for(i=0; ivMaxDate) + { + vMaxDate=pList[i].getEnd(); + vMaxSet=1; + } + + vCompSum+=pList[i].getCompVal(); + pList[i].setSortIdx(i*pList.length); + } + } + + if(pRow>=0) + { + if(pList[pRow].getGroupMinStart()!=null && pList[pRow].getGroupMinStart()vMaxDate) + { + vMaxDate=pList[pRow].getGroupMinEnd(); + } + pList[pRow].setStart(vMinDate); + pList[pRow].setEnd(vMaxDate); + pList[pRow].setNumKid(vNumKid); + pList[pRow].setCompVal(Math.ceil(vCompSum/vNumKid)); + } + + if (pID==0 && pUseSort==1) + { + JSGantt.sortTasks(pList, 0, 0); + pList.sort(function(a,b){return a.getSortIdx()-b.getSortIdx();}); + } + if (pID==0 && pUseSort!=1) // Need to sort combined tasks regardless + { + for(i=0; i0) + { + sortArr.sort(function(a,b){ var i=a.getStart().getTime()-b.getStart().getTime(); + if (i==0) i=a.getEnd().getTime()-b.getEnd().getTime(); + if (i==0) return a.getID()-b.getID(); + else return i; }); + } + + for (var j=0; j1) vDate.setDate(vDate.getDate()-1); + } + else if (pFormat=='quarter') + { + vDate.setDate(vDate.getDate()-31); + if(vDate.getMonth()==0 || vDate.getMonth()==1 || vDate.getMonth()==2) + vDate.setFullYear(vDate.getFullYear(), 0, 1); + else if(vDate.getMonth()==3 || vDate.getMonth()==4 || vDate.getMonth()==5) + vDate.setFullYear(vDate.getFullYear(), 3, 1); + else if(vDate.getMonth()==6 || vDate.getMonth()==7 || vDate.getMonth()==8) + vDate.setFullYear(vDate.getFullYear(), 6, 1); + else if(vDate.getMonth()==9 || vDate.getMonth()==10 || vDate.getMonth()==11) + vDate.setFullYear(vDate.getFullYear(), 9, 1); + } + else if (pFormat=='hour') + { + vDate.setHours(vDate.getHours()-1); + while(vDate.getHours()%6!=0) vDate.setHours(vDate.getHours()-1); + } + + if(pFormat=='hour')vDate.setMinutes(0,0); + else vDate.setHours(0,0,0); return(vDate); - }; -/** -* Display a formatted date based on gantt date format setting as defined in JSGantt.GanttChart.setDateDisplayFormat() -* -* @method formatDateStr -* @param pDate {Date} - A javascript date object -* @param pFormatStr {String} - The date format (mm/dd/yyyy,dd/mm/yyyy,yyyy-mm-dd...) -* @return {String} -*/ -JSGantt.formatDateStr = function(pDate,pFormatStr) { - vYear4Str = pDate.getFullYear() + ''; - vYear2Str = vYear4Str.substring(2,4); - vMonthStr = (pDate.getMonth()+1) + ''; - vDayStr = pDate.getDate() + ''; +// Used to determine the maximum date of all tasks and set upper bound based on format +JSGantt.getMaxDate=function (pList, pFormat) +{ + var vDate=new Date(); - var vDateStr = ""; + vDate.setTime(pList[0].getEnd().getTime()); - switch(pFormatStr) { - case 'mm/dd/yyyy': - return( vMonthStr + '/' + vDayStr + '/' + vYear4Str ); - case 'dd/mm/yyyy': - return( vDayStr + '/' + vMonthStr + '/' + vYear4Str ); - case 'yyyy-mm-dd': - return( vYear4Str + '-' + vMonthStr + '-' + vDayStr ); - case 'mm/dd/yy': - return( vMonthStr + '/' + vDayStr + '/' + vYear2Str ); - case 'dd/mm/yy': - return( vDayStr + '/' + vMonthStr + '/' + vYear2Str ); - case 'yy-mm-dd': - return( vYear2Str + '-' + vMonthStr + '-' + vDayStr ); - case 'mm/dd': - return( vMonthStr + '/' + vDayStr ); - case 'dd/mm': - return( vDayStr + '/' + vMonthStr ); - } - + // Parse all Task End dates to find max + for(var i=0; ivDate.getTime()) vDate.setTime(pList[i].getEnd().getTime()); + } + + // Adjust max date to specific format boundaries (end of week or end of month) + if (pFormat=='day') + { + vDate.setDate(vDate.getDate()+1); + + while(vDate.getDay()%7!=0) vDate.setDate(vDate.getDate()+1); + } + else if (pFormat=='week') + { + //For weeks, what is the last logical boundary? + vDate.setDate(vDate.getDate()+1); + + while(vDate.getDay()%7!=0) vDate.setDate(vDate.getDate()+1); + } + else if (pFormat=='month') + { + // Set to last day of current Month + while(vDate.getDate()>1) vDate.setDate(vDate.getDate()+1); + vDate.setDate(vDate.getDate()-1); + } + else if (pFormat=='quarter') + { + // Set to last day of current Quarter + if(vDate.getMonth()==0 || vDate.getMonth()==1 || vDate.getMonth()==2) + vDate.setFullYear(vDate.getFullYear(), 2, 31); + else if(vDate.getMonth()==3 || vDate.getMonth()==4 || vDate.getMonth()==5) + vDate.setFullYear(vDate.getFullYear(), 5, 30); + else if(vDate.getMonth()==6 || vDate.getMonth()==7 || vDate.getMonth()==8) + vDate.setFullYear(vDate.getFullYear(), 8, 30); + else if(vDate.getMonth()==9 || vDate.getMonth()==10 || vDate.getMonth()==11) + vDate.setFullYear(vDate.getFullYear(), 11, 31); + } + else if (pFormat=='hour') + { + if(vDate.getHours()==0)vDate.setDate(vDate.getDate()+1); + vDate.setHours(vDate.getHours()+1); + + while(vDate.getHours()%6!=5) vDate.setHours(vDate.getHours()+1); + } + return(vDate); }; -/** -* Parse an external XML file containing task items. -* -* @method parseXML -* @param ThisFile {String} - URL to XML file -* @param pGanttVar {Gantt} - Gantt object -* @return {void} -*/ -JSGantt.parseXML = function(ThisFile,pGanttVar){ - var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1; // Is this Chrome - - try { //Internet Explorer - xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); - } - catch(e) { - try { //Firefox, Mozilla, Opera, Chrome etc. - if (is_chrome==false) { xmlDoc=document.implementation.createDocument("","",null); } - } - catch(e) { - alert(e.message); - return; - } - } - - if (is_chrome==false) { // can't use xmlDoc.load in chrome at the moment - xmlDoc.async=false; - xmlDoc.load(ThisFile); // we can use loadxml - JSGantt.AddXMLTask(pGanttVar); - xmlDoc=null; // a little tidying - Task = null; - } - else { - JSGantt.ChromeLoadXML(ThisFile,pGanttVar); - ta=null; // a little tidying - } +// This function finds the document id of the specified object +JSGantt.findObj=function (theObj, theDoc) +{ + var p, i, foundObj; + if(!theDoc) theDoc=document; + if(document.getElementById) foundObj=document.getElementById(theObj); + return foundObj; }; -/** -* Add a task based on parsed XML doc -* -* @method AddXMLTask -* @param pGanttVar {Gantt} - Gantt object -* @return {void} -*/ -JSGantt.AddXMLTask = function(pGanttVar){ - - Task=xmlDoc.getElementsByTagName("task"); - - var n = xmlDoc.documentElement.childNodes.length; // the number of tasks. IE gets this right, but mozilla add extra ones (Whitespace) - - for(var i=0;i/gi); - - var n = ta.length; // the number of tasks. - for(var i=1;i/i); - - if(te.length> 2){var pID=te[1];} else {var pID = 0;} - pID *= 1; - - var te = Task.split(//i); - if(te.length> 2){var pName=te[1];} else {var pName = "No Task Name";} - - var te = Task.split(//i); - if(te.length> 2){var pStart=te[1];} else {var pStart = "";} - - var te = Task.split(//i); - if(te.length> 2){var pEnd=te[1];} else {var pEnd = "";} - - var te = Task.split(//i); - if(te.length> 2){var pColor=te[1];} else {var pColor = '0000ff';} - - var te = Task.split(//i); - if(te.length> 2){var pLink=te[1];} else {var pLink = "";} - - var te = Task.split(//i); - if(te.length> 2){var pMile=te[1];} else {var pMile = 0;} - pMile *= 1; - - var te = Task.split(//i); - if(te.length> 2){var pRes=te[1];} else {var pRes = "";} - - var te = Task.split(//i); - if(te.length> 2){var pComp=te[1];} else {var pComp = 0;} - pComp *= 1; - - var te = Task.split(//i); - if(te.length> 2){var pGroup=te[1];} else {var pGroup = 0;} - pGroup *= 1; - - var te = Task.split(//i); - if(te.length> 2){var pParent=te[1];} else {var pParent = 0;} - pParent *= 1; - - var te = Task.split(//i); - if(te.length> 2){var pOpen=te[1];} else {var pOpen = 1;} - pOpen *= 1; - - var te = Task.split(//i); - if(te.length> 2){var pDepend=te[1];} else {var pDepend = "";} - //pDepend *= 1; - if (pDepend.length==0){pDepend=''} // need this to draw the dependency lines - - var te = Task.split(//i); - if(te.length> 2){var pCaption=te[1];} else {var pCaption = "";} - - // Finally add the task - pGanttVar.AddTaskItem(new JSGantt.TaskItem(pID , pName, pStart, pEnd, pColor, pLink, pMile, pRes, pComp, pGroup, pParent, pOpen, pDepend,pCaption )); - }; - }; -}; -/** -* Used for benchmarking performace -* -* @method benchMark -* @param pItem {TaskItem} - TaskItem object -* @return {void} -*/ -JSGantt.benchMark = function(pItem){ - var vEndTime=new Date().getTime(); - alert(pItem + ': Elapsed time: '+((vEndTime-vBenchTime)/1000)+' seconds.'); - vBenchTime=new Date().getTime(); + for(var i=0; i=52 && vMonthStr==1) vYear--; + if (vWeekNum==1 && vMonthStr==12) vYear++; + if (vWeekNum<10) vWeekNum='0'+vWeekNum; + + vDateStr+=vYear+'-W'+vWeekNum+'-'+vDayOfWeek; + break; + default: + if (pL[pDateFormatArr[i].toLowerCase()]) vDateStr+=pL[pDateFormatArr[i].toLowerCase()]; + else vDateStr+=pDateFormatArr[i]; + break; + } + } + return vDateStr; +}; + +JSGantt.parseDateFormatStr=function(pFormatStr) +{ + var vDateStr=''; + var vComponantStr=''; + var vCurrChar=''; + var vSeparators=new RegExp('[\/\\ -.,\'":]'); + var vDateFormatArray=new Array(); + + for (var i=0; i0) project=projNode[0].getAttribute('xmlns'); + + if(project=='http://schemas.microsoft.com/project') + { + vMSP=true; + pGanttVar.setDateInputFormat('yyyy-mm-dd'); + Task=JSGantt.findXMLNode(pXmlDoc,'Task'); + if (typeof Task=='undefined')n=0; + else n=Task.length; + + var resources=JSGantt.findXMLNode(pXmlDoc,'Resource'); + if (typeof resources=='undefined'){n=0; m=0;} + else m=resources.length; + + for(i=0;i0 && uid>0) res[uid]=resname; + } + + var assignments=JSGantt.findXMLNode(pXmlDoc,'Assignment'); + if (typeof assignments=='undefined') j=0; + else j=assignments.length; + + for(i=0;i0) + { + if (resUID>0) assRes[uid]=res[resUID]; + ass[uid]=assignments[i]; + } + } + + // Store information about parent UIDs in an easily searchable form + for(i=0;i0) pars[vOutlineNumber]=uid; + if (uid>maxPID)maxPID=uid; + } + + for(i=0;i1) + { + vOutlineNumber=JSGantt.getXMLNodeValue(Task[i],'OutlineNumber',2,'0'); + pParent=pars[vOutlineNumber.substr(0, vOutlineNumber.lastIndexOf('.'))]; + } + + try {var pNotes=Task[i].getElementsByTagName('Notes')[0].childNodes[1].nodeValue; //this should be a CDATA node + } catch (error) + {pNotes ='';} + + if(typeof assRes[pID]!='undefined') var pRes=assRes[pID]; + else pRes=''; + + var predecessors=JSGantt.findXMLNode(Task[i],'PredecessorLink'); + if (typeof predecessors=='undefined') j=0; + else j=predecessors.length; + var pDepend=''; + + for(k=0;k0) + { + if (pDepend.length>0)pDepend+=','; + switch(depType) + { + case 0: pDepend+=depUID+'FF'; break; + case 1: pDepend+=depUID+'FS'; break; + case 2: pDepend+=depUID+'SF'; break; + case 3: pDepend+=depUID+'SS'; break; + default: pDepend+=depUID+'FS'; break; + } + } + } + + var pOpen=1; + var pCaption=''; + + if(pGroup>0) var pClass ='ggroupblack'; + else if(pMile>0) pClass ='gmilestone'; + else pClass ='gtaskblue'; + + // check for split tasks + + var splits=JSGantt.findXMLNode(ass[pID],'TimephasedData'); + if (typeof splits=='undefined') j=0; + else j=splits.length; + + var vSplitStart=pStart; + var vSplitEnd=pEnd; + var vSubCreated=false; + var vDepend=pDepend.replace(/,*[0-9]+[FS]F/g,''); + + for(k=0;k0) pClass ='ggroupblack'; + else if(pMile>0) pClass ='gmilestone'; + else pClass ='gtaskblue'; + } + + // Finally add the task + pGanttVar.AddTaskItem(new JSGantt.TaskItem(pID, pName, pStart, pEnd, pClass, pLink, pMile, pRes, pComp, pGroup, pParent, pOpen, pDepend, pCaption, pNotes, pGanttVar)); + } + } + } +}; + + +JSGantt.benchMark=function(pItem) +{ + var vEndTime=new Date().getTime(); + alert(pItem+': Elapsed time: '+((vEndTime-vBenchTime)/1000)+' seconds.'); + vBenchTime=new Date().getTime(); +}; + +JSGantt.getIsoWeek=function(pDate){ + // We have to compare against the monday of the first week of the year containing 04 jan *not* 01/01 + // 60*60*24*1000=86400000 + var dayMiliseconds=86400000; + var keyDay=new Date(pDate.getFullYear(),0,4,0,0,0); + var keyDayOfWeek=(keyDay.getDay()==0) ? 6 : keyDay.getDay()-1; // define monday as 0 + var firstMondayYearTime=keyDay.getTime()-(keyDayOfWeek * dayMiliseconds); + var thisDate=new Date(pDate.getFullYear(), pDate.getMonth(),pDate.getDate(),0,0,0); // This at 00:00:00 + var thisTime=thisDate.getTime(); + var daysFromFirstMonday=Math.round(((thisTime-firstMondayYearTime) / dayMiliseconds)); + var lastWeek=99; + var thisWeek=99; + + var firstMondayYear=new Date(firstMondayYearTime); + + thisWeek=Math.ceil((daysFromFirstMonday+1)/7); + + if (thisWeek<=0) thisWeek=JSGantt.getIsoWeek(new Date(pDate.getFullYear()-1,11,31,0,0,0)); + else if (thisWeek==53 && (new Date(pDate.getFullYear(),0,1,0,0,0)).getDay()!=4 && (new Date(pDate.getFullYear(),11,31,0,0,0)).getDay()!=4) thisWeek=1; + return thisWeek; +}; + +JSGantt.addListener=function (eventName, handler, control) +{ + // Check if control is a string + if (control===String(control)) control=JSGantt.findObj(control); + + if(control.addEventListener) //Standard W3C + { + return control.addEventListener(eventName, handler, false); + } + else if (control.attachEvent) //IExplore + { + return control.attachEvent('on'+eventName, handler); + } + else + { + return false; + } +}; + +JSGantt.addTooltipListeners=function(pGanttChart, pObj1, pObj2) +{ + JSGantt.addListener('mouseover', function (e) {JSGantt.showToolTip(pGanttChart, e, pObj2, null, pGanttChart.getTimer());}, pObj1); + JSGantt.addListener('mouseout', function (e) {JSGantt.delayedHide(pGanttChart, pGanttChart.vTool, pGanttChart.getTimer());}, pObj1); +}; + +JSGantt.addThisRowListeners=function(pGanttChart, pObj1, pObj2) +{ + JSGantt.addListener('mouseover', function () {pGanttChart.mouseOver(pObj1, pObj2);}, pObj1); + JSGantt.addListener('mouseover', function () {pGanttChart.mouseOver(pObj1, pObj2);}, pObj2); + JSGantt.addListener('mouseout', function () {pGanttChart.mouseOut(pObj1, pObj2);}, pObj1); + JSGantt.addListener('mouseout', function () {pGanttChart.mouseOut(pObj1, pObj2);}, pObj2); +}; + +JSGantt.addFolderListeners=function(pGanttChart, pObj, pID) +{ + JSGantt.addListener('click', function () {JSGantt.folder(pID, pGanttChart);}, pObj); +}; + +JSGantt.addFormatListeners=function(pGanttChart, pFormat, pObj) +{ + JSGantt.addListener('click', function () {JSGantt.changeFormat(pFormat, pGanttChart);}, pObj); +}; + +JSGantt.addScrollListeners=function(pGanttChart) +{ + JSGantt.addListener('scroll', function () {pGanttChart.getChartBody().scrollTop=pGanttChart.getListBody().scrollTop;}, pGanttChart.getListBody()); + JSGantt.addListener('scroll', function () {pGanttChart.getListBody().scrollTop=pGanttChart.getChartBody().scrollTop;}, pGanttChart.getChartBody()); + JSGantt.addListener('scroll', function () {pGanttChart.getChartHead().scrollLeft=pGanttChart.getChartBody().scrollLeft;}, pGanttChart.getChartBody()); + JSGantt.addListener('scroll', function () {pGanttChart.getChartBody().scrollLeft=pGanttChart.getChartHead().scrollLeft;}, pGanttChart.getChartHead()); + JSGantt.addListener('resize', function () {pGanttChart.getChartHead().scrollLeft=pGanttChart.getChartBody().scrollLeft;}, window); + JSGantt.addListener('resize', function () {pGanttChart.getListBody().scrollTop=pGanttChart.getChartBody().scrollTop;}, window); +}; diff --git a/htdocs/includes/jsgantt/jsgantt.min.js b/htdocs/includes/jsgantt/jsgantt.min.js index 2d0a23d4a0d..9ec44995993 100644 --- a/htdocs/includes/jsgantt/jsgantt.min.js +++ b/htdocs/includes/jsgantt/jsgantt.min.js @@ -1 +1,2 @@ -var JSGantt;if(!JSGantt)JSGantt={};var vTimeout=0;var vBenchTime=new Date().getTime();JSGantt.TaskItem=function(pID,pName,pStart,pEnd,pColor,pLink,pMile,pRes,pComp,pGroup,pParent,pOpen,pDepend,pCaption){var vID=pID;var vName=pName;var vStart=new Date();var vEnd=new Date();var vColor=pColor;var vLink=pLink;var vMile=pMile;var vRes=pRes;var vComp=pComp;var vGroup=pGroup;var vParent=pParent;var vOpen=pOpen;var vDepend=pDepend;var vCaption=pCaption;var vDuration='';var vLevel=0;var vNumKid=0;var vVisible=1;var x1,y1,x2,y2;if(vGroup!=1){vStart=JSGantt.parseDateStr(pStart,g.getDateInputFormat());vEnd=JSGantt.parseDateStr(pEnd,g.getDateInputFormat())}this.getID=function(){return vID};this.getName=function(){return vName};this.getStart=function(){return vStart};this.getEnd=function(){return vEnd};this.getColor=function(){return vColor};this.getLink=function(){return vLink};this.getMile=function(){return vMile};this.getDepend=function(){if(vDepend)return vDepend;else return null};this.getCaption=function(){if(vCaption)return vCaption;else return''};this.getResource=function(){if(vRes)return vRes;else return' '};this.getCompVal=function(){if(vComp)return vComp;else return 0};this.getCompStr=function(){if(vComp)return vComp+'%';else return''};this.getDuration=function(vFormat){if(vMile)vDuration='-';else if(vFormat=='hour'){tmpPer=Math.ceil((this.getEnd()-this.getStart())/(60*60*1000));if(tmpPer==1)vDuration='1 Hour';else vDuration=tmpPer+' Hours'}else if(vFormat=='minute'){tmpPer=Math.ceil((this.getEnd()-this.getStart())/(60*1000));if(tmpPer==1)vDuration='1 Minute';else vDuration=tmpPer+' Minutes'}else{tmpPer=Math.ceil((this.getEnd()-this.getStart())/(24*60*60*1000)+1);if(tmpPer==1)vDuration='1 Day';else vDuration=tmpPer+' Days'}return(vDuration)};this.getParent=function(){return vParent};this.getGroup=function(){return vGroup};this.getOpen=function(){return vOpen};this.getLevel=function(){return vLevel};this.getNumKids=function(){return vNumKid};this.getStartX=function(){return x1};this.getStartY=function(){return y1};this.getEndX=function(){return x2};this.getEndY=function(){return y2};this.getVisible=function(){return vVisible};this.setDepend=function(pDepend){vDepend=pDepend};this.setStart=function(pStart){vStart=pStart};this.setEnd=function(pEnd){vEnd=pEnd};this.setLevel=function(pLevel){vLevel=pLevel};this.setNumKid=function(pNumKid){vNumKid=pNumKid};this.setCompVal=function(pCompVal){vComp=pCompVal};this.setStartX=function(pX){x1=pX};this.setStartY=function(pY){y1=pY};this.setEndX=function(pX){x2=pX};this.setEndY=function(pY){y2=pY};this.setOpen=function(pOpen){vOpen=pOpen};this.setVisible=function(pVisible){vVisible=pVisible}};JSGantt.GanttChart=function(pGanttVar,pDiv,pFormat){var vGanttVar=pGanttVar;var vDiv=pDiv;var vFormat=pFormat;var vShowRes=1;var vShowDur=1;var vShowComp=1;var vShowStartDate=1;var vShowEndDate=1;var vDateInputFormat="mm/dd/yyyy";var vDateDisplayFormat="mm/dd/yy";var vNumUnits=0;var vCaptionType;var vDepId=1;var vTaskList=new Array();var vFormatArr=new Array("day","week","month","quarter");var vQuarterArr=new Array(1,1,1,2,2,2,3,3,3,4,4,4);var vMonthDaysArr=new Array(31,28,31,30,31,30,31,31,30,31,30,31);var vMonthArr=new Array("January","February","March","April","May","June","July","August","September","October","November","December");this.setFormatArr=function(){vFormatArr=new Array();for(var i=0;i4){vFormatArr.length=4}};this.setShowRes=function(pShow){vShowRes=pShow};this.setShowDur=function(pShow){vShowDur=pShow};this.setShowComp=function(pShow){vShowComp=pShow};this.setShowStartDate=function(pShow){vShowStartDate=pShow};this.setShowEndDate=function(pShow){vShowEndDate=pShow};this.setDateInputFormat=function(pShow){vDateInputFormat=pShow};this.setDateDisplayFormat=function(pShow){vDateDisplayFormat=pShow};this.setCaptionType=function(pType){vCaptionType=pType};this.setFormat=function(pFormat){vFormat=pFormat;this.Draw()};this.getShowRes=function(){return vShowRes};this.getShowDur=function(){return vShowDur};this.getShowComp=function(){return vShowComp};this.getShowStartDate=function(){return vShowStartDate};this.getShowEndDate=function(){return vShowEndDate};this.getDateInputFormat=function(){return vDateInputFormat};this.getDateDisplayFormat=function(){return vDateDisplayFormat};this.getCaptionType=function(){return vCaptionType};this.CalcTaskXY=function(){var vList=this.getList();var vTaskDiv;var vParDiv;var vLeft,vTop,vHeight,vWidth;for(i=0;i0){JSGantt.processRows(vTaskList,0,-1,1,1);vMinDate=JSGantt.getMinDate(vTaskList,vFormat);vMaxDate=JSGantt.getMaxDate(vTaskList,vFormat);if(vFormat=='day'){vColWidth=18;vColUnit=1}else if(vFormat=='week'){vColWidth=37;vColUnit=7}else if(vFormat=='month'){vColWidth=37;vColUnit=30}else if(vFormat=='quarter'){vColWidth=60;vColUnit=90}else if(vFormat=='hour'){vColWidth=18;vColUnit=1}else if(vFormat=='minute'){vColWidth=18;vColUnit=1}vNumDays=(Date.parse(vMaxDate)-Date.parse(vMinDate))/(24*60*60*1000);vNumUnits=vNumDays/vColUnit;vChartWidth=vNumUnits*vColWidth+1;vDayWidth=(vColWidth/vColUnit)+(1/vColUnit);vMainTable=''+'';vMainTable+=vLeftTable;vRightTable='
';if(vShowRes!=1)vNameWidth+=vStatusWidth;if(vShowDur!=1)vNameWidth+=vStatusWidth;if(vShowComp!=1)vNameWidth+=vStatusWidth;if(vShowStartDate!=1)vNameWidth+=vStatusWidth;if(vShowEndDate!=1)vNameWidth+=vStatusWidth;vLeftTable='
'+''+' '+' ';if(vShowRes==1)vLeftTable+=' ';if(vShowDur==1)vLeftTable+=' ';if(vShowComp==1)vLeftTable+=' ';if(vShowStartDate==1)vLeftTable+=' ';if(vShowEndDate==1)vLeftTable+=' ';vLeftTable+=''+' '+' ';if(vShowRes==1)vLeftTable+=' ';if(vShowDur==1)vLeftTable+=' ';if(vShowComp==1)vLeftTable+=' ';if(vShowStartDate==1)vLeftTable+=' ';if(vShowEndDate==1)vLeftTable+=' ';vLeftTable+='';for(i=0;i';vLeftTable+=' '+' ';if(vShowRes==1)vLeftTable+=' ';if(vShowDur==1)vLeftTable+=' ';if(vShowComp==1)vLeftTable+=' ';if(vShowStartDate==1)vLeftTable+=' ';if(vShowEndDate==1)vLeftTable+=' ';vLeftTable+=''}vLeftTable+=''+'
ResourceDuration% Comp.Start DateEnd Date
 ';for(j=1;j';if(vTaskList[i].getGroup()){if(vTaskList[i].getOpen()==1)vLeftTable+=' ';else vLeftTable+='+ '}else{vLeftTable+='   '}vLeftTable+=' '+vTaskList[i].getName()+''+vTaskList[i].getResource()+''+vTaskList[i].getDuration(vFormat)+''+vTaskList[i].getCompStr()+''+JSGantt.formatDateStr(vTaskList[i].getStart(),vDateDisplayFormat)+''+JSGantt.formatDateStr(vTaskList[i].getEnd(),vDateDisplayFormat)+'
  Powered by jsGantt      Format:';if(vFormatArr.join().indexOf("minute")!=-1){if(vFormat=='minute')vLeftTable+='Minute';else vLeftTable+='Minute'}if(vFormatArr.join().indexOf("hour")!=-1){if(vFormat=='hour')vLeftTable+='Hour';else vLeftTable+='Hour'}if(vFormatArr.join().indexOf("day")!=-1){if(vFormat=='day')vLeftTable+='Day';else vLeftTable+='Day'}if(vFormatArr.join().indexOf("week")!=-1){if(vFormat=='week')vLeftTable+='Week';else vLeftTable+='Week'}if(vFormatArr.join().indexOf("month")!=-1){if(vFormat=='month')vLeftTable+='Month';else vLeftTable+='Month'}if(vFormatArr.join().indexOf("quarter")!=-1){if(vFormat=='quarter')vLeftTable+='Quarter';else vLeftTable+='Quarter'}vLeftTable+='
'+'
'+''+'';vTmpDate.setFullYear(vMinDate.getFullYear(),vMinDate.getMonth(),vMinDate.getDate());vTmpDate.setHours(0);vTmpDate.setMinutes(0);while(Date.parse(vTmpDate)<=Date.parse(vMaxDate)){vStr=vTmpDate.getFullYear()+'';vStr=vStr.substring(2,4);if(vFormat=='minute'){vRightTable+='';vTmpDate.setHours(vTmpDate.getHours()+1)}if(vFormat=='hour'){vRightTable+='';vTmpDate.setDate(vTmpDate.getDate()+1)}if(vFormat=='day'){vRightTable+='';vTmpDate.setDate(vTmpDate.getDate()+1)}else if(vFormat=='week'){vRightTable+='';vTmpDate.setDate(vTmpDate.getDate()+7)}else if(vFormat=='month'){vRightTable+='';vTmpDate.setDate(vTmpDate.getDate()+1);while(vTmpDate.getDate()>1){vTmpDate.setDate(vTmpDate.getDate()+1)}}else if(vFormat=='quarter'){vRightTable+='';vTmpDate.setDate(vTmpDate.getDate()+81);while(vTmpDate.getDate()>1){vTmpDate.setDate(vTmpDate.getDate()+1)}}}vRightTable+='';vTmpDate.setFullYear(vMinDate.getFullYear(),vMinDate.getMonth(),vMinDate.getDate());vNxtDate.setFullYear(vMinDate.getFullYear(),vMinDate.getMonth(),vMinDate.getDate());vNumCols=0;while(Date.parse(vTmpDate)<=Date.parse(vMaxDate)){if(vFormat=='minute'){if(vTmpDate.getMinutes()==0)vWeekdayColor="ccccff";else vWeekdayColor="ffffff";vDateRowStr+='';vItemRowStr+='';vTmpDate.setMinutes(vTmpDate.getMinutes()+1)}else if(vFormat=='hour'){if(vTmpDate.getHours()==0)vWeekdayColor="ccccff";else vWeekdayColor="ffffff";vDateRowStr+='';vItemRowStr+='';vTmpDate.setHours(vTmpDate.getHours()+1)}else if(vFormat=='day'){if(JSGantt.formatDateStr(vCurrDate,'mm/dd/yyyy')==JSGantt.formatDateStr(vTmpDate,'mm/dd/yyyy')){vWeekdayColor="ccccff";vWeekendColor="9999ff";vWeekdayGColor="bbbbff";vWeekendGColor="8888ff"}else{vWeekdayColor="ffffff";vWeekendColor="cfcfcf";vWeekdayGColor="f3f3f3";vWeekendGColor="c3c3c3"}if(vTmpDate.getDay()%6==0){vDateRowStr+='';vItemRowStr+=''}else{vDateRowStr+='';if(JSGantt.formatDateStr(vCurrDate,'mm/dd/yyyy')==JSGantt.formatDateStr(vTmpDate,'mm/dd/yyyy'))vItemRowStr+='';else vItemRowStr+=''}vTmpDate.setDate(vTmpDate.getDate()+1)}else if(vFormat=='week'){vNxtDate.setDate(vNxtDate.getDate()+7);if(vCurrDate>=vTmpDate&&vCurrDate
'+(vTmpDate.getMonth()+1)+'/'+vTmpDate.getDate()+'
';if(vCurrDate>=vTmpDate&&vCurrDate
  
';else vItemRowStr+='
'}else{vDateRowStr+='';if(vCurrDate>=vTmpDate&&vCurrDate
  
';else vItemRowStr+='
'}vTmpDate.setDate(vTmpDate.getDate()+7)}else if(vFormat=='month'){vNxtDate.setFullYear(vTmpDate.getFullYear(),vTmpDate.getMonth(),vMonthDaysArr[vTmpDate.getMonth()]);if(vCurrDate>=vTmpDate&&vCurrDate
'+vMonthArr[vTmpDate.getMonth()].substr(0,3)+'
';if(vCurrDate>=vTmpDate&&vCurrDate
  
';else vItemRowStr+='
'}else{vDateRowStr+='';if(vCurrDate>=vTmpDate&&vCurrDate
  
';else vItemRowStr+='
'}vTmpDate.setDate(vTmpDate.getDate()+1);while(vTmpDate.getDate()>1){vTmpDate.setDate(vTmpDate.getDate()+1)}}else if(vFormat=='quarter'){vNxtDate.setDate(vNxtDate.getDate()+122);if(vTmpDate.getMonth()==0||vTmpDate.getMonth()==1||vTmpDate.getMonth()==2)vNxtDate.setFullYear(vTmpDate.getFullYear(),2,31);else if(vTmpDate.getMonth()==3||vTmpDate.getMonth()==4||vTmpDate.getMonth()==5)vNxtDate.setFullYear(vTmpDate.getFullYear(),5,30);else if(vTmpDate.getMonth()==6||vTmpDate.getMonth()==7||vTmpDate.getMonth()==8)vNxtDate.setFullYear(vTmpDate.getFullYear(),8,30);else if(vTmpDate.getMonth()==9||vTmpDate.getMonth()==10||vTmpDate.getMonth()==11)vNxtDate.setFullYear(vTmpDate.getFullYear(),11,31);if(vCurrDate>=vTmpDate&&vCurrDate
Qtr. '+vQuarterArr[vTmpDate.getMonth()]+'
';if(vCurrDate>=vTmpDate&&vCurrDate
  
';else vItemRowStr+='
'}else{vDateRowStr+='';if(vCurrDate>=vTmpDate&&vCurrDate
  
';else vItemRowStr+='
'}vTmpDate.setDate(vTmpDate.getDate()+81);while(vTmpDate.getDate()>1){vTmpDate.setDate(vTmpDate.getDate()+1)}}}vRightTable+=vDateRowStr+'';vRightTable+='
';vRightTable+=JSGantt.formatDateStr(vTmpDate,vDateDisplayFormat)+' '+vTmpDate.getHours()+':00 -'+vTmpDate.getHours()+':59 ';vRightTable+=JSGantt.formatDateStr(vTmpDate,vDateDisplayFormat)+''+JSGantt.formatDateStr(vTmpDate,vDateDisplayFormat.substring(0,5))+' - ';vTmpDate.setDate(vTmpDate.getDate()+6);vRightTable+=JSGantt.formatDateStr(vTmpDate,vDateDisplayFormat)+'`'+vStr+'`'+vStr+'`'+vStr+'
'+vTmpDate.getMinutes()+'
  
'+vTmpDate.getHours()+'
  
'+vTmpDate.getDate()+'
 
'+vTmpDate.getDate()+'
  
  
  
'+(vTmpDate.getMonth()+1)+'/'+vTmpDate.getDate()+'
  
  
'+vMonthArr[vTmpDate.getMonth()].substr(0,3)+'
  
  
Qtr. '+vQuarterArr[vTmpDate.getMonth()]+'
  
';for(i=0;i
'}vMainTable+=vRightTable+'
';vDiv.innerHTML=vMainTable}};this.mouseOver=function(pObj,pID,pPos,pType){if(pPos=='right')vID='child_'+pID;else vID='childrow_'+pID;pObj.bgColor="#ffffaa";vRowObj=JSGantt.findObj(vID);if(vRowObj)vRowObj.bgColor="#ffffaa"};this.mouseOut=function(pObj,pID,pPos,pType){if(pPos=='right')vID='child_'+pID;else vID='childrow_'+pID;pObj.bgColor="#ffffff";vRowObj=JSGantt.findObj(vID);if(vRowObj){if(pType=="group"){pObj.bgColor="#f3f3f3";vRowObj.bgColor="#f3f3f3"}else{pObj.bgColor="#ffffff";vRowObj.bgColor="#ffffff"}}}};JSGantt.isIE=function(){if(typeof document.all!='undefined'){return true}else{return false}};JSGantt.processRows=function(pList,pID,pRow,pLevel,pOpen){var vMinDate=new Date();var vMaxDate=new Date();var vMinSet=0;var vMaxSet=0;var vList=pList;var vLevel=pLevel;var i=0;var vNumKid=0;var vCompSum=0;var vVisible=pOpen;for(i=0;ivMaxDate){vMaxDate=pList[i].getEnd();vMaxSet=1};vCompSum+=pList[i].getCompVal()}}if(pRow>=0){pList[pRow].setStart(vMinDate);pList[pRow].setEnd(vMaxDate);pList[pRow].setNumKid(vNumKid);pList[pRow].setCompVal(Math.ceil(vCompSum/vNumKid))}};JSGantt.getMinDate=function getMinDate(pList,pFormat){var vDate=new Date();vDate.setFullYear(pList[0].getStart().getFullYear(),pList[0].getStart().getMonth(),pList[0].getStart().getDate());for(i=0;i0){vDate.setDate(vDate.getDate()-1)}}else if(pFormat=='week'){vDate.setDate(vDate.getDate()-7);while(vDate.getDay()%7>0){vDate.setDate(vDate.getDate()-1)}}else if(pFormat=='month'){while(vDate.getDate()>1){vDate.setDate(vDate.getDate()-1)}}else if(pFormat=='quarter'){if(vDate.getMonth()==0||vDate.getMonth()==1||vDate.getMonth()==2){vDate.setFullYear(vDate.getFullYear(),0,1)}else if(vDate.getMonth()==3||vDate.getMonth()==4||vDate.getMonth()==5){vDate.setFullYear(vDate.getFullYear(),3,1)}else if(vDate.getMonth()==6||vDate.getMonth()==7||vDate.getMonth()==8){vDate.setFullYear(vDate.getFullYear(),6,1)}else if(vDate.getMonth()==9||vDate.getMonth()==10||vDate.getMonth()==11){vDate.setFullYear(vDate.getFullYear(),9,1)}};return(vDate)};JSGantt.getMaxDate=function(pList,pFormat){var vDate=new Date();vDate.setFullYear(pList[0].getEnd().getFullYear(),pList[0].getEnd().getMonth(),pList[0].getEnd().getDate());for(i=0;iDate.parse(vDate)){vDate.setTime(Date.parse(pList[i].getEnd()))}}if(pFormat=='minute'){vDate.setHours(vDate.getHours()+1);vDate.setMinutes(59)}if(pFormat=='hour'){vDate.setHours(vDate.getHours()+2)}if(pFormat=='day'){vDate.setDate(vDate.getDate()+1);while(vDate.getDay()%6>0){vDate.setDate(vDate.getDate()+1)}}if(pFormat=='week'){vDate.setDate(vDate.getDate()+11);while(vDate.getDay()%6>0){vDate.setDate(vDate.getDate()+1)}}if(pFormat=='month'){while(vDate.getDay()>1){vDate.setDate(vDate.getDate()+1)}vDate.setDate(vDate.getDate()-1)}if(pFormat=='quarter'){if(vDate.getMonth()==0||vDate.getMonth()==1||vDate.getMonth()==2)vDate.setFullYear(vDate.getFullYear(),2,31);else if(vDate.getMonth()==3||vDate.getMonth()==4||vDate.getMonth()==5)vDate.setFullYear(vDate.getFullYear(),5,30);else if(vDate.getMonth()==6||vDate.getMonth()==7||vDate.getMonth()==8)vDate.setFullYear(vDate.getFullYear(),8,30);else if(vDate.getMonth()==9||vDate.getMonth()==10||vDate.getMonth()==11)vDate.setFullYear(vDate.getFullYear(),11,31)}return(vDate)};JSGantt.findObj=function(theObj,theDoc){var p,i,foundObj;if(!theDoc){theDoc=document}if((p=theObj.indexOf("?"))>0&&parent.frames.length){theDoc=parent.frames[theObj.substring(p+1)].document;theObj=theObj.substring(0,p)}if(!(foundObj=theDoc[theObj])&&theDoc.all){foundObj=theDoc.all[theObj]}for(i=0;!foundObj&&i-1;try{xmlDoc=new ActiveXObject("Microsoft.XMLDOM")}catch(e){try{if(is_chrome==false){xmlDoc=document.implementation.createDocument("","",null)}}catch(e){alert(e.message);return}}if(is_chrome==false){xmlDoc.async=false;xmlDoc.load(ThisFile);JSGantt.AddXMLTask(pGanttVar);xmlDoc=null;Task=null}else{JSGantt.ChromeLoadXML(ThisFile,pGanttVar);ta=null}};JSGantt.AddXMLTask=function(pGanttVar){Task=xmlDoc.getElementsByTagName("task");var n=xmlDoc.documentElement.childNodes.length;for(var i=0;i/gi);var n=ta.length;for(var i=1;i/i);if(te.length>2){var pID=te[1]}else{var pID=0}pID*=1;var te=Task.split(//i);if(te.length>2){var pName=te[1]}else{var pName="No Task Name"}var te=Task.split(//i);if(te.length>2){var pStart=te[1]}else{var pStart=""}var te=Task.split(//i);if(te.length>2){var pEnd=te[1]}else{var pEnd=""}var te=Task.split(//i);if(te.length>2){var pColor=te[1]}else{var pColor='0000ff'}var te=Task.split(//i);if(te.length>2){var pLink=te[1]}else{var pLink=""}var te=Task.split(//i);if(te.length>2){var pMile=te[1]}else{var pMile=0}pMile*=1;var te=Task.split(//i);if(te.length>2){var pRes=te[1]}else{var pRes=""}var te=Task.split(//i);if(te.length>2){var pComp=te[1]}else{var pComp=0}pComp*=1;var te=Task.split(//i);if(te.length>2){var pGroup=te[1]}else{var pGroup=0}pGroup*=1;var te=Task.split(//i);if(te.length>2){var pParent=te[1]}else{var pParent=0}pParent*=1;var te=Task.split(//i);if(te.length>2){var pOpen=te[1]}else{var pOpen=1}pOpen*=1;var te=Task.split(//i);if(te.length>2){var pDepend=te[1]}else{var pDepend=""}if(pDepend.length==0){pDepend=''}var te=Task.split(//i);if(te.length>2){var pCaption=te[1]}else{var pCaption=""}pGanttVar.AddTaskItem(new JSGantt.TaskItem(pID,pName,pStart,pEnd,pColor,pLink,pMile,pRes,pComp,pGroup,pParent,pOpen,pDepend,pCaption))}}};JSGantt.benchMark=function(pItem){var vEndTime=new Date().getTime();alert(pItem+': Elapsed time: '+((vEndTime-vBenchTime)/1000)+' seconds.');vBenchTime=new Date().getTime()}; \ No newline at end of file +var JSGantt;JSGantt||(JSGantt={});var vBenchTime=(new Date).getTime();JSGantt.isIE=function(){return"undefined"!=typeof document.all?"pageXOffset"in window?!1:!0:!1},JSGantt.TaskItem=function(t,e,n,a,o,i,s,r,l,d,u,h,c,f,p,m){var v,S,w,D,T,y=parseInt(document.createTextNode(t).data),L=document.createTextNode(e).data,N=new Date(0),G=new Date(0),M=null,J=null,k=document.createTextNode(o).data,C=document.createTextNode(i).data,I=parseInt(document.createTextNode(s).data),F=document.createTextNode(r).data,b=parseFloat(document.createTextNode(l).data),H=parseInt(document.createTextNode(d).data),x=document.createTextNode(u).data,E=2==H?1:parseInt(document.createTextNode(h).data),X=new Array,Y=new Array,O=document.createTextNode(f).data,R="",A=0,V=0,P=1,B=0,U=!1,j=null,W=null,q=m instanceof JSGantt.GanttChart?m:g,_=null,Q=null,z=null,K=null,Z=null;if(T=document.createElement("span"),T.className="gTaskNotes",null!=p&&(T.innerHTML=p,JSGantt.stripUnwanted(T)),null!=n&&""!=n&&(N=n instanceof Date?n:JSGantt.parseDateStr(document.createTextNode(n).data,q.getDateInputFormat()),M=N),null!=a&&""!=a&&(G=a instanceof Date?a:JSGantt.parseDateStr(document.createTextNode(a).data,q.getDateInputFormat()),J=G),null!=c)for(var $=c+"",tt=$.split(","),et=tt.length,nt=0;et>nt;nt++)-1!=tt[nt].toUpperCase().indexOf("SS")?(X[nt]=tt[nt].substring(0,tt[nt].toUpperCase().indexOf("SS")),Y[nt]="SS"):-1!=tt[nt].toUpperCase().indexOf("FF")?(X[nt]=tt[nt].substring(0,tt[nt].toUpperCase().indexOf("FF")),Y[nt]="FF"):-1!=tt[nt].toUpperCase().indexOf("SF")?(X[nt]=tt[nt].substring(0,tt[nt].toUpperCase().indexOf("SF")),Y[nt]="SF"):-1!=tt[nt].toUpperCase().indexOf("FS")?(X[nt]=tt[nt].substring(0,tt[nt].toUpperCase().indexOf("FS")),Y[nt]="FS"):(X[nt]=tt[nt],Y[nt]="FS");this.getID=function(){return y},this.getName=function(){return L},this.getStart=function(){return N},this.getEnd=function(){return G},this.getGroupMinStart=function(){return M},this.getGroupMinEnd=function(){return J},this.getClass=function(){return k},this.getLink=function(){return C},this.getMile=function(){return I},this.getDepend=function(){return X?X:null},this.getDepType=function(){return Y?Y:null},this.getCaption=function(){return O?O:""},this.getResource=function(){return F?F:" "},this.getCompVal=function(){return b?b:0},this.getCompStr=function(){return b?b+"%":""},this.getNotes=function(){return T},this.getSortIdx=function(){return B},this.getToDelete=function(){return U},this.getDuration=function(t,e){if(I)R="-";else{var n=new Date(this.getEnd().getTime()),a=null;switch(t){case"week":a="day";break;case"month":a="week";break;case"quarter":a="month";break;default:a=t}(n.getTime()-6e4*n.getTimezoneOffset())%864e5==0&&(n=new Date(n.getFullYear(),n.getMonth(),n.getDate()+1,n.getHours(),n.getMinutes(),n.getSeconds()));var o=JSGantt.getOffset(this.getStart(),n,999,a)/1e3;switch(Math.floor(o)!=o&&(o=Math.round(10*o)/10),a){case"hour":R=o+" "+(1!=o?e.hrs:e.hr);break;case"day":R=o+" "+(1!=o?e.dys:e.dy);break;case"week":R=o+" "+(1!=o?e.wks:e.wk);break;case"month":R=o+" "+(1!=o?e.mths:e.mth);break;case"quarter":R=o+" "+(1!=o?e.qtrs:e.qtr)}}return R},this.getParent=function(){return x},this.getGroup=function(){return H},this.getOpen=function(){return E},this.getLevel=function(){return A},this.getNumKids=function(){return V},this.getStartX=function(){return v},this.getStartY=function(){return S},this.getEndX=function(){return w},this.getEndY=function(){return D},this.getVisible=function(){return P},this.getParItem=function(){return j},this.getCellDiv=function(){return W},this.getBarDiv=function(){return _},this.getTaskDiv=function(){return Q},this.getChildRow=function(){return K},this.getListChildRow=function(){return z},this.getGroupSpan=function(){return Z},this.setStart=function(t){t instanceof Date&&(N=t)},this.setEnd=function(t){t instanceof Date&&(G=t)},this.setGroupMinStart=function(t){t instanceof Date&&(M=t)},this.setGroupMinEnd=function(t){t instanceof Date&&(J=t)},this.setLevel=function(t){A=parseInt(document.createTextNode(t).data)},this.setNumKid=function(t){V=parseInt(document.createTextNode(t).data)},this.setCompVal=function(t){b=parseFloat(document.createTextNode(t).data)},this.setStartX=function(t){v=parseInt(document.createTextNode(t).data)},this.setStartY=function(t){S=parseInt(document.createTextNode(t).data)},this.setEndX=function(t){w=parseInt(document.createTextNode(t).data)},this.setEndY=function(t){D=parseInt(document.createTextNode(t).data)},this.setOpen=function(t){E=parseInt(document.createTextNode(t).data)},this.setVisible=function(t){P=parseInt(document.createTextNode(t).data)},this.setSortIdx=function(t){B=parseInt(document.createTextNode(t).data)},this.setToDelete=function(t){U=t?!0:!1},this.setParItem=function(t){t instanceof JSGantt.TaskItem&&(j=t)},this.setCellDiv=function(t){("function"!=typeof HTMLDivElement||t instanceof HTMLDivElement)&&(W=t)},this.setGroup=function(t){H=parseInt(document.createTextNode(t).data)},this.setBarDiv=function(t){("function"!=typeof HTMLDivElement||t instanceof HTMLDivElement)&&(_=t)},this.setTaskDiv=function(t){("function"!=typeof HTMLDivElement||t instanceof HTMLDivElement)&&(Q=t)},this.setChildRow=function(t){("function"!=typeof HTMLTableRowElement||t instanceof HTMLTableRowElement)&&(K=t)},this.setListChildRow=function(t){("function"!=typeof HTMLTableRowElement||t instanceof HTMLTableRowElement)&&(z=t)},this.setGroupSpan=function(t){("function"!=typeof HTMLSpanElement||t instanceof HTMLSpanElement)&&(Z=t)}},JSGantt.GanttChart=function(t,e){var n,a=t,o=e,i=null,s=1,r=1,l=1,g=1,d=1,u=25e3,h=1,c=1,f=1,p=1,m=1,v=1,S=1,w=1,D=1,T=1,y=1,L=1,N=1,G=1,M=new Array("top"),J="yyyy-mm-dd",k=JSGantt.parseDateFormatStr("dd/mm/yyyy"),C=JSGantt.parseDateFormatStr("dd month yyyy"),I=JSGantt.parseDateFormatStr("day dd month yyyy"),F=JSGantt.parseDateFormatStr("HH"),b=JSGantt.parseDateFormatStr("dd/mm/yyyy"),H=JSGantt.parseDateFormatStr("dd"),x=JSGantt.parseDateFormatStr("yyyy"),E=JSGantt.parseDateFormatStr("dd/mm"),X=JSGantt.parseDateFormatStr("yyyy"),Y=JSGantt.parseDateFormatStr("mon"),O=JSGantt.parseDateFormatStr("yyyy"),R=JSGantt.parseDateFormatStr("qq"),A=(JSGantt.parseDateFormatStr("dd/mm/yyyy"),1),V=new Array,P=new Array("hour","day","week","month","quarter"),B=(new Array(31,28,31,30,31,30,31,31,30,31,30,31),!0),U=8,j="",W=18,q=18,_=36,Q=36,z=18,K=20,Z=-1,$=null,tt=null,et=null,nt=null,at=null,ot=20;this.setUseFade=function(t){s=t},this.setUseMove=function(t){r=t},this.setUseRowHlt=function(t){l=t},this.setUseToolTip=function(t){g=t},this.setUseSort=function(t){d=t},this.setUseSingleCell=function(t){u=1*t},this.setFormatArr=function(){var t="hour day week month quarter";P=new Array;for(var e=0,n=0;e1){P[n++]=arguments[e].toLowerCase();var a=new RegExp("(?:^|s)"+arguments[e]+"(?!S)","g");t=t.replace(a,"")}},this.setShowRes=function(t){h=t},this.setShowDur=function(t){c=t},this.setShowComp=function(t){f=t},this.setShowStartDate=function(t){p=t},this.setShowEndDate=function(t){m=t},this.setShowTaskInfoRes=function(t){S=t},this.setShowTaskInfoDur=function(t){w=t},this.setShowTaskInfoComp=function(t){D=t},this.setShowTaskInfoStartDate=function(t){T=t},this.setShowTaskInfoEndDate=function(t){y=t},this.setShowTaskInfoNotes=function(t){L=t},this.setShowTaskInfoLink=function(t){N=t},this.setShowEndWeekDate=function(t){v=t},this.setShowSelector=function(){var t="top bottom";M=new Array;for(var e=0,n=0;e1){M[n++]=arguments[e].toLowerCase();var a=new RegExp("(?:^|s)"+arguments[e]+"(?!S)","g");t=t.replace(a,"")}},this.setShowDeps=function(t){G=t},this.setDateInputFormat=function(t){J=t},this.setDateTaskTableDisplayFormat=function(t){k=JSGantt.parseDateFormatStr(t)},this.setDateTaskDisplayFormat=function(t){C=JSGantt.parseDateFormatStr(t)},this.setHourMajorDateDisplayFormat=function(t){I=JSGantt.parseDateFormatStr(t)},this.setHourMinorDateDisplayFormat=function(t){F=JSGantt.parseDateFormatStr(t)},this.setDayMajorDateDisplayFormat=function(t){b=JSGantt.parseDateFormatStr(t)},this.setDayMinorDateDisplayFormat=function(t){H=JSGantt.parseDateFormatStr(t)},this.setWeekMajorDateDisplayFormat=function(t){x=JSGantt.parseDateFormatStr(t)},this.setWeekMinorDateDisplayFormat=function(t){E=JSGantt.parseDateFormatStr(t)},this.setMonthMajorDateDisplayFormat=function(t){X=JSGantt.parseDateFormatStr(t)},this.setMonthMinorDateDisplayFormat=function(t){Y=JSGantt.parseDateFormatStr(t)},this.setQuarterMajorDateDisplayFormat=function(t){O=JSGantt.parseDateFormatStr(t)},this.setQuarterMinorDateDisplayFormat=function(t){R=JSGantt.parseDateFormatStr(t)},this.setCaptionType=function(t){n=t},this.setFormat=function(t){o=t,this.Draw()},this.setMinGpLen=function(t){U=t},this.setScrollTo=function(t){j=t},this.setHourColWidth=function(t){W=t},this.setDayColWidth=function(t){q=t},this.setWeekColWidth=function(t){_=t},this.setMonthColWidth=function(t){Q=t},this.setQuarterColWidth=function(t){z=t},this.setRowHeight=function(t){K=t},this.setLang=function(t){vLangs[t]&&(vLang=t)},this.setChartBody=function(t){("function"!=typeof HTMLDivElement||t instanceof HTMLDivElement)&&($=t)},this.setChartHead=function(t){("function"!=typeof HTMLDivElement||t instanceof HTMLDivElement)&&(tt=t)},this.setListBody=function(t){("function"!=typeof HTMLDivElement||t instanceof HTMLDivElement)&&(et=t)},this.setChartTable=function(t){("function"!=typeof HTMLTableElement||t instanceof HTMLTableElement)&&(nt=t)},this.setLines=function(t){("function"!=typeof HTMLDivElement||t instanceof HTMLDivElement)&&(at=t)},this.setTimer=function(t){ot=1*t},this.addLang=function(t,e){if(!vLangs[t]){vLangs[t]=new Object;for(var n in vLangs.en)vLangs[t][n]=e[n]?document.createTextNode(e[n]).data:vLangs.en[n]}},this.getDivId=function(){return i},this.getUseFade=function(){return s},this.getUseMove=function(){return r},this.getUseRowHlt=function(){return l},this.getUseToolTip=function(){return g},this.getUseSort=function(){return d},this.getUseSingleCell=function(){return u},this.getFormatArr=function(){return P},this.getShowRes=function(){return h},this.getShowDur=function(){return c},this.getShowComp=function(){return f},this.getShowStartDate=function(){return p},this.getShowEndDate=function(){return m},this.getShowTaskInfoRes=function(){return S},this.getShowTaskInfoDur=function(){return w},this.getShowTaskInfoComp=function(){return D},this.getShowTaskInfoStartDate=function(){return T},this.getShowTaskInfoEndDate=function(){return y},this.getShowTaskInfoNotes=function(){return L},this.getShowTaskInfoLink=function(){return N},this.getShowEndWeekDate=function(){return v},this.getShowSelector=function(){return M},this.getShowDeps=function(){return G},this.getDateInputFormat=function(){return J},this.getDateTaskTableDisplayFormat=function(){return k},this.getDateTaskDisplayFormat=function(){return C},this.getHourMajorDateDisplayFormat=function(){return I},this.getHourMinorDateDisplayFormat=function(){return F},this.getDayMajorDateDisplayFormat=function(){return b},this.getDayMinorDateDisplayFormat=function(){return H},this.getWeekMajorDateDisplayFormat=function(){return x},this.getWeekMinorDateDisplayFormat=function(){return E},this.getMonthMajorDateDisplayFormat=function(){return X},this.getMonthMinorDateDisplayFormat=function(){return Y},this.getQuarterMajorDateDisplayFormat=function(){return O},this.getQuarterMinorDateDisplayFormat=function(){return R},this.getCaptionType=function(){return n},this.getMinGpLen=function(){return U},this.getScrollTo=function(){return j},this.getHourColWidth=function(){return W},this.getDayColWidth=function(){return q},this.getWeekColWidth=function(){return _},this.getMonthColWidth=function(){return Q},this.getQuarterColWidth=function(){return z},this.getRowHeight=function(){return K},this.getChartBody=function(){return $},this.getChartHead=function(){return tt},this.getListBody=function(){return et},this.getChartTable=function(){return nt},this.getLines=function(){return at},this.getTimer=function(){return ot},this.CalcTaskXY=function(){for(var t,e,n,a,o=this.getList(),i=Math.floor(this.getRowHeight()/2),s=0;sa&&(g*=-1),o){case"SF":l*=-1,n>=t-10&&e!=a&&(r=!0),s=-1;break;case"SS":n>t?l*=-1:l=n-t-2*l;break;case"FF":n>=t&&(l=n-t+2*l),s=-1;break;default:t+10>=n&&e!=a&&(r=!0)}r?(this.sLine(t,e,t+l,e,i),this.sLine(t+l,e,t+l,a-g,i),this.sLine(t+l,a-g,n-2*l,a-g,i),this.sLine(n-2*l,a-g,n-2*l,a,i),this.sLine(n-2*l,a,n-1*s,a,i)):e!=a?(this.sLine(t,e,t+l,e,i),this.sLine(t+l,e,t+l,a,i),this.sLine(t+l,a,n-1*s,a,i)):this.sLine(t,e,n-1*s,a,i);var d=this.sLine(n,a,n-3-(0>s?1:0),a-3-(0>s?1:0),i+"Arw");d.style.width="0px",d.style.height="0px"},this.DrawDependencies=function(){if(1==this.getShowDeps()){this.CalcTaskXY(),this.clearDependencies();for(var t=this.getList(),e=0;e0&&1==t[e].getVisible())for(var i=0;o>i;i++){var s=this.getArrayLocationByID(n[i]);s>=0&&2!=t[s].getGroup()&&1==t[s].getVisible()&&("SS"==a[i]?this.drawDependency(t[s].getStartX()-1,t[s].getStartY(),t[e].getStartX()-1,t[e].getStartY(),"SS","gDepSS"):"FF"==a[i]?this.drawDependency(t[s].getEndX(),t[s].getEndY(),t[e].getEndX(),t[e].getEndY(),"FF","gDepFF"):"SF"==a[i]?this.drawDependency(t[s].getStartX()-1,t[s].getStartY(),t[e].getEndX(),t[e].getEndY(),"SF","gDepSF"):"FS"==a[i]&&this.drawDependency(t[s].getEndX(),t[s].getEndY(),t[e].getStartX()-1,t[e].getStartY(),"FS","gDepFS"))}}}Z>=0&&this.sLine(Z,0,Z,this.getChartTable().offsetHeight-1,"gCurDate")},this.getArrayLocationByID=function(t){for(var e=this.getList(),n=0;n0){B&&JSGantt.processRows(V,0,-1,1,1,this.getUseSort()),B=!1,e=JSGantt.getMinDate(V,o),t=JSGantt.getMaxDate(V,o),"day"==o?T=q:"week"==o?T=_:"month"==o?T=Q:"quarter"==o?T=z:"hour"==o&&(T=W);var y=document.createDocumentFragment(),L=this.newNode(y,"div",i+"glisthead","glistlbl gcontainercol"),N=this.newNode(L,"table",null,"gtasktableh"),G=this.newNode(N,"tbody"),M=this.newNode(G,"tr");this.newNode(M,"td",null,"gtasklist"," ");var J=this.newNode(M,"td",null,"gspanning gtaskname");J.appendChild(this.drawSelector("top")),1==h&&this.newNode(M,"td",null,"gspanning gresource"," "),1==c&&this.newNode(M,"td",null,"gspanning gduration"," "),1==f&&this.newNode(M,"td",null,"gspanning gpccomplete"," "),1==p&&this.newNode(M,"td",null,"gspanning gstartdate"," "),1==m&&this.newNode(M,"td",null,"gspanning genddate"," "),M=this.newNode(G,"tr"),this.newNode(M,"td",null,"gtasklist"," "),this.newNode(M,"td",null,"gtaskname"," "),1==h&&this.newNode(M,"td",null,"gtaskheading gresource",vLangs[vLang].resource),1==c&&this.newNode(M,"td",null,"gtaskheading gduration",vLangs[vLang].duration),1==f&&this.newNode(M,"td",null,"gtaskheading gpccomplete",vLangs[vLang].comp),1==p&&this.newNode(M,"td",null,"gtaskheading gstartdate",vLangs[vLang].startdate),1==m&&this.newNode(M,"td",null,"gtaskheading genddate",vLangs[vLang].enddate),L=this.newNode(y,"div",null,"glabelfooter");var C=document.createDocumentFragment(),A=this.newNode(C,"div",i+"glistbody","glistgrid gcontainercol");for(this.setListBody(A),N=this.newNode(A,"table",null,"gtasktable"),G=this.newNode(N,"tbody"),st=0;st=n&&(J=this.newNode(M,"td",null,at),this.newNode(J,"div",null,null,JSGantt.formatDateStr(n,H,vLangs[vLang]),T),g++),n.setDate(n.getDate()+1);else if("week"==o)t>=n&&(J=this.newNode(M,"td",null,at),this.newNode(J,"div",null,null,JSGantt.formatDateStr(n,E,vLangs[vLang]),T),g++),n.setDate(n.getDate()+7);else if("month"==o)for(t>=n&&(J=this.newNode(M,"td",null,at),this.newNode(J,"div",null,null,JSGantt.formatDateStr(n,Y,vLangs[vLang]),T),g++),n.setDate(n.getDate()+1);n.getDate()>1;)n.setDate(n.getDate()+1);else if("quarter"==o)for(t>=n&&(J=this.newNode(M,"td",null,at),this.newNode(J,"div",null,null,JSGantt.formatDateStr(n,R,vLangs[vLang]),T),g++),n.setDate(n.getDate()+81);n.getDate()>1;)n.setDate(n.getDate()+1);else if("hour"==o){for(st=n.getHours();24>st;st++)n.setHours(st),t>=n&&(J=this.newNode(M,"td",null,at),this.newNode(J,"div",null,null,JSGantt.formatDateStr(n,F,vLangs[vLang]),T),g++);n.setHours(0),n.setDate(n.getDate()+1)}}D=M,s=g*(T+1)+1,0!=u&&g*d>u&&(S=!0),this.newNode(L,"div",null,"rhscrpad",null,null,s+1);var it=document.createDocumentFragment();L=this.newNode(it,"div",i+"gchartbody","gchartgrid gcontainercol"),this.setChartBody(L),N=this.newNode(L,"table",i+"chartTable","gcharttable",null,s),this.setChartTable(N),this.newNode(L,"div",null,"rhscrpad",null,null,s+1),G=this.newNode(N,"tbody");var st=0,rt=0;for(st=0;strt;rt++)ut="day"!=o||rt%7!=4&&rt%7!=5?"gtaskcell":"gtaskcellwkend",this.newNode(M,"td",null,ut,"  ")}else if(l=r-1,V[st].getGroup()){if(l=l>U&&2*U>l?2*U:l,l=U>l?U:l,M=this.newNode(G,"tr",i+"childrow_"+w,(2==V[st].getGroup()?"glineitem gitem":"ggroupitem ggroup")+o,null,null,null,0==V[st].getVisible()?"none":null),V[st].setChildRow(M),JSGantt.addThisRowListeners(this,V[st].getListChildRow(),M),J=this.newNode(M,"td",null,"gtaskcell"),L=this.newNode(J,"div",null,"gtaskcelldiv","  "),V[st].setCellDiv(L),1==V[st].getGroup()&&(L=this.newNode(L,"div",i+"bardiv_"+w,"gtaskbarcontainer",null,l,s),V[st].setBarDiv(L),A=this.newNode(L,"div",i+"taskbar_"+w,V[st].getClass(),null,l),V[st].setTaskDiv(A),this.newNode(A,"div",i+"complete_"+w,V[st].getClass()+"complete",null,V[st].getCompStr()),this.newNode(L,"div",null,V[st].getClass()+"endpointleft"),l>=2*U&&this.newNode(L,"div",null,V[st].getClass()+"endpointright"),ft="ggroupcaption"),!S&&!dt)for(ut="",rt=0;g-1>rt;rt++)ut="day"!=o||rt%7!=4&&rt%7!=5?"gtaskcell":"gtaskcellwkend",this.newNode(M,"td",null,ut,"  ")}else if(l=0>=l?1:l,dt?L=V[st].getParItem().getCellDiv():(M=this.newNode(G,"tr",i+"childrow_"+w,"glineitem gitem"+o,null,null,null,0==V[st].getVisible()?"none":null),V[st].setChildRow(M),JSGantt.addThisRowListeners(this,V[st].getListChildRow(),M),J=this.newNode(M,"td",null,"gtaskcell"),L=this.newNode(J,"div",null,"gtaskcelldiv","  ")),L=this.newNode(L,"div",i+"bardiv_"+w,"gtaskbarcontainer",null,l,s),V[st].setBarDiv(L),A=this.newNode(L,"div",i+"taskbar_"+w,V[st].getClass(),null,l),V[st].setTaskDiv(A),this.newNode(A,"div",i+"complete_"+w,V[st].getClass()+"complete",null,V[st].getCompStr()),dt&&(ht=V[st].getParItem()),(!dt||dt&&V[st].getParItem().getEnd()==V[st].getEnd())&&(ft="gcaption"),!S&&!dt)for(ut="",rt=0;g-1>rt;rt++)ut="day"!=o||rt%7!=4&&rt%7!=5?"gtaskcell":"gtaskcellwkend",this.newNode(M,"td",null,ut,"  ");if(this.getCaptionType()&&null!==ft){switch(this.getCaptionType()){case"Caption":var ct=ht.getCaption();break;case"Resource":ct=ht.getResource();break;case"Duration":ct=ht.getDuration(o,vLangs[vLang]);break;case"Complete":ct=ht.getCompStr()}this.newNode(L,"div",null,ft,ct,120,"gmilecaption"==ft?12:0)}V[st].getTaskDiv()&&L&&(A=this.newNode(L,"div",i+"tt"+w,null,null,null,null,"none"),A.appendChild(this.createTaskInfo(V[st])),JSGantt.addTooltipListeners(this,V[st].getTaskDiv(),A))}for(S||G.appendChild(D.cloneNode(!0));a.hasChildNodes();)a.removeChild(a.firstChild);if(L=this.newNode(a,"div",null,"gchartcontainer"),L.appendChild(et),L.appendChild(y),L.appendChild(it),L.appendChild(C),this.newNode(L,"div",null,"ggridfooter"),A=this.newNode(this.getChartBody(),"div",i+"Lines","glinediv"),A.style.visibility="hidden",this.setLines(A),JSGantt.addScrollListeners(this),""!=j){var pt=new Date(e.getTime()),mt=0;"px"==j.substr(0,2)?mt=parseInt(j.substr(2)):(pt=JSGantt.parseDateStr(j,this.getDateInputFormat()),"hour"==o?pt.setMinutes(0,0,0):pt.setHours(0,0,0,0),mt=JSGantt.getOffset(e,pt,T,o)),this.getChartBody().scrollLeft=mt}Z=e.getTime()<=(new Date).getTime()&&t.getTime()>=(new Date).getTime()?JSGantt.getOffset(e,new Date,T,o):-1,this.DrawDependencies()}},this.mouseOver=function(t,e){this.getUseRowHlt()&&(t.className+=" gitemhighlight",e.className+=" gitemhighlight")},this.mouseOut=function(t,e){this.getUseRowHlt()&&(t.className=t.className.replace(/(?:^|\s)gitemhighlight(?!\S)/g,""),e.className=e.className.replace(/(?:^|\s)gitemhighlight(?!\S)/g,""))},this.drawSelector=function(t){for(var e=document.createDocumentFragment(),n=!1,a=0;a=0&&a",o+=""+V[a].getID()+"",o+=""+V[a].getName()+"",o+=""+JSGantt.formatDateStr(V[a].getStart(),i,vLangs[vLang])+"",o+=""+JSGantt.formatDateStr(V[a].getEnd(),i,vLangs[vLang])+"",o+=""+V[a].getClass()+"",o+=""+V[a].getLink()+"",o+=""+V[a].getMile()+""," "!=V[a].getResource()&&(o+=""+V[a].getResource()+""),o+=""+V[a].getCompVal()+"",o+=""+V[a].getGroup()+"",o+=""+V[a].getParent()+"",o+=""+V[a].getOpen()+"",o+="";var s=V[a].getDepend();for(n=0;n0&&(o+=","),s[n]>0&&(o+=s[n]+V[a].getDepType()[n]);o+="",o+=""+V[a].getCaption()+"";var r=document.createDocumentFragment(),l=this.newNode(r,"div",null,null,V[a].getNotes().innerHTML);o+=""+l.innerHTML+"",o+=""}return o},a&&"div"==a.nodeName.toLowerCase()&&(i=a.id)},JSGantt.updateFlyingObj=function(t,e,n){var a=3,o=5,i=3,s=15,r=t?t.clientX:window.event.clientX,l=t?t.clientY:window.event.clientY,g=document.documentElement.clientWidth||document.getElementsByTagName("body")[0].clientWidth,d=document.documentElement.clientHeight||document.getElementsByTagName("body")[0].clientHeight,u=r,h=l;if("microsoft internet explorer"==navigator.appName.toLowerCase()){r-=document.documentElement.clientLeft,l-=document.documentElement.clientTop;var c=JSGantt.getZoomFactor();1!=c&&(r=Math.round(r/c),l=Math.round(l/c))}var f=JSGantt.getScrollPositions();u=r-o-e.vTool.offsetWidth<0?r+s+e.vTool.offsetWidth>g?f.x:r+f.x+s:r+f.x-o-e.vTool.offsetWidth,h=l+i+e.vTool.offsetHeight>d?l-a-e.vTool.offsetHeight<0?f.y:l+f.y-a-e.vTool.offsetHeight:l+f.y+i,e.getUseMove()?(clearInterval(e.vTool.moveInterval),e.vTool.moveInterval=setInterval(function(){JSGantt.moveToolTip(u,h,e.vTool,n)},n)):(e.vTool.style.left=u+"px", + e.vTool.style.top=h+"px")},JSGantt.showToolTip=function(t,e,n,a,o){var i=t.getDivId()+"JSGanttToolTip",s=500,r=100,l=n.id;t.getUseToolTip()&&(null==t.vTool&&(t.vTool=document.createElement("div"),t.vTool.id=i,t.vTool.className="JSGanttToolTip",t.vTool.vToolCont=document.createElement("div"),t.vTool.vToolCont.id=i+"cont",t.vTool.vToolCont.className="JSGanttToolTipcont",t.vTool.vToolCont.setAttribute("showing",""),t.vTool.appendChild(t.vTool.vToolCont),document.body.appendChild(t.vTool),t.vTool.style.opacity=0,t.vTool.setAttribute("currentOpacity",0),t.vTool.setAttribute("fadeIncrement",10),t.vTool.setAttribute("moveSpeed",10),t.vTool.style.filter="alpha(opacity=0)",t.vTool.style.visibility="hidden",t.vTool.style.left=Math.floor((e?e.clientX:window.event.clientX)/2)+"px",t.vTool.style.top=Math.floor((e?e.clientY:window.event.clientY)/2)+"px",JSGantt.addListener("mouseover",function(){clearTimeout(t.vTool.delayTimeout)},t.vTool),JSGantt.addListener("mouseout",function(){JSGantt.delayedHide(t,t.vTool,o)},t.vTool)),clearTimeout(t.vTool.delayTimeout),(t.vTool.vToolCont.getAttribute("showing")!=l||"visible"!=t.vTool.style.visibility)&&(t.vTool.vToolCont.getAttribute("showing")!=l&&(t.vTool.vToolCont.setAttribute("showing",l),t.vTool.vToolCont.innerHTML=n.innerHTML,JSGantt.stripIds(t.vTool.vToolCont)),t.vTool.style.visibility="visible",JSGantt.updateFlyingObj(e,t,o),t.vTool.style.width=a?a+"px":"auto",!a&&JSGantt.isIE()&&(t.vTool.style.width=t.vTool.offsetWidth),t.vTool.offsetWidth>s&&(t.vTool.style.width=s+"px")),t.getUseFade()?(clearInterval(t.vTool.fadeInterval),t.vTool.fadeInterval=setInterval(function(){JSGantt.fadeToolTip(1,t.vTool,r)},o)):(t.vTool.style.opacity=.01*r,t.vTool.style.filter="alpha(opacity="+r+")"))},JSGantt.stripIds=function(t){for(var e=0;en-i&&1==t?s=n-i:a>o&&-1==t&&(s=i),o=i+s*t,e.style.opacity=.01*o,e.style.filter="alpha(opacity="+o+")",e.setAttribute("currentOpacity",o)}else clearInterval(e.fadeInterval),-1==t&&(e.style.opacity=0,e.style.filter="alpha(opacity=0)",e.style.visibility="hidden")},JSGantt.moveToolTip=function(t,e,n){var a=parseInt(n.getAttribute("moveSpeed")),o=parseInt(n.style.left),i=parseInt(n.style.top);"visible"!=n.style.visibility?(n.style.left=t+"px",n.style.top=e+"px",clearInterval(n.moveInterval)):t!=o&&e!=i?(o+=Math.ceil((t-o)/a),i+=Math.ceil((e-i)/a),n.style.left=o+"px",n.style.top=i+"px"):clearInterval(n.moveInterval)},JSGantt.getZoomFactor=function(){var t=1;if(document.body.getBoundingClientRect){var e=document.body.getBoundingClientRect(),n=e.right-e.left,a=document.body.offsetWidth;t=Math.round(n/a*100)/100}return t},JSGantt.getScrollPositions=function(){var t=window.pageXOffset,e=window.pageYOffset;if(!("pageXOffset"in window)){var n=JSGantt.getZoomFactor();t=Math.round(document.documentElement.scrollLeft/n),e=Math.round(document.documentElement.scrollTop/n)}return{x:t,y:e}},JSGantt.getOffset=function(t,e,n,a){var o=new Array(31,28,31,30,31,30,31,31,30,31,30,31),i=new Date(t.getTime()),s=new Date(e.getTime()),r=0,l=Date.UTC(i.getFullYear(),i.getMonth(),i.getDate(),i.getHours(),0,0),g=Date.UTC(s.getFullYear(),s.getMonth(),s.getDate(),s.getHours(),0,0),d=(g-l)/36e5;if("day"==a)r=Math.ceil(d/24*(n+1));else if("week"==a)r=Math.ceil(d/24*(n+1)/7);else if("month"==a){var u=12*(s.getFullYear()-i.getFullYear())+(s.getMonth()-i.getMonth()),h=new Date(s.getTime());h.setDate(i.getDate());var c=(s.getTime()-h.getTime())/864e5;r=Math.ceil(u*(n+1)+c*(n/o[s.getMonth()]))}else if("quarter"==a)u=12*(s.getFullYear()-i.getFullYear())+(s.getMonth()-i.getMonth()),h=new Date(s.getTime()),h.setDate(i.getDate()),c=(s.getTime()-h.getTime())/864e5,r=Math.ceil(u*((n+1)/3)+c*(n/90));else if("hour"==a){h=new Date(s.getTime()),h.setMinutes(i.getMinutes(),0);var f=(s.getTime()-h.getTime())/36e5;r=Math.ceil(d*(n+1)+f*n)}return r},JSGantt.processRows=function(t,e,n,a,o,i){var s=new Date,r=new Date,l=o,g=null,d=0,u=0,h=0,c=0,f=a,p=t,m=!1,v=0;for(v=0;v=0&&t[v].getID()==e&&(g=t[v]);for(v=0;vr)&&(r=t[v].getEnd(),h=1),d+=t[v].getCompVal(),t[v].setSortIdx(v*t.length)}if(n>=0&&(null!=t[n].getGroupMinStart()&&t[n].getGroupMinStart()r&&(r=t[n].getGroupMinEnd()),t[n].setStart(s),t[n].setEnd(r),t[n].setNumKid(c),t[n].setCompVal(Math.ceil(d/c))),0==e&&1==i&&(JSGantt.sortTasks(t,0,0),t.sort(function(t,e){return t.getSortIdx()-e.getSortIdx()})),0==e&&1!=i){for(v=0;v0&&o.sort(function(t,e){var n=t.getStart().getTime()-e.getStart().getTime();return 0==n&&(n=t.getEnd().getTime()-e.getEnd().getTime()),0==n?t.getID()-e.getID():n});for(var s=0;s1;)n.setDate(n.getDate()-1);else if("quarter"==e)n.setDate(n.getDate()-31),0==n.getMonth()||1==n.getMonth()||2==n.getMonth()?n.setFullYear(n.getFullYear(),0,1):3==n.getMonth()||4==n.getMonth()||5==n.getMonth()?n.setFullYear(n.getFullYear(),3,1):6==n.getMonth()||7==n.getMonth()||8==n.getMonth()?n.setFullYear(n.getFullYear(),6,1):(9==n.getMonth()||10==n.getMonth()||11==n.getMonth())&&n.setFullYear(n.getFullYear(),9,1);else if("hour"==e)for(n.setHours(n.getHours()-1);n.getHours()%6!=0;)n.setHours(n.getHours()-1);return"hour"==e?n.setMinutes(0,0):n.setHours(0,0,0),n},JSGantt.getMaxDate=function(t,e){var n=new Date;n.setTime(t[0].getEnd().getTime());for(var a=0;an.getTime()&&n.setTime(t[a].getEnd().getTime());if("day"==e)for(n.setDate(n.getDate()+1);n.getDay()%7!=0;)n.setDate(n.getDate()+1);else if("week"==e)for(n.setDate(n.getDate()+1);n.getDay()%7!=0;)n.setDate(n.getDate()+1);else if("month"==e){for(;n.getDate()>1;)n.setDate(n.getDate()+1);n.setDate(n.getDate()-1)}else if("quarter"==e)0==n.getMonth()||1==n.getMonth()||2==n.getMonth()?n.setFullYear(n.getFullYear(),2,31):3==n.getMonth()||4==n.getMonth()||5==n.getMonth()?n.setFullYear(n.getFullYear(),5,30):6==n.getMonth()||7==n.getMonth()||8==n.getMonth()?n.setFullYear(n.getFullYear(),8,30):(9==n.getMonth()||10==n.getMonth()||11==n.getMonth())&&n.setFullYear(n.getFullYear(),11,31);else if("hour"==e)for(0==n.getHours()&&n.setDate(n.getDate()+1),n.setHours(n.getHours()+1);n.getHours()%6!=5;)n.setHours(n.getHours()+1);return n},JSGantt.findObj=function(t,e){var n;return e||(e=document),document.getElementById&&(n=document.getElementById(t)),n},JSGantt.changeFormat=function(t,e){e?e.setFormat(t):alert("Chart undefined")},JSGantt.folder=function(t,e){var n=e.getList();e.getDivId();e.clearDependencies();for(var a=0;a=10&&a.length>=3){for(;a.length<5;)a.push(0);switch(e){case"mm/dd/yyyy":n=new Date(a[2],a[0]-1,a[1],a[3],a[4]);break;case"dd/mm/yyyy":n=new Date(a[2],a[1]-1,a[0],a[3],a[4]);break;case"yyyy-mm-dd":n=new Date(a[0],a[1]-1,a[2],a[3],a[4])}}return n},JSGantt.formatDateStr=function(t,e,n){for(var a="",o=t.getFullYear().toString().substring(2,4),i=t.getMonth()+1+"",s=new Array(n.january,n.february,n.march,n.april,n.maylong,n.june,n.july,n.august,n.september,n.october,n.november,n.december),r=new Array(n.sunday,n.monday,n.tuesday,n.wednesday,n.thursday,n.friday,n.saturday),l=new Array(n.jan,n.feb,n.mar,n.apr,n.may,n.jun,n.jul,n.aug,n.sep,n.oct,n.nov,n.dec),g=new Array(n.sun,n.mon,n.tue,n.wed,n.thu,n.fri,n.sat),d=0;di&&(a+="0");case"m":a+=i;break;case"mon":a+=l[t.getMonth()];break;case"month":a+=s[t.getMonth()];break;case"yyyy":a+=t.getFullYear();break;case"yy":a+=o;break;case"qq":a+="Q";case"q":a+=Math.floor(t.getMonth()/3)+1;break;case"hh":(t.getHours()%12==0?12:t.getHours()%12)<10&&(a+="0");case"h":a+=t.getHours()%12==0?12:t.getHours()%12;break;case"HH":t.getHours()<10&&(a+="0");case"H":a+=t.getHours();break;case"MI":t.getMinutes()<10&&(a+="0");case"mi":a+=t.getMinutes();break;case"pm":a+=t.getHours()<12?"am":"pm";break;case"PM":a+=t.getHours()<12?"AM":"PM";break;case"ww":JSGantt.getIsoWeek(t)<10&&(a+="0");case"w":a+=JSGantt.getIsoWeek(t);break;case"week":var u=JSGantt.getIsoWeek(t),h=t.getFullYear(),c=0==t.getDay()?7:t.getDay();u>=52&&1==i&&h--,1==u&&12==i&&h++,10>u&&(u="0"+u),a+=h+"-W"+u+"-"+c;break;default:a+=n[e[d].toLowerCase()]?n[e[d].toLowerCase()]:e[d]}return a},JSGantt.parseDateFormatStr=function(t){for(var e="",n="",a=new RegExp("[/\\ -.,'\":]"),o=new Array,i=0;i0&&(a=p[0].getAttribute("xmlns")),"http://schemas.microsoft.com/project"==a){o=!0,t.setDateInputFormat("yyyy-mm-dd"),n=JSGantt.findXMLNode(e,"Task"),i="undefined"==typeof n?0:n.length;var m=JSGantt.findXMLNode(e,"Resource");for("undefined"==typeof m?(i=0,s=0):s=m.length,r=0;s>r;r++){var v=JSGantt.getXMLNodeValue(m[r],"Name",2,""),S=JSGantt.getXMLNodeValue(m[r],"UID",1,-1);v.length>0&&S>0&&(c[S]=v)}var w=JSGantt.findXMLNode(e,"Assignment");for(l="undefined"==typeof w?0:w.length,r=0;l>r;r++){var D=JSGantt.getXMLNodeValue(w[r],"ResourceUID",1,-1);S=JSGantt.getXMLNodeValue(w[r],"TaskUID",1,-1),S>0&&(D>0&&(h[S]=c[D]),u[S]=w[r])}for(r=0;i>r;r++){if(S=JSGantt.getXMLNodeValue(n[r],"UID",1,0),0!=S)var T=JSGantt.getXMLNodeValue(n[r],"OutlineNumber",2,"0");S>0&&(f[T]=S),S>d&&(d=S)}for(r=0;i>r;r++){var y=JSGantt.getXMLNodeValue(n[r],"UID",1,0);if(0!=y){var L=JSGantt.getXMLNodeValue(n[r],"Name",2,"No Task Name"),N=JSGantt.getXMLNodeValue(n[r],"Start",2,""),G=JSGantt.getXMLNodeValue(n[r],"Finish",2,""),M=JSGantt.getXMLNodeValue(n[r],"HyperlinkAddress",2,""),J=JSGantt.getXMLNodeValue(n[r],"Milestone",1,0),k=JSGantt.getXMLNodeValue(n[r],"PercentWorkComplete",1,0),C=JSGantt.getXMLNodeValue(n[r],"Summary",1,0),I=0,F=JSGantt.getXMLNodeValue(n[r],"OutlineLevel",1,0);F>1&&(T=JSGantt.getXMLNodeValue(n[r],"OutlineNumber",2,"0"),I=f[T.substr(0,T.lastIndexOf("."))]);try{var b=n[r].getElementsByTagName("Notes")[0].childNodes[1].nodeValue}catch(H){b=""}if("undefined"!=typeof h[y])var x=h[y];else x="";var E=JSGantt.findXMLNode(n[r],"PredecessorLink");l="undefined"==typeof E?0:E.length;var X="";for(g=0;l>g;g++){var Y=JSGantt.getXMLNodeValue(E[g],"PredecessorUID",1,-1),O=JSGantt.getXMLNodeValue(E[g],"Type",1,1);if(Y>0)switch(X.length>0&&(X+=","),O){case 0:X+=Y+"FF";break;case 1:X+=Y+"FS";break;case 2:X+=Y+"SF";break;case 3:X+=Y+"SS";break;default:X+=Y+"FS"}}var R=1,A="";if(C>0)var V="ggroupblack";else V=J>0?"gmilestone":"gtaskblue";var P=JSGantt.findXMLNode(u[y],"TimephasedData");l="undefined"==typeof P?0:P.length;var B=N,U=G,j=!1,W=X.replace(/,*[0-9]+[FS]F/g,"");for(g=0;l>g;g++){var q=JSGantt.getXMLNodeValue(P[g],"Value",2,"0");q="0"+q.replace(/\D/g,""),q*=1,0==q&&!j||g+1==l&&2==C?(C=2,g+1==l&&(W=X.replace(/,*[0-9]+[FS]S/g,"")),d++,U=JSGantt.getXMLNodeValue(P[g],g+1==l?"Finish":"Start",2,""),t.AddTaskItem(new JSGantt.TaskItem(d,L,B,U,"gtaskblue",M,J,x,k,0,y,R,W,A,b,t)),j=!0,W=""):0!=q&&j&&(B=JSGantt.getXMLNodeValue(P[g],"Start",2,""),j=!1)}j&&(X=""),t.AddTaskItem(new JSGantt.TaskItem(y,L,N,G,V,M,J,x,k,C,I,R,X,A,b,t))}}}else for(n=e.getElementsByTagName("task"),i=n.length,r=0;i>r;r++)y=JSGantt.getXMLNodeValue(n[r],"pID",1,0),0!=y&&(L=JSGantt.getXMLNodeValue(n[r],"pName",2,"No Task Name"),N=JSGantt.getXMLNodeValue(n[r],"pStart",2,""),G=JSGantt.getXMLNodeValue(n[r],"pEnd",2,""),M=JSGantt.getXMLNodeValue(n[r],"pLink",2,""),J=JSGantt.getXMLNodeValue(n[r],"pMile",1,0),k=JSGantt.getXMLNodeValue(n[r],"pComp",1,0),C=JSGantt.getXMLNodeValue(n[r],"pGroup",1,0),I=JSGantt.getXMLNodeValue(n[r],"pParent",1,0),x=JSGantt.getXMLNodeValue(n[r],"pRes",2,""),R=JSGantt.getXMLNodeValue(n[r],"pOpen",1,1),X=JSGantt.getXMLNodeValue(n[r],"pDepend",2,""),A=JSGantt.getXMLNodeValue(n[r],"pCaption",2,""),b=JSGantt.getXMLNodeValue(n[r],"pNotes",2,""),V=JSGantt.getXMLNodeValue(n[r],"pClass",2),"undefined"==typeof V&&(V=C>0?"ggroupblack":J>0?"gmilestone":"gtaskblue"),t.AddTaskItem(new JSGantt.TaskItem(y,L,N,G,V,M,J,x,k,C,I,R,X,A,b,t)))},JSGantt.benchMark=function(t){var e=(new Date).getTime();alert(t+": Elapsed time: "+(e-vBenchTime)/1e3+" seconds."),vBenchTime=(new Date).getTime()},JSGantt.getIsoWeek=function(t){var e=864e5,n=new Date(t.getFullYear(),0,4,0,0,0),a=0==n.getDay()?6:n.getDay()-1,o=n.getTime()-a*e,i=new Date(t.getFullYear(),t.getMonth(),t.getDate(),0,0,0),s=i.getTime(),r=Math.round((s-o)/e),l=99;new Date(o);return l=Math.ceil((r+1)/7),0>=l?l=JSGantt.getIsoWeek(new Date(t.getFullYear()-1,11,31,0,0,0)):53==l&&4!=new Date(t.getFullYear(),0,1,0,0,0).getDay()&&4!=new Date(t.getFullYear(),11,31,0,0,0).getDay()&&(l=1),l},JSGantt.addListener=function(t,e,n){return n===String(n)&&(n=JSGantt.findObj(n)),n.addEventListener?n.addEventListener(t,e,!1):n.attachEvent?n.attachEvent("on"+t,e):!1},JSGantt.addTooltipListeners=function(t,e,n){JSGantt.addListener("mouseover",function(e){JSGantt.showToolTip(t,e,n,null,t.getTimer())},e),JSGantt.addListener("mouseout",function(e){JSGantt.delayedHide(t,t.vTool,t.getTimer())},e)},JSGantt.addThisRowListeners=function(t,e,n){JSGantt.addListener("mouseover",function(){t.mouseOver(e,n)},e),JSGantt.addListener("mouseover",function(){t.mouseOver(e,n)},n),JSGantt.addListener("mouseout",function(){t.mouseOut(e,n)},e),JSGantt.addListener("mouseout",function(){t.mouseOut(e,n)},n)},JSGantt.addFolderListeners=function(t,e,n){JSGantt.addListener("click",function(){JSGantt.folder(n,t)},e)},JSGantt.addFormatListeners=function(t,e,n){JSGantt.addListener("click",function(){JSGantt.changeFormat(e,t)},n)},JSGantt.addScrollListeners=function(t){JSGantt.addListener("scroll",function(){t.getChartBody().scrollTop=t.getListBody().scrollTop},t.getListBody()),JSGantt.addListener("scroll",function(){t.getListBody().scrollTop=t.getChartBody().scrollTop},t.getChartBody()),JSGantt.addListener("scroll",function(){t.getChartHead().scrollLeft=t.getChartBody().scrollLeft},t.getChartBody()),JSGantt.addListener("scroll",function(){t.getChartBody().scrollLeft=t.getChartHead().scrollLeft},t.getChartHead()),JSGantt.addListener("resize",function(){t.getChartHead().scrollLeft=t.getChartBody().scrollLeft},window),JSGantt.addListener("resize",function(){t.getListBody().scrollTop=t.getChartBody().scrollTop},window)}; \ No newline at end of file diff --git a/htdocs/projet/ganttchart.inc.php b/htdocs/projet/ganttchart.inc.php index 771cb7d99cc..1893415d718 100644 --- a/htdocs/projet/ganttchart.inc.php +++ b/htdocs/projet/ganttchart.inc.php @@ -78,11 +78,11 @@ function reloadGraph() { } -var g = new JSGantt.GanttChart('g', document.getElementById('GanttChartDIV'), 'day'); -/* For JSGanttImproved var g = new JSGantt.GanttChart(document.getElementById('GanttChartDIV'), 'day'); */ +//var g = new JSGantt.GanttChart('g', document.getElementById('GanttChartDIV'), 'day'); +var g = new JSGantt.GanttChart(document.getElementById('GanttChartDIV'), 'day'); -/* For JSGanttImproved if (g.getDivId() != null) */ -if (g) +if (g.getDivId() != null) +//if (g) { var booShowRessources = 1; var booShowDurations = 1; @@ -91,9 +91,9 @@ if (g) var graphFormat = "day"; g.setDateInputFormat('mm/dd/yyyy'); // Set format of input dates ('mm/dd/yyyy', 'dd/mm/yyyy', does not work with 'yyyy-mm-dd') - g.setDateDisplayFormat(''); - /* For JSGanttImproved g.setDateTaskDisplayFormat(''); */ - /* For JSGanttImproved g.setDayMajorDateDisplayFormat('dd mon'); */ + //g.setDateDisplayFormat(''); + g.setDateTaskDisplayFormat(''); + g.setDayMajorDateDisplayFormat('dd mon'); g.setShowRes(1); // Show/Hide Responsible (0/1) g.setShowDur(1); // Show/Hide Duration (0/1) g.setShowComp(1); // Show/Hide % Complete(0/1) @@ -132,7 +132,7 @@ else * Add a gant chart line * * @param string $tarr tarr - * @param Task $task Task object + * @param array $task Task object * @param Project $project_dependencies Project object * @param int $level Level * @param int $project_id Id of project @@ -148,7 +148,7 @@ function constructGanttLine($tarr,$task,$project_dependencies,$level=0,$project_ // Resources $resources = $task["task_resources"]; // Define depend (ex: "", "4,13", ...) - $depend = "\""; + $depend = ''; $count = 0; foreach ($project_dependencies as $value) { // Not yet used project_dependencies = array(array(0=>idtask,1=>idtasktofinishfisrt)) @@ -157,7 +157,7 @@ function constructGanttLine($tarr,$task,$project_dependencies,$level=0,$project_ $count ++; } } - $depend .= "\""; + // $depend .= "\""; // Define parent if ($project_id && $level < 0) $parent = 'p'.$project_id; @@ -170,9 +170,9 @@ function constructGanttLine($tarr,$task,$project_dependencies,$level=0,$project_ // Name $name=$task['task_name']; - for($i=0; $i < $level; $i++) { - $name='     '.$name; - } + /*for($i=0; $i < $level; $i++) { + $name=' - '.$name; + }*/ // Add line to gantt /* g.AddTaskItem(new JSGantt.TaskItem(1, 'Define Chart API','', '', 'ggroupblack','', 0, 'Brian', 0, 1,0,1,'','','Some Notes text',g)); @@ -199,12 +199,12 @@ function constructGanttLine($tarr,$task,$project_dependencies,$level=0,$project_
pGantt
(required) javascript JSGantt.GanttChart object from which to take settings. Defaults to "g" for backwards compatibility
*/ - $note=""; + //$note=""; $s = "\n// Add taks id=".$task["task_id"]." level = ".$level."\n"; - $s.= "g.AddTaskItem(new JSGantt.TaskItem(".$task['task_id'].",'".dol_escape_js($name)."','".$start_date."', '".$end_date."', '".$task['task_color']."', '".$link."', ".$task['task_milestone'].", '".$resources."', ".($percent >= 0 ? $percent : 0).", ".($task["task_is_group"]>0?1:0).", '".$parent."', 1, '".($depend?$depend:"")."', '".$note."'));"; + // $s.= "g.AddTaskItem(new JSGantt.TaskItem(".$task['task_id'].",'".dol_escape_js($name)."','".$start_date."', '".$end_date."', '".$task['task_color']."', '".$link."', ".$task['task_milestone'].", '".$resources."', ".($percent >= 0 ? $percent : 0).", ".($task["task_is_group"]>0?1:0).", '".$parent."', 1, '".($depend?$depend:"")."', '".$note."'));"; // For JSGanttImproved - //$s.= "g.AddTaskItem(new JSGantt.TaskItem(".$task['task_id'].",'".dol_escape_js($name)."','".$start_date."', '".$end_date."', 'gtaskblue', '".$link."', ".$task['task_milestone'].", '".$resources."', ".($percent >= 0 ? $percent : 0).", ".($task["task_is_group"]>0?1:0).", '".$parent."', 1, '".($depend?$depend:"")."', '".$note."'));"; + $s.= "g.AddTaskItem(new JSGantt.TaskItem(".$task['task_id'].",'".dol_escape_js(trim($name))."','".$start_date."', '".$end_date."', '".$task['task_css']."', '".$link."', ".$task['task_milestone'].", '".$resources."', ".($percent >= 0 ? $percent : 0).", ".($task["task_is_group"]).", '".$parent."', 1, '".($depend?$depend:$parent."SS")."', '".($percent >= 0 ? $percent.'%' : '0%')."','".$task['note']."'));"; echo $s; diff --git a/htdocs/projet/ganttview.php b/htdocs/projet/ganttview.php index b86a961bd69..29e9d0de1b4 100644 --- a/htdocs/projet/ganttview.php +++ b/htdocs/projet/ganttview.php @@ -206,8 +206,18 @@ if (count($tasksarray)>0) $task->fetch($val->id); $tasks[$taskcursor]['task_id']=$val->id; $tasks[$taskcursor]['task_parent']=$val->fk_parent; - $tasks[$taskcursor]['task_is_group']=0; - $tasks[$taskcursor]['task_milestone']=0; + $tasks[$taskcursor]['task_is_group'] = 0; + $tasks[$taskcursor]['task_css'] = 'gtaskblue'; + + if($val->fk_parent > 0 && $task->hasChildren()> 0){ + $tasks[$taskcursor]['task_is_group']=1; + $tasks[$taskcursor]['task_css'] = 'gtaskred'; + } + elseif($task->hasChildren()> 0) { + $tasks[$taskcursor]['task_is_group'] = 1; + $tasks[$taskcursor]['task_css'] = 'gtaskgreen'; + } + $tasks[$taskcursor]['task_milestone']='0'; $tasks[$taskcursor]['task_percent_complete']=$val->progress; //$tasks[$taskcursor]['task_name']=$task->getNomUrl(1); //print dol_print_date($val->date_start).dol_print_date($val->date_end).'
'."\n"; @@ -217,7 +227,7 @@ if (count($tasksarray)>0) $tasks[$taskcursor]['task_color']='b4d1ea'; $idofusers=$task->getListContactId('internal'); $idofthirdparty=$task->getListContactId('external'); - $s=''; + $s=''; if (count($idofusers)>0) { $s.=$langs->trans("Internals").': '; @@ -225,12 +235,12 @@ if (count($tasksarray)>0) foreach($idofusers as $valid) { $userstatic->fetch($valid); - if ($i) $s.=','; + if ($i) $s.=', '; $s.=$userstatic->login; $i++; } } - if (count($idofusers)>0 && (count($idofthirdparty)>0)) $s.=' - '; + //if (count($idofusers)>0 && (count($idofthirdparty)>0)) $s.=' - '; if (count($idofthirdparty)>0) { if ($s) $s.=' - '; @@ -244,18 +254,21 @@ if (count($tasksarray)>0) $i++; } } - if ($s) $tasks[$taskcursor]['task_resources']=''.$langs->trans("List").''; - /* For JSGanttImproved if ($s) $tasks[$taskcursor]['task_resources']=join(',',$idofusers); */ + //if ($s) $tasks[$taskcursor]['task_resources']=''.$langs->trans("List").''; + /* For JSGanttImproved */ + //if ($s) $tasks[$taskcursor]['task_resources']=implode(',',$idofusers); + $tasks[$taskcursor]['task_resources'] = $s; //print "xxx".$val->id.$tasks[$taskcursor]['task_resources']; + $tasks[$taskcursor]['note']=$task->note_public; $taskcursor++; } print "\n"; - if (! empty($conf->use_javascript_ajax)) + if (! empty($conf->use_javascript_ajax)) { //var_dump($_SESSION); - print '
'."\n"; + print '
'."\n"; include_once DOL_DOCUMENT_ROOT.'/projet/ganttchart.inc.php'; print '
'."\n"; } diff --git a/htdocs/projet/jsgantt_language.js.php b/htdocs/projet/jsgantt_language.js.php index 16b89fbebb3..561697fd161 100644 --- a/htdocs/projet/jsgantt_language.js.php +++ b/htdocs/projet/jsgantt_language.js.php @@ -32,44 +32,29 @@ if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML',1); if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1'); -require_once '../main.inc.php'; +require_once __DIR__.'/../main.inc.php'; // Define css type header('Content-type: text/javascript'); global $langs; ?> -var i18n = new Array(); -i18n["sMinute"]= "transnoentities("Minute") ?>"; -i18n["sMinutes"]= "transnoentities("Minutes") ?>"; -i18n["sHour"]= "transnoentities("Hour") ?>"; -i18n["sHours"]= "transnoentities("Hours") ?>"; -i18n["sDay"]= "transnoentities("Day") ?>"; -i18n["sDays"]= "transnoentities("Days") ?>"; -i18n["sWeek"] = "transnoentities("Week") ?>"; -i18n["sMonth"] = "transnoentities("Month") ?>"; -i18n["sQuarter"] = "transnoentities("Quadri") ?>"; -i18n["View"] = "transnoentities("View") ?>"; -i18n["Resource"] = "transnoentities("Resources") ?>"; -i18n["Duration"] = "transnoentities("Duration") ?>"; -i18n["Start_Date"] = "transnoentities("DateStart") ?>"; -i18n["End_Date"] = "transnoentities("DateEnd") ?>"; -i18n["Date_Format"] = "transnoentities("Format") ?>"; -i18n["January"] = "transnoentities("January") ?>"; -i18n["February"] = "transnoentities("February") ?>"; -i18n["March"] = "transnoentities("March") ?>"; -i18n["April"] = "transnoentities("April") ?>"; -i18n["May"] = "transnoentities("May") ?>"; -i18n["June"] = "transnoentities("June") ?>"; -i18n["July"] = "transnoentities("July") ?>"; -i18n["August"] = "transnoentities("August") ?>"; -i18n["September"] = "transnoentities("Septembre") ?>"; -i18n["October"] = "transnoentities("October") ?>"; -i18n["November"] = "transnoentities("November") ?>"; -i18n["December"] = "transnoentities("December") ?>"; -i18n["Quarter"] = "transnoentities("Quarter") ?>"; -i18n["Period"] = "transnoentities("Period") ?>"; - +var vLangs={'getDefaultLang(1);?>': +{'format':'transnoentities('Periodo');?>','hour':'"transnoentities('Hour'); ?>','day':'transnoentities('Day'); ?>', + 'week':'transnoentities('Week'); ?>','month':'transnoentities('Month'); ?>','quarter':'transnoentities('Quadri'); ?>', + 'hours':'transnoentities('Hours'); ?>','days':'transnoentities('Days'); ?>','weeks':'transnoentities('Weeks');?>', + 'months':'transnoentities('Months'); ?>','quarters':'transnoentities('Quadri'); ?>','hr':'Hr','dy':'transnoentities('Day'); ?>','wk':'transnoentities('Week'); ?>','mth':'transnoentities('Month'); ?>','qtr':'transnoentities('Quadri'); ?>','hrs':'transnoentities('Hours'); ?>', + 'dys':'transnoentities('Days'); ?>','wks':'transnoentities('Weeks'); ?>','mths':'transnoentities('Months'); ?>','qtrs':'transnoentities('Quadri'); ?>','resource':'transnoentities('Resources'); ?>','duration':'transnoentities('Duration'); ?>','comp':'% transnoentities('Total'); ?>', + 'completion':'transnoentities('Total'); ?>','startdate':'transnoentities('DateStart'); ?>','enddate':'transnoentities('DateEnd'); ?>','moreinfo':'transnoentities('MoreInformation'); ?>', + 'notes':'transnoentities('NotePublic'); ?>', + 'january':'transnoentities('January'); ?>','february':'transnoentities('February'); ?>','march':'transnoentities('March'); ?>','april':'transnoentities('April'); ?>','maylong':'transnoentities('May'); ?>','june':'transnoentities('June'); ?>','july':'transnoentities('July'); ?>', + 'august':'transnoentities('August'); ?>','september':'transnoentities('September'); ?>','october':'transnoentities('October'); ?>','november':'transnoentities('November'); ?>','december':'transnoentities('December'); ?>', + 'jan':'transnoentities('JanuaryMin'); ?>','feb':'transnoentities('FebruaryMin'); ?>','mar':'transnoentities('MarchMin'); ?>','apr':'transnoentities('AprilMin'); ?>','may':'transnoentities('MayMin'); ?>','jun':'transnoentities('JuneMin'); ?>','jul':'transnoentities('JulyMin'); ?>', + 'aug':'transnoentities('AugustMin'); ?>','sep':'transnoentities('SeptemberMin'); ?>','oct':'transnoentities('OctoberMin'); ?>','nov':'transnoentities('NovemberMin'); ?>','dec':'transnoentities('DecemberMin'); ?>', + 'sunday':'transnoentities('Sunday'); ?>','monday':'transnoentities('Monday'); ?>','tuesday':'transnoentities('Tuesday'); ?>','wednesday':'transnoentities('Wednesday'); ?>','thursday':'transnoentities('Thursday'); ?>','friday':'transnoentities('Friday'); ?>','saturday':'transnoentities('Saturday'); ?>', + 'sun':'transnoentities('SundayMin'); ?>','mon':'transnoentities('MondayMin'); ?>','tue':'transnoentities('TuesdayMin'); ?>','wed':'transnoentities('WednesdayMin'); ?>','thu':'transnoentities('ThursdayMin'); ?>','fri':'transnoentities('FridayMin'); ?>','sat':'transnoentities('SaturdayMin'); ?>'} +}; +var vLang='getDefaultLang(1);?>'; close(); From e420a75fa0ed9e7a97c8dce413cf6747a914bc90 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Tue, 26 Jul 2016 09:01:28 +0200 Subject: [PATCH 072/476] SQL query style --- htdocs/societe/class/societe.class.php | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index e42aea20035..58832950dd5 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -3501,13 +3501,11 @@ class Societe extends CommonObject * Thirdparty commercials cannot be the same in both thirdparties so we look for them and remove some * Because this function is meant to be executed within a transaction, we won't take care of it. */ - $sql = 'SELECT rowid -FROM '.MAIN_DB_PREFIX.'societe_commerciaux -WHERE fk_soc = '.(int) $dest_id.' AND fk_user IN ( - SELECT fk_user - FROM '.MAIN_DB_PREFIX.'societe_commerciaux - WHERE fk_soc = '.(int) $origin_id.' -);'; + $sql = 'SELECT rowid FROM '.MAIN_DB_PREFIX.'societe_commerciaux '; + $sql .= ' WHERE fk_soc = '.(int) $dest_id.' AND fk_user IN ( '; + $sql = ' SELECT fk_user '; + $sql = ' FROM '.MAIN_DB_PREFIX.'societe_commerciaux '; + $sql = ' WHERE fk_soc = '.(int) $origin_id.') '; $query = $db->query($sql); From f0fa9205a25eff70ec11d335af5ab9acdb7f6eaa Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 26 Jul 2016 09:56:20 +0200 Subject: [PATCH 073/476] Sync transifex --- htdocs/langs/ar_SA/admin.lang | 14 +- htdocs/langs/ar_SA/bills.lang | 1 + htdocs/langs/ar_SA/companies.lang | 4 +- htdocs/langs/ar_SA/contracts.lang | 1 + htdocs/langs/ar_SA/errors.lang | 2 +- htdocs/langs/ar_SA/install.lang | 1 + htdocs/langs/ar_SA/mails.lang | 2 +- htdocs/langs/ar_SA/main.lang | 1 + htdocs/langs/ar_SA/projects.lang | 5 + htdocs/langs/ar_SA/stocks.lang | 8 +- htdocs/langs/ar_SA/website.lang | 2 + htdocs/langs/bg_BG/admin.lang | 14 +- htdocs/langs/bg_BG/bills.lang | 1 + htdocs/langs/bg_BG/companies.lang | 4 +- htdocs/langs/bg_BG/contracts.lang | 1 + htdocs/langs/bg_BG/errors.lang | 2 +- htdocs/langs/bg_BG/install.lang | 1 + htdocs/langs/bg_BG/mails.lang | 2 +- htdocs/langs/bg_BG/main.lang | 1 + htdocs/langs/bg_BG/projects.lang | 5 + htdocs/langs/bg_BG/stocks.lang | 8 +- htdocs/langs/bg_BG/website.lang | 2 + htdocs/langs/bn_BD/admin.lang | 14 +- htdocs/langs/bn_BD/bills.lang | 1 + htdocs/langs/bn_BD/companies.lang | 4 +- htdocs/langs/bn_BD/contracts.lang | 1 + htdocs/langs/bn_BD/errors.lang | 2 +- htdocs/langs/bn_BD/install.lang | 1 + htdocs/langs/bn_BD/mails.lang | 2 +- htdocs/langs/bn_BD/main.lang | 1 + htdocs/langs/bn_BD/projects.lang | 5 + htdocs/langs/bn_BD/stocks.lang | 8 +- htdocs/langs/bn_BD/website.lang | 2 + htdocs/langs/bs_BA/admin.lang | 14 +- htdocs/langs/bs_BA/bills.lang | 1 + htdocs/langs/bs_BA/companies.lang | 4 +- htdocs/langs/bs_BA/contracts.lang | 1 + htdocs/langs/bs_BA/errors.lang | 2 +- htdocs/langs/bs_BA/install.lang | 1 + htdocs/langs/bs_BA/mails.lang | 2 +- htdocs/langs/bs_BA/main.lang | 1 + htdocs/langs/bs_BA/projects.lang | 5 + htdocs/langs/bs_BA/stocks.lang | 8 +- htdocs/langs/bs_BA/website.lang | 2 + htdocs/langs/ca_ES/accountancy.lang | 22 +-- htdocs/langs/ca_ES/admin.lang | 116 ++++++++------- htdocs/langs/ca_ES/banks.lang | 6 +- htdocs/langs/ca_ES/bills.lang | 35 ++--- htdocs/langs/ca_ES/bookmarks.lang | 2 +- htdocs/langs/ca_ES/boxes.lang | 62 ++++---- htdocs/langs/ca_ES/commercial.lang | 8 +- htdocs/langs/ca_ES/companies.lang | 20 +-- htdocs/langs/ca_ES/compta.lang | 16 +-- htdocs/langs/ca_ES/contracts.lang | 3 +- htdocs/langs/ca_ES/cron.lang | 6 +- htdocs/langs/ca_ES/donations.lang | 2 +- htdocs/langs/ca_ES/errors.lang | 18 +-- htdocs/langs/ca_ES/holiday.lang | 10 +- htdocs/langs/ca_ES/install.lang | 11 +- htdocs/langs/ca_ES/interventions.lang | 8 +- htdocs/langs/ca_ES/mailmanspip.lang | 8 +- htdocs/langs/ca_ES/mails.lang | 12 +- htdocs/langs/ca_ES/main.lang | 41 +++--- htdocs/langs/ca_ES/members.lang | 4 +- htdocs/langs/ca_ES/oauth.lang | 2 +- htdocs/langs/ca_ES/orders.lang | 12 +- htdocs/langs/ca_ES/other.lang | 44 +++--- htdocs/langs/ca_ES/printing.lang | 4 +- htdocs/langs/ca_ES/products.lang | 18 +-- htdocs/langs/ca_ES/projects.lang | 11 +- htdocs/langs/ca_ES/sendings.lang | 2 +- htdocs/langs/ca_ES/stocks.lang | 16 ++- htdocs/langs/ca_ES/supplier_proposal.lang | 8 +- htdocs/langs/ca_ES/website.lang | 2 + htdocs/langs/ca_ES/withdrawals.lang | 4 +- htdocs/langs/cs_CZ/admin.lang | 14 +- htdocs/langs/cs_CZ/bills.lang | 1 + htdocs/langs/cs_CZ/companies.lang | 4 +- htdocs/langs/cs_CZ/contracts.lang | 1 + htdocs/langs/cs_CZ/errors.lang | 2 +- htdocs/langs/cs_CZ/install.lang | 1 + htdocs/langs/cs_CZ/mails.lang | 2 +- htdocs/langs/cs_CZ/main.lang | 1 + htdocs/langs/cs_CZ/projects.lang | 5 + htdocs/langs/cs_CZ/stocks.lang | 8 +- htdocs/langs/cs_CZ/website.lang | 2 + htdocs/langs/da_DK/admin.lang | 14 +- htdocs/langs/da_DK/bills.lang | 1 + htdocs/langs/da_DK/companies.lang | 4 +- htdocs/langs/da_DK/contracts.lang | 1 + htdocs/langs/da_DK/errors.lang | 2 +- htdocs/langs/da_DK/install.lang | 1 + htdocs/langs/da_DK/mails.lang | 2 +- htdocs/langs/da_DK/main.lang | 1 + htdocs/langs/da_DK/projects.lang | 5 + htdocs/langs/da_DK/stocks.lang | 8 +- htdocs/langs/da_DK/website.lang | 2 + htdocs/langs/de_AT/admin.lang | 2 + htdocs/langs/de_AT/mails.lang | 1 - htdocs/langs/de_AT/projects.lang | 1 - htdocs/langs/de_CH/admin.lang | 98 ++++++++++++- htdocs/langs/de_CH/agenda.lang | 5 +- htdocs/langs/de_CH/banks.lang | 3 + htdocs/langs/de_CH/bills.lang | 7 + htdocs/langs/de_CH/bookmarks.lang | 2 + htdocs/langs/de_CH/boxes.lang | 25 +++- htdocs/langs/de_CH/commercial.lang | 7 +- htdocs/langs/de_CH/companies.lang | 47 ++++++- htdocs/langs/de_CH/compta.lang | 10 ++ htdocs/langs/de_CH/contracts.lang | 7 + htdocs/langs/de_CH/cron.lang | 9 ++ htdocs/langs/de_CH/deliveries.lang | 5 + htdocs/langs/de_CH/dict.lang | 1 + htdocs/langs/de_CH/errors.lang | 15 ++ htdocs/langs/de_CH/exports.lang | 8 ++ htdocs/langs/de_CH/holiday.lang | 9 ++ htdocs/langs/de_CH/hrm.lang | 2 + htdocs/langs/de_CH/install.lang | 9 ++ htdocs/langs/de_CH/interventions.lang | 8 ++ htdocs/langs/de_CH/mailmanspip.lang | 5 + htdocs/langs/de_CH/mails.lang | 18 ++- htdocs/langs/de_CH/main.lang | 39 +++++ htdocs/langs/de_CH/margins.lang | 3 + htdocs/langs/de_CH/members.lang | 40 ++++++ htdocs/langs/de_CH/oauth.lang | 3 + htdocs/langs/de_CH/opensurvey.lang | 1 + htdocs/langs/de_CH/orders.lang | 3 +- htdocs/langs/de_CH/other.lang | 12 ++ htdocs/langs/de_CH/printing.lang | 2 + htdocs/langs/de_CH/products.lang | 20 +++ htdocs/langs/de_CH/projects.lang | 13 +- htdocs/langs/de_CH/receiptprinter.lang | 11 ++ htdocs/langs/de_CH/resource.lang | 2 + htdocs/langs/de_CH/sms.lang | 1 + htdocs/langs/de_CH/stocks.lang | 11 +- htdocs/langs/de_CH/supplier_proposal.lang | 6 + htdocs/langs/de_CH/suppliers.lang | 8 ++ htdocs/langs/de_CH/users.lang | 4 + htdocs/langs/de_CH/website.lang | 13 ++ htdocs/langs/de_CH/withdrawals.lang | 4 + htdocs/langs/de_DE/accountancy.lang | 14 +- htdocs/langs/de_DE/admin.lang | 34 +++-- htdocs/langs/de_DE/banks.lang | 4 +- htdocs/langs/de_DE/bills.lang | 7 +- htdocs/langs/de_DE/companies.lang | 112 +++++++-------- htdocs/langs/de_DE/compta.lang | 6 +- htdocs/langs/de_DE/contracts.lang | 1 + htdocs/langs/de_DE/errors.lang | 12 +- htdocs/langs/de_DE/holiday.lang | 18 +-- htdocs/langs/de_DE/install.lang | 1 + htdocs/langs/de_DE/interventions.lang | 4 +- htdocs/langs/de_DE/mails.lang | 6 +- htdocs/langs/de_DE/main.lang | 13 +- htdocs/langs/de_DE/paybox.lang | 6 +- htdocs/langs/de_DE/printing.lang | 4 +- htdocs/langs/de_DE/products.lang | 18 +-- htdocs/langs/de_DE/projects.lang | 11 +- htdocs/langs/de_DE/stocks.lang | 8 +- htdocs/langs/de_DE/website.lang | 2 + htdocs/langs/de_DE/withdrawals.lang | 2 +- htdocs/langs/de_DE/workflow.lang | 6 +- htdocs/langs/el_GR/admin.lang | 14 +- htdocs/langs/el_GR/agenda.lang | 2 +- htdocs/langs/el_GR/bills.lang | 1 + htdocs/langs/el_GR/companies.lang | 4 +- htdocs/langs/el_GR/contracts.lang | 1 + htdocs/langs/el_GR/dict.lang | 2 +- htdocs/langs/el_GR/errors.lang | 2 +- htdocs/langs/el_GR/exports.lang | 2 +- htdocs/langs/el_GR/install.lang | 1 + htdocs/langs/el_GR/mails.lang | 2 +- htdocs/langs/el_GR/main.lang | 1 + htdocs/langs/el_GR/projects.lang | 5 + htdocs/langs/el_GR/stocks.lang | 8 +- htdocs/langs/el_GR/website.lang | 2 + htdocs/langs/en_AU/admin.lang | 4 + htdocs/langs/en_AU/companies.lang | 1 + htdocs/langs/en_AU/mails.lang | 2 + htdocs/langs/en_AU/stocks.lang | 4 + htdocs/langs/en_CA/admin.lang | 4 + htdocs/langs/en_CA/companies.lang | 1 + htdocs/langs/en_CA/mails.lang | 2 + htdocs/langs/en_CA/stocks.lang | 4 + htdocs/langs/en_GB/admin.lang | 4 + htdocs/langs/en_GB/companies.lang | 2 + htdocs/langs/en_GB/mails.lang | 2 + htdocs/langs/en_GB/main.lang | 17 +++ htdocs/langs/en_GB/stocks.lang | 4 + htdocs/langs/en_IN/admin.lang | 4 + htdocs/langs/en_IN/companies.lang | 2 + htdocs/langs/en_IN/mails.lang | 2 + htdocs/langs/en_IN/stocks.lang | 4 + htdocs/langs/es_AR/admin.lang | 4 + htdocs/langs/es_AR/companies.lang | 2 + htdocs/langs/es_AR/mails.lang | 2 + htdocs/langs/es_AR/stocks.lang | 4 + htdocs/langs/es_BO/admin.lang | 4 + htdocs/langs/es_BO/companies.lang | 2 + htdocs/langs/es_BO/mails.lang | 2 + htdocs/langs/es_BO/stocks.lang | 4 + htdocs/langs/es_CL/admin.lang | 4 + htdocs/langs/es_CL/companies.lang | 1 + htdocs/langs/es_CL/mails.lang | 2 + htdocs/langs/es_CL/stocks.lang | 4 + htdocs/langs/es_CO/admin.lang | 4 + htdocs/langs/es_CO/companies.lang | 1 + htdocs/langs/es_CO/mails.lang | 2 + htdocs/langs/es_CO/stocks.lang | 4 + htdocs/langs/es_DO/admin.lang | 4 + htdocs/langs/es_DO/companies.lang | 2 + htdocs/langs/es_DO/mails.lang | 2 + htdocs/langs/es_DO/stocks.lang | 4 + htdocs/langs/es_EC/admin.lang | 4 + htdocs/langs/es_EC/companies.lang | 2 + htdocs/langs/es_EC/mails.lang | 2 + htdocs/langs/es_EC/stocks.lang | 4 + htdocs/langs/es_ES/admin.lang | 52 ++++--- htdocs/langs/es_ES/bills.lang | 13 +- htdocs/langs/es_ES/companies.lang | 4 +- htdocs/langs/es_ES/contracts.lang | 1 + htdocs/langs/es_ES/errors.lang | 14 +- htdocs/langs/es_ES/install.lang | 1 + htdocs/langs/es_ES/mails.lang | 6 +- htdocs/langs/es_ES/main.lang | 27 ++-- htdocs/langs/es_ES/projects.lang | 5 + htdocs/langs/es_ES/stocks.lang | 12 +- htdocs/langs/es_ES/website.lang | 2 + htdocs/langs/es_MX/admin.lang | 4 + htdocs/langs/es_MX/companies.lang | 6 +- htdocs/langs/es_MX/install.lang | 1 - htdocs/langs/es_MX/mails.lang | 2 + htdocs/langs/es_MX/projects.lang | 2 - htdocs/langs/es_MX/stocks.lang | 3 + htdocs/langs/es_PA/admin.lang | 4 + htdocs/langs/es_PA/companies.lang | 2 + htdocs/langs/es_PA/mails.lang | 2 + htdocs/langs/es_PA/stocks.lang | 4 + htdocs/langs/es_PE/accountancy.lang | 22 +++ htdocs/langs/es_PE/admin.lang | 4 + htdocs/langs/es_PE/companies.lang | 1 + htdocs/langs/es_PE/mails.lang | 2 + htdocs/langs/es_PE/stocks.lang | 4 + htdocs/langs/es_PY/admin.lang | 4 + htdocs/langs/es_PY/companies.lang | 1 + htdocs/langs/es_PY/mails.lang | 2 + htdocs/langs/es_PY/stocks.lang | 4 + htdocs/langs/es_VE/admin.lang | 4 + htdocs/langs/es_VE/companies.lang | 1 + htdocs/langs/es_VE/mails.lang | 2 + htdocs/langs/es_VE/stocks.lang | 4 + htdocs/langs/et_EE/admin.lang | 14 +- htdocs/langs/et_EE/bills.lang | 1 + htdocs/langs/et_EE/companies.lang | 4 +- htdocs/langs/et_EE/contracts.lang | 1 + htdocs/langs/et_EE/errors.lang | 2 +- htdocs/langs/et_EE/mails.lang | 2 +- htdocs/langs/et_EE/main.lang | 1 + htdocs/langs/et_EE/projects.lang | 5 + htdocs/langs/et_EE/stocks.lang | 8 +- htdocs/langs/et_EE/website.lang | 2 + htdocs/langs/eu_ES/admin.lang | 14 +- htdocs/langs/eu_ES/bills.lang | 1 + htdocs/langs/eu_ES/companies.lang | 4 +- htdocs/langs/eu_ES/contracts.lang | 1 + htdocs/langs/eu_ES/errors.lang | 2 +- htdocs/langs/eu_ES/install.lang | 1 + htdocs/langs/eu_ES/mails.lang | 2 +- htdocs/langs/eu_ES/main.lang | 1 + htdocs/langs/eu_ES/projects.lang | 5 + htdocs/langs/eu_ES/stocks.lang | 8 +- htdocs/langs/eu_ES/website.lang | 2 + htdocs/langs/fa_IR/admin.lang | 14 +- htdocs/langs/fa_IR/bills.lang | 1 + htdocs/langs/fa_IR/companies.lang | 4 +- htdocs/langs/fa_IR/contracts.lang | 1 + htdocs/langs/fa_IR/errors.lang | 2 +- htdocs/langs/fa_IR/install.lang | 1 + htdocs/langs/fa_IR/mails.lang | 2 +- htdocs/langs/fa_IR/main.lang | 1 + htdocs/langs/fa_IR/projects.lang | 5 + htdocs/langs/fa_IR/stocks.lang | 8 +- htdocs/langs/fa_IR/website.lang | 2 + htdocs/langs/fi_FI/admin.lang | 14 +- htdocs/langs/fi_FI/bills.lang | 1 + htdocs/langs/fi_FI/companies.lang | 4 +- htdocs/langs/fi_FI/contracts.lang | 1 + htdocs/langs/fi_FI/errors.lang | 2 +- htdocs/langs/fi_FI/install.lang | 1 + htdocs/langs/fi_FI/mails.lang | 2 +- htdocs/langs/fi_FI/main.lang | 1 + htdocs/langs/fi_FI/projects.lang | 5 + htdocs/langs/fi_FI/stocks.lang | 8 +- htdocs/langs/fi_FI/website.lang | 2 + htdocs/langs/fr_BE/admin.lang | 2 + htdocs/langs/fr_BE/mails.lang | 2 + htdocs/langs/fr_BE/stocks.lang | 4 + htdocs/langs/fr_CA/admin.lang | 2 - htdocs/langs/fr_CA/companies.lang | 1 + htdocs/langs/fr_CA/mails.lang | 1 + htdocs/langs/fr_CA/stocks.lang | 4 + htdocs/langs/fr_CH/admin.lang | 2 + htdocs/langs/fr_CH/mails.lang | 2 + htdocs/langs/fr_CH/stocks.lang | 4 + htdocs/langs/fr_FR/accountancy.lang | 12 +- htdocs/langs/fr_FR/admin.lang | 22 ++- htdocs/langs/fr_FR/bills.lang | 5 +- htdocs/langs/fr_FR/companies.lang | 4 +- htdocs/langs/fr_FR/contracts.lang | 1 + htdocs/langs/fr_FR/errors.lang | 10 +- htdocs/langs/fr_FR/install.lang | 1 + htdocs/langs/fr_FR/mails.lang | 10 +- htdocs/langs/fr_FR/main.lang | 9 +- htdocs/langs/fr_FR/printing.lang | 4 +- htdocs/langs/fr_FR/projects.lang | 5 + htdocs/langs/fr_FR/stocks.lang | 8 +- htdocs/langs/fr_FR/supplier_proposal.lang | 2 +- htdocs/langs/fr_FR/website.lang | 2 + htdocs/langs/he_IL/admin.lang | 14 +- htdocs/langs/he_IL/bills.lang | 1 + htdocs/langs/he_IL/companies.lang | 4 +- htdocs/langs/he_IL/contracts.lang | 1 + htdocs/langs/he_IL/errors.lang | 2 +- htdocs/langs/he_IL/install.lang | 1 + htdocs/langs/he_IL/mails.lang | 2 +- htdocs/langs/he_IL/main.lang | 1 + htdocs/langs/he_IL/projects.lang | 5 + htdocs/langs/he_IL/stocks.lang | 8 +- htdocs/langs/he_IL/website.lang | 2 + htdocs/langs/hr_HR/admin.lang | 14 +- htdocs/langs/hr_HR/bills.lang | 1 + htdocs/langs/hr_HR/companies.lang | 4 +- htdocs/langs/hr_HR/contracts.lang | 1 + htdocs/langs/hr_HR/errors.lang | 2 +- htdocs/langs/hr_HR/install.lang | 1 + htdocs/langs/hr_HR/mails.lang | 2 +- htdocs/langs/hr_HR/main.lang | 1 + htdocs/langs/hr_HR/projects.lang | 5 + htdocs/langs/hr_HR/stocks.lang | 8 +- htdocs/langs/hr_HR/website.lang | 2 + htdocs/langs/hu_HU/accountancy.lang | 10 +- htdocs/langs/hu_HU/admin.lang | 54 ++++--- htdocs/langs/hu_HU/agenda.lang | 44 +++--- htdocs/langs/hu_HU/bills.lang | 1 + htdocs/langs/hu_HU/bookmarks.lang | 2 +- htdocs/langs/hu_HU/boxes.lang | 22 +-- htdocs/langs/hu_HU/cashdesk.lang | 2 +- htdocs/langs/hu_HU/commercial.lang | 6 +- htdocs/langs/hu_HU/companies.lang | 18 +-- htdocs/langs/hu_HU/compta.lang | 18 +-- htdocs/langs/hu_HU/contracts.lang | 5 +- htdocs/langs/hu_HU/errors.lang | 2 +- htdocs/langs/hu_HU/install.lang | 1 + htdocs/langs/hu_HU/mails.lang | 2 +- htdocs/langs/hu_HU/main.lang | 1 + htdocs/langs/hu_HU/products.lang | 62 ++++---- htdocs/langs/hu_HU/projects.lang | 5 + htdocs/langs/hu_HU/sms.lang | 2 +- htdocs/langs/hu_HU/stocks.lang | 148 +++++++++---------- htdocs/langs/hu_HU/website.lang | 2 + htdocs/langs/id_ID/admin.lang | 14 +- htdocs/langs/id_ID/bills.lang | 1 + htdocs/langs/id_ID/companies.lang | 4 +- htdocs/langs/id_ID/contracts.lang | 1 + htdocs/langs/id_ID/errors.lang | 2 +- htdocs/langs/id_ID/install.lang | 1 + htdocs/langs/id_ID/mails.lang | 2 +- htdocs/langs/id_ID/main.lang | 1 + htdocs/langs/id_ID/projects.lang | 5 + htdocs/langs/id_ID/stocks.lang | 8 +- htdocs/langs/id_ID/website.lang | 2 + htdocs/langs/is_IS/admin.lang | 14 +- htdocs/langs/is_IS/bills.lang | 1 + htdocs/langs/is_IS/companies.lang | 4 +- htdocs/langs/is_IS/contracts.lang | 1 + htdocs/langs/is_IS/errors.lang | 2 +- htdocs/langs/is_IS/install.lang | 1 + htdocs/langs/is_IS/mails.lang | 2 +- htdocs/langs/is_IS/main.lang | 1 + htdocs/langs/is_IS/projects.lang | 5 + htdocs/langs/is_IS/stocks.lang | 8 +- htdocs/langs/is_IS/website.lang | 2 + htdocs/langs/it_IT/admin.lang | 14 +- htdocs/langs/it_IT/bills.lang | 1 + htdocs/langs/it_IT/companies.lang | 4 +- htdocs/langs/it_IT/contracts.lang | 1 + htdocs/langs/it_IT/errors.lang | 2 +- htdocs/langs/it_IT/install.lang | 1 + htdocs/langs/it_IT/mails.lang | 2 +- htdocs/langs/it_IT/main.lang | 1 + htdocs/langs/it_IT/projects.lang | 5 + htdocs/langs/it_IT/stocks.lang | 8 +- htdocs/langs/it_IT/website.lang | 2 + htdocs/langs/ja_JP/admin.lang | 14 +- htdocs/langs/ja_JP/bills.lang | 1 + htdocs/langs/ja_JP/companies.lang | 4 +- htdocs/langs/ja_JP/contracts.lang | 1 + htdocs/langs/ja_JP/errors.lang | 2 +- htdocs/langs/ja_JP/install.lang | 1 + htdocs/langs/ja_JP/mails.lang | 2 +- htdocs/langs/ja_JP/main.lang | 1 + htdocs/langs/ja_JP/projects.lang | 5 + htdocs/langs/ja_JP/stocks.lang | 8 +- htdocs/langs/ja_JP/website.lang | 2 + htdocs/langs/ka_GE/admin.lang | 14 +- htdocs/langs/ka_GE/bills.lang | 1 + htdocs/langs/ka_GE/companies.lang | 4 +- htdocs/langs/ka_GE/contracts.lang | 1 + htdocs/langs/ka_GE/errors.lang | 2 +- htdocs/langs/ka_GE/install.lang | 1 + htdocs/langs/ka_GE/mails.lang | 2 +- htdocs/langs/ka_GE/main.lang | 1 + htdocs/langs/ka_GE/projects.lang | 5 + htdocs/langs/ka_GE/stocks.lang | 8 +- htdocs/langs/ka_GE/website.lang | 2 + htdocs/langs/kn_IN/admin.lang | 14 +- htdocs/langs/kn_IN/bills.lang | 1 + htdocs/langs/kn_IN/companies.lang | 4 +- htdocs/langs/kn_IN/contracts.lang | 1 + htdocs/langs/kn_IN/errors.lang | 2 +- htdocs/langs/kn_IN/install.lang | 1 + htdocs/langs/kn_IN/mails.lang | 2 +- htdocs/langs/kn_IN/main.lang | 1 + htdocs/langs/kn_IN/projects.lang | 5 + htdocs/langs/kn_IN/stocks.lang | 8 +- htdocs/langs/kn_IN/website.lang | 2 + htdocs/langs/ko_KR/admin.lang | 14 +- htdocs/langs/ko_KR/bills.lang | 1 + htdocs/langs/ko_KR/companies.lang | 4 +- htdocs/langs/ko_KR/contracts.lang | 1 + htdocs/langs/ko_KR/errors.lang | 2 +- htdocs/langs/ko_KR/install.lang | 1 + htdocs/langs/ko_KR/mails.lang | 2 +- htdocs/langs/ko_KR/main.lang | 1 + htdocs/langs/ko_KR/projects.lang | 5 + htdocs/langs/ko_KR/stocks.lang | 8 +- htdocs/langs/ko_KR/website.lang | 2 + htdocs/langs/lo_LA/admin.lang | 14 +- htdocs/langs/lo_LA/bills.lang | 1 + htdocs/langs/lo_LA/companies.lang | 4 +- htdocs/langs/lo_LA/contracts.lang | 1 + htdocs/langs/lo_LA/errors.lang | 2 +- htdocs/langs/lo_LA/install.lang | 1 + htdocs/langs/lo_LA/mails.lang | 2 +- htdocs/langs/lo_LA/main.lang | 1 + htdocs/langs/lo_LA/projects.lang | 5 + htdocs/langs/lo_LA/stocks.lang | 8 +- htdocs/langs/lo_LA/website.lang | 2 + htdocs/langs/lt_LT/admin.lang | 14 +- htdocs/langs/lt_LT/bills.lang | 1 + htdocs/langs/lt_LT/companies.lang | 4 +- htdocs/langs/lt_LT/contracts.lang | 1 + htdocs/langs/lt_LT/errors.lang | 2 +- htdocs/langs/lt_LT/install.lang | 1 + htdocs/langs/lt_LT/mails.lang | 2 +- htdocs/langs/lt_LT/main.lang | 1 + htdocs/langs/lt_LT/projects.lang | 5 + htdocs/langs/lt_LT/stocks.lang | 8 +- htdocs/langs/lt_LT/website.lang | 2 + htdocs/langs/lv_LV/admin.lang | 14 +- htdocs/langs/lv_LV/bills.lang | 1 + htdocs/langs/lv_LV/boxes.lang | 2 +- htdocs/langs/lv_LV/companies.lang | 8 +- htdocs/langs/lv_LV/contracts.lang | 1 + htdocs/langs/lv_LV/errors.lang | 2 +- htdocs/langs/lv_LV/install.lang | 1 + htdocs/langs/lv_LV/mails.lang | 2 +- htdocs/langs/lv_LV/main.lang | 1 + htdocs/langs/lv_LV/projects.lang | 5 + htdocs/langs/lv_LV/stocks.lang | 8 +- htdocs/langs/lv_LV/website.lang | 2 + htdocs/langs/mk_MK/admin.lang | 14 +- htdocs/langs/mk_MK/bills.lang | 1 + htdocs/langs/mk_MK/companies.lang | 4 +- htdocs/langs/mk_MK/contracts.lang | 1 + htdocs/langs/mk_MK/errors.lang | 2 +- htdocs/langs/mk_MK/install.lang | 1 + htdocs/langs/mk_MK/mails.lang | 2 +- htdocs/langs/mk_MK/main.lang | 1 + htdocs/langs/mk_MK/projects.lang | 5 + htdocs/langs/mk_MK/stocks.lang | 8 +- htdocs/langs/mk_MK/website.lang | 2 + htdocs/langs/mn_MN/admin.lang | 14 +- htdocs/langs/mn_MN/bills.lang | 1 + htdocs/langs/mn_MN/companies.lang | 4 +- htdocs/langs/mn_MN/contracts.lang | 1 + htdocs/langs/mn_MN/errors.lang | 2 +- htdocs/langs/mn_MN/install.lang | 1 + htdocs/langs/mn_MN/mails.lang | 2 +- htdocs/langs/mn_MN/main.lang | 1 + htdocs/langs/mn_MN/projects.lang | 5 + htdocs/langs/mn_MN/stocks.lang | 8 +- htdocs/langs/mn_MN/website.lang | 2 + htdocs/langs/nb_NO/admin.lang | 14 +- htdocs/langs/nb_NO/bills.lang | 1 + htdocs/langs/nb_NO/companies.lang | 4 +- htdocs/langs/nb_NO/contracts.lang | 1 + htdocs/langs/nb_NO/errors.lang | 2 +- htdocs/langs/nb_NO/install.lang | 1 + htdocs/langs/nb_NO/mails.lang | 2 +- htdocs/langs/nb_NO/main.lang | 1 + htdocs/langs/nb_NO/projects.lang | 5 + htdocs/langs/nb_NO/stocks.lang | 8 +- htdocs/langs/nb_NO/website.lang | 2 + htdocs/langs/nl_BE/companies.lang | 1 - htdocs/langs/nl_NL/admin.lang | 14 +- htdocs/langs/nl_NL/bills.lang | 1 + htdocs/langs/nl_NL/companies.lang | 4 +- htdocs/langs/nl_NL/contracts.lang | 1 + htdocs/langs/nl_NL/errors.lang | 2 +- htdocs/langs/nl_NL/install.lang | 1 + htdocs/langs/nl_NL/mails.lang | 2 +- htdocs/langs/nl_NL/main.lang | 1 + htdocs/langs/nl_NL/projects.lang | 5 + htdocs/langs/nl_NL/stocks.lang | 8 +- htdocs/langs/nl_NL/website.lang | 2 + htdocs/langs/pl_PL/admin.lang | 14 +- htdocs/langs/pl_PL/bills.lang | 1 + htdocs/langs/pl_PL/companies.lang | 4 +- htdocs/langs/pl_PL/contracts.lang | 1 + htdocs/langs/pl_PL/errors.lang | 24 ++-- htdocs/langs/pl_PL/install.lang | 3 +- htdocs/langs/pl_PL/mails.lang | 2 +- htdocs/langs/pl_PL/main.lang | 1 + htdocs/langs/pl_PL/projects.lang | 5 + htdocs/langs/pl_PL/stocks.lang | 8 +- htdocs/langs/pl_PL/website.lang | 2 + htdocs/langs/pt_BR/admin.lang | 4 - htdocs/langs/pt_BR/contracts.lang | 55 ++++---- htdocs/langs/pt_BR/errors.lang | 1 - htdocs/langs/pt_BR/install.lang | 164 ++++++++++++---------- htdocs/langs/pt_BR/mails.lang | 1 - htdocs/langs/pt_BR/projects.lang | 14 +- htdocs/langs/pt_BR/stocks.lang | 3 - htdocs/langs/pt_PT/admin.lang | 44 +++--- htdocs/langs/pt_PT/bills.lang | 1 + htdocs/langs/pt_PT/companies.lang | 4 +- htdocs/langs/pt_PT/contracts.lang | 1 + htdocs/langs/pt_PT/errors.lang | 2 +- htdocs/langs/pt_PT/install.lang | 1 + htdocs/langs/pt_PT/mails.lang | 2 +- htdocs/langs/pt_PT/main.lang | 1 + htdocs/langs/pt_PT/projects.lang | 5 + htdocs/langs/pt_PT/stocks.lang | 8 +- htdocs/langs/pt_PT/website.lang | 2 + htdocs/langs/ro_RO/admin.lang | 14 +- htdocs/langs/ro_RO/bills.lang | 1 + htdocs/langs/ro_RO/companies.lang | 4 +- htdocs/langs/ro_RO/contracts.lang | 1 + htdocs/langs/ro_RO/errors.lang | 2 +- htdocs/langs/ro_RO/install.lang | 1 + htdocs/langs/ro_RO/mails.lang | 2 +- htdocs/langs/ro_RO/main.lang | 1 + htdocs/langs/ro_RO/projects.lang | 5 + htdocs/langs/ro_RO/stocks.lang | 8 +- htdocs/langs/ro_RO/website.lang | 2 + htdocs/langs/ru_RU/admin.lang | 14 +- htdocs/langs/ru_RU/bills.lang | 1 + htdocs/langs/ru_RU/companies.lang | 4 +- htdocs/langs/ru_RU/contracts.lang | 1 + htdocs/langs/ru_RU/errors.lang | 2 +- htdocs/langs/ru_RU/install.lang | 1 + htdocs/langs/ru_RU/mails.lang | 2 +- htdocs/langs/ru_RU/main.lang | 1 + htdocs/langs/ru_RU/projects.lang | 5 + htdocs/langs/ru_RU/stocks.lang | 8 +- htdocs/langs/ru_RU/website.lang | 2 + htdocs/langs/sk_SK/admin.lang | 14 +- htdocs/langs/sk_SK/bills.lang | 1 + htdocs/langs/sk_SK/companies.lang | 4 +- htdocs/langs/sk_SK/contracts.lang | 1 + htdocs/langs/sk_SK/errors.lang | 2 +- htdocs/langs/sk_SK/install.lang | 1 + htdocs/langs/sk_SK/mails.lang | 2 +- htdocs/langs/sk_SK/main.lang | 1 + htdocs/langs/sk_SK/projects.lang | 5 + htdocs/langs/sk_SK/stocks.lang | 8 +- htdocs/langs/sk_SK/website.lang | 2 + htdocs/langs/sl_SI/admin.lang | 14 +- htdocs/langs/sl_SI/bills.lang | 1 + htdocs/langs/sl_SI/companies.lang | 4 +- htdocs/langs/sl_SI/contracts.lang | 1 + htdocs/langs/sl_SI/errors.lang | 2 +- htdocs/langs/sl_SI/install.lang | 1 + htdocs/langs/sl_SI/mails.lang | 2 +- htdocs/langs/sl_SI/main.lang | 1 + htdocs/langs/sl_SI/projects.lang | 5 + htdocs/langs/sl_SI/stocks.lang | 8 +- htdocs/langs/sl_SI/website.lang | 2 + htdocs/langs/sq_AL/admin.lang | 14 +- htdocs/langs/sq_AL/bills.lang | 1 + htdocs/langs/sq_AL/companies.lang | 4 +- htdocs/langs/sq_AL/contracts.lang | 1 + htdocs/langs/sq_AL/errors.lang | 2 +- htdocs/langs/sq_AL/install.lang | 1 + htdocs/langs/sq_AL/mails.lang | 2 +- htdocs/langs/sq_AL/main.lang | 1 + htdocs/langs/sq_AL/projects.lang | 5 + htdocs/langs/sq_AL/stocks.lang | 8 +- htdocs/langs/sq_AL/website.lang | 2 + htdocs/langs/sr_RS/admin.lang | 14 +- htdocs/langs/sr_RS/bills.lang | 1 + htdocs/langs/sr_RS/companies.lang | 4 +- htdocs/langs/sr_RS/contracts.lang | 1 + htdocs/langs/sr_RS/errors.lang | 2 +- htdocs/langs/sr_RS/install.lang | 1 + htdocs/langs/sr_RS/mails.lang | 2 +- htdocs/langs/sr_RS/main.lang | 1 + htdocs/langs/sr_RS/projects.lang | 5 + htdocs/langs/sr_RS/stocks.lang | 8 +- htdocs/langs/sv_SE/admin.lang | 14 +- htdocs/langs/sv_SE/bills.lang | 1 + htdocs/langs/sv_SE/companies.lang | 4 +- htdocs/langs/sv_SE/contracts.lang | 1 + htdocs/langs/sv_SE/errors.lang | 2 +- htdocs/langs/sv_SE/install.lang | 1 + htdocs/langs/sv_SE/mails.lang | 2 +- htdocs/langs/sv_SE/main.lang | 1 + htdocs/langs/sv_SE/projects.lang | 5 + htdocs/langs/sv_SE/stocks.lang | 8 +- htdocs/langs/sv_SE/website.lang | 2 + htdocs/langs/sw_SW/admin.lang | 14 +- htdocs/langs/sw_SW/bills.lang | 1 + htdocs/langs/sw_SW/companies.lang | 4 +- htdocs/langs/sw_SW/contracts.lang | 1 + htdocs/langs/sw_SW/errors.lang | 2 +- htdocs/langs/sw_SW/install.lang | 1 + htdocs/langs/sw_SW/mails.lang | 2 +- htdocs/langs/sw_SW/main.lang | 1 + htdocs/langs/sw_SW/projects.lang | 5 + htdocs/langs/sw_SW/stocks.lang | 8 +- htdocs/langs/th_TH/admin.lang | 14 +- htdocs/langs/th_TH/bills.lang | 1 + htdocs/langs/th_TH/companies.lang | 4 +- htdocs/langs/th_TH/contracts.lang | 1 + htdocs/langs/th_TH/errors.lang | 2 +- htdocs/langs/th_TH/install.lang | 1 + htdocs/langs/th_TH/mails.lang | 2 +- htdocs/langs/th_TH/main.lang | 1 + htdocs/langs/th_TH/projects.lang | 5 + htdocs/langs/th_TH/stocks.lang | 8 +- htdocs/langs/th_TH/website.lang | 2 + htdocs/langs/tr_TR/accountancy.lang | 22 +-- htdocs/langs/tr_TR/admin.lang | 44 +++--- htdocs/langs/tr_TR/banks.lang | 4 +- htdocs/langs/tr_TR/bills.lang | 7 +- htdocs/langs/tr_TR/categories.lang | 2 +- htdocs/langs/tr_TR/commercial.lang | 2 +- htdocs/langs/tr_TR/companies.lang | 12 +- htdocs/langs/tr_TR/compta.lang | 10 +- htdocs/langs/tr_TR/contracts.lang | 1 + htdocs/langs/tr_TR/errors.lang | 14 +- htdocs/langs/tr_TR/holiday.lang | 4 +- htdocs/langs/tr_TR/install.lang | 1 + htdocs/langs/tr_TR/interventions.lang | 4 +- htdocs/langs/tr_TR/mails.lang | 10 +- htdocs/langs/tr_TR/main.lang | 9 +- htdocs/langs/tr_TR/printing.lang | 4 +- htdocs/langs/tr_TR/products.lang | 24 ++-- htdocs/langs/tr_TR/projects.lang | 5 + htdocs/langs/tr_TR/stocks.lang | 8 +- htdocs/langs/tr_TR/supplier_proposal.lang | 2 +- htdocs/langs/tr_TR/website.lang | 2 + htdocs/langs/uk_UA/admin.lang | 14 +- htdocs/langs/uk_UA/bills.lang | 1 + htdocs/langs/uk_UA/companies.lang | 4 +- htdocs/langs/uk_UA/contracts.lang | 1 + htdocs/langs/uk_UA/errors.lang | 2 +- htdocs/langs/uk_UA/install.lang | 1 + htdocs/langs/uk_UA/mails.lang | 2 +- htdocs/langs/uk_UA/main.lang | 1 + htdocs/langs/uk_UA/projects.lang | 5 + htdocs/langs/uk_UA/stocks.lang | 8 +- htdocs/langs/uk_UA/website.lang | 2 + htdocs/langs/uz_UZ/admin.lang | 14 +- htdocs/langs/uz_UZ/bills.lang | 1 + htdocs/langs/uz_UZ/companies.lang | 4 +- htdocs/langs/uz_UZ/contracts.lang | 1 + htdocs/langs/uz_UZ/errors.lang | 2 +- htdocs/langs/uz_UZ/install.lang | 1 + htdocs/langs/uz_UZ/mails.lang | 2 +- htdocs/langs/uz_UZ/main.lang | 1 + htdocs/langs/uz_UZ/projects.lang | 5 + htdocs/langs/uz_UZ/stocks.lang | 8 +- htdocs/langs/vi_VN/admin.lang | 14 +- htdocs/langs/vi_VN/bills.lang | 1 + htdocs/langs/vi_VN/companies.lang | 4 +- htdocs/langs/vi_VN/contracts.lang | 1 + htdocs/langs/vi_VN/errors.lang | 2 +- htdocs/langs/vi_VN/install.lang | 1 + htdocs/langs/vi_VN/mails.lang | 2 +- htdocs/langs/vi_VN/main.lang | 1 + htdocs/langs/vi_VN/projects.lang | 5 + htdocs/langs/vi_VN/stocks.lang | 8 +- htdocs/langs/vi_VN/website.lang | 2 + htdocs/langs/zh_CN/admin.lang | 34 +++-- htdocs/langs/zh_CN/bills.lang | 3 +- htdocs/langs/zh_CN/companies.lang | 4 +- htdocs/langs/zh_CN/contracts.lang | 1 + htdocs/langs/zh_CN/errors.lang | 2 +- htdocs/langs/zh_CN/install.lang | 1 + htdocs/langs/zh_CN/mails.lang | 2 +- htdocs/langs/zh_CN/main.lang | 1 + htdocs/langs/zh_CN/projects.lang | 5 + htdocs/langs/zh_CN/stocks.lang | 8 +- htdocs/langs/zh_CN/website.lang | 2 + htdocs/langs/zh_TW/admin.lang | 14 +- htdocs/langs/zh_TW/bills.lang | 1 + htdocs/langs/zh_TW/companies.lang | 4 +- htdocs/langs/zh_TW/contracts.lang | 1 + htdocs/langs/zh_TW/errors.lang | 2 +- htdocs/langs/zh_TW/install.lang | 1 + htdocs/langs/zh_TW/mails.lang | 2 +- htdocs/langs/zh_TW/main.lang | 1 + htdocs/langs/zh_TW/projects.lang | 5 + htdocs/langs/zh_TW/stocks.lang | 8 +- htdocs/langs/zh_TW/website.lang | 2 + 716 files changed, 3150 insertions(+), 1331 deletions(-) create mode 100644 htdocs/langs/de_CH/bookmarks.lang create mode 100644 htdocs/langs/de_CH/deliveries.lang create mode 100644 htdocs/langs/de_CH/mailmanspip.lang create mode 100644 htdocs/langs/de_CH/oauth.lang create mode 100644 htdocs/langs/de_CH/receiptprinter.lang create mode 100644 htdocs/langs/de_CH/resource.lang create mode 100644 htdocs/langs/de_CH/website.lang create mode 100644 htdocs/langs/en_AU/mails.lang create mode 100644 htdocs/langs/en_AU/stocks.lang create mode 100644 htdocs/langs/en_CA/mails.lang create mode 100644 htdocs/langs/en_CA/stocks.lang create mode 100644 htdocs/langs/en_GB/mails.lang create mode 100644 htdocs/langs/en_GB/stocks.lang create mode 100644 htdocs/langs/en_IN/companies.lang create mode 100644 htdocs/langs/en_IN/mails.lang create mode 100644 htdocs/langs/en_IN/stocks.lang create mode 100644 htdocs/langs/es_AR/companies.lang create mode 100644 htdocs/langs/es_AR/mails.lang create mode 100644 htdocs/langs/es_AR/stocks.lang create mode 100644 htdocs/langs/es_BO/companies.lang create mode 100644 htdocs/langs/es_BO/mails.lang create mode 100644 htdocs/langs/es_BO/stocks.lang create mode 100644 htdocs/langs/es_CL/mails.lang create mode 100644 htdocs/langs/es_CL/stocks.lang create mode 100644 htdocs/langs/es_CO/mails.lang create mode 100644 htdocs/langs/es_CO/stocks.lang create mode 100644 htdocs/langs/es_DO/companies.lang create mode 100644 htdocs/langs/es_DO/mails.lang create mode 100644 htdocs/langs/es_DO/stocks.lang create mode 100644 htdocs/langs/es_EC/companies.lang create mode 100644 htdocs/langs/es_EC/mails.lang create mode 100644 htdocs/langs/es_EC/stocks.lang create mode 100644 htdocs/langs/es_MX/mails.lang delete mode 100644 htdocs/langs/es_MX/projects.lang create mode 100644 htdocs/langs/es_PA/companies.lang create mode 100644 htdocs/langs/es_PA/mails.lang create mode 100644 htdocs/langs/es_PA/stocks.lang create mode 100644 htdocs/langs/es_PE/accountancy.lang create mode 100644 htdocs/langs/es_PE/mails.lang create mode 100644 htdocs/langs/es_PE/stocks.lang create mode 100644 htdocs/langs/es_PY/mails.lang create mode 100644 htdocs/langs/es_PY/stocks.lang create mode 100644 htdocs/langs/es_VE/mails.lang create mode 100644 htdocs/langs/es_VE/stocks.lang create mode 100644 htdocs/langs/fr_BE/mails.lang create mode 100644 htdocs/langs/fr_BE/stocks.lang create mode 100644 htdocs/langs/fr_CA/stocks.lang create mode 100644 htdocs/langs/fr_CH/mails.lang create mode 100644 htdocs/langs/fr_CH/stocks.lang diff --git a/htdocs/langs/ar_SA/admin.lang b/htdocs/langs/ar_SA/admin.lang index e37367e444b..7a74e18dbf0 100644 --- a/htdocs/langs/ar_SA/admin.lang +++ b/htdocs/langs/ar_SA/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=& مجموعات المستخدمين @@ -468,7 +471,7 @@ Module510Desc=إدارة رواتب الموظفين والمدفوعات Module520Name=قرض Module520Desc=إدارة القروض Module600Name=الإخطارات -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=التبرعات Module700Desc=التبرعات إدارة Module770Name=تقارير المصاريف @@ -1067,7 +1070,10 @@ HRMSetup=HRM وحدة الإعداد CompanySetup=وحدة الإعداد للشركات CompanyCodeChecker=نموذج للجيل الثالث لقانون الأحزاب ومراجعة (عميل أو مورد) AccountCodeManager=رمز وحدة لتوليد المحاسبة (عميل أو مورد) -NotificationsDesc=رسائل البريد الإلكتروني ميزة الإخطارات يسمح لك بصمت لإرسال البريد الآلي، لبعض الأحداث Dolibarr. أهداف الإخطارات يمكن تعريفها:
* في ثلث الأطراف الاتصالات (العملاء أو الموردين)، اتصل واحد في وقت و.
* أو عن طريق وضع عناوين البريد الإلكتروني المستهدفة العالمية في صفحة إعداد حدة. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=وثائق قوالب DocumentModelOdt=توليد وثائق من OpenDocuments القوالب (.ODT أو .ODS ملفات أوفيس، كي أوفيس، برنامج TextEdit، ...) WatermarkOnDraft=علامة مائية على مشروع الوثيقة @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=إعداد تقارير المصروفات وحدة TemplatePDFExpenseReports=قوالب المستند لتوليد حساب ثيقة تقرير NoModueToManageStockIncrease=تم تفعيل أي وحدة قادرة على إدارة زيادة المخزون التلقائي. وسوف يتم زيادة الأسهم على الإدخال اليدوي فقط. YouMayFindNotificationsFeaturesIntoModuleNotification=قد تجد خيارات لاشعارات بالبريد الالكتروني من خلال تمكين وتكوين وحدة "الإخطار". -ListOfNotificationsPerContact=قائمة الإشعارات لكل اسم * +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=قائمة الإشعارات ثابت +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=الذهاب على علامة التبويب "التبليغات" من جهة اتصال مرشحين عن إضافة أو إزالة إخطارات للاتصالات / عناوين Threshold=عتبة BackupDumpWizard=المعالج لبناء قاعدة بيانات النسخ الاحتياطي ملف تفريغ diff --git a/htdocs/langs/ar_SA/bills.lang b/htdocs/langs/ar_SA/bills.lang index 7b43dba65f1..df2af148a3d 100644 --- a/htdocs/langs/ar_SA/bills.lang +++ b/htdocs/langs/ar_SA/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=أحدث فاتورة ذات الصلة WarningBillExist=تحذير، واحد أو أكثر من فاتورة موجودة بالفعل MergingPDFTool=دمج أداة PDF AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/ar_SA/companies.lang b/htdocs/langs/ar_SA/companies.lang index e1d05963d2f..6e738cf66c6 100644 --- a/htdocs/langs/ar_SA/companies.lang +++ b/htdocs/langs/ar_SA/companies.lang @@ -74,6 +74,7 @@ DefaultLang=اللغة افتراضيا VATIsUsed=وتستخدم ضريبة القيمة المضافة VATIsNotUsed=ضريبة القيمة المضافة لا يستخدم CopyAddressFromSoc=ملء العنوان مع عنوان مرشحين عن +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=استخدام الضرائب الثانية LocalTax1IsUsedES= يتم استخدام الطاقة المتجددة @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=المنظمة FiscalYearInformation=معلومات عن السنة المالية FiscalMonthStart=ابتداء من شهر من السنة المالية -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=قائمة الموردين ListProspectsShort=قائمة التوقعات ListCustomersShort=قائمة العملاء diff --git a/htdocs/langs/ar_SA/contracts.lang b/htdocs/langs/ar_SA/contracts.lang index 95986310e08..44add2b457e 100644 --- a/htdocs/langs/ar_SA/contracts.lang +++ b/htdocs/langs/ar_SA/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=لا تنتهي ServiceStatusLate=على التوالي ، وانتهت ServiceStatusLateShort=انتهى ServiceStatusClosed=مغلقة +ShowContractOfService=Show contract of service Contracts=عقود ContractsSubscriptions=العقود / الاشتراكات ContractsAndLine=العقود وخط عقود diff --git a/htdocs/langs/ar_SA/errors.lang b/htdocs/langs/ar_SA/errors.lang index eb9904498ba..4547d52e82a 100644 --- a/htdocs/langs/ar_SA/errors.lang +++ b/htdocs/langs/ar_SA/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=إعداد المعلومات ClickToDial WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=ميزة تعطيل عندما تم تحسين عرض الإعداد لالعمياء شخص أو النص المتصفحات. WarningPaymentDateLowerThanInvoiceDate=تاريخ الدفع (٪ ق) هو أقدم من تاريخ الفاتورة (٪ ق) لفاتورة%s. WarningTooManyDataPleaseUseMoreFilters=عدد كبير جدا من البيانات (أكثر من خطوط%s). يرجى استخدام المزيد من المرشحات أو تعيين ثابت٪ الصورة إلى حد أعلى. -WarningSomeLinesWithNullHourlyRate=وسجلت بعض الأوقات من قبل المستخدمين عندما لم يتم تعريف معدل في الساعة. وقد استخدم قيمة 0 ولكن هذا قد يؤدي إلى تقييم خاطئ من الوقت الذي يقضيه. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/ar_SA/install.lang b/htdocs/langs/ar_SA/install.lang index 8a6e1cd3fe8..462dd73e7f0 100644 --- a/htdocs/langs/ar_SA/install.lang +++ b/htdocs/langs/ar_SA/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=وrecommanded به لاستخدام دليل خارج ا LoginAlreadyExists=موجود بالفعل DolibarrAdminLogin=ادخل Dolibarr مشرف AdminLoginAlreadyExists=Dolibarr حساب مشرف '٪ ق' موجود بالفعل. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=تحذير ، لأسباب أمنية ، بعد تثبيت أو تحديث كاملة ، يجب إزالة تثبيت أو إعادة تسمية الدليل على install.lock من أجل تجنب استخدام الخبيثة. FunctionNotAvailableInThisPHP=لا تتوفر على هذا PHP ChoosedMigrateScript=اختار الهجرة سكريبت diff --git a/htdocs/langs/ar_SA/mails.lang b/htdocs/langs/ar_SA/mails.lang index 2ab567d48f7..64e0086bc6f 100644 --- a/htdocs/langs/ar_SA/mails.lang +++ b/htdocs/langs/ar_SA/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=إشعارات البريد الإلكتروني لا ANotificationsWillBeSent=1 سيتم إرسال الإشعار عن طريق البريد الإلكتروني SomeNotificationsWillBeSent=ق ٪ سوف يتم إرسال الإخطارات عبر البريد الإلكتروني AddNewNotification=تفعيل هدفا إشعار البريد الإلكتروني الجديد -ListOfActiveNotifications=قائمة جميع الأهداف إشعار البريد الإلكتروني النشطة +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=أرسلت قائمة جميع اشعارات بالبريد الالكتروني MailSendSetupIs=وقد تم تكوين إرسال البريد الإلكتروني الإعداد ل'٪ ق'. هذا الوضع لا يمكن أن تستخدم لإرسال إرساله عبر البريد الإلكتروني الشامل. MailSendSetupIs2=يجب عليك أولا الذهاب، مع حساب مشرف، في القائمة٪ sHome - إعداد - رسائل البريد الإلكتروني٪ s إلى تغيير المعلمة '٪ ق' لاستخدام وضع '٪ ق'. مع هذا الوضع، يمكنك إدخال الإعداد خادم SMTP المقدمة من قبل موفر خدمة الإنترنت واستخدام قداس ميزة البريد الإلكتروني. diff --git a/htdocs/langs/ar_SA/main.lang b/htdocs/langs/ar_SA/main.lang index 7c34d52e2dc..d8f838269ee 100644 --- a/htdocs/langs/ar_SA/main.lang +++ b/htdocs/langs/ar_SA/main.lang @@ -84,6 +84,7 @@ SeeAbove=أنظر فوق HomeArea=المنطقة الرئيسية LastConnexion=آخر إتصال PreviousConnexion=الاتصال السابق +PreviousValue=Previous value ConnectedOnMultiCompany=إتصال على البيئة ConnectedSince=إتصال منذ AuthenticationMode=وضع صحة المستندات diff --git a/htdocs/langs/ar_SA/projects.lang b/htdocs/langs/ar_SA/projects.lang index 5c5af35716e..1cf3bed8155 100644 --- a/htdocs/langs/ar_SA/projects.lang +++ b/htdocs/langs/ar_SA/projects.lang @@ -11,8 +11,10 @@ SharedProject=مشاريع مشتركة PrivateProject=Project contacts MyProjectsDesc=ويقتصر هذا الرأي على المشاريع التي تقوم على الاتصال (كل ما هو نوع). ProjectsPublicDesc=هذا الرأي يعرض جميع المشاريع ويسمح لك قراءة. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=يمثل هذا العرض جميع المشاريع والمهام يسمح لك للقراءة. ProjectsDesc=ويعرض هذا الرأي جميع المشاريع (أذونات المستخدم الخاص أعطى الصلاحية لعرض كل شيء). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=ويقتصر هذا الرأي على المشروعات أو المهام التي هي الاتصال للحصول على (ما هو نوع). OnlyOpenedProject=المشاريع المفتوحة فقط مرئية (المشاريع في مشروع أو وضع مغلقة غير مرئية). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=مبلغ فرصة OpportunityAmountShort=مقابل. كمية +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=مشروع زعيم TypeContact_project_external_PROJECTLEADER=مشروع زعيم diff --git a/htdocs/langs/ar_SA/stocks.lang b/htdocs/langs/ar_SA/stocks.lang index 67782cb6b33..40492035ff0 100644 --- a/htdocs/langs/ar_SA/stocks.lang +++ b/htdocs/langs/ar_SA/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=سجل TRANSFERT ReceivingForSameOrder=إيصالات لهذا النظام StockMovementRecorded=تحركات الأسهم سجلت RuleForStockAvailability=القواعد المتعلقة بمتطلبات الأسهم -StockMustBeEnoughForInvoice=يجب أن يكون مستوى مخزون كاف لإضافة منتج / خدمة الفاتورة -StockMustBeEnoughForOrder=يجب أن يكون مستوى مخزون كاف لإضافة منتج / خدمة النظام -StockMustBeEnoughForShipment= يجب أن يكون مستوى مخزون كاف لإضافة منتج / خدمة للشحن +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=تسمية الحركة InventoryCode=حركة المخزون أو كود IsInPackage=الواردة في حزمة +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=مشاهدة مستودع MovementCorrectStock=تصحيح الأسهم للمنتج٪ الصورة MovementTransferStock=نقل الأسهم من الناتج٪ الصورة إلى مستودع آخر diff --git a/htdocs/langs/ar_SA/website.lang b/htdocs/langs/ar_SA/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/ar_SA/website.lang +++ b/htdocs/langs/ar_SA/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/bg_BG/admin.lang b/htdocs/langs/bg_BG/admin.lang index af65f03028e..f67745edb12 100644 --- a/htdocs/langs/bg_BG/admin.lang +++ b/htdocs/langs/bg_BG/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Потребители и групи @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Loan Module520Desc=Management of loans Module600Name=Известия -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Дарения Module700Desc=Управление на дарения Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Фирми модул за настройка CompanyCodeChecker=Модул за контрагенти за генериране на кода и проверка (клиент или доставчик) AccountCodeManager=Модул за генериране на отчетност код (клиент или доставчик) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Документи шаблони DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Воден знак върху проект на документ @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/bg_BG/bills.lang b/htdocs/langs/bg_BG/bills.lang index af164f95454..a639dac36ed 100644 --- a/htdocs/langs/bg_BG/bills.lang +++ b/htdocs/langs/bg_BG/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Последна свързана фактура WarningBillExist=Внимание, една или повече актури вече съществуват MergingPDFTool=Инструмент за sliwane на PDF AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/bg_BG/companies.lang b/htdocs/langs/bg_BG/companies.lang index c44ff964879..4073410f638 100644 --- a/htdocs/langs/bg_BG/companies.lang +++ b/htdocs/langs/bg_BG/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Език по подразбиране VATIsUsed=ДДС се използва VATIsNotUsed=ДДС не се използва CopyAddressFromSoc=Попълнете адреса на контрагента +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Използване на втора такса LocalTax1IsUsedES= RE се използва @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Организация FiscalYearInformation=Информация за фискалната година FiscalMonthStart=Начален месец на фискалната година -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=Списък на доставчиците ListProspectsShort=Списък на потенциални ListCustomersShort=Списък на клиенти diff --git a/htdocs/langs/bg_BG/contracts.lang b/htdocs/langs/bg_BG/contracts.lang index b0bc64f7523..6f96c1a87db 100644 --- a/htdocs/langs/bg_BG/contracts.lang +++ b/htdocs/langs/bg_BG/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Не е изтекъл ServiceStatusLate=Спринт, изтекъл ServiceStatusLateShort=Изтекла ServiceStatusClosed=Затворен +ShowContractOfService=Show contract of service Contracts=Договори ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Договори и договорни линии diff --git a/htdocs/langs/bg_BG/errors.lang b/htdocs/langs/bg_BG/errors.lang index b140a9e3089..ad7d85f521f 100644 --- a/htdocs/langs/bg_BG/errors.lang +++ b/htdocs/langs/bg_BG/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Настройките на информ WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Фунцкията е неактива, когато конфигурацията на показването е оптимизирана за незрящ човек или текстови браузери. WarningPaymentDateLowerThanInvoiceDate=Датата на плащане (%s) е по-ранна от датата на фактуриране (%s) за фактура %s. WarningTooManyDataPleaseUseMoreFilters=Прекалено много информация (повече от %s линии). Моля използвайте повече филтри или задайте за константата %s по-висок лимит. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/bg_BG/install.lang b/htdocs/langs/bg_BG/install.lang index cbe5ccc25e7..8ed505ab84a 100644 --- a/htdocs/langs/bg_BG/install.lang +++ b/htdocs/langs/bg_BG/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=Препоръчва се да използвате ди LoginAlreadyExists=Вече съществува DolibarrAdminLogin=Администраторски вход в Dolibarr AdminLoginAlreadyExists=Администраторския профил за Dolibarr '%s' вече съществува. Върнете се назад, ако искате да създадете друг. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Внимание, от съображения за сигурност, след като ведъж инсталирането или надграждането завърши, за да се избегне ново използване на инструментите за инсталиране, трябва да добавите файл наречен install.lock в директорията с документи на Dolibarr, за да се избегне злонамерена употреба. FunctionNotAvailableInThisPHP=Не е наличено за това PHP ChoosedMigrateScript=Изберете скрипт за миграция diff --git a/htdocs/langs/bg_BG/mails.lang b/htdocs/langs/bg_BG/mails.lang index a2135e2001a..d7b631b7eee 100644 --- a/htdocs/langs/bg_BG/mails.lang +++ b/htdocs/langs/bg_BG/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=Не са планирани за това събит ANotificationsWillBeSent=1 уведомление ще бъде изпратено по имейл SomeNotificationsWillBeSent=%s уведомления ще бъдат изпратени по имейл AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=Списък на всички имейли, изпратени уведомления MailSendSetupIs=Настройката за изпращането на имейл е била настроена на '%s'. Този режим не може да бъде използван за масове изпращане на имейли. MailSendSetupIs2=Трябва първо да отидете, с административен акаунт, в меню %sНачало - Настройка - Имейли%s, за да промените параметър '%s' да използва режим '%s'. С този режим можете да въведете настройка на SMTP сървъра предоставен от вашия интернет доставчик и да използвате опцията за масово изпращане на имейли. diff --git a/htdocs/langs/bg_BG/main.lang b/htdocs/langs/bg_BG/main.lang index 74f127fe0af..6b1479b83d3 100644 --- a/htdocs/langs/bg_BG/main.lang +++ b/htdocs/langs/bg_BG/main.lang @@ -84,6 +84,7 @@ SeeAbove=Виж по-горе HomeArea=Начало LastConnexion=Последно свързване PreviousConnexion=Предишно свързване +PreviousValue=Previous value ConnectedOnMultiCompany=Свързан към обекта ConnectedSince=Свързан от AuthenticationMode=Режим на удостоверяване diff --git a/htdocs/langs/bg_BG/projects.lang b/htdocs/langs/bg_BG/projects.lang index 83b06af56b5..23d39627ac8 100644 --- a/htdocs/langs/bg_BG/projects.lang +++ b/htdocs/langs/bg_BG/projects.lang @@ -11,8 +11,10 @@ SharedProject=Всички PrivateProject=Project contacts MyProjectsDesc=Тази гледна точка е ограничена до проекти, които са за контакт (какъвто и да е тип). ProjectsPublicDesc=Този възглед представя всички проекти, по които могат да се четат. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=Този изглед показва всички проекти и задачи, които са ви позволени да прочетете. ProjectsDesc=Този възглед представя всички проекти (потребителски разрешения ви даде разрешение да видите всичко). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=Тази гледна точка е ограничена до проекти или задачи, които са контакт (какъвто и да е тип). OnlyOpenedProject=Само отворени проекти са видими (планирани проекти или със затворен статус не са видими). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Ръководител на проекта TypeContact_project_external_PROJECTLEADER=Ръководител на проекта diff --git a/htdocs/langs/bg_BG/stocks.lang b/htdocs/langs/bg_BG/stocks.lang index 17648422817..b274927f3f8 100644 --- a/htdocs/langs/bg_BG/stocks.lang +++ b/htdocs/langs/bg_BG/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Show warehouse MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/bg_BG/website.lang b/htdocs/langs/bg_BG/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/bg_BG/website.lang +++ b/htdocs/langs/bg_BG/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/bn_BD/admin.lang b/htdocs/langs/bn_BD/admin.lang index ddc5b1ca34a..f6a9f3010da 100644 --- a/htdocs/langs/bn_BD/admin.lang +++ b/htdocs/langs/bn_BD/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Users & groups @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Loan Module520Desc=Management of loans Module600Name=Notifications -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Donations Module700Desc=Donation management Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Companies module setup CompanyCodeChecker=Module for third parties code generation and checking (customer or supplier) AccountCodeManager=Module for accountancy code generation (customer or supplier) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Documents templates DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Watermark on draft document @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/bn_BD/bills.lang b/htdocs/langs/bn_BD/bills.lang index 24e77f5169d..28a8ee4f110 100644 --- a/htdocs/langs/bn_BD/bills.lang +++ b/htdocs/langs/bn_BD/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/bn_BD/companies.lang b/htdocs/langs/bn_BD/companies.lang index f13a2ec02ec..44de76d2130 100644 --- a/htdocs/langs/bn_BD/companies.lang +++ b/htdocs/langs/bn_BD/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Language by default VATIsUsed=VAT is used VATIsNotUsed=VAT is not used CopyAddressFromSoc=Fill address with thirdparty address +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE is used @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organization FiscalYearInformation=Information on the fiscal year FiscalMonthStart=Starting month of the fiscal year -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=List of suppliers ListProspectsShort=List of prospects ListCustomersShort=List of customers diff --git a/htdocs/langs/bn_BD/contracts.lang b/htdocs/langs/bn_BD/contracts.lang index bb4bb033b03..08e5bb562db 100644 --- a/htdocs/langs/bn_BD/contracts.lang +++ b/htdocs/langs/bn_BD/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Not expired ServiceStatusLate=Running, expired ServiceStatusLateShort=Expired ServiceStatusClosed=Closed +ShowContractOfService=Show contract of service Contracts=Contracts ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracts and line of contracts diff --git a/htdocs/langs/bn_BD/errors.lang b/htdocs/langs/bn_BD/errors.lang index 9276b542ad7..364d60bf6b8 100644 --- a/htdocs/langs/bn_BD/errors.lang +++ b/htdocs/langs/bn_BD/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/bn_BD/install.lang b/htdocs/langs/bn_BD/install.lang index 56cf882e178..ce41ae75a30 100644 --- a/htdocs/langs/bn_BD/install.lang +++ b/htdocs/langs/bn_BD/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=It is recommanded to use a directory outside of your dir LoginAlreadyExists=Already exists DolibarrAdminLogin=Dolibarr admin login AdminLoginAlreadyExists=Dolibarr administrator account '%s' already exists. Go back, if you want to create another one. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, to avoid using install tools again, you should add a file called install.lock into Dolibarr document directory, in order to avoid malicious use of it. FunctionNotAvailableInThisPHP=Not available on this PHP ChoosedMigrateScript=Choose migration script diff --git a/htdocs/langs/bn_BD/mails.lang b/htdocs/langs/bn_BD/mails.lang index 0a945f5fd3f..ffe7d5735d1 100644 --- a/htdocs/langs/bn_BD/mails.lang +++ b/htdocs/langs/bn_BD/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=No email notifications are planned for this event and ANotificationsWillBeSent=1 notification will be sent by email SomeNotificationsWillBeSent=%s notifications will be sent by email AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=List all email notifications sent MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/bn_BD/main.lang b/htdocs/langs/bn_BD/main.lang index 40d13f564a4..18b0a7f14b8 100644 --- a/htdocs/langs/bn_BD/main.lang +++ b/htdocs/langs/bn_BD/main.lang @@ -84,6 +84,7 @@ SeeAbove=See above HomeArea=Home area LastConnexion=Last connection PreviousConnexion=Previous connection +PreviousValue=Previous value ConnectedOnMultiCompany=Connected on environment ConnectedSince=Connected since AuthenticationMode=Authentification mode diff --git a/htdocs/langs/bn_BD/projects.lang b/htdocs/langs/bn_BD/projects.lang index 1a370ecf47a..fe21b3558ba 100644 --- a/htdocs/langs/bn_BD/projects.lang +++ b/htdocs/langs/bn_BD/projects.lang @@ -11,8 +11,10 @@ SharedProject=Everybody PrivateProject=Project contacts MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type). ProjectsPublicDesc=This view presents all projects you are allowed to read. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=This view presents all projects (your user permissions grant you permission to view everything). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Project leader TypeContact_project_external_PROJECTLEADER=Project leader diff --git a/htdocs/langs/bn_BD/stocks.lang b/htdocs/langs/bn_BD/stocks.lang index ef47e3f3ce7..8d2d1739a69 100644 --- a/htdocs/langs/bn_BD/stocks.lang +++ b/htdocs/langs/bn_BD/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Show warehouse MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/bn_BD/website.lang b/htdocs/langs/bn_BD/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/bn_BD/website.lang +++ b/htdocs/langs/bn_BD/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/bs_BA/admin.lang b/htdocs/langs/bs_BA/admin.lang index 5c86b0217a2..68d33510781 100644 --- a/htdocs/langs/bs_BA/admin.lang +++ b/htdocs/langs/bs_BA/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Users & groups @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Loan Module520Desc=Management of loans Module600Name=Notifications -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Donations Module700Desc=Donation management Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Companies module setup CompanyCodeChecker=Modul za generaciju i provjeru trećih stranaka (kupca ili dobavljača) AccountCodeManager=Module for accountancy code generation (customer or supplier) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Documents templates DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Watermark on draft document @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/bs_BA/bills.lang b/htdocs/langs/bs_BA/bills.lang index 72b1c792427..49fb3a1a58e 100644 --- a/htdocs/langs/bs_BA/bills.lang +++ b/htdocs/langs/bs_BA/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/bs_BA/companies.lang b/htdocs/langs/bs_BA/companies.lang index fe0be7ce7e8..842628d9d34 100644 --- a/htdocs/langs/bs_BA/companies.lang +++ b/htdocs/langs/bs_BA/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Defaultni jezik VATIsUsed=Oporeziva osoba VATIsNotUsed=Neoporeziva osoba CopyAddressFromSoc=Popuni adresu sa adresom subjekta +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE is used @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organizacija FiscalYearInformation=Informacije o fiskalnoj godini FiscalMonthStart=Početni mjesec fiskalne godine -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=Lista dobavljača ListProspectsShort=Lista mogućih klijenata ListCustomersShort=Lista kupaca diff --git a/htdocs/langs/bs_BA/contracts.lang b/htdocs/langs/bs_BA/contracts.lang index c4020e1b08e..b719442b687 100644 --- a/htdocs/langs/bs_BA/contracts.lang +++ b/htdocs/langs/bs_BA/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Nije istekao ServiceStatusLate=Aktivan, istekao ServiceStatusLateShort=Istekao ServiceStatusClosed=Zatvoren +ShowContractOfService=Show contract of service Contracts=Ugovori ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracts and line of contracts diff --git a/htdocs/langs/bs_BA/errors.lang b/htdocs/langs/bs_BA/errors.lang index 9276b542ad7..364d60bf6b8 100644 --- a/htdocs/langs/bs_BA/errors.lang +++ b/htdocs/langs/bs_BA/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/bs_BA/install.lang b/htdocs/langs/bs_BA/install.lang index 56cf882e178..ce41ae75a30 100644 --- a/htdocs/langs/bs_BA/install.lang +++ b/htdocs/langs/bs_BA/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=It is recommanded to use a directory outside of your dir LoginAlreadyExists=Already exists DolibarrAdminLogin=Dolibarr admin login AdminLoginAlreadyExists=Dolibarr administrator account '%s' already exists. Go back, if you want to create another one. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, to avoid using install tools again, you should add a file called install.lock into Dolibarr document directory, in order to avoid malicious use of it. FunctionNotAvailableInThisPHP=Not available on this PHP ChoosedMigrateScript=Choose migration script diff --git a/htdocs/langs/bs_BA/mails.lang b/htdocs/langs/bs_BA/mails.lang index 854b7a4283b..e55207b294c 100644 --- a/htdocs/langs/bs_BA/mails.lang +++ b/htdocs/langs/bs_BA/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=Nema planiranih email notifikacija za ovaj događaj i ANotificationsWillBeSent=1 notifikacija će biti poslana emailom SomeNotificationsWillBeSent=%s notifikacija će biti poslane emailom AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=Lista svih notifikacija o slanju emaila MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/bs_BA/main.lang b/htdocs/langs/bs_BA/main.lang index bdb34a2fc05..cf37ef890c7 100644 --- a/htdocs/langs/bs_BA/main.lang +++ b/htdocs/langs/bs_BA/main.lang @@ -84,6 +84,7 @@ SeeAbove=See above HomeArea=Home area LastConnexion=Last connection PreviousConnexion=Previous connection +PreviousValue=Previous value ConnectedOnMultiCompany=Connected on environment ConnectedSince=Connected since AuthenticationMode=Authentification mode diff --git a/htdocs/langs/bs_BA/projects.lang b/htdocs/langs/bs_BA/projects.lang index d8f476729af..00736f99449 100644 --- a/htdocs/langs/bs_BA/projects.lang +++ b/htdocs/langs/bs_BA/projects.lang @@ -11,8 +11,10 @@ SharedProject=Zajednički projekti PrivateProject=Project contacts MyProjectsDesc=Ovaj pregled je limitiran na projekte u kojima ste stavljeni kao kontakt (bilo koji tip). ProjectsPublicDesc=Ovaj pregled predstavlja sve projekte koje možete čitati. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=Ovaj pregled predstavlja sve projekte (postavke vaših korisničkih dozvola vam omogućavaju da vidite sve). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=Ovaj pregled predstavlja sve projekte ili zadatke za koje ste kontakt (bilo koji tip). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Project leader TypeContact_project_external_PROJECTLEADER=Project leader diff --git a/htdocs/langs/bs_BA/stocks.lang b/htdocs/langs/bs_BA/stocks.lang index 16d36a2ea14..3e474700969 100644 --- a/htdocs/langs/bs_BA/stocks.lang +++ b/htdocs/langs/bs_BA/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Zapiši transfer ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Kretanja zalihe zapisana RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Show warehouse MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/bs_BA/website.lang b/htdocs/langs/bs_BA/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/bs_BA/website.lang +++ b/htdocs/langs/bs_BA/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/ca_ES/accountancy.lang b/htdocs/langs/ca_ES/accountancy.lang index 28aa86cfb73..ca1a896d315 100644 --- a/htdocs/langs/ca_ES/accountancy.lang +++ b/htdocs/langs/ca_ES/accountancy.lang @@ -4,8 +4,8 @@ ACCOUNTING_EXPORT_DATE=Format de data pel fitxer d'exportació ACCOUNTING_EXPORT_PIECE=Export the number of piece ACCOUNTING_EXPORT_GLOBAL_ACCOUNT=Export with global account ACCOUNTING_EXPORT_LABEL=Exporta l'etiqueta -ACCOUNTING_EXPORT_AMOUNT=Export amount -ACCOUNTING_EXPORT_DEVISE=Export currency +ACCOUNTING_EXPORT_AMOUNT=Exporta l'import +ACCOUNTING_EXPORT_DEVISE=Exporta la moneda Selectformat=Select the format for the file ACCOUNTING_EXPORT_PREFIX_SPEC=Specify the prefix for the file name @@ -82,12 +82,12 @@ Codejournal=Diari NumPiece=Número de peça AccountingCategory=Categoria de comptabilitat -NotMatch=Not Set +NotMatch=No definit -DeleteMvt=Delete general ledger lines -DelYear=Year to delete -DelJournal=Journal to delete -ConfirmDeleteMvt=This will delete all line of of the general ledger for year and/or from a specifics journal +DeleteMvt=Elimina línies del llibre major +DelYear=Any a eliminar +DelJournal=Diari per esborrar +ConfirmDeleteMvt=Això eliminarà totes les línies del llibre major de l'any i/o des d'un diari específic DelBookKeeping=Eliminar els registres del llibre major @@ -146,8 +146,8 @@ Modelcsv_COALA=Exporta cap a Sage Coala Modelcsv_bob50=Exporta cap a Sage BOB 50 Modelcsv_ciel=Exporta cap a Sage Ciel Compta o Compta Evolution Modelcsv_quadratus=Exporta cap a Quadratus QuadraCompta -Modelcsv_ebp=Export towards EBP -Modelcsv_cogilog=Export towards Cogilog +Modelcsv_ebp=Exporta cap a EBP +Modelcsv_cogilog=Exporta cap a Cogilog ## Tools - Init accounting account on product / service InitAccountancy=Inicialitza la comptabilitat @@ -165,5 +165,5 @@ Formula=Fórmula ## Error ErrorNoAccountingCategoryForThisCountry=Sense categoria contable per aquest pais -ExportNotSupported=The export format setuped is not supported into this page -BookeppingLineAlreayExists=Lines already existing into bookeeping +ExportNotSupported=El format d'exportació configurat no està suportat en aquesta pàgina +BookeppingLineAlreayExists=Les línies ja existeixen en la comptabilitat diff --git a/htdocs/langs/ca_ES/admin.lang b/htdocs/langs/ca_ES/admin.lang index 90d57c124d7..190e14dca05 100644 --- a/htdocs/langs/ca_ES/admin.lang +++ b/htdocs/langs/ca_ES/admin.lang @@ -120,8 +120,8 @@ Boxes=Panells MaxNbOfLinesForBoxes=Màxim número de línies per panell PositionByDefault=Posició per defecte Position=Lloc -MenusDesc=Menu managers set content of the two menu bars (horizontal and vertical). -MenusEditorDesc=The menu editor allows you to define custom menu entries. Use it carefully to avoid instability and permanently unreachable menu entries.
Some modules add menu entries (in menu All mostly). If you remove some of these entries by mistake, you can restore them disabling and reenabling the module. +MenusDesc=Els gestors de menú defineixen el contingut de les dos barres de menú (horitzontal i vertical) +MenusEditorDesc=L'editor de menús li permet definir entrades de menú personalitzades. Utilitzeu-ho amb compte per evitar inestabilitat i menús erronis.
Alguns mòduls afegeixen les entrades del menú (la majoria amb el menú Todo). Si elimina algunes de aquestes entrades per error, pot restaurar-les desactivant i reactivant el mòdul. MenuForUsers=Menú per als usuaris LangFile=arxiu .lang System=Sistema @@ -129,8 +129,8 @@ SystemInfo=Informació del sistema SystemToolsArea=Àrea utilitats del sistema SystemToolsAreaDesc=Aquesta àrea ofereix diverses funcions d'administració. Utilitzeu el menú per triar la funcionalitat cercada. Purge=Purga -PurgeAreaDesc=This page allows you to delete all files generated or stored by Dolibarr (temporary files or all files in %s directory). Using this feature is not necessary. It is provided as a workaround for users whose Dolibarr is hosted by a provider that does not offer permissions to delete files generated by the web server. -PurgeDeleteLogFile=Delete log file %s defined for Syslog module (no risk of losing data) +PurgeAreaDesc=Aquesta pàgina permet eliminar tots els fitxers generats o guardats per Dolibarr (fitxers temporals o tots els fitxers de la carpeta %s). L'ús d'aquesta funció no és necessària. Es dóna per als usuaris que alberguen Dolibarr en un servidor que no ofereix els permisos d'eliminació de fitxers generats pel servidor web. +PurgeDeleteLogFile=Eliminar arxiu de registre %s definit al mòdul Syslog (no hi ha risc de perdre dades) PurgeDeleteTemporaryFiles=Elimina tots els fitxers temporals (sense risc de perdre dades) PurgeDeleteTemporaryFilesShort=Elimina els fitxers temporals PurgeDeleteAllFilesInDocumentsDir=Eliminar tots els fitxers de la carpeta %s. Arxius temporals i arxius adjunts a elements (tercers, factures, etc.) Seran eliminats. @@ -177,14 +177,14 @@ IgnoreDuplicateRecords=Ignorar els errors de duplicació (INSERT IGNORE) AutoDetectLang=Autodetecta (idioma del navegador) FeatureDisabledInDemo=Opció deshabilitada en demo Rights=Permisos -BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the dustbin to disable it. +BoxesDesc=Els panells són components que mostren alguna informació que pots afegir per personalitzar algunes pàgines. Pots triar entre mostrar el panell o no seleccionant la pàgina de destí i fent clic a 'Activa', o fent clic al cubell d'escombraries per desactivar. OnlyActiveElementsAreShown=Només els elements de mòduls activats són mostrats ModulesDesc=Els mòduls Dolibarr defineixen les funcionalitats disponibles en l'aplicació. Alguns mòduls requereixen drets que hauran d'indicar als usuaris perquè puguin accedir a les seves funcionalitats. -ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... +ModulesMarketPlaceDesc=Pots trobar més mòduls per descarregar en pàgines web externes per internet... ModulesMarketPlaces=Més mòduls... DoliStoreDesc=DoliStore, el lloc oficial de mòduls complementaris per Dolibarr ERP / CRM -DoliPartnersDesc=List of companies providing custom developed modules or features (Note: anyone experienced in PHP programming can provide custom development for an open source project) -WebSiteDesc=Reference websites to find more modules... +DoliPartnersDesc=Llista d'empreses que proporcionen desenvolupament a mida de mòduls o funcionalitats (Nota: qualsevol empresa amb experiència amb programació PHP pot proporcionar desenvolupament a mida per un projecte de codi obert) +WebSiteDesc=Llocs web de referència per trobar més mòduls... URL=Enllaç BoxesAvailable=Panells disponibles BoxesActivated=Panells activats @@ -240,7 +240,7 @@ MAIN_SMS_SENDMODE=Mètode d'enviament de SMS MAIN_MAIL_SMS_FROM=Número de telèfon per defecte per als enviaments SMS FeatureNotAvailableOnLinux=Funcionalitat no disponible en sistemes Unix. Proveu el seu sendmail localment. SubmitTranslation=Si la traducció d'aquest idioma no està completa o trobes errors, pots corregir-ho editant els arxius en el directorilangs/%s i enviant els canvis a www.transifex.com/dolibarr-association/dolibarr/ -SubmitTranslationENUS=If translation for this language is not complete or you find errors, you can correct this by editing files into directory langs/%s and submit modified files on dolibarr.org/forum or for developers on github.com/Dolibarr/dolibarr. +SubmitTranslationENUS=Si la traducció d'aquest idioma no està completa o trobes errors, pots corregir-ho editant els fitxers en el directorilangs/%s i enviant els fitxers modificats al fòrum de www.dolibarr.es o pels desenvolupadors a github.com/Dolibarr/dolibarr. ModuleSetup=Configuració del mòdul ModulesSetup=Configuració dels mòduls ModuleFamilyBase=Sistema @@ -271,7 +271,7 @@ InfDirAlt=Des de la versió 3 és possible definir un directori root alternatiu, InfDirExample=
Seguidament es declara a l'arxiu conf.php:
$dolibarr_main_url_root_alt='http://miservidor/custom'
$dolibarr_main_document_root_alt='/directorio/de/dolibarr/htdocs/custom'
*Aquestes línies venen comentades amb un "#", per descomentar-les només cal retirar el caràcter. YouCanSubmitFile=Per aquest pas, pots enviar el paquet utilitzant aquesta utilitat: Selecciona el fitxer del mòdul CurrentVersion=Versió actual de Dolibarr -CallUpdatePage=Go to the page that updates the database structure and data: %s. +CallUpdatePage=Ves a la pàgina que actualitza l'estructura de base de dades i les dades: %s LastStableVersion=Última versió estable UpdateServerOffline=Actualitzacións del servidor fora de línia GenericMaskCodes=Podeu introduir qualsevol màscara numèrica. En aquesta màscara, pot utilitzar les següents etiquetes:
{000000} correspon a un número que s'incrementa en cadascun %s. Introduïu tants zeros com longuitud desitgi mostrar. El comptador es completarà a partir de zeros per l'esquerra per tal de tenir tants zeros com la màscara.
{000000+000}Igual que l'anterior, amb una compensació corresponent al número a la dreta del signe + s'aplica a partir del primer %s.
{000000@x}igual que l'anterior, però el comptador es restableix a zero quan s'arriba a x mesos (x entre 1 i 12). Si aquesta opció s'utilitza i x és de 2 o superior, llavors la seqüència {yy}{mm} ó {yyyy}{mm} també és necessària.
{dd} dies (01 a 31).
{mm} mes (01 a 12).
{yy} , {yyyy ó {y} any en 2, 4 ó 1 xifra.
@@ -368,7 +368,7 @@ RefreshPhoneLink=Refrescar enllaç LinkToTest=Enllaç seleccionable per l'usuari %s (feu clic al número per provar) KeepEmptyToUseDefault=Deixeu aquest camp buit per usar el valor per defecte DefaultLink=Enllaç per defecte -SetAsDefault=Set as default +SetAsDefault=Indica'l com Defecte ValueOverwrittenByUserSetup=Atenció: Aquest valor pot ser sobreescrit per un valor específic de la configuració de l'usuari (cada usuari pot tenir la seva pròpia url clicktodial) ExternalModule=Mòdul extern - Instal·lat al directori %s BarcodeInitForThirdparties=Inici massiu de codi de barres per tercers @@ -380,11 +380,14 @@ ConfirmEraseAllCurrentBarCode=Esteu segur que voleu esborrar tots els valors de AllBarcodeReset=S'han eliminat tots els valors de codi de barres NoBarcodeNumberingTemplateDefined=No hi ha plantilla de codi de barres habilitada a la configuració del mòdul de codi de barres. EnableFileCache=Habilita la caché de fitxers -ShowDetailsInPDFPageFoot=Add more details into footer of PDF files, like your company address, or manager names (to complete professional ids, company capital and VAT number). -NoDetails=No more details in footer -DisplayCompanyInfo=Display company address -DisplayCompanyInfoAndManagers=Display company and manager names -EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ShowDetailsInPDFPageFoot=Afegeix més detalls en el peu dels fitxers PDF, com l'adreça de l'empresa, o altres camps (el NIF/CIF, codis professionals, ...). +NoDetails=No hi ha més detalls en el peu +DisplayCompanyInfo=Mostra l'adreça de l'empresa +DisplayCompanyInfoAndManagers=Mostra l'empresa altres camps +EnableAndSetupModuleCron=Si vols tenir aquesta factura recurrent generada automàticament, el mòdul *%s* s'ha d'habilitar i configurar correctament. D'altra banda, la generació de factures s'ha de fer manualment des d'aquesta plantilla amb el bóto "Crea". Tingues en compte que si actives la generació automàtica, pots continuar generant factures manuals. No és possible la generació de duplicitats pel mateix període. +ModuleCompanyCodeAquarium=Retorna un codi comptable compost per:
%s seguit del codi de proveïdor per al codi comptable de proveïdor,
%s seguit del codi de client per al codi comptable de client. +ModuleCompanyCodePanicum=Retorna un codi comptable buit. +ModuleCompanyCodeDigitaria=El codi comptable depèn del codi del tercer. El codi està format pel caràcter 'C' en primera posició seguit dels 5 primers caràcters del codi del tercer. # Modules Module0Name=Usuaris i grups @@ -468,7 +471,7 @@ Module510Desc=Gestió dels salaris dels empleats i pagaments Module520Name=Préstec Module520Desc=Gestió de préstecs Module600Name=Notificacions -Module600Desc=Envia notificacions d'Email (disparades per algun esdeveniment de negoci) a contactes de tercers (configuració definida en cada tercer) o correus electrònics fixes. +Module600Desc=Envia notificacions d'Email (disparades per algun esdeveniment de negoci) a usuaris (configuració definida en cada usuari), contactes de tercers (configuracio definida en cada tercer) o correus electrònics fixes. Module700Name=Donacions Module700Desc=Gestió de donacions Module770Name=Informes de despeses @@ -505,15 +508,15 @@ Module2800Desc=Client FTP Module2900Name=GeoIPMaxmind Module2900Desc=Capacitats de conversió GeoIP Maxmind Module3100Name=Skype -Module3100Desc=Add a Skype button into users / third parties / contacts / members cards +Module3100Desc=Afegeix un botó d'Skype a les fitxes dels usuaris / tercers / contactes / socis Module4000Name=RRHH Module4000Desc=Gestió de recursos humans Module5000Name=Multi-empresa Module5000Desc=Permet gestionar diverses empreses Module6000Name=Workflow Module6000Desc=Gestió Workflow -Module10000Name=Websites -Module10000Desc=Create public websites with a WYSIWG editor. Just setup your web server to point to the dedicated directory to have it online on the Internet. +Module10000Name=Pàgines web +Module10000Desc=Crea pàgines web públiques amb un editor WYSIWYG. Només cal configurar el teu servidor web per apuntar aun un directori dedicat per tenir-ho online a Internet. Module20000Name=Dies lliures Module20000Desc=Gestió dels dies lliures dels empleats Module39000Name=Lots de productes @@ -534,8 +537,8 @@ Module59000Name=Marges Module59000Desc=Mòdul per gestionar els marges Module60000Name=Comissions Module60000Desc=Mòdul per gestionar les comissions -Module63000Name=Resources -Module63000Desc=Manage resources (printers, cars, room, ...) you can then share into events +Module63000Name=Recursos +Module63000Desc=Gestiona els recursos (impressores, cotxes, habitacions...) que pots compartir en esdeveniments Permission11=Consulta factures de client Permission12=Crear/Modificar factures Permission13=Devalidar factures @@ -757,10 +760,10 @@ Permission23003=Eliminar tasques programades Permission23004=Executar tasca programada Permission2401=Llegir accions (esdeveniments o tasques) vinculades al seu compte Permission2402=Crear/modificar accions (esdeveniments o tasques) vinculades al seu compte -Permission2403=Modificar accions (esdeveniments o tasques) vinculades al seu compte -Permission2411=Eliminar accions (esdeveniments o tasques) d'altres -Permission2412=Crear/eliminar accions (esdeveniments o tasques) d'altres -Permission2413=Canviar accions (esdeveniments o tasques) d'altres +Permission2403=Eliminar accions (esdeveniments o tasques) vinculades al seu compte +Permission2411=Llegir accions (esdeveniments o tasques) d'altres +Permission2412=Crear/modificar accions (esdeveniments o tasques) d'altres +Permission2413=Eliminar accions (esdeveniments o tasques) d'altres Permission2414=Exporta accions/tasques d'altres Permission2501=Consultar/Recuperar documents Permission2502=Recuperar documents @@ -794,7 +797,7 @@ DictionaryPaymentModes=Modes de pagament DictionaryTypeContact=Tipus de contactes/adreces DictionaryEcotaxe=Barems CEcoParticipación (DEEE) DictionaryPaperFormat=Formats paper -DictionaryFees=Types of fees +DictionaryFees=Tipus de despeses DictionarySendingMethods=Mètodes d'expedició DictionaryStaff=Empleats DictionaryAvailability=Temps de lliurament @@ -805,13 +808,13 @@ DictionaryAccountancysystem=Models de plans comptables DictionaryEMailTemplates=Models d'emails DictionaryUnits=Unitats DictionaryProspectStatus=Estat del client potencial -DictionaryHolidayTypes=Types of leaves +DictionaryHolidayTypes=Tipus de dies lliures DictionaryOpportunityStatus=Estat de l'oportunitat pel projecte/lead SetupSaved=Configuració desada BackToModuleList=Retornar llista de mòduls BackToDictionaryList=Tornar a la llista de diccionaris VATManagement=Gestió IVA -VATIsUsedDesc=By default when creating prospects, invoices, orders etc the VAT rate follows the active standard rule:
If the seller is not subjected to VAT, then VAT defaults to 0. End of rule.
If the (selling country= buying country), then the VAT by default equals the VAT of the product in the selling country. End of rule.
If seller and buyer are both in the European Community and goods are transport products (car, ship, plane), the default VAT is 0 ( The VAT should be paid by the buyer to the customoffice of his country and not to the seller). End of rule.
If seller and buyer are both in the European Community and the buyer is not a company, then the VAT by defaults to the VAT of the product sold. End of rule.
If seller and buyer are both in the European Community and the buyer is a company, then the VAT is 0 by default . End of rule.
In any othe case the proposed default is VAT=0. End of rule. +VATIsUsedDesc=El tipus d'IVA proposat per defecte en les creacions de pressupostos, factures, comandes, etc. respon a la següent regla:
Si el venedor no està subjecte a IVA, asigna IVA per defecte a 0. Final de regla.
Si el país del venedor=país del comprador, asigna per defecte el IVA del producte en el país venut. Final de regla.
Si el venedor i comprador resideixen a la Comunitat Europea i els béns venuts són productes de transport (cotxe, vaixell, avió), asigna IVA per defecte a 0 (l'IVA ha de ser pagat pel comprador a la hisenda pública del seu país i no al venedor). Final de regla
Si venedor i comprador resideixen a la Comunitat Europea i el comprador no és una empresa, asigna per defecte l'IVA del producte venut. Final de regla.
Si el venedor i comprador resideixen a la Comunitat Europea i el comprador és una empresa, asigna per defecte l'IVA 0 Final de regla.
En qualsevol altre cas l'IVA proposat per defecte és 0. Final de regla. VATIsNotUsedDesc=El tipus d'IVA proposat per defecte és 0. Aquest és el cas d'associacions, particulars o algunes petites societats. VATIsUsedExampleFR=A França, es tracta de les societats o organismes que trien un règim fiscal general (General simplificat o General normal), règim en el qual es declara l'IVA. VATIsNotUsedExampleFR=A França, es tracta d'associacions exemptes d'IVA o societats, organismes o professions liberals que han triat el règim fiscal de mòduls (IVA en franquícia), pagant un IVA en franquícia sense fer declaració d'IVA. Aquesta elecció fa aparèixer l'anotació "IVA no aplicable - art-293B del CGI" en les factures. @@ -910,11 +913,11 @@ ShowBugTrackLink=Mostra l'enllaç "%s" Alerts=Alertes DelaysOfToleranceBeforeWarning=Terminis de tolerància abans d'alerta DelaysOfToleranceDesc=Aquesta pantalla permet configura els terminis de tolerància abans que es alerti amb el símbol %s, sobre cada element en retard. -Delays_MAIN_DELAY_ACTIONS_TODO=Delay tolerance (in days) before alert on planned events (agenda events) not completed yet -Delays_MAIN_DELAY_PROJECT_TO_CLOSE=Delay tolerance (in days) before alert on project not closed in time -Delays_MAIN_DELAY_TASKS_TODO=Delay tolerance (in days) before alert on planned tasks (project tasks) not completed yet -Delays_MAIN_DELAY_ORDERS_TO_PROCESS=Delay tolerance (in days) before alert on orders not processed yet -Delays_MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS=Delay tolerance (in days) before alert on suppliers orders not processed yet +Delays_MAIN_DELAY_ACTIONS_TODO=Tolerància de retard (en dies) abans de l'alerta en esdeveniments planificats (esdevenitments de l'agenda) encara no completats +Delays_MAIN_DELAY_PROJECT_TO_CLOSE=Tolerància de retard (en dies) abans de l'alerta en projectes no tancats a temps. +Delays_MAIN_DELAY_TASKS_TODO=Tolerància de retard (en dies) abans de l'alerta en tasques planificades (tasques de projectes) encara no completades +Delays_MAIN_DELAY_ORDERS_TO_PROCESS=Tolerància de retard (en dies) abans de l'alerta en comandes encara no processades +Delays_MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS=Tolerància de retard (en dies) abans de l'alerta en comandes de proveïdors encara no processades Delays_MAIN_DELAY_PROPALS_TO_CLOSE=Tolerància de retard abans de l'alerta (en dies) sobre pressupostos a tancar Delays_MAIN_DELAY_PROPALS_TO_BILL=Tolerància de retard abans de l'alerta (en dies) sobre pressupostos no facturats Delays_MAIN_DELAY_NOT_ACTIVATED_SERVICES=Tolerància de retard abans de l'alerta (en dies) sobre serveis a activar @@ -925,20 +928,20 @@ Delays_MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE=Tolerància de retard abans de l'al Delays_MAIN_DELAY_MEMBERS=Tolerància de retard abans de l'alerta (en dies) sobre cotitzacions adherents en retard Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Tolerància de retard abans de l'alerta (en dies) sobre xecs a ingressar Delays_MAIN_DELAY_EXPENSEREPORTS=Tolerància de retard (en dies) abans d'alertar d'informes de despeses pendents d'aprovar -SetupDescription1=The setup area is for initial setup parameters before starting to use Dolibarr. -SetupDescription2=The two most important setup steps are the first two in the setup menu on the left: Company/foundation setup page and Modules setup page: -SetupDescription3=Parameters in menu Setup -> Company/foundation are required because submitted data are used on Dolibarr displays and to customize the default behaviour of the software (for country-related features for example). -SetupDescription4=Parameters in menu Setup -> Modules are required because Dolibarr is not a monolithic ERP/CRM but a collection of several modules, all more or less independent. New features will be added to menus for every module you'll enable. +SetupDescription1=L'àrea de configuració són pels paràmetres de configuració inicials abans de començar a utilitzar Dolibarr. +SetupDescription2=Els 2 passos més importants de la configuració són les 2 primeres opcions del menú esquerre: la pàgina de configuració Empresa/entitat i la pàgina de configuració Mòduls: +SetupDescription3=Els paràmetres en el menú Configuració -> Empresa/entitat són obligatoris ja que la informació entrada s'utilitza per mostrar pantalles de Dolibarr i per modificar el comportament de Dolibarr (per exemple per funcions relacionades amb el país). +SetupDescription4=Els paràmetres en el menú Configuració -> Mòduls són obligatoris ja que Dolibarr no és un ERP/CRM monolític, és un conjunt de mòduls més o menys independent. Per cada nou mòdul que s'activi s'afegiran noves funcionalitats en els menús. SetupDescription5=Les altres entrades de configuració gestionen paràmetres opcionals. LogEvents=Auditoria de la seguretat d'esdeveniments Audit=Auditoria InfoDolibarr=Sobre Dolibarr -InfoBrowser=About Browser +InfoBrowser=Sobre el Navegador InfoOS=Sobre S.O. InfoWebServer=Sobre Servidor web InfoDatabase=Sobre Bases de dades InfoPHP=Sobre PHP -InfoPerf=About Performances +InfoPerf=Sobre prestacions BrowserName=Nom del navegador BrowserOS=S.O. del navegador ListOfSecurityEvents=Llistat d'esdeveniments de seguretat Dolibarr @@ -960,9 +963,9 @@ TriggerDisabledAsModuleDisabled=Triggers d'aquest arxiu desactivats ja que el m TriggerAlwaysActive=Triggers d'aquest arxiu sempre actius, ja que els mòduls Dolibarr relacionats estan activats TriggerActiveAsModuleActive=Triggers d'aquest arxiu actius ja que el mòdul %s està activat GeneratedPasswordDesc=Indiqui aquí que norma vol utilitzar per generar les contrasenyes quan vulgui generar una nova contrasenya -DictionaryDesc=Insert all reference data. You can add your values to the default. -ConstDesc=This page allows you to edit all other parameters not available in previous pages. These are mostly reserved parameters for developers or advanced troubleshooting. -MiscellaneousDesc=All other security related parameters are defined here. +DictionaryDesc=Afegeix totes les dades de referència. Pots afegir els teus valors per defecte. +ConstDesc=Aquesta pàgina et permet editar tots els altres paràmetres no disponibles en les pàgines anteriors. Principalment són paràmetres reservats per desenvolupadors o per casuístiques avançades. +MiscellaneousDesc=Tots els altres paràmetres relacionats amb la seguretat es defineixen aqui. LimitsSetup=Configuració de límits i precisions LimitsDesc=Podeu definir aquí els límits i precisions utilitzats per Dolibarr MAIN_MAX_DECIMALS_UNIT=Decimals màxims per als preus unitaris @@ -1027,8 +1030,8 @@ PathToDocuments=Rutes d'accés a documents PathDirectory=Catàleg SendmailOptionMayHurtBuggedMTA=La funcionalitat d'enviar correus electrònics a través del "correu directe PHP" genera una sol·licitud que poden ser mal interpretats per alguns servidors de correu. Això és tradueix en missatges de correu electrònic illegibles per a les persones allotjades a aquestes plataformes. Aquest és el cas de clients en certs proveïdors de serveis d'internet (Ex: Orange). Això no és un problema ni de Dolibarr ni de PHP, però si del servidor de correu. Encara que, pot agregar la opció MAIN_FIX_FOR_BUGGED_MTA amb el valor 1 a la Configuració -> Varis per tractar que Dolibarr eviti l'error. Un altre solució (recomanada) és utilitzar el mètode d'enviament per SMTP que no té aquest inconvenient. TranslationSetup=Configuració traducció -TranslationDesc=How to set displayed application language
* Systemwide: menu Home - Setup - Display
* Per user: User display setup tab of user card (click on username at the top of the screen). -TranslationOverwriteDesc=You can also override strings filling the following table. Choose your language from "%s" dropdown, insert the key string found in the lang file (langs/xx_XX/somefile.lang) into "%s" and your new translation into "%s". +TranslationDesc=Com mostrar l'idioma de l'aplicació
* A nivell de sistema: menú Inici - Configuració - Entorn
* Per usuari: Configuració usuari en pestanya de la fitxa d'usuari (clic al seu nom d'usuari a la part superior de la pantalla). +TranslationOverwriteDesc=També pots sobreescriure algun valor omplint la següent taula. Selecciona el teu idioma del desplegable "%s", afegeix la clau que trobis en el fitxer lang (langs/xx_XX/nomfitxer.lang) en "%s" i la nova traducció en "%s". TotalNumberOfActivatedModules=Número total de mòduls activats: %s / %s YouMustEnableOneModule=Ha d'activar almenys 1 mòdul. ClassNotFoundIntoPathWarning=No s'ha trobat la classe %s en el seu path PHP @@ -1067,7 +1070,10 @@ HRMSetup=Configuració de mòdul de gestió de recursos humans CompanySetup=Configuració del mòdul empreses CompanyCodeChecker=Mòdul de generació i control dels codis de tercers (clients/proveïdors) AccountCodeManager=Mòdul de generació dels codis comptables (clients/proveïdors) -NotificationsDesc=La funció de les notificacions permet enviar automàticament un e-mail per alguns esdeveniments de Dolibarr. Els destinataris de les notificacions poden definir-se:
* per contactes de tercers (clients o proveïdors), un tercer a la vegada.
* o configurant un destinatari global en la configuració del mòdul. +NotificationsDesc=La funció de les notificacions permet enviar automàticament un e-mail per alguns esdeveniments de Dolibarr. Els destinataris de les notificacions poden definir-se: +NotificationsDescUser=* per usuaris, un usuari cada vegada +NotificationsDescContact=* per contactes de tercers (clients o proveïdors), un contacte cada vegada +NotificationsDescGlobal=* o definint un destí global de correu electrònic en la pàgina de configuració del mòdul ModelModules=Models de documents DocumentModelOdt=Generació des dels documents amb format OpenDocument (Arxiu .ODT OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Marca d'aigua en els documents esborrany @@ -1092,8 +1098,8 @@ SuggestPaymentByChequeToAddress=Sugerir el pagament per xec a FreeLegalTextOnInvoices=Text lliure en factures WatermarkOnDraftInvoices=Marca d'aigua en les factures esborrany (en cas d'estar buit) PaymentsNumberingModule=Model de numeració de pagaments -SuppliersPayment=Suppliers payments -SupplierPaymentSetup=Suppliers payments setup +SuppliersPayment=Pagaments a proveïdors +SupplierPaymentSetup=Configuració de pagaments a proveïdors ##### Proposals ##### PropalSetup=Configuració del mòdul Pressupostos ProposalsNumberingModules=Models de numeració de pressupostos @@ -1368,7 +1374,7 @@ FCKeditorForMail=Edició/creació WYSIWIG per tots els e-mails (excepte Eines->e ##### OSCommerce 1 ##### OSCommerceErrorConnectOkButWrongDatabase=La connexió s'ha establert, però la base de dades no sembla de OSCommerce. OSCommerceTestOk=La connexió al servidor '%s' sobre la base '%s' per l'usuari '%s' és correcta. -OSCommerceTestKo1=La connexió al servidor '%s' sobre la base '%s' per l'usuari '%s' no s'ha pogut fer. +OSCommerceTestKo1=La connexió al servidor '%s' s'ha completat però amb la base de dades '%s' no s'ha pogut assolir. OSCommerceTestKo2=La connexió al servidor '%s' per l'usuari '%s' ha fallat. ##### Stock ##### StockSetup=Configuració del mòdul de magatzem @@ -1377,7 +1383,7 @@ IfYouUsePointOfSaleCheckModule=Si utilitza un mòdul de Punt de Venda (mòdul TP MenuDeleted=Menú eliminat Menus=Menús TreeMenuPersonalized=Menús personalitzats -NotTopTreeMenuPersonalized=Personalized menus not linked to a top menu entry +NotTopTreeMenuPersonalized=Els menús personalitzats no estan enllaçats a una entrada de menú de capçalera NewMenu=Nou menú Menu=Selecció dels menús MenuHandler=Gestor de menús @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Configuració del mòdul Informe de Despeses TemplatePDFExpenseReports=Mòdels de documentació per generar informes de despeses NoModueToManageStockIncrease=No esta activat el mòdul per gestionar automàticament l'increment d'estoc. L'increment d'estoc es realitzara només amb l'entrada manual YouMayFindNotificationsFeaturesIntoModuleNotification=Pot trobar opcions per notificacions d'e-mail activant i configurant el mòdul "Notificacions" -ListOfNotificationsPerContact=Llista de notificacions per contacte* +ListOfNotificationsPerUser=Llista de notificacions per usuari* +ListOfNotificationsPerUserOrContact=Llista de notificacions per usuari* o per contacte** ListOfFixedNotifications=Llistat de notificacions fixes +GoOntoUserCardToAddMore=Ves a la pestanya "Notificacions" d'un usuari per afegir o eliminar notificacions per usuaris. GoOntoContactCardToAddMore=Vagi a la pestanya "Notificacions" d'un contacte de tercers per afegir o eliminar notificacions per contactes/direccions Threshold=Valor mínim/llindar BackupDumpWizard=Asistent per crear una copia de seguretat de la base de dades @@ -1590,7 +1598,7 @@ AddOtherPagesOrServices=Afegeix altres pàgines o serveis AddModels=Afegeix document o model de numeració AddSubstitutions=Afegeix claus de substitució DetectionNotPossible=Detecció no possible -UrlToGetKeyToUseAPIs=Url to get token to use API (once token has been received it is saved on database user table and will be checked on each future access) +UrlToGetKeyToUseAPIs=Url per obtenir el token per utilitzar l'API (un cop s'ha rebut el token i s'ha desat en la taula d'usuaris de la base de dades, es comprovarà en cada futur accés) ListOfAvailableAPIs=Llistat de APIs disponibles -activateModuleDependNotSatisfied=Module "%s" depends on module "%s" that is missing, so module "%1$s" may not work correclty. Please install module "%2$s" or disable module "%1$s" if you want to be safe from any surprise -CommandIsNotInsideAllowedCommands=The command you try to run is not inside list of allowed commands defined into parameter $dolibarr_main_restrict_os_commands into conf.php file. +activateModuleDependNotSatisfied=El mòdul "%s" depèn del mòdul "%s" que no s'ha trobat, així que el mòdul "%1$s" pot funcionar de forma incorrecte. Instal·la el mòdul "%2$s" o deshabilita el mòdul "%1$s" si vols estar segur de no tenir cap sorpresa +CommandIsNotInsideAllowedCommands=La comanda que intentes executar no es troba en la llista de comandes permeses definides en paràmetres $dolibarr_main_restrict_os_commands en el fitxer conf.php. diff --git a/htdocs/langs/ca_ES/banks.lang b/htdocs/langs/ca_ES/banks.lang index 21f54be3364..ea7a8537d73 100644 --- a/htdocs/langs/ca_ES/banks.lang +++ b/htdocs/langs/ca_ES/banks.lang @@ -88,8 +88,8 @@ ConciliatedBy=Conciliat per DateConciliating=Data conciliació BankLineConciliated=Registre conciliat CustomerInvoicePayment=Cobrament a client -SupplierInvoicePayment=Supplier payment -SubscriptionPayment=Subscription payment +SupplierInvoicePayment=Pagament a proveïdor +SubscriptionPayment=Pagament de quota WithdrawalPayment=Cobrament de domiciliació SocialContributionPayment=Pagament d'impostos varis BankTransfer=Transferència bancària @@ -104,7 +104,7 @@ ConfirmValidateCheckReceipt=Esteu segur de voler validar aquesta remesa (cap mod DeleteCheckReceipt=Voleu suprimir aquesta remesa? ConfirmDeleteCheckReceipt=Estàs segur de voler eliminar aquesta remesa? BankChecks=Xecs -BankChecksToReceipt=Checks awaiting deposit +BankChecksToReceipt=Xecs en espera de l'ingrés ShowCheckReceipt=Mostrar remesa NumberOfCheques=N º de xecs DeleteTransaction=Eliminar la transacció diff --git a/htdocs/langs/ca_ES/bills.lang b/htdocs/langs/ca_ES/bills.lang index f2d17d43d5e..b658064a977 100644 --- a/htdocs/langs/ca_ES/bills.lang +++ b/htdocs/langs/ca_ES/bills.lang @@ -56,7 +56,7 @@ SupplierBill=Factura de proveïdor SupplierBills=Factures de proveïdors Payment=Pagament PaymentBack=Reembossament -CustomerInvoicePaymentBack=Payment back +CustomerInvoicePaymentBack=Reembossament Payments=Pagaments PaymentsBack=Reembossaments paymentInInvoiceCurrency=en divisa de factures @@ -224,7 +224,7 @@ RelatedRecurringCustomerInvoices=Factures recurrents de client relacionades MenuToValid=A validar DateMaxPayment=Data límit de pagament DateInvoice=Data facturació -DatePointOfTax=Point of tax +DatePointOfTax=Punt d'impostos NoInvoice=Cap factura ClassifyBill=Classificar la factura SupplierBillsToPay=Factures de proveïdors pendents de pagament @@ -312,6 +312,7 @@ LatestRelatedBill=Última factura relacionada WarningBillExist=Advertència, una o més factures ja existeixen MergingPDFTool=Eina de fusió PDF AmountPaymentDistributedOnInvoice=Import de pagament distribuït en la factura +PaymentOnDifferentThirdBills=Permet fer pagaments en factures de diferents tercers però de la mateixa empresa mare PaymentNote=Nota de pagament ListOfPreviousSituationInvoices=Llista de situació de factures anterior ListOfNextSituationInvoices=Llista de següents situacions de factures @@ -320,13 +321,13 @@ FrequencyPer_m=Cada %s mesos FrequencyPer_y=Cada %s anys toolTipFrequency=Exemples:
Defineix 7 / dia: dona una nova factura cada 7 dies
Defineix 3 / mes: dona una nova factura cada 3 mesos NextDateToExecution=Data de la propera generació de factures -DateLastGeneration=Date of latest generation +DateLastGeneration=Data de l'última generació MaxPeriodNumber=Nº màxim de generació de factures NbOfGenerationDone=Nº de generació de factura ja realitzat -MaxGenerationReached=Maximum nb of generations reached -InvoiceAutoValidate=Validate invoices automatically +MaxGenerationReached=Nº màxim de generacions assollit +InvoiceAutoValidate=Valida les factures automàticament GeneratedFromRecurringInvoice=Generat des de la plantilla de factura recurrent %s -DateIsNotEnough=Date not reached yet +DateIsNotEnough=Encara no s'ha arribat a la data InvoiceGeneratedFromTemplate=La factura %s s'ha generat des de la plantilla de factura recurrent %s # PaymentConditions PaymentConditionShortRECEP=A la recepció @@ -334,14 +335,14 @@ PaymentConditionRECEP=A la recepció de la factura PaymentConditionShort30D=30 dies PaymentCondition30D=30 dies PaymentConditionShort30DENDMONTH=30 díes final de mes -PaymentCondition30DENDMONTH=Within 30 days following the end of the month +PaymentCondition30DENDMONTH=En els 30 dies següents a final de mes PaymentConditionShort60D=60 dies PaymentCondition60D=60 dies PaymentConditionShort60DENDMONTH=60 díes final de mes -PaymentCondition60DENDMONTH=Within 60 days following the end of the month +PaymentCondition60DENDMONTH=En els 60 dies següents a final de mes PaymentConditionShortPT_DELIVERY=Al lliurament PaymentConditionPT_DELIVERY=Al lliurament -PaymentConditionShortPT_ORDER=Order +PaymentConditionShortPT_ORDER=Comanda PaymentConditionPT_ORDER=A la recepció de la comanda PaymentConditionShortPT_5050=50/50 PaymentConditionPT_5050=50%% per avançat, 50%% al lliurament @@ -358,12 +359,12 @@ PaymentTypeCB=Targeta PaymentTypeShortCB=Targeta PaymentTypeCHQ=Xec PaymentTypeShortCHQ=Xec -PaymentTypeTIP=TIP (Documents against Payment) -PaymentTypeShortTIP=TIP Payment +PaymentTypeTIP=TIP (Documents contra pagament) +PaymentTypeShortTIP=Pagament TIP PaymentTypeVAD=Pagament On Line PaymentTypeShortVAD=Pagament On Line -PaymentTypeTRA=Bank draft -PaymentTypeShortTRA=Draft +PaymentTypeTRA=Banc esborrany +PaymentTypeShortTRA=Esborrany PaymentTypeFAC=Factor PaymentTypeShortFAC=Factor BankDetails=Dades bancàries @@ -371,7 +372,7 @@ BankCode=Codi banc DeskCode=Cod. sucursal BankAccountNumber=Número compte BankAccountNumberKey=D. C. -Residence=Direct debit +Residence=Domiciliació bancària IBANNumber=Codi IBAN IBAN=IBAN BIC=BIC/SWIFT @@ -437,7 +438,7 @@ RevenueStamp=Timbre fiscal YouMustCreateInvoiceFromThird=Aquesta opció només està disponible quan es crea la factura des de la pestanya "client" des de tercers YouMustCreateStandardInvoiceFirstDesc=Primer has de crear una factura estàndard i convertir-la en "plantilla" per crear una nova plantilla de factura PDFCrabeDescription=Model de factura complet (model recomanat per defecte) -PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices +PDFCrevetteDescription=Plantilla Crevette per factures PDF. Una plantilla de factura completa per factures de situació. TerreNumRefModelDesc1=Retorna el nombre sota el format %syymm-nnnn per a les factures i %syymm-nnnn per als abonaments on yy és l'any, mm. el mes i nnnn un comptador seqüencial sense ruptura i sense permanència a 0 MarsNumRefModelDesc1=Retorna el nombre sota el format %syymm-nnnn per a les factures, %syymm-nnnn per a les factures rectificatives, %syymm-nnnn per a les factures de dipòsit i %syymm-nnnn pels abonaments on yy és l'any, mm el mes i nnnn un comptador seqüencial sense ruptura i sense retorn a 0 TerreNumRefModelError=Ja hi ha una factura amb $syymm i no és compatible amb aquest model de seqüència. Elimineu o renómbrela per poder activar aquest mòdul @@ -460,7 +461,7 @@ SituationAmount=Situació del import (sense IVA) de la factura SituationDeduction=Situació d'exportació ModifyAllLines=Modificar totes les línies CreateNextSituationInvoice=Crear següent situació -NotLastInCycle=This invoice is not the latest in cycle and must not be modified. +NotLastInCycle=Aquesta factura no és l'última en el cicle i no es pot modificar. DisabledBecauseNotLastInCycle=Ja existeix la següent situació. DisabledBecauseFinal=Aquesta situació és definitiva. CantBeLessThanMinPercent=El progrés no pot ser menor que el seu valor en la situació anterior. @@ -471,7 +472,7 @@ PDFCrevetteSituationInvoiceLineDecompte=Situació de factura - COUNT PDFCrevetteSituationInvoiceTitle=Situació factures PDFCrevetteSituationInvoiceLine=Situació N°%s : Inv. N°%s en %s TotalSituationInvoice=Total situació -invoiceLineProgressError=Invoice line progress can't be greater than or equal to the next invoice line +invoiceLineProgressError=El progrés de la línia de factura no pot ser igual o superior a la següent línia de factura updatePriceNextInvoiceErrorUpdateline=Error : actualització de preu en línia de factura : %s ToCreateARecurringInvoice=Per crear una factura recurrent d'aquest contracte, primer crea aquesta factura esborrany, després converteix-la en una plantilla de factura i defineix la freqüència per a la generació de factures futures. ToCreateARecurringInvoiceGene=Per generar futures factures regulars i manualment, només ves al menú %s - %s - %s. diff --git a/htdocs/langs/ca_ES/bookmarks.lang b/htdocs/langs/ca_ES/bookmarks.lang index a7f26119797..6c6b935daad 100644 --- a/htdocs/langs/ca_ES/bookmarks.lang +++ b/htdocs/langs/ca_ES/bookmarks.lang @@ -14,5 +14,5 @@ BehaviourOnClick=Comportament al fer clic a la URL CreateBookmark=Crea marcador SetHereATitleForLink=Indica un títol pel marcador UseAnExternalHttpLinkOrRelativeDolibarrLink=Indicar una URL http externa o una URL Dolibarr relativa -ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Choose if linked page must open in new window or not +ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Selecciona si les pàgines enllaçades s'han d'obrir en una nova finestra o no BookmarksManagement=Gestió de marcadors diff --git a/htdocs/langs/ca_ES/boxes.lang b/htdocs/langs/ca_ES/boxes.lang index 501b5ebf103..0850e96908c 100644 --- a/htdocs/langs/ca_ES/boxes.lang +++ b/htdocs/langs/ca_ES/boxes.lang @@ -1,51 +1,51 @@ # Dolibarr language file - Source file is en_US - boxes BoxLastRssInfos=Fils d'informació RSS -BoxLastProducts=Latest %s products/services -BoxProductsAlertStock=Stock alerts for products -BoxLastProductsInContract=Latest %s contracted products/services +BoxLastProducts=Últims %s productes/serveis +BoxProductsAlertStock=Alertes d'estoc per a productes +BoxLastProductsInContract=Últims %s productes/serveis contractats BoxLastSupplierBills=Últimes factures de proveïdor BoxLastCustomerBills=Últimes factures de client -BoxOldestUnpaidCustomerBills=Oldest unpaid customer invoices -BoxOldestUnpaidSupplierBills=Oldest unpaid supplier invoices -BoxLastProposals=Latest commercial proposals -BoxLastProspects=Latest modified prospects -BoxLastCustomers=Latest modified customers -BoxLastSuppliers=Latest modified suppliers -BoxLastCustomerOrders=Latest customer orders +BoxOldestUnpaidCustomerBills=Factures de clients més antigues pendents de cobrament +BoxOldestUnpaidSupplierBills=Factures de proveïdors més antigues pendents de pagament +BoxLastProposals=Últims pressupostos +BoxLastProspects=Últims clients potencials modificats +BoxLastCustomers=Últims clients modificats +BoxLastSuppliers=Últims proveïdors modificats +BoxLastCustomerOrders=Últimes comandes de client BoxLastActions=Últimes accions BoxLastContracts=Últims contractes -BoxLastContacts=Latest contacts/addresses +BoxLastContacts=Últims contactes/adreces BoxLastMembers=Últims socis BoxFicheInter=Últimes intervencions BoxCurrentAccounts=Balanç de comptes oberts -BoxTitleLastRssInfos=Latest %s news from %s -BoxTitleLastProducts=Latest %s modified products/services +BoxTitleLastRssInfos=Últimes %s notícies de %s +BoxTitleLastProducts=Els últims %s productes/serveis modificats BoxTitleProductsAlertStock=Productes en alerta d'estoc -BoxTitleLastSuppliers=Latest %s recorded suppliers -BoxTitleLastModifiedSuppliers=Latest %s modified suppliers -BoxTitleLastModifiedCustomers=Latest %s modified customers -BoxTitleLastCustomersOrProspects=Latest %s customers or prospects -BoxTitleLastCustomerBills=Latest %s customer's invoices -BoxTitleLastSupplierBills=Latest %s supplier's invoices -BoxTitleLastModifiedProspects=Latest %s modified prospects +BoxTitleLastSuppliers=Últims %s proveïdors registrats +BoxTitleLastModifiedSuppliers=Últims %s proveïdors modificats +BoxTitleLastModifiedCustomers=Últims %s clients modificats +BoxTitleLastCustomersOrProspects=Últims %s clients o clients potencials +BoxTitleLastCustomerBills=Últimes %s factures de client +BoxTitleLastSupplierBills=Últimes %s factures de proveïdors +BoxTitleLastModifiedProspects=Últims %s clients potencials modificats BoxTitleLastModifiedMembers=Els últims %s socis -BoxTitleLastFicheInter=Latest %s modified interventions +BoxTitleLastFicheInter=Últimes %s intervencions modificades BoxTitleOldestUnpaidCustomerBills=Les %s factures més antigues a clients pendents de cobrament BoxTitleOldestUnpaidSupplierBills=Les %s factures més antigues de proveïdors pendents de pagament BoxTitleCurrentAccounts=Balanços de comptes oberts -BoxTitleLastModifiedContacts=Latest %s modified contacts/addresses -BoxMyLastBookmarks=My latest %s bookmarks +BoxTitleLastModifiedContacts=Últims %s contactes/adreces +BoxMyLastBookmarks=Els meus últims %s marcadors BoxOldestExpiredServices=Serveis antics expirats -BoxLastExpiredServices=Latest %s oldest contacts with active expired services -BoxTitleLastActionsToDo=Latest %s actions to do -BoxTitleLastContracts=Latest %s contracts -BoxTitleLastModifiedDonations=Latest %s modified donations -BoxTitleLastModifiedExpenses=Latest %s modified expense reports +BoxLastExpiredServices=Últims %s contactes amb serveis actius expirats +BoxTitleLastActionsToDo=Últims %s events a realitzar +BoxTitleLastContracts=Últims %s contractes +BoxTitleLastModifiedDonations=Últimes %s donacions modificades +BoxTitleLastModifiedExpenses=Últimes %s despeses modificades BoxGlobalActivity=Activitat global BoxGoodCustomers=Bons clients BoxTitleGoodCustomers=% bons clients -FailedToRefreshDataInfoNotUpToDate=Failed to refresh RSS flux. Latest successfull refresh date: %s -LastRefreshDate=Latest refresh date +FailedToRefreshDataInfoNotUpToDate=Error al refrescar el fil RSS. L'última vegada que es refrescà correctament va ser: %s +LastRefreshDate=Última data que es va refrescar NoRecordedBookmarks=No hi ha marcadors personals. ClickToAdd=Faci clic aquí per afegir. NoRecordedCustomers=Cap client registrat @@ -75,5 +75,5 @@ BoxProductDistributionFor=Distribució de %s per %s ForCustomersInvoices=Factures a clientes ForCustomersOrders=Comandes de clients ForProposals=Pressupostos -LastXMonthRolling=The latest %s month rolling +LastXMonthRolling=Els últims %s mesos consecutius ChooseBoxToAdd=Afegeix un panell a la teva taula de control diff --git a/htdocs/langs/ca_ES/commercial.lang b/htdocs/langs/ca_ES/commercial.lang index f8cab381799..e528b767979 100644 --- a/htdocs/langs/ca_ES/commercial.lang +++ b/htdocs/langs/ca_ES/commercial.lang @@ -12,8 +12,8 @@ AddAnAction=Crea un esdeveniment AddActionRendezVous=Crear una cita ConfirmDeleteAction=Esteu segur de voler eliminar aquest esdeveniment? CardAction=Fitxa esdeveniment -ActionOnCompany=Related company -ActionOnContact=Related contact +ActionOnCompany=Empresa relacionada +ActionOnContact=Contacte relacionat TaskRDVWith=Cita amb %s ShowTask=Veure tasca ShowAction=Veure esdeveniment @@ -28,8 +28,8 @@ ShowCustomer=Veure client ShowProspect=Veure clients potencials ListOfProspects=Llista de clients potencials ListOfCustomers=Llista de clients -LastDoneTasks=Latest %s completed tasks -LastActionsToDo=Oldest %s not completed actions +LastDoneTasks=Últimes %s tasques completades +LastActionsToDo=Les %s més antigues accions no completades DoneAndToDoActions=Llista d'esdeveniments realitzats o a realitzar DoneActions=Llista d'esdeveniments realitzats ToDoActions=Llista d'esdevenimentss incomplets diff --git a/htdocs/langs/ca_ES/companies.lang b/htdocs/langs/ca_ES/companies.lang index d23e2b21e55..6644857d11b 100644 --- a/htdocs/langs/ca_ES/companies.lang +++ b/htdocs/langs/ca_ES/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Idioma per defecte VATIsUsed=Subjecte a IVA VATIsNotUsed=No subjecte a IVA CopyAddressFromSoc=Copiar l'adreça de l'empresa +ThirdpartyNotCustomerNotSupplierSoNoRef=Tercer ni client ni proveïdor, no hi ha objectes vinculats disponibles ##### Local Taxes ##### LocalTax1IsUsed=Utilitza segon impost LocalTax1IsUsedES= Subjecte a RE @@ -310,7 +311,7 @@ VATIntraCheckableOnEUSite=Verifica el NIF Intracomunitari a la web de la Comissi VATIntraManualCheck=Podeu també fer una verificació manual a la web europea %s ErrorVATCheckMS_UNAVAILABLE=Comprovació impossible. El servei de comprovació no és prestat pel país membre (%s). NorProspectNorCustomer=Ni client, ni client potencial -JuridicalStatus=Legal form +JuridicalStatus=Forma legal Staff=Empleats ProspectLevelShort=Potencial ProspectLevel=Nivell de client potencial @@ -337,12 +338,12 @@ TE_PRIVATE=Particular TE_OTHER=Altres StatusProspect-1=No contactar StatusProspect0=Mai contactat -StatusProspect1=To be contacted +StatusProspect1=A contactar StatusProspect2=Contacte en curs StatusProspect3=Contacte realitzat ChangeDoNotContact=Canviar l'estat a 'no contactar' ChangeNeverContacted=Canviar l'estat a 'mai contactat' -ChangeToContact=Change status to 'To be contacted' +ChangeToContact=Canvia l'estat a 'A contactar' ChangeContactInProcess=Canviar l'estat a 'Contacte en curs' ChangeContactDone=Canviar l'estat a 'Contacte realitzat' ProspectsByStatus=Clients potencials per estat @@ -359,28 +360,29 @@ ImportDataset_company_3=Comptes bancaris ImportDataset_company_4=Tercers/Agents comercials (afecta als usuaris agents comercials en empreses) PriceLevel=Nivell de preus DeliveryAddress=Adreça d'enviament -AddAddress=Add address +AddAddress=Afegeix adreça SupplierCategory=Categoria de proveïdor JuridicalStatus200=Independent DeleteFile=Elimina el fitxer ConfirmDeleteFile=Esteu segur de voler eliminar aquest fitxer? -AllocateCommercial=Assigned to sales representative +AllocateCommercial=Assignat a un agent comercial Organization=Organisme FiscalYearInformation=Informació de l'any fiscal FiscalMonthStart=Mes d'inici d'exercici -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=Has de crear un correu electrònic per aquest usuari abans d'afegir notificacions de correu electrònic per ell. +YouMustCreateContactFirst=Per poder afegir notificacions de correu electrònic, en primer lloc s'ha de definir contactes amb correu electrònic vàlid pel tercer ListSuppliersShort=Llistat de proveïdors ListProspectsShort=Llistat de clients potencials ListCustomersShort=Llistat de clients ThirdPartiesArea=Àrea de tercers i contactes -LastModifiedThirdParties=Latest %s modified third parties +LastModifiedThirdParties=Últims %s tercers modificats UniqueThirdParties=Total de tercers únics InActivity=Actiu ActivityCeased=Tancat ProductsIntoElements=Llistat de productes/serveis en %s CurrentOutstandingBill=Factura pendent actual OutstandingBill=Max. de factures pendents -OutstandingBillReached=Max. for outstanding bill reached +OutstandingBillReached=S'ha arribat al màx. de factures pendents MonkeyNumRefModelDesc=Retorna un número sota el format %syymm-nnnn per als codis de clients i %syymm-nnnn per als codis dels proveïdors, on yy és l'any, mm el mes i nnnn un comptador seqüencial sense ruptura i sense tornar a 0. LeopardNumRefModelDesc=Codi de client/proveïdor lliure sense verificació. Pot ser modificat en qualsevol moment. ManagingDirectors=Nom del gerent(s) (CEO, director, president ...) @@ -388,6 +390,6 @@ MergeOriginThirdparty=Duplicar tercer (tercer que vols eliminar) MergeThirdparties=Fusionar tercers ConfirmMergeThirdparties=Estàs segur que vols fusionar aquest tercer amb l'actual? Tots els objectes relacionats (factures, comandes, ...) serán mogudes al tercer actual i el duplicat serà esborrat. ThirdpartiesMergeSuccess=Els tercers han sigut fusionats -SaleRepresentativeLogin=Login of sales representative +SaleRepresentativeLogin=Nom d'usuari de l'agent comercial SaleRepresentativeFirstname=Nom de l'agent comercial SaleRepresentativeLastname=Cognoms de l'agent comercial diff --git a/htdocs/langs/ca_ES/compta.lang b/htdocs/langs/ca_ES/compta.lang index e549f10ad90..b724a32d261 100644 --- a/htdocs/langs/ca_ES/compta.lang +++ b/htdocs/langs/ca_ES/compta.lang @@ -77,9 +77,9 @@ LT1PaymentES=Pagament de RE LT1PaymentsES=Pagaments de RE LT2PaymentES=Pagament IRPF LT2PaymentsES=Pagaments IRPF -VATPayment=Sales tax payment -VATPayments=Sales tax payments -VATRefund=Sales tax refund Refund +VATPayment=Pagament d'impost de vendes +VATPayments=Pagaments d'impost de vendes +VATRefund=IVA en devolucions de vendes Refund=Devolució SocialContributionsPayments=Pagaments d'impostos varis ShowVatPayment=Veure pagaments IVA @@ -97,11 +97,11 @@ ByThirdParties=Per tercer ByUserAuthorOfInvoice=Per autor de la factura CheckReceipt=Llista de remeses CheckReceiptShort=Remeses -LastCheckReceiptShort=Latest %s check receipts +LastCheckReceiptShort=Últimes %s remeses NewCheckReceipt=Nova remesa NewCheckDeposit=Nou ingrés NewCheckDepositOn=Crear nova remesa al compte: %s -NoWaitingChecks=No checks awaiting deposit. +NoWaitingChecks=Sense xecs en espera de l'ingrés. DateChequeReceived=Data recepció del xec NbOfCheques=N º de xecs PaySocialContribution=Pagar un impost varis @@ -197,6 +197,6 @@ BasedOnTwoFirstLettersOfVATNumberBeingDifferentFromYourCompanyCountry=Basat en l SameCountryCustomersWithVAT=Informe de clients nacionals BasedOnTwoFirstLettersOfVATNumberBeingTheSameAsYourCompanyCountry=Basat en les dues primeres lletres del CIF que són iguals del codi de país de la teva empresa LinkedFichinter=Enllaça a una intervenció -ImportDataset_tax_contrib=Import social/fiscal taxes -ImportDataset_tax_vat=Import vat payments -ErrorBankAccountNotFound=Error: Bank account not found +ImportDataset_tax_contrib=Import dels impostos varis +ImportDataset_tax_vat=Import de pagaments d'IVA +ErrorBankAccountNotFound=Error: no s'ha trobat el compte bancari diff --git a/htdocs/langs/ca_ES/contracts.lang b/htdocs/langs/ca_ES/contracts.lang index 65614dd05cb..cbddc29d2a4 100644 --- a/htdocs/langs/ca_ES/contracts.lang +++ b/htdocs/langs/ca_ES/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=No expirat ServiceStatusLate=En servei, expirat ServiceStatusLateShort=Expirat ServiceStatusClosed=Tancat +ShowContractOfService=Mostra el contracte del servei Contracts=Contractes ContractsSubscriptions=Contractes/Subscripcions ContractsAndLine=Contractes i línia de contractes @@ -50,7 +51,7 @@ ListOfRunningServices=Llistat de serveis actius NotActivatedServices=Serveis no activats (amb els contractes validats) BoardNotActivatedServices=Serveis a activar amb els contractes validats LastContracts=Els últims %s contractes -LastModifiedServices=Latest %s modified services +LastModifiedServices=Últims %s serveis modificats ContractStartDate=Data inici ContractEndDate=Data finalització DateStartPlanned=Data prevista posada en servei diff --git a/htdocs/langs/ca_ES/cron.lang b/htdocs/langs/ca_ES/cron.lang index ab5c2cd07e3..56ff41e9c3b 100644 --- a/htdocs/langs/ca_ES/cron.lang +++ b/htdocs/langs/ca_ES/cron.lang @@ -31,8 +31,8 @@ CronNone=Ningún CronDtStart=No abans CronDtEnd=No després CronDtNextLaunch=Propera execució -CronDtLastLaunch=Start date of latest execution -CronDtLastResult=End date of latest execution +CronDtLastLaunch=Data d'inici de l'última execució +CronDtLastResult=Data del final de l'última execució CronFrequency=Freqüència CronClass=Classe CronMethod=Mètod @@ -49,7 +49,7 @@ CronAdd= Afegir una tasca CronEvery=Executa cada tasca CronObject=Instància/Objecte a crear CronArgs=Argument -CronSaveSucess=Save successfully +CronSaveSucess=S'ha desat correctament CronNote=Nota CronFieldMandatory=El camp %s és obligatori CronErrEndDateStartDt=La data de fi no pot ser anterior a la d'inici diff --git a/htdocs/langs/ca_ES/donations.lang b/htdocs/langs/ca_ES/donations.lang index 37ac51b0562..4c89978f952 100644 --- a/htdocs/langs/ca_ES/donations.lang +++ b/htdocs/langs/ca_ES/donations.lang @@ -21,7 +21,7 @@ DonationDatePayment=Data de pagament ValidPromess=Validar promesa DonationReceipt=Rebut de donació DonationsModels=Models de documents de rebuts de donacions -LastModifiedDonations=Latest %s modified donations +LastModifiedDonations=Últimes %s donacions modificades DonationRecipient=Beneficiari IConfirmDonationReception=El beneficiari confirma la recepció, com a donació, de la següent quantitat MinimumAmount=L'import mínim és %s diff --git a/htdocs/langs/ca_ES/errors.lang b/htdocs/langs/ca_ES/errors.lang index ac50ab5ff01..9b5720605ed 100644 --- a/htdocs/langs/ca_ES/errors.lang +++ b/htdocs/langs/ca_ES/errors.lang @@ -39,7 +39,7 @@ ErrorBadDateFormat=El valor '%s' té un format de data no reconegut ErrorWrongDate=La data no es correcta! ErrorFailedToWriteInDir=No es pot escriure a la carpeta %s ErrorFoundBadEmailInFile=Trobada sintaxi incorrecta en email a %s línies en fitxer (exemple linia %s amb email=%s) -ErrorUserCannotBeDelete=User cannot be deleted. May be it is associated to Dolibarr entities. +ErrorUserCannotBeDelete=No es pot eliminar l'usuari. És possible que estigui relacionat amb entitats de Dolibarr. ErrorFieldsRequired=No s'han indicat alguns camps obligatoris ErrorFailedToCreateDir=Error en la creació d'una carpeta. Comprovi que l'usuari del servidor web té drets d'escriptura en les carpetes de documents de Dolibarr. Si el paràmetre safe_mode està actiu en aquest PHP, Comproveu que els fitxers php dolibarr pertanyen a l'usuari del servidor web. ErrorNoMailDefinedForThisUser=E-Mail no definit per a aquest usuari @@ -123,7 +123,7 @@ ErrorNewValueCantMatchOldValue=El Nou valor no pot ser igual al antic ErrorFailedToValidatePasswordReset=No s'ha pogut restablir la contrasenya. És possible que aquest enllaç ja s'hagi utilitzat (aquest enllaç només es pot utilitzar una vegada). Si no és el cas prova de reiniciar el procés de restabliment de contrasenya des del principi. ErrorToConnectToMysqlCheckInstance=Error de connexió amb el servidor de la base de dades. Comprovi que MySQL està funcionant (en la majoria dels casos, pot executar des de la línia d'ordres utilitzant el comandament 'etc sudo /etc/ init.d/mysql start). ErrorFailedToAddContact=Error en l'addició del contacte -ErrorDateMustBeBeforeToday=The date cannot be greater than today +ErrorDateMustBeBeforeToday=La data no pot ser més gran que avui ErrorPaymentModeDefinedToWithoutSetup=S'ha establert la forma de pagament al tipus %s però a la configuració del mòdul de factures no s'ha indicat la informació per mostrar aquesta forma de pagament. ErrorPHPNeedModule=Error, el seu PHP ha de tenir instal·lat el mòdul %s per utilitzar aquesta funcionalitat. ErrorOpenIDSetupNotComplete=Ha configurat Dolibarr per acceptar l'autentificació OpenID, però la URL del servei OpenID no es troba definida a la constant %s @@ -168,12 +168,12 @@ ErrorBadDefinitionOfMenuArrayInModuleDescriptor=Definició incorrecta del menú ErrorSavingChanges=Hi ha hagut un error al salvar els canvis ErrorWarehouseRequiredIntoShipmentLine=El magatzem és obligatori en la línia a enviar ErrorFileMustHaveFormat=El fitxer té format %s -ErrorSupplierCountryIsNotDefined=Country for this supplier is not defined. Correct this first. -ErrorsThirdpartyMerge=Failed to merge the two records. Request canceled. -ErrorStockIsNotEnoughToAddProductOnOrder=Stock is not enougth for product %s to add it into a new order. -ErrorStockIsNotEnoughToAddProductOnInvoice=Stock is not enougth for product %s to add it into a new invoice. -ErrorStockIsNotEnoughToAddProductOnShipment=Stock is not enougth for product %s to add it into a new shipment. -ErrorStockIsNotEnoughToAddProductOnProposal=Stock is not enougth for product %s to add it into a new proposal. +ErrorSupplierCountryIsNotDefined=El país d'aquest proveïdor no està definit. Corregeix-lo primer. +ErrorsThirdpartyMerge=No es poden combinar els dos registres. Petició cancelada. +ErrorStockIsNotEnoughToAddProductOnOrder=No hi ha suficient estoc del producte %s per afegir-ho en una nova comanda. +ErrorStockIsNotEnoughToAddProductOnInvoice=No hi ha suficient estoc del producte %s per afegir-ho en una nova factura. +ErrorStockIsNotEnoughToAddProductOnShipment=No hi ha suficient estoc del producte %s per afegir-ho en una nova entrega. +ErrorStockIsNotEnoughToAddProductOnProposal=No hi ha suficient estoc del producte %s per afegir-ho en un nou pressupost # Warnings WarningPasswordSetWithNoAccount=S'ha indicat una contrasenya per aquest soci. En canvi, no s'ha creat cap compte d'usuari, de manera que aquesta contrasenya s'ha desat però no pot ser utilitzada per entrar a Dolibarr. Es pot utilitzar per un mòdul/interfície extern, però si no cal definir cap usuari i contrasenya per un soci, pots deshabilitar la opció "Gestiona l'entrada per tots els socis" des de la configuració del mòdul Socis. Si necessites gestionar una entrada sense contrasenya, pots mantenir aquest camp buit i permetre aquest avís. Nota: El correu electrònic es pot utilitzar per entrar si el soci està enllaçat a un usuarí @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=La configuració de ClickToDial per al co WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Funcionalitat desactivada quant la configuració de visualització és optimitzada per a persones cegues o navegadors de text. WarningPaymentDateLowerThanInvoiceDate=La data de pagament (%s) és anterior a la data (%s) de la factura %s. WarningTooManyDataPleaseUseMoreFilters=Massa dades (més de %s línies). Utilitza més filtres o indica la constant %s amb un límit superior. -WarningSomeLinesWithNullHourlyRate=Algunes vegades van ser registrats pels usuaris quan no s'havia definit el seu preu per hora. Es va utilitzar un valor de 0, però això pot resultar en una valoració equivocada del temps dedicat. +WarningSomeLinesWithNullHourlyRate=Algunes vegades es van registrar per alguns usuaris quan no s'havia definit el seu preu per hora. Es va utilitzar un valor de 0 %s per hora, però això pot resultar una valoració incorrecta del temps dedicat. WarningYourLoginWasModifiedPleaseLogin=El teu login s'ha modificat. Per seguretat has de fer login amb el nou login abans de la següent acció. diff --git a/htdocs/langs/ca_ES/holiday.lang b/htdocs/langs/ca_ES/holiday.lang index 968c9e35646..b7939f4950e 100644 --- a/htdocs/langs/ca_ES/holiday.lang +++ b/htdocs/langs/ca_ES/holiday.lang @@ -72,16 +72,16 @@ NewSoldeCP=Nou saldo alreadyCPexist=Ha s'ha efectuat una petició de dies lliures per aquest periode FirstDayOfHoliday=Primer dia lliure LastDayOfHoliday=Últim dia de vacances -BoxTitleLastLeaveRequests=Latest %s modified leave requests +BoxTitleLastLeaveRequests=Últimes %s peticions de dies lliures modificades HolidaysMonthlyUpdate=Actualització mensual ManualUpdate=Actualització manual HolidaysCancelation=Anulació de dies lliures -EmployeeLastname=Employee lastname -EmployeeFirstname=Employee firstname +EmployeeLastname=Cognoms de l'empleat +EmployeeFirstname=Nom de l'empleat ## Configuration du Module ## -LastUpdateCP=Latest automatic update of leaves allocation -MonthOfLastMonthlyUpdate=Month of latest automatic update of leaves allocation +LastUpdateCP=Última actualització automàtica de reserva de dies lliures +MonthOfLastMonthlyUpdate=Mes de l'última actualització automàtica de reserva de dies lliures UpdateConfCPOK=Actualització efectuada correctament. Module27130Name= Gestió de dies lliures Module27130Desc= Gestió de dies lliures diff --git a/htdocs/langs/ca_ES/install.lang b/htdocs/langs/ca_ES/install.lang index 748adb71329..f3a9a31a716 100644 --- a/htdocs/langs/ca_ES/install.lang +++ b/htdocs/langs/ca_ES/install.lang @@ -76,7 +76,7 @@ SetupEnd=Fi de la configuració SystemIsInstalled=La instal·lació s'ha finalitzat. SystemIsUpgraded=S'ha actualitzat Dolibarr correctament. YouNeedToPersonalizeSetup=Ara ha de configurar Dolibarr segons les seves necessitats (Elecció de l'aparença, de les funcionalitats, etc). Per això, feu clic en el següent link: -AdminLoginCreatedSuccessfuly=Dolibarr administrator login '%s' created successfully. +AdminLoginCreatedSuccessfuly=El codi d'usuari administrador de Dolibar '%s' s'ha creat correctament. GoToDolibarr=Ves a Dolibarr GoToSetupArea=Ves a Dolibarr (àrea de configuració) MigrationNotFinished=La versió de la base de dades encara no està completament a nivell, per la qual cosa haureu de reiniciar una migració. @@ -86,6 +86,7 @@ DirectoryRecommendation=Es recomana posar aquesta carpeta fora de la carpeta de LoginAlreadyExists=Ja existeix DolibarrAdminLogin=Login de l'usuari administrador de Dolibarr AdminLoginAlreadyExists=El compte d'administrador Dolibarr '%s' ja existeix. Torneu enrere si voleu crear una altra. +FailedToCreateAdminLogin=No s'ha pogut crear el compte d'administrador de Dolibarr. WarningRemoveInstallDir=Atenció, per raons de seguretat, amb la finalitat de bloquejar un nou ús de les eines d'instal·lació/actualització, és aconsellable crear en el directori arrel de Dolibarr un arxiu anomenat install.lock en només lectura. FunctionNotAvailableInThisPHP=No disponible en aquest PHP ChoosedMigrateScript=Elecció de l'script de migració @@ -141,7 +142,7 @@ MigrationSupplierOrder=Migració de dades de les comandes a proveïdors MigrationProposal=Migració de dades de pressupostos MigrationInvoice=Migració de dades de les factures a clients MigrationContract=Migració de dades dels contractes -MigrationSuccessfullUpdate=Upgrade successfull +MigrationSuccessfullUpdate=Actualització correcta MigrationUpdateFailed=L'actualització ha fallat MigrationRelationshipTables=Migració de les taules de relació (%s) MigrationPaymentsUpdate=Actualització dels pagaments (vincle nn pagaments-factures) @@ -155,7 +156,7 @@ MigrationContractsLineCreation=Creació linia contracte per contracte Ref. %s MigrationContractsNothingToUpdate=No hi ha més contractes (vinculats a un producte) sense línies de detalls que hagin de corregir. MigrationContractsFieldDontExist=Els camps fk_facture no existeixen ja. No hi ha operació pendent. MigrationContractsEmptyDatesUpdate=Actualització de les dades de contractes no indicades -MigrationContractsEmptyDatesUpdateSuccess=Contract emtpy date correction done successfully +MigrationContractsEmptyDatesUpdateSuccess=S'ha fet correctament la correcció de la data buida de contracte MigrationContractsEmptyDatesNothingToUpdate=No hi ha més properes dates de contractes. MigrationContractsEmptyCreationDatesNothingToUpdate=No hi ha més properes dates de creació. MigrationContractsInvalidDatesUpdate=Actualització dades contracte incorrectes (per contractes amb detall en servei) @@ -163,7 +164,7 @@ MigrationContractsInvalidDateFix=Corregir contracte %s (data contracte=%s, Data MigrationContractsInvalidDatesNumber=%s contractes modificats MigrationContractsInvalidDatesNothingToUpdate=No hi ha més de contractes que hagin de corregir-se. MigrationContractsIncoherentCreationDateUpdate=Actualització de les dades de creació de contracte que tenen un valor incoherent -MigrationContractsIncoherentCreationDateUpdateSuccess=Bad value contract creation date correction done successfully +MigrationContractsIncoherentCreationDateUpdateSuccess=S'ha fet correctament la correcció del valor incorrecte en la data de creació de contracte MigrationContractsIncoherentCreationDateNothingToUpdate=No hi ha més dades de contractes. MigrationReopeningContracts=Reobertura dels contractes que tenen almenys un servei actiu no tancat MigrationReopenThisContract=Reobertura contracte %s @@ -187,4 +188,4 @@ MigrationEvents=Migració d'esdeveniments per afegir propietari a la taula d'asi MigrationReloadModule=Recarrega el mòdul %s ShowNotAvailableOptions=Mostra opcions no disponibles HideNotAvailableOptions=Amaga opcions no disponibles -ErrorFoundDuringMigration=Error were reported during migration process so next step is not available. To ignore errors, you can click here, but application or some features may not work correctly until fixed. +ErrorFoundDuringMigration=S'ha reportat un error durant el procés de migració, de manera que el proper pas no està disponible. Per ignorar els errors, pots fer clic aqui, però l'aplicació o algunes funcionalitats podrien no funcionar correctament fins que no es corregeixi. diff --git a/htdocs/langs/ca_ES/interventions.lang b/htdocs/langs/ca_ES/interventions.lang index 1e8bbb16957..1fa2e513868 100644 --- a/htdocs/langs/ca_ES/interventions.lang +++ b/htdocs/langs/ca_ES/interventions.lang @@ -6,7 +6,7 @@ NewIntervention=Nova intervenció AddIntervention=Crea intervenció ListOfInterventions=Llistat d'intervencions ActionsOnFicheInter=Esdeveniments sobre l'intervenció -LastInterventions=Latest %s interventions +LastInterventions=Últimes %s intervencions AllInterventions=Totes les intervencions CreateDraftIntervention=Crea esborrany InterventionContact=Contacte intervenció @@ -14,12 +14,12 @@ DeleteIntervention=Eliminar intervenció ValidateIntervention=Validar intervenció ModifyIntervention=Modificar intervenció DeleteInterventionLine=Eliminar línia d'intervenció -CloneIntervention=Clone intervention +CloneIntervention=Clona la intervenció ConfirmDeleteIntervention=Esteu segur de voler eliminar aquesta intervenció? ConfirmValidateIntervention=Esteu segur de voler validar aquesta intervenció sota la referència %s? ConfirmModifyIntervention=Esteu segur de voler modificar aquesta intervenció? ConfirmDeleteInterventionLine=Esteu segur de voler eliminar aquesta línia? -ConfirmCloneIntervention=Are you sure you want to clone this intervention ? +ConfirmCloneIntervention=Esteu segur de voler clonar aquesta intervenció ? NameAndSignatureOfInternalContact=Nom i signatura del participant: NameAndSignatureOfExternalContact=Nom i signatura del client: DocumentModelStandard=Document model estàndard per a intervencions @@ -39,7 +39,7 @@ InterventionSentByEMail=Intervenció %s enviada per email InterventionDeletedInDolibarr=Intevenció %s eliminada InterventionsArea=Àrea d'intervencions DraftFichinter=Intervencions esborrany -LastModifiedInterventions=Latest %s modified interventions +LastModifiedInterventions=Últimes %s intervencions modificades ##### Types de contacts ##### TypeContact_fichinter_external_CUSTOMER=Contacte client seguiment intervenció # Modele numérotation diff --git a/htdocs/langs/ca_ES/mailmanspip.lang b/htdocs/langs/ca_ES/mailmanspip.lang index d6a25206ada..f0b860515ce 100644 --- a/htdocs/langs/ca_ES/mailmanspip.lang +++ b/htdocs/langs/ca_ES/mailmanspip.lang @@ -3,8 +3,8 @@ MailmanSpipSetup=Configuració del mòdul Mailman i SPIP MailmanTitle=Sistema de llistes de correu Mailman TestSubscribe=Per comprovar la subscripció a llistes Mailman TestUnSubscribe=Per comprovar la cancel·lació de subscripcions a llistes Mailman -MailmanCreationSuccess=Subscription test was executed successfully -MailmanDeletionSuccess=Unsubscription test was executed successfully +MailmanCreationSuccess=La prova de subscripció s'ha executat correctament +MailmanDeletionSuccess=La prova de baixa de subscripció s'ha executat correctament SynchroMailManEnabled=Una actualització de Mailman ha d'efectuar-se SynchroSpipEnabled=Una actualització de Mailman ha d'efectuar-se DescADHERENT_MAILMAN_ADMINPW=Contrasenya d'administrador Mailman @@ -23,5 +23,5 @@ DeleteIntoSpip=Esborrar de SPIP DeleteIntoSpipConfirmation=Esteu segur de voler esborrar aquest membre del SPIP? DeleteIntoSpipError=S'ha produït un error en suprimir l'usuari del SPIP SPIPConnectionFailed=Error al connectar amb SPIP -SuccessToAddToMailmanList=%s successfully added to mailman list %s or SPIP database -SuccessToRemoveToMailmanList=%s successfully removed from mailman list %s or SPIP database +SuccessToAddToMailmanList=S'ha afegit %s correctament en la llista mailman %s o en la base de dades SPIP +SuccessToRemoveToMailmanList=S'ha eliminat %s correctament de la llista mailman %s o en la base de dades SPIP diff --git a/htdocs/langs/ca_ES/mails.lang b/htdocs/langs/ca_ES/mails.lang index 490da638ce4..9a281664623 100644 --- a/htdocs/langs/ca_ES/mails.lang +++ b/htdocs/langs/ca_ES/mails.lang @@ -60,7 +60,7 @@ CloneEMailing=Clonar E-Mailing ConfirmCloneEMailing=Esteu segur de voler clonar aquest e-mailing? CloneContent=Clonar missatge CloneReceivers=Clonar destinataris -DateLastSend=Date of latest sending +DateLastSend=Data de l'últim enviament DateSending=Data enviament SentTo=Enviat a %s MailingStatusRead=Llegit @@ -102,8 +102,8 @@ YouCanUseCommaSeparatorForSeveralRecipients=Podeu usar el caràcter de separaci TagCheckMail=Seguiment de l'obertura del email TagUnsubscribe=Link de Desubscripció TagSignature=Signatura de l'usuari remitent -EMailRecipient=Recipient EMail -TagMailtoEmail=Recipient EMail (including html "mailto:" link) +EMailRecipient=Email del destinatari +TagMailtoEmail=Email del destinatari (inclòs l'enllaç html "mailto:") NoEmailSentBadSenderOrRecipientEmail=No s'ha enviat el correu electrònic. Enviador del correu incorrecte. Verifica el perfil d'usuari. # Module Notifications Notifications=Notificacions @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=Cap notificació per e-mail està prevista per a aques ANotificationsWillBeSent=1 notificació serà enviada per e-mail SomeNotificationsWillBeSent=%s notificacions seran enviades per e-mail AddNewNotification=Activar una de notificació per correu electrònic -ListOfActiveNotifications=Llista de les sol·licituds de notificacions actives +ListOfActiveNotifications=Llista tots els destinataris actius per notificacions de correu electrònic ListOfNotificationsDone=Llista de notificacions d'e-mails enviades MailSendSetupIs=La configuració d'enviament d'e-mail s'ha ajustat a '%s'. Aquest mètode no es pot utilitzar per enviar e-mails massius. MailSendSetupIs2=Abans tindrà que, amb un compte d'administrador, en el menú %sinici - Configuració - E-Mails%s, camviar el paràmetre '%s' per usar el mètode '%s'. Amb aquest metode pot configurar un servidor SMTP del seu proveïdor de serveis d'internet. @@ -120,14 +120,14 @@ YouCanAlsoUseSupervisorKeyword=També pot afegir l'etiqueta __SUPERVISOR NbOfTargetedContacts=Número actual de contactes destinataris d'e-mails MailAdvTargetRecipients=Destinataris (selecció avançada) AdvTgtTitle=Omple els camps d'entrada per preseleccionar els tercers o contactes a marcar -AdvTgtSearchTextHelp=Use %% as magic caracters. For exemple to find all item like jean, joe, jim, you can input j%%, you can also use ; as separator for value, and use ! for except this value. For exemple jean;joe;jim%%;!jimo;!jima% will target all jean, joe, start with jim but not jimo and not everythnig taht start by jima +AdvTgtSearchTextHelp=Utilitza %% com a caràcter màgic. Per exemple per trobar tots els registres que siguin com josefina, jordina, joana pots posar jo%%. També pots utilitzar el separador ; pels valors, i utilitzar ! per excepcions de valors. Per exemple josefina;jordina;joa%%;!joan;!joaq% mostrarà totes les josefina, jordina, i els noms que comencin per joa excepte els joan i els que comencin per joaq AdvTgtSearchIntHelp=Utilitza un interval per seleccionar un valor enter o decimal AdvTgtMinVal=Valor mínim AdvTgtMaxVal=Valor màxim AdvTgtSearchDtHelp=Utilitza un interval per seleccionar el valor de la data AdvTgtStartDt=Dt. inici AdvTgtEndDt=Dt. final -AdvTgtTypeOfIncudeHelp=Target Email of thirdparty and email of contact of the thridparty, or just thridparty email or just contact email +AdvTgtTypeOfIncudeHelp=Correu electrònic de destí del tercer i correu electrònic del contacte del tercer, o només el correu electrònic del tercer o només el correu electrònic del contacte AdvTgtTypeOfIncude=Tipus de e-mail marcat AdvTgtContactHelp=Utilitza només si marques el contacte en "Tipus de e-mails marcats" AddAll=Afegeix tot diff --git a/htdocs/langs/ca_ES/main.lang b/htdocs/langs/ca_ES/main.lang index c15381432ca..3c99aa3b7a3 100644 --- a/htdocs/langs/ca_ES/main.lang +++ b/htdocs/langs/ca_ES/main.lang @@ -36,8 +36,8 @@ ErrorFieldRequired=El camp '%s' és obligatori ErrorFieldFormat=El camp '%s' té un valor incorrecte ErrorFileDoesNotExists=El arxiu %s no existeix ErrorFailedToOpenFile=Impossible obrir el fitxer %s -ErrorCanNotCreateDir=Cannot create dir %s -ErrorCanNotReadDir=Cannot read dir %s +ErrorCanNotCreateDir=No es pot crear el directori %s +ErrorCanNotReadDir=No es pot llegir el directori %s ErrorConstantNotDefined=Parámetre %s no definit ErrorUnknown=Error desconegut ErrorSQL=Error de SQL @@ -70,7 +70,7 @@ BackgroundColorByDefault=Color de fons FileUploaded=L'arxiu s'ha carregat correctament FileWasNotUploaded=Un arxiu ha estat seleccionat per adjuntar, però encara no ha estat pujat. Feu clic a "Adjuntar aquest arxiu" per a això. NbOfEntries=Nº d'entrades -GoToWikiHelpPage=Read online help (Internet access needed) +GoToWikiHelpPage=Llegeix l'ajuda online (cal tenir accés a internet) GoToHelpPage=Consultar l'ajuda RecordSaved=Registre guardat RecordDeleted=Registre eliminat @@ -84,16 +84,17 @@ SeeAbove=Esmentar anteriorment HomeArea=Àrea inici LastConnexion=Última connexió PreviousConnexion=Connexió anterior +PreviousValue=Valor anterior ConnectedOnMultiCompany=Connexió a l'entitat ConnectedSince=Connectat des AuthenticationMode=Mode autentificació RequestedUrl=Url solicitada DatabaseTypeManager=Tipus de gestor de base de dades -RequestLastAccessInError=Latest database access request error -ReturnCodeLastAccessInError=Return code for latest database access request error -InformationLastAccessInError=Information for latest database access request error +RequestLastAccessInError=Últimes peticions d'accés a la base de dades amb error +ReturnCodeLastAccessInError=Retorna el codi per les últimes peticions d'accés a la base de dades amb error +InformationLastAccessInError=Informació de les últimes peticions d'accés a la base de dades amb error DolibarrHasDetectedError=Dolibarr ha trobat un error tècnic -InformationToHelpDiagnose=This information can be useful for diagnostic +InformationToHelpDiagnose=Aquesta informació pot ser útil per un diagnòstic MoreInformation=Més informació TechnicalInformation=Informació tècnica TechnicalID=ID Tècnic @@ -133,7 +134,7 @@ RemoveLink=Elimina enllaç AddToDraft=Afegeix a esborrany Update=Modificar Close=Tancar -CloseBox=Remove widget from your dashboard +CloseBox=Elimina el panell de la taula de control Confirm=Confirmar ConfirmSendCardByMail=ConfirmSendCardByMail=Vol enviar el contingut d'aquesta fitxa per e-mail a l'adreça %s? Delete=Eliminar @@ -177,7 +178,7 @@ Groups=Grups NoUserGroupDefined=Grup d'usuari no definit Password=Contrasenya PasswordRetype=Repetir contrasenya -NoteSomeFeaturesAreDisabled=Note that a lot of features/modules are disabled in this demonstration. +NoteSomeFeaturesAreDisabled=Tingues en compte que molts mòduls i funcionalitats estan deshabilitats en aquesta demostració. Name=Nom Person=Persona Parameter=Paràmetre @@ -440,8 +441,8 @@ LateDesc=El retard que defineix si un registre arriba tard o no depèn de la con Photo=Foto Photos=Fotos AddPhoto=Afegir foto -DeletePicture=Picture delete -ConfirmDeletePicture=Confirm picture deletion? +DeletePicture=Elimina la imatge +ConfirmDeletePicture=Confirmes l'eliminació de la imatge? Login=Login CurrentLogin=Login actual January=gener @@ -501,7 +502,7 @@ ReportName=Nom de l'informe ReportPeriod=Període d'anàlisi ReportDescription=Descripció Report=Informe -Keyword=Keyword +Keyword=Paraula clau Legend=Llegenda Fill=Omplir Reset=Buidar @@ -517,8 +518,8 @@ FindBug=Avisa d'un error NbOfThirdParties=Número de tercers NbOfLines=Números de línies NbOfObjects=Nombre d'objectes -NbOfObjectReferers=Number of related items -Referers=Related items +NbOfObjectReferers=Número de registres relacionats +Referers=Registres relacionats TotalQuantity=Quantitat total DateFromTo=De %s a %s DateFrom=A partir de %s @@ -553,7 +554,7 @@ Priority=Prioritat SendByMail=Envia per e-mail MailSentBy=Mail enviat per TextUsedInTheMessageBody=Text utilitzat en el cos del missatge -SendAcknowledgementByMail=Send confirmation email +SendAcknowledgementByMail=Envia el correu electrònic de confirmació EMail=Correu electrònic NoEMail=Sense e-mail NoMobilePhone=Sense mòbil @@ -568,7 +569,7 @@ RecordModifiedSuccessfully=Registre modificat amb èxit RecordsModified=%s registres modificats AutomaticCode=Creació automàtica de codi FeatureDisabled=Funció desactivada -MoveBox=Move widget +MoveBox=Mou el panell Offered=Oferta NotEnoughPermissions=No té autorització per aquesta acció SessionName=Nom sesió @@ -693,11 +694,11 @@ Sincerely=Sincerament DeleteLine=Elimina la línia ConfirmDeleteLine=Esteu segur de voler eliminar aquesta línia ? NoPDFAvailableForDocGenAmongChecked=No hi havia PDF disponibles per la generació de document entre els registres validats. -TooManyRecordForMassAction=Too many records selected for mass action. The action is restricted to a list of %s records. +TooManyRecordForMassAction=S'ha seleccionat massa registres per a l'acció massiva. L'acció està restringida a una llista de %s registres. MassFilesArea=Àrea de fitxers generats per accions massives ShowTempMassFilesArea=Mostra l'àrea de fitxers generats per accions massives RelatedObjects=Objectes relacionats -ClassifyBilled=Classify billed +ClassifyBilled=Classificar facturat Progress=Progrés ClickHere=Fes clic aquí # Week day @@ -744,7 +745,7 @@ SearchIntoMembers=Socis SearchIntoUsers=Usuaris SearchIntoProductsOrServices=Productes o serveis SearchIntoProjects=Projectes -SearchIntoTasks=Tasks +SearchIntoTasks=Tasques SearchIntoCustomerInvoices=Factures a clients SearchIntoSupplierInvoices=Factures de proveïdors SearchIntoCustomerOrders=Comandes de clients @@ -755,4 +756,4 @@ SearchIntoInterventions=Intervencions SearchIntoContracts=Contractes SearchIntoCustomerShipments=Enviaments de client SearchIntoExpenseReports=Informes de despeses -SearchIntoLeaves=Leaves +SearchIntoLeaves=Dies lliures diff --git a/htdocs/langs/ca_ES/members.lang b/htdocs/langs/ca_ES/members.lang index 9b76ad4fe03..8000f3fc3b5 100644 --- a/htdocs/langs/ca_ES/members.lang +++ b/htdocs/langs/ca_ES/members.lang @@ -93,13 +93,13 @@ EnablePublicSubscriptionForm=Activar el formulari públic d'auto-inscripció ExportDataset_member_1=Socis i quotes ImportDataset_member_1=Socis LastMembersModified=Els últims %s socis modificats -LastSubscriptionsModified=Latest %s modified subscriptions +LastSubscriptionsModified=Últimes %s subscripcions modificades String=Cadena Text=Text llarg Int=Enter DateAndTime=Data i hora PublicMemberCard=Fitxa pública de soci -SubscriptionNotRecorded=Subscription not recorded +SubscriptionNotRecorded=Subscripció no registrada AddSubscription=Crear afiliació ShowSubscription=Mostrar afiliació SendAnEMailToMember=Envia e-mail d'informació al soci diff --git a/htdocs/langs/ca_ES/oauth.lang b/htdocs/langs/ca_ES/oauth.lang index 02b572cd47a..1e2e5131bfc 100644 --- a/htdocs/langs/ca_ES/oauth.lang +++ b/htdocs/langs/ca_ES/oauth.lang @@ -12,4 +12,4 @@ ListOfSupportedOauthProviders=Entra les credencials donades pel teu proveïdor O OAUTH_GOOGLE_NAME=Api Google OAUTH_GOOGLE_ID=Api Google Id OAUTH_GOOGLE_SECRET=Api Google Secret -OAUTH_GOOGLE_DESC=Go on this page then Credentials to create Oauth credentials +OAUTH_GOOGLE_DESC=Ves a aquesta pàgina, i després a Credentials per crear les credencials Oauth diff --git a/htdocs/langs/ca_ES/orders.lang b/htdocs/langs/ca_ES/orders.lang index 1e75dd70da0..f9b1d028550 100644 --- a/htdocs/langs/ca_ES/orders.lang +++ b/htdocs/langs/ca_ES/orders.lang @@ -73,10 +73,10 @@ OrdersOpened=Comandes a processar NoDraftOrders=Sense comandes esborrany NoOrder=Sense comanda NoSupplierOrder=Sense comanda a proveïdor -LastOrders=Latest %s customer orders -LastCustomerOrders=Latest %s customer orders -LastSupplierOrders=Latest %s supplier orders -LastModifiedOrders=Latest %s modified orders +LastOrders=Últimes %s comandes de client +LastCustomerOrders=Últimes %s comandes de client +LastSupplierOrders=Últimes %s comandes de proveïdor +LastModifiedOrders=Últimes %s comandes modificades AllOrders=Totes les comandes NbOfOrders=Nombre de comandes OrdersStatistics=Estadístiques de comandes @@ -97,8 +97,8 @@ DraftOrders=Comandes esborrany DraftSuppliersOrders=Comandes a proveïdors esborrany OnProcessOrders=Comandes en procés RefOrder=Ref. comanda -RefCustomerOrder=Ref. order for customer -RefOrderSupplier=Ref. order for supplier +RefCustomerOrder=Ref. comanda pel client +RefOrderSupplier=Ref. comanda pel proveïdor SendOrderByMail=Envia comanda per e-mail ActionsOnOrder=Esdeveniments sobre la comanda NoArticleOfTypeProduct=No hi ha articles de tipus 'producte' i per tant enviables en aquesta comanda diff --git a/htdocs/langs/ca_ES/other.lang b/htdocs/langs/ca_ES/other.lang index dc88b9ee0b0..45bcba3b469 100644 --- a/htdocs/langs/ca_ES/other.lang +++ b/htdocs/langs/ca_ES/other.lang @@ -3,9 +3,9 @@ SecurityCode=Codi de seguretat Calendar=Calendari NumberingShort=N° Tools=Utilitats -ToolsDesc=All miscellaneous tools not included in other menu entries are collected here.

All the tools can be reached in the left menu. +ToolsDesc=Totes les útilitats vàries no incloses en altres entrades de menú estan recollides aquí.

Totes les utilitats es poden trobar en el menú de l'esquerra. Birthday=Aniversari -BirthdayDate=Birthday date +BirthdayDate=Data d'aniversari DateToBirth=Data de naixement BirthdayAlertOn=alerta aniversari activada BirthdayAlertOff=alerta aniversari desactivada @@ -69,8 +69,8 @@ PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nAquí tens la fac PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nLi adjuntem l'enviament __SHIPPINGREF__\n\n__PERSONALIZED__Cordialment\n\n__SIGNATURE__ PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nLi adjuntem l'intervenció __FICHINTERREF__\n\n__PERSONALIZED__Cordialment\n\n__SIGNATURE__ PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ -DemoDesc=Dolibarr is a compact ERP/CRM supporting several functional modules. A demo showcasing all modules makes no sense as this scenario never occurs. So, several demo profiles are available. -ChooseYourDemoProfil=Choose the demo profile that best suits your needs... +DemoDesc=Dolibarr és un ERP/CRM compacte que suporta múltiples mòduls funcionals. Una demostració amb tots els mòduls no té gaire sentit ja que és un escenari que no passa mai. Per tant, hi ha disponibles diferents perfils de demostració. +ChooseYourDemoProfil=Selecciona el perfil de demo que cobreixi millor les teves necessitats... DemoFundation=Gestió de socis d'una entitat DemoFundation2=Gestió de socis i tresoreria d'una entitat DemoCompanyServiceOnly=Gestió d'un treballador per compte propi realitzant serveis @@ -82,19 +82,19 @@ ModifiedBy=Modificat per %s ValidatedBy=Validat per %s ClosedBy=Tancat per %s CreatedById=ID d'usuari que ha creat -ModifiedById=User id who made latest change +ModifiedById=Id de l'usuari que ha fet l'últim canvi ValidatedById=ID d'usuari que a validat CanceledById=ID d'usuari que ha cancel·lat ClosedById=ID d'usuari que a tancat CreatedByLogin=Login d'usuari que a creat -ModifiedByLogin=User login who made latest change +ModifiedByLogin=Codi d'usuari que ha fet l'últim canvi ValidatedByLogin=Login d'usuari que ha validat CanceledByLogin=Login d'usuari que ha cancel·lat ClosedByLogin=Login d'usuari que a tancat FileWasRemoved=L'arxiu %s s'ha eliminat DirWasRemoved=La carpeta %s s'ha eliminat -FeatureNotYetAvailable=Feature not yet available in the current version -FeaturesSupported=Supported features +FeatureNotYetAvailable=Funcionalitat encara no disponible en aquesta versió +FeaturesSupported=Característiques disponibles Width=llarg Height=alt Depth=fons @@ -105,7 +105,7 @@ Right=Dreta CalculatedWeight=Pes calculat CalculatedVolume=Volume calculat Weight=Pes -WeightUnitton=tonne +WeightUnitton=tona WeightUnitkg=kg WeightUnitg=g WeightUnitmg=mg @@ -140,25 +140,25 @@ SizeUnitinch=polzada SizeUnitfoot=peu SizeUnitpoint=punt BugTracker=Incidències -SendNewPasswordDesc=This form allows you to request a new password. It will be sent to your email address.
Change will become effective once you click on the confirmation link in the email.
Check your inbox. +SendNewPasswordDesc=Aquest formulari permet demanar una nova contrasenya que s'enviarà a la teva adreça de correu electrònic
El canvi es farà efectiu un cop facis clic en l'enllaç de confirmació del correu electrònic.
Revisa el teu correu electrònic. BackToLoginPage=Tornar a la pàgina de connexió -AuthenticationDoesNotAllowSendNewPassword=Authentication mode is %s.
In this mode, Dolibarr can't know nor change your password.
Contact your system administrator if you want to change your password. -EnableGDLibraryDesc=Install or enable GD library on your PHP installation to use this option. +AuthenticationDoesNotAllowSendNewPassword=El mode d'autenticació és %s.
En aquest mode Dolibarr no pot conèixer ni modificar la teva contrasenya
Contacta amb el teu administrador del sistema si vols canviar la contrasenya. +EnableGDLibraryDesc=Instala o habilita la llibreria GD en la teva instal·lació PHP per poder utilitzar aquesta opció. ProfIdShortDesc=Prof Id %s és una informació que depèn del país del tercer.
Per exemple, per al país %s, és el codi %s. DolibarrDemo=Demo de Dolibarr ERP/CRM StatsByNumberOfUnits=Estadístiques en nombre d'unitats de producte/servei StatsByNumberOfEntities=Estadístiques en nombre d'identitats referents -NumberOfProposals=Number of proposals in past 12 months -NumberOfCustomerOrders=Number of customer orders in past 12 months -NumberOfCustomerInvoices=Number of customer invoices in past 12 months -NumberOfSupplierProposals=Number of supplier proposals in past 12 months -NumberOfSupplierOrders=Number of supplier orders in past 12 months -NumberOfSupplierInvoices=Number of supplier invoices in past 12 months +NumberOfProposals=Número de pressupostos en els passats 12 mesos +NumberOfCustomerOrders=Número de comandes de client en els passats 12 mesos +NumberOfCustomerInvoices=Número de factures de client en els passats 12 mesos +NumberOfSupplierProposals=Número de pressupostos de proveïdor en els passats 12 mesos +NumberOfSupplierOrders=Número de comandes de proveïdor en els passats 12 mesos +NumberOfSupplierInvoices=Número de factures de proveïdor en els passats 12 mesos NumberOfUnitsProposals=Nombre d'unitats en pressupostos en els darrers 12 mesos NumberOfUnitsCustomerOrders=Nombre d'unitats en comandes a clients en els darrers 12 mesos NumberOfUnitsCustomerInvoices=Nombre d'unitats en factures a clients en els darrers 12 mesos -NumberOfUnitsSupplierProposals=Number of units on supplier proposals in past 12 months -NumberOfUnitsSupplierOrders=Number of units on supplier orders in past 12 months +NumberOfUnitsSupplierProposals=Número d'unitats en pressupostos de proveïdor en els passats 12 mesos +NumberOfUnitsSupplierOrders=Número d'unitats en comandes de proveïdor en els passats 12 mesos NumberOfUnitsSupplierInvoices=Nombre d'unitats en factures de proveïdors en els darrers 12 mesos EMailTextInterventionAddedContact=La nova intervenció %s t'ha sigut assignada. EMailTextInterventionValidated=Fitxa intervenció %s validada @@ -216,8 +216,8 @@ MemberResiliatedInDolibarr=Soci %s donat de baixa MemberDeletedInDolibarr=Soci %s eliminat MemberSubscriptionAddedInDolibarr=Subscripció del soci %s afegida ShipmentValidatedInDolibarr=Expedició %s validada -ShipmentClassifyClosedInDolibarr=Shipment %s classify billed -ShipmentUnClassifyCloseddInDolibarr=Shipment %s classify reopened +ShipmentClassifyClosedInDolibarr=Entrega %s classificada com a facturada +ShipmentUnClassifyCloseddInDolibarr=Entrega %s classificada com a reoberta ShipmentDeletedInDolibarr=Expedició %s eliminada ##### Export ##### Export=Exportació diff --git a/htdocs/langs/ca_ES/printing.lang b/htdocs/langs/ca_ES/printing.lang index fae480781f5..eae624cd552 100644 --- a/htdocs/langs/ca_ES/printing.lang +++ b/htdocs/langs/ca_ES/printing.lang @@ -51,5 +51,5 @@ IPP_Supported=Tipus de comunicació DirectPrintingJobsDesc=Aquesta pàgina llista els treballs de impressió torbats per a les impressores disponibles. GoogleAuthNotConfigured=No s'ha configurat Google OAuth. Habilita el mòdul OAuth i indica un Google ID/Secret. GoogleAuthConfigured=S'han trobat les credencials Google OAuth en la configuració del mòdul OAuth. -PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. -PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PrintingDriverDescprintgcp=Variables de configuració del driver d'impressió Google Cloud Print. +PrintTestDescprintgcp=Llista d'impressores per Google Cloud Print diff --git a/htdocs/langs/ca_ES/products.lang b/htdocs/langs/ca_ES/products.lang index 9fc131ae37d..0130acf7baa 100644 --- a/htdocs/langs/ca_ES/products.lang +++ b/htdocs/langs/ca_ES/products.lang @@ -32,8 +32,8 @@ ServicesOnSellAndOnBuy=Serveis en venda o de compra LastModifiedProductsAndServices=Els últims %s productes/serveis modificats LastRecordedProducts=Els últims %s productes registrats LastRecordedServices=Els últims %s serveis registrats -CardProduct0=Product card -CardProduct1=Service card +CardProduct0=Fitxa de producte +CardProduct1=Fitxa de servei Stock=Stock Stocks=Stocks Movements=Moviments @@ -85,7 +85,7 @@ SetDefaultBarcodeType=Indica el tipus de codi de barres BarcodeValue=Valor del codi de barres NoteNotVisibleOnBill=Nota (no visible en les factures, pressupostos, etc.) ServiceLimitedDuration=Si el servei és de durada limitada: -MultiPricesAbility=Several segment of prices per product/service (each customer is in one segment) +MultiPricesAbility=Diversos nivells de preus per producte/servei (cada client està en un nivell) MultiPricesNumPrices=Nº de preus AssociatedProductsAbility=Activa l'atribut de productes compostos AssociatedProducts=Producte compost @@ -176,13 +176,13 @@ AlwaysUseNewPrice=Utilitzar sempre el preu actual AlwaysUseFixedPrice=Utilitzar el preu fixat PriceByQuantity=Preus diferents per quantitat PriceByQuantityRange=Rang de quantitats -MultipriceRules=Price segment rules -UseMultipriceRules=Use price segment rules (defined into product module setup) to autocalculate prices of all other segment according to first segment +MultipriceRules=Regles de nivell de preu +UseMultipriceRules=Utilitza les regles de preu per nivell (definit en la configuració del mòdul de productes) per autocalcular preus dels altres nivells en funció del primer nivell PercentVariationOver=%% variació sobre %s PercentDiscountOver=%% descompte sobre %s ### composition fabrication Build=Fabricar -ProductsMultiPrice=Products and prices for each price segment +ProductsMultiPrice=Productes i preus per cada nivell de preu ProductsOrServiceMultiPrice=Preus de client (productes o serveis, multi-preus) ProductSellByQuarterHT=Facturació de productes trimestral abans d'impostos ServiceSellByQuarterHT=Facturació de serveis trimestral abans d'impostos @@ -203,9 +203,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definir el tipus o valor de codi de BarCodeDataForProduct=Informació del codi de barres del producte %s: BarCodeDataForThirdparty=informació del codi de barres del tercer %s: ResetBarcodeForAllRecords=Definir codis de barres per tots els registres (pica els valors de codis de barres ja registrats) -PriceByCustomer=Different prices for each customer -PriceCatalogue=A single sell price per product/service -PricingRule=Rules for sell prices +PriceByCustomer=Preus diferents per cada client +PriceCatalogue=Un preu de venda simple per producte/servei +PricingRule=Regles per preus de venda AddCustomerPrice=Afegir preus per client ForceUpdateChildPriceSoc=Indica el mateix preu a les filials dels clients PriceByCustomerLog=Registre de preus de clients anteriors diff --git a/htdocs/langs/ca_ES/projects.lang b/htdocs/langs/ca_ES/projects.lang index 8451f8c4a50..c9421286b4c 100644 --- a/htdocs/langs/ca_ES/projects.lang +++ b/htdocs/langs/ca_ES/projects.lang @@ -11,8 +11,10 @@ SharedProject=Projecte compartit PrivateProject=Contactes del projecte MyProjectsDesc=Aquesta vista està limitada als projectes en que estàs com a contacte afectat (per a qualsevol tipus). ProjectsPublicDesc=Aquesta vista mostra tots els projectes en els que vostè té dret a tenir visibilitat. +TasksOnProjectsPublicDesc=Aquesta vista mostra totes les tasques en projectes en els que tens permisos de lectura. ProjectsPublicTaskDesc=Aquesta vista mostra tots els projectes als que té dret a visualitzar ProjectsDesc=Aquesta vista mostra tots els projectes (les seves autoritzacions li ofereixen una visió completa). +TasksOnProjectsDesc=Aquesta vista mostra totes les tasques en tots els projectes (els teus permisos d'usuari et donen dret a visualitzar-ho tot). MyTasksDesc=Aquesta vista està limitada als projectes o tasques en que estàs com a contacte afectat (per a qualsevol tipus). OnlyOpenedProject=Només visibles els projectes oberts (els projectes en estat d'esborrany o tancats no són visibles) ClosedProjectsAreHidden=Els projectes tancats no són visibles. @@ -28,7 +30,7 @@ ConfirmDeleteAProject=Esteu segur de voler eliminar aquest projecte? ConfirmDeleteATask=Esteu segur de voler eliminar aquesta tasca? OpenedProjects=Projectes oberts OpenedTasks=Tasques obertes -OpportunitiesStatusForOpenedProjects=Opportunities amount of open projects by status +OpportunitiesStatusForOpenedProjects=Import d'oportunitats de projectes oberts per estat OpportunitiesStatusForProjects=Import d'oportunitats de projectes per estat ShowProject=Veure projecte SetProject=Indica el projecte @@ -130,6 +132,9 @@ OpportunityProbability=Probabilitat d'oportunitat OpportunityProbabilityShort=Probab. d'op. OpportunityAmount=Import d'oportunitats OpportunityAmountShort=Import d'oportunitat +OpportunityAmountAverageShort=Import d'oportunitat mitjà +OpportunityAmountWeigthedShort=Import d'oportunitat ponderat +WonLostExcluded=Guanyat/Perdut exclosos ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Cap de projecte TypeContact_project_external_PROJECTLEADER=Cap de projecte @@ -146,7 +151,7 @@ DocumentModelBeluga=Plantilla de projecte per resum d'objectes vinculats DocumentModelBaleine=Plantilla d'informe de projectes per tasques PlannedWorkload=Càrrega de treball prevista PlannedWorkloadShort=Carrega de treball -ProjectReferers=Related items +ProjectReferers=Registres relacionats ProjectMustBeValidatedFirst=El projecte primer ha de ser validat FirstAddRessourceToAllocateTime=Associa un recurs per reservar temps InputPerDay=Entrada per dia @@ -165,7 +170,7 @@ ManageOpportunitiesStatus=Utilitza els projectes per seguir oportunitats ProjectNbProjectByMonth=Nº de projectes creats per mes ProjectOppAmountOfProjectsByMonth=Import d'oportunitats per mes ProjectWeightedOppAmountOfProjectsByMonth=Quantitat ponderada d'oportunitats per mes -ProjectOpenedProjectByOppStatus=Open project/lead by opportunity status +ProjectOpenedProjectByOppStatus=Projectes oberts per estats d'oportunitat ProjectsStatistics=Estadístiques en projectes/leads TaskAssignedToEnterTime=Tasca assignada. És possible entrar els temps en aquesta tasca. IdTaskTime=Id de temps de tasca diff --git a/htdocs/langs/ca_ES/sendings.lang b/htdocs/langs/ca_ES/sendings.lang index ed4cbd6b273..dcbac106b5f 100644 --- a/htdocs/langs/ca_ES/sendings.lang +++ b/htdocs/langs/ca_ES/sendings.lang @@ -10,7 +10,7 @@ Receivings=Confirmacions d'entrega SendingsArea=Àrea enviaments ListOfSendings=Llista d'enviaments SendingMethod=Mètode d'enviament -LastSendings=Latest %s shipments +LastSendings=Últimes %s expedicions StatisticsOfSendings=Estadístiques d'enviaments NbOfSendings=Nombre d'enviaments NumberOfShipmentsByMonth=Nombre d'enviaments per mes diff --git a/htdocs/langs/ca_ES/stocks.lang b/htdocs/langs/ca_ES/stocks.lang index e5f01bcd52d..0b829a1c205 100644 --- a/htdocs/langs/ca_ES/stocks.lang +++ b/htdocs/langs/ca_ES/stocks.lang @@ -53,7 +53,7 @@ RuleForStockManagementIncrease=Regla per l'increment automàtic d'estoc (l'incre DeStockOnBill=Decrementar els estocs físics sobre les factures/abonaments a clients DeStockOnValidateOrder=Decrementar els estocs físics sobre les comandes de clients DeStockOnShipment=Disminueix l'estoc real al validar l'enviament -DeStockOnShipmentOnClosing=Decrease real stocks on shipping classification closed +DeStockOnShipmentOnClosing=Disminueix els estocs reals en tancar l'expedició ReStockOnBill=Incrementar els estocs físics sobre les factures/abonaments de proveïdors ReStockOnValidateOrder=Incrementar els estocs físics sobre les comandes a proveïdors ReStockOnDispatchOrder=Incrementa els estocs físics en el desglossament manual de la recepció de les comandes a proveïdors en els magatzems @@ -85,8 +85,8 @@ ThisWarehouseIsPersonalStock=Aquest magatzem representa l'estoc personal de %s % SelectWarehouseForStockDecrease=Tria el magatzem a utilitzar en el decrement d'estoc SelectWarehouseForStockIncrease=Tria el magatzem a utilitzar en l'increment d'estoc NoStockAction=Sense accions sobre l'estoc -DesiredStock=Desired optimal stock -DesiredStockDesc=This stock amount will be the value used to fill the stock by replenishment feature. +DesiredStock=Estoc òptim desitjat +DesiredStockDesc=Aquest import d'estoc serà el valor utilitzat per omplir l'estoc en la funció de reaprovisionament. StockToBuy=A demanar Replenishment=Reaprovisionament ReplenishmentOrders=Ordres de reaprovisionament @@ -104,7 +104,7 @@ WarehouseForStockDecrease=Per la disminució d'estoc s'utilitzara el magatzem %s ForThisWarehouse=Per aquest magatzem ReplenishmentStatusDesc=Aquest és un llistat de tots els productes amb un estoc inferior a l'estoc desitjat (o inferior al valor d'alerta si la casella de verificació "només alerta" està marcat). Utilitzant la casella de verificació, pots crear comandes de proveïdors per corregir la diferència. -ReplenishmentOrdersDesc=This is a list of all open supplier orders including predefined products. Only open orders with predefined products, so orders that may affect stocks, are visible here. +ReplenishmentOrdersDesc=Aquest és un llistat de totes les comandes de proveïdor obertes que inclouen productes predefinits. Només comandes obertes amb productes predefinits, per tant, es mostren comandes que poden afectar als estocs. Replenishments=reaprovisionament NbOfProductBeforePeriod=Quantitat del producte %s en estoc abans del periode seleccionat (< %s) NbOfProductAfterPeriod=Quantitat del producte %s en estoc despres del periode seleccionat (> %s) @@ -114,12 +114,14 @@ RecordMovement=Registrar transferencies ReceivingForSameOrder=Recepcions d'aquesta comanda StockMovementRecorded=Moviments d'estoc registrat RuleForStockAvailability=Regles de requeriment d'estoc -StockMustBeEnoughForInvoice=El nivell d'existències ha de ser suficient per afegir productes/serveis a factures -StockMustBeEnoughForOrder=El nivell d'existències ha de ser suficient per afegir productes/serveis a comandes -StockMustBeEnoughForShipment= El nivell d'existencies ha de ser suficient per afegir productes/serveis a albarans +StockMustBeEnoughForInvoice=El nivell d'existències ha de ser suficient per afegir productes/serveis a factures (la comprovació es fa quan s'afegeix una línia a la factura en el cas de regles automàtiques de canvis d'estoc) +StockMustBeEnoughForOrder=El nivell d'existències ha de ser suficient per afegir productes/serveis a comandes (la comprovació es fa quan s'afegeix una línia a la comanda en el cas de regles automàtiques de canvis d'estoc) +StockMustBeEnoughForShipment= El nivell d'existències ha de ser suficient per afegir productes/serveis a enviaments (la comprovació es fa quan s'afegeix una línia a l'enviament en el cas de regles automàtiques de canvis d'estoc) MovementLabel=Etiqueta del moviment InventoryCode=Moviments o codi d'inventari IsInPackage=Contingut en producte compost +WarehouseAllowNegativeTransfer=L'estoc pot ser negatiu +qtyToTranferIsNotEnough=No tens estoc suficient en el teu magatzem origen ShowWarehouse=Mostrar magatzem MovementCorrectStock=Ajustament d'estoc del producte %s MovementTransferStock=Transferència d'estoc de producte %s a un altre magatzem diff --git a/htdocs/langs/ca_ES/supplier_proposal.lang b/htdocs/langs/ca_ES/supplier_proposal.lang index 2c74e9f57fc..f0c3389013e 100644 --- a/htdocs/langs/ca_ES/supplier_proposal.lang +++ b/htdocs/langs/ca_ES/supplier_proposal.lang @@ -7,12 +7,12 @@ CommRequests=Peticions de preu SearchRequest=Busca una petició DraftRequests=Peticions esborrany SupplierProposalsDraft=Pressupost de proveïdor esborrany -LastModifiedRequests=Latest %s modified price requests +LastModifiedRequests=Últimes %s peticions de preu modificades RequestsOpened=Obre una petició de preu SupplierProposalArea=Àrea de pressupostos de proveïdor SupplierProposalShort=Pressupost de proveïdor SupplierProposals=Pressupost de proveïdor -SupplierProposalsShort=Supplier proposals +SupplierProposalsShort=Pressupostos de proveïdor NewAskPrice=Nova petició de preu ShowSupplierProposal=Mostra una petició de preu AddSupplierProposal=Crea una petició de preu @@ -49,5 +49,5 @@ DefaultModelSupplierProposalClosed=Model per defecte en tancar una petició de p ListOfSupplierProposal=Llistat de peticions de preu a proveïdor SupplierProposalsToClose=Pressupostos de proveïdor a tancar SupplierProposalsToProcess=Pressupostos de proveïdor a processar -LastSupplierProposals=Last price requests -AllPriceRequests=All requests +LastSupplierProposals=Última petició de preu +AllPriceRequests=Totes les peticions diff --git a/htdocs/langs/ca_ES/website.lang b/htdocs/langs/ca_ES/website.lang index 9715555071a..1c5c39fe282 100644 --- a/htdocs/langs/ca_ES/website.lang +++ b/htdocs/langs/ca_ES/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=Mostra el lloc en una nova pestanya ViewPageInNewTab=Mostra la pàgina en una nova pestanya SetAsHomePage=Indica com a Pàgina principal RealURL=URL real +ViewWebsiteInProduction=Mostra la pàgina web utilitzant les URLs d'inici +SetHereVirtualHost=Si en el teu servidor web pots definir un host virtual dedicat amb un directori root en %s, defineix aquí el nom del host virtual i així la previsualització es farà utilitzant aquest accés directe enlloc del contenidor d'URLs de Dolibarr. diff --git a/htdocs/langs/ca_ES/withdrawals.lang b/htdocs/langs/ca_ES/withdrawals.lang index 8d741a3410b..799bbe94b8e 100644 --- a/htdocs/langs/ca_ES/withdrawals.lang +++ b/htdocs/langs/ca_ES/withdrawals.lang @@ -6,7 +6,7 @@ NewStandingOrder=Nova domiciliació StandingOrderToProcess=A processar WithdrawalsReceipts=Ordres domiciliades WithdrawalReceipt=Ordre domiciliació -LastWithdrawalReceipts=Latest %s withdrawal receipts +LastWithdrawalReceipts=Últimes %s ordres de domiciliació WithdrawalsLines=Línies de domiciliació RequestStandingOrderToTreat=Peticions de domiciliacions a processar RequestStandingOrderTreated=Peticions de domiciliacions processades @@ -21,7 +21,7 @@ ResponsibleUser=Usuari responsable de les domiciliacions WithdrawalsSetup=Configuració de les domiciliacions WithdrawStatistics=Estadístiques de domiciliacions WithdrawRejectStatistics=Estadístiques de domiciliacions retornades -LastWithdrawalReceipt=Latest %s withdrawal receipts +LastWithdrawalReceipt=Últimes %s ordres de domiciliació MakeWithdrawRequest=Fer una petició de domiciliació ThirdPartyBankCode=Codi banc del tercer NoInvoiceCouldBeWithdrawed=No s'ha domiciliat cap factura. Assegureu-vos que les factures són d'empreses amb les dades de comptes bancaris correctes. diff --git a/htdocs/langs/cs_CZ/admin.lang b/htdocs/langs/cs_CZ/admin.lang index 2498e38770b..78fa7604ba5 100644 --- a/htdocs/langs/cs_CZ/admin.lang +++ b/htdocs/langs/cs_CZ/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Uživatelé a skupiny @@ -468,7 +471,7 @@ Module510Desc=Řízení výplat zaměstnanců a plateb Module520Name=Půjčka Module520Desc=Správa úvěrů Module600Name=Upozornění -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Dary Module700Desc=Darování řízení Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Firmy modul nastavení CompanyCodeChecker=Modul pro generování kódu třetích stran a přezkušování (zákazník nebo dodavatel) AccountCodeManager=Modul pro generování kódu účetnictví (zákazník nebo dodavatel) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Dokumenty šablony DocumentModelOdt=Generování dokumentů z OpenDocuments šablon (. ODT nebo ODS. Soubory OpenOffice, KOffice, TextEdit, ...) WatermarkOnDraft=Vodoznak na návrhu dokumentu @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Nastavení modulu Expense Reports TemplatePDFExpenseReports=Šablon dokumentů ke generování dokumentu sestavy výdajů NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=Seznam oznámení na kontakt * +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=Seznam pevných oznámení +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Práh BackupDumpWizard=Průvodce vybudovat záložní databázi soubor s výpisem diff --git a/htdocs/langs/cs_CZ/bills.lang b/htdocs/langs/cs_CZ/bills.lang index 5c0ea406329..47793214001 100644 --- a/htdocs/langs/cs_CZ/bills.lang +++ b/htdocs/langs/cs_CZ/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Nejnovější související faktura WarningBillExist=Varování, jedna nebo více faktur již existují MergingPDFTool=Nástroj pro spojení PDF AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/cs_CZ/companies.lang b/htdocs/langs/cs_CZ/companies.lang index 7fd7553133a..669e587126e 100644 --- a/htdocs/langs/cs_CZ/companies.lang +++ b/htdocs/langs/cs_CZ/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Výchozí jazyk VATIsUsed=Plátce DPH VATIsNotUsed=Neplátce DPH CopyAddressFromSoc=Vyplnit adresu z adresy třetí strany +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE se používá @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organizace FiscalYearInformation=Informace o fiskálním roce FiscalMonthStart=Počáteční měsíc fiskálního roku -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=Seznam dodavatelů ListProspectsShort=Seznam cílů ListCustomersShort=Seznam zákazníků diff --git a/htdocs/langs/cs_CZ/contracts.lang b/htdocs/langs/cs_CZ/contracts.lang index 9c3f18d8681..cfdbfef5ee7 100644 --- a/htdocs/langs/cs_CZ/contracts.lang +++ b/htdocs/langs/cs_CZ/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Neuplynula ServiceStatusLate=Probíhá, uplynula ServiceStatusLateShort=Vypršela ServiceStatusClosed=Zavřeno +ShowContractOfService=Show contract of service Contracts=Smlouvy ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Smlouvy a řádky smluv diff --git a/htdocs/langs/cs_CZ/errors.lang b/htdocs/langs/cs_CZ/errors.lang index 44c56879394..4ceda95b525 100644 --- a/htdocs/langs/cs_CZ/errors.lang +++ b/htdocs/langs/cs_CZ/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Nastavení ClickToDial informací pro už 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/cs_CZ/install.lang b/htdocs/langs/cs_CZ/install.lang index a85078a3b3e..754abdc5d01 100644 --- a/htdocs/langs/cs_CZ/install.lang +++ b/htdocs/langs/cs_CZ/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=Je doporučeno použít adresář mimo adresáře webov LoginAlreadyExists=Již existuje DolibarrAdminLogin=Login Dolibarr administrátora AdminLoginAlreadyExists=Účet administrátora Dolibarru '%s' již existuje. Běžte zpět, pro vytvoření jiného. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Pozor, z bezpečnostních důvodů po dokončení instalace či upgradu je potřeba zabránit opětovnému spuštění instalace. Přidejte soubor s názvem install.lock do adresáře document Dolibarr, aby jste zabránili nebezpečnému spuštění. FunctionNotAvailableInThisPHP=Není k dispozici na této instalaci PHP ChoosedMigrateScript=Vyberte migrační skript diff --git a/htdocs/langs/cs_CZ/mails.lang b/htdocs/langs/cs_CZ/mails.lang index 007a99ee391..f51ab9e855b 100644 --- a/htdocs/langs/cs_CZ/mails.lang +++ b/htdocs/langs/cs_CZ/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=Nejsou plánovány žádná e-mailová oznámení pro ANotificationsWillBeSent=1 notifikace bude zaslána e-mailem SomeNotificationsWillBeSent=%s oznámení bude zasláno e-mailem AddNewNotification=Aktivace cíle pro nové e-mailové upozornění -ListOfActiveNotifications=Seznam všech aktivních cílů pro e-mailové oznámení +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=Vypsat všechny odeslané e.mailové oznámení MailSendSetupIs=Konfigurace odesílání e-maiů byla nastavena tak, aby '%s'. Tento režim nelze použít k odesílání hromadných e-mailů. MailSendSetupIs2=Nejprve je nutné jít s admin účtem, do nabídky%sHome - Nastavení - e-maily%s pro změnu parametru "%s" do režimu použít "%s". V tomto režimu, můžete zadat nastavení serveru SMTP vašeho poskytovatele služeb internetu a používat hromadnou e-mailovou funkci. diff --git a/htdocs/langs/cs_CZ/main.lang b/htdocs/langs/cs_CZ/main.lang index bf6fda0dd2d..831ee013839 100644 --- a/htdocs/langs/cs_CZ/main.lang +++ b/htdocs/langs/cs_CZ/main.lang @@ -84,6 +84,7 @@ SeeAbove=Viz výše HomeArea=Hlavní oblast LastConnexion=Poslední připojení PreviousConnexion=Předchozí připojení +PreviousValue=Previous value ConnectedOnMultiCompany=Připojeno na rozhraní ConnectedSince=Připojen od AuthenticationMode=Režim autentizace diff --git a/htdocs/langs/cs_CZ/projects.lang b/htdocs/langs/cs_CZ/projects.lang index 3547c1aa82c..3bb25c0af55 100644 --- a/htdocs/langs/cs_CZ/projects.lang +++ b/htdocs/langs/cs_CZ/projects.lang @@ -11,8 +11,10 @@ SharedProject=Všichni PrivateProject=Project contacts MyProjectsDesc=Tento pohled je omezen na projekty u kterých jste uveden jako kontakt (jakéhokoliv typu) ProjectsPublicDesc=Tento pohled zobrazuje všechny projekty které máte oprávnění číst. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=Tento pohled představuje všechny projekty a úkoly, které mají povoleno číst. ProjectsDesc=Tento pohled zobrazuje všechny projekty (vaše uživatelské oprávnění vám umožňuje vidět vše). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=Tento pohled je omezen na projekty či úkoly u kterých jste uveden jako kontakt (jakéhokoliv typu) OnlyOpenedProject=Pouze otevřené projekty jsou viditelné (projekty v návrhu ani v uzavřeném stavu nejsou viditelné). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Vedoucí projektu TypeContact_project_external_PROJECTLEADER=Vedoucí projektu diff --git a/htdocs/langs/cs_CZ/stocks.lang b/htdocs/langs/cs_CZ/stocks.lang index 8d2a4d0aa4d..61a092c586d 100644 --- a/htdocs/langs/cs_CZ/stocks.lang +++ b/htdocs/langs/cs_CZ/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Záznam převodu ReceivingForSameOrder=Příjmy pro tuto objednávku StockMovementRecorded=Zaznamenány pohyby zásob RuleForStockAvailability=Pravidla o požadavcích na skladě -StockMustBeEnoughForInvoice=Úroveň zásob musí být dostatečná pro přidání výrobku/služby do faktury -StockMustBeEnoughForOrder=Úroveň zásob musí být dostatečná pro přidání výrobku/služby do objednávky -StockMustBeEnoughForShipment= Úroveň zásob musí být dostatečná pro přidání výrobku/služby do zásilky +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Štítek pohybu InventoryCode=Kód pohybu nebo zásob IsInPackage=Obsažené v zásilce +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Ukázat skladiště MovementCorrectStock=Sklad obsahuje korekci pro produkt %s MovementTransferStock=Přenos skladových produktů %s do jiného skladiště diff --git a/htdocs/langs/cs_CZ/website.lang b/htdocs/langs/cs_CZ/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/cs_CZ/website.lang +++ b/htdocs/langs/cs_CZ/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/da_DK/admin.lang b/htdocs/langs/da_DK/admin.lang index 072963f4520..225979662f6 100644 --- a/htdocs/langs/da_DK/admin.lang +++ b/htdocs/langs/da_DK/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Brugere og grupper @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Loan Module520Desc=Management of loans Module600Name=Adviséringer -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Donationer Module700Desc=Gaver 'ledelse Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Selskaber modul opsætning CompanyCodeChecker=Modul for tredjemand code generation og kontrol (kunde eller leverandør) AccountCodeManager=Modul til regnskabsformål kode generation (kunde eller leverandør) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Dokumenter skabeloner DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Vandmærke på udkast til et dokument @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/da_DK/bills.lang b/htdocs/langs/da_DK/bills.lang index bad999e9892..88bb5f45c81 100644 --- a/htdocs/langs/da_DK/bills.lang +++ b/htdocs/langs/da_DK/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/da_DK/companies.lang b/htdocs/langs/da_DK/companies.lang index 35e7fab31b1..a13c777570d 100644 --- a/htdocs/langs/da_DK/companies.lang +++ b/htdocs/langs/da_DK/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Sprog som standard VATIsUsed=Moms anvendes VATIsNotUsed=Moms, der ikke anvendes CopyAddressFromSoc=Fill address with thirdparty address +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE bruges @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organisationen FiscalYearInformation=Oplysninger om regnskabssår FiscalMonthStart=Første måned i regnskabsåret -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=Liste over leverandører ListProspectsShort=Liste over emner ListCustomersShort=Liste over kunder diff --git a/htdocs/langs/da_DK/contracts.lang b/htdocs/langs/da_DK/contracts.lang index 0d740ed8abc..3bb9bed9fea 100644 --- a/htdocs/langs/da_DK/contracts.lang +++ b/htdocs/langs/da_DK/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Ikke er udløbet ServiceStatusLate=Kører, er udløbet ServiceStatusLateShort=Udløbet ServiceStatusClosed=Lukket +ShowContractOfService=Show contract of service Contracts=Kontrakter ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracts and line of contracts diff --git a/htdocs/langs/da_DK/errors.lang b/htdocs/langs/da_DK/errors.lang index 8eb43fa1395..9b85439416c 100644 --- a/htdocs/langs/da_DK/errors.lang +++ b/htdocs/langs/da_DK/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/da_DK/install.lang b/htdocs/langs/da_DK/install.lang index dc1daa3c1f6..e815dec46d7 100644 --- a/htdocs/langs/da_DK/install.lang +++ b/htdocs/langs/da_DK/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=Det er opfordres der til at bruge en mappe uden for din LoginAlreadyExists=Allerede findes DolibarrAdminLogin=Dolibarr admin login AdminLoginAlreadyExists=Dolibarr administratorkonto ' %s' eksisterer allerede. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Advarsel, af sikkerhedshensyn, når de installerer eller opgraderer er færdig, bør du fjerne installationen mappe eller omdøbe den til install.lock for at undgå sin ondsindet brug. FunctionNotAvailableInThisPHP=Ikke til rådighed på dette PHP ChoosedMigrateScript=Valgt migrere script diff --git a/htdocs/langs/da_DK/mails.lang b/htdocs/langs/da_DK/mails.lang index cd038d812df..a560b1f6ab0 100644 --- a/htdocs/langs/da_DK/mails.lang +++ b/htdocs/langs/da_DK/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=Ingen e-mail-meddelelser er planlagt for denne begiven ANotificationsWillBeSent=1 anmeldelse vil blive sendt via email SomeNotificationsWillBeSent=%s meddelelser vil blive sendt via email AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=List alle e-mail meddelelser MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/da_DK/main.lang b/htdocs/langs/da_DK/main.lang index 82e0624584e..eba2e9d9f14 100644 --- a/htdocs/langs/da_DK/main.lang +++ b/htdocs/langs/da_DK/main.lang @@ -84,6 +84,7 @@ SeeAbove=Se ovenfor HomeArea=Hjem område LastConnexion=Seneste forbindelse PreviousConnexion=Forrige forbindelse +PreviousValue=Previous value ConnectedOnMultiCompany=Connected på enhed ConnectedSince=Connected siden AuthenticationMode=Autentificerings mode diff --git a/htdocs/langs/da_DK/projects.lang b/htdocs/langs/da_DK/projects.lang index 5d95fa59be6..6e8894e71a9 100644 --- a/htdocs/langs/da_DK/projects.lang +++ b/htdocs/langs/da_DK/projects.lang @@ -11,8 +11,10 @@ SharedProject=Fælles projekt PrivateProject=Project contacts MyProjectsDesc=Dette synspunkt er begrænset til projekter, du er en kontaktperson for (hvad der er den type). ProjectsPublicDesc=Dette synspunkt præsenterer alle projekter du får lov til at læse. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=Dette synspunkt præsenterer alle projekter (din brugertilladelser give dig tilladelse til at se alt). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=Dette synspunkt er begrænset til projekter eller opgaver, du er en kontaktperson for (hvad der er den type). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projektleder TypeContact_project_external_PROJECTLEADER=Projektleder diff --git a/htdocs/langs/da_DK/stocks.lang b/htdocs/langs/da_DK/stocks.lang index 736b4bbc845..e580214d068 100644 --- a/htdocs/langs/da_DK/stocks.lang +++ b/htdocs/langs/da_DK/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Show warehouse MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/da_DK/website.lang b/htdocs/langs/da_DK/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/da_DK/website.lang +++ b/htdocs/langs/da_DK/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/de_AT/admin.lang b/htdocs/langs/de_AT/admin.lang index 59b0eb7f26d..548ae036d99 100644 --- a/htdocs/langs/de_AT/admin.lang +++ b/htdocs/langs/de_AT/admin.lang @@ -92,6 +92,7 @@ CompanyCurrency=Firmenwährung DelaysOfToleranceBeforeWarning=Verspätungstoleranz vor Benachrichtigungen Delays_MAIN_DELAY_NOT_ACTIVATED_SERVICES=Verzögerungstoleranz (in Tagen) vor Benachrichtigung über zu aktivierende Services Delays_MAIN_DELAY_RUNNING_SERVICES=Verzögerungstoleranz (in Tagen) vor Benachrichtigung zu überfälligen Services +CompanyFundationDesc=Edit on this page all known information of the company or foundation you need to manage (For this, click on "Modify" button at bottom of page) DocumentModelOdt=Erstellen von Dokumentvorlagen im OpenDocuments-Format (.odt-Dateien für OpenOffice, KOffice, TextEdit, ...) WatermarkOnDraftInvoices=Wasserzeichen auf Rechnungsentwürfen (alle, falls leer) WatermarkOnDraftProposal=Wasserzeichen für Angebotsentwürfe (alle, falls leer) @@ -102,3 +103,4 @@ FreeLegalTextOnInterventions=Freier Rechtstext für Eingriffe WatermarkOnDraftInterventionCards=Wasserzeichen auf Intervention Karte Dokumente (alle, wenn leer) UseSearchToSelectProduct=Suchfeld statt Listenansicht für die Produktauswahl verwenden PathToGeoIPMaxmindCountryDataFile=Pfad zur Datei mit Maxmind IP to Country Übersetzung.
Beispiel: / usr / local / share / GeoIP / GeoIP.dat +GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses diff --git a/htdocs/langs/de_AT/mails.lang b/htdocs/langs/de_AT/mails.lang index c87020f973b..8d599ed2d86 100644 --- a/htdocs/langs/de_AT/mails.lang +++ b/htdocs/langs/de_AT/mails.lang @@ -14,5 +14,4 @@ ConfirmSendingEmailing=Möchten Sie diese E-Mail-Kampagne wirklich versenden?
%s
Empfänger je Sitzung beschränkt. IdRecord=Eintrags ID ANotificationsWillBeSent=1 Benachrichtigung wird per E-Mail versandt -ListOfActiveNotifications=Liste aller aktiven E-Mail-Benachrichtigungen ListOfNotificationsDone=Liste aller versandten E-Mail-Benachrichtigungen diff --git a/htdocs/langs/de_AT/projects.lang b/htdocs/langs/de_AT/projects.lang index 569855a5cfd..fe5ec99b8fa 100644 --- a/htdocs/langs/de_AT/projects.lang +++ b/htdocs/langs/de_AT/projects.lang @@ -1,5 +1,4 @@ # Dolibarr language file - Source file is en_US - projects -PrivateProject=Projektansprechpartner MyProjectsDesc=Diese Ansicht ist auf Projekte beschränkt, zu denen Sie als Kontakt definiert sind (unabhängig vom Typ). ProjectsPublicDesc=Diese Ansicht zeigt alle für Sie sichtbaren Projekte. ProjectsDesc=Diese Ansicht zeigt alle Projekte (Ihre Benutzerberechtigung erlaubt Ihnen eine volle Einsicht aller Projekte). diff --git a/htdocs/langs/de_CH/admin.lang b/htdocs/langs/de_CH/admin.lang index c986ee04841..315a2939e25 100644 --- a/htdocs/langs/de_CH/admin.lang +++ b/htdocs/langs/de_CH/admin.lang @@ -1,8 +1,12 @@ # Dolibarr language file - Source file is en_US - admin Foundation=Verein +VersionLastInstall=Erste installierte Version +VersionLastUpgrade=Version der letzten Aktualisierung ConfirmPurgeSessions=Wollen Sie wirklich alle Sitzungsdaten löschen? Damit wird zugleich jeder Benutzer (ausser Ihnen) vom System abgemeldet. FormToTestFileUploadForm=Formular für das Testen von Datei-Uplads (je nach Konfiguration) +SecurityFilesDesc=Sicherheitseinstellungen für den Dateiupload definieren. DictionarySetup=Wörterbuch Einstellungen +Dictionary=Wörterbücher UseSearchToSelectCompanyTooltip=Wenn Sie eine grosse Anzahl von Geschäftspartnern (> 100'000) haben, können Sie die Geschwindigkeit verbessern, indem Sie in Einstellungen -> Andere die Konstante COMPANY_DONOTSEARCH_ANYWHERE auf 1 setzen. Die Suche startet dann am Beginn des Strings. UseSearchToSelectContactTooltip=Wenn Sie eine grosse Anzahl von Kontakten (> 100.000) haben, können Sie die Geschwindigkeit verbessern, indem Sie in Einstellungen -> Andere die Konstante CONTACT_DONOTSEARCH_ANYWHERE auf 1 setzen. Die Suche startet dann am Beginn des Strings. DelaiedFullListToSelectCompany=Warten bis Taste gedrückt bevor der Inhalt der Address Combo Liste geladen wird (Dies kann die Leistung erhöhen, wenn Sie eine grosse Anzahl von Adressen haben) @@ -12,15 +16,33 @@ NoMaxSizeByPHPLimit=Hinweis: In Ihren PHP-Einstellungen sind keine Grössenbesch MaxSizeForUploadedFiles=Maximale Grösse für Dateiuploads (0 verbietet jegliche Uploads) AntiVirusCommandExample=Beispiel für ClamWin: c:\\Program Files (x86)\\ClamWin\\bin\\clamscan.exe
Beispiel für ClamAV: /usr/bin/clamscan AntiVirusParamExample=Beispiel für ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +MultiCurrencySetup=Mehrfachwährungen konfigurieren DetailPosition=Reihungsnummer für definition der Menüposition +MaxNbOfLinesForBoxes=Maximale Zeilenanzahl für Boxen +MenusDesc=In der Menüverwaltung können Sie den Inhalt der beiden Menüleisten (Horizontal und Vertikal) festlegen +MenusEditorDesc=Über den Menü-Editor können Sie Ihre Menüeinträge personalisieren. Gehen Sie dabei sorgfältig vor um die Stabilität des Systems zu gewährleisten und zu verhindern, dass einzelne Module gänzlich unerreichbar werden.
Einige Module erzeugen einen Menüeintrag (in den meisten Fällen im Menü Alle). Sollten Sie einen oder mehrere dieser Einträge unabsichtlich entfernt haben, können Sie diese durch das Deaktivieren und neuerliche Aktivieren des Moduls beheben. +PurgeAreaDesc=Hier können Sie alle vom System erzeugten und gespeicherten Dateien löschen (temporäre Dateien oder alle Dateien im Verzeichnis %s). Diese Funktion ist richtet sich vorwiegend an Benutzer ohne Zugriff auf das Dateisystem des Webservers (z.B. Hostingpakete) +PurgeDeleteLogFile=Löschen der Protokolldatei %s des Systemprotokollmoduls (kein Risiko des Datenverlusts) +PurgeDeleteTemporaryFiles=Alle temporären Dateien löschen (kein Datenverlustrisiko) +PurgeDeleteTemporaryFilesShort=Temporärdateien löschen PurgeDeleteAllFilesInDocumentsDir=Alle Datein im Verzeichnis %s löschen. Dies beinhaltet temporäre Dateien ebenso wie Datenbanksicherungen, Dokumente (Geschäftspartner, Rechnungen, ...) und alle Inhalte des ECM-Moduls. +PurgeNothingToDelete=Keine zu löschenden Verzeichnisse oder Dateien +BoxesDesc=Boxen sind auf manchen Seiten angezeigte Informationsbereiche. Sie können die Anzeige einer Box einstellen, indem Sie auf die Zielseite klicken und 'Aktivieren' wählen. Zum Ausblenden einer Box klicken Sie einfach auf den Papierkorb. +ModulesMarketPlaceDesc=Sie finden weitere Module auf externen Websites +DoliPartnersDesc=Unternehmensliste, die Zusatzmodule oder Funktionen entwicklen können. (Hinweis: Alle Entwickler mit PHP Kentinissen können Dolibarr erweitern) +WebSiteDesc=Webseite für die Suche nach weiteren Modulen +BoxesActivated=Aktivierte Boxen ReferencedPreferredPartners=Bevorzugte Geschäftspartner MeasuringUnit=Masseinheit MAIN_MAIL_SMTP_PORT=SMTP-Port (standardmässig in der php.ini: %s) MAIN_MAIL_SMTP_SERVER=SMTP-Host (standardmässig in php.ini: %s) MAIN_MAIL_EMAIL_FROM=E-Mail-Absender für automatisch erzeugte Mails (standardmässig in php.ini: %s) +MAIN_MAIL_EMAIL_STARTTLS=TLS (STARTTLS) Verschlüsselung verwenden SubmitTranslation=Wenn die Übersetzung der Sprache unvollständig ist oder wenn Sie Fehler finden, können Sie können Sie die entsprechenden Sprachdateien im Verzeichnis langs/%s korrigieren und und anschliessend Ihre Änderungen unter www.transifex.com/dolibarr-association/dolibarr/ teilen. +SubmitTranslationENUS=Sollte die Übersetzung für eine Sprache nicht vollständig sein oder Fehler beinhalten, können Sie die entsprechenden Sprachdateien im Verzeichnis langs/%s bearbeiten und anschliessend Ihre Änderungen an dolibarr.org/forum oder für Entwickler auf github.com/Dolibarr/dolibarr. übertragen. +ModuleFamilySrm=Lieferantenverwaltung (SRM) InfDirAlt=Seit Version 3 ist es möglich, ein alternatives Stammverzeichnis anzugeben. Dies ermöglicht, Erweiterungen und eigene Templates am gleichen Ort zu speichern.
Legen Sie einfach ein Verzeichis im Hauptverzeichnis von Dolibarr an (z.B. "eigenes").
+CallUpdatePage=Zur Aktualisierung der Daten und der Datenbankstruktur gehen Sie zur Seite %s. GenericMaskCodes=Sie können ein beliebiges Numerierungsschema wählen. Dieses Schema könnte z.B. so aussehen:
{000000} steht für eine 6-stellige Nummer, die sich bei jedem neuen %s automatisch erhöht. Wählen Sie die Anzahl der Nullen je nach gewünschter Nummernlänge. Der Zähler füllt sich automatisch bis zum linken Ende mit Nullen um das gewünschte Format abzubilden.
{000000+000} führt zu einem ähnlichen Ergebnis, allerdings mit einem Wertsprung in Höhe des Werts rechts des Pluszeichens, der beim ersten %s angewandt wird.
{000000@x} wie zuvor, jedoch stellt sich der Zähler bei Erreichen des Monats x (zwischen 1 und 12) automatisch auf 0 zurück. Ist diese Option gewählt und x hat den Wert 2 oder höher, ist die Folge {mm}{yy} or {mm}{yyyy} ebenfalls erfoderlich.
{dd} Tag (01 bis 31).
{mm} Monat (01 bis 12).
{yy}, {yyyy} or {y} Jahreszahl 1-, 2- oder 4-stellig.
GenericMaskCodes2={cccc} den Kunden-Code mit n Zeichen
{cccc000} den Kunden-Code mit n Zeichen, gefolgt von einer Client-Zähler zugeordnet zu dem Kunden.
{tttt} Die Geschäftspartner ID mit n Zeichen (siehe Wörterbuch Partner Typen).
GenericMaskCodes4a=Beispiel auf der 99. %s des Dritten thecompany Geschehen 2007-01-31:
@@ -28,9 +50,17 @@ GenericMaskCodes4b=Beispiel für Dritte erstellt am 2007-03-01:
UMaskExplanation=Über diesen Parameter können Sie die standardmässigen Dateiberechtigungen für vom System erzeugte/verwaltete Inhalte festlegen.
Erforderlich ist ein Oktalwert (0666 bedeutet z.B. Lesen und Schreiben für alle).
Auf Windows-Umgebungen haben diese Einstellungen keinen Effekt. DescWeather=Die folgenden Diagramme werden auf der Übersicht Startseite angezeigt, wenn die entsprechenden Toleranzwerte erreicht werden: HideAnyVATInformationOnPDF=Unterdrücken aller MwSt.-Informationen auf dem generierten PDF +HideDetailsOnPDF=Unterdrücke Produktzeilen in generierten PDF +PlaceCustomerAddressToIsoLocation=ISO Position für die Kundenadresse verwenden OldVATRates=Alter MwSt. Satz NewVATRates=Neuer MwSt. Satz ExtrafieldCheckBoxFromList=Checkbox von Tabelle +LibraryToBuildPDF=Verwendete Bibliothek zur PDF-Erzeugung +SetAsDefault=Als Standard definieren +DisplayCompanyInfoAndManagers=Firmen- und Managernamen anzeigen +ModuleCompanyCodeAquarium=Generiert einen Kontierungscode %s, gefolgt von der Lieferantenummer für einen Lieferanten-Kontierungscode und %s, gefolgt vom Kundencontierungscode für einen Kundenkontierungscode. +ModuleCompanyCodePanicum=Generiert einen leeren Kontierungscode. +ModuleCompanyCodeDigitaria=Kontierungscode hängt vom Geschäftspartner Code ab. Der Code setzt sich aus dem Buchstaben 'C' und den ersten 5 Stellen des Geschäftspartner Codes zusammen. Module1Name=Geschäftspartner Module1Desc=Geschäftspartner- und Kontakteverwaltung (Kunden, Leads, ...) Module20Desc=Angeboteverwaltung @@ -38,13 +68,23 @@ Module49Desc=Bearbeiterverwaltung Module57Desc=Abbuchungsaufträge und Entzugsmanagement. Hierzu gehört auch Generation von SEPA-Datei für europäische Länder. Module70Name=Arbeitseinsätze Module80Name=Auslieferungen +Module240Desc=Werkzeug zum Datenexport (mit Assistent) +Module250Desc=Werkzeug zum Dateninport (mit Assistent) +Module330Desc=Lesezeichenverwaltung Module400Desc=Projektmanagement, Aufträge oder Leads. Anschliessend können Sie ein beliebiges Element (Rechnung, Bestellung, Angebot, Intervention, ...) einem Projekt zuordnen und eine Queransicht von der Projektanzeige bekommen. Module1200Desc=Mantis-Integation +Module2000Desc=Texte mit dem WYSIWYG Editor bearbeiten (Basierend auf CKEditor) +Module2400Name=Agenda +Module3100Desc=Skypebutton bei Kontakten / Drittparteien / Mitgliedern hinzufügen +Module10000Desc=Erstellen Sie öffentliche Webauftritte mit einem WYSIWIG Editor. Konfigurieren Sie dazu Ihren Webserver so, dass es auf das dedizierte Verzeichnis zeigt um den Webauftritt öffentlich zugänglich zu machen. +Module50100Desc=Kassenmodul +Module63000Desc=Resourcen verwalten(Drucker, Autos, Räume,...) diese können dann im Kalender verwendet werden Permission26=Angebote schliessen Permission44=Projekte und Aufgaben löschen (gemeinsame Projekte und Projekte, in welchen ich Ansprechpartner bin) Permission61=Leistungen ansehen Permission62=Leistungen erstellen/bearbeiten Permission64=Interventionen löschen +Permission76=Daten exportieren Permission87=Kundenaufträge abschliessen Permission121=Mit Benutzer verbundene Geschäftspartner einsehen Permission122=Mit Benutzer verbundene Geschäftspartner erstellen/bearbeiten @@ -58,22 +98,46 @@ Permission203=Bestellungsverbindungen Bestellungen Permission262=Zugang auf alle Geschäftspartner erweitern (nicht nur diejenigen im Zusammenhang mit Benutzer). Nicht wirksam für externe Nutzer (diese sind immer auf sich selbst beschränkt). Permission525=Darlehens-rechner Permission1188=Lieferantenbestellungen schliessen +Permission2414=Aktionen und Aufgaben anderer exportieren Permission59002=Gewinspanne definieren +DictionaryCompanyType=Geschäftspartnertyp +DictionaryCompanyJuridicalType=Gesellschafts- und Unternehmensformen +DictionaryCivility=Anrede Bezeichnungen +DictionaryActions=Arten von Kalenderereignissen DictionaryVAT=MwSt.-Sätze +DictionaryFees=Spesen- und Kostenarten +DictionaryAccountancyCategory=Kontenkategorien DictionaryEMailTemplates=Textvorlagen für Emails +DictionaryHolidayTypes=Absenzarten BackToDictionaryList=Zurück zur Wörterbuchübersicht VATManagement=MwSt-Verwaltung +VATIsUsedDesc=Der standardmässige MwSt.-Satz für die Erstellung von Leads, Rechnungen, Bestellungen, etc. folgt der folgenden, aktiven Regel:
Ist der Verkäufer mehrwertsteuerpflichtig, ist die MwSt. standardmässig 0. Ende der Regel.
Ist das Verkaufsland gleich dem Einkaufsland, ist die MwSt. standardmässig die MwSt. des Produkts im Verkaufsland. Ende der Regel.
Sind Verkäufer und Käufer beide aus Europäischen Mitgliedsstaaten und die Produkte physisch transportfähig (Auto, Schiff, Flugzeug), ist die MwSt. standardmässig 0. (Die MwSt. sollte durch den Käufer beim eigenen Zollamt entrichtet werden, nicht durch den Verkäufer. Ende der Regel.
Sind Verkäufer und Käufer beide aus Europäischen Mitgliedsstaaten, der Käufer jedoch kein Unternehmen so ist die MwSt. standardmässig die MwSt. des verkauften Produkts. Ende der Regel.
Sind Verkäufer und Käufer beide Unternehmen im Europäischen Gemeinschaftsraum, so ist die MwSt. standardmässig 0. Ende der Regel.
Trifft keine der obigen Regeln zu, ist die MwSt. standardmässig 0. VATIsNotUsedDesc=Die vorgeschlagene MwSt. ist standardmässig 0 für alle Fälle wie Stiftungen, Einzelpersonen oder Kleinunternehmen. LocalTax1IsUsedDescES=Die RE Rate standardmässig beim Erstellen Aussichten, Rechnungen, Bestellungen etc. folgen die aktive Standard-Regel:
Wenn te Käufer ist nicht unterworfen RE, RE standardmässig = 0 ist. Ende der Regel.
Ist der Käufer unterzogen, um dann die RE RE standardmässig. Ende der Regel.
LocalTax1IsNotUsedDescES=Standardmässig werden die vorgeschlagenen RE 0 ist. Ende der Regel. LocalTax2IsUsedDescES=Die RE Rate standardmässig beim Erstellen Aussichten, Rechnungen, Bestellungen etc. folgen die aktive Standard-Regel:
Ist der Verkäufer nicht zu IRPF ausgesetzt, dann durch IRPF default = 0. Ende der Regel.
Ist der Verkäufer zur IRPF dann der Einkommenssteuer unterworfen standardmässig. Ende der Regel.
LocalTax2IsNotUsedDescES=Standardmässig werden die vorgeschlagenen IRPF 0 ist. Ende der Regel. LocalTax2IsNotUsedExampleES=In Spanien sind sie bussines nicht der Steuer unterliegen System von Modulen. +Delays_MAIN_DELAY_ACTIONS_TODO=Verzögerungstoleranz (in Tagen) vor Warnung für nicht erledigte Ereignisse +Delays_MAIN_DELAY_PROJECT_TO_CLOSE=Verzögerungstoleranz (in Tagen) vor Warnung für nicht fristgerecht geschlossene Projekte +Delays_MAIN_DELAY_TASKS_TODO=Verzögerungstoleranz (in Tagen) vor Warnung für nicht erledigte Projektaufgaben +Delays_MAIN_DELAY_ORDERS_TO_PROCESS=Verzögerungstoleranz (in Tagen), vor Warnung für nicht bearbeitete Bestellungen +Delays_MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS=Verzögerungstoleranz (in Tagen), vor Warnung für nicht bearbeitete Lieferantenbestellungen Delays_MAIN_DELAY_PROPALS_TO_CLOSE=Verzögerungstoleranz (in Tagen) vor Warnung für abzuschliessende Angebote +SetupDescription1=Der Setupbereich erlaubt das konfigurieren ihrer Dolibarr Installation vor der ersten Verwendung. +SetupDescription2=Die 2 wichtigsten Schritte zur Grundkonfiguration finden Sie in den ersten beiden Zeilen des Einstellungen-Menüs auf der linken Seite. Dies sind die 'Unternehmen/Stiftung'- und die 'Moduleinstellungen'-Menüpunkte: +InfoDolibarr=Infos Dolibarr +InfoBrowser=Infos Browser +InfoOS=Infos OS +InfoWebServer=Infos Webserver +InfoDatabase=Infos Datenbank +InfoPHP=Infos PHP AreaForAdminOnly=Diese Funktionen stehen ausschliesslich Administratoren zur Verfügung. Administrationsfunktionen und -hilfe werden in dolibarr durch die folgenden Symbole dargestellt: SystemAreaForAdminOnly=Dieser Bereich steht ausschliesslich Administratoren zur Verfügung. Keine der Benutzerberechtigungen kann dies ändern. TriggersDesc=Trigger sind Dateien, die nach einem Kopieren in das Verzeichnis htdocs/core/triggers das Workflow-Verhalten des Systems beeinflussen. Diese stellen neue, mit Systemereignissen verbundene, Ereignisse dar (Neuer Geschäftspartner angelegt, Rechnung freigegeben, ...). TriggerDisabledByName=Trigger in dieser Datei sind durch das -NORUN-Suffix in ihrem Namen deaktviert. +DictionaryDesc=Definieren Sie hier alle Defaultwerte. Sie können die vordefinierten Werte mit ihren eigenen ergänzen. +MiscellaneousDesc=Alle anderen sicherheitsrelevanten Parameter werden hier definiert. MAIN_ROUNDING_RULE_TOT=Rundungseinstellung (Für Länder in denen nicht auf 10er basis Gerundet wird. zB. 0.05 damit in 0.05 Schritten gerundet wirb) TotalPriceAfterRounding=Gesamtpreis (Netto/MwSt./Brutto) gerundet NoEventOrNoAuditSetup=Keine sicherheitsrelevanten Protokollereignisse. Überprüfen Sie die Aktivierung dieser Funktionen unter 'Einstellunge-Sicherheit-Protokoll'. @@ -84,12 +148,16 @@ DefineHereComplementaryAttributes=Definieren Sie hier alle Attribute, die nicht ExtraFieldsSupplierOrdersLines=Ergänzende Attribute (in Bestellungszeile) ExtraFieldsThirdParties=Ergänzende Attribute (Geschäftspartner) SendmailOptionNotComplete=Achtung, auf einigen Linux-Systemen, E-Mails von Ihrem E-Mail zu senden, sendmail Ausführung Setup muss conatins Option-ba (Parameter mail.force_extra_parameters in Ihre php.ini-Datei). Wenn einige Empfänger niemals E-Mails erhalten, versuchen, diese Parameter mit PHP mail.force_extra_parameters =-ba) zu bearbeiten. +TotalNumberOfActivatedModules=Summe aktivierter Module: %s / %s AddRefInList=Darstellung Kunden- /Lieferanten- Nr. in Listen (Listbox oder ComboBox) und die meisten von Hyperlinks. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". +AskForPreferredShippingMethod=Bevorzugte Kontaktmethode bei Partnern fragen. +PasswordGenerationNone=Keine automatische Passwortvorschläge, das Passwort muss manuell eingegeben werden. CompanyCodeChecker=Modul für Geschäftspartner-Code-Erstellung (Kunden oder Lieferanten) -NotificationsDesc=E-Mail-Benachrichtigungsfunktionen erlauben Ihnen den stillschweigenden Versand automatischer Benachrichtigungen zu einigen Dolibarr-Ereignissen. Ziele dafür können definiert werden:
* pro Geschäftspartner-Kontakt (Kunden oder Lieferanten), ein Geschäftspartner zur Zeit.
* durch das Setzen einer globalen Ziel-Mail-Adresse in den Modul-Einstellungen CompanyIdProfChecker=Berufs-Identifikation einzigartige MustBeMandatory=Erforderlich um Geschäftspartner anzulegen? +SupplierPaymentSetup=Lieferantenzahlungen einrichten ProposalsPDFModules=PDF-Anbebotsmodule +FreeLegalTextOnProposal=Freier Rechtstext für Angebote WatermarkOnDraftOrders=Wasserzeichen auf Bestellungs-Entwurf (keines, wenn leer) InterventionsSetup=Servicemoduleinstellungen FreeLegalTextOnInterventions=Freier Rechtstext auf Interventions Dokument @@ -116,6 +184,7 @@ UseUnits=Definieren Sie eine Masseinheit für die Menge während der Auftrags-, ErrorUnknownSyslogConstant=Konstante %s ist nicht als Protkoll-Konstante definiert NoNeedForDeliveryReceipts=In den meisten Fällen werden Lieferschein sowohl als Versand- (für die Zusammenstellung der Auslieferung), als auch als Zustellsscheine (vom Kunden zu unterschreiben) verwendet. Entsprechend sind Empfangsbelege meist eine doppelte und daher nicht verwendete Option. FCKeditorForCompany=WYSIWIG Erstellung/Bearbeitung der Firmennformationen und Notizen (ausser Produkte/Services) +FCKeditorForMail=WYSIWYG Erstellung/Bearbeitung für gesamte Mail (ausser Werkzeuge->Massenmaling) IfYouUsePointOfSaleCheckModule=Wenn Sie ein Point of Sale-Modul (POS-Modul Standard oder andere externe POS-Module) verwenden, kann diese Einstellung von Ihrem Point Of Sale-Modul übersteuert werden. \nDie meisten POS -Module wurden entwickelt, um sofort eine Rechnung zu erstellen und das Lager standardmässig zu verringern, egal welche Optionen hier ausgewählt wurde. \nAlso, wenn Sie während einem Verkauf einen Lagerabgang in Ihrem Point of Sale möchten oder nicht, so müssen sie auch die Konfiguration des POS-Modules überprüfen. DetailTitre=Menübezeichner oder Bezeichnungs-Code für Übersetzung DetailLangs=Sprachdateiname für Bezeichnungsübersetzung @@ -123,16 +192,43 @@ OptionVatMode=MwSt. fällig SummaryOfVatExigibilityUsedByDefault=Standardmässiger Zeitpunkt der MwSt.-Fälligkeit in Abhängigkeit zur derzeit gewählten Option: YourCompanyDoesNotUseVAT=Für Ihr Unternehmen wurde keine MwSt.-Verwendung definiert (Start-Einstellungen-Unternehmen/Stiftung), entsprechend stehen in der Konfiguration keine MwSt.-Optionen zur Verfügung. AGENDA_USE_EVENT_TYPE=Verwenden der Termintypen \nEinstellen unter (Start -> Einstellungen -> Wörterbücher -> Ereignistypen) +ClickToDialUseTelLinkDesc=Verwenden Sie diese Methode wenn ein Softphone oder eine andere Telefonielösung auf dem Computer ist. Es wird ein "tel:" Link generiert. Wenn Sie eine Serverbasierte Lösung benötigen, setzen Sie dieses Feld auf Nein und geben die notwendigen Daten im nächsten Feld ein. CashDeskThirdPartyForSell=Standardgeschäftspartner für Kassenverkäufe StockDecreaseForPointOfSaleDisabled=Lagerrückgang bei Verwendung von Point of Sale deaktivert BookmarkDesc=Dieses Modul ermöglicht die Verwaltung von Lesezeichen. Ausserdem können Sie hiermit Verknüpfungen zu internen und externen Seiten im linken Menü anlegen. +ApiProductionMode=Aktiviere Produktivmodus (Das aktiviert den Cache für die Serviceverwaltung) +ApiExporerIs=Sie können das API unter dieser URL verwenden +ChequeReceiptsNumberingModule=Checknumerierungsmodul MultiCompanySetup=Multi-Company-Moduleinstellungen TasksNumberingModules=Aufgaben-Nummerierungs-Modul CloseFiscalYear=Fiskalisches Jahr schliessen NbMajMin=Mindestanzahl Grossbuchstaben TemplatePDFExpenseReports=Dokumentvorlagen zur Spesenabrechnung Dokument erstellen GoOntoContactCardToAddMore=Gehen Sie auf die Registerkarte "Hinweise" von einem Geschäftspartner Kontakt , um Hinweise für Kontakte/Adressen zu erstellen oder zu entfernen +ConfFileMuseContainCustom=Zur Installation eines externen Modul speichern Sie die Modul-Dateien in Verzeichnis %s. Damit Dolibarr dieses Verzeichniss verwendet, müssen Sie in der Setupdatei conf/conf.php die Option
$dolibarr_main_url_root_alt auf
$dolibarr_main_url_root_alt="/custom" oder
'%s/custom'; ändern +HighlightLinesColor=Farbe des Highlight Effekt bei Mausbewegung (wählen sie keine für keinen Highlight Effekt) +TextTitleColor=Farbe des Seitentitels +LinkColor=Linkfarbe NbAddedAutomatically=Anzahl Tage die den Benutzern jeden Monat automatisch dazuaddiert werden RecuperableOnly=Ja für MwSt. "Wahrgenommene nicht Erstattungsfähig" für einige Regionen in Frankreich. Nein für alle anderen Fälle. MailToSendIntervention=Um Interventions zu schicken MailToThirdparty=Um Email von Geschäftspartner zu schicken +ModelModulesProduct=Vorlage für Produktdokumente +ToGenerateCodeDefineAutomaticRuleFirst=Um automatisch Barcodenummern zu generieren, muss zuerst ein Nummerierungmodul im Barcodemodul definiert werden. +SeeSubstitutionVars=Siehe * für eine Liste der Verfügbaren Variablen +AddRemoveTabs=Tab hinzufügen oder entfernen +AddDictionaries=Wörterbücher hinzufügen +AddBoxes=Box hinzufügen +AddSheduledJobs=Geplante Jobs hinzufügen +AddHooks=Hook hinzufügen +AddTriggers=Trigger hinzufügen +AddMenus=Menü hinzufügen +AddPermissions=Berechtigung hinzufügen +AddExportProfiles=Exportprofil hinzufügen +AddImportProfiles=Importprofil hinzufügen +AddOtherPagesOrServices=Andere Seite oder Dienst hinzufügen +AddModels=Dokument- oder Nummerierungvorlage hinzufügen +AddSubstitutions=Schlüsselersatzwerte hinzufügen +ListOfAvailableAPIs=Liste der verfügbaren API's +activateModuleDependNotSatisfied=Modul "%s" hängt vom Modul "%s" ab, welches fehlt. Dadurch funktioniert Modul "%1$s" vermutlich nicht richtig. Installieren Sie sicherheitshalber zuerst das Modul "%2$s" oder deaktivieren Sie das Modul "%1$s" +CommandIsNotInsideAllowedCommands=Das Kommando ist nicht in der Liste der erlaubten Kommandos, die unter $dolibarr_main_restrict_os_commands in der Datei conf.php definiert sind. diff --git a/htdocs/langs/de_CH/agenda.lang b/htdocs/langs/de_CH/agenda.lang index 850fa9782c3..d4ae7766c3c 100644 --- a/htdocs/langs/de_CH/agenda.lang +++ b/htdocs/langs/de_CH/agenda.lang @@ -1,10 +1,13 @@ # Dolibarr language file - Source file is en_US - agenda +ToUserOfGroup=Für alle Benutzer in der Gruppe MenuDoneActions=Alle abgeschl. Termine MenuDoneMyActions=Meine abgeschl. Termine -AgendaAutoActionDesc=Definieren Sie hier Termine zur automatischen Übernahme in den Terminkalender. Ist nichts aktviert (Standardmässig), umfasst der Terminkalender nur manuell eingetragene Termine. +ViewPerType=Ansicht pro Typ +AgendaAutoActionDesc=Definieren Sie hier Ereignisse für die Dolibarr einen Kalendereintrag erstellen soll. Ist nichts aktviert, umfasst der Terminkalender nur manuell eingetragene Termine. Automatisch generierte Aktionen die durch Module erstellt werden (Freigabe, Statuswechsel,...), werden nicht im Kalender gespeichert. OrderCanceledInDolibarr=Auftrag storniert %s ShippingSentByEMail=Lieferung %s per Email versendet InterventionSentByEMail=Intervention %s gesendet via E-Mail NewCompanyToDolibarr=Geschäftspartner erstellt +AgendaHideBirthdayEvents=Geburtstage von Kontakten verstecken DateActionBegin=Beginnzeit des Ereignis DateStartPlusOne=Anfangsdatum + 1 Stunde diff --git a/htdocs/langs/de_CH/banks.lang b/htdocs/langs/de_CH/banks.lang index 6acea697629..8833b4aa82c 100644 --- a/htdocs/langs/de_CH/banks.lang +++ b/htdocs/langs/de_CH/banks.lang @@ -1,6 +1,9 @@ # Dolibarr language file - Source file is en_US - banks Conciliable=Ausgleichsfähig +SupplierInvoicePayment=Lieferantenzahlung ConfirmValidateCheckReceipt=Scheck wirklich annehmen? Eine Änderung ist anschliessend nicht mehr möglich. +BankChecksToReceipt=Checks die auf Einlösung warten +PaymentDateUpdateSucceeded=Zahlungsdatum erfolgreich aktualisiert DefaultRIB=Standart Bankkonto-Nummer RejectCheck=Überprüfung zurückgewiesen ConfirmRejectCheck=Wollen sie diesen Check wirklich als zurückgewiesen Kennzeichnen? diff --git a/htdocs/langs/de_CH/bills.lang b/htdocs/langs/de_CH/bills.lang index 9480fc2db5c..0da19676706 100644 --- a/htdocs/langs/de_CH/bills.lang +++ b/htdocs/langs/de_CH/bills.lang @@ -22,6 +22,7 @@ NoInvoiceToCorrect=Ich habe keine Rechnung zu korrigieren. InvoiceHasAvoir=Korrigiert durch eine oder mehrere Gutschriften CardBill=Rechnungsübersicht InvoiceLine=Rechnungsposition +CustomerInvoicePaymentBack=Gutschrift paymentInInvoiceCurrency=In Rechnungswährung PaidBack=Zurückbezahlt DeletePayment=Zahlung löschen @@ -55,10 +56,12 @@ ConfirmCancelBill=Möchten Sie die Rechnung %s wirklich aufgeben? ConfirmClassifyPaidPartiallyQuestion=Diese Rechnung wurde nicht vollständig bezahlt. Was sind Gründe für das Schliessen dieser Rechnung? ConfirmClassifyPaidPartiallyReasonAvoir=Der offene Zahlbetrag ( %s %s) resultiert aus einem gewährten Skonto. Zur Korrektur der MwSt. wird eine Gutschrift angelegt. ConfirmClassifyPaidPartiallyReasonDiscountNoVat=Der offene Zahlbetrag ( %s %s) resultiert aus einem gewährten Skonto. Ich akzeptiere den Verlust der MwSt. aus diesem Rabatt. +ConfirmClassifyPaidPartiallyReasonBadCustomer=Kundenverschulden RelatedRecurringCustomerInvoices=Verknüpfte wiederkehrende Kundenrechnung SupplierBillsToPay=Offene Lieferantenrechnungen Reduction=Ermässigung Reductions=Ermässigungen +CreditNoteDepositUse=Rechnung muss validiert werden, um diese Gutschriftsart zu verwenden AmountPaymentDistributedOnInvoice=Zahlungsbetrag auf Rechnungen verteilen FrequencyPer_d=Alle %s Tage FrequencyPer_m=Alle %s Monate @@ -70,6 +73,10 @@ MaxPeriodNumber=Maximal Anzahl der generierten Rechnungen NbOfGenerationDone=Anzahl der schon erstellten Rechnungen GeneratedFromRecurringInvoice=Aus wiederkehrender Rechnungsvorlage %s erstellt InvoiceGeneratedFromTemplate=Rechnung %s aus wiederkehrender Rechnungsvorlage %s erstellt +PaymentCondition30DENDMONTH=30 Tage ab Monatsende +PaymentConditionShort60DENDMONTH=60 Tage ab Monatsende +PaymentCondition60DENDMONTH=60 Tage ab Monatsende +PaymentTypeShortTRA=Entwurf ExtraInfos=Zusatzinformationen IntracommunityVATNumber=Innergemeinschaftliche MwSt-Nummer VATIsNotUsedForInvoice=* Nicht für MwSt-art-CGI-293B diff --git a/htdocs/langs/de_CH/bookmarks.lang b/htdocs/langs/de_CH/bookmarks.lang new file mode 100644 index 00000000000..c352d31ab60 --- /dev/null +++ b/htdocs/langs/de_CH/bookmarks.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - bookmarks +ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Verlinkte Seite in neuem oder gleichem Fenster öffnen diff --git a/htdocs/langs/de_CH/boxes.lang b/htdocs/langs/de_CH/boxes.lang index e1966f3510d..4d8d004c42a 100644 --- a/htdocs/langs/de_CH/boxes.lang +++ b/htdocs/langs/de_CH/boxes.lang @@ -1,4 +1,25 @@ # Dolibarr language file - Source file is en_US - boxes -BoxFicheInter=Letzte Einsätze -BoxTitleLastFicheInter=Neueste %s veränderte Eingriffe +BoxLastRssInfos=RSS-Information +BoxLastProducts=%s neueste Produkte/Leistungen +BoxProductsAlertStock=Lagerbestandeswarnungen für Produkte +BoxLastProductsInContract=%s zuletzt in Verträgen verwendete Produkte/Leistungen +BoxOldestUnpaidCustomerBills=Älteste offene Kundenrechnungen +BoxOldestUnpaidSupplierBills=Älteste offene Lieferantenrechnungen +BoxLastCustomers=Zuletzt bearbeitete Kunden +BoxLastSuppliers=Zuletzt bearbeitete Lieferanten +BoxLastActions=Neueste Aktionen +BoxFicheInter=Neueste Arbeitseinsätze +BoxTitleLastRssInfos=%s neueste News von %s +BoxTitleLastProducts=%s zuletzt bearbeitete Produkte/Leistungen +BoxTitleLastCustomersOrProspects=%s neueste Kunden oder Leads +BoxTitleLastFicheInter=%s zuletzt bearbietet Eingriffe +BoxTitleLastModifiedContacts=%s zuletzt bearbeitete Kontakte/Adressen +BoxLastExpiredServices=%s älteste Kontakte mit aktiven abgelaufenen Leistungen +BoxTitleLastActionsToDo=%s neueste Aktionen zu erledigen +BoxTitleLastModifiedDonations=%s zuletzt geänderte Spenden +BoxTitleLastModifiedExpenses=%s zuletzt bearbeitete Spesenabrechnungen +BoxGoodCustomers=Guter Kunde +LastRefreshDate=Datum der letzten Aktualisierung NoRecordedInterventions=Keine verzeichneten Einsätze +LastXMonthRolling=%s letzte Monate gleitend +ChooseBoxToAdd=Box zum Startbildschirm hinzufügen diff --git a/htdocs/langs/de_CH/commercial.lang b/htdocs/langs/de_CH/commercial.lang index 9547037ed39..61171f44fec 100644 --- a/htdocs/langs/de_CH/commercial.lang +++ b/htdocs/langs/de_CH/commercial.lang @@ -1,4 +1,9 @@ # Dolibarr language file - Source file is en_US - commercial -ActionOnCompany=Aufgabe betreffend Firma +CommercialArea=Vertriebs - Übersicht +ActionOnCompany=Verknüpfte Firma +TaskRDVWith=Treffen mit %s ThirdPartiesOfSaleRepresentative=Geschäftspartner mit Vertriebsmitarbeiter +LastDoneTasks=%s zuletzt erledigte Aufgaben +ActionAC_RDV=Treffen +ActionAC_INT=Eingriff vor Ort ActionAC_CLO=Schliessen diff --git a/htdocs/langs/de_CH/companies.lang b/htdocs/langs/de_CH/companies.lang index b5365dd58d4..da38bb15ca9 100644 --- a/htdocs/langs/de_CH/companies.lang +++ b/htdocs/langs/de_CH/companies.lang @@ -5,6 +5,8 @@ MenuNewThirdParty=Neuer Geschäftspartner NewThirdParty=Neuer Geschäftspartner (Leads, Kunden, Lieferanten) CreateDolibarrThirdPartySupplier=Neuen Geschäftspartner erstellen (Lieferant) IdThirdParty=Geschäftspartner ID +IdCompany=Unternehmens ID +IdContact=Kontakt ID ThirdPartyContacts=Geschäftspartner-Kontakte ThirdPartyContact=Geschäftspartner-Kontakt AliasNames=Alias-Name (Geschäftsname, Marke, ...) @@ -12,16 +14,53 @@ ThirdPartyName=Name des Geschäftspartners ThirdParty=Geschäftspartner ThirdParties=Geschäftspartner ThirdPartyType=Typ des Geschäftspartners +Company/Fundation=Firma/Verein ToCreateContactWithSameName=Legt aus diesen Daten autom. eine Person/Kontakt an +No_Email=keine E-Mail-Kampagne senden VATIsUsed=MwSt.-pflichtig VATIsNotUsed=Nicht MwSt-pflichtig CopyAddressFromSoc=Übernehme die Adresse vom Geschäftspartner +ThirdpartyNotCustomerNotSupplierSoNoRef=Adresse ist weder Kunde noch Lieferant, keine Objekte zum Verknüpfen verfügbar +LocalTax1IsUsed=Zweite Steuer verwenden +LocalTax2IsUsed=Dritte Steuer nutzen WrongCustomerCode=Kunden-Code ungültig WrongSupplierCode=Lieferanten-Code ungültig CustomerCodeModel=Kunden-Code-Modell SupplierCodeModel=Lieferanten-Code Modell +ProfId1AR=Prof Id 1 (CUIT) +ProfId2AR=Prof Id 2 (Revenu Bestien) +ProfId4AT=Prof Id 4 +ProfId1BE=Prof Id 1 (Anzahl Professionnel) ProfId1BR=CNPJ +ProfId2BR=IE (Staatliche Behörde) +ProfId3BR=IM (kommunale Behörde) +ProfId3CH=Prof Id 1 (Bundes-Nummer) +ProfId4CH=Prof Id 2 (Commercial Record-Nummer) ProfId4DE=Steuernummer +ProfId1ES=Prof Id 1 (CIF / NIF) +ProfId2ES=Prof Id 2 (Social Security Number) +ProfId4ES=Prof Id 4 (Collegiate Anzahl) +ProfId3FR=Prof Id 3 (NAF, alte APE) +ProfId4FR=Prof Id 4 (RCS / RM) +ProfId5FR=Prof Id 5 +ProfId1GB=Prof Id 1 (Registration Number) +ProfId3GB=Prof Id 3 (SIC) +ProfId2IN=Prof Id 2 +ProfId3IN=Prof Id 3 +ProfId1LU=Id prof. 1 (R.C.S. Luxemburg) +ProfId2LU=Id. Prof. 2 +ProfId3LU=Id. Prof. 3 +ProfId4LU=Id. Prof. 4 +ProfId5LU=Id. Prof. 5 +ProfId6LU=Id. Prof. 6 +ProfId5MA=Id prof. 5 (C.I.C.E) +ProfId4NL=- +ProfId2PT=Prof Id 2 (Social Security Number) +ProfId3PT=Prof Id 3 (Commercial Record-Nummer) +ProfId4PT=Prof Id 4 (Konservatorium) +ProfId2TN=Prof Id 2 (Geschäftsjahr matricule) +ProfId3TN=Prof Id 3 (Douane-Code) +ProfId1RU=Prof ID 1 (OGRN) VATIntraShort=MwSt.-Nr. CustomerCard=Kundenkarte CustomerRelativeDiscountShort=Rabatt rel. @@ -30,11 +69,13 @@ CompanyHasNoRelativeDiscount=Dieser Kunde hat standardmässig keinen relativen R NoContactDefinedForThirdParty=Für diesen Geschäftspartner ist kein Kontakt eingetragen NoContactDefined=Kein Kontakt vorhanden AddThirdParty=Geschäftspartner erstellen +CustomerCode=Kunden-Nummer CustomerCodeShort=Kunden-Nr. SupplierCodeShort=Lieferanten-Nr. RequiredIfCustomer=Erforderlich falls Geschäftspartner Kunde oder Interessent ist RequiredIfSupplier=Erforderlich falls Geschäftspartner Lieferant ist ListOfThirdParties=Liste der Geschäftspartner +ContactForOrdersOrShipments=Bestellungs- oder Lieferkontakt ContactForProposals=Offertskontakt NoContactForAnyOrder=Kein Kontakt für Bestellungen NoContactForAnyProposal=Kein Kontakt für Offerte @@ -49,12 +90,16 @@ DolibarrLogin=Dolibarr Benutzername ExportDataset_company_1=Geschäftspartner (Unternehmen/Stiftungen/Personen) und Eigenschaften ImportDataset_company_1=Geschäftspartner (Unternehmen/Stiftungen/Personen) und Eigenschaften ImportDataset_company_4=Geschäftspartner / Aussendienstmitarbeiter (Auswirkung Aussendienstmitarbeiter an Unternehmen) +AllocateCommercial=Vertriebsmitarbeiter zuweisen Organization=Organisation FiscalMonthStart=Ab Monat des Geschäftsjahres -YouMustCreateContactFirst=Sie müssen erst E-Mail-Kontakte für einen Geschäftspartner anlegen, um E-Mail-Benachrichtigungen hinzufügen zu können. ThirdPartiesArea=Geschäftspartner- und Kontaktbereich LastModifiedThirdParties=Letzte %s bearbeitete Geschäftspartner +OutstandingBillReached=Kreditlimit erreicht MergeOriginThirdparty=Geschäftspartner duplizieren (Geschäftspartner, den Sie löschen möchten) MergeThirdparties=Zusammenführen von Geschäftspartnern ConfirmMergeThirdparties=Sind Sie sicher, dass Sie diesen Geschäftspartner mit dem aktuellen Geschäftspartner zusammenführen wollen? Alle verknüpften Objekte (Rechnungen, Bestellungen, ...) werden in den aktuellen Geschäftspartner verschoben, so dass Sie das Duplikat löschen können. ThirdpartiesMergeSuccess=Geschäftspartner wurden zusammengelegt +SaleRepresentativeLogin=Login des Verkaufsmitarbeiters +SaleRepresentativeFirstname=Vorname des Verkaufsmitarbeiters +SaleRepresentativeLastname=Nachname des Verkaufsmitarbeiters diff --git a/htdocs/langs/de_CH/compta.lang b/htdocs/langs/de_CH/compta.lang index a52c7dac1ac..0cd5bacccac 100644 --- a/htdocs/langs/de_CH/compta.lang +++ b/htdocs/langs/de_CH/compta.lang @@ -5,15 +5,21 @@ VATReceived=Erhobene MwSt. VATSummary=MwSt. Saldo VATPaid=Bezahlte MwSt. VATCollected=Erhobene MwSt. +SocialContributionsDeductibles=Abzugsberechtigte Sozialabgaben/Steuern +SocialContributionsNondeductibles=Nicht abzugsberechtigte Sozialabgaben/Steuern PaymentVat=MwSt.-Zahlung +VATPayment=MwSt.-Zahlung ShowVatPayment=Zeige MwSt. Zahlung ByThirdParties=Durch Geschäftspartner +LastCheckReceiptShort=Letzte %s Scheckeinnahmen +NoWaitingChecks=Keine Schecks warten auf Einlösung. CalcModeVATDebt=Modus %s Mwst. auf Engagement Rechnungslegung %s. CalcModeLT2Rec=Modus %sIRPF aufLieferantenrechnungen%s AnnualByCompaniesDueDebtMode=Die Einnahmen/Ausgaben-Bilanz nach Geschäftspartnern im Modus %sForderungen-Verbindlichkeiten%s meldet Kameralistik. SeeReportInInputOutputMode=Der %sEinkünfte-Ausgaben%s-Bericht medlet Istbesteuerung für eine Berechnung der tatsächlich erfolgten Zahlungsströme. RulesResultDue=- Dies beinhaltet ausstehende Rechnungen, Aufwendungen, Mehrwertsteuern, Abgaben, ob sie bezahlt wurden oder nicht. Auch die gezahlten Gehälter.
- Es gilt das Freigabedatum von den Rechnungen und MwSt., sowie das Fälligkeitsdatum für Aufwendungen. Für Gehälter definiert mit dem Modul Löhne, wird das Valutadatum der Zahlung verwendet. LT2ReportByCustomersInInputOutputModeES=Bericht von Geschäftspartner EKSt. +VATReport=MWsT Bericht VATReportByCustomersInInputOutputMode=Bericht zur vereinnahmten und bezahlten MwSt. nach Kunden VATReportByCustomersInDueDebtMode=Bericht zur vereinnahmten und bezahlten MwSt. nach Kunden VATReportByQuartersInInputOutputMode=Quartalsbericht zur vereinnahmten und bezahlten MwSt. @@ -21,7 +27,11 @@ VATReportByQuartersInDueDebtMode=Quartalsbericht zur vereinnahmten und bezahlten SeeVATReportInInputOutputMode=Siehe %sMwSt.-Einnahmen%s-Bericht für eine standardmässige Berechnung SeeVATReportInDueDebtMode=Siehe %sdynamischen MwSt.%s-Bericht für eine Berechnung mit dynamischer Option ThirdPartyMustBeEditAsCustomer=Geschäftspartner muss als Kunde definiert werden +ToCreateAPredefinedInvoice=Um eine Rechnungsvorlage zu erstellen, erstellen Sie eine Standard-Rechnung und klicken dann (ohne Freigabe) auf den Knopf "%s". CalculationRuleDesc=Zur Berechnung der Gesamt-MwSt. gibt es zwei Methoden:
Methode 1 rundet die Steuer in jeder Zeile und addiert zum Schluss.
Methode 2 summiert alle Steuer-Zeilen und rundet am Ende.
Das endgültige Ergebnis kann sich in wenigen Cent unterscheiden. Standardmodus ist Modus %s. CalculationRuleDescSupplier=Gemäss Ihrem Lieferanten, wählen Sie die geeignete Methode, um die gleiche Berechnungsregel anzuwenden um das selbe Ergebnis wie Ihr Lieferant zu bekommen. ACCOUNTING_ACCOUNT_CUSTOMER=Standard Buchhaltungs-Konto für Kunden/Debitoren ACCOUNTING_ACCOUNT_SUPPLIER=Standard Buchhaltungs-Konto für Lieferanten/Kreditoren +LinkedFichinter=Mit einem Eingriff verknüpfen +ImportDataset_tax_contrib=Sozialabgaben/Steuern importieren +ImportDataset_tax_vat=MWsT Zahlungen importieren diff --git a/htdocs/langs/de_CH/contracts.lang b/htdocs/langs/de_CH/contracts.lang index dd33786259b..f7e73d50b41 100644 --- a/htdocs/langs/de_CH/contracts.lang +++ b/htdocs/langs/de_CH/contracts.lang @@ -1,8 +1,15 @@ # Dolibarr language file - Source file is en_US - contracts +ContractCard=Vertragskarte +ShowContractOfService=Zeige Vertrag zu Leistung Closing=Schliessen CloseAContract=Schliessen eines Vertrages ConfirmCloseContract=Dies schliesst auch alle verbundenen Leistungen (aktiv oder nicht). Sind sie sicher, dass Sie den Vertrag schliessen möchten? ConfirmCloseService=Möchten Sie dieses Service wirklich mit Datum %s schliessen? +ListOfClosedServices=Liste der geschlossenen Services +LastModifiedServices=%s zuletzt bearbeitete Leistungen +DateEndPlanned=Geplantes Ende +DateStartRealShort=Beginn eff. +DateEndRealShort=Ende eff. CloseService=Leistung schliessen CloseRefusedBecauseOneServiceActive=Schliessen nicht möglich, es existieren noch aktive Leistungen CloseAllContracts=schliesse alle Vertragsleistungen diff --git a/htdocs/langs/de_CH/cron.lang b/htdocs/langs/de_CH/cron.lang index d98f4ffa3e7..ee84919c879 100644 --- a/htdocs/langs/de_CH/cron.lang +++ b/htdocs/langs/de_CH/cron.lang @@ -1,3 +1,12 @@ # Dolibarr language file - Source file is en_US - cron +CronMethodDoesNotExists=Klasse %s hat keine %s Methode +EnabledAndDisabled=Aktiviert und deaktiviert CronInfo=Das Schedule Cron-Jobs Module erlaubt die geplanten Cron-Jobs die programmiert wurden durchzuführen. +CronDtStart=Nicht vor +CronDtEnd=Nicht nach +CronMaxRun=Max. Anzahl Starts JobFinished=Job gestarted und beendet +UseMenuModuleToolsToAddCronJobs=Öffnen Sie das Menü "Start - Module Werkzeuge - Cronjob Liste" um geplante Skript-Aufgaben zu sehen und zu verändern. +JobDisabled=Job deaktiviert +MakeLocalDatabaseDumpShort=Lokale Datenbanksicherung +MakeLocalDatabaseDump=Lokaler Datenbankdump erstellen diff --git a/htdocs/langs/de_CH/deliveries.lang b/htdocs/langs/de_CH/deliveries.lang new file mode 100644 index 00000000000..857d52bd6b2 --- /dev/null +++ b/htdocs/langs/de_CH/deliveries.lang @@ -0,0 +1,5 @@ +# Dolibarr language file - Source file is en_US - deliveries +DeliveryRef=Ref. Lieferung +DeliveryStateSaved=Lieferstatus gespeichert +StatusDeliveryValidated=Erhalten +ShowReceiving=Lieferschein anzeigen diff --git a/htdocs/langs/de_CH/dict.lang b/htdocs/langs/de_CH/dict.lang index 95cfe3498e2..ff6afe3e5e0 100644 --- a/htdocs/langs/de_CH/dict.lang +++ b/htdocs/langs/de_CH/dict.lang @@ -1,3 +1,4 @@ # Dolibarr language file - Source file is en_US - dict CountryGB=Grossbritannien CountryBY=Weissrussland +CountryHM=Heard und McDonald Inseln diff --git a/htdocs/langs/de_CH/errors.lang b/htdocs/langs/de_CH/errors.lang index 934ef45babf..1516ede3104 100644 --- a/htdocs/langs/de_CH/errors.lang +++ b/htdocs/langs/de_CH/errors.lang @@ -1,14 +1,29 @@ # Dolibarr language file - Source file is en_US - errors +ErrorBadValueForParamNotAString=Ungültiger Wert für ihre Parameter. Das passiert normalerweise, wenn die Übersetzung fehlt. ErrorBadThirdPartyName=Der für den Geschäftspartner eingegebene Name ist ungültig. +ErrorBadValueForParameter=Ungültiger Wert '%s' für Parameter '%s' +ErrorUserCannotBeDelete=Benutzer kann nicht gelöscht werden. Eventuell ist er noch mit Einträgen verknüpft. ErrorFieldsRequired=Ein oder mehrere erforderliche Felder wurden nicht ausgefüllt- ErrorFileSizeTooLarge=Die Grösse der gewählten Datei übersteigt den zulässigen Maximalwert. ErrorSizeTooLongForIntType=Die Grösse überschreitet das Maximum für den Typ 'int' (%s Ziffern maximal) ErrorSizeTooLongForVarcharType=Die Grösse überschreitet das Maximum für den Typ 'string' (%s Zeichen maximal) ErrorNoValueForCheckBoxType=Bitte Wert für Checkbox-Liste eingeben ErrorFieldCanNotContainSpecialNorUpperCharacters=Das Feld %s darf keine Sonderzeichen, Grossbuchstaben und Zahlen enthalten. +ErrorModuleSetupNotComplete=Das Setup des Moduls scheint unvollständig zu sein. Führen Sie nochmal das Setup aus um das Modul zu vervollständigen. ErrorMaxNumberReachForThisMask=Maximum Grösse für diese Maske erreicht ErrorProdIdAlreadyExist=%s wurde bereits einem Geschäftspartner zugewiesen ErrorForbidden3=Es scheint keine ordnungsgemässe Authentifizierung für das System vorzuliegen. Bitte werfen Sie einen Blick auf die Systemdokumentation um die entsprechenden Authentifizierungsoptionen zu verwalten (htaccess, mod_auth oder andere...) +ErrorDateMustBeBeforeToday=Datum darf nicht in der Zukunft sein ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Fehler: Dieses Mitglied ist noch nicht mit einem Geschäftspartner verbunden. Verknüpfen Sie das Mitglied zuerst mit einem vorhandenen Geschäftspartner oder legen Sie einen neuen an, bevor Sie ein Abonnement mit Rechnung erstellen. +ErrorWarehouseRequiredIntoShipmentLine=Warenlager ist auf der Lieferzeile erforderlich. +ErrorFileMustHaveFormat=Datei muss das Format %s haben +ErrorSupplierCountryIsNotDefined=Zu diesem Lieferant ist kein Land definiert. Bitte korrigieren Sie dies zuerst. +ErrorsThirdpartyMerge=Die zwei Einträge können nicht zusammengeführt werden. Aktion abgebrochen. +ErrorStockIsNotEnoughToAddProductOnOrder=Lagerbestand von Produkt %s ist zu klein um es zu einer neuen Bestellung hinzuzufügen. +ErrorStockIsNotEnoughToAddProductOnInvoice=Lagerbestand von Produkt %s ist zu klein um es zu einer neuen Rechnung hinzuzufügen. +ErrorStockIsNotEnoughToAddProductOnShipment=Lagerbestand von Produkt %s ist zu klein um es zu einer neuen Lieferung hinzuzufügen. +ErrorStockIsNotEnoughToAddProductOnProposal=Lagerbestand von Produkt %s ist zu klein um es zu einer neuen Offerte hinzuzufügen. WarningPassIsEmpty=Warnung: Derzeit ist kein Datenbankpasswort gesetzt. Dies ist eine Sicherheitslücke. Konfigurieren Sie ehestmöglich ein Passwort für den Datenbankzugriff und passen Sie Ihre conf.php entsprechend an. WarningNoDocumentModelActivated=Für das Erstellen von Dokumenten ist keine Vorlage gewählt. Eine Vorlage wird standardmässig ausgewählt, bis Sie die Moduleinstellungen angepasst haben. +WarningSomeLinesWithNullHourlyRate=Einige Zeiten wurden durch Benutzer erfasst bei denen der Stundenansatz nicht definiert war. Ein Stundenansatz von 0 %s pro Stunde wird verwendet, was aber Fehlerhafte Zeitauswertungen zur Folge haben kann. +WarningYourLoginWasModifiedPleaseLogin=Ihr Login wurde verändert. Aus Sicherheitsgründen müssen sie sich vor der nächsten Aktion neu anmelden. diff --git a/htdocs/langs/de_CH/exports.lang b/htdocs/langs/de_CH/exports.lang index 704d8e87ac8..6beb1f4b14a 100644 --- a/htdocs/langs/de_CH/exports.lang +++ b/htdocs/langs/de_CH/exports.lang @@ -1,3 +1,11 @@ # Dolibarr language file - Source file is en_US - exports +FormatedImportDesc2=Wählen Sie zuerst den Dateityp für den Import, dann die entsrechende Datei und zuletzt die zu importierenden Felder. +FileSuccessfullyBuilt=Filter generiert ChooseFileToImport=Wählen Sie zu importierende Datei und klicken Sie anschliessend auf das %s Symbol... +DataComeFromIdFoundFromCodeId=Der Eintrag aus der Quelldatei mit der Feldnummer %s wird zur Referenzierung verwendet. Dazu muss die ID des Objektes im Wörterbuch %s existieren. Ist Ihnen die ID bekannt, dann können Sie auch diese in der Quelldatei - anstelle des Codes - eintragen. Der Import sollte in beiden Fällen funktionieren. +ExampleAnyCodeOrIdFoundIntoDictionary=Ein Code (oder eine ID) wurde im Dictionnary %s gefunden ExportNumericFilter='NNNNN' filtert genau einen Wert
'NNNNN+NNNNN' filtert einen Wertebereich
'>NNNNN' filtert nach kleineren Werten
'>NNNNN' filtert nach grösseren Werten +ImportFromLine=Import ab Zeile Nummer +EndAtLineNb=Bis zu Zeile Nummer +SetThisValueTo2ToExcludeFirstLine=zB. auf 3 setzen, um die ersten beiden Zeilen zu ignorieren +KeepEmptyToGoToEndOfFile=Diese Feld leer lassen um die Datei bis zum Ende einzulesen diff --git a/htdocs/langs/de_CH/holiday.lang b/htdocs/langs/de_CH/holiday.lang index b79124fda7d..b1819a946b7 100644 --- a/htdocs/langs/de_CH/holiday.lang +++ b/htdocs/langs/de_CH/holiday.lang @@ -1,12 +1,21 @@ # Dolibarr language file - Source file is en_US - holiday +NotActiveModCP=Sie müssen das Urlaubs-Modul aktivieren um diese Seite zu sehen. +AddCP=Urlaubs-Antrag einreichen CancelCP=widerrufen +SendRequestCP=Urlaubs-Antrag erstellen +MenuConfCP=Feriensaldo ErrorSQLCreateCP=Ein SQL Fehler trat auf bei der Eerstellung von: +ErrorUserViewCP=Sie sind nicht berechtigt diesen Urlaubs-Antrag zu lesen. InfosWorkflowCP=Informations-Workflow DeleteCP=Löschen ActionCancelCP=Abbrechen +NoDateDebut=Sie müssen ein Urlaubsbeginn Datum wählen. +NoDateFin=Sie müssen ein Urlaubsende Datum wählen. DateCancelCP=Datum der Absage HolidaysCancelation=Urlaubsanfragen Stornos +EmployeeFirstname=Miarbeiter Vorname ErrorMailNotSend=Ein Fehler ist beim EMail-Senden aufgetreten: HolidaysToValidateAlertSolde=Der Einreicher dieses Urlaubsantrags besitzt nicht mehr genügend verfügbare Tage. HolidaysCanceled=Urlaubsantrag storniert HolidaysCanceledBody=Ihr Antrag auf Urlaub von %s bis %s wurde storniert. +GoIntoDictionaryHolidayTypes=Öffnen Sie das Menü Start - Einstellungen - Wörterbücher - Art des Urlaubs um die verschiedene Urlaubsarten zu konfigurieren. diff --git a/htdocs/langs/de_CH/hrm.lang b/htdocs/langs/de_CH/hrm.lang index 6785f446240..58d3f8f00e6 100644 --- a/htdocs/langs/de_CH/hrm.lang +++ b/htdocs/langs/de_CH/hrm.lang @@ -6,3 +6,5 @@ DeleteEstablishment=Betrieb löschen ConfirmDeleteEstablishment=Sind Sie sicher, dass Sie diesen Betrieb löschen wollen? OpenEtablishment=Betrieb wählen CloseEtablishment=Betrieb schliessen +DictionaryDepartment=Personalverwaltung - Abteilungsliste +DictionaryFunction=Personalverwaltung - Funktionsliste diff --git a/htdocs/langs/de_CH/install.lang b/htdocs/langs/de_CH/install.lang index eee1497d566..d7167fd1730 100644 --- a/htdocs/langs/de_CH/install.lang +++ b/htdocs/langs/de_CH/install.lang @@ -1,4 +1,13 @@ # Dolibarr language file - Source file is en_US - install +ConfFileIsNotWritable=Die Konfigurationsdatei %s ist nicht beschreibbar. Bitte überprüfen Sie die Dateizugriffsrechte. Für die Erstinstallation muss Ihr Webserver in die Konfigurationsdatei schreiben können, sezzten Sie die Dateiberechtigungen entsprechend (z.B. mittels "chmod 666" auf Unix-Betriebssystemen). +ErrorDatabaseAlreadyExists=Eine Datenbank mit dem Namen '%s' exisitiert bereits. +IfDatabaseExistsGoBackAndCheckCreate=Sollte die Datebank bereits existieren, gehen Sie bitte zurück und deaktivieren Sie das Kontrollkästchen "Datenbank erstellen". +AdminLoginCreatedSuccessfuly=Das dolibarr-Administratorkonto '%s' wurde erfolgreich erstellt. DirectoryRecommendation=Es empfiehlt sich die Verwendung eines Ordners ausserhalb Ihres Webverzeichnisses. ChooseYourSetupMode=Wählen Sie Ihre Installationsart und klicken Sie anschliessend auf "Start"... CorrectProblemAndReloadPage=Bitte beheben Sie das Problem und klicken Sie anschliessend auf F5 um die Seite neu zu laden. +WarningUpgrade=Warnung: \nHaben Sie zuerst eine Sicherungskopie der Datenbank gemacht ? \nAufgrund der Probleme im Datenbanksystem (zB MySQL Version 5.5.40/41/42/43 ) , viele Daten oder Tabellen können während der Migration verloren gehen, so ist es sehr empfehlenswert, vor dem Starten des Migrationsprozesses, eine vollständige Sicherung Ihrer Datenbank zu haben.\n\nKlicken Sie auf OK , um die Migration zu starten +ErrorDatabaseVersionForbiddenForMigration=Die Version Ihres Datenbankmanager ist %s.\nDies ist einen kritischer Bug welcher zu Datenverlust führen kann, wenn Sie die Struktur der Datenbank wie vom Migrationsprozess erforderlich ändern. Aus diesem Grund, ist die Migration nicht erlaubt bevor der Datenbankmanager auf eine später Version aktualisiert wurde (Liste betroffer Versionen %s ) +MigrationContractsEmptyDatesUpdateSuccess=Korrektur der undefinierten Vertragsdaten erfolgreich +MigrationContractsIncoherentCreationDateUpdateSuccess=Korrektur ungültiger Vertragserstellungsdaten erfolgreich +ErrorFoundDuringMigration=Fehler wurden beim Migrationsprozess entdeckt, daher ist der nächste Schritt nicht verfügbar. Um den Fehler zu ignorieren können sie hier klicken, aber Anwendungen oder manche Funktionen können eventuell nicht richtig funktionieren solange der Fehler nicht behoben wurde. diff --git a/htdocs/langs/de_CH/interventions.lang b/htdocs/langs/de_CH/interventions.lang index 85a704ae1d0..5f235714ad5 100644 --- a/htdocs/langs/de_CH/interventions.lang +++ b/htdocs/langs/de_CH/interventions.lang @@ -6,15 +6,18 @@ NewIntervention=Neuer Einsatz AddIntervention=Einsatz erstellen ListOfInterventions=Liste der Einsätze ActionsOnFicheInter=Aktionen zum Eingriff +LastInterventions=Letzte %s Einsätze AllInterventions=Alle Einsätze DeleteIntervention=Einsatz löschen ValidateIntervention=Einsatz freigeben ModifyIntervention=Geänderte Eingriff DeleteInterventionLine=Eingriffszeile löschen +CloneIntervention=Einsatz duplizieren ConfirmDeleteIntervention=Möchten Sie diese Arbeitsleistung wirklich löschen? ConfirmValidateIntervention=Möchten Sie diese Arbeitsleistung mit der Referenz %s wirklich freigeben? ConfirmModifyIntervention=Möchten sie diese Arbeitsleistung wirklich verändern? ConfirmDeleteInterventionLine=Möchten Sie diese Arbeitsleistung wirklich löschen? +ConfirmCloneIntervention=Möchten Sie diesen Einsatz wirklich duplizieren? DocumentModelStandard=Standard-Dokumentvorlage für Arbeitseinsätze InterventionCardsAndInterventionLines=Einsatzkarte und Einsatzzeilen ShowIntervention=Zeige Kundeneinsatz @@ -28,7 +31,12 @@ InterventionClassifiedUnbilledInDolibarr=Eingriff %s als nicht verrechnet einges InterventionDeletedInDolibarr=Eingriff %s gelöscht InterventionsArea=Arbeitseinsätze Übersicht DraftFichinter=Kundeneinsätze Entwürfe +LastModifiedInterventions=%s zuletzt bearbietet Einsätze +PrintProductsOnFichinter=Drucke auch Produkte (Nicht nur Leistungen) auf Eingriffskarten PrintProductsOnFichinterDetails=Interventionen von Bestellungen generiert +InterventionStatistics=Statistik der Einsätze +NbOfinterventions=Anzahl Einsatzkarten +NumberOfInterventionsByMonth=Anzahl Einsatzkarten pro Monat (Nach Freigabedatum) InterId=Einsatz ID InterRef=Einsatz Ref. InterDateCreation=Erstellungsdatum Einsatz diff --git a/htdocs/langs/de_CH/mailmanspip.lang b/htdocs/langs/de_CH/mailmanspip.lang new file mode 100644 index 00000000000..8528d04d409 --- /dev/null +++ b/htdocs/langs/de_CH/mailmanspip.lang @@ -0,0 +1,5 @@ +# Dolibarr language file - Source file is en_US - mailmanspip +MailmanCreationSuccess=Anmeldung Test wurde erfolgreich durchgeführt +MailmanDeletionSuccess=Abmeldung Test wurde erfolgreich durchgeführt +SuccessToAddToMailmanList=Hinzufügen von %s, in mailman-Liste %s oder SPIP-Datenbank erfolgreich +SuccessToRemoveToMailmanList=Entfernung von %s, in mailman-Liste %s oder SPIP-Datenbank durchgeführt diff --git a/htdocs/langs/de_CH/mails.lang b/htdocs/langs/de_CH/mails.lang index 6d29c26ea40..8c76debd890 100644 --- a/htdocs/langs/de_CH/mails.lang +++ b/htdocs/langs/de_CH/mails.lang @@ -1,9 +1,25 @@ # Dolibarr language file - Source file is en_US - mails ConfirmResetMailing=Achtung, wenn Sie diese E-Mail Kampangne (%s), können Sie diese Aktion nochmals versenden. Sind Sie sicher, das ist tun möchten? +DateLastSend=Datum des letzten Versand ActivateCheckReadKey=Schlüssel um die URL für "Lesebestätigung" und "Abmelden/Unsubscribe" zu verschlüsseln +AllRecipientSelected=Alle Partner mit E-Mail ausgewählt +ResultOfMailSending=Ergebnis der Massen-E-Mailversand +NbSelected=Anzahl selektiert +NbIgnored=Anzahl ignoriert +NbSent=Anzahl versendet RecipientSelectionModules=Definiert Empfängerauswahlen NbOfCompaniesContacts=Einzigartige Geschäftspartner-Kontakte +EMailRecipient=E-Mailadresses des Empfängers +TagMailtoEmail=Empfänger E-Mail (Inklusive html "mailto:" link) NoNotificationsWillBeSent=Für dieses Ereignis und diesen Geschäftspartner sind keine Benachrichtigungen geplant AddNewNotification=Neues E-Mail-Beachrichtigungsziel aktivieren -ListOfActiveNotifications=Liste aller aktiven E-Mail-Beachrichtigungsziele MailSendSetupIs2=Sie müssen zuerst mit einem Admin-Konto im Menü %sStart - Einstellungen - EMails%s den Parameter '%s' auf den Modus '%s' ändern. Dann können Sie die Daten des SMTP-Servers von Ihrem Internetdienstanbieter eingeben und die E-Mail-Kampagnen-Funktion nutzen. +MailAdvTargetRecipients=Empfänger (Erweiterte Selektion) +AdvTgtSearchIntHelp=Intervall verwenden um den Zahlenwert auszuwählen +AdvTgtMinVal=Minimalwert +AdvTgtSearchDtHelp=Intervall verwenden um den Datumswert auszuwählen +RemoveAll=Alle entfernen +ItemsCount=Eintrag/Einträge +AdvTgtAddContact=E-Mails gemäss Bedingungen hinzufügen +NoContactWithCategoryFound=Keine Kontakte/Adresse mit einer Kategorie gefunden +NoContactLinkedToThirdpartieWithCategoryFound=Keine verlinkte Kontakte/Adresse mit einer Kategorie gefunden diff --git a/htdocs/langs/de_CH/main.lang b/htdocs/langs/de_CH/main.lang index 3a1b305e257..4a5c0aee792 100644 --- a/htdocs/langs/de_CH/main.lang +++ b/htdocs/langs/de_CH/main.lang @@ -19,22 +19,42 @@ FormatDateHourShort=%d.%m.%Y %H:%M FormatDateHourSecShort=%d.%m.%Y %H:%M:%S FormatDateHourTextShort=%d %b %Y %H:%M FormatDateHourText=%d %B %Y %H:%M +NoTemplateDefined=Keine Vorlage für diese E-Mailart definiert +AvailableVariables=Verfügbare Ersatzvariablen +NotEnoughDataYet=Nicht genügend Daten +ErrorCanNotCreateDir=Kann Verzeichnis %s nicht erstellen ErrorFileNotUploaded=Die Datei konnte nicht hochgeladen werden. Stellen Sie sicher dass die Dateigrösse nicht den gesetzten Maximalwert übersteigt, das Zielverzeichnis über genügend freien Speicherplatz verfügt und noch keine Datei mit gleichem Namen existiert. ErrorNoSocialContributionForSellerCountry=Fehler, keine Definition für Sozialabgaben/Steuerwerte definiert für Land '%s'. +GoToWikiHelpPage=Onlinehilfe (Internetzugang notwendig) +RequestLastAccessInError=Letzter Datenbankfehler +ReturnCodeLastAccessInError=Rückgabewert des letzten Datenbankfehlers +InformationLastAccessInError=Informationen zum letzten Datenbankfehler +InformationToHelpDiagnose=Diese Informationen könnten bei der Diagnose des Fehlers behilflich sein +MediaBrowser=Mediabrowser +AddToDraft=Zu Entwurf hinzufügen Close=Schliessen +CloseBox=Box vom Startbildschirm entfernen ValidateAndApprove=Freigeben und bestätigen NoUserGroupDefined=Keine Benutzergruppe definiert +DateToday=Aktuelles Datum +DateStart=Startdatum +DateEnd=Enddatum DateModificationShort=Änd.Datum DateClosing=Schliessungsdatum DateOperationShort=Ausf.Datum MinuteShort=min AmountHT=Betrag (exkl. MwSt.) AmountVAT=MwSt.-Betrag +MulticurrencyAmountHT=Nettobetrag, in Währung +MulticurrencyAmountTTC=Bruttobetrag, in Währung +MulticurrencyAmountVAT=Steuerbetrag, in Währung AmountLT1=MwSt.-Betrag 2 AmountLT2=MwSt.-Betrag 3 +TotalHTShortCurrency=Totalbetrag (In Währung) TotalTTCShort=Totalbetrag (inkl. MwSt.) TotalHT=Totalbetrag TotalHTforthispage=Totalbetrag für diese Seite +Totalforthispage=Total für diese Seite TotalVAT=MwSt. TotalLT1=Gesamte MwSt. 2 TotalLT2=Gesamte MwSt. 3 @@ -47,17 +67,36 @@ Refused=zurückgewiesen Validated=Freigegeben Size=Grösse ByCompanies=Von Geschäftspartnern +LateDesc=Die anzahl Tage die einen Datensatz verspätet markiert, hängt von ihren Einstellungen ab. Fragen sie den Administrator umd die Einstellung unter Home-Setup-Alerts zu ändern. +Keyword=Stichwort NbOfThirdParties=Anzahl der Geschäftspartner +NbOfObjectReferers=Anzahl verknüpfter Objekte +Referers=Verknüpfte Objekte CloseWindow=Fenster schliessen +SendAcknowledgementByMail=Bestätigungsemail senden NoMobilePhone=Kein Mobiltelefon YouCanChangeValuesForThisListFromDictionarySetup=Sie können die Listenoptionen in den Wörterbuch-Einstellungen anpassen +YouCanSetDefaultValueInModuleSetup=Standardwerte für neue Datensätzen können im Modulsetup eingestellt werden FreeLineOfType=Freitext vom Typ CoreErrorMessage=Entschulding, ein Fehler ist aufgetreten. Prüfen die die Logdateien oder benachrichtigen Sie den Administrator. FieldsWithIsForPublic=Felder mit %s sind für Mitglieder öffentlich sichtbar. Über die "Öffentlich"-Checkbox können Sie dies ändern. +ByMonthYear=Von Monat / Jahr +AdminTools=Adminwerkzeuge +SelectAction=Aktion auswählen Sincerely=Mit freundlichen Grüssen +NoPDFAvailableForDocGenAmongChecked=Für die ausgewählten Datensätze waren keine PDF für die Dokumentengenerierung verfügbar +TooManyRecordForMassAction=Zu viele Datensätze für Massenaktion ausgewählt. Die Aktion ist auf maximal %s Datensätze limitiert. +MassFilesArea=Bereich für Dateien, die durch Massenaktionen erstellt werden +ShowTempMassFilesArea=Bereich für Dateien anzeigen, die durch Massenaktionen erstellt wurden +ClassifyBilled=Verrechnet +Progress=Fortschritt ShortTuesday=D ShortWednesday=M ShortThursday=D Select2Enter=Eingabe +SearchIntoThirdparties=Drittparteien +SearchIntoCustomerProposals=Angebote Kunde SearchIntoInterventions=Arbeitseinsätze +SearchIntoCustomerShipments=Kundenlieferungen SearchIntoExpenseReports=Spesenrapporte +SearchIntoLeaves=Ferien diff --git a/htdocs/langs/de_CH/margins.lang b/htdocs/langs/de_CH/margins.lang index 2434a3d0f33..fbfef69dc8e 100644 --- a/htdocs/langs/de_CH/margins.lang +++ b/htdocs/langs/de_CH/margins.lang @@ -1,2 +1,5 @@ # Dolibarr language file - Source file is en_US - margins MARGIN_TYPE=Kaufpreis / Kosten standardmässig vorgeschlagen für Standardmargenkalkulation empfohlen\n +MargeType3=Spanne vom Einstandspreis +ShowMarginInfos=Zeige Spannen-Informationen +CheckMargins=Details zur Gewinnspanne diff --git a/htdocs/langs/de_CH/members.lang b/htdocs/langs/de_CH/members.lang index 8094272a111..626846f9bae 100644 --- a/htdocs/langs/de_CH/members.lang +++ b/htdocs/langs/de_CH/members.lang @@ -1,5 +1,45 @@ # Dolibarr language file - Source file is en_US - members +MembersArea=Mitgliederbereich +MemberCard=Mitgliederkarte +ShowMember=Mitgliederkarte anzeigen +UserNotLinkedToMember=Benutzer nicht mit einem Mitglied verknüpft +ThirdpartyNotLinkedToMember=Partner nicht mit einem Mitglied verknüpft +FundationMembers=Gründungsmitglieder +ListOfValidatedPublicMembers=Liste der verifizierten öffentlichen Mitglieder +ErrorMemberIsAlreadyLinkedToThisThirdParty=Ein anderes Mitglied (Name: %s, login: %s) ist schon mit Partner %s verknüpft. Entfernen Sie zuerst die Verknüpfung, da immer nur ein Mitglied zugewiesen sein kann (und umgekehrt). +ThisIsContentOfYourCard=Details Ihrer Karte +CardContent=Inhalt Ihrer Mitgliederkarte +SetLinkToUser=Verknüpfung zu Dolibarr Benutzer +SetLinkToThirdParty=Verknüpfung zu Dolibarr Partner +MembersList=Mitgliederliste +MembersListToValid=Liste der zu verifizierenden Mitglieder +MembersListValid=Liste der verifizierten Mitglieder +MembersListUpToDate=Liste der verifizierten aktiven Mitglieder +DateSubscription=Start des Abonnements +DateEndSubscription=Ende des Abonnements +EndSubscription=Abonnement beenden +SubscriptionId=Abonnement ID +MemberId=Mitgliedernummer +MemberType=Mitgliederart +MembersTypes=Mitgliederarten MemberStatusDraftShort=Entwurf +Subscriptions=Abonnemente +ListOfSubscriptions=Liste der Abonnemente +SendCardByMail=Karte per E-Mail senden +NewMemberType=Neue Mitgliederart +WelcomeEMail=Begrüssungsemail +SubscriptionRequired=Abonnement notwendig DeleteType=Löschen +VoteAllowed=Abstimmen erlaubt +ShowSubscription=Abonnement anzeigen +SendAnEMailToMember=Informationsemail dem Mitglied senden +HTPasswordExport=htpassword Datei generieren +MembersAndSubscriptions=Mitglieder und Abonnemente LastSubscriptionDate=Datum der letzten Mitgliedschaft LastSubscriptionAmount=Höhe des letzten Mitgliedsbeitrags +MembersStatisticsByCountries=Mitgliederstatistik nach Land +MembersStatisticsByState=Mitgliederstatistik nach Kanton +MembersStatisticsByTown=Mitgliederstatistik nach Ort +NoValidatedMemberYet=Keine verifizierten Mitglieder gefunden +Public=Informationen sind öffentlich +Exports=Exporte diff --git a/htdocs/langs/de_CH/oauth.lang b/htdocs/langs/de_CH/oauth.lang new file mode 100644 index 00000000000..37f05d252b0 --- /dev/null +++ b/htdocs/langs/de_CH/oauth.lang @@ -0,0 +1,3 @@ +# Dolibarr language file - Source file is en_US - oauth +ListOfSupportedOauthProviders=Geben sie hier die OAuth2 Zugangsdaten ein. Nur unterstützte OAuth2 Anbieter sind hier sichtbar. Diese Einstellungen könne von anderen Modulen verwendet werden. +OAUTH_GOOGLE_DESC=Gehen sie zu dieser Seite, und erstellen sie dann OAuth Zugangsdaten diff --git a/htdocs/langs/de_CH/opensurvey.lang b/htdocs/langs/de_CH/opensurvey.lang index 2b68a2418e8..b0346e71a41 100644 --- a/htdocs/langs/de_CH/opensurvey.lang +++ b/htdocs/langs/de_CH/opensurvey.lang @@ -2,3 +2,4 @@ ToReceiveEMailForEachVote=EMail für jede Stimme erhalten CheckBox=Einfache Checkbox SelectDayDesc=Für jeden ausgewählen Tag kann man die Besprechungszeiten im folgenden Format auswählen:
- leer,
- "8h", "8H" oder "8:00" für eine Besprechungs-Startzeit,
- "8-11", "8h-11h", "8H-11H" oder "8:00-11:00" für eine Besprechungs-Start und -Endzeit,
- "8h15-11h15", "8H15-11H15" oder "8:15-11:15" für das Gleiche aber mit Minuten. +SurveyExpiredInfo=Diese Umfrage ist abgelaufen oder wurde beendet. diff --git a/htdocs/langs/de_CH/orders.lang b/htdocs/langs/de_CH/orders.lang index b12c29e990d..f39ab8ed17d 100644 --- a/htdocs/langs/de_CH/orders.lang +++ b/htdocs/langs/de_CH/orders.lang @@ -2,7 +2,8 @@ OrdersArea=Kundenauftrags-Übersicht OrderCard=Bestell-Karte CancelOrder=Bestellung verwerfen -LastModifiedOrders=Die letzen %s bearbeiteten Bestellungen +NoOrder=Keine Bestellung CloseOrder=Bestellung schliessen ConfirmCloseOrder=Möchten Sie diese Bestellung wirklich schliessen? Nach ihrer Schliessung kann eine Bestellung nur mehr in Rechnung gestellt werden. +RefOrderSupplier=Bestellreferenz für Lieferant Error_OrderNotChecked=Keine zu verrechnenden Bestellungen ausgewählt diff --git a/htdocs/langs/de_CH/other.lang b/htdocs/langs/de_CH/other.lang index 61310468405..26f84a8b8ac 100644 --- a/htdocs/langs/de_CH/other.lang +++ b/htdocs/langs/de_CH/other.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - other +NumberingShort=Nr +Notify_FICHINTER_ADD_CONTACT=Kontakt zu Einsatz hinzugefügt Notify_FICHINTER_VALIDATE=Eingriff freigegeben Notify_FICHINTER_SENTBYMAIL=Service per E-Mail versendet Notify_COMPANY_SENTBYMAIL=Von Geschäftspartner-Karte gesendete Mails @@ -11,9 +13,19 @@ PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n Bitte entnehmen Sie dem A PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n Bitte entnehmen Sie dem Anhang die Bestellung __ORDERREF__ \n\n__PERSONALIZED__Mit freundlichen Grüssen\n\n__SIGNATURE__ PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n Als Anlage erhalten Sie unsere Lieferung __ SHIPPINGREF__ \n\n__PERSONALIZED__Mit freundlichen Grüssen\n\n__SIGNATURE__ PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n Anbei finden Sie die Intervention __ FICHINTERREF__ \n\n__PERSONALIZED__Mit freundlichen Grüssen\n\n__SIGNATURE__ +ChooseYourDemoProfil=Bitte wählen Sie das Demo-Profil das Ihrem Einsatzgebiet am ehesten entspricht +ModifiedById=Letzte Änderung durch User +ModifiedByLogin=Letzte Änderung durch Userlogin +FeaturesSupported=Unterstützte Funktionen SizeUnitfoot=Fuss +EnableGDLibraryDesc=Für den Einsatz dieser Option installieren, bzw. aktivieren Sie bitte die GD-Library. ProfIdShortDesc=Prof ID %s dient zur Speicherung landesabhängiger Geschäftspartnerdaten.
Für das Land %s ist dies beispielsweise Code %s. +EMailTextInterventionAddedContact=Ein neuer Einsatz %s wurde ihnen zugeteilt. EMailTextInterventionValidated=Service %s wurde freigegeben NewSizeAfterCropping=Neue Grösse nach dem Zuschneiden DefineNewAreaToPick=Definieren Sie einen neuen Bereich innerhalb des Bildes (Klicken Sie mit der linken Maustaste auf das Bild und halten Sie bis zur gegenüberligenden Ecke) FileIsTooBig=Dateien sind zu gross +WebsiteSetup=Einstellungen des Webseitenmoduls +WEBSITE_PAGEURL=URL für Seite +WEBSITE_TITLE=Titel +WEBSITE_KEYWORDS=Stichworte diff --git a/htdocs/langs/de_CH/printing.lang b/htdocs/langs/de_CH/printing.lang index d9eef608f79..ae4aab23426 100644 --- a/htdocs/langs/de_CH/printing.lang +++ b/htdocs/langs/de_CH/printing.lang @@ -1,3 +1,5 @@ # Dolibarr language file - Source file is en_US - printing NoDefaultPrinterDefined=Kein Standarddrucker defininert IPP_BW=schwarz / weiss +PrintingDriverDescprintgcp=Konfigurationsvariablen für Google Cloud Print. +PrintTestDescprintgcp=Druckerliste für Google Cloud Print diff --git a/htdocs/langs/de_CH/products.lang b/htdocs/langs/de_CH/products.lang index 0bca44c3025..90a7a2dcd4d 100644 --- a/htdocs/langs/de_CH/products.lang +++ b/htdocs/langs/de_CH/products.lang @@ -1,11 +1,31 @@ # Dolibarr language file - Source file is en_US - products ProductVatMassChange=MwSt-Massenänderung +LastRecordedProducts=%s zuletzt erfasste Produkte +CardProduct0=Produkt-Karte SellingPriceTTC=Verkaufspreis (inkl. MwSt.) +CostPriceUsage=In einer zukünftigen Version kann dieser Wert für die Margenberechnung verwendet werden. CantBeLessThanMinPrice=Der Verkaufspreis darf den Mindestpreis für dieses Produkt (%s ohne MwSt.) nicht unterschreiten. Diese Meldung kann auch angezeigt werden, wenn Sie einen zu hohen Rabatt geben. SupplierCard=Lieferantenkarte SetDefaultBarcodeType=Wählen Sie den standardmässigen Barcode-Typ +ParentProducts=Übergeordnetes Produkt VATRateForSupplierProduct=MwSt. Satz (für diesen Lieferanten/Produkt) +SellingPrices=Verkaufspreise +BuyingPrices=Einkaufspreise FillBarCodeTypeAndValueFromThirdParty=Barcode-Typ und -Wert von einem Geschäftspartner wählen. DefinitionOfBarCodeForThirdpartyNotComplete=Barcode-Typ oder -Wert bei Geschäftspartner %s unvollständig. BarCodeDataForThirdparty=Barcode-Information von Geschäftspartner %s: +PriceByCustomer=Unterschiedliche Preise je nach Kunde +PriceCatalogue=Ein einziger Verkaufspreis pro Produkt/Leistung +PricingRule=Preisregel für Verkaufspreise PriceExpressionEditorHelp2=Sie können auf die ExtraFields mit Variablen wie #extrafield_myextrafieldkey# und globale Variablen mit #global_mycode# zugreifen +MinCustomerPrice=Mindespreis für Kunden +AddUpdater=Aktualisierung hinzufügen +VariableToUpdate=Zu aktualisierende Variablen +NbOfQtyInProposals=Menge in Angebot +ClinkOnALinkOfColumn=Auf den Link in Spalte %s klicken um zu den Details zu kommen +TranslatedLabel=Übersetzte Bezeichnung +TranslatedNote=Übersetzte Notiz +ProductVolume=Volumen für ein Produkt +WeightUnits=Gewichtseinheit +VolumeUnits=Volumeneinheit +SizeUnits=Grösseneinheit diff --git a/htdocs/langs/de_CH/projects.lang b/htdocs/langs/de_CH/projects.lang index 5587b1139d4..1797678eba4 100644 --- a/htdocs/langs/de_CH/projects.lang +++ b/htdocs/langs/de_CH/projects.lang @@ -1,13 +1,24 @@ # Dolibarr language file - Source file is en_US - projects +ProjectsArea=Projektbereiche +PrivateProject=Projekt Kontakte +TasksOnProjectsPublicDesc=Diese Ansicht zeigt alle Projektaufgaben, die Sie Lesenberechtigt sind. +TasksOnProjectsDesc=Es werden alle Projekteaufgaben aller Projekte angezeigt (Ihre Berechtigungen berechtigen Sie alles zu sehen). MyTasksDesc=Diese Ansicht ist für Sie beschränkt auf Projekte oder Aufgaben, bei welchen Sie als Ansprechpartner eingetragen sind. OnlyOpenedProject=Nur offene Projekte sind sichtbar. (Projekte im Entwurf- oder Geschlossenstatus sind nicht sichtbar) AllTaskVisibleButEditIfYouAreAssigned=Alle Aufgaben dieser Projekte sind sichtbar, aber sie können nur auf ihnen zugewiesenen Aufgaben Zeit erfassen. Weisen sie sich dei Aufgabe zu, wenn sie Zeit erfassen möchten. +TimeSpentByYou=Dein Zeitaufwand +MyProjectsArea=Mein Projektbereich +GoToListOfTimeConsumed=Zur Stundenaufwandsliste wechseln +GoToListOfTasks=Zur Aufgabenliste gehen +ListPredefinedInvoicesAssociatedProject=Liste der Rechnungsvorlagen, die mit diesem Projekt verknüpft sind ListFichinterAssociatedProject=Liste Eingriffe, die mit diesem Projekt verknüpft sind +ChildOfTask=Kindelement von Projekt/Aufgabe CloseAProject=Projekt schliessen ConfirmCloseAProject=Möchten Sie dieses Projekt wirklich schliessen? ProjectsDedicatedToThisThirdParty=Mit diesem Geschäftspartner verknüpfte Projekte LinkedToAnotherCompany=Mit Geschäftspartner verknüpft ThisWillAlsoRemoveTasks=Diese Aktion löscht ebenfalls alle Aufgaben zum Projekt (%s akutelle Aufgaben) und alle Zeitaufwände. CloneTaskFiles=Aufgabe (n) clonen beigetreten Dateien (falls Aufgabe (n) geklont) -OpenedProjectsByThirdparties=Offene Projekte nach Geschäftspartner +ProjectReferers=Verknüpfte Objekte +ResourceNotAssignedToTheTask=Nicht der Aufgabe zugewiesen OpportunityPonderatedAmount=Verkaufschancen geschätzer Betrag diff --git a/htdocs/langs/de_CH/receiptprinter.lang b/htdocs/langs/de_CH/receiptprinter.lang new file mode 100644 index 00000000000..bd7f3bb58f6 --- /dev/null +++ b/htdocs/langs/de_CH/receiptprinter.lang @@ -0,0 +1,11 @@ +# Dolibarr language file - Source file is en_US - receiptprinter +ReceiptPrinterSetup=Einstellung der Belegdrucker +ReceiptPrinter=Belegdrucker +ReceiptPrinterDesc=Einstellungen der Belegdrucker +ReceiptPrinterTemplateDesc=Vorlagen einstellen +ReceiptPrinterTypeDesc=Typ des Belegdruckers +ReceiptPrinterProfileDesc=Profil des Belegdruckers +SetupReceiptTemplate=Vorlagensetup +PROFILE_SIMPLE=Einfaches Profil +PROFILE_DEFAULT_HELP=Standard Profil für Epson Drucker +PROFILE_EPOSTEP_HELP=Hilfe zu Epos Tep Profil diff --git a/htdocs/langs/de_CH/resource.lang b/htdocs/langs/de_CH/resource.lang new file mode 100644 index 00000000000..4c3fe4d2c12 --- /dev/null +++ b/htdocs/langs/de_CH/resource.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - resource +ShowResource=Resource anzeigen diff --git a/htdocs/langs/de_CH/sms.lang b/htdocs/langs/de_CH/sms.lang index fc3a2ef40d3..668e0fbe663 100644 --- a/htdocs/langs/de_CH/sms.lang +++ b/htdocs/langs/de_CH/sms.lang @@ -1,2 +1,3 @@ # Dolibarr language file - Source file is en_US - sms SmsSuccessfulySent=SMS korekkte gesendet (von %s an %s) +SmsNoPossibleSenderFound=Kein Absender verfügbar. Prüfen Sie die Einstellungen Ihres SMS Anbieters. diff --git a/htdocs/langs/de_CH/stocks.lang b/htdocs/langs/de_CH/stocks.lang index a2945b3dd4b..570dd441130 100644 --- a/htdocs/langs/de_CH/stocks.lang +++ b/htdocs/langs/de_CH/stocks.lang @@ -1,8 +1,17 @@ # Dolibarr language file - Source file is en_US - stocks CancelSending=Lieferung abbrechen +StockTransfer=Lagerumbuchung +MassStockTransferShort=Massen Lagerumbuchungen +DeStockOnShipmentOnClosing=Verringere echten Bestände bei Lieferbestätigung ReStockOnDispatchOrder=Reale Bestände auf manuelle Dispatching in Hallen, nach Erhalt Lieferanten bestellen StockLimit=Sicherungsbestand für autom. Benachrichtigung AverageUnitPricePMP=Gewichteter Durchschnittpreis bei Erwerb +DesiredStock=Gewünschter idealer Lagerbestand +DesiredStockDesc=Dieser Bestand wird für die Nachbestellfunktion verwendet. UseVirtualStockByDefault=Nutze theoretische Lagerbestände anstatt des physischem Bestands für die Nachbestellungsfunktion -ReplenishmentOrdersDesc=Das ist eine Liste aller offener Lieferantenbestellungen einschliesslich vordefinierter Produkte. Nur geöffnete Bestellungen mit vordefinierten Produkten, sofern es das Lager betrifft, sind hier sichtbar. +ReplenishmentOrdersDesc=Das ist eine Liste aller offenen Lieferantenbestellungen inklusive vordefinierter Produkte. Nur geöffnete Bestellungen mit vordefinierten Produkten, sofern es den Lagerbestand betrifft, sind hier sichtbar. ThisSerialAlreadyExistWithDifferentDate=Diese Charge- / Seriennummer (%s) ist bereits vorhanden, jedoch mit unterschiedlichen Haltbarkeits- oder Verfallsdatum. \n(Gefunden: %s Erfasst: %s) +OpenAll=Für alle Aktionen freigeben +OpenInternal=Für interne Aktionen freigeben +OpenShipping=Zur Auslieferung freigeben +OpenDispatch=Zum Versenden freigeben diff --git a/htdocs/langs/de_CH/supplier_proposal.lang b/htdocs/langs/de_CH/supplier_proposal.lang index 98ab6a9702b..da2575e76ce 100644 --- a/htdocs/langs/de_CH/supplier_proposal.lang +++ b/htdocs/langs/de_CH/supplier_proposal.lang @@ -5,9 +5,14 @@ CommRequests=Generelle Preisanfragen SearchRequest=Anfragen finden DraftRequests=Entwürfe Preisanfragen RequestsOpened=Offene Preisanfragen +SupplierProposalShort=Angebot Lieferant +SupplierProposals=Angebote Lieferant +SupplierProposalsShort=Angebote Lieferant NewAskPrice=Neue Preisanfrage ConfirmValidateAsk=Sind Sie sicher, dass Sie diese Preisanfrage unter dem Namen %s bestätigen wollen? ValidateAsk=Anfrage bestätigen +SupplierProposalStatusSigned=Akzeptiert +SupplierProposalStatusSignedShort=Akzeptiert CopyAskFrom=Neue Preisanfrage erstellen (Kopie einer bestehenden Anfrage) CreateEmptyAsk=Leere Anfrage erstellen ConfirmCloneAsk=Sind Sie sicher, dass Sie die Preisanfrage %s duplizieren wollen? @@ -16,3 +21,4 @@ SendAskByMail=Preisanfrage mit E-Mail versenden SendAskRef=Preisanfrage %s versenden ConfirmDeleteAsk=Sind Sie sicher, dass Sie diese Preisanfrage löschen wollen? DocModelAuroreDescription=Eine vollständige Preisanfrage-Vorlage (Logo...) +LastSupplierProposals=Letzte Preisanfrage diff --git a/htdocs/langs/de_CH/suppliers.lang b/htdocs/langs/de_CH/suppliers.lang index de387373a58..7200efb2192 100644 --- a/htdocs/langs/de_CH/suppliers.lang +++ b/htdocs/langs/de_CH/suppliers.lang @@ -1,2 +1,10 @@ # Dolibarr language file - Source file is en_US - suppliers +BuyingPriceMin=Mindest Einkaufspreis +BuyingPriceMinShort=Min.Einkaufspreis +TotalBuyingPriceMinShort=Summe der Einkaufspreise der Unterprodukte +TotalSellingPriceMinShort=Summe der Verkaufspreise der Unterprodukte ConfirmCancelThisOrder=Möchten Sie diese Bestellung wirklich verwerfen %s ? +SupplierReputation=Lieferantenbewertung +DoNotOrderThisProductToThisSupplier=Nicht bestellen +NotTheGoodQualitySupplier=Falsche Menge +ReputationForThisProduct=Bewertung diff --git a/htdocs/langs/de_CH/users.lang b/htdocs/langs/de_CH/users.lang index 97998fe7fe6..3dae4bbd33d 100644 --- a/htdocs/langs/de_CH/users.lang +++ b/htdocs/langs/de_CH/users.lang @@ -1,6 +1,8 @@ # Dolibarr language file - Source file is en_US - users UserCard=Benutzer-Karte GroupCard=Gruppe-Karte +LastGroupsCreated=%s neueste Gruppen +LastUsersCreated=%s neueste Benutzer LinkToCompanyContact=Mit Geschäftspartner/Kontakt verknüpfen LinkedToDolibarrThirdParty=Mit Geschäftspartner verknüpft CreateDolibarrThirdParty=Neuen Geschäftspartner erstellen @@ -10,3 +12,5 @@ UserWillBeInternalUser=Erstellter Benutzer ist intern (mit keinem bestimmten Ges UserWillBeExternalUser=Erstellter Benutzer ist extern (mit einem bestimmten Geschäftspartner verknüpft) ConfirmCreateThirdParty=Möchten Sie zu diesem Mitglied wirklich einen Geschäftspartner erstellen? NameToCreate=Name des neuen Geschäftspartners +DisabledInMonoUserMode=Im Wartungsmodus deaktiviert +UserAccountancyCode=Kontierungscode Benutzer diff --git a/htdocs/langs/de_CH/website.lang b/htdocs/langs/de_CH/website.lang new file mode 100644 index 00000000000..a372b4d33e5 --- /dev/null +++ b/htdocs/langs/de_CH/website.lang @@ -0,0 +1,13 @@ +# Dolibarr language file - Source file is en_US - website +WebsiteSetupDesc=Erstellen sie hier soviele Webauftritte wie sie wollen. Dann gehen sie ins Menü Webauftritt um sie zu bearbeiten. +DeleteWebsite=Webauftritt löschen +ConfirmDeleteWebsite=Möchten sie wirklich diesen Webauftritt löschen? Alle Seiten und Inhalte werden dadurch auch gelöscht. +WEBSITE_CSS_URL=URL zu externer CSS Datei +EditPageMeta=Metadaten bearbeiten +Website=Website +PreviewOfSiteNotYetAvailable=Vorschau des Webauftritt %s noch nicht verfügbar. Sie müssen zuerst eine Seite hinzufügen. +RequestedPageHasNoContentYet=Die Seite mit ID %s hat noch keinen Inhalt, oder die Cachedatei .tpl.php wurde gelöscht. Editieren sie die Seite um das Problem zu lösen. +PageDeleted=Seite '%s' des Webauftritt %s gelöscht +PageAdded=Seite '%s' hinzugefügt +ViewSiteInNewTab=Webauftritt in neuem Tab anzeigen +SetAsHomePage=Als Startseite definieren diff --git a/htdocs/langs/de_CH/withdrawals.lang b/htdocs/langs/de_CH/withdrawals.lang index b76caf46b57..1d473ceaef9 100644 --- a/htdocs/langs/de_CH/withdrawals.lang +++ b/htdocs/langs/de_CH/withdrawals.lang @@ -1,4 +1,8 @@ # Dolibarr language file - Source file is en_US - withdrawals +LastWithdrawalReceipts=%s neueste Abbuchungsbelege +RequestStandingOrderToTreat=Anfrage für Dauerauftrage zu bearbeiten +LastWithdrawalReceipt=%s neueste Abbuchungsbelege ThirdPartyBankCode=BLZ Geschäftspartner NoInvoiceCouldBeWithdrawed=Keine Rechnung erfolgreich abgebucht. Überprüfen Sie die Kontonummern der den Rechnungen zugewiesenen Geschäftspartnern. WithdrawalRefusedConfirm=Möchten Sie wirklich eine Abbuchungsablehnung zu diesem Geschäftspartner erstellen? +WithdrawRequestAmount=Abbachungsauftrag Betrag: diff --git a/htdocs/langs/de_DE/accountancy.lang b/htdocs/langs/de_DE/accountancy.lang index 1bbd679fad3..9f8d3c5c7c8 100644 --- a/htdocs/langs/de_DE/accountancy.lang +++ b/htdocs/langs/de_DE/accountancy.lang @@ -82,12 +82,12 @@ Codejournal=Journal NumPiece=Teilenummer AccountingCategory=Buchhaltungskategorie -NotMatch=Not Set +NotMatch=undefiniert -DeleteMvt=Delete general ledger lines -DelYear=Year to delete -DelJournal=Journal to delete -ConfirmDeleteMvt=This will delete all line of of the general ledger for year and/or from a specifics journal +DeleteMvt=Lösche Hauptbuch Datensätze +DelYear=Jahr zu entfernen +DelJournal=Journal zu entfernen +ConfirmDeleteMvt=Dadurch werden alle Datensätze des Hauptbuchs für das Jahr und/oder von einem bestimmten Journal gelöscht DelBookKeeping=Löschen Sie die Einträge des Hauptbuchs @@ -147,7 +147,7 @@ Modelcsv_bob50=Export zu Sage BOB 50 Modelcsv_ciel=Export zu Sage Ciel Compta oder Compta Evolution Modelcsv_quadratus=Export zu Quadratus QuadraCompta Modelcsv_ebp=Export zu EBP -Modelcsv_cogilog=Export towards Cogilog +Modelcsv_cogilog=Export zu Cogilog ## Tools - Init accounting account on product / service InitAccountancy=Rechnungswesen initialisieren @@ -166,4 +166,4 @@ Formula=Formel ## Error ErrorNoAccountingCategoryForThisCountry=Für dieses Land sind keine Kontenkategorien verfügbar ExportNotSupported=Das eingestellte Exportformat wird von deiser Seite nicht unterstützt -BookeppingLineAlreayExists=Lines already existing into bookeeping +BookeppingLineAlreayExists=Datensätze existieren bereits in der Buchhaltung diff --git a/htdocs/langs/de_DE/admin.lang b/htdocs/langs/de_DE/admin.lang index 307722ee41e..974c8973461 100644 --- a/htdocs/langs/de_DE/admin.lang +++ b/htdocs/langs/de_DE/admin.lang @@ -47,7 +47,7 @@ ErrorModuleRequirePHPVersion=Fehler: Dieses Modul benötigt PHP Version %s oder ErrorModuleRequireDolibarrVersion=Fehler: Dieses Moduls erfordert Dolibarr Version %s oder höher ErrorDecimalLargerThanAreForbidden=Fehler: Eine höhere Genauigkeit als %s wird nicht unterstützt. DictionarySetup=Stammdaten -Dictionary=Wörterbücher +Dictionary=Stammdaten Chartofaccounts=Kontenplan Fiscalyear=Fiskalische Jahre ErrorReservedTypeSystemSystemAuto=Die Werte 'system' und 'systemauto' für Typ sind reserviert. Sie können 'user' als Wert verwenden, um Ihren eigenen Datensatz hinzuzufügen @@ -240,7 +240,7 @@ MAIN_SMS_SENDMODE=Methode zum Senden von SMS MAIN_MAIL_SMS_FROM=Standard Versendetelefonnummer der SMS-Funktion FeatureNotAvailableOnLinux=Diese Funktion ist auf Unix-Umgebungen nicht verfügbar. Testen Sie Ihr Programm sendmail lokal. SubmitTranslation=Wenn die Übersetzung der Sprache unvollständig ist oder wenn Sie Fehler finden, können Sie können Sie die entsprechenden Sprachdateien im Verzeichnis langs/%s korrigieren und und anschließend Ihre Änderungen unter www.transifex.com/dolibarr-association/dolibarr/ teilen. -SubmitTranslationENUS=If translation for this language is not complete or you find errors, you can correct this by editing files into directory langs/%s and submit modified files on dolibarr.org/forum or for developers on github.com/Dolibarr/dolibarr. +SubmitTranslationENUS=Sollte die Übersetzung für eine Sprache nicht vollständig sein oder Fehler beinhalten, können Sie die entsprechenden Sprachdateien im Verzeichnis langs/%s bearbeiten und anschließend Ihre Änderungen mit der Entwicklergemeinschaft auf www.dolibarr.org teilen. ModuleSetup=Moduleinstellung ModulesSetup=Moduleinstellungen ModuleFamilyBase=System @@ -275,7 +275,7 @@ CallUpdatePage=Zur Aktualisierung der Daten und Datenbankstrukturen zur Seite %s LastStableVersion=Letzte stabile Version UpdateServerOffline=Update-Server offline GenericMaskCodes=Sie können ein beliebiges Numerierungsschema wählen. Dieses Schema könnte z.B. so aussehen:
{000000} steht für eine 6-stellige Nummer, die sich bei jedem neuen %s automatisch erhöht. Wählen Sie die Anzahl der Nullen je nach gewünschter Nummernlänge. Der Zähler füllt sich automatisch bis zum linken Ende mit Nullen um das gewünschte Format abzubilden.
{000000+000} führt zu einem ähnlichen Ergebnis, allerdings mit einem Wertsprung in Höhe des Werts rechts des Pluszeichens, der beim ersten %s angewandt wird.
{000000@x} wie zuvor, jedoch stellt sich der Zähler bei Erreichen des Monats x (zwischen 1 und 12) automatisch auf 0 zurück. Ist diese Option gewählt und x hat den Wert 2 oder höher, ist die Folge {mm}{yy} or {mm}{yyyy} ebenfalls erforderlich.
{dd} Tag (01 bis 31).
{mm} Monat (01 bis 12).
{yy}, {yyyy} or {y} Jahreszahl 1-, 2- oder 4-stellig.
-GenericMaskCodes2={cccc} den Kunden-Code mit n Zeichen
{cccc000} den Kunden-Code mit n Zeichen, gefolgt von einer Client-Zähler zugeordnet zu dem Kunden.
{tttt} Die Partner ID mit n Zeichen (siehe unter Einstellungen-Wörterbuch Partnertyp).
+GenericMaskCodes2={cccc} den Kunden-Code mit n Zeichen
{cccc000} den Kunden-Code mit n Zeichen, gefolgt von einer Client-Zähler zugeordnet zu dem Kunden.
{tttt} Die Partner ID mit n Zeichen (siehe unter Einstellungen-Stammdaten->Arten von Partnern).
GenericMaskCodes3=Alle anderen Zeichen in der Maske bleiben.
Leerzeichen sind nicht zulässig.
GenericMaskCodes4a=Beispiel auf der 99. %s des Partners DieFirma erstellt am 2007-01-31:
GenericMaskCodes4b=Beispiel für Partner erstellt am 2007-03-01:
@@ -385,6 +385,9 @@ NoDetails=Keine weiteren Details in der Fusszeile DisplayCompanyInfo=Firmenadresse anzeigen DisplayCompanyInfoAndManagers=Namen von Firma und Geschäftsführung anzeigen EnableAndSetupModuleCron=Um wiederkehrende Rechnungen automatisch zu generieren, muss Modul *%s* aktiviert und korrekt eingerichtet sein. Ansonsten müssen die Rechnungen via *Erstellen* Knopf auf dieser Vorlage erstellt werden. Auch wenn die Rechnungen automatisch generiert werden, können trotzdem noch manuelle Rechnungen erstellt werden. Die Perioden werden nicht doppelt in Rechnung gestellt. +ModuleCompanyCodeAquarium=Generiert einen Kontierungscode %s, gefolgt von der Lieferantenummer für einen Lieferanten-Kontierungscode und %s, gefolgt vom Kundenkontierungscode für einen Kundenkontierungscode. +ModuleCompanyCodePanicum=Leeren Kontierungscode zurückgeben. +ModuleCompanyCodeDigitaria=Kontierungscode hängt vom Partnercode ab. Der Code setzt sich aus dem Buchstaben 'C' und den ersten 5 Stellen des Partnercodes zusammen. # Modules Module0Name=Benutzer und Gruppen @@ -468,7 +471,7 @@ Module510Desc=Verwaltung der Angestellten-Gehälter und -Zahlungen Module520Name=Darlehen Module520Desc=Verwaltung von Darlehen Module600Name=Benachrichtigungen -Module600Desc=Senden Sie Benachrichtigungen (ausgelöst durch geschäftliche Ereignisse) an Partnerkontakte (Einrichtung für jeden Partner) oder festgelegte E-Mail-Adressen. +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Spenden Module700Desc=Spendenverwaltung Module770Name=Spesenabrechnungen @@ -512,8 +515,8 @@ Module5000Name=Mandantenfähigkeit Module5000Desc=Ermöglicht Ihnen die Verwaltung mehrerer Firmen Module6000Name=Workflow Module6000Desc=Workflow Management -Module10000Name=Websites -Module10000Desc=Create public websites with a WYSIWG editor. Just setup your web server to point to the dedicated directory to have it online on the Internet. +Module10000Name=Webseiten +Module10000Desc=Erstelle öffentliche Webseiten mit dem WYSIWYG-Editor.\nDer Webserver muss auf das Verzeichnis verweisen. Module20000Name=Urlaubsantrags-Verwaltung Module20000Desc=Definieren und beobachten sie die Urlaubsanträge Ihrer Angestellten. Module39000Name=Chargen-/ Seriennummern @@ -534,8 +537,8 @@ Module59000Name=Gewinnspannen Module59000Desc=Modul zur Verwaltung von Gewinnspannen Module60000Name=Kommissionen Module60000Desc=Modul zur Verwaltung von Kommissionen -Module63000Name=Resources -Module63000Desc=Manage resources (printers, cars, room, ...) you can then share into events +Module63000Name=Ressourcen +Module63000Desc=Verwalte Ressourcen (Drucker, Fahrzeuge, Räume, etc.) für Ereignisse. Permission11=Rechnungen einsehen Permission12=Rechnungen erstellen/bearbeiten Permission13=Rechnungsfreigabe aufheben @@ -1067,7 +1070,10 @@ HRMSetup=PV Modul Einstellungen CompanySetup=Unternehmenseinstellungen CompanyCodeChecker=Modul für Partner-Code-Erstellung (Kunden oder Lieferanten) AccountCodeManager=Modul für Kontierungs-Code-Erstellung (Kunden oder Lieferanten) -NotificationsDesc=E-Mail-Benachrichtigungsfunktionen erlauben Ihnen den stillschweigenden Versand automatischer Benachrichtigungen zu einigen Dolibarr-Ereignissen. Ziele dafür können definiert werden:
* pro Partner-Kontakt (Kunden oder Lieferanten), ein Partner zur Zeit.
* durch das Setzen einer globalen Ziel-Mail-Adresse in den Modul-Einstellungen +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* pro Benutzer, ein Benutzer pro mal +NotificationsDescContact=* pro Partnerkontakte (Kunden oder Lieferanten), ein Kontakt pro mal +NotificationsDescGlobal=* oder duch setzten der globalen E-Mailziele im Modulsetup ModelModules=Dokumentvorlagenmodul DocumentModelOdt=Erstellen von Dokumentvorlagen im OpenDocuments-Format (.odt- oder .ods-Dateien für OpenOffice, KOffice, TextEdit, ...) WatermarkOnDraft=Wasserzeichen auf Entwurf @@ -1098,7 +1104,7 @@ SupplierPaymentSetup=Lieferantenzahlungen konfigurieren PropalSetup=Angebotsmoduleinstellungen ProposalsNumberingModules=Angebotsnumerierungs-Module ProposalsPDFModules=PDF-Angebotsmodule -FreeLegalTextOnProposal=Freier Rechtstext für Angebote +FreeLegalTextOnProposal=Freier Rechtstext auf Angeboten WatermarkOnDraftProposal=Wasserzeichen auf Angebots-Entwurf (keines, falls leer) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Fragen Sie nach dem Bankkonto bei einem Angebot ##### SupplierProposal ##### @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Einstellungen des Moduls Spesenabrechnung TemplatePDFExpenseReports=Dokumentvorlagen zur Erstellung einer Spesenabrechnung NoModueToManageStockIncrease=Kein Modul zur automatische Bestandserhöhung ist aktiviert. Lager Bestandserhöhung kann nur durch manuelle Eingabe erfolgen. YouMayFindNotificationsFeaturesIntoModuleNotification=Sie können Optionen für E-Mail-Benachrichtigungen von Aktivierung und Konfiguration des Moduls "Benachrichtigung" finden. -ListOfNotificationsPerContact=Liste der Benachrichtigungen nach Kontakt* +ListOfNotificationsPerUser=Liste der Benachrichtigungen nach Benutzer* +ListOfNotificationsPerUserOrContact=Liste der Benachrichtigungen nach Benutzer oder Kontakt** ListOfFixedNotifications=Liste von ausbesserten Benachrichtigungen +GoOntoUserCardToAddMore=Gehen Sie auf die Registerkarte "Hinweise" eines Benutzers, um Benachrichtigungen für Benutzer zu erstellen/entfernen GoOntoContactCardToAddMore=Gehen Sie auf die Registerkarte "Hinweise" von einem Partner Kontakt , um Hinweise für Kontakte/Adressen zu erstellen oder zu entfernen Threshold=Schwellenwert BackupDumpWizard=Assistenten zum erstellen der Datenbank-Backup Dump-Datei @@ -1577,7 +1585,7 @@ SeeSubstitutionVars=Siehe * für einen Liste möglicher Ersetzungsvariablen AllPublishers=Alle Verfasser UnknownPublishers=Verfasser unbekannt AddRemoveTabs=Reiter entfernen oder hinzufügen -AddDictionaries=Wörterbücher hinzufügen +AddDictionaries=Stammdaten hinzufügen AddBoxes=Boxen hinzufügen AddSheduledJobs=Geplante Aufgaben hinzufügen AddHooks=Hook anfügen @@ -1593,4 +1601,4 @@ DetectionNotPossible=Erkennung nicht möglich UrlToGetKeyToUseAPIs=URL um ein Token für die API Nutzung zu erhalten (Erhaltene Token werden in der Benutzertabelle gespeichert und bei jedem Zugriff validiert) ListOfAvailableAPIs=Liste von verfügbaren APIs activateModuleDependNotSatisfied=Modul "%s" benötigt Modul "%s" welches fehlt, dadurch funktioniert Modul "%1$s" möglicherweise nicht korrekt. Installieren Sie Modul "%2$s" oder deaktivieren Sie Modul "%1$s" um auf der sicheren Seite zu sein -CommandIsNotInsideAllowedCommands=The command you try to run is not inside list of allowed commands defined into parameter $dolibarr_main_restrict_os_commands into conf.php file. +CommandIsNotInsideAllowedCommands=Das Kommando ist nicht in der Liste der erlaubten Kommandos, definiert in $dolibarr_main_restrict_os_commands in der conf.php Datei. diff --git a/htdocs/langs/de_DE/banks.lang b/htdocs/langs/de_DE/banks.lang index ff78c3530a2..3cec78884cc 100644 --- a/htdocs/langs/de_DE/banks.lang +++ b/htdocs/langs/de_DE/banks.lang @@ -88,8 +88,8 @@ ConciliatedBy=Ausgeglichen durch DateConciliating=Ausgleichsdatum BankLineConciliated=Transaktion ausgeglichen CustomerInvoicePayment=Kundenzahlung -SupplierInvoicePayment=Supplier payment -SubscriptionPayment=Subscription payment +SupplierInvoicePayment=Lieferanten-Zahlung +SubscriptionPayment=Beitragszahlung WithdrawalPayment=Entnahme Zahlung SocialContributionPayment=Zahlung von Sozialabgaben/Steuern BankTransfer=Kontentransfer diff --git a/htdocs/langs/de_DE/bills.lang b/htdocs/langs/de_DE/bills.lang index fc90749934e..5d92943e9bb 100644 --- a/htdocs/langs/de_DE/bills.lang +++ b/htdocs/langs/de_DE/bills.lang @@ -56,7 +56,7 @@ SupplierBill=Lieferantenrechnung SupplierBills=Lieferantenrechnungen Payment=Zahlung PaymentBack=Rückzahlung -CustomerInvoicePaymentBack=Payment back +CustomerInvoicePaymentBack=Rückzahlung Payments=Zahlungen PaymentsBack=Rückzahlungen paymentInInvoiceCurrency=in Rechnungswährung @@ -167,7 +167,7 @@ ConfirmClassifyPaidPartiallyQuestion=Diese Rechnung wurde nicht vollständig bez ConfirmClassifyPaidPartiallyReasonAvoir=Der offene Zahlbetrag ( %s %s) resultiert aus einem gewährten Skonto. Zur Korrektur der USt. wird eine Gutschrift angelegt. ConfirmClassifyPaidPartiallyReasonDiscountNoVat=Der offene Zahlbetrag ( %s %s) resultiert aus einem gewährten Skonto. Ich akzeptiere den Verlust der USt. aus diesem Rabatt. ConfirmClassifyPaidPartiallyReasonDiscountVat=Der offene Zahlbetrag ( %s %s) resultiert aus einem gewährten Skonto. Die Mehrwertsteuer aus diesem Rabatt wird ohne Gutschrift wieder hergestellt. -ConfirmClassifyPaidPartiallyReasonBadCustomer=Kundenverschulden +ConfirmClassifyPaidPartiallyReasonBadCustomer=schlechter Zahler ConfirmClassifyPaidPartiallyReasonProductReturned=Produkte teilweise retourniert ConfirmClassifyPaidPartiallyReasonOther=Betrag aus anderen Gründen uneinbringlich ConfirmClassifyPaidPartiallyReasonDiscountNoVatDesc=Diese Wahl ist möglich, wenn Sie Ihre Rechnung mit passenden Kommentar versehen sein. (Beispiel «Nur die Steuer entsprechend dem Preis, der gezahlt worden tatsächlich gibt Rechte an Abzug») @@ -312,6 +312,7 @@ LatestRelatedBill=Letzte ähnliche Rechnung WarningBillExist=Achtung, es existiert bereits mindestens eine Rechnung MergingPDFTool=PDF zusammenführen AmountPaymentDistributedOnInvoice=Zahlungsbetrag verteilt auf Rechnung +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Zahlungshinweis ListOfPreviousSituationInvoices=Liste der vorherigen Fortschrittsrechnungen ListOfNextSituationInvoices=Liste der nächsten Fortschrittsrechnungen @@ -323,7 +324,7 @@ NextDateToExecution=Datum der nächsten Rechnungserstellung DateLastGeneration=Datum der letzten Generierung MaxPeriodNumber=max. Anzahl an Rechnungen NbOfGenerationDone=Anzahl bisher erstellter Rechnungen -MaxGenerationReached=Maximum nb of generations reached +MaxGenerationReached=Max. Anzahl Rechnungsgenerierungen erreicht InvoiceAutoValidate=Rechnungen automatisch freigeben GeneratedFromRecurringInvoice=Erstelle wiederkehrende Rechnung %s aus Vorlage DateIsNotEnough=Datum noch nicht erreicht diff --git a/htdocs/langs/de_DE/companies.lang b/htdocs/langs/de_DE/companies.lang index d1165fc712e..7ef5314c890 100644 --- a/htdocs/langs/de_DE/companies.lang +++ b/htdocs/langs/de_DE/companies.lang @@ -14,9 +14,9 @@ NewCompany=Neues Unternehmen (Leads, Kunden, Lieferanten) NewThirdParty=Neuer Partner (Leads, Kunden, Lieferanten) CreateDolibarrThirdPartySupplier=Neuen Partner erstellen (Lieferant) ProspectionArea=Übersicht Geschäftsanbahnung -IdThirdParty=Partner ID -IdCompany=Unternehmens ID -IdContact=Kontakt ID +IdThirdParty=Partner-ID +IdCompany=Unternehmen-ID +IdContact=Kontakt-ID Contacts=Kontakte/Adressen ThirdPartyContacts=Partnerkontakte ThirdPartyContact=Partnerkontakt @@ -38,7 +38,7 @@ ThirdPartySuppliers=Lieferanten ThirdPartyType=Typ des Partners Company/Fundation=Firma/Institution Individual=Privatperson -ToCreateContactWithSameName=Legt aus diesen Daten automatisch eine Person/Kontakt an +ToCreateContactWithSameName=Legt aus diesen Daten automatisch einen Kontakt an ParentCompany=Muttergesellschaft Subsidiaries=Tochtergesellschaften ReportByCustomers=Bericht von den Kunden @@ -64,16 +64,17 @@ Chat=Chat PhonePro=Telefon berufl. PhonePerso=Telefon privat PhoneMobile=Mobiltelefon -No_Email=keine E-Mail-Kampagne senden +No_Email=Keine E-Mail-Kampagne senden Fax=Fax Zip=PLZ Town=Stadt Web=Web Poste= Posten DefaultLang=Standard-Sprache -VATIsUsed=USt.-pflichtig +VATIsUsed=USt-pflichtig VATIsNotUsed=Nicht USt-pflichtig CopyAddressFromSoc=Übernehme die Adresse vom Partner +ThirdpartyNotCustomerNotSupplierSoNoRef=Partner ist weder Kunden noch Lieferanten, keine verfügbare verweisende Objekte ##### Local Taxes ##### LocalTax1IsUsed=Nutze zweiten Steuersatz LocalTax1IsUsedES= RE wird verwendet @@ -96,15 +97,15 @@ ProfId2Short=Prof. ID 2 ProfId3Short=Prof. ID 3 ProfId4Short=Prof. ID 4 ProfId5Short=Prof. ID 5 -ProfId6Short=Prof. id 6 +ProfId6Short=Prof. ID 6 ProfId1=Professional ID 1 ProfId2=Professional ID 2 ProfId3=Professional ID 3 ProfId4=Professional ID 4 ProfId5=Professional ID 5 ProfId6=Professional ID 6 -ProfId1AR=Prof Id 1 (CUIT) -ProfId2AR=Prof Id 2 (Revenu Bestien) +ProfId1AR=Steuernummer +ProfId2AR=Bruttoeinkommen ProfId3AR=- ProfId4AR=- ProfId5AR=- @@ -112,31 +113,31 @@ ProfId6AR=- ProfId1AT=Prof Id 1 ProfId2AT=Gerichtsstand ProfId3AT=Firmenbuchnummer -ProfId4AT=Prof Id 4 +ProfId4AT=Prof ID 4 ProfId5AT=- ProfId6AT=- -ProfId1AU=Prof Id 1 (ABN) +ProfId1AU=Prof ID 1 ProfId2AU=-- ProfId3AU=-- ProfId4AU=-- ProfId5AU=-- ProfId6AU=- -ProfId1BE=Prof Id 1 (Anzahl Professionnel) +ProfId1BE=Prof ID 1 ProfId2BE=-- ProfId3BE=-- ProfId4BE=-- ProfId5BE=-- ProfId6BE=- ProfId1BR=- -ProfId2BR=IE (Staatliche Behörde) -ProfId3BR=IM (kommunale Behörde) +ProfId2BR=Bundes-/Landesbehörde +ProfId3BR=Kommunalbehörde ProfId4BR=Bildungsgutschein #ProfId5BR=CNAE #ProfId6BR=INSS ProfId1CH=-- ProfId2CH=-- -ProfId3CH=Prof Id 1 (Bundes-Nummer) -ProfId4CH=Prof Id 2 (Commercial Record-Nummer) +ProfId3CH=Prof Id 1 (Federal number) +ProfId4CH=Prof Id 2 (Commercial Record number) ProfId5CH=- ProfId6CH=- ProfId1CL=Prof Id 1 (R.U.T.) @@ -157,21 +158,21 @@ ProfId3DE=Handelsregister-Nummer ProfId4DE=- ProfId5DE=- ProfId6DE=- -ProfId1ES=Prof Id 1 (CIF / NIF) -ProfId2ES=Prof Id 2 (Social Security Number) -ProfId3ES=Prof Id 3 (CNAE) -ProfId4ES=Prof Id 4 (Collegiate Anzahl) +ProfId1ES=NIF (Frankreich): Numéro d'identification fiscale\nCIF (Spanien): Código de identificación fiscal +ProfId2ES=Sozialversicherungsnummer +ProfId3ES=Klassifikation der Wirtschaftszweige +ProfId4ES=Stiftungsverzeichnis ProfId5ES=- ProfId6ES=- -ProfId1FR=Prof Id 1 (SIREN) -ProfId2FR=Prof Id 2 (SIRET) -ProfId3FR=Prof Id 3 (NAF, alte APE) -ProfId4FR=Prof Id 4 (RCS / RM) -ProfId5FR=Prof Id 5 +ProfId1FR=SIREN (Frankreich): Système d'identification du répertoire des entreprises +ProfId2FR=SIRET (Frankreich): Système d’identification du répertoire des établissements +ProfId3FR=NAF (Frankreich): Statistik-Code +ProfId4FR=RCS (Frankreich): Registre du Commerce et des Sociétés\n(hier: Code im Handels- und Firmenregister) +ProfId5FR=Prof ID 5 ProfId6FR=- -ProfId1GB=Prof Id 1 (Registration Number) +ProfId1GB=Registration Number ProfId2GB=-- -ProfId3GB=Prof Id 3 (SIC) +ProfId3GB=SIC ProfId4GB=-- ProfId5GB=-- ProfId6GB=-- @@ -182,39 +183,39 @@ ProfId4HN=- ProfId5HN=- ProfId6HN=- ProfId1IN=Prof Id 1 (TIN) -ProfId2IN=Prof Id 2 -ProfId3IN=Prof Id 3 -ProfId4IN=Prof Id 4 -ProfId5IN=Prof Id 5 +ProfId2IN=Prof Id 2 (PAN) +ProfId3IN=Prof Id 3 (SRVC TAX) +ProfId4IN=Prof ID 4 +ProfId5IN=Prof ID 5 ProfId6IN=- -ProfId1LU=ID. prof. 1 (R.C.S. Luxemburg) -ProfId2LU=Id. prof. 2 (Geschäftserlaubnis) +ProfId1LU=R.C.S. Luxemburg +ProfId2LU=Prof ID 2 (Gewerbe-Erlaubnis) ProfId3LU=- ProfId4LU=- ProfId5LU=- ProfId6LU=-- -ProfId1MA=Id prof. 1 (R.C.) -ProfId2MA=Id prof. 2 (Patente) -ProfId3MA=Id prof. 3 (I.F.) -ProfId4MA=Id prof. 4 (C.N.S.S.) -ProfId5MA=ID Prof. 5 (C.I.C.E.) +ProfId1MA=Prof ID 1 (R.C.) +ProfId2MA=Prof ID 2 +ProfId3MA=Prof ID 3 +ProfId4MA=Prof ID 4 +ProfId5MA=Prof ID 5 ProfId6MA=- ProfId1MX=Prof Id 1 (R.F.C). ProfId2MX=Prof Id 2 (R..P. IMSS) -ProfId3MX=Prof Id 3 (Profesional Charter) +ProfId3MX=Prof ID 3 ProfId4MX=- ProfId5MX=- ProfId6MX=- -ProfId1NL=KVK nummer +ProfId1NL=Prof ID 1 KVK (Handelsregister-Nummer) ProfId2NL=- ProfId3NL=- -ProfId4NL=- +ProfId4NL=Prof ID 2 BSN (Bürgerservicenummer) ProfId5NL=- ProfId6NL=- ProfId1PT=Prof Id 1 (NIPC) -ProfId2PT=Prof Id 2 (Social Security Number) -ProfId3PT=Prof Id 3 (Commercial Record-Nummer) -ProfId4PT=Prof Id 4 (Konservatorium) +ProfId2PT=Prof Id 2 (Social security number) +ProfId3PT=Prof ID 3 +ProfId4PT=Prof Id 4 (Conservatory) ProfId5PT=- ProfId6PT=- ProfId1SN=RC @@ -223,16 +224,16 @@ ProfId3SN=- ProfId4SN=- ProfId5SN=- ProfId6SN=- -ProfId1TN=Prof Id 1 (RC) -ProfId2TN=Prof Id 2 (Geschäftsjahr matricule) -ProfId3TN=Prof Id 3 (Douane-Code) -ProfId4TN=Prof Id 4 (BAN) +ProfId1TN=RC +ProfId2TN=Fiscal matricule +ProfId3TN=Douane-Code +ProfId4TN=BAN ProfId5TN=- ProfId6TN=- -ProfId1RU=Prof ID 1 (OGRN) -ProfId2RU=Prof Id 2 (INN) -ProfId3RU=Prof Id 3 (KPP) -ProfId4RU=Prof Id 4 (OKPO) +ProfId1RU=OGRN +ProfId2RU=INN +ProfId3RU=KPP +ProfId4RU=OKPO ProfId5RU=- ProfId6RU=- VATIntra=Umsatzsteuer-Identifikationsnummer @@ -268,7 +269,7 @@ AddThirdParty=Partner erstellen DeleteACompany=Löschen eines Unternehmens PersonalInformations=Persönliche Daten AccountancyCode=Kontierungs-Code -CustomerCode=Kunden-Nummer +CustomerCode=Kundennummer SupplierCode=Lieferanten-Code CustomerCodeShort=Kundennummer SupplierCodeShort=Lieferantennummer @@ -364,11 +365,12 @@ SupplierCategory=Lieferantenkategorie JuridicalStatus200=Unabhängig DeleteFile=Datei löschen ConfirmDeleteFile=Sind Sie sicher dass Sie diese Datei löschen möchten? -AllocateCommercial=Dem vertriebsmitarbeiter zugewiesen +AllocateCommercial=Dem Vertriebsmitarbeiter zugewiesen Organization=Partner FiscalYearInformation=Informationen über das Geschäftsjahr FiscalMonthStart=Erster Monat des Geschäftsjahres -YouMustCreateContactFirst=Um E-Mail Benachrichtigungen zu senden, müssen zuerst E-Mailkontakte beim Partner erfasst werden +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=Liste der Lieferanten ListProspectsShort=Liste der Leads ListCustomersShort=Liste der Kunden diff --git a/htdocs/langs/de_DE/compta.lang b/htdocs/langs/de_DE/compta.lang index 149f550098f..743d8e5dea7 100644 --- a/htdocs/langs/de_DE/compta.lang +++ b/htdocs/langs/de_DE/compta.lang @@ -77,9 +77,9 @@ LT1PaymentES=RE Zahlung LT1PaymentsES=RE Zahlungen LT2PaymentES=EKSt. Zahlung LT2PaymentsES=EKSt. Zahlungen -VATPayment=Sales tax payment -VATPayments=Sales tax payments -VATRefund=Sales tax refund Refund +VATPayment=Steuer-/Soz.Beitragzahlung +VATPayments=MwSt-Zahlungen +VATRefund=Umsatzsteuer Rückerstattung Refund=Rückerstattung SocialContributionsPayments=Sozialabgaben-/Steuer Zahlungen ShowVatPayment=Zeige USt. Zahlung diff --git a/htdocs/langs/de_DE/contracts.lang b/htdocs/langs/de_DE/contracts.lang index b107023ae55..d51542c1479 100644 --- a/htdocs/langs/de_DE/contracts.lang +++ b/htdocs/langs/de_DE/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Nicht abgelaufen ServiceStatusLate=Läuft (abgelaufen) ServiceStatusLateShort=Abgelaufen ServiceStatusClosed=Geschlossen +ShowContractOfService=Zeige Verträge mit Leistungen Contracts=Verträge ContractsSubscriptions=Verträge/Abonnements ContractsAndLine=Verträge und Zeilen von Verträgen diff --git a/htdocs/langs/de_DE/errors.lang b/htdocs/langs/de_DE/errors.lang index dffdb32a663..a51d6820929 100644 --- a/htdocs/langs/de_DE/errors.lang +++ b/htdocs/langs/de_DE/errors.lang @@ -169,11 +169,11 @@ ErrorSavingChanges=Beim Speichern der Änderungen trat ein Fehler auf ErrorWarehouseRequiredIntoShipmentLine=Lager in der Zeile ist für die Lieferung notwendig ErrorFileMustHaveFormat=Die Datei muss das Format %s haben. ErrorSupplierCountryIsNotDefined=Land für den Lieferanten ist nicht definiert. Korrigieren Sie dies zuerst. -ErrorsThirdpartyMerge=Failed to merge the two records. Request canceled. -ErrorStockIsNotEnoughToAddProductOnOrder=Stock is not enougth for product %s to add it into a new order. -ErrorStockIsNotEnoughToAddProductOnInvoice=Stock is not enougth for product %s to add it into a new invoice. -ErrorStockIsNotEnoughToAddProductOnShipment=Stock is not enougth for product %s to add it into a new shipment. -ErrorStockIsNotEnoughToAddProductOnProposal=Stock is not enougth for product %s to add it into a new proposal. +ErrorsThirdpartyMerge=Fehler beim Zusammenführen der beiden Einträge. Die Anforderung wurde abgebrochen. +ErrorStockIsNotEnoughToAddProductOnOrder=Lagerbestand für Produkt / Leistung %s ist zu klein um es zur neuen Bestellung hinzu zu fügen. +ErrorStockIsNotEnoughToAddProductOnInvoice=Lagerbestand für Produkt / Leistung %s ist zu klein um es zur neuen Rechnung hinzu zu fügen. +ErrorStockIsNotEnoughToAddProductOnShipment=Lagerbestand für Produkt / Leistung %s ist zu klein um es zur neuen Lieferung hinzu zu fügen. +ErrorStockIsNotEnoughToAddProductOnProposal=Lagerbestand für Produkt / Leistung %s ist zu klein um es zum neuen Angebot hinzu zu fügen. # Warnings WarningPasswordSetWithNoAccount=Es wurde ein Passwort für dieses Mitglied vergeben, aber kein Benutzer erstellt. Das Passwort wird gespeichert, aber kann nicht für die Anmeldung an Dolibarr verwendet werden. Es kann von einem externen Modul/einer Schnittstelle verwendet werden, aber wenn Sie kein Login oder Passwort für dieses Mitglied definiert müssen, können Sie die Option "Login für jedes Mitglied verwalten" in den Mitgliedseinstellungen deaktivieren. Wenn Sie ein Login aber kein Passwort benötige, lassen Sie dieses Feld leer, um diese Meldung zu deaktivieren. Anmerkung: Die E-Mail-Adresse kann auch zur Anmeldung verwendet werden, wenn das Mitglied mit einem Benutzer verbunden wird. @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Die ClickToDial-Informationen für Ihren WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Funktion deaktiviert, wenn die Bildschirm-Ausgabe für Blinde oder Text-Browser optimiert ist. WarningPaymentDateLowerThanInvoiceDate=Zahlungsdatum (%s) liegt vor dem Rechnungsdatum (%s) für Rechnung %s. WarningTooManyDataPleaseUseMoreFilters=Zu viele Ergebnisse (mehr als %s Zeilen). Bitte benutzen Sie mehr Filter oder erhöhen sie die Konstante %s auf einen höheren Wert. -WarningSomeLinesWithNullHourlyRate=Einige Zeiten wurden durch Benutzer erfasst bei denen der Stundenansatz nicht definiert war. Ein Stundenansatz von 0 wird verwendet, was aber Fehlerhafte Zeitauswertungen zur Folge haben kann. +WarningSomeLinesWithNullHourlyRate=Einige erfasste Zeiten wurden von Benutzern erfasst bei denen der Stundensatz undefiniert war. Ein Stundenansatz von 0 %s pro Stunde wurde verwendet, was eine fehlerhafte Zeitauswertungen zur Folge haben kann. WarningYourLoginWasModifiedPleaseLogin=Ihr Login wurde verändert. Aus Sicherheitsgründen müssen Sie sich vor der nächsten Aktion mit Ihrem neuen Login anmelden. diff --git a/htdocs/langs/de_DE/holiday.lang b/htdocs/langs/de_DE/holiday.lang index ca7cb81e16e..610007326a5 100644 --- a/htdocs/langs/de_DE/holiday.lang +++ b/htdocs/langs/de_DE/holiday.lang @@ -4,8 +4,8 @@ Holidays=Urlaub CPTitreMenu=Urlaub MenuReportMonth=Monatsauszug MenuAddCP=Neuer Urlaubsantrag -NotActiveModCP=Sie müssen das Urlaubs-Modul aktivieren um diese Seite zu sehen. -AddCP=Urlaubs-Antrag einreichen +NotActiveModCP=Sie müssen das Urlaubsmodul aktivieren um diese Seite zu sehen. +AddCP=Erstellen Sie ein Urlaubs-Antrag DateDebCP=Urlaubsbeginn DateFinCP=Urlaubsende DateCreateCP=Erstellungsdatum @@ -18,7 +18,7 @@ ValidatorCP=Genehmiger ListeCP=Urlaubsliste ReviewedByCP=Wird geprüft von DescCP=Beschreibung -SendRequestCP=Urlaubs-Antrag erstellen +SendRequestCP=Erstelle Urlaubs-Antrag DelayToRequestCP=Urlaubsanträge müssen mindestens %s Tage im voraus gestellt werden. MenuConfCP=Summe der Abwesenheitsanträge SoldeCPUser=Urlaubssaldo ist %s Tage. @@ -26,7 +26,7 @@ ErrorEndDateCP=Sie müssen ein Urlaubsende-Datum wählen, dass nach dem Urlaubsb ErrorSQLCreateCP=Ein SQL Fehler trat auf bei der Erstellung von: ErrorIDFicheCP=Fehler aufgetreten: der Urlaubsantrag existiert nicht. ReturnCP=Zurück zur vorherigen Seite -ErrorUserViewCP=Sie sind nicht berechtigt diesen Urlaubs-Antrag zu lesen. +ErrorUserViewCP=Sie sind nicht berechtigt diesen Urlaubsantrag zu lesen. InfosWorkflowCP=Workflow-Informationen RequestByCP=Beantragt von TitreRequestCP=Urlaubsantrag @@ -41,8 +41,8 @@ ConfirmDeleteCP=Wollen Sie diesen Urlaubsantrag wirklich löschen? ErrorCantDeleteCP=Fehler: Sie haben nicht die Berechtigung, diesen Urlaubsantrag zu löschen. CantCreateCP=Sie haben nicht die Berechtigung Urlaub zu beantragen. InvalidValidatorCP=Sie müssen einen Vorgesetzten wählen, der Ihre Urlaubsanfrage genehmigt. -NoDateDebut=Sie müssen ein Urlaubsbeginn Datum wählen. -NoDateFin=Sie müssen ein Urlaubsende Datum wählen. +NoDateDebut=Sie müssen ein Urlaubsbeginn-Datum wählen. +NoDateFin=Sie müssen ein Urlaubsende-Datum wählen. ErrorDureeCP=Ihr Urlaubsantrag enthält keine Werktage. TitleValidCP=Urlaubsantrag genehmigen ConfirmValidCP=Möchten Sie diesen Urlaubsantrag wirklich genehmigen? @@ -76,8 +76,8 @@ BoxTitleLastLeaveRequests=%s zuletzt bearbeitete Urlaubsanträge HolidaysMonthlyUpdate=Monatliches Update ManualUpdate=Manuelles Update HolidaysCancelation=Urlaubsantrag stornieren -EmployeeLastname=Employee lastname -EmployeeFirstname=Employee firstname +EmployeeLastname=Mitarbeiter Nachname +EmployeeFirstname=Mitarbeiter Vorname ## Configuration du Module ## LastUpdateCP=Letzte automatische Aktualisierung der Urlaubstage @@ -100,4 +100,4 @@ HolidaysCanceled=stornierter Urlaubsantrag HolidaysCanceledBody=Ihr Urlaubsantrag von %s bis %s wurde storniert. FollowedByACounter=1: Diese Art von Antrag muss mit einem Zähler versehen werden. Der Zähler wird manuell oder automatisch erhöht und verringert, wenn der Urlaubsantrag geprüft wurde.
0: nicht mit einem Zähler versehen NoLeaveWithCounterDefined=Es gibt keine definierten Antragsarten , die mit einem Zähler versehen werden müssen. -GoIntoDictionaryHolidayTypes=Öffnen Sie das Menü Start - Einstellungen - Wörterbücher - Art des Urlaubs um die verschiedene Urlaubsarten zu konfigurieren. +GoIntoDictionaryHolidayTypes=Öffnen Sie das Menü Start - Einstellungen - Stammdaten - Arten des Urlaubs um die verschiedene Urlaubsarten zu konfigurieren. diff --git a/htdocs/langs/de_DE/install.lang b/htdocs/langs/de_DE/install.lang index 19633a3caf7..e6d738bd51a 100644 --- a/htdocs/langs/de_DE/install.lang +++ b/htdocs/langs/de_DE/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=Es empfiehlt sich die Verwendung eines Ordners außerhal LoginAlreadyExists=Dieser Benutzername ist bereits vergeben DolibarrAdminLogin=Anmeldung für dolibarr-Administrator AdminLoginAlreadyExists=Ein Administratorkonto namens '%s' ist bereits vorhanden. +FailedToCreateAdminLogin=Fehler beim erstellen des Dolibarr Administrator Kontos. WarningRemoveInstallDir=Aus Sicherheitsgründen sollten Sie nach abgeschlossenem Installations-/Aktualisierungsvorgang das Installationsverzeichnis (install) löschen oder in "install.lock" umbenennen. FunctionNotAvailableInThisPHP=Diese Funktion steht in Ihrer PHP-Version nicht zur Verfügung. ChoosedMigrateScript=Migrationsskript auswählen diff --git a/htdocs/langs/de_DE/interventions.lang b/htdocs/langs/de_DE/interventions.lang index c98ec2468db..be6c0c11fda 100644 --- a/htdocs/langs/de_DE/interventions.lang +++ b/htdocs/langs/de_DE/interventions.lang @@ -14,12 +14,12 @@ DeleteIntervention=Serviceauftrag löschen ValidateIntervention=Serviceauftrag freigeben ModifyIntervention=Ändere Serviceauftrag DeleteInterventionLine=Serviceauftragsposition löschen -CloneIntervention=Clone intervention +CloneIntervention=Serviceauftrag duplizieren ConfirmDeleteIntervention=Möchten Sie diesen Serviceauftrag wirklich löschen? ConfirmValidateIntervention=Möchten Sie diesen Serviceauftrag mit der Referenz %s wirklich freigeben? ConfirmModifyIntervention=Möchten sie diesen Serviceauftrag wirklich verändern? ConfirmDeleteInterventionLine=Möchten Sie diese Serviceauftragsposition wirklich löschen? -ConfirmCloneIntervention=Are you sure you want to clone this intervention ? +ConfirmCloneIntervention=Möchten sie diesen Serviceauftrag wirklich duplizieren? NameAndSignatureOfInternalContact=Name und Unterschrift des Mitarbeiter: NameAndSignatureOfExternalContact=Name und Unterschrift des Kunden: DocumentModelStandard=Standard-Dokumentvorlage für Serviceaufträge diff --git a/htdocs/langs/de_DE/mails.lang b/htdocs/langs/de_DE/mails.lang index 6094a2fa6a3..85f540024e6 100644 --- a/htdocs/langs/de_DE/mails.lang +++ b/htdocs/langs/de_DE/mails.lang @@ -102,8 +102,8 @@ YouCanUseCommaSeparatorForSeveralRecipients=Trennen Sie mehrere Empfänger mit e TagCheckMail=Öffnen der Mail verfolgen TagUnsubscribe=Abmelde Link TagSignature=Signatur des Absenders -EMailRecipient=Recipient EMail -TagMailtoEmail=Recipient EMail (including html "mailto:" link) +EMailRecipient=Empfänger E-Mail +TagMailtoEmail= Empfängers E-Mail (beinhaltet html "mailto:" link) NoEmailSentBadSenderOrRecipientEmail=Kein E-Mail gesendet. Ungültige Absender oder Empfänger Adresse. Benutzerprofil kontrollieren. # Module Notifications Notifications=Benachrichtigungen @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=Für dieses Ereignis und diesen Partner sind keine Ben ANotificationsWillBeSent=Eine Benachrichtigung wird per E-Mail versandt SomeNotificationsWillBeSent=%s Benachrichtigungen werden per E-Mail versandt AddNewNotification=Neues E-Mail-Benachrichtigungsziel aktivieren -ListOfActiveNotifications=Liste aller aktiven E-Mail-Benachrichtigungsziele +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=Liste aller versandten E-Mail Benachrichtigungen MailSendSetupIs=Der E-Mail-Versand wurde auf '%s' konfiguriert. Dieser Modus kann nicht für E-Mail-Kampagnen verwendet werden. MailSendSetupIs2=Sie müssen zuerst mit einem Admin-Konto im Menü %sStart - Einstellungen - E-Mails%s den Parameter '%s' auf den Modus '%s' ändern. Dann können Sie die Daten des SMTP-Servers von Ihrem Internetdienstanbieter eingeben und die E-Mail-Kampagnen-Funktion nutzen. diff --git a/htdocs/langs/de_DE/main.lang b/htdocs/langs/de_DE/main.lang index 79a6d8e28c3..8921beea1af 100644 --- a/htdocs/langs/de_DE/main.lang +++ b/htdocs/langs/de_DE/main.lang @@ -84,6 +84,7 @@ SeeAbove=Siehe oben HomeArea=Startseite LastConnexion=Letzte Verbindung PreviousConnexion=Letzte Anmeldung +PreviousValue=Vorheriger Wert ConnectedOnMultiCompany=Mit Entität verbunden ConnectedSince=Angemeldet seit AuthenticationMode=Authentifizierung-Modus @@ -177,7 +178,7 @@ Groups=Gruppen NoUserGroupDefined=Kein Benutzergruppe definiert Password=Passwort PasswordRetype=Geben Sie das Passwort noch einmal ein -NoteSomeFeaturesAreDisabled=Note that a lot of features/modules are disabled in this demonstration. +NoteSomeFeaturesAreDisabled=Bitte beachten Sie, dass viele Funktionen/Module in dieser Demo deaktiviert sind Name=Name Person=Person Parameter=Parameter @@ -647,7 +648,7 @@ ObjectDeleted=Objekt %s gelöscht ByCountry=Nach Land ByTown=Nach Ort ByDate=Nach Datum -ByMonthYear=Von Monat / Jahr +ByMonthYear=von Monat/Jahr ByYear=Bis zum Jahresende ByMonth=Nach Monat ByDay=Bei Tag @@ -738,21 +739,21 @@ Select2MoreCharacter=oder mehr Zeichen Select2MoreCharacters=oder mehr Zeichen Select2LoadingMoreResults=Weitere Ergebnisse werden geladen ... Select2SearchInProgress=Suche läuft ... -SearchIntoThirdparties=Drittparteien +SearchIntoThirdparties=Partner SearchIntoContacts=Kontakte SearchIntoMembers=Mitglieder SearchIntoUsers=Benutzer SearchIntoProductsOrServices=Produkte oder Dienstleistungen SearchIntoProjects=Projekte -SearchIntoTasks=Tasks +SearchIntoTasks=Aufgaben SearchIntoCustomerInvoices=Kundenrechnungen SearchIntoSupplierInvoices=Lieferantenrechnungen SearchIntoCustomerOrders=Kundenaufträge SearchIntoSupplierOrders=Lieferantenbestellungen -SearchIntoCustomerProposals=Angebote Kunde +SearchIntoCustomerProposals=Kunden Angebote SearchIntoSupplierProposals=Angebote Lieferant SearchIntoInterventions=Serviceaufträge SearchIntoContracts=Verträge SearchIntoCustomerShipments=Kunden Lieferungen SearchIntoExpenseReports=Spesenabrechnungen -SearchIntoLeaves=Leaves +SearchIntoLeaves=Urlaube diff --git a/htdocs/langs/de_DE/paybox.lang b/htdocs/langs/de_DE/paybox.lang index a3a871190f1..e296b3939e5 100644 --- a/htdocs/langs/de_DE/paybox.lang +++ b/htdocs/langs/de_DE/paybox.lang @@ -5,7 +5,7 @@ FollowingUrlAreAvailableToMakePayments=Für Kundenzahlungen stehen Ihnen die fol PaymentForm=Zahlungsformular WelcomeOnPaymentPage=Willkommen auf unserer Online-Bezahlseite ThisScreenAllowsYouToPay=Über dieses Fenster können Sie Online-Zahlungen an %s vornehmen. -ThisIsInformationOnPayment=Informationen zu der vorzunehmenden Zahlunge +ThisIsInformationOnPayment=Informationen zu der vorzunehmenden Zahlung ToComplete=Vervollständigen YourEMail=E-Mail-Adresse für die Zahlungsbestätigung Creditor=Zahlungsempfänger @@ -21,12 +21,12 @@ ToOfferALinkForOnlinePaymentOnFreeAmount=URL um Ihren Kunden eine %s Online-Beza ToOfferALinkForOnlinePaymentOnMemberSubscription=URL um Ihren Mitgliedern eine %s Online-Bezahlseite für Mitgliedsbeiträge YouCanAddTagOnUrl=Sie können auch den URL-Parameter &tag=value an eine beliebige dieser URLs anhängen (erforderlich nur bei der freien Zahlung) um einen eigenen Zahlungskommentar hinzuzufügen. SetupPayBoxToHavePaymentCreatedAutomatically=Richten Sie PayBox mit der URL %s ein, um nach Freigabe durch PayBox automatisch eine Zahlung anzulegen. -YourPaymentHasBeenRecorded=Hiermit Bestätigen wir die Zahlung ausgeführt wurde. Vielen Dank. +YourPaymentHasBeenRecorded=Hiermit Bestätigen wir, dass die Zahlung ausgeführt wurde. Vielen Dank. YourPaymentHasNotBeenRecorded=Die Zahlung wurde nicht gespeichert und der Vorgang storniert. Vielen Dank. AccountParameter=Konto Parameter UsageParameter=Einsatzparameter InformationToFindParameters=Hilfe für das Finden der %s Kontoinformationen -PAYBOX_CGI_URL_V2=Url für das Paybox Zahlungsmodul "CGI Modul" +PAYBOX_CGI_URL_V2=URL für das Paybox Zahlungsmodul "CGI Modul" VendorName=Name des Anbieters CSSUrlForPaymentForm=CSS-Datei für das Zahlungsmodul MessageOK=Nachrichtenseite für bestätigte Zahlung diff --git a/htdocs/langs/de_DE/printing.lang b/htdocs/langs/de_DE/printing.lang index b1ccc8a0af6..5db88d97b05 100644 --- a/htdocs/langs/de_DE/printing.lang +++ b/htdocs/langs/de_DE/printing.lang @@ -51,5 +51,5 @@ IPP_Supported=Medientyp DirectPrintingJobsDesc=Diese Seite zeigt Druckjobs für verfügbar Drucker. GoogleAuthNotConfigured=Google OAuth Einrichtung nicht vorhanden. Aktivieren Sie das Modul OAuth und geben eine Google ID/einen Schlüssel an. GoogleAuthConfigured=Google OAuth Anmeldedaten wurden in der Einrichtung des Moduls OAuth gefunden. -PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. -PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PrintingDriverDescprintgcp=Konfigurationsvariablen für Google Cloud Print +PrintTestDescprintgcp=Druckerliste für Google-Coud Druck diff --git a/htdocs/langs/de_DE/products.lang b/htdocs/langs/de_DE/products.lang index 2108ca73bec..7fb407acb1d 100644 --- a/htdocs/langs/de_DE/products.lang +++ b/htdocs/langs/de_DE/products.lang @@ -32,8 +32,8 @@ ServicesOnSellAndOnBuy=Leistungen für Ein- und Verkauf LastModifiedProductsAndServices=Letzte %s bearbeitete Produkte/Leistungen LastRecordedProducts=Letzte %s erfasste Produkte/Leistungen LastRecordedServices=%s zuletzt erfasste Leistungen -CardProduct0=Product card -CardProduct1=Service card +CardProduct0=Produkt - Karte +CardProduct1=Leistungs-Karte Stock=Warenbestand Stocks=Warenbestände Movements=Lagerbewegungen @@ -85,7 +85,7 @@ SetDefaultBarcodeType=Wählen Sie den standardmäßigen Barcode-Typ BarcodeValue=Barcode-Wert NoteNotVisibleOnBill=Anmerkung (nicht sichtbar auf Rechnungen, Angeboten,...) ServiceLimitedDuration=Ist die Erbringung einer Dienstleistung zeitlich beschränkt: -MultiPricesAbility=Several segment of prices per product/service (each customer is in one segment) +MultiPricesAbility=Mehrere Preissegmente pro Produkt/Leistung (Jeder Kunde ist einem Segment zugeordnet) MultiPricesNumPrices=Anzahl Preise AssociatedProductsAbility=Aktivieren Sie die Paket Funktion AssociatedProducts=verknüpfte Produkte @@ -176,13 +176,13 @@ AlwaysUseNewPrice=Immer aktuellen Preis von Produkt/Leistung nutzen AlwaysUseFixedPrice=Festen Preis nutzen PriceByQuantity=Unterschiedliche Preise nach Menge PriceByQuantityRange=Bereich der Menge -MultipriceRules=Price segment rules -UseMultipriceRules=Use price segment rules (defined into product module setup) to autocalculate prices of all other segment according to first segment +MultipriceRules=Regeln der Preisstufen +UseMultipriceRules=Verwende Preissegmentregeln (Im Produkt Modul Setup definiert) um automatisch Preise für alle anderen Segmente anhand des ersten Segmentes zu berechnen PercentVariationOver=%% Veränderung über %s PercentDiscountOver=%% Nachlass über %s ### composition fabrication Build=Produzieren -ProductsMultiPrice=Products and prices for each price segment +ProductsMultiPrice=Produkte und Preise für jedes Preissegment ProductsOrServiceMultiPrice=Kundenpreise (von Produkten oder Leistungen, Multi-Preise) ProductSellByQuarterHT=Quartalsumsatz Produkte exkl. Steuer ServiceSellByQuarterHT=Quartalsumsatz Leistungen exkl. Steuer @@ -203,9 +203,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Barcode-Typ oder -Wert bei Partner BarCodeDataForProduct=Barcode-Information von Produkt %s: BarCodeDataForThirdparty=Barcode-Information von Partner %s: ResetBarcodeForAllRecords=Definieren Sie den Barcode-Wert für alle Datensätze (das auch die Barcode-Werte bereits von neuen definiert Reset) -PriceByCustomer=Different prices for each customer -PriceCatalogue=A single sell price per product/service -PricingRule=Rules for sell prices +PriceByCustomer=unterschiedliche Preise für jeden Kunden +PriceCatalogue=Ein einziger Preis pro Produkt/Leistung +PricingRule=Preisregel für Kundenpreise AddCustomerPrice=Preis je Kunde hinzufügen ForceUpdateChildPriceSoc=Lege den gleichen Preis für Kunden-Tochtergesellschaften fest PriceByCustomerLog=Protokoll der vorangegangenen Kundenpreise diff --git a/htdocs/langs/de_DE/projects.lang b/htdocs/langs/de_DE/projects.lang index bdaef83c82b..0a07d46f0ca 100644 --- a/htdocs/langs/de_DE/projects.lang +++ b/htdocs/langs/de_DE/projects.lang @@ -2,7 +2,7 @@ RefProject=Projekt-Nr. ProjectRef=Chance ProjectId=Projekt-ID -ProjectLabel=Project label +ProjectLabel=Projektbezeichnung Project=Projekt Projects=Projekte ProjectsArea=Projektübersicht @@ -11,8 +11,10 @@ SharedProject=Jeder PrivateProject=Projektkontakte MyProjectsDesc=Diese Ansicht zeigt nur Projekte, bei welchen Sie als Kontakt (unabhängig vom Typ) hinzugefügt sind. ProjectsPublicDesc=Diese Ansicht zeigt alle Projekte, für die Sie zum Lesen berechtigt sind. +TasksOnProjectsPublicDesc=Diese Ansicht zeigt alle Aufgaben der Projekte, für die Sie zum Lesen berechtigt sind. ProjectsPublicTaskDesc=Diese Ansicht ist beschränkt auf Projekt und Aufgaben bei welchen Sie über Leserechte verfügen. ProjectsDesc=Es werden alle Projekte angezeigt (Ihre Berechtigungen berechtigt Sie alle Projekte zu sehen). +TasksOnProjectsDesc=Es werden alle Aufgaben angezeigt (Ihre Berechtigungen berechtigt Sie alles zu sehen). MyTasksDesc=Diese Ansicht ist für Sie beschränkt auf Projekte oder Aufgaben bei welchen Sie als Ansprechpartner eingetragen sind. OnlyOpenedProject=Nur offene Projekte sind sichtbar. (Projekte im Status Entwurf oder Geschlossen sind nicht sichtbar) ClosedProjectsAreHidden=Abgeschlossene Projekte werden nicht angezeigt. @@ -35,7 +37,7 @@ SetProject=Projekt setzen NoProject=Kein Projekt definiert oder keine Rechte NbOfProjects=Anzahl der Projekte TimeSpent=Zeitaufwand -TimeSpentByYou=Dein Zeitaufwand +TimeSpentByYou=Ihr Zeitaufwand TimeSpentByUser=Zeitaufwand von Benutzer ausgegeben TimesSpent=Zeitaufwände RefTask=Aufgaben-Nr. @@ -84,7 +86,7 @@ ActivityOnProjectYesterday=Projektaktivitäten von gestern ActivityOnProjectThisWeek=Projektaktivitäten dieser Woche ActivityOnProjectThisMonth=Projektaktivitäten dieses Monats ActivityOnProjectThisYear=Projektaktivitäten dieses Jahres -ChildOfTask=Kindelement von Projekt/Aufgabe +ChildOfTask=Subelemente des Projekts/Aufgabe NotOwnerOfProject=Nicht Eigner des privaten Projekts AffectedTo=Zugewiesen an CantRemoveProject=Löschen des Projekts auf Grund verbundener Elemente (Rechnungen, Bestellungen oder andere) nicht möglich. Näheres finden Sie unter dem Reiter Bezugnahmen. @@ -130,6 +132,9 @@ OpportunityProbability=Wahrscheinlichkeit Verkaufschance OpportunityProbabilityShort=Wahrscheinlichkeit Verkaufschance OpportunityAmount=Verkaufschance Betrag OpportunityAmountShort=Chance Betrag +OpportunityAmountAverageShort=Durchschnittsbetrag Chance +OpportunityAmountWeigthedShort=Gewichtete Erfolgschance +WonLostExcluded=Gewonnene/Verlorene ausgeschlossen ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projektleiter TypeContact_project_external_PROJECTLEADER=Projektleiter diff --git a/htdocs/langs/de_DE/stocks.lang b/htdocs/langs/de_DE/stocks.lang index bdd111a68c5..5110869b284 100644 --- a/htdocs/langs/de_DE/stocks.lang +++ b/htdocs/langs/de_DE/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Eintrag verschoben ReceivingForSameOrder=Empfänger zu dieser Bestellung StockMovementRecorded=aufgezeichnete Lagerbewegungen RuleForStockAvailability=Regeln für Bestands-Verfügbarkeit -StockMustBeEnoughForInvoice=Ausreichender Lagerbestand ist erforderlich, um das Produkt / die Leistung einer Rechnung anzufügen. -StockMustBeEnoughForOrder=Ausreichender Lagerbestand ist erforderlich, um das Produkt / die Leistung einem Auftrag anzufügen -StockMustBeEnoughForShipment= Ausreichender Lagerbestand ist erforderlich, um das Produkt / die Leistung einer Lieferung anzufügen +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Titel der Lagerbewegung InventoryCode=Bewegungs- oder Bestandscode IsInPackage=In Paket enthalten +WarehouseAllowNegativeTransfer=Bestand kann negativ sein +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Zeige Lager MovementCorrectStock=Lagerkorrektur für Produkt %s MovementTransferStock=Umlagerung des Produkt %s in ein anderes Lager diff --git a/htdocs/langs/de_DE/website.lang b/htdocs/langs/de_DE/website.lang index 5d935dd4029..9e3285ee547 100644 --- a/htdocs/langs/de_DE/website.lang +++ b/htdocs/langs/de_DE/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=Webseite in neuen Tab anzeigen ViewPageInNewTab=Seite in neuem Tab anzeigen SetAsHomePage=Als Startseite festlegen RealURL=Echte URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/de_DE/withdrawals.lang b/htdocs/langs/de_DE/withdrawals.lang index 395068f6d98..454876ec160 100644 --- a/htdocs/langs/de_DE/withdrawals.lang +++ b/htdocs/langs/de_DE/withdrawals.lang @@ -23,7 +23,7 @@ WithdrawStatistics=Abbuchungsstatistik WithdrawRejectStatistics=Statistik abgelehnter Abbuchungen LastWithdrawalReceipt=Letzte %s Abbuchungsbelege MakeWithdrawRequest=Beantragen Sie einen Abbuchungsantrag -ThirdPartyBankCode=BLZ Partner +ThirdPartyBankCode=IBAN Partner NoInvoiceCouldBeWithdrawed=Keine Rechnung erfolgreich abgebucht. Überprüfen Sie die Kontonummern der den Rechnungen zugewiesenen Partnern. ClassCredited=Als eingegangen markieren ClassCreditedConfirm=Möchten Sie diesen Abbuchungsbeleg wirklich als auf Ihrem Konto eingegangen markieren? diff --git a/htdocs/langs/de_DE/workflow.lang b/htdocs/langs/de_DE/workflow.lang index 929d436b0d4..2d331510f38 100644 --- a/htdocs/langs/de_DE/workflow.lang +++ b/htdocs/langs/de_DE/workflow.lang @@ -1,7 +1,7 @@ -# Dolibarr language file - Source file is en_US - admin +# Dolibarr language file - Source file is en_US - workflow WorkflowSetup=Workflow Moduleinstellungen -WorkflowDesc=Dieses Modul wurde gestaltet um das Verhalten von automatischen Aktionen in den Anwendung zu verändern. Standardmäßig wird der Prozess offen sein. (Sie können die Dinge in der gewünschten Reihenfolge tun). Sie können die automatische Aktionen, die Sie interessieren aktivieren. -ThereIsNoWorkflowToModify=Es sind keine Workflow Änderungen möglich mit den aktivierten Modulen. +WorkflowDesc=Dieses Modul ermöglicht, das Verhalten von automatischen Aktionen in den Anwendungen zu verändern. Standardmäßig wird der Prozess offen sein (Sie können die Dinge in der gewünschten Reihenfolge tun). Sie können automatische Aktionen aktivieren, die Sie interessieren. +ThereIsNoWorkflowToModify=Es sind keine Workflow-Änderungen möglich mit den aktivierten Modulen. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Erstelle einen Kundenauftrag automatisch, nachdem ein Angebot unterzeichnet wurde descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Erstelle automatisch eine Kundenrechnung, nachdem das Angebot bestätigt wurde. descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Erstelle automatisch eine Kundenrechnung, nachdem der Vertrag bestätigt wurde. diff --git a/htdocs/langs/el_GR/admin.lang b/htdocs/langs/el_GR/admin.lang index d920c8ccf0f..a433818e4a6 100644 --- a/htdocs/langs/el_GR/admin.lang +++ b/htdocs/langs/el_GR/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Χρήστες & Ομάδες @@ -468,7 +471,7 @@ Module510Desc=Διαχείριση υπαλλήλων, μισθών και πλ Module520Name=Δάνειο Module520Desc=Διαχείριση δανείων Module600Name=Notifications -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Δωρεές Module700Desc=Donation management Module770Name=Αναφορές εξόδων @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Ρυθμίσεις αρθρώματος Εταιριών CompanyCodeChecker=Module for third parties code generation and checking (customer or supplier) AccountCodeManager=Module for accountancy code generation (customer or supplier) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Πρότυπα εγγράφων DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Watermark on draft document @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/el_GR/agenda.lang b/htdocs/langs/el_GR/agenda.lang index dd7e242feed..253202050cf 100644 --- a/htdocs/langs/el_GR/agenda.lang +++ b/htdocs/langs/el_GR/agenda.lang @@ -30,7 +30,7 @@ ViewWeek=Προβολή εβδομάδας ViewPerUser=Προβολή ανά χρήστη ViewPerType=Προβολή ανά τύπο AutoActions= Αυτόματη συμπλήρωση ημερολογίου -AgendaAutoActionDesc= Define here events for which you want Dolibarr to create automatically an event in agenda. If nothing is checked, only manual actions will be included in logged and visible into agenda. Automatic tracking of business actions done on objects (validation, status change) will not be saved. +AgendaAutoActionDesc= Ορίστε εδώ τα γεγονότα για τα οποία το Dolibarr θα δημιουργήσει αυτόματα μία εγγραφή στην ατζέντα. Αν δεν ορίσετε κάτι, μόνο οι χειροκίνητες κινήσεις θα περιληφθούν και θα προβάλλονται στην ατζέντα. Αυτόματες επιχειρηματικές διαδικασίες που συμβαίνουν σε αντικείμενα (επιβεβαιώσεις, αλλαγές κατάστασης) δεν θα σωθούν. AgendaSetupOtherDesc= Αυτή η σελίδα παρέχει επιλογές για να καταστεί δυνατή η εξαγωγή των δικών σας εκδηλώσεων Dolibarr σε ένα εξωτερικό ημερολόγιο (thunderbird, google calendar, ...) AgendaExtSitesDesc=Αυτή η σελίδα σας επιτρέπει να ρυθμίσετε εξωτερικά ημερολόγια. ActionsEvents=Γεγονότα για τα οποία θα δημιουργήσουν εγγραφή στο ημερολόγιο, αυτόματα diff --git a/htdocs/langs/el_GR/bills.lang b/htdocs/langs/el_GR/bills.lang index f819c78c16e..29dc86795ae 100644 --- a/htdocs/langs/el_GR/bills.lang +++ b/htdocs/langs/el_GR/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Τελευταίο σχετικό τιμολόγιο WarningBillExist=Προσοχή, ένα ή περισσότερα τιμολόγια υπάρχουν ήδη MergingPDFTool=Συγχώνευση εργαλείο PDF AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Σημείωση πληρωμής ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/el_GR/companies.lang b/htdocs/langs/el_GR/companies.lang index 0b0f5752453..9527aafd93c 100644 --- a/htdocs/langs/el_GR/companies.lang +++ b/htdocs/langs/el_GR/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Γλώσσα VATIsUsed=Χρήση ΦΠΑ VATIsNotUsed=Χωρίς ΦΠΑ CopyAddressFromSoc=Συμπληρώστε τη διεύθυνση με τη διεύθυνση του Πελ./Προμ. +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Χρησιμοποιήστε το δεύτερο φόρο LocalTax1IsUsedES= RE is used @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Οργανισμός FiscalYearInformation=Πληροφορίες Οικονομικού Έτους FiscalMonthStart=Μήνας Εκκίνησης Οικονομικού Έτους -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=Λίστα Προμηθευτών ListProspectsShort=Λίστα Προοπτικών ListCustomersShort=Λίστα Πελατών diff --git a/htdocs/langs/el_GR/contracts.lang b/htdocs/langs/el_GR/contracts.lang index 3730c26c7f2..15c1c203084 100644 --- a/htdocs/langs/el_GR/contracts.lang +++ b/htdocs/langs/el_GR/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Δεν έχει λήξει ServiceStatusLate=Ενεργή, Έληξε ServiceStatusLateShort=Έληξε ServiceStatusClosed=Τερματισμένη +ShowContractOfService=Show contract of service Contracts=Συμβόλαια ContractsSubscriptions=Συμβάσεις/Συνδρομές ContractsAndLine=Συμβόλαια και η γραμμή των συμβολαίων diff --git a/htdocs/langs/el_GR/dict.lang b/htdocs/langs/el_GR/dict.lang index 380b3599e34..a0ea0064217 100644 --- a/htdocs/langs/el_GR/dict.lang +++ b/htdocs/langs/el_GR/dict.lang @@ -138,7 +138,7 @@ CountryLS=Lesotho CountryLR=Λιβερία CountryLY=Λιβύη CountryLI=Liechtenstein -CountryLT=Lithuania +CountryLT=Λιθουανία CountryLU=Λουξεμβούργο CountryMO=Macao CountryMK=Σκόπια diff --git a/htdocs/langs/el_GR/errors.lang b/htdocs/langs/el_GR/errors.lang index 6b301a6952c..6b876b2088a 100644 --- a/htdocs/langs/el_GR/errors.lang +++ b/htdocs/langs/el_GR/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Απενεργοποιημένη λειτουργία όταν οι ρυθμίσεις της οθόνης έχουν προσαρμοστεί για χρήση από άτομα με προβλήματα όρασης ή φυλλομετρητές κειμένου. WarningPaymentDateLowerThanInvoiceDate=Η ημερομηνία πληρωμής (%s) είναι νωρίτερα από την ημερομηνία του τιμολογίου (%s) για το τιμολόγιο %s. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/el_GR/exports.lang b/htdocs/langs/el_GR/exports.lang index ee1eae89a7f..a2a7f038c48 100644 --- a/htdocs/langs/el_GR/exports.lang +++ b/htdocs/langs/el_GR/exports.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - exports -ExportsArea=Exports area +ExportsArea=Εξαγωγές ImportArea=Import area NewExport=New export NewImport=New import diff --git a/htdocs/langs/el_GR/install.lang b/htdocs/langs/el_GR/install.lang index bf03870ffa0..9684d893260 100644 --- a/htdocs/langs/el_GR/install.lang +++ b/htdocs/langs/el_GR/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=It is recommanded to use a directory outside of your dir LoginAlreadyExists=Already exists DolibarrAdminLogin=Dolibarr admin login AdminLoginAlreadyExists=Dolibarr administrator account '%s' already exists. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, you should remove the install directory or rename it to install.lock in order to avoid its malicious use. FunctionNotAvailableInThisPHP=Not available on this PHP ChoosedMigrateScript=Choose migration script diff --git a/htdocs/langs/el_GR/mails.lang b/htdocs/langs/el_GR/mails.lang index d8f775099b2..26681b5e872 100644 --- a/htdocs/langs/el_GR/mails.lang +++ b/htdocs/langs/el_GR/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=Δεν υπάρχουν ειδοποιήσεις μέ ANotificationsWillBeSent=1 ειδοποίηση θα σταλεί μέσω e-mail SomeNotificationsWillBeSent=%s Θα αποστέλλονται ειδοποιήσεις μέσω e-mail AddNewNotification=Ενεργοποιήστε ένα νέο στόχο ειδοποίησης μέσω ηλεκτρονικού ταχυδρομείου -ListOfActiveNotifications=Λίστα όλων των ενεργών στόχων ειδοποίησης μέσω ηλεκτρονικού ταχυδρομείου +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=Λίστα όλων των ειδοποιήσεων ηλεκτρονικού ταχυδρομείου που αποστέλλονται MailSendSetupIs=Διαμόρφωση αποστολή email έχει ρυθμιστεί σε '%s'. Αυτή η λειτουργία δεν μπορεί να χρησιμοποιηθεί για να σταλθούν μαζικά μηνύματα ηλεκτρονικού ταχυδρομείου. MailSendSetupIs2=Θα πρέπει πρώτα να πάτε, με έναν λογαριασμό διαχειριστή, στο μενού %s Αρχική - Ρύθμιση - Emails %s για να αλλάξετε την παράμετρο '%s' για να χρησιμοποιήσετε τη λειτουργία '%s'. Με αυτόν τον τρόπο, μπορείτε να μεταβείτε στις ρυθμίσεις του διακομιστή SMTP παρέχεται από τον Internet Service Provider και να χρησιμοποιήσετε τη Μαζική αποστολή ηλεκτρονικού ταχυδρομείου. diff --git a/htdocs/langs/el_GR/main.lang b/htdocs/langs/el_GR/main.lang index 27f562602a9..8e2da5f0e5f 100644 --- a/htdocs/langs/el_GR/main.lang +++ b/htdocs/langs/el_GR/main.lang @@ -84,6 +84,7 @@ SeeAbove=Δείτε παραπάνω HomeArea=Αρχική LastConnexion=Τελευταία Σύνδεση PreviousConnexion=Προηγούμενη Σύνδεση +PreviousValue=Previous value ConnectedOnMultiCompany=Σύνδεση στην οντότητα ConnectedSince=Σύνδεση από AuthenticationMode=Μέθοδος πσιτοποίησης diff --git a/htdocs/langs/el_GR/projects.lang b/htdocs/langs/el_GR/projects.lang index 16cf2674ede..d36bd2897c9 100644 --- a/htdocs/langs/el_GR/projects.lang +++ b/htdocs/langs/el_GR/projects.lang @@ -11,8 +11,10 @@ SharedProject=Όλοι PrivateProject=Project contacts MyProjectsDesc=Η άποψη αυτή περιορίζονται σε έργα που είναι σε μια επαφή για την (όποια είναι ο τύπος). ProjectsPublicDesc=Η άποψη αυτή παρουσιάζει όλα τα έργα σας επιτρέπεται να διαβάσετε. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=Αυτή η προβολή παρουσιάζει όλα τα έργα και τα καθήκοντα που επιτρέπεται να δείτε. ProjectsDesc=Η άποψη αυτή παρουσιάζει όλα τα έργα (δικαιώματα χρήστη να δώσει δικαίωμα για να δείτε τα πάντα). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=Η άποψη αυτή περιορίζονται σε έργα ή εργασίες που έχουν μια επαφή για την (όποια είναι ο τύπος). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Επικεφαλής του σχεδίου TypeContact_project_external_PROJECTLEADER=Επικεφαλής του σχεδίου diff --git a/htdocs/langs/el_GR/stocks.lang b/htdocs/langs/el_GR/stocks.lang index d25db80456a..d46d6a93bb5 100644 --- a/htdocs/langs/el_GR/stocks.lang +++ b/htdocs/langs/el_GR/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Η εγγραφή μεταφέρθηκε ReceivingForSameOrder=Αποδείξεις για αυτή την παραγγελία StockMovementRecorded=Οι κινήσεις των αποθεμάτων καταγράφονται RuleForStockAvailability=Κανόνες σχετικά με τις απαιτήσεις του αποθέματος -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Ετικέτα λογιστικής κίνησης InventoryCode=Λογιστική κίνηση ή κωδικός απογραφής IsInPackage=Περιεχόμενα συσκευασίας +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Εμφάνιση αποθήκης MovementCorrectStock=Διόρθωση αποθέματος για το προϊόν %s MovementTransferStock=Μετακίνηση του προϊόντος %s σε μια άλλη αποθήκη diff --git a/htdocs/langs/el_GR/website.lang b/htdocs/langs/el_GR/website.lang index 979624a19a0..12addc04fed 100644 --- a/htdocs/langs/el_GR/website.lang +++ b/htdocs/langs/el_GR/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/en_AU/admin.lang b/htdocs/langs/en_AU/admin.lang index 595424a6f83..3b3785a0b41 100644 --- a/htdocs/langs/en_AU/admin.lang +++ b/htdocs/langs/en_AU/admin.lang @@ -6,6 +6,7 @@ ExampleOfDirectoriesForModelGen=Examples of syntax:
c:\\mydir
/home/mydir< HideAnyVATInformationOnPDF=Hide all information related to GST on generated PDF OldVATRates=Old GST rate NewVATRates=New GST rate +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails DictionaryVAT=GST Rates or Sales Tax Rates VATManagement=GST Management VATIsNotUsedDesc=By default the proposed GST rate is 0 which can be used for cases like associations, individuals and small companies. @@ -13,8 +14,11 @@ LocalTax1IsUsedDesc=Use a second type of tax (other than GST) LocalTax1IsNotUsedDesc=Do not use other type of tax (other than GST) LocalTax2IsUsedDesc=Use a third type of tax (other than GST) LocalTax2IsNotUsedDesc=Do not use other type of tax (other than GST) +CompanyFundationDesc=Edit on this page all known information of the company or foundation you need to manage (For this, click on "Modify" button at bottom of page) TranslationSetup=Translation Configuration +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: OptionVatMode=GST due YourCompanyDoesNotUseVAT=Your company has been defined to not use GST (Home - Setup - Company/Foundation), so there is no GST options to setup. +GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses TextTitleColor=Colour of page title LinkColor=Colour of links diff --git a/htdocs/langs/en_AU/companies.lang b/htdocs/langs/en_AU/companies.lang index 9f31c7c53e9..5c58190cb73 100644 --- a/htdocs/langs/en_AU/companies.lang +++ b/htdocs/langs/en_AU/companies.lang @@ -2,3 +2,4 @@ VATIsUsed=GST is used VATIsNotUsed=GST is not used VATIntraCheck=Cheque +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party diff --git a/htdocs/langs/en_AU/mails.lang b/htdocs/langs/en_AU/mails.lang new file mode 100644 index 00000000000..cc3219b8470 --- /dev/null +++ b/htdocs/langs/en_AU/mails.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - mails +ListOfActiveNotifications=List all active targets for email notification diff --git a/htdocs/langs/en_AU/stocks.lang b/htdocs/langs/en_AU/stocks.lang new file mode 100644 index 00000000000..00d43473692 --- /dev/null +++ b/htdocs/langs/en_AU/stocks.lang @@ -0,0 +1,4 @@ +# Dolibarr language file - Source file is en_US - stocks +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment=Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) diff --git a/htdocs/langs/en_CA/admin.lang b/htdocs/langs/en_CA/admin.lang index 9bf5497f19b..04c5cf552b6 100644 --- a/htdocs/langs/en_CA/admin.lang +++ b/htdocs/langs/en_CA/admin.lang @@ -2,8 +2,12 @@ AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
Example for ClamAv: /usr/bin/clamscan AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ExampleOfDirectoriesForModelGen=Examples of syntax:
c:\\mydir
/home/mydir
DOL_DATA_ROOT/ecm/ecmdir +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails VATManagement=GST Management LocalTax1IsUsedDesc=Use a second tax (PST) LocalTax1IsNotUsedDesc=Do not use second tax (PST) LocalTax1Management=PST Management LocalTax2IsNotUsedDesc=Do not use second tax (PST) +CompanyFundationDesc=Edit on this page all known information of the company or foundation you need to manage (For this, click on "Modify" button at bottom of page) +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses diff --git a/htdocs/langs/en_CA/companies.lang b/htdocs/langs/en_CA/companies.lang index 985f125d7de..e92e5a8de6f 100644 --- a/htdocs/langs/en_CA/companies.lang +++ b/htdocs/langs/en_CA/companies.lang @@ -3,3 +3,4 @@ VATIsUsed=GST is used VATIsNotUsed=GST is not use LocalTax1IsUsedES=PST is used LocalTax1IsNotUsedES=GST is not used +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party diff --git a/htdocs/langs/en_CA/mails.lang b/htdocs/langs/en_CA/mails.lang new file mode 100644 index 00000000000..cc3219b8470 --- /dev/null +++ b/htdocs/langs/en_CA/mails.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - mails +ListOfActiveNotifications=List all active targets for email notification diff --git a/htdocs/langs/en_CA/stocks.lang b/htdocs/langs/en_CA/stocks.lang new file mode 100644 index 00000000000..00d43473692 --- /dev/null +++ b/htdocs/langs/en_CA/stocks.lang @@ -0,0 +1,4 @@ +# Dolibarr language file - Source file is en_US - stocks +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment=Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) diff --git a/htdocs/langs/en_GB/admin.lang b/htdocs/langs/en_GB/admin.lang index 0e5d27e124c..ca2d10fe17f 100644 --- a/htdocs/langs/en_GB/admin.lang +++ b/htdocs/langs/en_GB/admin.lang @@ -3,7 +3,11 @@ AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamsca AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ExampleOfDirectoriesForModelGen=Examples of syntax:
c:\\mydir
/home/mydir
DOL_DATA_ROOT/ecm/ecmdir ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values? +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Permission300=Read barcodes Permission301=Create/modify barcodes Permission302=Delete barcodes +CompanyFundationDesc=Edit on this page all known information of the company or foundation you need to manage (For this, click on "Modify" button at bottom of page) +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: GenbarcodeLocation=Barcode generation command line tool (used by internal engine for some bar code types). Must be compatible with "genbarcode".
For example: /usr/local/bin/genbarcode +GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses diff --git a/htdocs/langs/en_GB/companies.lang b/htdocs/langs/en_GB/companies.lang index 3759ceacbe6..0b90649a09b 100644 --- a/htdocs/langs/en_GB/companies.lang +++ b/htdocs/langs/en_GB/companies.lang @@ -1,3 +1,5 @@ # Dolibarr language file - Source file is en_US - companies +Zip=Postcode Gencod=Barcode VATIntraCheck=Cheque +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party diff --git a/htdocs/langs/en_GB/mails.lang b/htdocs/langs/en_GB/mails.lang new file mode 100644 index 00000000000..cc3219b8470 --- /dev/null +++ b/htdocs/langs/en_GB/mails.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - mails +ListOfActiveNotifications=List all active targets for email notification diff --git a/htdocs/langs/en_GB/main.lang b/htdocs/langs/en_GB/main.lang index 7c5057ad4ba..b59e54fcf5f 100644 --- a/htdocs/langs/en_GB/main.lang +++ b/htdocs/langs/en_GB/main.lang @@ -19,6 +19,23 @@ FormatDateHourShort=%d/%m/%Y %H:%M FormatDateHourSecShort=%d/%m/%Y %H:%M:%S FormatDateHourTextShort=%d %b %Y %H:%M FormatDateHourText=%d %B %Y %H:%M +ErrorYourCountryIsNotDefined=Your country is not defined. Go to Home-Setup-Edit and modify the form. +ErrorRecordIsUsedByChild=Failed to delete this record. This record is used by at least one child record. +ErrorSomeErrorWereFoundRollbackIsDone=Some errors were found. Changes have been rolled back. +ErrorConfigParameterNotDefined=Parameter %s is not defined in Dolibarr config file conf.php. +ErrorNoVATRateDefinedForSellerCountry=Error, no VAT rates defined for country '%s'. +BackgroundColorByDefault=Default background colour +FileWasNotUploaded=A file is selected for attachment but has not yet been uploaded. Click on "Attach file" for this. +NbOfEntries=Number of entries +DolibarrInHttpAuthenticationSoPasswordUseless=Dolibarr authentication mode is set to %s in configuration file conf.php.
This means that the password database is external to Dolibarr, so changing this field may have no effect. +PasswordForgotten=Password forgotten? +AuthenticationMode=Authentication mode +RequestedUrl=Requested URL +InformationToHelpDiagnose=This information can be useful for diagnostic purposes +PrecisionUnitIsLimitedToXDecimals=Dolibarr was setup to limit precision of unit prices to %s decimal places. +ConfirmSendCardByMail=Do you really want to send the contents of this card by mail to %s? +Resiliate=Cancel +SaveAs=Save as AmountVAT=Amount VAT TotalVAT=Total VAT TTC=Inc. VAT diff --git a/htdocs/langs/en_GB/stocks.lang b/htdocs/langs/en_GB/stocks.lang new file mode 100644 index 00000000000..00d43473692 --- /dev/null +++ b/htdocs/langs/en_GB/stocks.lang @@ -0,0 +1,4 @@ +# Dolibarr language file - Source file is en_US - stocks +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment=Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) diff --git a/htdocs/langs/en_IN/admin.lang b/htdocs/langs/en_IN/admin.lang index 1c53b65c99c..87f50f8f47a 100644 --- a/htdocs/langs/en_IN/admin.lang +++ b/htdocs/langs/en_IN/admin.lang @@ -2,3 +2,7 @@ AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
Example for ClamAv: /usr/bin/clamscan AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ExampleOfDirectoriesForModelGen=Examples of syntax:
c:\\mydir
/home/mydir
DOL_DATA_ROOT/ecm/ecmdir +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails +CompanyFundationDesc=Edit on this page all known information of the company or foundation you need to manage (For this, click on "Modify" button at bottom of page) +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses diff --git a/htdocs/langs/en_IN/companies.lang b/htdocs/langs/en_IN/companies.lang new file mode 100644 index 00000000000..d2e0b40c0e5 --- /dev/null +++ b/htdocs/langs/en_IN/companies.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - companies +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party diff --git a/htdocs/langs/en_IN/mails.lang b/htdocs/langs/en_IN/mails.lang new file mode 100644 index 00000000000..cc3219b8470 --- /dev/null +++ b/htdocs/langs/en_IN/mails.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - mails +ListOfActiveNotifications=List all active targets for email notification diff --git a/htdocs/langs/en_IN/stocks.lang b/htdocs/langs/en_IN/stocks.lang new file mode 100644 index 00000000000..00d43473692 --- /dev/null +++ b/htdocs/langs/en_IN/stocks.lang @@ -0,0 +1,4 @@ +# Dolibarr language file - Source file is en_US - stocks +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment=Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) diff --git a/htdocs/langs/es_AR/admin.lang b/htdocs/langs/es_AR/admin.lang index 1c53b65c99c..87f50f8f47a 100644 --- a/htdocs/langs/es_AR/admin.lang +++ b/htdocs/langs/es_AR/admin.lang @@ -2,3 +2,7 @@ AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
Example for ClamAv: /usr/bin/clamscan AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ExampleOfDirectoriesForModelGen=Examples of syntax:
c:\\mydir
/home/mydir
DOL_DATA_ROOT/ecm/ecmdir +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails +CompanyFundationDesc=Edit on this page all known information of the company or foundation you need to manage (For this, click on "Modify" button at bottom of page) +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses diff --git a/htdocs/langs/es_AR/companies.lang b/htdocs/langs/es_AR/companies.lang new file mode 100644 index 00000000000..d2e0b40c0e5 --- /dev/null +++ b/htdocs/langs/es_AR/companies.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - companies +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party diff --git a/htdocs/langs/es_AR/mails.lang b/htdocs/langs/es_AR/mails.lang new file mode 100644 index 00000000000..cc3219b8470 --- /dev/null +++ b/htdocs/langs/es_AR/mails.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - mails +ListOfActiveNotifications=List all active targets for email notification diff --git a/htdocs/langs/es_AR/stocks.lang b/htdocs/langs/es_AR/stocks.lang new file mode 100644 index 00000000000..00d43473692 --- /dev/null +++ b/htdocs/langs/es_AR/stocks.lang @@ -0,0 +1,4 @@ +# Dolibarr language file - Source file is en_US - stocks +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment=Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) diff --git a/htdocs/langs/es_BO/admin.lang b/htdocs/langs/es_BO/admin.lang index 1c53b65c99c..87f50f8f47a 100644 --- a/htdocs/langs/es_BO/admin.lang +++ b/htdocs/langs/es_BO/admin.lang @@ -2,3 +2,7 @@ AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
Example for ClamAv: /usr/bin/clamscan AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ExampleOfDirectoriesForModelGen=Examples of syntax:
c:\\mydir
/home/mydir
DOL_DATA_ROOT/ecm/ecmdir +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails +CompanyFundationDesc=Edit on this page all known information of the company or foundation you need to manage (For this, click on "Modify" button at bottom of page) +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses diff --git a/htdocs/langs/es_BO/companies.lang b/htdocs/langs/es_BO/companies.lang new file mode 100644 index 00000000000..d2e0b40c0e5 --- /dev/null +++ b/htdocs/langs/es_BO/companies.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - companies +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party diff --git a/htdocs/langs/es_BO/mails.lang b/htdocs/langs/es_BO/mails.lang new file mode 100644 index 00000000000..cc3219b8470 --- /dev/null +++ b/htdocs/langs/es_BO/mails.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - mails +ListOfActiveNotifications=List all active targets for email notification diff --git a/htdocs/langs/es_BO/stocks.lang b/htdocs/langs/es_BO/stocks.lang new file mode 100644 index 00000000000..00d43473692 --- /dev/null +++ b/htdocs/langs/es_BO/stocks.lang @@ -0,0 +1,4 @@ +# Dolibarr language file - Source file is en_US - stocks +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment=Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) diff --git a/htdocs/langs/es_CL/admin.lang b/htdocs/langs/es_CL/admin.lang index 229e3dd2941..77c5342abc2 100644 --- a/htdocs/langs/es_CL/admin.lang +++ b/htdocs/langs/es_CL/admin.lang @@ -5,6 +5,7 @@ AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ ExampleOfDirectoriesForModelGen=Examples of syntax:
c:\\mydir
/home/mydir
DOL_DATA_ROOT/ecm/ecmdir Module20Name=Cotizaciones Module20Desc=Gestión de cotizaciones/propuestas comerciales +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module1400Name=Contabilidad Permission21=Consultar cotizaciones Permission22=Crear/modificar cotizaciones @@ -15,9 +16,12 @@ Permission27=Eliminar cotizaciones Permission28=Exportar las cotizaciones Delays_MAIN_DELAY_PROPALS_TO_CLOSE=Tolerancia de retraso antes de la alerta (en días) sobre cotizaciones a cerrar Delays_MAIN_DELAY_PROPALS_TO_BILL=Tolerancia de retraso antes de la alerta (en días) sobre cotizaciones no facturadas +CompanyFundationDesc=Edit on this page all known information of the company or foundation you need to manage (For this, click on "Modify" button at bottom of page) +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: PropalSetup=Configuración del módulo Cotizaciones ProposalsNumberingModules=Módulos de numeración de cotizaciones ProposalsPDFModules=Modelos de documentos de cotizaciones FreeLegalTextOnProposal=Texto libre en cotizaciones WatermarkOnDraftProposal=Marca de agua en cotizaciones borrador (en caso de estar vacío) FCKeditorForProductDetails=Creación/edición WYSIWIG de las líneas de detalle de los productos (en pedidos, cotizaciones, facturas, etc.) +GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses diff --git a/htdocs/langs/es_CL/companies.lang b/htdocs/langs/es_CL/companies.lang index 5a3be368047..f61cdce940c 100644 --- a/htdocs/langs/es_CL/companies.lang +++ b/htdocs/langs/es_CL/companies.lang @@ -2,4 +2,5 @@ Prospect=Cliente ContactForProposals=Contacto de cotizaciones NoContactForAnyProposal=Este contacto no es contacto de ninguna cotización +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party InActivity=Abierto diff --git a/htdocs/langs/es_CL/mails.lang b/htdocs/langs/es_CL/mails.lang new file mode 100644 index 00000000000..cc3219b8470 --- /dev/null +++ b/htdocs/langs/es_CL/mails.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - mails +ListOfActiveNotifications=List all active targets for email notification diff --git a/htdocs/langs/es_CL/stocks.lang b/htdocs/langs/es_CL/stocks.lang new file mode 100644 index 00000000000..00d43473692 --- /dev/null +++ b/htdocs/langs/es_CL/stocks.lang @@ -0,0 +1,4 @@ +# Dolibarr language file - Source file is en_US - stocks +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment=Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) diff --git a/htdocs/langs/es_CO/admin.lang b/htdocs/langs/es_CO/admin.lang index 1c53b65c99c..87f50f8f47a 100644 --- a/htdocs/langs/es_CO/admin.lang +++ b/htdocs/langs/es_CO/admin.lang @@ -2,3 +2,7 @@ AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
Example for ClamAv: /usr/bin/clamscan AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ExampleOfDirectoriesForModelGen=Examples of syntax:
c:\\mydir
/home/mydir
DOL_DATA_ROOT/ecm/ecmdir +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails +CompanyFundationDesc=Edit on this page all known information of the company or foundation you need to manage (For this, click on "Modify" button at bottom of page) +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses diff --git a/htdocs/langs/es_CO/companies.lang b/htdocs/langs/es_CO/companies.lang index c2daa96637b..fd05e19b41e 100644 --- a/htdocs/langs/es_CO/companies.lang +++ b/htdocs/langs/es_CO/companies.lang @@ -19,5 +19,6 @@ VATIntraCheckURL=http://www.rues.org.co/RUES_Web/Consultas#tabs-3 VATIntraCheckableOnEUSite=Verificar en la web VATIntraManualCheck=Puede también realizar una verificación manual en la web %s ConfirmDeleteFile=¿Está seguro que quiere eliminar este archivo? +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ThirdPartiesArea=Área Terceros ManagingDirectors=Administrador(es) (CEO, gerente, director, presidente, etc.) diff --git a/htdocs/langs/es_CO/mails.lang b/htdocs/langs/es_CO/mails.lang new file mode 100644 index 00000000000..cc3219b8470 --- /dev/null +++ b/htdocs/langs/es_CO/mails.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - mails +ListOfActiveNotifications=List all active targets for email notification diff --git a/htdocs/langs/es_CO/stocks.lang b/htdocs/langs/es_CO/stocks.lang new file mode 100644 index 00000000000..00d43473692 --- /dev/null +++ b/htdocs/langs/es_CO/stocks.lang @@ -0,0 +1,4 @@ +# Dolibarr language file - Source file is en_US - stocks +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment=Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) diff --git a/htdocs/langs/es_DO/admin.lang b/htdocs/langs/es_DO/admin.lang index 218ed2e23af..5aac922ed78 100644 --- a/htdocs/langs/es_DO/admin.lang +++ b/htdocs/langs/es_DO/admin.lang @@ -5,6 +5,7 @@ ExampleOfDirectoriesForModelGen=Examples of syntax:
c:\\mydir
/home/mydir< HideAnyVATInformationOnPDF=Ocultar toda la información relacionada con el ITBIS en la generación de los PDF OldVATRates=Tasa de ITBIS antigua NewVATRates=Tasa de ITBIS nueva +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Permission91=Consultar impuestos e ITBIS Permission92=Crear/modificar impuestos e ITBIS Permission93=Eliminar impuestos e ITBIS @@ -15,10 +16,13 @@ VATIsUsedExampleFR=En Francia, se trata de las sociedades u organismos que elige VATIsNotUsedExampleFR=En Francia, se trata de asociaciones exentas de ITBIS o sociedades, organismos o profesiones liberales que han elegido el régimen fiscal de módulos (ITBIS en franquicia), pagando un ITBIS en franquicia sin hacer declaración de IVA. Esta elección hace aparecer la anotación "IVA no aplicable - art-293B del CGI" en las facturas. LocalTax1IsUsedDesc=Uso de un 2º tipo de impuesto (Distinto del ITBIS) LocalTax1IsNotUsedDesc=No usar un 2º tipo de impuesto (Distinto del ITBIS) +CompanyFundationDesc=Edit on this page all known information of the company or foundation you need to manage (For this, click on "Modify" button at bottom of page) UnitPriceOfProduct=Precio unitario sin ITBIS de un producto ShowVATIntaInAddress=Ocultar el identificador ITBIS en las direcciones de los documentos +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: OptionVatMode=Opción de carga de ITBIS OptionVatDefaultDesc=La carga del ITBIS es:
-en el envío de los bienes (en la práctica se usa la fecha de la factura)
-sobre el pago por los servicios OptionVatDebitOptionDesc=La carga del ITBIS es:
-en el envío de los bienes (en la práctica se usa la fecha de la factura)
-sobre la facturación de los servicios SummaryOfVatExigibilityUsedByDefault=Tiempo de exigibilidad de ITBIS por defecto según la opción eligida YourCompanyDoesNotUseVAT=Su empresa está configurada como no sujeta al ITBIS (Inicio - Configuración - Empresa/Institución), por lo que no hay opción para la paremetrización del ITBIS. +GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses diff --git a/htdocs/langs/es_DO/companies.lang b/htdocs/langs/es_DO/companies.lang new file mode 100644 index 00000000000..d2e0b40c0e5 --- /dev/null +++ b/htdocs/langs/es_DO/companies.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - companies +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party diff --git a/htdocs/langs/es_DO/mails.lang b/htdocs/langs/es_DO/mails.lang new file mode 100644 index 00000000000..cc3219b8470 --- /dev/null +++ b/htdocs/langs/es_DO/mails.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - mails +ListOfActiveNotifications=List all active targets for email notification diff --git a/htdocs/langs/es_DO/stocks.lang b/htdocs/langs/es_DO/stocks.lang new file mode 100644 index 00000000000..00d43473692 --- /dev/null +++ b/htdocs/langs/es_DO/stocks.lang @@ -0,0 +1,4 @@ +# Dolibarr language file - Source file is en_US - stocks +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment=Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) diff --git a/htdocs/langs/es_EC/admin.lang b/htdocs/langs/es_EC/admin.lang index 1c53b65c99c..87f50f8f47a 100644 --- a/htdocs/langs/es_EC/admin.lang +++ b/htdocs/langs/es_EC/admin.lang @@ -2,3 +2,7 @@ AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
Example for ClamAv: /usr/bin/clamscan AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ExampleOfDirectoriesForModelGen=Examples of syntax:
c:\\mydir
/home/mydir
DOL_DATA_ROOT/ecm/ecmdir +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails +CompanyFundationDesc=Edit on this page all known information of the company or foundation you need to manage (For this, click on "Modify" button at bottom of page) +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses diff --git a/htdocs/langs/es_EC/companies.lang b/htdocs/langs/es_EC/companies.lang new file mode 100644 index 00000000000..d2e0b40c0e5 --- /dev/null +++ b/htdocs/langs/es_EC/companies.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - companies +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party diff --git a/htdocs/langs/es_EC/mails.lang b/htdocs/langs/es_EC/mails.lang new file mode 100644 index 00000000000..cc3219b8470 --- /dev/null +++ b/htdocs/langs/es_EC/mails.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - mails +ListOfActiveNotifications=List all active targets for email notification diff --git a/htdocs/langs/es_EC/stocks.lang b/htdocs/langs/es_EC/stocks.lang new file mode 100644 index 00000000000..00d43473692 --- /dev/null +++ b/htdocs/langs/es_EC/stocks.lang @@ -0,0 +1,4 @@ +# Dolibarr language file - Source file is en_US - stocks +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment=Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) diff --git a/htdocs/langs/es_ES/admin.lang b/htdocs/langs/es_ES/admin.lang index d26dc7c2330..ec2ff713c14 100644 --- a/htdocs/langs/es_ES/admin.lang +++ b/htdocs/langs/es_ES/admin.lang @@ -240,7 +240,7 @@ MAIN_SMS_SENDMODE=Método de envío de SMS MAIN_MAIL_SMS_FROM=Número de teléfono por defecto para los envíos SMS FeatureNotAvailableOnLinux=Funcionalidad no disponible en sistemas Unix. Pruebe su sendmail localmente. SubmitTranslation=Si la traducción de este idioma no está completa o si encuentra errores, puede corregir esto editando los archivos en el directorio langs/%s y enviar su cambio a www.transifex.com/dolibarr-association/dolibarr/ -SubmitTranslationENUS=If translation for this language is not complete or you find errors, you can correct this by editing files into directory langs/%s and submit modified files on dolibarr.org/forum or for developers on github.com/Dolibarr/dolibarr. +SubmitTranslationENUS=Si la traducción de este idioma es incompleta o si encuentra errores, puede corregirlos mediante la edición de los archivos en el directorio langs/%s y el envío los cambios al foro www.dolibarr.es o a los desarrolladores en github.com/Dolibarr/dolibarr. ModuleSetup=Configuración del módulo ModulesSetup=Configuración de los módulos ModuleFamilyBase=Sistema @@ -385,6 +385,9 @@ NoDetails=No hay más detalles al pie de página DisplayCompanyInfo=Mostrar dirección de la empresa DisplayCompanyInfoAndManagers=Mostrar empresa y nombres de los gestores EnableAndSetupModuleCron=Si desea tener esta factura recurrente para generarla automáticamente, el módulo *%s* debe estar activado y configurado correctamente. De lo contrario, la generación de facturas debe hacerse manualmente desde esta plantilla con el botón *Crear*. Tenga en cuenta que incluso si se habilita la generación automática, todavía puede lanzarla generación manual. No es posible la generación de duplicados para el mismo período. +ModuleCompanyCodeAquarium=Devuelve un código contable compuesto de
%s seguido del código tercero de proveedor para el código contable de proveedor,
%s seguido del código tercero de cliente para el código contable de cliente. +ModuleCompanyCodePanicum=Devuelve un código contable vacío. +ModuleCompanyCodeDigitaria=Devuelve un código contable compuesto siguiendo el código de tercero. El código está formado por carácter ' C ' en primera posición seguido de los 5 primeros caracteres del código tercero. # Modules Module0Name=Usuarios y grupos @@ -468,7 +471,7 @@ Module510Desc=Gestión de salarios y pagos Module520Name=Crédito Module520Desc=Gestión de créditos Module600Name=Notificaciones -Module600Desc=Enviar notificaciones por e-mail (provocados por algunos eventos) a los contactos de terceros (configuración definida en cada tercero) o a e-mails fijos +Module600Desc=Enviar notificaciones por e-mail (desencadenados por algunos eventos) a los usuarios (configuración definida para cada usuario), los contactos de terceros (configuración definida en cada tercero) o e-mails fijos Module700Name=Donaciones Module700Desc=Gestión de donaciones Module770Name=Informes de gastos @@ -512,8 +515,8 @@ Module5000Name=Multi-empresa Module5000Desc=Permite gestionar varias empresas Module6000Name=Flujo de trabajo Module6000Desc=Gestión del flujo de trabajo -Module10000Name=Websites -Module10000Desc=Create public websites with a WYSIWG editor. Just setup your web server to point to the dedicated directory to have it online on the Internet. +Module10000Name=Sitios web +Module10000Desc=Cree sitios web públicos con un editor WYSIWYG. Configure el servidor web para que apunte al directorio dedicado para tenerlo en línea en Internet. Module20000Name=Gestión de días libres retribuidos Module20000Desc=Gestión de los días libres retribuidos de los empleados Module39000Name=Lotes de producto @@ -534,8 +537,8 @@ Module59000Name=Márgenes Module59000Desc=Módulo para gestionar los márgenes de beneficio Module60000Name=Comisiones Module60000Desc=Módulo para gestionar las comisiones de venta -Module63000Name=Resources -Module63000Desc=Manage resources (printers, cars, room, ...) you can then share into events +Module63000Name=Recursos +Module63000Desc=Gestionar recursos (impresoras, automóviles, salas, ...) puede compartirlos en los eventos Permission11=Consultar facturas Permission12=Crear/Modificar facturas Permission13=De-validar facturas @@ -756,8 +759,8 @@ Permission23002=Crear/actualizar Trabajo programado Permission23003=Borrar Trabajo Programado Permission23004=Ejecutar Trabajo programado Permission2401=Leer acciones (eventos o tareas) vinculadas a su cuenta -Permission2402=Crear/eliminar acciones (eventos o tareas) vinculadas a su cuenta -Permission2403=Modificar acciones (eventos o tareas) vinculadas a su cuenta +Permission2402=Crear/modificar acciones (eventos o tareas) vinculadas a su cuenta +Permission2403=Eliminar acciones (eventos o tareas) vinculadas a su cuenta Permission2411=Leer acciones (eventos o tareas) de otros Permission2412=Crear/modificar acciones (eventos o tareas) de otros Permission2413=Eliminar acciones (eventos o tareas) de otros @@ -910,11 +913,11 @@ ShowBugTrackLink=Mostrar enlace "%s" Alerts=Alertas DelaysOfToleranceBeforeWarning=Plazos de tolerancia antes de alerta DelaysOfToleranceDesc=Esta pantalla permite configura los plazos de tolerancia antes de que se alerte con el símbolo %s, sobre cada elemento en retraso. -Delays_MAIN_DELAY_ACTIONS_TODO=Delay tolerance (in days) before alert on planned events (agenda events) not completed yet -Delays_MAIN_DELAY_PROJECT_TO_CLOSE=Delay tolerance (in days) before alert on project not closed in time -Delays_MAIN_DELAY_TASKS_TODO=Delay tolerance (in days) before alert on planned tasks (project tasks) not completed yet -Delays_MAIN_DELAY_ORDERS_TO_PROCESS=Delay tolerance (in days) before alert on orders not processed yet -Delays_MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS=Delay tolerance (in days) before alert on suppliers orders not processed yet +Delays_MAIN_DELAY_ACTIONS_TODO=Tolerancia de retraso (en días) sobre eventos planificados (eventos de la agnda) todavía no completados +Delays_MAIN_DELAY_PROJECT_TO_CLOSE=Tolerancia de retraso antes de la alerta (en días) sobre proyectos no cerrados a tiempo +Delays_MAIN_DELAY_TASKS_TODO=Tolerancia de retraso (en días) sobre tareas planificadas (tareas de proyectos) todavía no completadas +Delays_MAIN_DELAY_ORDERS_TO_PROCESS=Tolerancia de retraso antes de la alerta (en días) sobre pedidos no procesados +Delays_MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS=Tolerancia de retraso antes de la alerta (en días) sobre pedidos a proveedores no procesados Delays_MAIN_DELAY_PROPALS_TO_CLOSE=Tolerancia de retraso antes de la alerta (en días) sobre presupuestos a cerrar Delays_MAIN_DELAY_PROPALS_TO_BILL=Tolerancia de retraso antes de la alerta (en días) sobre presupuestos no facturados Delays_MAIN_DELAY_NOT_ACTIVATED_SERVICES=Tolerancia de retraso antes de la alerta (en días) sobre servicios a activar @@ -925,7 +928,7 @@ Delays_MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE=Tolerancia de retraso antes de la a Delays_MAIN_DELAY_MEMBERS=Tolerancia de retraso entes de la alerta (en días) sobre cotizaciones adherentes en retraso Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Tolerancia de retraso entes de la alerta (en días) sobre cheques a ingresar Delays_MAIN_DELAY_EXPENSEREPORTS=Tolerancia de retraso entes de la alerta (en días) sobre gastos a aprobar -SetupDescription1=The setup area is for initial setup parameters before starting to use Dolibarr. +SetupDescription1=El área de configuración sirve para configurar los parámetros antes de empezar a usar Dolibarr SetupDescription2=Los dos pasos más importantes de configuración son los dos primeros en el menú de configuración de la izquierda: la página de configuración de la empresa/institución y la página de configuración de los módulos: SetupDescription3=Los parámetros de configuración del menú Configuración -> Empresa/institución son necesarios ya que los datos presentados se utilizan en las pantallas Dolibarr y para personalizar el comportamiento por defecto del software (para funciones relacionadas con el país, por ejemplo) . SetupDescription4=Los parámetros de configuración del menú Configuración -> Módulos son necesarios porque Dolibarr no es un ERP/CRM monolítico, sino una colección de varios módulos, todos más o menos independientes. Se añadirán nuevas funcionalidades a los menús por cada módulo que se active. @@ -961,8 +964,8 @@ TriggerAlwaysActive=Triggers de este archivo siempre activos, ya que los módulo TriggerActiveAsModuleActive=Triggers de este archivo activos ya que el módulo %s está activado GeneratedPasswordDesc=Indique aquí que norma quiere utilizar para generar las contraseñas cuando quiera generar una nueva contraseña DictionaryDesc=Inserte aquí los datos de referencia. Puede añadir sus datos a los predefinidos. -ConstDesc=This page allows you to edit all other parameters not available in previous pages. These are mostly reserved parameters for developers or advanced troubleshooting. -MiscellaneousDesc=All other security related parameters are defined here. +ConstDesc=Esta página le permite editar todos los demás parámetros que no se encuentran en las páginas anteriores. Estos son reservados en su mayoría a desarrolladores o soluciones avanzadas. +MiscellaneousDesc=Todos los otros parámetros relacionados con la seguridad se definen aquí. LimitsSetup=Configuración de límites y precisiones LimitsDesc=Puede definir aquí los límites y precisiones utilizados por Dolibarr MAIN_MAX_DECIMALS_UNIT=Decimales máximos para los precios unitarios @@ -1027,8 +1030,8 @@ PathToDocuments=Rutas de acceso a documentos PathDirectory=Directorio SendmailOptionMayHurtBuggedMTA=La funcionalidad de enviar correo electrónico a través del "correo directo PHP" genera una solicitud que puede ser mal interpretado por algunos servidores de correo. Esto se traduce en mensajes de correo electrónico ilegibles para las personas alojadas en estas plataformas. Este es el caso de clientes en ciertos proveedores de servicios de Internet (Ej: Orange). Esto no es un problema ni de Dolibarr ni de PHP, pero sí del servidor de correo. Sin embargo, puede agregar la opción MAIN_FIX_FOR_BUGGED_MTA con valor 1 en configuración-varios para tratar que Dolibarr evite el error. Otra solución (recomendada) es utilizar el método de envío por SMTP que no tiene este inconveniente. TranslationSetup=Configuración traducción -TranslationDesc=How to set displayed application language
* Systemwide: menu Home - Setup - Display
* Per user: User display setup tab of user card (click on username at the top of the screen). -TranslationOverwriteDesc=You can also override strings filling the following table. Choose your language from "%s" dropdown, insert the key string found in the lang file (langs/xx_XX/somefile.lang) into "%s" and your new translation into "%s". +TranslationDesc=Cómo establecer el idioma de la aplicación
*Sistema: menú Inicio - Configuración - Entorno
*Por usuario:Interfaz usuariode la ficha de usuario (haga clic en el nombre del usuario en en la parte superior de la pantalla). +TranslationOverwriteDesc=\nTambién puede reemplazar las cadenas llenando la siguiente tabla. Elija su idioma en la lista desplegable "%s", inserter la clave del archivo lang (langs/xx_XX/somefile.lang) en "%s" y su nueva traducción en "%s". TotalNumberOfActivatedModules=Número total de módulos activados: %s / %s YouMustEnableOneModule=Debe activar al menos un módulo. ClassNotFoundIntoPathWarning=No se ha encontrado la clase %s en su path PHP @@ -1067,7 +1070,10 @@ HRMSetup=Setup del módulo RRHH CompanySetup=Configuración del módulo terceros CompanyCodeChecker=Módulo de generación y control de los códigos de terceros (clientes/proveedores) AccountCodeManager=Módulo de generación de los códigos contables (clientes/proveedores) -NotificationsDesc=La función de las notificaciones permite enviar automáticamente un e-mail para algunos eventos de Dolibarr. Los destinatarios de las notificaciones pueden definirse:
* por contactos de terceros (clientes o proveedores), un tercero a la vez.
* o configurando un destinatario global en la configuración del módulo. +NotificationsDesc=Las notificaciones por e-mail le permite enviar e-mails silencios automáticamente, para algunos eventos Dolibarr. Se pueden definir los destinatarios: +NotificationsDescUser=* por usuarios, un usuario a la vez. +NotificationsDescContact=* por contactos de terceros (clientes o proveedores), un contacto a la vez. +NotificationsDescGlobal=* o configurando destinatarios globlalmente en la configuración del módulo. ModelModules=Modelos de documentos DocumentModelOdt=Generación desde los documentos OpenDocument (Archivo .ODT OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Marca de agua en los documentos borrador @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Configuración del módulo Informe de Gastos TemplatePDFExpenseReports=Modelos de documento para generar informes de gastos NoModueToManageStockIncrease=No hay activado módulo para gestionar automáticamente el incremento de stock. El incremento de stock se realizará solamente con entrada manual YouMayFindNotificationsFeaturesIntoModuleNotification=Puede encontrar opciones para notificaciones de e-mail activando y configurando el módulo "Notificaciones". -ListOfNotificationsPerContact=Listado de notificaciones por contacto +ListOfNotificationsPerUser=Listado de notificaciones por usuario* +ListOfNotificationsPerUserOrContact=Listado de notificaciones por usuario* o por contacto** ListOfFixedNotifications=Listado de notificaciones fijas +GoOntoUserCardToAddMore=Vaya a la pestaña "Notificaciones" de un usuario para añadir o elliminar notificaciones a usuarios GoOntoContactCardToAddMore=Vaya a la pestaña "Notificaciones" de un contacto de tercero para añadir o eliminar notificaciones para contactos/direcciones Threshold=Valor mínimo/umbral BackupDumpWizard=Asistente para crear una copia de seguridad de la base de datos @@ -1592,5 +1600,5 @@ AddSubstitutions=Añadir substituciones de claves DetectionNotPossible=No es posible la detección UrlToGetKeyToUseAPIs=Url para conseguir tokens para usar API (una vez recibido el token se guarda en la tabla de usuario de la base de datos y se verificará en cada acceso) ListOfAvailableAPIs=Listado de APIs disponibles -activateModuleDependNotSatisfied=Module "%s" depends on module "%s" that is missing, so module "%1$s" may not work correclty. Please install module "%2$s" or disable module "%1$s" if you want to be safe from any surprise -CommandIsNotInsideAllowedCommands=The command you try to run is not inside list of allowed commands defined into parameter $dolibarr_main_restrict_os_commands into conf.php file. +activateModuleDependNotSatisfied=El módulo "%s" depende del módulo "%s" que falta, por lo que el módulo "%1$s" puede no funcionar correctamente. Instale el módulo "%2$s" o desactive el módulo "%1$s" si no quiere sorpresas +CommandIsNotInsideAllowedCommands=El comando que intenta ejecutar no se encuentra en el listado de comandos permitidos en el parámetro $dolibarr_main_restrict_os_commands en el archivo conf.php. diff --git a/htdocs/langs/es_ES/bills.lang b/htdocs/langs/es_ES/bills.lang index 4d91f991529..f0a680133c2 100644 --- a/htdocs/langs/es_ES/bills.lang +++ b/htdocs/langs/es_ES/bills.lang @@ -56,7 +56,7 @@ SupplierBill=Factura de proveedor SupplierBills=Facturas de proveedores Payment=Pago PaymentBack=Reembolso -CustomerInvoicePaymentBack=Payment back +CustomerInvoicePaymentBack=Reembolso Payments=Pagos PaymentsBack=Reembolsos paymentInInvoiceCurrency=en la divisa de las facturas @@ -312,6 +312,7 @@ LatestRelatedBill=Última factura relacionada WarningBillExist=Atención, ya existe al menos una factura MergingPDFTool=Herramienta de fusión PDF AmountPaymentDistributedOnInvoice=Importe del pago distribuido en la factura +PaymentOnDifferentThirdBills=Permitir pagos de diferentes terceros de la empresa madre PaymentNote=Nota del pago ListOfPreviousSituationInvoices=Listado de facturas de situación previas ListOfNextSituationInvoices=Listado de las próximas facturas de situación @@ -323,7 +324,7 @@ NextDateToExecution=Fecha para la generación de la próxima factura DateLastGeneration=Fecha de la última generación MaxPeriodNumber=Nº máximo de facturas a generar NbOfGenerationDone=Nº de facturas ya generadas -MaxGenerationReached=Maximum nb of generations reached +MaxGenerationReached=Máximo número de generaciones alcanzado InvoiceAutoValidate=Validar facturas automáticamente GeneratedFromRecurringInvoice=Generado desde la plantilla de facturas recurrentes %s DateIsNotEnough=Aún no se ha alcanzado la fecha @@ -358,8 +359,8 @@ PaymentTypeCB=Tarjeta PaymentTypeShortCB=Tarjeta PaymentTypeCHQ=Cheque PaymentTypeShortCHQ=Cheque -PaymentTypeTIP=TIP (Documents against Payment) -PaymentTypeShortTIP=TIP Payment +PaymentTypeTIP=TIP (Titulo interbancario de pago) +PaymentTypeShortTIP=Pago TIP PaymentTypeVAD=Pago On Line PaymentTypeShortVAD=Pago On Line PaymentTypeTRA=Banco borrador @@ -437,7 +438,7 @@ RevenueStamp=Timbre fiscal YouMustCreateInvoiceFromThird=Esta opción está solo disponible en la creación de facturas desde la pestaña "cliente" de un tercero YouMustCreateStandardInvoiceFirstDesc=Tiene que crear una factura estandar antes de convertirla a "plantilla" para crear una nueva plantilla de factura PDFCrabeDescription=Modelo de factura completo (modelo recomendado por defecto) -PDFCrevetteDescription=Invoice PDF template Crevette. A complete invoice template for situation invoices +PDFCrevetteDescription=Modelo PDF de factura Crevette. Un completo modelo de facturas de situación TerreNumRefModelDesc1=Devuelve el número bajo el formato %syymm-nnnn para las facturas, %syymm-nnnn para las facturas rectificativas y %syymm-nnnn para los abonos donde yy es el año, mm. el mes y nnnn un contador secuencial sin ruptura y sin permanencia a 0 MarsNumRefModelDesc1=Devuelve el número bajo el formato %syymm-nnnn para las facturas, %syymm-nnnn para las facturas rectificativas, %syymm-nnnn para los anticipos y %syymm-nnnn para los abonos donde yy es el año, mm. el mes y nnnn un contador secuencial sin ruptura y sin permanencia a 0 TerreNumRefModelError=Ya existe una factura con $syymm y no es compatible con este modelo de secuencia. Elimínela o renómbrela para poder activar este módulo @@ -471,7 +472,7 @@ PDFCrevetteSituationInvoiceLineDecompte=Factura de situación - Cuentas PDFCrevetteSituationInvoiceTitle=Factura de situación PDFCrevetteSituationInvoiceLine=Situación nº %s : Fact. nº %s de %s TotalSituationInvoice=Total situación -invoiceLineProgressError=Invoice line progress can't be greater than or equal to the next invoice line +invoiceLineProgressError=El progreso de una línea no puede ser mayor o igual a la próxima línea de factura. updatePriceNextInvoiceErrorUpdateline=Error: Actualización de precio en línea de factura: %s ToCreateARecurringInvoice=Para crear una factura recurrente para este contrato, primero cree la factura en borrador, seguidamente conviértala en plantilla y defina la frecuencia de generación de las próximas facturas. ToCreateARecurringInvoiceGene=Para generar las facturas futuras regularmente y manualmente, vaya al menú %s - %s - %s. diff --git a/htdocs/langs/es_ES/companies.lang b/htdocs/langs/es_ES/companies.lang index 3ab091ae9c3..b798b871994 100644 --- a/htdocs/langs/es_ES/companies.lang +++ b/htdocs/langs/es_ES/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Idioma por defecto VATIsUsed=Sujeto a IVA VATIsNotUsed=No sujeto a IVA CopyAddressFromSoc=Copiar dirección de la empresa +ThirdpartyNotCustomerNotSupplierSoNoRef=Tercero que no es cliente ni proveedor, sin objetos referenciados ##### Local Taxes ##### LocalTax1IsUsed=Usar segunda tasa LocalTax1IsUsedES= Sujeto a RE @@ -368,7 +369,8 @@ AllocateCommercial=Asignado a comercial Organization=Organismo FiscalYearInformation=Información del año fiscal FiscalMonthStart=Mes de inicio de ejercicio -YouMustCreateContactFirst=Para poder añadir notificaciones por e-mail, primero debe insertar contactos con e-mails al tercero +YouMustAssignUserMailFirst=Primero debe indicar un e-mail para este usuario para poder añadirlo en e-mails de notificaciones. +YouMustCreateContactFirst=Para poder añadir notificaciones por e-mail, primero debe definir contactos con e-mails válidos en el tercero ListSuppliersShort=Listado de proveedores ListProspectsShort=Listado de clientes potenciales ListCustomersShort=Listado de clientes diff --git a/htdocs/langs/es_ES/contracts.lang b/htdocs/langs/es_ES/contracts.lang index e22bdfc004f..2f8e4904fe2 100644 --- a/htdocs/langs/es_ES/contracts.lang +++ b/htdocs/langs/es_ES/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=No expirado ServiceStatusLate=En servicio, expirado ServiceStatusLateShort=Expirado ServiceStatusClosed=Cerrado +ShowContractOfService=Mostrar contrato de servicios Contracts=Contratos ContractsSubscriptions=Contratos/Suscripciones ContractsAndLine=Contratos y líneas de contratos diff --git a/htdocs/langs/es_ES/errors.lang b/htdocs/langs/es_ES/errors.lang index 00445eb0007..75493860f21 100644 --- a/htdocs/langs/es_ES/errors.lang +++ b/htdocs/langs/es_ES/errors.lang @@ -168,12 +168,12 @@ ErrorBadDefinitionOfMenuArrayInModuleDescriptor=Definición incorrecta de la mat ErrorSavingChanges=Ha ocurrido un error al guardar los cambios ErrorWarehouseRequiredIntoShipmentLine=El almacén es obligatorio en la línea a enviar ErrorFileMustHaveFormat=El archivo debe tener el formato %s -ErrorSupplierCountryIsNotDefined=Country for this supplier is not defined. Correct this first. -ErrorsThirdpartyMerge=Failed to merge the two records. Request canceled. -ErrorStockIsNotEnoughToAddProductOnOrder=Stock is not enougth for product %s to add it into a new order. -ErrorStockIsNotEnoughToAddProductOnInvoice=Stock is not enougth for product %s to add it into a new invoice. -ErrorStockIsNotEnoughToAddProductOnShipment=Stock is not enougth for product %s to add it into a new shipment. -ErrorStockIsNotEnoughToAddProductOnProposal=Stock is not enougth for product %s to add it into a new proposal. +ErrorSupplierCountryIsNotDefined=El país de este proveedor no está definido, corríjalo en su ficha +ErrorsThirdpartyMerge=No se han podido fusionar los dos registros. Petición cancelada. +ErrorStockIsNotEnoughToAddProductOnOrder=No hay stock suficiente del producto %s para añadirlo a un nuevo pedido. +ErrorStockIsNotEnoughToAddProductOnInvoice=No hay stock suficiente del producto %s para añadirlo a una nueva factura. +ErrorStockIsNotEnoughToAddProductOnShipment=No hay stock suficiente del producto %s para añadirlo a un nuevo envío. +ErrorStockIsNotEnoughToAddProductOnProposal=No hay stock suficiente del producto %s para añadirlo a un nuevo presupuesto. # Warnings WarningPasswordSetWithNoAccount=Se fijó una contraseña para este miembro. Sin embargo, no se ha creado ninguna cuenta de usuario. Así que esta contraseña no se puede utilizar para acceder a Dolibarr. Puede ser utilizada por un módulo/interfaz externo, pero si no necesitar definir accesos de un miembro, puede desactivar la opción "Administrar un inicio de sesión para cada miembro" en la configuración del módulo miembros. Si necesita administrar un inicio de sesión, pero no necesita ninguna contraseña, puede dejar este campo vacío para evitar esta advertencia. Nota: También puede usarse el correo electrónico como inicio de sesión si el miembro está vinculada a un usuario. @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=La configuración de ClickToDial para su WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Funcionalidad desactivada cuando la configuración de visualización es optimizada para personas ciegas o navegadores de texto. WarningPaymentDateLowerThanInvoiceDate=La fecha de pago (%s) es anterior a la fecha (%s) de la factura %s. WarningTooManyDataPleaseUseMoreFilters=Demasiados datos (más de %s líneas). Utilice más filtros o establezca la constante %s a un límite más alto. -WarningSomeLinesWithNullHourlyRate=Algunas veces fueron registradas por usuarios sin su precio por hora. Se utilizó un valor de 0, pero esto puede resultar en la valoración equivocada del tiempo pasado. +WarningSomeLinesWithNullHourlyRate=Algunas veces se realizaron registrod a usuarios, con su precio por hora sin definir. Se utilizó un valor de 0 %s por hora, esto puede dar lugar a la valoración incorrecta del tiempo invertido. WarningYourLoginWasModifiedPleaseLogin=Su cuenta de acceso ha sido modificada. Por razones de seguridad, tendrá que iniciar sesión con su nuevo acceso antes de la próxima acción. diff --git a/htdocs/langs/es_ES/install.lang b/htdocs/langs/es_ES/install.lang index 79945abe797..2be55a711f9 100644 --- a/htdocs/langs/es_ES/install.lang +++ b/htdocs/langs/es_ES/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=Se recomienda poner este directorio fuera del directorio LoginAlreadyExists=Ya existe DolibarrAdminLogin=Login del usuario administrador de Dolibarr AdminLoginAlreadyExists=La cuenta de administrador Dolibarr '%s' ya existe. Vuelva atrás si desea crear otra. +FailedToCreateAdminLogin=No se pudo crear la cuenta de administrador Dolibarr. WarningRemoveInstallDir=Atención, por razones de seguridad, con el fin de bloquear un nuevo uso de las herramientas de instalación/actualización, es aconsejable crear en el directorio raíz de Dolibarr un archivo llamado install.lock en solo lectura. FunctionNotAvailableInThisPHP=No disponible en este PHP ChoosedMigrateScript=Elección del script de migración diff --git a/htdocs/langs/es_ES/mails.lang b/htdocs/langs/es_ES/mails.lang index 090963fc3e2..87dbe9625aa 100644 --- a/htdocs/langs/es_ES/mails.lang +++ b/htdocs/langs/es_ES/mails.lang @@ -102,8 +102,8 @@ YouCanUseCommaSeparatorForSeveralRecipients=Puede usar el carácter de separaci TagCheckMail=Seguimiento de la apertura del email TagUnsubscribe=Link de desuscripción TagSignature=Firma del usuario remitente -EMailRecipient=Recipient EMail -TagMailtoEmail=Recipient EMail (including html "mailto:" link) +EMailRecipient=Email del destinatario +TagMailtoEmail=Email del destinatario (incluyendo el enlace html "mailto:") NoEmailSentBadSenderOrRecipientEmail=No se ha enviado el e-mail. El remitente o destinatario es incorrecto. Compruebe los datos del usuario. # Module Notifications Notifications=Notificaciones @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=Ninguna notificación por e-mail está prevista para e ANotificationsWillBeSent=1 notificación va a ser enviada por e-mail SomeNotificationsWillBeSent=%s notificaciones van a ser enviadas por e-mail AddNewNotification=Activar un nuevo destinatario de notificaciones -ListOfActiveNotifications=Listado de todos los destinatarios de notificaciones +ListOfActiveNotifications=Listado de destinatarios activos para notifiaciones por e-mail ListOfNotificationsDone=Listado de notificaciones enviadas MailSendSetupIs=La configuración de e-mailings está a '%s'. Este modo no puede ser usado para enviar e-mails masivos. MailSendSetupIs2=Antes debe, con una cuenta de administrador, en el menú %sInicio - Configuración - E-Mails%s, cambiar el parámetro '%s' para usar el modo '%s'. Con este modo puede configurar un servidor SMTP de su proveedor de servicios de internet. diff --git a/htdocs/langs/es_ES/main.lang b/htdocs/langs/es_ES/main.lang index 400594dc111..cf2b2a82bb7 100644 --- a/htdocs/langs/es_ES/main.lang +++ b/htdocs/langs/es_ES/main.lang @@ -84,6 +84,7 @@ SeeAbove=Mencionado anteriormente HomeArea=Área inicio LastConnexion=Última conexión PreviousConnexion=Conexión anterior +PreviousValue=Valor previo ConnectedOnMultiCompany=Conexión a la entidad ConnectedSince=Conectado desde AuthenticationMode=Modo de autentificación @@ -133,7 +134,7 @@ RemoveLink=Eliminar enlace AddToDraft=Añadir a borrador Update=Modificar Close=Cerrar -CloseBox=Remove widget from your dashboard +CloseBox=Eliminar panel de su tablero Confirm=Confirmar ConfirmSendCardByMail=¿Quiere enviar el contenido de esta ficha por e-mail a la dirección %s? Delete=Eliminar @@ -177,7 +178,7 @@ Groups=Grupos NoUserGroupDefined=No hay definido grupo de usuarios Password=Contraseña PasswordRetype=Repetir contraseña -NoteSomeFeaturesAreDisabled=Note that a lot of features/modules are disabled in this demonstration. +NoteSomeFeaturesAreDisabled=Atención, sólo unos pocos módulos/funcionalidades han sido activados en esta demo. Name=Nombre Person=Persona Parameter=Parámetro @@ -223,8 +224,8 @@ Date=Fecha DateAndHour=Fecha y hora DateToday=Fecha de hoy DateReference=Fecha de referencia -DateStart=Start date -DateEnd=End date +DateStart=Fecha de inicio +DateEnd=Fecha de fin DateCreation=Fecha de creación DateCreationShort=Crear fecha DateModification=Fecha de modificación @@ -440,8 +441,8 @@ LateDesc=El retraso que indica si un registro lleva retraso o no depende de la c Photo=Foto Photos=Fotos AddPhoto=Añadir foto -DeletePicture=Picture delete -ConfirmDeletePicture=Confirm picture deletion? +DeletePicture=Eliminar imagen +ConfirmDeletePicture=¿Confirma la eliminación de la imagen? Login=Login CurrentLogin=Login actual January=enero @@ -568,7 +569,7 @@ RecordModifiedSuccessfully=Registro modificado con éxito RecordsModified=%s registros modificados AutomaticCode=Creación automática de código FeatureDisabled=Función desactivada -MoveBox=Move widget +MoveBox=Mover panel Offered=Oferta NotEnoughPermissions=No tiene permisos para esta acción SessionName=Nombre sesión @@ -693,13 +694,13 @@ Sincerely=Atentamente DeleteLine=Eliminación de línea ConfirmDeleteLine=¿Está seguro de querer eliminar esta línea? NoPDFAvailableForDocGenAmongChecked=Sin PDF disponibles para la generación de documentos entre los registros seleccionados -TooManyRecordForMassAction=Too many records selected for mass action. The action is restricted to a list of %s records. +TooManyRecordForMassAction=Demasiados registros seleccionardos para la acción masiva. La acción está restringida a un listado de %s registros. MassFilesArea=Área de archivos generados por acciones masivas ShowTempMassFilesArea=Mostrar área de archivos generados por acciones masivas RelatedObjects=Objetos relacionados -ClassifyBilled=Classify billed -Progress=Progress -ClickHere=Click here +ClassifyBilled=Clasificar facturado +Progress=Progreso +ClickHere=Haga clic aquí # Week day Monday=Lunes Tuesday=Martes @@ -744,7 +745,7 @@ SearchIntoMembers=Miembros SearchIntoUsers=Usuarios SearchIntoProductsOrServices=Productos o servicios SearchIntoProjects=Proyectos -SearchIntoTasks=Tasks +SearchIntoTasks=Tareas SearchIntoCustomerInvoices=Facturas a clientes SearchIntoSupplierInvoices=Facturas de proveedores SearchIntoCustomerOrders=Pedidos de clientes @@ -755,4 +756,4 @@ SearchIntoInterventions=Intervenciones SearchIntoContracts=Contratos SearchIntoCustomerShipments=Envíos a clientes SearchIntoExpenseReports=Informes de gastos -SearchIntoLeaves=Leaves +SearchIntoLeaves=Permisos diff --git a/htdocs/langs/es_ES/projects.lang b/htdocs/langs/es_ES/projects.lang index bb91735f4b3..1a39a589e76 100644 --- a/htdocs/langs/es_ES/projects.lang +++ b/htdocs/langs/es_ES/projects.lang @@ -11,8 +11,10 @@ SharedProject=Proyecto compartido PrivateProject=Contactos proyecto MyProjectsDesc=Esta vista muestra aquellos proyectos en los que usted es un contacto afectado (cualquier tipo). ProjectsPublicDesc=Esta vista muestra todos los proyectos a los que usted tiene derecho a visualizar. +TasksOnProjectsPublicDesc=Esta vista muestra todos los proyectos a los que tiene derecho a visualizar. ProjectsPublicTaskDesc=Esta vista muestra todos los proyectos a los que tiene derecho a visualizar. ProjectsDesc=Esta vista muestra todos los proyectos (sus permisos de usuario le permiten tener una visión completa). +TasksOnProjectsDesc=Esta vista muestra todos los proyectos (sus permisos de usuario le permiten tener una visión completa). MyTasksDesc=Esta vista se limita a los proyectos y tareas en los que usted es un contacto afectado en al menos una tarea (cualquier tipo). OnlyOpenedProject=Sólo los proyectos abiertos son visibles (los proyectos en estado borrador cerrado no son visibles). ClosedProjectsAreHidden=Los proyectos cerrados no son visibles. @@ -130,6 +132,9 @@ OpportunityProbability=Probabilidad de oportunidades OpportunityProbabilityShort=Prob. Opor. OpportunityAmount=Importe Oportunidad OpportunityAmountShort=Importe oportunidad +OpportunityAmountAverageShort=Importe medio oportunidad +OpportunityAmountWeigthedShort=Importe ponderado oportunidad +WonLostExcluded=Excluidos Ganados/Perdidos ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Jefe de proyecto TypeContact_project_external_PROJECTLEADER=Jefe de proyecto diff --git a/htdocs/langs/es_ES/stocks.lang b/htdocs/langs/es_ES/stocks.lang index a1a19f82b1d..d86d1ca53dd 100644 --- a/htdocs/langs/es_ES/stocks.lang +++ b/htdocs/langs/es_ES/stocks.lang @@ -85,8 +85,8 @@ ThisWarehouseIsPersonalStock=Este almacén representa el stock personal de %s %s SelectWarehouseForStockDecrease=Seleccione el almacén a usar en el decremento de stock SelectWarehouseForStockIncrease=Seleccione el almacén a usar en el incremento de stock NoStockAction=Sin acciones sobre el stock -DesiredStock=Desired optimal stock -DesiredStockDesc=This stock amount will be the value used to fill the stock by replenishment feature. +DesiredStock=Stock óptimo deseado +DesiredStockDesc=Esta cantidad será el valor que se utilizará para llenar el stock en el reaprovisionamiento. StockToBuy=A pedir Replenishment=Reaprovisionamiento ReplenishmentOrders=Ordenes de reaprovisionamiento @@ -114,12 +114,14 @@ RecordMovement=Registrar transferencias ReceivingForSameOrder=Recepciones de este pedido StockMovementRecorded=Movimiento de stock registrado RuleForStockAvailability=Reglas de requerimiento de stock -StockMustBeEnoughForInvoice=El nivel de existencias debe ser suficiente para añadir productos/servicios a facturas -StockMustBeEnoughForOrder=El nivel de existencias debe ser suficiente para añadir productos/servicios a pedidos -StockMustBeEnoughForShipment= El nivel de existencias debe ser suficiente para añadir productos/servicios a envíos +StockMustBeEnoughForInvoice=El nivel de stock debe ser suficiente para añadir el producto/servicio a la factura (se realiza comprobación del stock real actual al agregar una línea en la factura según las reglas del módulo stocks) +StockMustBeEnoughForOrder=El nivel de stock debe ser suficiente para añadir el producto/servicio al pedido (se realiza comprobación del stock real actual al agregar una línea en el pedido según las reglas del módulo stocks) +StockMustBeEnoughForShipment= El nivel de stock debe ser suficiente para añadir el producto/servicio en el envío (se realiza comprobación del stock real actual al agregar una línea en el envío según las reglas del módulo stocks) MovementLabel=Etiqueta del movimiento InventoryCode=Movimiento o código de inventario IsInPackage=Contenido en el paquete +WarehouseAllowNegativeTransfer=El stock puede ser negativvo +qtyToTranferIsNotEnough=No se dispone de suficiente stock en el almacén de origen ShowWarehouse=Mostrar almacén MovementCorrectStock=Correción de sotck del producto %s MovementTransferStock=Transferencia de stock del producto %s a otro almacén diff --git a/htdocs/langs/es_ES/website.lang b/htdocs/langs/es_ES/website.lang index 47fc576cd19..3753822618b 100644 --- a/htdocs/langs/es_ES/website.lang +++ b/htdocs/langs/es_ES/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=Ver sitio en una pestaña nueva ViewPageInNewTab=Ver página en una pestaña nueva SetAsHomePage=Establecer como Página de inicio RealURL=URL Real +ViewWebsiteInProduction=Ver sitio web usando la URL de inicio +SetHereVirtualHost=Si puede establecer, en su servidor web, un servidor virtual dedicado con un directorio raíz en %s, defina aquí el nombre de host virtual para la vista previa que hará uso de este acceso directo en lugar de la envolura Dolibarr. diff --git a/htdocs/langs/es_MX/admin.lang b/htdocs/langs/es_MX/admin.lang index 1051e6883e4..aa63be09b4f 100644 --- a/htdocs/langs/es_MX/admin.lang +++ b/htdocs/langs/es_MX/admin.lang @@ -52,10 +52,14 @@ SetupShort=Configuración Position=Puesto URL=Vínculo ExampleOfDirectoriesForModelGen=Examples of syntax:
c:\\mydir
/home/mydir
DOL_DATA_ROOT/ecm/ecmdir +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module770Name=Reporte de gastos Module1400Name=Contabilidad DictionaryCanton=Estado/Provincia Upgrade=Actualizar MenuCompanySetup=Empresa/Fundación CompanyName=Nombre +CompanyFundationDesc=Edit on this page all known information of the company or foundation you need to manage (For this, click on "Modify" button at bottom of page) +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: LDAPFieldFirstName=Nombre(s) +GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses diff --git a/htdocs/langs/es_MX/companies.lang b/htdocs/langs/es_MX/companies.lang index 3c75b06bb6f..38684f923b3 100644 --- a/htdocs/langs/es_MX/companies.lang +++ b/htdocs/langs/es_MX/companies.lang @@ -127,17 +127,14 @@ ThisUserIsNot=Este usuario no es un cliente potencial, cliente ni proveedor VATIntraCheckDesc=El enlace %s permite consultar al servicio de control de números de IVA intracomunitario. Se requiere acceso a Internet desde el servidor para que este servicio funcione. VATIntraManualCheck=También puedes verificar manualmente desde el sitio web europeo %s ErrorVATCheckMS_UNAVAILABLE=No es posible realizar la verificación. El servicio de comprobación no es prestado por el país miembro (%s). -JuridicalStatus=Estatus jurídico OthersNotLinkedToThirdParty=Otros, no vinculado a un tercero ProspectStatus=Estatus del cliente potencial TE_MEDIUM=Mediana empresa TE_ADMIN=Gubernamental TE_SMALL=Pequeña Empresa -StatusProspect1=Para contactar StatusProspect2=Contacto en proceso ChangeDoNotContact=Cambiar estado a 'No contactar' ChangeNeverContacted=Cambiar estado a 'Nunca contactado' -ChangeToContact=Cambiar estado a 'Para contactar' ChangeContactInProcess=Cambiar estado a 'Contacto en proceso' ChangeContactDone=Cambiar estado a 'Contacto realizado' NoParentCompany=Ninguno @@ -150,11 +147,10 @@ ImportDataset_company_3=Datos bancarios ImportDataset_company_4=Terceros/Representantes de ventas (Afecta los usuarios representantes de ventas a empresas) DeleteFile=Borrar archivo ConfirmDeleteFile=¿Seguro que quieres borrar este archivo? -AllocateCommercial=Asignado al representante de ventas Organization=Organización FiscalYearInformation=Información sobre el año fiscal FiscalMonthStart=Més de inicio del año fiscal -YouMustCreateContactFirst=Debes crear contactos de correos electrónicos para terceros antes de ser capaz de añadir notificaciones de correos electrónicos. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=Lista de proveedores ListProspectsShort=Lista de clientes potenciales ListCustomersShort=Lista de clientes diff --git a/htdocs/langs/es_MX/install.lang b/htdocs/langs/es_MX/install.lang index 9d666efdfdb..1327b3550ba 100644 --- a/htdocs/langs/es_MX/install.lang +++ b/htdocs/langs/es_MX/install.lang @@ -61,7 +61,6 @@ SetupEnd=Fin de la configuración SystemIsInstalled=Esta instalación se ha completado. SystemIsUpgraded=Dolibarr se ha actualizado correctamente. YouNeedToPersonalizeSetup=Es necesario configurar Dolibarr para satisfacer sus necesidades (apariencia, características, ...). Para ello, por favor siga el siguiente enlace: -AdminLoginCreatedSuccessfuly=Inicio de sesión del administrador Dolibarr '%s' ha sido creado exitosamente. GoToDolibarr=Ir a Dolibarr GoToSetupArea=Ir a Dolibarr (área de configuración) MigrationNotFinished=La versión de tu base de datos no está completamente actualizada, se requiere que corra el proceso de actualización de nuevo. diff --git a/htdocs/langs/es_MX/mails.lang b/htdocs/langs/es_MX/mails.lang new file mode 100644 index 00000000000..cc3219b8470 --- /dev/null +++ b/htdocs/langs/es_MX/mails.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - mails +ListOfActiveNotifications=List all active targets for email notification diff --git a/htdocs/langs/es_MX/projects.lang b/htdocs/langs/es_MX/projects.lang deleted file mode 100644 index a61042da6ef..00000000000 --- a/htdocs/langs/es_MX/projects.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - projects -ProjectReferers=Refiriéndose objetos diff --git a/htdocs/langs/es_MX/stocks.lang b/htdocs/langs/es_MX/stocks.lang index d1579ea863a..ac5e47d4f87 100644 --- a/htdocs/langs/es_MX/stocks.lang +++ b/htdocs/langs/es_MX/stocks.lang @@ -1,2 +1,5 @@ # Dolibarr language file - Source file is en_US - stocks Location=Ubicación +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment=Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) diff --git a/htdocs/langs/es_PA/admin.lang b/htdocs/langs/es_PA/admin.lang index 1c53b65c99c..87f50f8f47a 100644 --- a/htdocs/langs/es_PA/admin.lang +++ b/htdocs/langs/es_PA/admin.lang @@ -2,3 +2,7 @@ AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
Example for ClamAv: /usr/bin/clamscan AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ExampleOfDirectoriesForModelGen=Examples of syntax:
c:\\mydir
/home/mydir
DOL_DATA_ROOT/ecm/ecmdir +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails +CompanyFundationDesc=Edit on this page all known information of the company or foundation you need to manage (For this, click on "Modify" button at bottom of page) +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses diff --git a/htdocs/langs/es_PA/companies.lang b/htdocs/langs/es_PA/companies.lang new file mode 100644 index 00000000000..d2e0b40c0e5 --- /dev/null +++ b/htdocs/langs/es_PA/companies.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - companies +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party diff --git a/htdocs/langs/es_PA/mails.lang b/htdocs/langs/es_PA/mails.lang new file mode 100644 index 00000000000..cc3219b8470 --- /dev/null +++ b/htdocs/langs/es_PA/mails.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - mails +ListOfActiveNotifications=List all active targets for email notification diff --git a/htdocs/langs/es_PA/stocks.lang b/htdocs/langs/es_PA/stocks.lang new file mode 100644 index 00000000000..00d43473692 --- /dev/null +++ b/htdocs/langs/es_PA/stocks.lang @@ -0,0 +1,4 @@ +# Dolibarr language file - Source file is en_US - stocks +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment=Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) diff --git a/htdocs/langs/es_PE/accountancy.lang b/htdocs/langs/es_PE/accountancy.lang new file mode 100644 index 00000000000..7700f24ec2e --- /dev/null +++ b/htdocs/langs/es_PE/accountancy.lang @@ -0,0 +1,22 @@ +# Dolibarr language file - Source file is en_US - accountancy +ACCOUNTING_EXPORT_SEPARATORCSV=Separador de columna de archivo a exportar +ACCOUNTING_EXPORT_DATE=Formato de fecha de archivo a exportar +ACCOUNTING_EXPORT_PIECE=Exportar el número de pieza +ACCOUNTING_EXPORT_GLOBAL_ACCOUNT=Exportar con cuenta global +ACCOUNTING_EXPORT_LABEL=Etiqueta de exportación +ACCOUNTING_EXPORT_AMOUNT=Monto de exportación +ACCOUNTING_EXPORT_DEVISE=Moneda de exportación +Selectformat=Seleccione el formato del fichero +ACCOUNTING_EXPORT_PREFIX_SPEC=Especifique el prefijo del nombre del fichero +ConfigAccountingExpert=Configuración del módulo experto en contabilidad +Journaux=Revistas +JournalFinancial=Revistas financieras +BackToChartofaccounts=Retornar gráfico de cuentas +Selectchartofaccounts=Seleccionar un gráfico de cuentas +Addanaccount=Agregar una cuenta contable +AccountAccountingSuggest=Cuenta contable sugerida +Ventilation=Desglose +CustomersVentilation=Desglose de clientes +SuppliersVentilation=Desglose de proveedores +Reports=Reportes +OptionsDeactivatedForThisExportModel=Para este modelo de exportación, las opciones están desactivadas diff --git a/htdocs/langs/es_PE/admin.lang b/htdocs/langs/es_PE/admin.lang index a0de2107bec..5b411e5412a 100644 --- a/htdocs/langs/es_PE/admin.lang +++ b/htdocs/langs/es_PE/admin.lang @@ -2,13 +2,17 @@ AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
Example for ClamAv: /usr/bin/clamscan AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ExampleOfDirectoriesForModelGen=Examples of syntax:
c:\\mydir
/home/mydir
DOL_DATA_ROOT/ecm/ecmdir +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Permission91=Consultar impuestos e IGV Permission92=Crear/modificar impuestos e IGV Permission93=Eliminar impuestos e IGV DictionaryVAT=Tasa de IGV (Impuesto sobre ventas en EEUU) VATManagement=Gestión IGV VATIsNotUsedDesc=El tipo de IGV propuesto por defecto es 0. Este es el caso de asociaciones, particulares o algunas pequeñas sociedades. +CompanyFundationDesc=Edit on this page all known information of the company or foundation you need to manage (For this, click on "Modify" button at bottom of page) UnitPriceOfProduct=Precio unitario sin IGV de un producto +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: OptionVatMode=Opción de carga de IGV OptionVatDefaultDesc=La carga del IGV es:
-en el envío de los bienes (en la práctica se usa la fecha de la factura)
-sobre el pago por los servicios OptionVatDebitOptionDesc=La carga del IGV es:
-en el envío de los bienes (en la práctica se usa la fecha de la factura)
-sobre la facturación de los servicios +GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses diff --git a/htdocs/langs/es_PE/companies.lang b/htdocs/langs/es_PE/companies.lang index 539eedb232e..4f85d26fa01 100644 --- a/htdocs/langs/es_PE/companies.lang +++ b/htdocs/langs/es_PE/companies.lang @@ -3,3 +3,4 @@ VATIsUsed=Sujeto a IGV VATIsNotUsed=No sujeto a IGV VATIntra=RUC VATIntraShort=RUC +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party diff --git a/htdocs/langs/es_PE/mails.lang b/htdocs/langs/es_PE/mails.lang new file mode 100644 index 00000000000..cc3219b8470 --- /dev/null +++ b/htdocs/langs/es_PE/mails.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - mails +ListOfActiveNotifications=List all active targets for email notification diff --git a/htdocs/langs/es_PE/stocks.lang b/htdocs/langs/es_PE/stocks.lang new file mode 100644 index 00000000000..00d43473692 --- /dev/null +++ b/htdocs/langs/es_PE/stocks.lang @@ -0,0 +1,4 @@ +# Dolibarr language file - Source file is en_US - stocks +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment=Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) diff --git a/htdocs/langs/es_PY/admin.lang b/htdocs/langs/es_PY/admin.lang index 1c53b65c99c..87f50f8f47a 100644 --- a/htdocs/langs/es_PY/admin.lang +++ b/htdocs/langs/es_PY/admin.lang @@ -2,3 +2,7 @@ AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
Example for ClamAv: /usr/bin/clamscan AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ExampleOfDirectoriesForModelGen=Examples of syntax:
c:\\mydir
/home/mydir
DOL_DATA_ROOT/ecm/ecmdir +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails +CompanyFundationDesc=Edit on this page all known information of the company or foundation you need to manage (For this, click on "Modify" button at bottom of page) +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses diff --git a/htdocs/langs/es_PY/companies.lang b/htdocs/langs/es_PY/companies.lang index f99446d8dc2..5c5c0e67de2 100644 --- a/htdocs/langs/es_PY/companies.lang +++ b/htdocs/langs/es_PY/companies.lang @@ -1,3 +1,4 @@ # Dolibarr language file - Source file is en_US - companies VATIntra=RUC VATIntraShort=RUC +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party diff --git a/htdocs/langs/es_PY/mails.lang b/htdocs/langs/es_PY/mails.lang new file mode 100644 index 00000000000..cc3219b8470 --- /dev/null +++ b/htdocs/langs/es_PY/mails.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - mails +ListOfActiveNotifications=List all active targets for email notification diff --git a/htdocs/langs/es_PY/stocks.lang b/htdocs/langs/es_PY/stocks.lang new file mode 100644 index 00000000000..00d43473692 --- /dev/null +++ b/htdocs/langs/es_PY/stocks.lang @@ -0,0 +1,4 @@ +# Dolibarr language file - Source file is en_US - stocks +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment=Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) diff --git a/htdocs/langs/es_VE/admin.lang b/htdocs/langs/es_VE/admin.lang index b357e747026..13ec197ca8b 100644 --- a/htdocs/langs/es_VE/admin.lang +++ b/htdocs/langs/es_VE/admin.lang @@ -2,3 +2,7 @@ DelaiedFullListToSelectCompany=Esperar a que presione una tecla antes de cargar el contenido de los terceros en el combo (Esto puede incrementar el rendimiento si tiene un gran número de terceros) DelaiedFullListToSelectContact=Esperar a que presione una tecla antes de cargar el contenido de los contactos en el combo (Esto puede incrementar el rendimiento si tiene un gran número de contactos) ModuleFamilyCrm=Gestión cliente (CRM) +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails +Permission2402=Crear/eliminar acciones (eventos o tareas) vinculadas a su cuenta +Permission2403=Modificar acciones (eventos o tareas) vinculadas a su cuenta +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: diff --git a/htdocs/langs/es_VE/companies.lang b/htdocs/langs/es_VE/companies.lang index 32ebeacbce8..0edcd50c14c 100644 --- a/htdocs/langs/es_VE/companies.lang +++ b/htdocs/langs/es_VE/companies.lang @@ -20,3 +20,4 @@ VATIntraCheckDesc=El link %s permite consultar al SENIAT el RIF. Se requi VATIntraCheckURL=http://contribuyente.seniat.gob.ve/BuscaRif/BuscaRif.jsp VATIntraCheckableOnEUSite=Verificar en la web del SENIAT VATIntraManualCheck=Puede también realizar una verificación manual en la página del SENIAT %s +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party diff --git a/htdocs/langs/es_VE/mails.lang b/htdocs/langs/es_VE/mails.lang new file mode 100644 index 00000000000..cc3219b8470 --- /dev/null +++ b/htdocs/langs/es_VE/mails.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - mails +ListOfActiveNotifications=List all active targets for email notification diff --git a/htdocs/langs/es_VE/stocks.lang b/htdocs/langs/es_VE/stocks.lang new file mode 100644 index 00000000000..00d43473692 --- /dev/null +++ b/htdocs/langs/es_VE/stocks.lang @@ -0,0 +1,4 @@ +# Dolibarr language file - Source file is en_US - stocks +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment=Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) diff --git a/htdocs/langs/et_EE/admin.lang b/htdocs/langs/et_EE/admin.lang index e839dfe01fa..6f9fb7889f5 100644 --- a/htdocs/langs/et_EE/admin.lang +++ b/htdocs/langs/et_EE/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Kasutajad ja grupid @@ -468,7 +471,7 @@ Module510Desc=Töötajate palkade ja palkade maksmise haldamine Module520Name=Loan Module520Desc=Management of loans Module600Name=Teated -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Annetused Module700Desc=Annetuste haldamine Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Ettevõtete mooduli seadistamine CompanyCodeChecker=Kolmandate isikute loomise ja kontrollimise moodul (klient või hankija) AccountCodeManager=Raamatupidamise koodi loomise moodul (klient või hankija) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Dokumendimallid DocumentModelOdt=Loo dokumendid OpenDocument mallidest (.ODT või .ODS failid OpenOffices, KOffices, TextEditis jne) WatermarkOnDraft=Mustandi vesimärk @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/et_EE/bills.lang b/htdocs/langs/et_EE/bills.lang index 47639e7fe51..1f24a135a9e 100644 --- a/htdocs/langs/et_EE/bills.lang +++ b/htdocs/langs/et_EE/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/et_EE/companies.lang b/htdocs/langs/et_EE/companies.lang index 25366e50806..6dd84b9ccd6 100644 --- a/htdocs/langs/et_EE/companies.lang +++ b/htdocs/langs/et_EE/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Vaikimisi keel VATIsUsed=Käibemaksuga VATIsNotUsed=Käibemaksuta CopyAddressFromSoc=Kasuta aadressivälja täitmiseks kolmanda isiku aadressi +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE on kasutuses @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organisatsioon FiscalYearInformation=Majandusaasta informatsioon FiscalMonthStart=Majandusaasta esimene kuu -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=Hankijate nimekiri ListProspectsShort=Huviliste nimekiri ListCustomersShort=Klientide nimekiri diff --git a/htdocs/langs/et_EE/contracts.lang b/htdocs/langs/et_EE/contracts.lang index 4e30d50a826..892b41e6ff1 100644 --- a/htdocs/langs/et_EE/contracts.lang +++ b/htdocs/langs/et_EE/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Ei ole aegunud ServiceStatusLate=Aktiivne, aegunud ServiceStatusLateShort=Aegunud ServiceStatusClosed=Suletud +ShowContractOfService=Show contract of service Contracts=Lepingud ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracts and line of contracts diff --git a/htdocs/langs/et_EE/errors.lang b/htdocs/langs/et_EE/errors.lang index e53b31e7fd5..c7acbb675da 100644 --- a/htdocs/langs/et_EE/errors.lang +++ b/htdocs/langs/et_EE/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Sinu kasutaja ClickToDial info seadistami 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/et_EE/mails.lang b/htdocs/langs/et_EE/mails.lang index df5ccdd43c5..e4ba4cc9ca2 100644 --- a/htdocs/langs/et_EE/mails.lang +++ b/htdocs/langs/et_EE/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=Selle tegevuse ja ettevõttega ei ole plaanis saata ü ANotificationsWillBeSent=E-posti teel saadetakse 1 teade SomeNotificationsWillBeSent=E-posti teel saadetakse %s teadet AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=Loetle kõik saadetud e-posti teated MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/et_EE/main.lang b/htdocs/langs/et_EE/main.lang index 170abb0028c..03a1a9ee2a0 100644 --- a/htdocs/langs/et_EE/main.lang +++ b/htdocs/langs/et_EE/main.lang @@ -84,6 +84,7 @@ SeeAbove=Vt eespool HomeArea=Kodu ala LastConnexion=Viimane sisselogimine PreviousConnexion=Eelmine sisselogimine +PreviousValue=Previous value ConnectedOnMultiCompany=Keskkonda sisse logitud ConnectedSince=Sisse loginud alates AuthenticationMode=Autentimise režiim diff --git a/htdocs/langs/et_EE/projects.lang b/htdocs/langs/et_EE/projects.lang index 2966f01fe8a..b8e23768525 100644 --- a/htdocs/langs/et_EE/projects.lang +++ b/htdocs/langs/et_EE/projects.lang @@ -11,8 +11,10 @@ SharedProject=Kõik PrivateProject=Project contacts MyProjectsDesc=Selles vaates näidatakse vaid neid projekte, mille kontaktiks oled märgitud (hoolimata liigist) ProjectsPublicDesc=See vaade esitab kõik projektid, mida sul on lubatud vaadata. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=See vaade näitab kõiki projekte (sinu kasutajaõigused annavad ligipääsu kõigele) +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=Selles vaates näidatakse vaid neid projekte või ülesandeid, mille kontaktiks oled märgitud (hoolimata liigist) OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projektijuht TypeContact_project_external_PROJECTLEADER=Projektijuht diff --git a/htdocs/langs/et_EE/stocks.lang b/htdocs/langs/et_EE/stocks.lang index 376d95d3659..8e7e434ffca 100644 --- a/htdocs/langs/et_EE/stocks.lang +++ b/htdocs/langs/et_EE/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Registreeri ülekanne ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Show warehouse MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/et_EE/website.lang b/htdocs/langs/et_EE/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/et_EE/website.lang +++ b/htdocs/langs/et_EE/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/eu_ES/admin.lang b/htdocs/langs/eu_ES/admin.lang index 699d4888a7d..3b21ebfb0c2 100644 --- a/htdocs/langs/eu_ES/admin.lang +++ b/htdocs/langs/eu_ES/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Erabiltzaileak & Taldeak @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Loan Module520Desc=Management of loans Module600Name=Jakinarazpenak -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Diru-emateak Module700Desc=Diru-emateak kudeatzea Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Companies module setup CompanyCodeChecker=Module for third parties code generation and checking (customer or supplier) AccountCodeManager=Module for accountancy code generation (customer or supplier) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Documents templates DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Watermark on draft document @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/eu_ES/bills.lang b/htdocs/langs/eu_ES/bills.lang index 780f4284b9c..0e7349b7638 100644 --- a/htdocs/langs/eu_ES/bills.lang +++ b/htdocs/langs/eu_ES/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/eu_ES/companies.lang b/htdocs/langs/eu_ES/companies.lang index 36d98d39df1..f513bcc7b20 100644 --- a/htdocs/langs/eu_ES/companies.lang +++ b/htdocs/langs/eu_ES/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Language by default VATIsUsed=VAT is used VATIsNotUsed=VAT is not used CopyAddressFromSoc=Fill address with thirdparty address +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE is used @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organization FiscalYearInformation=Information on the fiscal year FiscalMonthStart=Starting month of the fiscal year -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=List of suppliers ListProspectsShort=List of prospects ListCustomersShort=List of customers diff --git a/htdocs/langs/eu_ES/contracts.lang b/htdocs/langs/eu_ES/contracts.lang index bb4bb033b03..08e5bb562db 100644 --- a/htdocs/langs/eu_ES/contracts.lang +++ b/htdocs/langs/eu_ES/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Not expired ServiceStatusLate=Running, expired ServiceStatusLateShort=Expired ServiceStatusClosed=Closed +ShowContractOfService=Show contract of service Contracts=Contracts ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracts and line of contracts diff --git a/htdocs/langs/eu_ES/errors.lang b/htdocs/langs/eu_ES/errors.lang index 9276b542ad7..364d60bf6b8 100644 --- a/htdocs/langs/eu_ES/errors.lang +++ b/htdocs/langs/eu_ES/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/eu_ES/install.lang b/htdocs/langs/eu_ES/install.lang index 56cf882e178..ce41ae75a30 100644 --- a/htdocs/langs/eu_ES/install.lang +++ b/htdocs/langs/eu_ES/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=It is recommanded to use a directory outside of your dir LoginAlreadyExists=Already exists DolibarrAdminLogin=Dolibarr admin login AdminLoginAlreadyExists=Dolibarr administrator account '%s' already exists. Go back, if you want to create another one. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, to avoid using install tools again, you should add a file called install.lock into Dolibarr document directory, in order to avoid malicious use of it. FunctionNotAvailableInThisPHP=Not available on this PHP ChoosedMigrateScript=Choose migration script diff --git a/htdocs/langs/eu_ES/mails.lang b/htdocs/langs/eu_ES/mails.lang index 982ab3475f2..d6224bf2346 100644 --- a/htdocs/langs/eu_ES/mails.lang +++ b/htdocs/langs/eu_ES/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=No email notifications are planned for this event and ANotificationsWillBeSent=1 notification will be sent by email SomeNotificationsWillBeSent=%s notifications will be sent by email AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=List all email notifications sent MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/eu_ES/main.lang b/htdocs/langs/eu_ES/main.lang index f99d6399d41..c6835a79e12 100644 --- a/htdocs/langs/eu_ES/main.lang +++ b/htdocs/langs/eu_ES/main.lang @@ -84,6 +84,7 @@ SeeAbove=See above HomeArea=Home area LastConnexion=Last connection PreviousConnexion=Previous connection +PreviousValue=Previous value ConnectedOnMultiCompany=Connected on environment ConnectedSince=Connected since AuthenticationMode=Authentification mode diff --git a/htdocs/langs/eu_ES/projects.lang b/htdocs/langs/eu_ES/projects.lang index 1a370ecf47a..fe21b3558ba 100644 --- a/htdocs/langs/eu_ES/projects.lang +++ b/htdocs/langs/eu_ES/projects.lang @@ -11,8 +11,10 @@ SharedProject=Everybody PrivateProject=Project contacts MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type). ProjectsPublicDesc=This view presents all projects you are allowed to read. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=This view presents all projects (your user permissions grant you permission to view everything). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Project leader TypeContact_project_external_PROJECTLEADER=Project leader diff --git a/htdocs/langs/eu_ES/stocks.lang b/htdocs/langs/eu_ES/stocks.lang index ef47e3f3ce7..8d2d1739a69 100644 --- a/htdocs/langs/eu_ES/stocks.lang +++ b/htdocs/langs/eu_ES/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Show warehouse MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/eu_ES/website.lang b/htdocs/langs/eu_ES/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/eu_ES/website.lang +++ b/htdocs/langs/eu_ES/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/fa_IR/admin.lang b/htdocs/langs/fa_IR/admin.lang index fc2b8f31487..a17c57bf92e 100644 --- a/htdocs/langs/fa_IR/admin.lang +++ b/htdocs/langs/fa_IR/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=کاربران و گروه های @@ -468,7 +471,7 @@ Module510Desc=مدیریت کارکنان حقوق و پرداخت Module520Name=Loan Module520Desc=Management of loans Module600Name=اطلاعیه ها -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=کمک های مالی Module700Desc=مدیریت کمک مالی Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=راه اندازی ماژول شرکت CompanyCodeChecker=ماژول برای نسل اشخاص ثالث کد و چک کردن (مشتری یا عرضه کننده کالا) AccountCodeManager=ماژول برای تولید کد حسابداری (مشتری یا عرضه کننده کالا) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=اسناد قالب DocumentModelOdt=تولید اسناد از OpenDocuments قالب (. ODT و یا فایل های ODS برای آفیس اپن سورس کنند، KOffice، TextEdit، ...) WatermarkOnDraft=تعیین میزان مد آب در پیش نویس سند @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/fa_IR/bills.lang b/htdocs/langs/fa_IR/bills.lang index d48b8ceab15..11ad52018f5 100644 --- a/htdocs/langs/fa_IR/bills.lang +++ b/htdocs/langs/fa_IR/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/fa_IR/companies.lang b/htdocs/langs/fa_IR/companies.lang index 36da679a842..bc01024cf64 100644 --- a/htdocs/langs/fa_IR/companies.lang +++ b/htdocs/langs/fa_IR/companies.lang @@ -74,6 +74,7 @@ DefaultLang=زبان پیش فرض VATIsUsed=مالیات بر ارزش افزوده استفاده شده است VATIsNotUsed=مالیات بر ارزش افزوده استفاده نمی شود CopyAddressFromSoc=آدرس با آدرس thirdparty را پر کنید +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE استفاده شده است @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=سازمان FiscalYearInformation=اطلاعات در سال مالی FiscalMonthStart=شروع ماه از سال مالی -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=فهرست تامین کنندگان ListProspectsShort=فهرست چشم انداز ListCustomersShort=فهرست مشتریان diff --git a/htdocs/langs/fa_IR/contracts.lang b/htdocs/langs/fa_IR/contracts.lang index d77c12248fa..f87b3bec13a 100644 --- a/htdocs/langs/fa_IR/contracts.lang +++ b/htdocs/langs/fa_IR/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=تمام نشده است ServiceStatusLate=در حال اجرا، تمام شده ServiceStatusLateShort=منقضی شده ServiceStatusClosed=بسته +ShowContractOfService=Show contract of service Contracts=قراردادها ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracts and line of contracts diff --git a/htdocs/langs/fa_IR/errors.lang b/htdocs/langs/fa_IR/errors.lang index 96e4cfed9fa..be5fa716053 100644 --- a/htdocs/langs/fa_IR/errors.lang +++ b/htdocs/langs/fa_IR/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=راه اندازی از اطلاعات C WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=قابلیت غیر فعال زمانی که راه اندازی صفحه نمایش برای فرد نابینا یا از مرورگرهای متن بهینه شده است. WarningPaymentDateLowerThanInvoiceDate=Payment date (%s) is earlier than invoice date (%s) for invoice %s. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/fa_IR/install.lang b/htdocs/langs/fa_IR/install.lang index aee91fba26b..261fb231133 100644 --- a/htdocs/langs/fa_IR/install.lang +++ b/htdocs/langs/fa_IR/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=این است توصیه به استفاده از یک LoginAlreadyExists=در حال حاضر وجود دارد DolibarrAdminLogin=Dolibarr مدیر در انجمن AdminLoginAlreadyExists=حساب مدیر Dolibarr '٪ s' از قبل وجود دارد. برو به عقب، اگر شما می خواهید برای ایجاد یک دیگر. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=اخطار، به دلایل امنیتی، پس از نصب و یا ارتقا کامل است، برای جلوگیری از استفاده از ابزار را دوباره نصب کنید، شما باید یک فایل install.lock به دایرکتوری سند Dolibarr نام اضافه، به منظور جلوگیری از سوء استفاده از آن را. FunctionNotAvailableInThisPHP=در این پی اچ پی در دسترس نیست ChoosedMigrateScript=را انتخاب کنید اسکریپت مهاجرت diff --git a/htdocs/langs/fa_IR/mails.lang b/htdocs/langs/fa_IR/mails.lang index 84d6754d9c3..55e9ad9ed15 100644 --- a/htdocs/langs/fa_IR/mails.lang +++ b/htdocs/langs/fa_IR/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=بدون اطلاعیه ها ایمیل ها برای ANotificationsWillBeSent=1 اطلاع رسانی خواهد شد از طریق ایمیل ارسال می شود SomeNotificationsWillBeSent=اطلاعیه٪ خواهد شد از طریق ایمیل ارسال می شود AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=لیست همه اطلاعیه ها ایمیل فرستاده شده MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/fa_IR/main.lang b/htdocs/langs/fa_IR/main.lang index 21c1a521f48..85e1a554158 100644 --- a/htdocs/langs/fa_IR/main.lang +++ b/htdocs/langs/fa_IR/main.lang @@ -84,6 +84,7 @@ SeeAbove=در بالا مشاهده کنید HomeArea=منطقه خانه LastConnexion=آخرین اتصال PreviousConnexion=ارتباط قبلی +PreviousValue=Previous value ConnectedOnMultiCompany=اتصال در محیط زیست ConnectedSince=از اتصال AuthenticationMode=حالت مجوزهای diff --git a/htdocs/langs/fa_IR/projects.lang b/htdocs/langs/fa_IR/projects.lang index e0bae0b05df..64bcfda291d 100644 --- a/htdocs/langs/fa_IR/projects.lang +++ b/htdocs/langs/fa_IR/projects.lang @@ -11,8 +11,10 @@ SharedProject=هر کسی PrivateProject=Project contacts MyProjectsDesc=این دیدگاه محدود به پروژه شما یک تماس برای (هر چه باشد نوع) می باشد. ProjectsPublicDesc=این دیدگاه ارائه تمام پروژه ها به شما این اجازه را بخوانید. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=این دیدگاه ارائه تمام پروژه (مجوز دسترسی خود را به شما عطا اجازه دسترسی به همه چیز). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=این دیدگاه به پروژه ها و یا کارهای شما تماس برای (هر چه باشد نوع) می باشد محدود است. OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=رهبر پروژه TypeContact_project_external_PROJECTLEADER=رهبر پروژه diff --git a/htdocs/langs/fa_IR/stocks.lang b/htdocs/langs/fa_IR/stocks.lang index b7de57ef80b..833fbff39dd 100644 --- a/htdocs/langs/fa_IR/stocks.lang +++ b/htdocs/langs/fa_IR/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=رکورد ی انتقال ReceivingForSameOrder=Receipts for this order StockMovementRecorded=جنبش های سهام ثبت شده RuleForStockAvailability=قوانین مورد نیاز سهام -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Show warehouse MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/fa_IR/website.lang b/htdocs/langs/fa_IR/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/fa_IR/website.lang +++ b/htdocs/langs/fa_IR/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/fi_FI/admin.lang b/htdocs/langs/fi_FI/admin.lang index cbf8bcc7931..29baca03280 100644 --- a/htdocs/langs/fi_FI/admin.lang +++ b/htdocs/langs/fi_FI/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Käyttäjät & ryhmät @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Loan Module520Desc=Management of loans Module600Name=Ilmoitukset -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Lahjoitukset Module700Desc=Lahjoitukset hallinto Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Yritykset moduulin asetukset CompanyCodeChecker=Moduuli kolmansille osapuolille koodi sukupolven ja tarkastuslennot (asiakas tai toimittaja) AccountCodeManager=Moduuli kirjanpitotietojen koodi sukupolven (asiakas tai toimittaja) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Asiakirjat mallit DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Vesileima asiakirjaluonnos @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/fi_FI/bills.lang b/htdocs/langs/fi_FI/bills.lang index ec6fcee620c..5e67119348d 100644 --- a/htdocs/langs/fi_FI/bills.lang +++ b/htdocs/langs/fi_FI/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Latest related invoice WarningBillExist=Varoitus, yksi tai useampi lasku jo olemassa MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/fi_FI/companies.lang b/htdocs/langs/fi_FI/companies.lang index a786a7baf67..5162f15e2b5 100644 --- a/htdocs/langs/fi_FI/companies.lang +++ b/htdocs/langs/fi_FI/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Oletuskieli VATIsUsed=Arvonlisävero käytössä VATIsNotUsed=Arvonlisävero ei ole käytössä CopyAddressFromSoc=Täytä kolmanen osapuolen osoite +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE käytössä @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organisaatio FiscalYearInformation=Tiedot tilikauden FiscalMonthStart=Lähtölista kuukauden kuluessa tilikauden -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=Luettelo toimittajat ListProspectsShort=Luettelo näkymät ListCustomersShort=Luettelo asiakkaiden diff --git a/htdocs/langs/fi_FI/contracts.lang b/htdocs/langs/fi_FI/contracts.lang index ef9e7a2ed5d..9e7dfbcbcc5 100644 --- a/htdocs/langs/fi_FI/contracts.lang +++ b/htdocs/langs/fi_FI/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Ei lakkaa ServiceStatusLate=Juoksu, lakkaa ServiceStatusLateShort=Lakkaa ServiceStatusClosed=Suljettu +ShowContractOfService=Show contract of service Contracts=Sopimukset ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracts and line of contracts diff --git a/htdocs/langs/fi_FI/errors.lang b/htdocs/langs/fi_FI/errors.lang index c7476b4da02..e4d342a2c5b 100644 --- a/htdocs/langs/fi_FI/errors.lang +++ b/htdocs/langs/fi_FI/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/fi_FI/install.lang b/htdocs/langs/fi_FI/install.lang index ec2b6e262b7..68e9499adaa 100644 --- a/htdocs/langs/fi_FI/install.lang +++ b/htdocs/langs/fi_FI/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=On recommanded käyttää hakemiston ulkopuolella teidä LoginAlreadyExists=On jo olemassa DolibarrAdminLogin=Dolibarr admin login AdminLoginAlreadyExists=Dolibarr järjestelmänvalvojan tili ' %s' on jo olemassa. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Varoitus, turvallisuussyistä, kun asennus tai päivitys on valmis, poista asennus hakemistoon tai nimetä sen install.lock välttämiseksi sen ilkivaltaisten käyttöä. FunctionNotAvailableInThisPHP=Ei saatavana tämän PHP ChoosedMigrateScript=Valittu siirtyä script diff --git a/htdocs/langs/fi_FI/mails.lang b/htdocs/langs/fi_FI/mails.lang index c017406d009..5aab8a0de8c 100644 --- a/htdocs/langs/fi_FI/mails.lang +++ b/htdocs/langs/fi_FI/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=Ei sähköposti-ilmoituksia on suunniteltu tähän tap ANotificationsWillBeSent=1 ilmoituksesta lähetetään sähköpostitse SomeNotificationsWillBeSent=%s ilmoitukset lähetetään sähköpostitse AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=Listaa kaikki sähköposti-ilmoitukset lähetetään MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/fi_FI/main.lang b/htdocs/langs/fi_FI/main.lang index 268ea021fb8..7ee7821f658 100644 --- a/htdocs/langs/fi_FI/main.lang +++ b/htdocs/langs/fi_FI/main.lang @@ -84,6 +84,7 @@ SeeAbove=Katso edellä HomeArea=Etusivu alue LastConnexion=Viimeisin yhteys PreviousConnexion=Edellinen yhteydessä +PreviousValue=Previous value ConnectedOnMultiCompany=Connected on kokonaisuus ConnectedSince=Sidossuhteessa koska AuthenticationMode=Todentamisjärjestelmien tilassa diff --git a/htdocs/langs/fi_FI/projects.lang b/htdocs/langs/fi_FI/projects.lang index 4754121474e..3368e6c155e 100644 --- a/htdocs/langs/fi_FI/projects.lang +++ b/htdocs/langs/fi_FI/projects.lang @@ -11,8 +11,10 @@ SharedProject=Yhteiset hanke PrivateProject=Project contacts MyProjectsDesc=Tämä näkemys on vain hankkeisiin olet yhteyshenkilö (mikä on tyyppi). ProjectsPublicDesc=Tämä näkemys esitetään kaikki hankkeet sinulla voi lukea. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=Tämä näkemys esitetään kaikki hankkeet (käyttäjäoikeuksien antaa sinulle luvan katsella kaikkea). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=Tämä näkemys on vain hankkeisiin tai tehtäviä olet yhteyshenkilö (mikä on tyyppi). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projektin johtaja TypeContact_project_external_PROJECTLEADER=Projektin johtaja diff --git a/htdocs/langs/fi_FI/stocks.lang b/htdocs/langs/fi_FI/stocks.lang index c4425da5edc..50860e9d851 100644 --- a/htdocs/langs/fi_FI/stocks.lang +++ b/htdocs/langs/fi_FI/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Show warehouse MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/fi_FI/website.lang b/htdocs/langs/fi_FI/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/fi_FI/website.lang +++ b/htdocs/langs/fi_FI/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/fr_BE/admin.lang b/htdocs/langs/fr_BE/admin.lang index 94287f8c2ff..da5757b1b06 100644 --- a/htdocs/langs/fr_BE/admin.lang +++ b/htdocs/langs/fr_BE/admin.lang @@ -23,3 +23,5 @@ RemoveLock=Supprimez le fichier %s s'il existe pour autoriser l'utilisati AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
Example for ClamAv: /usr/bin/clamscan AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ExampleOfDirectoriesForModelGen=Examples of syntax:
c:\\mydir
/home/mydir
DOL_DATA_ROOT/ecm/ecmdir +CompanyFundationDesc=Edit on this page all known information of the company or foundation you need to manage (For this, click on "Modify" button at bottom of page) +GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses diff --git a/htdocs/langs/fr_BE/mails.lang b/htdocs/langs/fr_BE/mails.lang new file mode 100644 index 00000000000..cc3219b8470 --- /dev/null +++ b/htdocs/langs/fr_BE/mails.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - mails +ListOfActiveNotifications=List all active targets for email notification diff --git a/htdocs/langs/fr_BE/stocks.lang b/htdocs/langs/fr_BE/stocks.lang new file mode 100644 index 00000000000..00d43473692 --- /dev/null +++ b/htdocs/langs/fr_BE/stocks.lang @@ -0,0 +1,4 @@ +# Dolibarr language file - Source file is en_US - stocks +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment=Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) diff --git a/htdocs/langs/fr_CA/admin.lang b/htdocs/langs/fr_CA/admin.lang index 332794ac20b..0c7ccba771b 100644 --- a/htdocs/langs/fr_CA/admin.lang +++ b/htdocs/langs/fr_CA/admin.lang @@ -28,7 +28,6 @@ EnableFileCache=Activer le cache de fichiers Module75Name=Notes de frais et déplacements Module500Name=Dépenses spéciales (taxes, charges, dividendes) Module500Desc=Gestion des dépenses spéciales comme les taxes, charges sociales et dividendes -Module600Desc=Envoyer des notifications par courriel (déclenchées par certains événements d'affaires) aux contacts tiers (configuration définie sur chaque tiers) ou des courriels fixes Module770Name=Note de frais Module2600Name=services API / Web ( serveur SOAP ) Module2600Desc=Active le serveur de Web Services de Dolibarr @@ -85,7 +84,6 @@ PasswordGenerationNone=Aucune suggestion de mot de passe généré . Le mot de p PasswordGenerationPerso=Retour un mot de passe en fonction de votre configuration personnellement défini. PasswordPatternDesc=Description du modèle de mot de passe HRMSetup=Configuration du module de GRH -NotificationsDesc=La fonction des notifications par emails permet d'envoyer automatiquement un email, lors de certains événements Dolibarr. La cible des notifications peut être défini:
* par contacts de tiers (clients, prospects ou fournisseurs), contact par contact.
* ou en positionnant un email en paramètre global sur la page de configuration du module Notification. PaymentsNumberingModule=Modèles de numérotation des paiements SupplierProposalSetup=Configuration du module de ​​demande de prix des fournisseurs SupplierProposalNumberingModules=Modèles de numérotation des demandes de prix des fournisseurs diff --git a/htdocs/langs/fr_CA/companies.lang b/htdocs/langs/fr_CA/companies.lang index 0cc2557ff65..bb3ddf35a2b 100644 --- a/htdocs/langs/fr_CA/companies.lang +++ b/htdocs/langs/fr_CA/companies.lang @@ -12,6 +12,7 @@ ProfId6Short=TVQ ProfId6=TVQ VATIntra=Numéro de TPS/TVH VATIntraShort=TPS/TVH +ContactForOrdersOrShipments=Contact de commandes ou de livraison ImportDataset_company_4=Tiers/ventes représentatives (ventes représentatives affectées aux utilisateurs aux entreprises ) ProductsIntoElements=Liste des produits/services en %s MergeOriginThirdparty=Dupliquer tiers (tiers que vous souhaitez supprimer) diff --git a/htdocs/langs/fr_CA/mails.lang b/htdocs/langs/fr_CA/mails.lang index 71ecef377dd..40d5d213577 100644 --- a/htdocs/langs/fr_CA/mails.lang +++ b/htdocs/langs/fr_CA/mails.lang @@ -1,2 +1,3 @@ # Dolibarr language file - Source file is en_US - mails MailingStatusValidated=Validée +ListOfActiveNotifications=List all active targets for email notification diff --git a/htdocs/langs/fr_CA/stocks.lang b/htdocs/langs/fr_CA/stocks.lang new file mode 100644 index 00000000000..00d43473692 --- /dev/null +++ b/htdocs/langs/fr_CA/stocks.lang @@ -0,0 +1,4 @@ +# Dolibarr language file - Source file is en_US - stocks +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment=Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) diff --git a/htdocs/langs/fr_CH/admin.lang b/htdocs/langs/fr_CH/admin.lang index 1c53b65c99c..404be0f58c6 100644 --- a/htdocs/langs/fr_CH/admin.lang +++ b/htdocs/langs/fr_CH/admin.lang @@ -2,3 +2,5 @@ AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
Example for ClamAv: /usr/bin/clamscan AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" ExampleOfDirectoriesForModelGen=Examples of syntax:
c:\\mydir
/home/mydir
DOL_DATA_ROOT/ecm/ecmdir +CompanyFundationDesc=Edit on this page all known information of the company or foundation you need to manage (For this, click on "Modify" button at bottom of page) +GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses diff --git a/htdocs/langs/fr_CH/mails.lang b/htdocs/langs/fr_CH/mails.lang new file mode 100644 index 00000000000..cc3219b8470 --- /dev/null +++ b/htdocs/langs/fr_CH/mails.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - mails +ListOfActiveNotifications=List all active targets for email notification diff --git a/htdocs/langs/fr_CH/stocks.lang b/htdocs/langs/fr_CH/stocks.lang new file mode 100644 index 00000000000..00d43473692 --- /dev/null +++ b/htdocs/langs/fr_CH/stocks.lang @@ -0,0 +1,4 @@ +# Dolibarr language file - Source file is en_US - stocks +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment=Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) diff --git a/htdocs/langs/fr_FR/accountancy.lang b/htdocs/langs/fr_FR/accountancy.lang index 1b938f060c0..cd0e83cb415 100644 --- a/htdocs/langs/fr_FR/accountancy.lang +++ b/htdocs/langs/fr_FR/accountancy.lang @@ -84,10 +84,10 @@ AccountingCategory=Catégorie comptable NotMatch=Non défini -DeleteMvt=Delete general ledger lines -DelYear=Year to delete -DelJournal=Journal to delete -ConfirmDeleteMvt=This will delete all line of of the general ledger for year and/or from a specifics journal +DeleteMvt=Supprimer les lignes du grand livre +DelYear=Année à supprimer +DelJournal=Journal à supprimer +ConfirmDeleteMvt=Cette action effacera toutes les lignes du grand livre pour l'année et/ou d'un journal DelBookKeeping=Supprimer les écritures du grand livre @@ -147,7 +147,7 @@ Modelcsv_bob50=Export vers Sage BOB 50 Modelcsv_ciel=Export vers Sage Ciel Compta ou Compta Evolution Modelcsv_quadratus=Export vers Quadratus QuadraCompta Modelcsv_ebp=Export vers EBP -Modelcsv_cogilog=Export towards Cogilog +Modelcsv_cogilog=Export vers Cogilog ## Tools - Init accounting account on product / service InitAccountancy=Initialisation comptabilité @@ -166,4 +166,4 @@ Formula=Formule ## Error ErrorNoAccountingCategoryForThisCountry=Pas de catégories comptable disponibles pour ce pays ExportNotSupported=Le format de l'export n'est pas supporté par cette page -BookeppingLineAlreayExists=Lines already existing into bookeeping +BookeppingLineAlreayExists=Lignes dejà existantes dans le grand livre diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index 3cf73195fe8..0c73888ac90 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -385,6 +385,9 @@ NoDetails=Pas plus de détails dans le pied-de-page DisplayCompanyInfo=Afficher l'adresse de la société DisplayCompanyInfoAndManagers=Afficher les noms des sociétés et des supérieurs hiérarchiques EnableAndSetupModuleCron=Si vous voulez avoir cette facture récurrente générée automatiquement, le module *%s* doit être activé et correctement configuré. Dans le cas contraire, la génération des factures doit être effectuée manuellement à partir de ce modèle avec le bouton *Créer*. Notez que même si vous avez activé la génération automatique, vous pouvez toujours lancer en toute sécurité la génération manuelle. La génération en double sur une même période n'est pas possibles. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Renvoie un code comptable vide. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Utilisateurs & groupes @@ -468,7 +471,7 @@ Module510Desc=Gestion des paiements des salaires des employés Module520Name=Emprunt Module520Desc=Gestion des emprunts Module600Name=Notifications -Module600Desc=Envoi de notifications Email (déclenchées sur des événements métiers) sur certains événements métiers Dolibarr, aux contacts de tiers (configuration réalisée sur chaque tiers) +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Dons Module700Desc=Gestion des dons Module770Name=Notes de frais @@ -512,8 +515,8 @@ Module5000Name=Multi-société Module5000Desc=Permet de gérer plusieurs sociétés Module6000Name=Workflow Module6000Desc=Gérer le Workflow -Module10000Name=Websites -Module10000Desc=Create public websites with a WYSIWG editor. Just setup your web server to point to the dedicated directory to have it online on the Internet. +Module10000Name=Sites internet +Module10000Desc=Créer des sites internet publics avec un éditeur WYSIWYG. Indiquer à votre serveur web le chemin d'accès au à dossier pour mettre votre site en ligne. Module20000Name=Gestion des demandes de congés Module20000Desc=Déclaration et suivi des congés des employés Module39000Name=Numéros de Lot/Série @@ -534,8 +537,8 @@ Module59000Name=Marges Module59000Desc=Module pour gérer les marges Module60000Name=Commissions Module60000Desc=Module pour gérer les commissions -Module63000Name=Resources -Module63000Desc=Manage resources (printers, cars, room, ...) you can then share into events +Module63000Name=Ressources +Module63000Desc=Gère les ressources (imprimantes, voitures, salles...). les ressources peuvent être affectées à des événements. Permission11=Consulter les factures clients Permission12=Créer/modifier les factures clients Permission13=Dé-valider les factures clients @@ -1067,7 +1070,10 @@ HRMSetup=Configuration du module GRH CompanySetup=Configuration du module Tiers CompanyCodeChecker=Modèle de génération et contrôle des codes tiers (clients/fournisseurs) AccountCodeManager=Modèle de génération des codes comptable (clients/fournisseurs) -NotificationsDesc=La fonction des notifications par emails permet d'envoyer automatiquement un email, lors de certains événements Dolibarr. La cible des notifications peut être définie:
* par contacts de tiers (clients, prospects ou fournisseurs), contact par contact.
* ou en positionnant un email en paramètre global sur la page de configuration du module Notification. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* par utilisateurs, utilisateur par utilisateur. +NotificationsDescContact=* par tiers de contacts (clients ou fournisseur), contact par contact. +NotificationsDescGlobal=* ou en définissant des emails cibles fixes sur la page de configuration du module. ModelModules=Modèle de documents DocumentModelOdt=Génération depuis des modèles OpenDocument (Fichier .ODT ou .ODS OpenOffice, KOffice, TextEdit…) WatermarkOnDraft=Filigrane sur les documents brouillons @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Configuration du module Notes de frais TemplatePDFExpenseReports=Modèles de documents pour générer les document de Notes de frais NoModueToManageStockIncrease=Aucun module capable d'assurer l'augmentation de stock en automatique a été activé. La réduction de stock se fera donc uniquement sur mise à jour manuelle. YouMayFindNotificationsFeaturesIntoModuleNotification=Vous pouvez trouver d'autres options pour la notification par Email en activant et configurant le module "Notification". -ListOfNotificationsPerContact=Liste des notifications par contact* +ListOfNotificationsPerUser=Liste des notifications par utilisateur* +ListOfNotificationsPerUserOrContact=Liste des notifications par utilisateur* ou par contact** ListOfFixedNotifications=Liste des notifications emails fixes +GoOntoUserCardToAddMore=Aller sur l'onglet "Notificiation" de l'utilisateur pour ajouter ou modifier une notification par utilisateurs GoOntoContactCardToAddMore=Allez sur l'onglet "Notifications" d'un contact de tiers pour ajouter ou supprimer des notifications pour les contacts/adresses Threshold=Seuil BackupDumpWizard=Assistant de génération d'un fichier de sauvegarde de la base de données diff --git a/htdocs/langs/fr_FR/bills.lang b/htdocs/langs/fr_FR/bills.lang index fd5acd2e238..d9c0427649e 100644 --- a/htdocs/langs/fr_FR/bills.lang +++ b/htdocs/langs/fr_FR/bills.lang @@ -56,7 +56,7 @@ SupplierBill=Facture fournisseur SupplierBills=Factures fournisseurs Payment=Règlement PaymentBack=Remboursement -CustomerInvoicePaymentBack=Payment back +CustomerInvoicePaymentBack=Remboursement Payments=Règlements PaymentsBack=Remboursements paymentInInvoiceCurrency=Dans la devise des factures @@ -312,6 +312,7 @@ LatestRelatedBill=Dernière facture en rapport WarningBillExist=Attention, une ou plusieurs factures existent déjà MergingPDFTool=Outil de fusion de PDF AmountPaymentDistributedOnInvoice=Montant paiement affecté à la facture +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Note du paiement ListOfPreviousSituationInvoices=Liste des factures de situation précédentes ListOfNextSituationInvoices=Liste des factures de situation suivantes @@ -323,7 +324,7 @@ NextDateToExecution=Date pour la prochaine génération de facture DateLastGeneration=Date de la dernière génération MaxPeriodNumber=Nombre maximum de génération NbOfGenerationDone=Nombre de génération déjà réalisées -MaxGenerationReached=Maximum nb of generations reached +MaxGenerationReached=Maximum de générations atteint InvoiceAutoValidate=Valider les factures automatiquement GeneratedFromRecurringInvoice=Généré depuis la facture modèle récurrente %s DateIsNotEnough=Date pas encore atteinte diff --git a/htdocs/langs/fr_FR/companies.lang b/htdocs/langs/fr_FR/companies.lang index 70e668e9f76..3740bc55b50 100644 --- a/htdocs/langs/fr_FR/companies.lang +++ b/htdocs/langs/fr_FR/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Langue par défaut VATIsUsed=Assujetti à la TVA VATIsNotUsed=Non assujetti à la TVA CopyAddressFromSoc=Remplir avec l'adresse du tiers +ThirdpartyNotCustomerNotSupplierSoNoRef=Ce tiers n'est ni client ni fournisseur. il n'y a pas d'objet référent. ##### Local Taxes ##### LocalTax1IsUsed=Assujetti à la deuxième taxe LocalTax1IsUsedES= Assujetti à RE @@ -368,7 +369,8 @@ AllocateCommercial=Affecter un commercial Organization=Organisme FiscalYearInformation=Information sur l'année fiscale FiscalMonthStart=Mois de début d'exercice -YouMustCreateContactFirst=Vous devez créer un contact avec une adresse email sur le tiers avant de pouvoir lui définir des notifications par emails. +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=Liste fournisseurs ListProspectsShort=Liste prospects ListCustomersShort=Liste clients diff --git a/htdocs/langs/fr_FR/contracts.lang b/htdocs/langs/fr_FR/contracts.lang index 7ccba140540..f0c4e2ced9f 100644 --- a/htdocs/langs/fr_FR/contracts.lang +++ b/htdocs/langs/fr_FR/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Non expiré ServiceStatusLate=En service, expiré ServiceStatusLateShort=Expiré ServiceStatusClosed=Fermé +ShowContractOfService=Afficher les contrats de services Contracts=Contrats ContractsSubscriptions=Contrats/Abonnements ContractsAndLine=Contrats et lignes de contrats diff --git a/htdocs/langs/fr_FR/errors.lang b/htdocs/langs/fr_FR/errors.lang index 91992aa0c38..c09490c8184 100644 --- a/htdocs/langs/fr_FR/errors.lang +++ b/htdocs/langs/fr_FR/errors.lang @@ -170,10 +170,10 @@ ErrorWarehouseRequiredIntoShipmentLine=L'entrepôt est requis sur la ligne de l' ErrorFileMustHaveFormat=Le fichier doit avoir le format %s ErrorSupplierCountryIsNotDefined=Le pays pour ce fournisseur n'est pas défini. Corriger cela. ErrorsThirdpartyMerge=Echec de la fusion de 2 enregistrements. Demande annulée. -ErrorStockIsNotEnoughToAddProductOnOrder=Stock is not enougth for product %s to add it into a new order. -ErrorStockIsNotEnoughToAddProductOnInvoice=Stock is not enougth for product %s to add it into a new invoice. -ErrorStockIsNotEnoughToAddProductOnShipment=Stock is not enougth for product %s to add it into a new shipment. -ErrorStockIsNotEnoughToAddProductOnProposal=Stock is not enougth for product %s to add it into a new proposal. +ErrorStockIsNotEnoughToAddProductOnOrder=Le stock du produit %s est insuffisant pour permettre un ajout dans une nouvelle commande +ErrorStockIsNotEnoughToAddProductOnInvoice=Le stock du produit %s est insuffisant pour permettre un ajout dans une nouvelle facture +ErrorStockIsNotEnoughToAddProductOnShipment=Le stock du produit %s est insuffisant pour permettre un ajout dans une nouvelle expédition +ErrorStockIsNotEnoughToAddProductOnProposal=Le stock du produit %s est insuffisant pour permettre un ajout dans une nouvelle proposition # Warnings WarningPasswordSetWithNoAccount=Un mot de passe a été fixé pour cet adhérent. Cependant, aucun compte d'utilisateur n'a été créé. Donc, ce mot de passe est stocké, mais ne peut être utilisé pour accéder à Dolibarr. Il peut être utilisé par un module/interface externe, mais si vous n'avez pas besoin de définir ni login ni mot de passe pour un adhérent, vous pouvez désactiver l'option «Gérer un login pour chaque adhérent" depuis la configuration du module Adhérents. Si vous avez besoin de gérer un login, mais pas de mot de passe, vous pouvez laisser ce champ vide pour éviter cet avertissement. Remarque: L'email peut également être utilisé comme login si l'adhérent est lié à un utilisateur. @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=La configuration ClickToDial pour votre c WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Fonction désactivé quand l'affichage est en mode optimisé pour les personnes aveugles ou les navigateurs textes. WarningPaymentDateLowerThanInvoiceDate=La date de paiement (%s) est inférieure à la date de facturation (%s) de la facture %s. WarningTooManyDataPleaseUseMoreFilters=Trop de données (plus de %s lignes). Utilisez davantage de filtres ou régler la constante %s pour augmenter la limite à une valeur plus élevée. -WarningSomeLinesWithNullHourlyRate=Des temps ont été enregistrés par des utilisateurs lorsque leur taux horaire n'était défini. Une valeur de 0 a été utilisé, mais cela peut entraîner une mauvaise évaluation du temps passé. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Votre identifiant a été modifié. Par sécurité, vous devrez vous identifiez avec votre nouvel identifiant avant l'action suivante. diff --git a/htdocs/langs/fr_FR/install.lang b/htdocs/langs/fr_FR/install.lang index a82f1d170d6..0c93f36e507 100644 --- a/htdocs/langs/fr_FR/install.lang +++ b/htdocs/langs/fr_FR/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=Il est recommandé de mettre ce répertoire en dehors du LoginAlreadyExists=Existe déjà DolibarrAdminLogin=Identifiant de l'utilisateur administrateur de Dolibarr AdminLoginAlreadyExists=Compte administrateur Dolibarr '%s' déjà existant. Revenez en arrière si vous voulez en créer un autre. +FailedToCreateAdminLogin=Echec de la création du compte administrateur Dolibarr WarningRemoveInstallDir=Attention, pour des raisons de sécurité, afin de bloquer une nouvelle utilisation des outils d'installation/migration, une fois l'installation terminée, il est conseillé de placer dans le répertoire document de Dolibarr un fichier nommé install.lock en lecture seule. FunctionNotAvailableInThisPHP=Non disponible sur ce PHP ChoosedMigrateScript=Choix du script de migration diff --git a/htdocs/langs/fr_FR/mails.lang b/htdocs/langs/fr_FR/mails.lang index f834ec9fd49..cbdeaa04af2 100644 --- a/htdocs/langs/fr_FR/mails.lang +++ b/htdocs/langs/fr_FR/mails.lang @@ -102,8 +102,8 @@ YouCanUseCommaSeparatorForSeveralRecipients=Vous pouvez utiliser le caractère d TagCheckMail=Suivre l'ouverture de l'email TagUnsubscribe=Lien de désinscription TagSignature=Signature utilisateur émetteur -EMailRecipient=Recipient EMail -TagMailtoEmail=Recipient EMail (including html "mailto:" link) +EMailRecipient=Email destinataire +TagMailtoEmail=Email destinataire (incluant le lien "mailto:" html) NoEmailSentBadSenderOrRecipientEmail=Aucune email envoyé. Mauvais email expéditeur ou le destinataire. Vérifiez le profil de l'utilisateur. # Module Notifications Notifications=Notifications @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=Aucune notification par email n'est prévue pour cet ANotificationsWillBeSent=1 notification va être envoyée par email SomeNotificationsWillBeSent=%s notifications vont être envoyées par email AddNewNotification=Activer une nouvelle cible de notification email -ListOfActiveNotifications=Liste des cibles de notifications emails actives +ListOfActiveNotifications=Liste des cibles actives de notifications emails ListOfNotificationsDone=Liste des notifications emails envoyées MailSendSetupIs=La configuration d'envoi d'emails a été définir sur '%s'. Ce mode ne peut pas être utilisé pour envoyer des e-mailing en masse. MailSendSetupIs2=Vous devez d'abord aller, avec un compte d'administrateur, dans le menu %sAccueil - Configuration - EMails%s pour changer le paramètre '%s' pour utiliser le mode '%s'. Avec ce mode, vous pouvez accéder à la configuration du serveur SMTP fourni par votre fournisseur de services Internet et utiliser la fonction d'envoi d'email en masse. @@ -127,9 +127,9 @@ AdvTgtMaxVal=Valeur maximum AdvTgtSearchDtHelp=Utilisez un intervalle de date AdvTgtStartDt=Date de début AdvTgtEndDt=Date de fin -AdvTgtTypeOfIncudeHelp=Target Email of thirdparty and email of contact of the thridparty, or just thridparty email or just contact email +AdvTgtTypeOfIncudeHelp=Email du tiers ET Email du contact du tiers, ou juste email du tiers OU email du contact. AdvTgtTypeOfIncude=Type d'e-mail cible -AdvTgtContactHelp=Use only if you target contact into "Type of targeted email" +AdvTgtContactHelp=Utilisé seulement si vous ciblez des contacts dans le "Type d'email cible" AddAll=Tout ajouter RemoveAll=Tout supprimer ItemsCount=Elément(s) diff --git a/htdocs/langs/fr_FR/main.lang b/htdocs/langs/fr_FR/main.lang index 5eb99eb0f43..e4dca048a78 100644 --- a/htdocs/langs/fr_FR/main.lang +++ b/htdocs/langs/fr_FR/main.lang @@ -84,6 +84,7 @@ SeeAbove=Voir ci-dessus HomeArea=Espace accueil LastConnexion=Dernière connexion PreviousConnexion=Connexion précédente +PreviousValue=Valeur précédente ConnectedOnMultiCompany=Connexion sur l'entité ConnectedSince=Connecté depuis AuthenticationMode=Mode authentification @@ -177,7 +178,7 @@ Groups=Groupes NoUserGroupDefined=Pas de groupe utilisateur défini Password=Mot de passe PasswordRetype=Retaper le mot de passe -NoteSomeFeaturesAreDisabled=Note that a lot of features/modules are disabled in this demonstration. +NoteSomeFeaturesAreDisabled=Notez que de nombreuses fonctionnalités ne sont pas activées sur le site de démonstration. Name=Nom Person=Personne Parameter=Paramètre @@ -734,7 +735,7 @@ SetRef=Définir réf. Select2ResultFoundUseArrows= Select2NotFound=Aucun enregistrement trouvé Select2Enter=Entrez -Select2MoreCharacter=caractères ou plus +Select2MoreCharacter=caractère ou plus Select2MoreCharacters=caractères ou plus Select2LoadingMoreResults=Charger plus de résultats... Select2SearchInProgress=Recherche en cours... @@ -744,7 +745,7 @@ SearchIntoMembers=Adhérents SearchIntoUsers=Utilisateurs SearchIntoProductsOrServices=Produits ou services SearchIntoProjects=Projets -SearchIntoTasks=Tasks +SearchIntoTasks=Tâches SearchIntoCustomerInvoices=Factures clients SearchIntoSupplierInvoices=Factures fournisseurs SearchIntoCustomerOrders=Commandes clients @@ -755,4 +756,4 @@ SearchIntoInterventions=Interventions SearchIntoContracts=Contrats SearchIntoCustomerShipments=Expéditions clients SearchIntoExpenseReports=Notes de frais -SearchIntoLeaves=Leaves +SearchIntoLeaves=Congés diff --git a/htdocs/langs/fr_FR/printing.lang b/htdocs/langs/fr_FR/printing.lang index b360896ed78..d079e2cb569 100644 --- a/htdocs/langs/fr_FR/printing.lang +++ b/htdocs/langs/fr_FR/printing.lang @@ -51,5 +51,5 @@ IPP_Supported=Type de média DirectPrintingJobsDesc=Cette page liste les travaux d'impression trouvés sur les imprimantes disponibles GoogleAuthNotConfigured=Configuration Google OAuth non terminé. Activer le module OAuth et entrer un Google ID/Secret GoogleAuthConfigured=Identifiants Google OAuth trouvé dans la configuration du module OAuth. -PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. -PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PrintingDriverDescprintgcp=Paramètres de configuration des drivers Google Cloud Print pour les impressions. +PrintTestDescprintgcp=List des imprimantes Google Cloud Print. diff --git a/htdocs/langs/fr_FR/projects.lang b/htdocs/langs/fr_FR/projects.lang index 25ff603108d..a395bc7dd38 100644 --- a/htdocs/langs/fr_FR/projects.lang +++ b/htdocs/langs/fr_FR/projects.lang @@ -11,8 +11,10 @@ SharedProject=Tout le monde PrivateProject=Contacts projet MyProjectsDesc=Cette vue projet est restreinte aux projets pour lesquels vous êtes un contact affecté (quel qu'en soit le type). ProjectsPublicDesc=Cette vue présente tous les projets pour lesquels vous êtes habilité à avoir une visibilité. +TasksOnProjectsPublicDesc=Cette vue affiche toutes les tâches de projets selon vos permissions utilisateur ProjectsPublicTaskDesc=Cette vue présente tous les projets et tâches pour lesquels vous êtes habilité à avoir une visibilité. ProjectsDesc=Cette vue présente tous les projets (vos habilitations vous offrant une vue exhaustive). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=Cette vue est restreinte aux projets et tâches pour lesquels vous êtes un contact affecté à au moins une tâche (quel qu'en soit le type). OnlyOpenedProject=Seuls les projets ouverts sont visibles (les projets à l'état brouillon ou fermé ne sont pas visibles). ClosedProjectsAreHidden=Les projets fermés ne sont pas visible. @@ -130,6 +132,9 @@ OpportunityProbability=Probabilité d'opportunité OpportunityProbabilityShort=Prob. opp. OpportunityAmount=Montant opportunité OpportunityAmountShort=Montant Opp. +OpportunityAmountAverageShort=montant moyen des opportunités +OpportunityAmountWeigthedShort=Montant pondéré des opportunités +WonLostExcluded=hors opportunités remportées/perdues ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Chef de projet TypeContact_project_external_PROJECTLEADER=Chef de projet diff --git a/htdocs/langs/fr_FR/stocks.lang b/htdocs/langs/fr_FR/stocks.lang index ed4e651d30a..f507c1503dc 100644 --- a/htdocs/langs/fr_FR/stocks.lang +++ b/htdocs/langs/fr_FR/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Enregistrer transfert ReceivingForSameOrder=Réceptions pour cette commande StockMovementRecorded=Mouvement de stocks enregistré RuleForStockAvailability=Règles d'exigence sur les stocks -StockMustBeEnoughForInvoice=Le niveau de stock doit être suffisant pour ajouter ce produit/service à la facture -StockMustBeEnoughForOrder=Le niveau de stock doit être suffisant pour ajouter ce produit/service à la commande -StockMustBeEnoughForShipment= Le niveau de stock doit être suffisant pour ajouter ce produit/service à l'expédition +StockMustBeEnoughForInvoice=Le niveau de stock doit être suffisant pour ajouter ce produit/service à la facture (la vérification est faite sur le stock réel lors de l'ajout de la ligne de facture, quelquesoit la règle de modification automatique de stock) +StockMustBeEnoughForOrder=Le niveau de stock doit être suffisant pour ajouter ce produit/service à la commande (la vérification est faite sur le stock réel lors de l'ajout de la ligne de commande, quelquesoit la règle de modification automatique de stock) +StockMustBeEnoughForShipment= Le niveau de stock doit être suffisant pour ajouter ce produit/service à l'expédition (la vérification est faite sur le stock réel lors de l'ajout de la ligne à l'expédition, quelquesoit la règle de modification automatique de stock) MovementLabel=Libellé du mouvement InventoryCode=Code mouvement ou inventaire IsInPackage=Inclus dans un package +WarehouseAllowNegativeTransfer=Le stock peut être négatif +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Afficher entrepôt MovementCorrectStock=Correction du stock pour le produit %s MovementTransferStock=Transfert de stock du produit %s dans un autre entrepôt diff --git a/htdocs/langs/fr_FR/supplier_proposal.lang b/htdocs/langs/fr_FR/supplier_proposal.lang index 8b0f343b128..8ecdcf63d11 100644 --- a/htdocs/langs/fr_FR/supplier_proposal.lang +++ b/htdocs/langs/fr_FR/supplier_proposal.lang @@ -12,7 +12,7 @@ RequestsOpened=Demandes de prix ouvertes SupplierProposalArea=Zone des propositions de fournisseurs SupplierProposalShort=Proposition commerciale fournisseur SupplierProposals=Propositions commerciales founisseurs -SupplierProposalsShort=Supplier proposals +SupplierProposalsShort=Propositions commerciale fournisseurs NewAskPrice=Nouvelle demande de prix ShowSupplierProposal=Afficher demande de prix AddSupplierProposal=Créer une demande de prix diff --git a/htdocs/langs/fr_FR/website.lang b/htdocs/langs/fr_FR/website.lang index 66ca6b6bcb8..2769e144254 100644 --- a/htdocs/langs/fr_FR/website.lang +++ b/htdocs/langs/fr_FR/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=Pré-visualiser le site dans un nouvel onglet ViewPageInNewTab=Pré-visualiser la page dans un nouvel onglet SetAsHomePage=Définir comme page d'accueil RealURL=URL réelle +ViewWebsiteInProduction=Pré-visualiser le site web en utilisant l'URL de la page d'accueil +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/he_IL/admin.lang b/htdocs/langs/he_IL/admin.lang index 3b910d8f3b5..0ae7e3087e7 100644 --- a/htdocs/langs/he_IL/admin.lang +++ b/htdocs/langs/he_IL/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=משתמשים להקות @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Loan Module520Desc=Management of loans Module600Name=הודעות -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=תרומות Module700Desc=התרומה של ההנהלה Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=חברות מודול ההתקנה CompanyCodeChecker=מודול לדור הצדדים 3 קוד ובדיקת (הלקוח או הספק) AccountCodeManager=מודול הנהלת חשבונות לדור קוד (הלקוח או הספק) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=תבניות מסמכים DocumentModelOdt=צור מסמכים מתבניות OpenDocuments (. ODT קבצים של אופן אופיס, KOffice, TextEdit, ...) WatermarkOnDraft=סימן מים על מסמך טיוטה @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/he_IL/bills.lang b/htdocs/langs/he_IL/bills.lang index 3cd35311f82..9132ff84224 100644 --- a/htdocs/langs/he_IL/bills.lang +++ b/htdocs/langs/he_IL/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/he_IL/companies.lang b/htdocs/langs/he_IL/companies.lang index 874a30a1d1c..afb6b95359e 100644 --- a/htdocs/langs/he_IL/companies.lang +++ b/htdocs/langs/he_IL/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Language by default VATIsUsed=VAT is used VATIsNotUsed=VAT is not used CopyAddressFromSoc=Fill address with thirdparty address +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE is used @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organization FiscalYearInformation=Information on the fiscal year FiscalMonthStart=Starting month of the fiscal year -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=List of suppliers ListProspectsShort=List of prospects ListCustomersShort=List of customers diff --git a/htdocs/langs/he_IL/contracts.lang b/htdocs/langs/he_IL/contracts.lang index ea4dcc587a3..09fd68b6d69 100644 --- a/htdocs/langs/he_IL/contracts.lang +++ b/htdocs/langs/he_IL/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Not expired ServiceStatusLate=Running, expired ServiceStatusLateShort=Expired ServiceStatusClosed=Closed +ShowContractOfService=Show contract of service Contracts=חוזים ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracts and line of contracts diff --git a/htdocs/langs/he_IL/errors.lang b/htdocs/langs/he_IL/errors.lang index 9276b542ad7..364d60bf6b8 100644 --- a/htdocs/langs/he_IL/errors.lang +++ b/htdocs/langs/he_IL/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/he_IL/install.lang b/htdocs/langs/he_IL/install.lang index 3e24b0aa6ad..ba325ef87d8 100644 --- a/htdocs/langs/he_IL/install.lang +++ b/htdocs/langs/he_IL/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=It is recommanded to use a directory outside of your dir LoginAlreadyExists=Already exists DolibarrAdminLogin=Dolibarr admin login AdminLoginAlreadyExists=Dolibarr administrator account '%s' already exists. Go back, if you want to create another one. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, to avoid using install tools again, you should add a file called install.lock into Dolibarr document directory, in order to avoid malicious use of it. FunctionNotAvailableInThisPHP=Not available on this PHP ChoosedMigrateScript=Choose migration script diff --git a/htdocs/langs/he_IL/mails.lang b/htdocs/langs/he_IL/mails.lang index 564912c13cc..4bd165d2015 100644 --- a/htdocs/langs/he_IL/mails.lang +++ b/htdocs/langs/he_IL/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=No email notifications are planned for this event and ANotificationsWillBeSent=1 notification will be sent by email SomeNotificationsWillBeSent=%s notifications will be sent by email AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=List all email notifications sent MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/he_IL/main.lang b/htdocs/langs/he_IL/main.lang index 26630c81793..279b751bb9c 100644 --- a/htdocs/langs/he_IL/main.lang +++ b/htdocs/langs/he_IL/main.lang @@ -84,6 +84,7 @@ SeeAbove=See above HomeArea=Home area LastConnexion=Last connection PreviousConnexion=Previous connection +PreviousValue=Previous value ConnectedOnMultiCompany=Connected on environment ConnectedSince=Connected since AuthenticationMode=Authentification mode diff --git a/htdocs/langs/he_IL/projects.lang b/htdocs/langs/he_IL/projects.lang index 3aeca2b2183..8cfdb2e4cbd 100644 --- a/htdocs/langs/he_IL/projects.lang +++ b/htdocs/langs/he_IL/projects.lang @@ -11,8 +11,10 @@ SharedProject=Everybody PrivateProject=Project contacts MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type). ProjectsPublicDesc=This view presents all projects you are allowed to read. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=This view presents all projects (your user permissions grant you permission to view everything). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=מנהל הפרויקט TypeContact_project_external_PROJECTLEADER=מנהל הפרויקט diff --git a/htdocs/langs/he_IL/stocks.lang b/htdocs/langs/he_IL/stocks.lang index 1f7d11cd0a6..57f3a7c66c6 100644 --- a/htdocs/langs/he_IL/stocks.lang +++ b/htdocs/langs/he_IL/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Show warehouse MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/he_IL/website.lang b/htdocs/langs/he_IL/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/he_IL/website.lang +++ b/htdocs/langs/he_IL/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/hr_HR/admin.lang b/htdocs/langs/hr_HR/admin.lang index d0a3fe31e17..370eba7890f 100644 --- a/htdocs/langs/hr_HR/admin.lang +++ b/htdocs/langs/hr_HR/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Users & groups @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Loan Module520Desc=Management of loans Module600Name=Notifications -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Donations Module700Desc=Donation management Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Companies module setup CompanyCodeChecker=Module for third parties code generation and checking (customer or supplier) AccountCodeManager=Module for accountancy code generation (customer or supplier) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Documents templates DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Watermark on draft document @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/hr_HR/bills.lang b/htdocs/langs/hr_HR/bills.lang index c36c8a1c87b..5f3ec178a0e 100644 --- a/htdocs/langs/hr_HR/bills.lang +++ b/htdocs/langs/hr_HR/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/hr_HR/companies.lang b/htdocs/langs/hr_HR/companies.lang index f9294b9b3e2..acb706d6bac 100644 --- a/htdocs/langs/hr_HR/companies.lang +++ b/htdocs/langs/hr_HR/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Primarni jezik VATIsUsed=Porez se koristi VATIsNotUsed=Porez se ne korisit CopyAddressFromSoc=Fill address with thirdparty address +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE is used @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organizacija FiscalYearInformation=Informacije za fiskalnu godinu FiscalMonthStart=Početni mjesec fiskalne godine -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=Lista dobavljača ListProspectsShort=Lista potencijalnih kupaca ListCustomersShort=Lista kupaca diff --git a/htdocs/langs/hr_HR/contracts.lang b/htdocs/langs/hr_HR/contracts.lang index bb3e9cd4e27..33c6d0407bb 100644 --- a/htdocs/langs/hr_HR/contracts.lang +++ b/htdocs/langs/hr_HR/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Nedovršen ServiceStatusLate=Završen ServiceStatusLateShort=Završen ServiceStatusClosed=Zatvoren +ShowContractOfService=Show contract of service Contracts=Ugovori ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracts and line of contracts diff --git a/htdocs/langs/hr_HR/errors.lang b/htdocs/langs/hr_HR/errors.lang index 9276b542ad7..364d60bf6b8 100644 --- a/htdocs/langs/hr_HR/errors.lang +++ b/htdocs/langs/hr_HR/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/hr_HR/install.lang b/htdocs/langs/hr_HR/install.lang index 56cf882e178..ce41ae75a30 100644 --- a/htdocs/langs/hr_HR/install.lang +++ b/htdocs/langs/hr_HR/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=It is recommanded to use a directory outside of your dir LoginAlreadyExists=Already exists DolibarrAdminLogin=Dolibarr admin login AdminLoginAlreadyExists=Dolibarr administrator account '%s' already exists. Go back, if you want to create another one. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, to avoid using install tools again, you should add a file called install.lock into Dolibarr document directory, in order to avoid malicious use of it. FunctionNotAvailableInThisPHP=Not available on this PHP ChoosedMigrateScript=Choose migration script diff --git a/htdocs/langs/hr_HR/mails.lang b/htdocs/langs/hr_HR/mails.lang index 0a945f5fd3f..ffe7d5735d1 100644 --- a/htdocs/langs/hr_HR/mails.lang +++ b/htdocs/langs/hr_HR/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=No email notifications are planned for this event and ANotificationsWillBeSent=1 notification will be sent by email SomeNotificationsWillBeSent=%s notifications will be sent by email AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=List all email notifications sent MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/hr_HR/main.lang b/htdocs/langs/hr_HR/main.lang index 01005809f3a..368b9a6f41c 100644 --- a/htdocs/langs/hr_HR/main.lang +++ b/htdocs/langs/hr_HR/main.lang @@ -84,6 +84,7 @@ SeeAbove=See above HomeArea=Home area LastConnexion=Last connection PreviousConnexion=Previous connection +PreviousValue=Previous value ConnectedOnMultiCompany=Connected on environment ConnectedSince=Connected since AuthenticationMode=Authentification mode diff --git a/htdocs/langs/hr_HR/projects.lang b/htdocs/langs/hr_HR/projects.lang index c991330214c..30e2699a30c 100644 --- a/htdocs/langs/hr_HR/projects.lang +++ b/htdocs/langs/hr_HR/projects.lang @@ -11,8 +11,10 @@ SharedProject=Everybody PrivateProject=Project contacts MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type). ProjectsPublicDesc=This view presents all projects you are allowed to read. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=This view presents all projects (your user permissions grant you permission to view everything). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Project leader TypeContact_project_external_PROJECTLEADER=Project leader diff --git a/htdocs/langs/hr_HR/stocks.lang b/htdocs/langs/hr_HR/stocks.lang index ef47e3f3ce7..8d2d1739a69 100644 --- a/htdocs/langs/hr_HR/stocks.lang +++ b/htdocs/langs/hr_HR/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Show warehouse MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/hr_HR/website.lang b/htdocs/langs/hr_HR/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/hr_HR/website.lang +++ b/htdocs/langs/hr_HR/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/hu_HU/accountancy.lang b/htdocs/langs/hu_HU/accountancy.lang index 245916407a8..d06e470377f 100644 --- a/htdocs/langs/hu_HU/accountancy.lang +++ b/htdocs/langs/hu_HU/accountancy.lang @@ -6,10 +6,10 @@ ACCOUNTING_EXPORT_GLOBAL_ACCOUNT=Export globális számlákkal ACCOUNTING_EXPORT_LABEL=Export label ACCOUNTING_EXPORT_AMOUNT=Export amount ACCOUNTING_EXPORT_DEVISE=Export currency -Selectformat=Select the format for the file -ACCOUNTING_EXPORT_PREFIX_SPEC=Specify the prefix for the file name +Selectformat=Fájl formátumának kiválasztása +ACCOUNTING_EXPORT_PREFIX_SPEC=Fájlnév előtagjának kiválasztása -ConfigAccountingExpert=Configuration of the module accounting expert +ConfigAccountingExpert=A könyvvizsgáló szakértő modul beállítása Journaux=Naplók JournalFinancial=Pénzügyi mérleg naplók BackToChartofaccounts=Return chart of accounts @@ -160,8 +160,8 @@ OptionModeProductBuyDesc=Show all products with no accounting account defined fo ## Dictionary Range=Range of accounting account -Calculated=Calculated -Formula=Formula +Calculated=Számított +Formula=Képlet ## Error ErrorNoAccountingCategoryForThisCountry=No accounting category are available for this country diff --git a/htdocs/langs/hu_HU/admin.lang b/htdocs/langs/hu_HU/admin.lang index a7c4d87c0c5..a415e54b2db 100644 --- a/htdocs/langs/hu_HU/admin.lang +++ b/htdocs/langs/hu_HU/admin.lang @@ -2,8 +2,8 @@ Foundation=Alapítvány Version=Verzió VersionProgram=Programverzió -VersionLastInstall=Initial install version -VersionLastUpgrade=Latest version upgrade +VersionLastInstall=Telepített verzió +VersionLastUpgrade=Utolsó frissítés verziója VersionExperimental=Kísérleti VersionDevelopment=Fejlesztői VersionUnknown=Ismeretlen @@ -325,7 +325,7 @@ HideAnyVATInformationOnPDF=Hide kapcsolatos minden információt áfa generált HideDescOnPDF=Termékleírás elrejtése a generált PDF fájlban HideRefOnPDF=Termékreferencia elrejtése a generált PDF fájlban HideDetailsOnPDF=Hide product lines details on generated PDF -PlaceCustomerAddressToIsoLocation=Use french standard position (La Poste) for customer address position +PlaceCustomerAddressToIsoLocation=A francia címzésminta használata (La Poste) a vevő címének elhelyezésére Library=Könyvtár UrlGenerationParameters=URL paraméterek biztosítása SecurityTokenIsUnique=Használjunk olyan egyedi securekey paraméter az URL @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Felhasználók és csoportok @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Loan Module520Desc=Management of loans Module600Name=Értesítések -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Adományok Module700Desc=Adomány vezetése Module770Name=Expense reports @@ -485,8 +488,8 @@ Module1780Name=Címkék/kategóriák Module1780Desc=Create tags/category (products, customers, suppliers, contacts or members) Module2000Name=WYSIWYG szerkesztő Module2000Desc=Allow to edit some text area using an advanced editor (Based on CKEditor) -Module2200Name=Dynamic Prices -Module2200Desc=Enable the usage of math expressions for prices +Module2200Name=Dinamikus árak +Module2200Desc=Matematikai kifejezések engedélyezése az árak meghatározásához Module2300Name=Cron Module2300Desc=Scheduled job management Module2400Name=Agenda/Events @@ -496,7 +499,7 @@ Module2500Desc=Mentés és dokumentumok megosztása Module2600Name=API/Web services (SOAP server) Module2600Desc=Enable the Dolibarr SOAP server providing API services Module2610Name=API/Web services (REST server) -Module2610Desc=Enable the Dolibarr REST server providing API services +Module2610Desc=A Dolibarr REST API szerver engedélyezése Module2660Name=Call WebServices (SOAP client) Module2660Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -512,8 +515,8 @@ Module5000Name=Multi-cég Module5000Desc=Lehetővé teszi, hogy több vállalat kezelése Module6000Name=Workflow Module6000Desc=Workflow management -Module10000Name=Websites -Module10000Desc=Create public websites with a WYSIWG editor. Just setup your web server to point to the dedicated directory to have it online on the Internet. +Module10000Name=Weboldalak +Module10000Desc=Publikus weboldalak készítése WYSIWG szerkesztővel. A kijelölt könyvtárra mutató webszerver konfigurációval Interneten is megjelenítheti az oldalakat. Module20000Name=Leave Requests management Module20000Desc=Declare and follow employees leaves requests Module39000Name=Product lot @@ -534,8 +537,8 @@ Module59000Name=Margins Module59000Desc=Module to manage margins Module60000Name=Jogosultságok Module60000Desc=Module to manage commissions -Module63000Name=Resources -Module63000Desc=Manage resources (printers, cars, room, ...) you can then share into events +Module63000Name=Erőforrások +Module63000Desc=Erőforrások kezelése (nyomtatók, autók, helyiségek ...) melyeket események kapcsán oszthat meg Permission11=Olvassa vevői számlák Permission12=Létrehozza / módosítja vevői számlák Permission13=Unvalidate vevői számlák @@ -804,7 +807,7 @@ DictionaryAccountancyCategory=Accounting categories DictionaryAccountancysystem=Models for chart of accounts DictionaryEMailTemplates=E-mail sablonok DictionaryUnits=Units -DictionaryProspectStatus=Prospection status +DictionaryProspectStatus=Ajánlat állapota DictionaryHolidayTypes=Types of leaves DictionaryOpportunityStatus=Opportunity status for project/lead SetupSaved=Beállítás mentett @@ -842,9 +845,9 @@ LocalTax2IsNotUsedExampleES= Spanyolországban vannak bussines nem adóköteles CalcLocaltax=Reports on local taxes CalcLocaltax1=Sales - Purchases CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases -CalcLocaltax2=Purchases +CalcLocaltax2=Beszerzések CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases -CalcLocaltax3=Sales +CalcLocaltax3=Eladások CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales LabelUsedByDefault=Label az alap, ha nincs fordítás megtalálható a kód LabelOnDocuments=Címke dokumentumok @@ -885,7 +888,7 @@ Skin=Bőr téma DefaultSkin=Alapértelmezett skin téma MaxSizeList=Maximális hossza lista DefaultMaxSizeList=Default max length for lists -DefaultMaxSizeShortList=Default max length for short lists (ie in customer card) +DefaultMaxSizeShortList=Alapértelmezett maximális karakter-hossz egy rövid listában (pl. vevő adatlapon) MessageOfDay=A nap üzenete MessageLogin=Belépés oldalra üzenet PermanentLeftSearchForm=Állandó keresési űrlapot baloldali menüben @@ -924,7 +927,7 @@ Delays_MAIN_DELAY_CUSTOMER_BILLS_UNPAYED=Tolerence késleltetést (nap) előtt f Delays_MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE=Tolerancia késleltetést (nap) előtt folyamatban lévő figyelmeztető banki megbékélés Delays_MAIN_DELAY_MEMBERS=Tolerancia késleltetést (nap) előtt figyelmeztető jelzés késedelmes tagdíj Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Tolerancia késedelem (nap) előtt figyelmeztetést ellenőrzések betét csinálni -Delays_MAIN_DELAY_EXPENSEREPORTS=Tolerance delay (in days) before alert for expense reports to approve +Delays_MAIN_DELAY_EXPENSEREPORTS=Tűréshatár értéke (napokban) mielőtt figyelmeztetést küld a kiadási összesítések elfogadtatására SetupDescription1=The setup area is for initial setup parameters before starting to use Dolibarr. SetupDescription2=The two most important setup steps are the first two in the setup menu on the left: Company/foundation setup page and Modules setup page: SetupDescription3=Parameters in menu Setup -> Company/foundation are required because submitted data are used on Dolibarr displays and to customize the default behaviour of the software (for country-related features for example). @@ -1053,9 +1056,9 @@ GetBarCode=Get barcode ##### Module password generation PasswordGenerationStandard=Vissza a jelszót generált szerint Belső Dolibarr algoritmus: 8 karakter tartalmazó közös számokat és karaktereket kisbetűvel. PasswordGenerationNone=Do not suggest any generated password. Password must be typed in manually. -PasswordGenerationPerso=Return a password according to your personally defined configuration. -SetupPerso=According to your configuration -PasswordPatternDesc=Password pattern description +PasswordGenerationPerso=Egy jelszóval tér vissza a személyes beállításoknak megfelelően. +SetupPerso=A beállításainak megfelelően +PasswordPatternDesc=A jelszó minta leírása ##### Users setup ##### RuleForGeneratedPasswords=Szabály generálni jelszavakat, vagy javasolt validálása jelszavak DisableForgetPasswordLinkOnLogonPage=Ne jelenjen meg a link "Elfelejtett jelszó" a belépés oldalra @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Cégek modul beállítása CompanyCodeChecker=Modul harmadik felek code-termelés és ellenőrzés (ügyfél vagy szállító) AccountCodeManager=Modul a nyilvántartási kódot generációs (ügyfél vagy szállító) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Dokumentumok sablonok DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Vízjel dokumentum tervezetét @@ -1509,8 +1515,8 @@ NbNumMin=Minimum number of numeric characters NbSpeMin=Minimum number of special characters NbIteConsecutive=Maximum number of repeating same characters NoAmbiCaracAutoGeneration=Do not use ambiguous characters ("1","l","i","|","0","O") for automatic generation -SalariesSetup=Setup of module salaries -SortOrder=Sort order +SalariesSetup=Alkalmazottak modul beállítása +SortOrder=Rendezés iránya Format=Formátum TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type IncludePath=Include path (defined into variable %s) @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/hu_HU/agenda.lang b/htdocs/langs/hu_HU/agenda.lang index 1d6d8375950..ce9b24c392c 100644 --- a/htdocs/langs/hu_HU/agenda.lang +++ b/htdocs/langs/hu_HU/agenda.lang @@ -1,13 +1,13 @@ # Dolibarr language file - Source file is en_US - agenda IdAgenda=ID event -Actions=Cselekvés +Actions=Cselekvések Agenda=Napirend Agendas=Napirendek Calendar=Naptár -LocalAgenda=Internal calendar -ActionsOwnedBy=Event owned by +LocalAgenda=Belső naptár +ActionsOwnedBy=Esemény gazdája ActionsOwnedByShort=Owner -AffectedTo=Befolyásolhatja +AffectedTo=Hozzárendelve Event=Event Events=Események EventsNb=Események száma @@ -19,18 +19,18 @@ MenuToDoActions=Minden nem teljesített cselekvés MenuDoneActions=Minden megszüntetett cselekvés MenuToDoMyActions=Nem teljesített cselekvéseim MenuDoneMyActions=Megszüntetett cselekvéseim -ListOfEvents=List of events (internal calendar) +ListOfEvents=Események listája (belső naptár) ActionsAskedBy=Cselekvéseket rögzítette -ActionsToDoBy=Eseményeket befolyásolhatja -ActionsDoneBy=Actions done by +ActionsToDoBy=Események hozzárendelve +ActionsDoneBy=Végrehajtotta ActionAssignedTo=Event assigned to ViewCal=Naptár megtekintése ViewDay=Nap nézet ViewWeek=Hét nézet -ViewPerUser=Per user view +ViewPerUser=Felhasználókénti nézet ViewPerType=Per type view AutoActions= Napirend automatikus kitöltése -AgendaAutoActionDesc= Define here events for which you want Dolibarr to create automatically an event in agenda. If nothing is checked, only manual actions will be included in logged and visible into agenda. Automatic tracking of business actions done on objects (validation, status change) will not be saved. +AgendaAutoActionDesc= Olyan eseményeket definiálhat itt melyeket a Dolibarr automatikusan bejegyez a naptárba. Ha semmi nincs bejelölve, csak a felhasználó által létrehozott események lesznek naplózva és válnak láthatóvá a naptárban. Az objektumokon végrehajtott üzleti folyamatok automatikus követése (jóváhagyás, állapotváltozás) nem kerülnek mentésre. AgendaSetupOtherDesc= Ez az oldal lehetővé teszi a napirend modul konfigurálását. AgendaExtSitesDesc=Ez az oldal lehetővé teszi, hogy nyilvánítsa külső forrásokat naptárak látják eseményeket Dolibarr napirenden. ActionsEvents=Events for which Dolibarr will create an action in agenda automatically @@ -44,15 +44,15 @@ OrderDeliveredInDolibarr=Order %s classified delivered OrderCanceledInDolibarr=Rendelés %s törölt OrderBilledInDolibarr=Order %s classified billed OrderApprovedInDolibarr=Rendelés %s jóváhagyott -OrderRefusedInDolibarr=Order %s refused +OrderRefusedInDolibarr=A %s megrendelés elutasítva OrderBackToDraftInDolibarr=Rendelés %s menj vissza vázlat ProposalSentByEMail=Üzleti ajánlat %s postáztuk OrderSentByEMail=Ügyfél érdekében %s postáztuk InvoiceSentByEMail=Az ügyfél számlát postáztuk %s -SupplierOrderSentByEMail=Szállító érdekében %s postáztuk -SupplierInvoiceSentByEMail=Szállító számlát postáztuk %s -ShippingSentByEMail=Shipment %s sent by EMail -ShippingValidated= Shipment %s validated +SupplierOrderSentByEMail=A %s beszállítói megrendelő postázva +SupplierInvoiceSentByEMail=A %s beszállítói számla postázva +ShippingSentByEMail=A %s szállítólevél postázva +ShippingValidated= A %s szállítás jóváhagyva InterventionSentByEMail=Intervention %s sent by EMail ProposalDeleted=Proposal deleted OrderDeleted=Order deleted @@ -65,24 +65,24 @@ AgendaUrlOptions2=login=%s to restrict output to actions created by or as AgendaUrlOptions3=logina=%s to restrict output to actions owned by a user %s. AgendaUrlOptions4=logint=%s kimenet szükítése a %s felhasználó érintő cselekvésekre. AgendaUrlOptionsProject=project=PROJECT_ID to restrict output to actions associated to project PROJECT_ID. -AgendaShowBirthdayEvents=Show birthdays of contacts -AgendaHideBirthdayEvents=Hide birthdays of contacts +AgendaShowBirthdayEvents=Mutassa a születésnapokat a névjegyzékben +AgendaHideBirthdayEvents=Rejtse el a születésnapokat a névjegyzékben Busy=Elfoglalt ExportDataset_event1=List of agenda events -DefaultWorkingDays=Default working days range in week (Example: 1-5, 1-6) -DefaultWorkingHours=Default working hours in day (Example: 9-18) +DefaultWorkingDays=A hét munkanapjai alapértelmezés szerint (pl. 1-5, 1-6) +DefaultWorkingHours=A napi munkaidő alapértelmezése (pl. 9-18) # External Sites ical ExportCal=Export naptár -ExtSites=Importálása külső naptárak +ExtSites=Külső naptárak importálása ExtSitesEnableThisTool=Show external calendars (defined into global setup) into agenda. Does not affect external calendars defined by users. -ExtSitesNbOfAgenda=Száma naptárak +ExtSitesNbOfAgenda=Naptárak száma AgendaExtNb=Naptár nb %s -ExtSiteUrlAgenda=URL eléréséhez. ICal fájl +ExtSiteUrlAgenda=Az iCal fájl URL elérése ExtSiteNoLabel=Nincs leírás VisibleTimeRange=Visible time range VisibleDaysRange=Visible days range AddEvent=Esemény létrehozása -MyAvailability=My availability +MyAvailability=Elérhetőségem ActionType=Event type DateActionBegin=Start event date CloneAction=Clone event diff --git a/htdocs/langs/hu_HU/bills.lang b/htdocs/langs/hu_HU/bills.lang index 8a5e8e69674..0e54e5886a3 100644 --- a/htdocs/langs/hu_HU/bills.lang +++ b/htdocs/langs/hu_HU/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Utolsó kapcsolódó számla WarningBillExist=Warning, one or more invoice already exist MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Fizetési megjegyzés ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/hu_HU/bookmarks.lang b/htdocs/langs/hu_HU/bookmarks.lang index b8724ab91bf..86f3a40c02a 100644 --- a/htdocs/langs/hu_HU/bookmarks.lang +++ b/htdocs/langs/hu_HU/bookmarks.lang @@ -14,5 +14,5 @@ BehaviourOnClick=Viselkedés, ha egy URL elérési útra kattintott CreateBookmark=Könyvjelző lértehozása SetHereATitleForLink=Állítsa be a címet a könyvjelzőhöz UseAnExternalHttpLinkOrRelativeDolibarrLink=Használjon egy külső http URL-t vagy relatív URL Dolibarr -ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Choose if linked page must open in new window or not +ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Válassza ki, hogy a hivatkozott oldal új ablakban nyíljon meg vagy az eredetiben BookmarksManagement=Könyvjelzők kezelése diff --git a/htdocs/langs/hu_HU/boxes.lang b/htdocs/langs/hu_HU/boxes.lang index ed11b29d195..090dd255263 100644 --- a/htdocs/langs/hu_HU/boxes.lang +++ b/htdocs/langs/hu_HU/boxes.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - boxes BoxLastRssInfos=Rss Információk -BoxLastProducts=Latest %s products/services -BoxProductsAlertStock=Stock alerts for products -BoxLastProductsInContract=Latest %s contracted products/services -BoxLastSupplierBills=Latest supplier invoices -BoxLastCustomerBills=Latest customer invoices -BoxOldestUnpaidCustomerBills=Oldest unpaid customer invoices -BoxOldestUnpaidSupplierBills=Oldest unpaid supplier invoices -BoxLastProposals=Latest commercial proposals +BoxLastProducts=Legutóbbi %s termékek/szolgáltatások +BoxProductsAlertStock=Termék-készlet figyelmeztetések +BoxLastProductsInContract=Legutóbbi %s termék/szolgáltatás megállapodás +BoxLastSupplierBills=Legutóbbi beszállítói számlák +BoxLastCustomerBills=Legutóbbi ügyfél számlák +BoxOldestUnpaidCustomerBills=Legrégebbi rendezetlen ügyfél számla +BoxOldestUnpaidSupplierBills=Legrégebbi rendezetlen beszállítói számla +BoxLastProposals=Legutóbbi kereskedelmi ajánlatok BoxLastProspects=Latest modified prospects -BoxLastCustomers=Latest modified customers -BoxLastSuppliers=Latest modified suppliers +BoxLastCustomers=Legutóbbi módosított ügyfelek +BoxLastSuppliers=Legutóbbi módosított beszállítók BoxLastCustomerOrders=Latest customer orders BoxLastActions=Latest actions BoxLastContracts=Latest contracts @@ -73,7 +73,7 @@ NoTooLowStockProducts=No product under the low stock limit BoxProductDistribution=Products/Services distribution BoxProductDistributionFor=Distribution of %s for %s ForCustomersInvoices=Ügyfél számlák -ForCustomersOrders=Customers orders +ForCustomersOrders=Ügyfél megrendelések ForProposals=Javaslatok LastXMonthRolling=The latest %s month rolling ChooseBoxToAdd=Add widget to your dashboard... diff --git a/htdocs/langs/hu_HU/cashdesk.lang b/htdocs/langs/hu_HU/cashdesk.lang index c7ec6a493f4..c6a25851bde 100644 --- a/htdocs/langs/hu_HU/cashdesk.lang +++ b/htdocs/langs/hu_HU/cashdesk.lang @@ -32,4 +32,4 @@ ShowStock=Mutasd raktár DeleteArticle=Kattintson, hogy távolítsa el ezt a cikket FilterRefOrLabelOrBC=Keresés (Ref/Cédula) UserNeedPermissionToEditStockToUsePos=Számla létrehozásánál készlet csökkentést kér, tehát az értékesítési hely kasszánál a felhasználónak készlet módosítási engedéllyel kell rendelkeznie. -DolibarrReceiptPrinter=Dolibarr Receipt Printer +DolibarrReceiptPrinter=Dolibarr Nyugta Nyomtató diff --git a/htdocs/langs/hu_HU/commercial.lang b/htdocs/langs/hu_HU/commercial.lang index 48eff66923c..bed8e86efdc 100644 --- a/htdocs/langs/hu_HU/commercial.lang +++ b/htdocs/langs/hu_HU/commercial.lang @@ -52,17 +52,17 @@ ActionAC_FAX=Fax küldés ActionAC_PROP=Ajánlat küldése emailben ActionAC_EMAIL=Email küldése ActionAC_RDV=Találkozó -ActionAC_INT=Intervention on site +ActionAC_INT=Helyszíni beavatkozás ActionAC_FAC=Számla küldése ügyfélnek levélben ActionAC_REL=Számla küldése ügyfélnek levélben (emlékeztető) ActionAC_CLO=Bezár ActionAC_EMAILING=Tömeges email küldés ActionAC_COM=Ügyfél rendelése elküldése levélben -ActionAC_SHIP=Küldje hajózás mail +ActionAC_SHIP=Fuvarlevél küldése levélben ActionAC_SUP_ORD=Beszállítói rendelés elküldése levélben ActionAC_SUP_INV=Beszállítói számla elküldése levélben ActionAC_OTH=Más -ActionAC_OTH_AUTO=Other (automatically inserted events) +ActionAC_OTH_AUTO=Más (automatikusan beillesztett események) ActionAC_MANUAL=Kézzel hozzáadott események ActionAC_AUTO=Automatikusan generált események Stats=Eladási statisztikák diff --git a/htdocs/langs/hu_HU/companies.lang b/htdocs/langs/hu_HU/companies.lang index 34640c94e1d..005fa4fa066 100644 --- a/htdocs/langs/hu_HU/companies.lang +++ b/htdocs/langs/hu_HU/companies.lang @@ -74,11 +74,12 @@ DefaultLang=Nyelv alapértelmezés szerint VATIsUsed=ÁFÁ-t használandó VATIsNotUsed=ÁFÁ-t nem használandó CopyAddressFromSoc=Cím kitöltése a partner címével +ThirdpartyNotCustomerNotSupplierSoNoRef=A harmadik fél nem vevő sem szállító, nincs elérhető hivatkozási objektum ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE használandó LocalTax1IsNotUsedES= RE nem használandó -LocalTax2IsUsed=Use third tax +LocalTax2IsUsed=Helyi adó használata LocalTax2IsUsedES= IRPF használandó LocalTax2IsNotUsedES= IRPF nem használandó LocalTax1ES=RE @@ -187,8 +188,8 @@ ProfId3IN=Szakma ID 3 (SRVC TAX) ProfId4IN=Szakma Id 4 ProfId5IN=Szakma Id 5 ProfId6IN=- -ProfId1LU=Id. prof. 1 (R.C.S. Luxembourg) -ProfId2LU=Id. prof. 2 (Business permit) +ProfId1LU=Technikai azonosító 1 (Luxemburg) +ProfId2LU=Technikai azonosító 2 (Üzlet engedélye) ProfId3LU=- ProfId4LU=- ProfId5LU=- @@ -288,7 +289,7 @@ ShowContact=Kapcsolat mutatása ContactsAllShort=Minden (nincs szűrő) ContactType=Kapcsolat típusa ContactForOrders=Megrendelés kapcsolattartó -ContactForOrdersOrShipments=Order's or shipment's contact +ContactForOrdersOrShipments=Megrendelő vagy szállító kapcsolattartója ContactForProposals=Jelentkező kapcsolattartó ContactForContracts=Szerződéses kapcsolattartó ContactForInvoices=Számla kapcsolattartó @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Szervezet FiscalYearInformation=Információ a pénzügyi évről FiscalMonthStart=Pénzügyi év kezdő hónapja -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=Szállítók listája ListProspectsShort=Jelenkezők listája ListCustomersShort=Vevők listája @@ -388,6 +390,6 @@ MergeOriginThirdparty=Duplikált partner (a partnert törlésre kerül) MergeThirdparties=Partnerek egyesítése ConfirmMergeThirdparties=Biztos hogy egyesíteni szeretnéd ezt a partnert az aktuális partnerrel? Minden kapcsolt objektum (számlák, megrendelések, ...) átkerülnek a jelenlegi partnerhez, így a másik törölhetővé válik. ThirdpartiesMergeSuccess=Partnerek egyesítése megtörtént -SaleRepresentativeLogin=Login of sales representative -SaleRepresentativeFirstname=Firstname of sales representative -SaleRepresentativeLastname=Lastname of sales representative +SaleRepresentativeLogin=Kereskedelmi képviselő bejelentkezés +SaleRepresentativeFirstname=Kereskedelmi képviselő keresztneve +SaleRepresentativeLastname=Kereskedelmi képviselő családi neve diff --git a/htdocs/langs/hu_HU/compta.lang b/htdocs/langs/hu_HU/compta.lang index 5a3fd96667e..0516b51214d 100644 --- a/htdocs/langs/hu_HU/compta.lang +++ b/htdocs/langs/hu_HU/compta.lang @@ -2,9 +2,9 @@ MenuFinancial=Pénzügyi TaxModuleSetupToModifyRules=Go to Taxes module setup to modify rules for calculation TaxModuleSetupToModifyRulesLT=Go to Company setup to modify rules for calculation -OptionMode=Opció a nyilvántartási -OptionModeTrue=Opció Input-Output -OptionModeVirtual=Option Credits-terhelések +OptionMode=Könyvelési opció +OptionModeTrue=Bevételek - Kiadások opció +OptionModeVirtual=Követelések - Tartozások opció OptionModeTrueDesc=Ebben az összefüggésben a forgalom számított kifizetések (a kifizetések ideje). \\ NA érvényességét a számok csak akkor biztosított, ha a könyvelést is vizsgálják át az input / output A számlákon keresztül számlákat. OptionModeVirtualDesc=Ebben az összefüggésben a forgalom kiszámítása során számlákat (érvényesítés időpontja). Amikor ezek a számlák miatt, attól, hogy fizetett vagy sem, azok szerepelnek a forgalmi teljesítmény. FeatureIsSupportedInInOutModeOnly=Funkciót csak az KREDITEK-TARTOZÁSOK számviteli módban (lásd könyvelés modul konfiguráció) @@ -80,7 +80,7 @@ LT2PaymentsES=IRPF kifizetések VATPayment=Sales tax payment VATPayments=Sales tax payments VATRefund=Sales tax refund Refund -Refund=Refund +Refund=Visszatérítés SocialContributionsPayments=Social/fiscal taxes payments ShowVatPayment=Mutasd ÁFA fizetési TotalToPay=Összes fizetni @@ -166,13 +166,13 @@ DescPurchasesJournal=Vásárlások Journal InvoiceRef=Számla ref. CodeNotDef=Nem meghatározott WarningDepositsNotIncluded=Betétek számlák nem szerepelnek ebben a változatban a számviteli modul. -DatePaymentTermCantBeLowerThanObjectDate=Payment term date can't be lower than object date. +DatePaymentTermCantBeLowerThanObjectDate=A fizetés határideje nem lehet korábbi a tárgy dátumánál Pcg_version=Pcg version Pcg_type=Pcg type Pcg_subtype=Pcg subtype InvoiceLinesToDispatch=Invoice lines to dispatch -ByProductsAndServices=By products and services -RefExt=External ref +ByProductsAndServices=Termékenként és szolgáltatásonként +RefExt=Külső hiv ToCreateAPredefinedInvoice=To create a template invoice, create a standard invoice, then, without validating it, click onto button "%s". LinkedOrder=Link to order Mode1=Method 1 @@ -192,9 +192,9 @@ ConfirmCloneTax=Confirm the clone of a social/fiscal tax payment CloneTaxForNextMonth=Clone it for next month SimpleReport=Simple report AddExtraReport=Extra reports -OtherCountriesCustomersReport=Foreign customers report +OtherCountriesCustomersReport=Külföldi vásárlók összesítése BasedOnTwoFirstLettersOfVATNumberBeingDifferentFromYourCompanyCountry=Based on the two first letters of the VAT number being different from your own company's country code -SameCountryCustomersWithVAT=National customers report +SameCountryCustomersWithVAT=Hazai vásárlók összesítése BasedOnTwoFirstLettersOfVATNumberBeingTheSameAsYourCompanyCountry=Based on the two first letters of the VAT number being the same as your own company's country code LinkedFichinter=Link to an intervention ImportDataset_tax_contrib=Import social/fiscal taxes diff --git a/htdocs/langs/hu_HU/contracts.lang b/htdocs/langs/hu_HU/contracts.lang index 7e4ee07c392..11de724ccba 100644 --- a/htdocs/langs/hu_HU/contracts.lang +++ b/htdocs/langs/hu_HU/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Nem járt le ServiceStatusLate=Fut, lejárt ServiceStatusLateShort=Lejárt ServiceStatusClosed=Lezárt +ShowContractOfService=Mutassa a szolgáltatási szerződést Contracts=Szerződések ContractsSubscriptions=Szerződések / Előfizetések ContractsAndLine=Szerződések és a szerződések sorai @@ -49,8 +50,8 @@ ListOfClosedServices=Lezárt szolgáltatások listája ListOfRunningServices=Futó szolgáltatások listája NotActivatedServices=Inaktív szolgáltatások (a hitelesített szerződések között) BoardNotActivatedServices=Hitelesített szerződésekhez tartozó aktiválandó szolgáltatások -LastContracts=Latest %s contracts -LastModifiedServices=Latest %s modified services +LastContracts=Utóbbi %s szerződés +LastModifiedServices=Legutóbbi %s változás a szolgáltatásokban ContractStartDate=Kezdési dátum ContractEndDate=Befejezési dátum DateStartPlanned=Tervezett kezdési dátum diff --git a/htdocs/langs/hu_HU/errors.lang b/htdocs/langs/hu_HU/errors.lang index ec9d8d3dc5b..921feb2645e 100644 --- a/htdocs/langs/hu_HU/errors.lang +++ b/htdocs/langs/hu_HU/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/hu_HU/install.lang b/htdocs/langs/hu_HU/install.lang index 852d6a02f72..051a2f47710 100644 --- a/htdocs/langs/hu_HU/install.lang +++ b/htdocs/langs/hu_HU/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=Ajánlatos a weblap könyvtárán kívüli könyvtárat LoginAlreadyExists=Már létezik DolibarrAdminLogin=Dolibarr admin bejelentkezés AdminLoginAlreadyExists='%s' Dolibarr adminisztrátor fiók már létezik. Lépjen vissza, ha másikat szeretne létrehozni. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Figyelem, biztonsági okok miatt, amint végez a telepítés/frissítés folyamattal, annak véletlenszerű indításának elkerülésére adja hozzá az install.lock filet a Dollibar dokumentum könyvtárba, hogy elkerülje annak indítását. FunctionNotAvailableInThisPHP=Nem elérhetõ ezen a PHP verzión ChoosedMigrateScript=Migrációs szkript választása diff --git a/htdocs/langs/hu_HU/mails.lang b/htdocs/langs/hu_HU/mails.lang index daba9d580a7..a740bd37806 100644 --- a/htdocs/langs/hu_HU/mails.lang +++ b/htdocs/langs/hu_HU/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=Nincs e-mail értesítést terveznek erre az eseményr ANotificationsWillBeSent=1 értesítést küldünk e-mailben SomeNotificationsWillBeSent=%s értesítést küldünk e-mailben AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=Lista minden e-mail értesítést küldeni MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/hu_HU/main.lang b/htdocs/langs/hu_HU/main.lang index 746166da692..e4c4647b574 100644 --- a/htdocs/langs/hu_HU/main.lang +++ b/htdocs/langs/hu_HU/main.lang @@ -84,6 +84,7 @@ SeeAbove=Lásd feljebb HomeArea=Nyitólap LastConnexion=Utolsó kapocslódás PreviousConnexion=Előző kapcsolódás +PreviousValue=Previous value ConnectedOnMultiCompany=Entitáson kapcsolódva ConnectedSince=Kapcslódás kezdete AuthenticationMode=Hitelesitési mód diff --git a/htdocs/langs/hu_HU/products.lang b/htdocs/langs/hu_HU/products.lang index 3d87124345c..16ee8de0cec 100644 --- a/htdocs/langs/hu_HU/products.lang +++ b/htdocs/langs/hu_HU/products.lang @@ -12,7 +12,7 @@ Service=Szolgáltatás ProductId=Termék/Szolgáltatás azon. Create=Létrehozás Reference=Referencia -NewProduct=Ú termék +NewProduct=Új termék NewService=Új szolgáltatás ProductVatMassChange=Mass VAT change ProductVatMassChangeDesc=This page can be used to modify a VAT rate defined on products or services from a value to another. Warning, this change is done on all database. @@ -65,7 +65,7 @@ CantBeLessThanMinPrice=Az eladási ár nem lehet kisebb a minimum árnál (nett ContractStatusClosed=Lezárva ErrorProductAlreadyExists=Egy terméke ezzel a referenciával %s már létezik. ErrorProductBadRefOrLabel=Rossz érték a referenciának vagy feliratnak. -ErrorProductClone=There was a problem while trying to clone the product or service. +ErrorProductClone=A termék vagy szolgáltatás duplikálása során hiba lépett fel ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Beszállítók SupplierRef=Beszállítók ref#. @@ -112,10 +112,10 @@ ImportDataset_service_1=Szolgáltatások DeleteProductLine=Termék vonal törlése ConfirmDeleteProductLine=Biztos törölni akarja ezt a termék vonalat? ProductSpecial=Különleges -QtyMin=Minimum Qty -PriceQtyMin=Price for this min. qty (w/o discount) -VATRateForSupplierProduct=VAT Rate (for this supplier/product) -DiscountQtyMin=Default discount for qty +QtyMin=Min. mennyiség +PriceQtyMin=A min. mennyiség ára (áreng. nélkül) +VATRateForSupplierProduct=ÁFA mértéke (beszállító/termék) +DiscountQtyMin=A mennyiséghez tartozó alapértelmezett engedmény NoPriceDefinedForThisSupplier=Nincs ár/mennyiség meghatározva ehhez a beszállítóhoz/termékhez NoSupplierPriceDefinedForThisProduct=Nincs beszállítói ár/mennyiség meghatározva ehhez a termékhez PredefinedProductsToSell=Predefined products to sell @@ -127,22 +127,22 @@ PredefinedProductsAndServicesToPurchase=Predefined products/services to puchase NotPredefinedProducts=Not predefined products/services GenerateThumb=Kiskép generálása ServiceNb=#%s szolgáltatás -ListProductServiceByPopularity=Jegyzéke termékek / szolgáltatások népszerűség szerint +ListProductServiceByPopularity=Termékek/szolgáltatások népszerűség szerinti listája ListProductByPopularity=Termékek/szolgáltatások listázása népszerűség szerint ListServiceByPopularity=Szolgáltatások listája népszerűség szerint Finished=Gyártott termék -RowMaterial=Első anyag +RowMaterial=Nyersanyag CloneProduct=Termék vagy szolgáltatás klónozása ConfirmCloneProduct=Biztos, hogy klónozni akarja ezt a szolgáltatást: %s ? CloneContentProduct=A termék/szolgáltatás minden fő információjának a klónozása ClonePricesProduct=Fő információk és árak klónozása -CloneCompositionProduct=Clone packaged product/service +CloneCompositionProduct=Előre csomagolt termék/szolgáltatás duplikálása ProductIsUsed=Ez a termék használatban van NewRefForClone=Új termék/szolgáltatás ref#. SellingPrices=Selling prices BuyingPrices=Buying prices -CustomerPrices=Customer prices -SuppliersPrices=Supplier prices +CustomerPrices=Végfelhasználói árak +SuppliersPrices=Beszállítói árak SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Vámkódex CountryOrigin=Származási ország @@ -169,12 +169,12 @@ m2=m² m3=m³ liter=liter l=L -ProductCodeModel=Product ref template -ServiceCodeModel=Service ref template -CurrentProductPrice=Current price -AlwaysUseNewPrice=Always use current price of product/service -AlwaysUseFixedPrice=Use the fixed price -PriceByQuantity=Different prices by quantity +ProductCodeModel=Termék ref sablon +ServiceCodeModel=Szolgáltatás ref sablon +CurrentProductPrice=Aktuális ár +AlwaysUseNewPrice=Mindig a termék/szolgáltatás aktuális árát használja +AlwaysUseFixedPrice=Használja a fix árat +PriceByQuantity=Mennyiségtől függő ár PriceByQuantityRange=Quantity range MultipriceRules=Price segment rules UseMultipriceRules=Use price segment rules (defined into product module setup) to autocalculate prices of all other segment according to first segment @@ -182,23 +182,23 @@ PercentVariationOver=%% variation over %s PercentDiscountOver=%% discount over %s ### composition fabrication Build=Produce -ProductsMultiPrice=Products and prices for each price segment +ProductsMultiPrice=Termékek és árak ár szegmensenként ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly before tax ServiceSellByQuarterHT=Services turnover quarterly before tax -Quarter1=1st. Quarter -Quarter2=2nd. Quarter -Quarter3=3rd. Quarter -Quarter4=4th. Quarter -BarCodePrintsheet=Print bar code -PageToGenerateBarCodeSheets=With this tool, you can print sheets of bar code stickers. Choose format of your sticker page, type of barcode and value of barcode, then click on button %s. -NumberOfStickers=Number of stickers to print on page -PrintsheetForOneBarCode=Print several stickers for one barcode -BuildPageToPrint=Generate page to print -FillBarCodeTypeAndValueManually=Fill barcode type and value manually. -FillBarCodeTypeAndValueFromProduct=Fill barcode type and value from barcode of a product. -FillBarCodeTypeAndValueFromThirdParty=Fill barcode type and value from barcode of a thirdparty. -DefinitionOfBarCodeForProductNotComplete=Definition of type or value of bar code not complete for product %s. +Quarter1=1. negyedév +Quarter2=2. negyedév +Quarter3=3. negyedév +Quarter4=4. negyedév +BarCodePrintsheet=Vonalkód nyomtatása +PageToGenerateBarCodeSheets=Ezzel az eszközzel vonalkód lapokat nyomtathat. Válassza ki a matricák oldalának formátumát, a vonalkód típusát és értékét majd kattintson a %s gombra. +NumberOfStickers=Egy lapon lévő matricák száma +PrintsheetForOneBarCode=Több matrica nyomtatása egyetlen vonalkóddal +BuildPageToPrint=Oldal generálása nyomtatáshoz +FillBarCodeTypeAndValueManually=Adja meg a vonalkód típusát és értékét. +FillBarCodeTypeAndValueFromProduct=Vonalkód típusának és értékének megadása létező termékről +FillBarCodeTypeAndValueFromThirdParty=Harmadik féltől származó vonalkód használata +DefinitionOfBarCodeForProductNotComplete=A %s termék számára megadott vonalkód nem teljes. DefinitionOfBarCodeForThirdpartyNotComplete=Definition of type or value of bar code non complete for thirdparty %s. BarCodeDataForProduct=Barcode information of product %s : BarCodeDataForThirdparty=Barcode information of thirdparty %s : diff --git a/htdocs/langs/hu_HU/projects.lang b/htdocs/langs/hu_HU/projects.lang index 96d3c4ef91d..beb0cd47134 100644 --- a/htdocs/langs/hu_HU/projects.lang +++ b/htdocs/langs/hu_HU/projects.lang @@ -11,8 +11,10 @@ SharedProject=Mindenki PrivateProject=Project contacts MyProjectsDesc=Ez a nézet azokra a projektekre van korlátozva amivel valamilyen összefüggésben áll. ProjectsPublicDesc=Ez a nézet minden az ön által megtekinthető projektre van korlátozva. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=Ez a nézet minden projektet tartalmaz. +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=Ez a nézet azokra a projektekre van korlátozva amivel valamilyen összefüggésben áll. OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projekt vezető TypeContact_project_external_PROJECTLEADER=Projekt vezető diff --git a/htdocs/langs/hu_HU/sms.lang b/htdocs/langs/hu_HU/sms.lang index 58efdd3ceb2..ee11c57e959 100644 --- a/htdocs/langs/hu_HU/sms.lang +++ b/htdocs/langs/hu_HU/sms.lang @@ -46,6 +46,6 @@ SendSms=SMS küldése SmsInfoCharRemain=Nb a fennmaradó karakterek SmsInfoNumero= (Nemzetközi formátum, azaz: 33899701761) DelayBeforeSending=Késleltetett küldés előtt (perc) -SmsNoPossibleSenderFound=No sender available. Check setup of your SMS provider. +SmsNoPossibleSenderFound=A küldő nem elérhető. Ellenőrizze az SMS szolgáltató beállításait. SmsNoPossibleRecipientFound=Nincs cél elérhető. Ellenőrizze beállítása az SMS szolgáltató. diff --git a/htdocs/langs/hu_HU/stocks.lang b/htdocs/langs/hu_HU/stocks.lang index ddab93d91b8..0630420eeb5 100644 --- a/htdocs/langs/hu_HU/stocks.lang +++ b/htdocs/langs/hu_HU/stocks.lang @@ -2,67 +2,67 @@ WarehouseCard=Raktár kártya Warehouse=Raktár Warehouses=Raktárak -NewWarehouse=Új raktár +NewWarehouse=Új raktár / Készletezési terület WarehouseEdit=Raktár módosítása MenuNewWarehouse=Új raktár WarehouseSource=Forrás raktár WarehouseSourceNotDefined=Nincs meghatározva raktár, -AddOne=Add one +AddOne=Egyet adjon hozzá WarehouseTarget=Cél raktár -ValidateSending=Törlése jóváhagyása +ValidateSending=Küldés jóváhagyása CancelSending=Küldés megszakítása DeleteSending=Küldés törlése Stock=Készlet Stocks=Készletek -StocksByLotSerial=Stocks by lot/serial +StocksByLotSerial=Készletek tétel/cikkszám alapján Movements=Mozgások ErrorWarehouseRefRequired=Raktár referencia név szükséges ListOfWarehouses=Raktárak listája ListOfStockMovements=Készlet mozgatások listája -StocksArea=Warehouses area +StocksArea=Raktárak Location=Hely LocationSummary=Hely rövid neve -NumberOfDifferentProducts=Number of different products +NumberOfDifferentProducts=Termékek száma összesen NumberOfProducts=Termékek összesen LastMovement=Utolsó mozgás LastMovements=Utolsó mozgások Units=Egységek Unit=Egység StockCorrection=Jelenlegi készlet -StockTransfer=Transfer stock -MassStockTransferShort=Mass stock transfer +StockTransfer=Készlet mozgatása +MassStockTransferShort=Tömeges készletmozgatás StockMovement=Készletmozgás StockMovements=Készletmozgás -LabelMovement=Movement label +LabelMovement=Mozgás címkéje NumberOfUnit=Egységek száma -UnitPurchaseValue=Unit purchase price +UnitPurchaseValue=Vételár StockTooLow=Készlet alacsony -StockLowerThanLimit=Stock lower than alert limit +StockLowerThanLimit=Készlet kisebb mint a figyelmeztetési határérték EnhancedValue=Érték -PMPValue=Súlyozott árlak érték +PMPValue=Súlyozott átlagár PMPValueShort=SÁÉ EnhancedValueOfWarehouses=Raktárak értéke UserWarehouseAutoCreate=Raktár autómatikus létrehozása felhasználó létrehozásakor -IndependantSubProductStock=Product stock and subproduct stock are independant +IndependantSubProductStock=A termék és származtatott elemeinek készlete egymástól függetlenek QtyDispatched=Mennyiség kiküldése -QtyDispatchedShort=Qty dispatched -QtyToDispatchShort=Qty to dispatch +QtyDispatchedShort=Kiadott mennyiség +QtyToDispatchShort=Kiadásra vár OrderDispatch=Készlet kiküldése -RuleForStockManagementDecrease=Rule for automatic stock management decrease (manual decrease is always possible, even if an automatic decrease rule is activated) -RuleForStockManagementIncrease=Rule for automatic stock management increase (manual increase is always possible, even if an automatic increase rule is activated) +RuleForStockManagementDecrease=Automatikus készletcsökkenés szabályának beállítása (a kézzel történő csökkentés továbbra is elérhető, az automatikus készletcsökkentés aktiválása esetén is) +RuleForStockManagementIncrease=Automatikus készletnövelés szabályának beállítása (a kézzel történő növelés továbbra is elérhető, az automatikus készletnövelés aktiválása esetén is) DeStockOnBill=Tényleges készlet csökkentése számla/hitel jóváhagyásakor DeStockOnValidateOrder=Tényleges készlet csökkentése ügyfél rendelés jóváhagyásakor -DeStockOnShipment=Decrease real stocks on shipping validation -DeStockOnShipmentOnClosing=Decrease real stocks on shipping classification closed +DeStockOnShipment=Tényleges készlet csökkentése kiszállítás jóváhagyásakor +DeStockOnShipmentOnClosing=Csökkentse a valós készletet a "kiszállítás megtörtént" beállítása után ReStockOnBill=Tényleges készlet növelése számla/hitel jóváhagyásakor ReStockOnValidateOrder=Tényleges készlet növelése beszállítótól való rendelés jóváhagyásakor ReStockOnDispatchOrder=Tényleges készlet növelése manuális raktárba való feladáskor miután a beszállítói rendelés beérkezett OrderStatusNotReadyToDispatch=A rendelés még nincs olyan állapotban, hogy kiküldhető legyen a raktárba. -StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock +StockDiffPhysicTeoric=Magyarázat a fizikai és elméleti készlet közötti különbségekről NoPredefinedProductToDispatch=Nincs előredefiniált termék ehhez az objektumhoz. Tehát nincs szükség raktárba küldésre. DispatchVerb=Kiküldés -StockLimitShort=Limit for alert -StockLimit=Stock limit for alert +StockLimitShort=Figyelmeztetés küszöbértéke +StockLimit=A készlet figyelmeztetési határértéke PhysicalStock=Fizikai készlet RealStock=Igazi készlet VirtualStock=Virtuális készlet @@ -70,63 +70,65 @@ IdWarehouse=Raktár azon.# DescWareHouse=Raktár leírás LieuWareHouse=Raktár helye WarehousesAndProducts=Raktárak és termékek -WarehousesAndProductsBatchDetail=Warehouses and products (with detail per lot/serial) +WarehousesAndProductsBatchDetail=Raktárak és termékek (tétel/cikkszám szerint részletezve) AverageUnitPricePMPShort=Súlyozott átlag beviteli ár AverageUnitPricePMP=Súlyozott átlag beviteli ár SellPriceMin=Értékesítés Egységár -EstimatedStockValueSellShort=Value for sell -EstimatedStockValueSell=Value for sell +EstimatedStockValueSellShort=Eladási érték +EstimatedStockValueSell=Eladási érték EstimatedStockValueShort=Készlet becsült értéke EstimatedStockValue=Készlet becsült értéke DeleteAWarehouse=Raktár törlése ConfirmDeleteWarehouse=Biztos törölni akarja a(z) %s raktárat? PersonalStock=Személyes készlet %s ThisWarehouseIsPersonalStock=Ez a raktár %s %s személyes készletet képvisel -SelectWarehouseForStockDecrease=Válassza ki a raktár használni állomány csökkenése -SelectWarehouseForStockIncrease=Válassza ki a raktár használni állomány növekedése -NoStockAction=No stock action -DesiredStock=Desired optimal stock -DesiredStockDesc=This stock amount will be the value used to fill the stock by replenishment feature. -StockToBuy=To order -Replenishment=Replenishment -ReplenishmentOrders=Replenishment orders -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ -UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature -UseVirtualStock=Use virtual stock -UsePhysicalStock=Use physical stock -CurentSelectionMode=Current selection mode -CurentlyUsingVirtualStock=Virtual stock -CurentlyUsingPhysicalStock=Physical stock -RuleForStockReplenishment=Rule for stocks replenishment -SelectProductWithNotNullQty=Select at least one product with a qty not null and a supplier -AlertOnly= Alerts only -WarehouseForStockDecrease=The warehouse %s will be used for stock decrease -WarehouseForStockIncrease=The warehouse %s will be used for stock increase -ForThisWarehouse=For this warehouse -ReplenishmentStatusDesc=This is a list of all products with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked). Using the checkbox, you can create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is a list of all open supplier orders including predefined products. Only open orders with predefined products, so orders that may affect stocks, are visible here. -Replenishments=Replenishments -NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) -NbOfProductAfterPeriod=Quantity of product %s in stock after selected period (> %s) -MassMovement=Mass movement -SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". -RecordMovement=Record transfert -ReceivingForSameOrder=Receipts for this order -StockMovementRecorded=Stock movements recorded -RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment -MovementLabel=Label of movement -InventoryCode=Movement or inventory code -IsInPackage=Contained into package -ShowWarehouse=Show warehouse -MovementCorrectStock=Stock correction for product %s -MovementTransferStock=Stock transfer of product %s into another warehouse -InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order -ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). -OpenAll=Open for all actions -OpenInternal=Open for internal actions -OpenShipping=Open for shippings -OpenDispatch=Open for dispatch +SelectWarehouseForStockDecrease=Válassza ki melyik raktár készlete csökkenjen +SelectWarehouseForStockIncrease=Válassza ki melyik raktár készlete növekedjen +NoStockAction=Nincs készletmozgás +DesiredStock=Kívánt készletmennyiség +DesiredStockDesc=Ez a készlet mennyiség lesz használatos a pótlási funkcióban az alapértelmezett értéknek +StockToBuy=Rendelésre +Replenishment=Feltöltés +ReplenishmentOrders=Megrendelések pótlásra +VirtualDiffersFromPhysical=A készletnövelés/csökkentés opcióinak megfelelően a fizikai és a virtuális (fizikai + aktív megrendelések) készlet különbözhet +UseVirtualStockByDefault=Használja a virtuális készletet a fizikai helyett alapértelmezettként a pótlási funkció érdekében +UseVirtualStock=Virtuális készlet felhasználása +UsePhysicalStock=Fizikai készlet használata +CurentSelectionMode=Jelenlegi kiválasztási mód +CurentlyUsingVirtualStock=Virtuális készlet +CurentlyUsingPhysicalStock=Fizikai készlet +RuleForStockReplenishment=A készletek pótlásának szabálya +SelectProductWithNotNullQty=Válasszon legalább egy készleten lévő terméket és beszállítót +AlertOnly= Csak figyelmeztetések +WarehouseForStockDecrease=A %s raktár készlete lesz csökkentve +WarehouseForStockIncrease=A %s raktár készlete lesz növelve +ForThisWarehouse=Az aktuális raktár részére +ReplenishmentStatusDesc=Azon termékek listája melyek készlete alacsonyabb a kívánt értéknél (vagy a figyelmeztetési küszöb értékénél, ha a jelölőnégyzet be van jelölve) A jelölőnégyzet használatával beszállítói rendeléseket készíthet a hiány pótlására. +ReplenishmentOrdersDesc=Azon termékek megrendelői listája melyek folyamatban lévő megrendeléseken szerepelnek és közvetlenül befolyásolják a készletek alakulását. +Replenishments=Készletek pótlása +NbOfProductBeforePeriod=A %s termékből rendelkezésre álló mennyiség a kiválasztott periódusban (%s előtt) +NbOfProductAfterPeriod=A %s termékből rendelkezésre álló mennyiség a kiválasztott periódusban (%s után) +MassMovement=Tömeges mozgatás +SelectProductInAndOutWareHouse=Válasszon egy terméket, a mennyiségét, egy származási raktárat valamint egy cél raktárat, majd kattintson az "%s"-ra. Amint minden szükséges mozgatással elkészült, kattintson a "%s"-ra. +RecordMovement=Mozgatás rögzítése +ReceivingForSameOrder=Megrendelés nyugtái +StockMovementRecorded=Rögzített készletmozgások +RuleForStockAvailability=A készlet tartásának szabályai +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) +MovementLabel=Mozgás címkéje +InventoryCode=Mozgás vagy leltár kód +IsInPackage=Csomag tartalmazza +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse +ShowWarehouse=Raktár részletei +MovementCorrectStock=A %s termék készlet-módosítása +MovementTransferStock=A %s termék készletének mozgatása másik raktárba +InventoryCodeShort=Lelt./Mozg. kód +NoPendingReceptionOnSupplierOrder=Nincs függőben lévő bevételezés mivel létezik nyitott beszállítói megrendelés +ThisSerialAlreadyExistWithDifferentDate=A (%s) tétel/cikkszám már létezik de eltérő lejárati/eladási határidővel (jelenleg %s az imént felvitt érték ellenben %s). +OpenAll=Nyitott minden műveletre +OpenInternal=Nyitott belső műveletekre +OpenShipping=Nyitott szállításra +OpenDispatch=Nyitott feladásra diff --git a/htdocs/langs/hu_HU/website.lang b/htdocs/langs/hu_HU/website.lang index 97a8c2861f5..14c0d1198ec 100644 --- a/htdocs/langs/hu_HU/website.lang +++ b/htdocs/langs/hu_HU/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/id_ID/admin.lang b/htdocs/langs/id_ID/admin.lang index 8d8d544a451..9eeb4336aee 100644 --- a/htdocs/langs/id_ID/admin.lang +++ b/htdocs/langs/id_ID/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Pengguna & Grup @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Loan Module520Desc=Management of loans Module600Name=Notifikasi -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Sumbangan Module700Desc=Donation management Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Companies module setup CompanyCodeChecker=Module for third parties code generation and checking (customer or supplier) AccountCodeManager=Module for accountancy code generation (customer or supplier) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Documents templates DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Watermark on draft document @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/id_ID/bills.lang b/htdocs/langs/id_ID/bills.lang index 2dff5d061fc..5ed3cfce50b 100644 --- a/htdocs/langs/id_ID/bills.lang +++ b/htdocs/langs/id_ID/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/id_ID/companies.lang b/htdocs/langs/id_ID/companies.lang index 9838b6e080d..0cc440407ac 100644 --- a/htdocs/langs/id_ID/companies.lang +++ b/htdocs/langs/id_ID/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Language by default VATIsUsed=VAT is used VATIsNotUsed=VAT is not used CopyAddressFromSoc=Fill address with thirdparty address +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE is used @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organization FiscalYearInformation=Information on the fiscal year FiscalMonthStart=Starting month of the fiscal year -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=List of suppliers ListProspectsShort=List of prospects ListCustomersShort=List of customers diff --git a/htdocs/langs/id_ID/contracts.lang b/htdocs/langs/id_ID/contracts.lang index bb4bb033b03..08e5bb562db 100644 --- a/htdocs/langs/id_ID/contracts.lang +++ b/htdocs/langs/id_ID/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Not expired ServiceStatusLate=Running, expired ServiceStatusLateShort=Expired ServiceStatusClosed=Closed +ShowContractOfService=Show contract of service Contracts=Contracts ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracts and line of contracts diff --git a/htdocs/langs/id_ID/errors.lang b/htdocs/langs/id_ID/errors.lang index 9276b542ad7..364d60bf6b8 100644 --- a/htdocs/langs/id_ID/errors.lang +++ b/htdocs/langs/id_ID/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/id_ID/install.lang b/htdocs/langs/id_ID/install.lang index e1d30453577..75716bc1c9c 100644 --- a/htdocs/langs/id_ID/install.lang +++ b/htdocs/langs/id_ID/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=Direkomendasikan untuk menggunakan direktori diluar dari LoginAlreadyExists=Telah ada DolibarrAdminLogin=Dolibarr admin login AdminLoginAlreadyExists=Dolibarr administrator account '%s' already exists. Go back, if you want to create another one. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, to avoid using install tools again, you should add a file called install.lock into Dolibarr document directory, in order to avoid malicious use of it. FunctionNotAvailableInThisPHP=Not available on this PHP ChoosedMigrateScript=Choose migration script diff --git a/htdocs/langs/id_ID/mails.lang b/htdocs/langs/id_ID/mails.lang index 0a945f5fd3f..ffe7d5735d1 100644 --- a/htdocs/langs/id_ID/mails.lang +++ b/htdocs/langs/id_ID/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=No email notifications are planned for this event and ANotificationsWillBeSent=1 notification will be sent by email SomeNotificationsWillBeSent=%s notifications will be sent by email AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=List all email notifications sent MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/id_ID/main.lang b/htdocs/langs/id_ID/main.lang index 51825b5c69e..facae87437d 100644 --- a/htdocs/langs/id_ID/main.lang +++ b/htdocs/langs/id_ID/main.lang @@ -84,6 +84,7 @@ SeeAbove=See above HomeArea=Home area LastConnexion=Last connection PreviousConnexion=Previous connection +PreviousValue=Previous value ConnectedOnMultiCompany=Connected on environment ConnectedSince=Connected since AuthenticationMode=Authentification mode diff --git a/htdocs/langs/id_ID/projects.lang b/htdocs/langs/id_ID/projects.lang index f39b47f1110..52e40b871ea 100644 --- a/htdocs/langs/id_ID/projects.lang +++ b/htdocs/langs/id_ID/projects.lang @@ -11,8 +11,10 @@ SharedProject=Everybody PrivateProject=Project contacts MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type). ProjectsPublicDesc=This view presents all projects you are allowed to read. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=This view presents all projects (your user permissions grant you permission to view everything). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Project leader TypeContact_project_external_PROJECTLEADER=Project leader diff --git a/htdocs/langs/id_ID/stocks.lang b/htdocs/langs/id_ID/stocks.lang index ef47e3f3ce7..8d2d1739a69 100644 --- a/htdocs/langs/id_ID/stocks.lang +++ b/htdocs/langs/id_ID/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Show warehouse MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/id_ID/website.lang b/htdocs/langs/id_ID/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/id_ID/website.lang +++ b/htdocs/langs/id_ID/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/is_IS/admin.lang b/htdocs/langs/is_IS/admin.lang index d7ad4ee6f67..0e0003a5055 100644 --- a/htdocs/langs/is_IS/admin.lang +++ b/htdocs/langs/is_IS/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Notendur & hópar @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Loan Module520Desc=Management of loans Module600Name=Tilkynningar -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Fjárframlög Module700Desc=Framlög í stjórnun Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Stofnanir mát skipulag CompanyCodeChecker=Eining til þriðja aðila kóða kynslóð og eftirlit (viðskiptavini eða birgja) AccountCodeManager=Eining fyrir bókhalds kóða kynslóð (viðskiptavina eða birgja) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Skjöl sniðmát DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Vatnsmerki á drögum að skjali @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/is_IS/bills.lang b/htdocs/langs/is_IS/bills.lang index 8eb88020bf5..38cc70a68c4 100644 --- a/htdocs/langs/is_IS/bills.lang +++ b/htdocs/langs/is_IS/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/is_IS/companies.lang b/htdocs/langs/is_IS/companies.lang index 4b3ec4114c9..0ded2a1168d 100644 --- a/htdocs/langs/is_IS/companies.lang +++ b/htdocs/langs/is_IS/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Tungumál sjálfgefið VATIsUsed=VSK er notaður VATIsNotUsed=VSK er ekki notaður CopyAddressFromSoc=Fill address with thirdparty address +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= OR er notað @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organization FiscalYearInformation=Upplýsingar um fjárhagsársins FiscalMonthStart=Byrjun mánuði fjárhagsársins -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=Listi yfir birgja ListProspectsShort=Listi yfir horfur ListCustomersShort=Listi yfir viðskiptavini diff --git a/htdocs/langs/is_IS/contracts.lang b/htdocs/langs/is_IS/contracts.lang index 4ddd02c424d..a5b16627175 100644 --- a/htdocs/langs/is_IS/contracts.lang +++ b/htdocs/langs/is_IS/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Ekki lokið ServiceStatusLate=Running, falla úr gildi ServiceStatusLateShort=Útrunnið ServiceStatusClosed=Loka +ShowContractOfService=Show contract of service Contracts=Samningar ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracts and line of contracts diff --git a/htdocs/langs/is_IS/errors.lang b/htdocs/langs/is_IS/errors.lang index 274e9e89d63..16652b4d0c6 100644 --- a/htdocs/langs/is_IS/errors.lang +++ b/htdocs/langs/is_IS/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/is_IS/install.lang b/htdocs/langs/is_IS/install.lang index 91a744352a8..5c00f5f8655 100644 --- a/htdocs/langs/is_IS/install.lang +++ b/htdocs/langs/is_IS/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=Það er recommanded að nota skrá utan möppuna á vef LoginAlreadyExists=Þegar til DolibarrAdminLogin=Dolibarr admin Innskráning AdminLoginAlreadyExists=reikningur ' %s Dolibarr stjórnandi' er þegar til. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Aðvörun, vegna öryggis, þegar setja upp eða uppfæra er heill, þá ættir þú að fjarlægja setja möppu eða gefa henni nýtt heiti með hana til install.lock í því skyni að koma í veg fyrir notkun þess illgjarn. FunctionNotAvailableInThisPHP=Ekki í boði á þessari PHP ChoosedMigrateScript=Veldu fólksflutninga handrit diff --git a/htdocs/langs/is_IS/mails.lang b/htdocs/langs/is_IS/mails.lang index f2c3298e14f..e73238a3d3a 100644 --- a/htdocs/langs/is_IS/mails.lang +++ b/htdocs/langs/is_IS/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=Engar tilkynningar í tölvupósti er mjög spennandi ANotificationsWillBeSent=1 tilkynning verður send með tölvupósti SomeNotificationsWillBeSent=%s tilkynningar verða sendar í tölvupósti AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=Sýna allar tilkynningar í tölvupósti sendi MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/is_IS/main.lang b/htdocs/langs/is_IS/main.lang index 2f7ff57ce83..355be72f12c 100644 --- a/htdocs/langs/is_IS/main.lang +++ b/htdocs/langs/is_IS/main.lang @@ -84,6 +84,7 @@ SeeAbove=Sjá ofar HomeArea=Home area LastConnexion=Síðasta tenging PreviousConnexion=Fyrri tengingu +PreviousValue=Previous value ConnectedOnMultiCompany=Tengdur á einingu ConnectedSince=Tengdur síðan AuthenticationMode=Authentification ham diff --git a/htdocs/langs/is_IS/projects.lang b/htdocs/langs/is_IS/projects.lang index 9b9f86f4a12..70fb1f33f36 100644 --- a/htdocs/langs/is_IS/projects.lang +++ b/htdocs/langs/is_IS/projects.lang @@ -11,8 +11,10 @@ SharedProject=Allir PrivateProject=Project contacts MyProjectsDesc=Þessi skoðun er takmörkuð við verkefni sem þú ert að hafa samband við (hvað sem er gerð). ProjectsPublicDesc=Þetta sýnir öll verkefni sem þú ert að fá að lesa. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=Þetta sýnir öll verkefni (notandi heimildir veita þér leyfi til að skoða allt). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=Þessi skoðun er takmörkuð við verkefni eða verkefni sem þú ert að hafa samband við (hvað sem er gerð). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Project leiðtogi TypeContact_project_external_PROJECTLEADER=Project leiðtogi diff --git a/htdocs/langs/is_IS/stocks.lang b/htdocs/langs/is_IS/stocks.lang index e625ce3e62f..7c7774ed059 100644 --- a/htdocs/langs/is_IS/stocks.lang +++ b/htdocs/langs/is_IS/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Show warehouse MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/is_IS/website.lang b/htdocs/langs/is_IS/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/is_IS/website.lang +++ b/htdocs/langs/is_IS/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/it_IT/admin.lang b/htdocs/langs/it_IT/admin.lang index c8fb675f873..f6d4abf3002 100644 --- a/htdocs/langs/it_IT/admin.lang +++ b/htdocs/langs/it_IT/admin.lang @@ -385,6 +385,9 @@ NoDetails=Nessun dettaglio nel piè di pagina DisplayCompanyInfo=Mostra indirizzo dell'azienda DisplayCompanyInfoAndManagers=Visualizza società e nomi responsabili EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Utenti e gruppi @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Prestito Module520Desc=Gestione dei prestiti Module600Name=Notifiche -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Donazioni Module700Desc=Gestione donazioni Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=Impostazioni modulo risorse umane CompanySetup=Impostazioni modulo aziende CompanyCodeChecker=Modulo per la generazione e verifica dei codici di terzi (cliente o fornitore) AccountCodeManager=Modulo per la generazione del codice contabile (cliente o fornitore) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Modelli per i documenti DocumentModelOdt=Generare documenti da modelli OpenDocuments (file .ODT o .ODS per OpenOffice, KOffice, TextEdit, ecc...) WatermarkOnDraft=Filigrana sulle bozze @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Impostazioni del modulo note spese TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Soglia BackupDumpWizard=Procedura guidata per creare file di backup del database (dump) diff --git a/htdocs/langs/it_IT/bills.lang b/htdocs/langs/it_IT/bills.lang index b297265f9ba..d6f7f75dcba 100644 --- a/htdocs/langs/it_IT/bills.lang +++ b/htdocs/langs/it_IT/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Ultima fattura correlata WarningBillExist=Attenzione, una o più fatture già esistenti MergingPDFTool=Strumento di fusione dei PDF AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=Elenco delle fatture di avanzamento lavori precedenti ListOfNextSituationInvoices=Elenco delle prossime fatture di avanzamento lavori diff --git a/htdocs/langs/it_IT/companies.lang b/htdocs/langs/it_IT/companies.lang index 1142a582d1b..4467c2ceace 100644 --- a/htdocs/langs/it_IT/companies.lang +++ b/htdocs/langs/it_IT/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Lingua predefinita VATIsUsed=L'IVA viene utilizzata VATIsNotUsed=L'IVA non viene utilizzata CopyAddressFromSoc=Compila l'indirizzo con l'indirizzo del soggetto terzo +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE previsto @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organizzazione FiscalYearInformation=Informazioni sull'anno fiscale FiscalMonthStart=Il mese di inizio dell'anno fiscale -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=Elenco fornitori ListProspectsShort=Elenco clienti potenziali ListCustomersShort=Elenco clienti diff --git a/htdocs/langs/it_IT/contracts.lang b/htdocs/langs/it_IT/contracts.lang index becd3e6d9d8..2bd6809b583 100644 --- a/htdocs/langs/it_IT/contracts.lang +++ b/htdocs/langs/it_IT/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Non scaduto ServiceStatusLate=Attivo, scaduto ServiceStatusLateShort=Scaduto ServiceStatusClosed=Chiuso +ShowContractOfService=Show contract of service Contracts=Contratti ContractsSubscriptions=Contratto/sottoscrizione ContractsAndLine=Contratti e righe di contratto diff --git a/htdocs/langs/it_IT/errors.lang b/htdocs/langs/it_IT/errors.lang index 5dac5510b2f..0ec8c523216 100644 --- a/htdocs/langs/it_IT/errors.lang +++ b/htdocs/langs/it_IT/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Le impostazioni di informazione del Click WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Funzione disabilitata quando le impostazioni di visualizzazione sono ottimizzate per persone non vedenti o browser testuali. WarningPaymentDateLowerThanInvoiceDate=La scadenza del pagamento (%s) risulta antecedente alla data di fatturazione (%s) per la fattura %s WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/it_IT/install.lang b/htdocs/langs/it_IT/install.lang index 82f7ea23f11..267ef9dbe52 100644 --- a/htdocs/langs/it_IT/install.lang +++ b/htdocs/langs/it_IT/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=Si raccomanda l'utilizzo di una directory al di fuori de LoginAlreadyExists=Esiste già DolibarrAdminLogin=Login dell'amministratore di Dolibarr AdminLoginAlreadyExists=L'account amministratore %s esiste già. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Attenzione, per motivi di sicurezza, una volta completata l'installazione o l'aggiornamento, rimuovere la directory install o rinominarla install.lock, al fine di evitarne un uso malevolo. FunctionNotAvailableInThisPHP=Non disponibile su questa installazione di PHP ChoosedMigrateScript=Scegli script di migrazione diff --git a/htdocs/langs/it_IT/mails.lang b/htdocs/langs/it_IT/mails.lang index 6776d4345bb..8438a49e515 100644 --- a/htdocs/langs/it_IT/mails.lang +++ b/htdocs/langs/it_IT/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=Non sono previste notifiche per questo evento o societ ANotificationsWillBeSent=Verrà inviata una notifica via email SomeNotificationsWillBeSent=%s notifiche saranno inviate via email AddNewNotification=Attiva una nuova richiesta di notifica via email -ListOfActiveNotifications=Mostra tutte le richieste di notifica via email attive +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=Elenco delle notifiche spedite per email MailSendSetupIs=La configurazione della posta elettronica di invio è stata impostata alla modalità '%s'. Questa modalità non può essere utilizzata per inviare mail di massa. MailSendSetupIs2=Con un account da amministratore è necessario cliccare su %sHome -> Setup -> EMails%s e modificare il parametro '%s' per usare la modalità '%s'. Con questa modalità è possibile inserire i dati del server SMTP di elezione e usare Il "Mass Emailing" diff --git a/htdocs/langs/it_IT/main.lang b/htdocs/langs/it_IT/main.lang index 3b0a6ebc68c..c79f2c600a0 100644 --- a/htdocs/langs/it_IT/main.lang +++ b/htdocs/langs/it_IT/main.lang @@ -84,6 +84,7 @@ SeeAbove=Vedi sopra HomeArea=Area home LastConnexion=Ultima connessione PreviousConnexion=Connessione precedente +PreviousValue=Previous value ConnectedOnMultiCompany=Collegato all'ambiente ConnectedSince=Collegato da AuthenticationMode=Modalità di autenticazione diff --git a/htdocs/langs/it_IT/projects.lang b/htdocs/langs/it_IT/projects.lang index 7a6672b7c08..c1e1c71c130 100644 --- a/htdocs/langs/it_IT/projects.lang +++ b/htdocs/langs/it_IT/projects.lang @@ -11,8 +11,10 @@ SharedProject=Progetto condiviso PrivateProject=Contatti del progetto MyProjectsDesc=Questa visualizzazione mostra solo i progetti in cui sei indicato come contatto (di qualsiasi tipo). ProjectsPublicDesc=Questa visualizzazione mostra tutti i progetti che sei autorizzato a vedere. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=Questa prospettiva presenta tutti i progetti e le attività a cui è permesso accedere. ProjectsDesc=Questa visualizzazione mostra tutti i progetti (hai i privilegi per vedere tutto). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=Questa visualizzazione mostra solo i progetti o i compiti in cui sei indicati come contatto (di qualsiasi tipo). OnlyOpenedProject=Sono visibili solamente i progetti aperti (i progetti con stato di bozza o chiusi non sono visibili). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Ammontare opportunità OpportunityAmountShort=Opp. quantità +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Capo progetto TypeContact_project_external_PROJECTLEADER=Capo progetto diff --git a/htdocs/langs/it_IT/stocks.lang b/htdocs/langs/it_IT/stocks.lang index 7b8ed7b8253..b099f97c199 100644 --- a/htdocs/langs/it_IT/stocks.lang +++ b/htdocs/langs/it_IT/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Registra trasferimento ReceivingForSameOrder=Ricevuta per questo ordine StockMovementRecorded=Movimentazione di scorte registrata RuleForStockAvailability=Regole sulla fornitura delle scorte -StockMustBeEnoughForInvoice=Il livello delle scorte deve essere sufficiente per aggiungere un prodotto/servizio alla fattura -StockMustBeEnoughForOrder=Il livello delle scorte deve essere sufficiente per aggiungere un prodotto/servizio a un ordine -StockMustBeEnoughForShipment= Il livello delle scorte deve essere sufficiente per aggiungere un prodotto/servizio alla spedizione +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Etichetta per lo spostamento di magazzino InventoryCode=Codice di inventario o di spostamento IsInPackage=Contenuto nel pacchetto +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Mostra magazzino MovementCorrectStock=Correzione scorte per il prodotto %s MovementTransferStock=Trasferisci scorte del prodotto %s in un altro magazzino diff --git a/htdocs/langs/it_IT/website.lang b/htdocs/langs/it_IT/website.lang index 150ea090dbb..12e57c1ffd6 100644 --- a/htdocs/langs/it_IT/website.lang +++ b/htdocs/langs/it_IT/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=Visualizza sito in una nuova scheda ViewPageInNewTab=Visualizza pagina in una nuova scheda SetAsHomePage=Imposta come homepage RealURL=Indirizzo URL vero +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/ja_JP/admin.lang b/htdocs/langs/ja_JP/admin.lang index ca30435b211..175e20bd67d 100644 --- a/htdocs/langs/ja_JP/admin.lang +++ b/htdocs/langs/ja_JP/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=ユーザーとグループ @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Loan Module520Desc=Management of loans Module600Name=通知 -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=寄付 Module700Desc=寄付金の管理 Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=企業のモジュールのセットアップ CompanyCodeChecker=サードパーティのコード生成とチェック(顧客またはサプライヤー)のモジュール AccountCodeManager=会計コードを生成するためのモジュール(顧客またはサプライヤー) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=ドキュメントテンプレート DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=ドラフト文書に透かし @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/ja_JP/bills.lang b/htdocs/langs/ja_JP/bills.lang index 7d1c4571d43..91269bd5cbb 100644 --- a/htdocs/langs/ja_JP/bills.lang +++ b/htdocs/langs/ja_JP/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/ja_JP/companies.lang b/htdocs/langs/ja_JP/companies.lang index e2f4990e84f..b33950db39c 100644 --- a/htdocs/langs/ja_JP/companies.lang +++ b/htdocs/langs/ja_JP/companies.lang @@ -74,6 +74,7 @@ DefaultLang=デフォルトでは、言語 VATIsUsed=付加価値税(VAT)は使用されている VATIsNotUsed=付加価値税(VAT)は使用されていません CopyAddressFromSoc=Fill address with thirdparty address +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= REが使用されます @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=組織 FiscalYearInformation=会計年度に関する情報 FiscalMonthStart=会計年度の開始月 -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=サプライヤーのリスト ListProspectsShort=見込み客リスト ListCustomersShort=顧客リスト diff --git a/htdocs/langs/ja_JP/contracts.lang b/htdocs/langs/ja_JP/contracts.lang index 2fecc249bf7..e345fd9853e 100644 --- a/htdocs/langs/ja_JP/contracts.lang +++ b/htdocs/langs/ja_JP/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=有効期限が切れていない ServiceStatusLate=実行すると、期限切れの ServiceStatusLateShort=期限切れの ServiceStatusClosed=閉じ +ShowContractOfService=Show contract of service Contracts=契約 ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracts and line of contracts diff --git a/htdocs/langs/ja_JP/errors.lang b/htdocs/langs/ja_JP/errors.lang index f0408f5528a..c1731b214ea 100644 --- a/htdocs/langs/ja_JP/errors.lang +++ b/htdocs/langs/ja_JP/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/ja_JP/install.lang b/htdocs/langs/ja_JP/install.lang index 936bc06b28d..17edaefbcdd 100644 --- a/htdocs/langs/ja_JP/install.lang +++ b/htdocs/langs/ja_JP/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=それは、あなたのWeb​​ページのディレ LoginAlreadyExists=すでに存在しています DolibarrAdminLogin=Dolibarr adminログイン AdminLoginAlreadyExists=Dolibarr管理者アカウント"%s ' 既に存在します。あなたが別のパーティションを作成する場合は、戻ってください。 +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=警告、セキュリティ上の理由から、一度インストールまたはアップグレードが完了すると、あなたそれの悪意のある使用を避けるために、インストールディレクトリを削除するか、Dolibarrのドキュメントディレクトリにinstall.lockと呼ばれるファイルを追加する必要があります FunctionNotAvailableInThisPHP=このPHPは利用できません ChoosedMigrateScript=移行スクリプトを選択します。 diff --git a/htdocs/langs/ja_JP/mails.lang b/htdocs/langs/ja_JP/mails.lang index f161cbc2355..c3981d9ad92 100644 --- a/htdocs/langs/ja_JP/mails.lang +++ b/htdocs/langs/ja_JP/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=いいえ電子メール通知は、このイベント ANotificationsWillBeSent=1通知は電子メールで送信されます。 SomeNotificationsWillBeSent=%s通知は電子メールで送信されます。 AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=送信されたすべての電子メール通知を一覧表示します。 MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/ja_JP/main.lang b/htdocs/langs/ja_JP/main.lang index 593dc4f3668..e9c62895783 100644 --- a/htdocs/langs/ja_JP/main.lang +++ b/htdocs/langs/ja_JP/main.lang @@ -84,6 +84,7 @@ SeeAbove=上記参照 HomeArea=ホームエリア LastConnexion=最後の接続 PreviousConnexion=以前の接続 +PreviousValue=Previous value ConnectedOnMultiCompany=環境に接続 ConnectedSince=ので、接続 AuthenticationMode=での認証モード diff --git a/htdocs/langs/ja_JP/projects.lang b/htdocs/langs/ja_JP/projects.lang index 10f959600b8..ce853f1acf0 100644 --- a/htdocs/langs/ja_JP/projects.lang +++ b/htdocs/langs/ja_JP/projects.lang @@ -11,8 +11,10 @@ SharedProject=皆 PrivateProject=Project contacts MyProjectsDesc=このビューは、(型が何であれ)の連絡先であるプロジェクトに限定されています。 ProjectsPublicDesc=このビューには、読み取りを許可されているすべてのプロジェクトを紹介します。 +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=このビューはすべてのプロジェクトを(あなたのユーザー権限はあなたに全てを表示する権限を付与)を提示します。 +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=このビューは、連絡先の(種類は何でも)がプロジェクトやタスクに制限されています。 OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=プロジェクトリーダー TypeContact_project_external_PROJECTLEADER=プロジェクトリーダー diff --git a/htdocs/langs/ja_JP/stocks.lang b/htdocs/langs/ja_JP/stocks.lang index cab9b0b08ac..7ec68181d14 100644 --- a/htdocs/langs/ja_JP/stocks.lang +++ b/htdocs/langs/ja_JP/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Show warehouse MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/ja_JP/website.lang b/htdocs/langs/ja_JP/website.lang index e9b34cf8be3..6c2a8288dbb 100644 --- a/htdocs/langs/ja_JP/website.lang +++ b/htdocs/langs/ja_JP/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=ホームページに設定する RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/ka_GE/admin.lang b/htdocs/langs/ka_GE/admin.lang index ddc5b1ca34a..f6a9f3010da 100644 --- a/htdocs/langs/ka_GE/admin.lang +++ b/htdocs/langs/ka_GE/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Users & groups @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Loan Module520Desc=Management of loans Module600Name=Notifications -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Donations Module700Desc=Donation management Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Companies module setup CompanyCodeChecker=Module for third parties code generation and checking (customer or supplier) AccountCodeManager=Module for accountancy code generation (customer or supplier) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Documents templates DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Watermark on draft document @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/ka_GE/bills.lang b/htdocs/langs/ka_GE/bills.lang index 24e77f5169d..28a8ee4f110 100644 --- a/htdocs/langs/ka_GE/bills.lang +++ b/htdocs/langs/ka_GE/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/ka_GE/companies.lang b/htdocs/langs/ka_GE/companies.lang index f13a2ec02ec..44de76d2130 100644 --- a/htdocs/langs/ka_GE/companies.lang +++ b/htdocs/langs/ka_GE/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Language by default VATIsUsed=VAT is used VATIsNotUsed=VAT is not used CopyAddressFromSoc=Fill address with thirdparty address +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE is used @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organization FiscalYearInformation=Information on the fiscal year FiscalMonthStart=Starting month of the fiscal year -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=List of suppliers ListProspectsShort=List of prospects ListCustomersShort=List of customers diff --git a/htdocs/langs/ka_GE/contracts.lang b/htdocs/langs/ka_GE/contracts.lang index bb4bb033b03..08e5bb562db 100644 --- a/htdocs/langs/ka_GE/contracts.lang +++ b/htdocs/langs/ka_GE/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Not expired ServiceStatusLate=Running, expired ServiceStatusLateShort=Expired ServiceStatusClosed=Closed +ShowContractOfService=Show contract of service Contracts=Contracts ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracts and line of contracts diff --git a/htdocs/langs/ka_GE/errors.lang b/htdocs/langs/ka_GE/errors.lang index 9276b542ad7..364d60bf6b8 100644 --- a/htdocs/langs/ka_GE/errors.lang +++ b/htdocs/langs/ka_GE/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/ka_GE/install.lang b/htdocs/langs/ka_GE/install.lang index 56cf882e178..ce41ae75a30 100644 --- a/htdocs/langs/ka_GE/install.lang +++ b/htdocs/langs/ka_GE/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=It is recommanded to use a directory outside of your dir LoginAlreadyExists=Already exists DolibarrAdminLogin=Dolibarr admin login AdminLoginAlreadyExists=Dolibarr administrator account '%s' already exists. Go back, if you want to create another one. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, to avoid using install tools again, you should add a file called install.lock into Dolibarr document directory, in order to avoid malicious use of it. FunctionNotAvailableInThisPHP=Not available on this PHP ChoosedMigrateScript=Choose migration script diff --git a/htdocs/langs/ka_GE/mails.lang b/htdocs/langs/ka_GE/mails.lang index 0a945f5fd3f..ffe7d5735d1 100644 --- a/htdocs/langs/ka_GE/mails.lang +++ b/htdocs/langs/ka_GE/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=No email notifications are planned for this event and ANotificationsWillBeSent=1 notification will be sent by email SomeNotificationsWillBeSent=%s notifications will be sent by email AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=List all email notifications sent MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/ka_GE/main.lang b/htdocs/langs/ka_GE/main.lang index 40d13f564a4..18b0a7f14b8 100644 --- a/htdocs/langs/ka_GE/main.lang +++ b/htdocs/langs/ka_GE/main.lang @@ -84,6 +84,7 @@ SeeAbove=See above HomeArea=Home area LastConnexion=Last connection PreviousConnexion=Previous connection +PreviousValue=Previous value ConnectedOnMultiCompany=Connected on environment ConnectedSince=Connected since AuthenticationMode=Authentification mode diff --git a/htdocs/langs/ka_GE/projects.lang b/htdocs/langs/ka_GE/projects.lang index 1a370ecf47a..fe21b3558ba 100644 --- a/htdocs/langs/ka_GE/projects.lang +++ b/htdocs/langs/ka_GE/projects.lang @@ -11,8 +11,10 @@ SharedProject=Everybody PrivateProject=Project contacts MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type). ProjectsPublicDesc=This view presents all projects you are allowed to read. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=This view presents all projects (your user permissions grant you permission to view everything). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Project leader TypeContact_project_external_PROJECTLEADER=Project leader diff --git a/htdocs/langs/ka_GE/stocks.lang b/htdocs/langs/ka_GE/stocks.lang index ef47e3f3ce7..8d2d1739a69 100644 --- a/htdocs/langs/ka_GE/stocks.lang +++ b/htdocs/langs/ka_GE/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Show warehouse MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/ka_GE/website.lang b/htdocs/langs/ka_GE/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/ka_GE/website.lang +++ b/htdocs/langs/ka_GE/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/kn_IN/admin.lang b/htdocs/langs/kn_IN/admin.lang index ddc5b1ca34a..f6a9f3010da 100644 --- a/htdocs/langs/kn_IN/admin.lang +++ b/htdocs/langs/kn_IN/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Users & groups @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Loan Module520Desc=Management of loans Module600Name=Notifications -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Donations Module700Desc=Donation management Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Companies module setup CompanyCodeChecker=Module for third parties code generation and checking (customer or supplier) AccountCodeManager=Module for accountancy code generation (customer or supplier) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Documents templates DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Watermark on draft document @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/kn_IN/bills.lang b/htdocs/langs/kn_IN/bills.lang index 24e77f5169d..28a8ee4f110 100644 --- a/htdocs/langs/kn_IN/bills.lang +++ b/htdocs/langs/kn_IN/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/kn_IN/companies.lang b/htdocs/langs/kn_IN/companies.lang index f4799c9173e..63a2f87a654 100644 --- a/htdocs/langs/kn_IN/companies.lang +++ b/htdocs/langs/kn_IN/companies.lang @@ -74,6 +74,7 @@ DefaultLang=ಪೂರ್ವನಿಯೋಜಿತವಾದ ಭಾಷೆ VATIsUsed=ವ್ಯಾಟ್ ಬಳಸಲಾಗುತ್ತದೆ VATIsNotUsed=ವ್ಯಾಟ್ ಬಳಸಲಾಗುವುದಿಲ್ಲ CopyAddressFromSoc=ಮೂರನೇ ಪಾರ್ಟಿ ವಿಲಾಸದೊಂದಿಗೆ ವಿಳಾಸವನ್ನು ತುಂಬಿರಿ +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE ಬಳಸಲಾಗುತ್ತದೆ @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=ಸಂಘಟನೆ FiscalYearInformation=ಹಣಕಾಸಿನ ವರ್ಷದ ಮಾಹಿತಿ FiscalMonthStart=ಆರ್ಥಿಕ ವರ್ಷಾರಂಭದ ತಿಂಗಳು -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=ಪೂರೈಕೆದಾರರ ಪಟ್ಟಿ ListProspectsShort=ನಿರೀಕ್ಷಿತರ ಪಟ್ಟಿ ListCustomersShort=ಗ್ರಾಹಕರ ಪಟ್ಟಿ diff --git a/htdocs/langs/kn_IN/contracts.lang b/htdocs/langs/kn_IN/contracts.lang index bb4bb033b03..08e5bb562db 100644 --- a/htdocs/langs/kn_IN/contracts.lang +++ b/htdocs/langs/kn_IN/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Not expired ServiceStatusLate=Running, expired ServiceStatusLateShort=Expired ServiceStatusClosed=Closed +ShowContractOfService=Show contract of service Contracts=Contracts ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracts and line of contracts diff --git a/htdocs/langs/kn_IN/errors.lang b/htdocs/langs/kn_IN/errors.lang index 9276b542ad7..364d60bf6b8 100644 --- a/htdocs/langs/kn_IN/errors.lang +++ b/htdocs/langs/kn_IN/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/kn_IN/install.lang b/htdocs/langs/kn_IN/install.lang index 56cf882e178..ce41ae75a30 100644 --- a/htdocs/langs/kn_IN/install.lang +++ b/htdocs/langs/kn_IN/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=It is recommanded to use a directory outside of your dir LoginAlreadyExists=Already exists DolibarrAdminLogin=Dolibarr admin login AdminLoginAlreadyExists=Dolibarr administrator account '%s' already exists. Go back, if you want to create another one. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, to avoid using install tools again, you should add a file called install.lock into Dolibarr document directory, in order to avoid malicious use of it. FunctionNotAvailableInThisPHP=Not available on this PHP ChoosedMigrateScript=Choose migration script diff --git a/htdocs/langs/kn_IN/mails.lang b/htdocs/langs/kn_IN/mails.lang index 0a945f5fd3f..ffe7d5735d1 100644 --- a/htdocs/langs/kn_IN/mails.lang +++ b/htdocs/langs/kn_IN/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=No email notifications are planned for this event and ANotificationsWillBeSent=1 notification will be sent by email SomeNotificationsWillBeSent=%s notifications will be sent by email AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=List all email notifications sent MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/kn_IN/main.lang b/htdocs/langs/kn_IN/main.lang index 40d13f564a4..18b0a7f14b8 100644 --- a/htdocs/langs/kn_IN/main.lang +++ b/htdocs/langs/kn_IN/main.lang @@ -84,6 +84,7 @@ SeeAbove=See above HomeArea=Home area LastConnexion=Last connection PreviousConnexion=Previous connection +PreviousValue=Previous value ConnectedOnMultiCompany=Connected on environment ConnectedSince=Connected since AuthenticationMode=Authentification mode diff --git a/htdocs/langs/kn_IN/projects.lang b/htdocs/langs/kn_IN/projects.lang index 1a370ecf47a..fe21b3558ba 100644 --- a/htdocs/langs/kn_IN/projects.lang +++ b/htdocs/langs/kn_IN/projects.lang @@ -11,8 +11,10 @@ SharedProject=Everybody PrivateProject=Project contacts MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type). ProjectsPublicDesc=This view presents all projects you are allowed to read. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=This view presents all projects (your user permissions grant you permission to view everything). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Project leader TypeContact_project_external_PROJECTLEADER=Project leader diff --git a/htdocs/langs/kn_IN/stocks.lang b/htdocs/langs/kn_IN/stocks.lang index ef47e3f3ce7..8d2d1739a69 100644 --- a/htdocs/langs/kn_IN/stocks.lang +++ b/htdocs/langs/kn_IN/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Show warehouse MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/kn_IN/website.lang b/htdocs/langs/kn_IN/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/kn_IN/website.lang +++ b/htdocs/langs/kn_IN/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/ko_KR/admin.lang b/htdocs/langs/ko_KR/admin.lang index af075f38d27..59589ffdb76 100644 --- a/htdocs/langs/ko_KR/admin.lang +++ b/htdocs/langs/ko_KR/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Users & groups @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Loan Module520Desc=Management of loans Module600Name=Notifications -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Donations Module700Desc=Donation management Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Companies module setup CompanyCodeChecker=Module for third parties code generation and checking (customer or supplier) AccountCodeManager=Module for accountancy code generation (customer or supplier) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Documents templates DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Watermark on draft document @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/ko_KR/bills.lang b/htdocs/langs/ko_KR/bills.lang index 24e77f5169d..28a8ee4f110 100644 --- a/htdocs/langs/ko_KR/bills.lang +++ b/htdocs/langs/ko_KR/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/ko_KR/companies.lang b/htdocs/langs/ko_KR/companies.lang index f13a2ec02ec..44de76d2130 100644 --- a/htdocs/langs/ko_KR/companies.lang +++ b/htdocs/langs/ko_KR/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Language by default VATIsUsed=VAT is used VATIsNotUsed=VAT is not used CopyAddressFromSoc=Fill address with thirdparty address +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE is used @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organization FiscalYearInformation=Information on the fiscal year FiscalMonthStart=Starting month of the fiscal year -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=List of suppliers ListProspectsShort=List of prospects ListCustomersShort=List of customers diff --git a/htdocs/langs/ko_KR/contracts.lang b/htdocs/langs/ko_KR/contracts.lang index bb4bb033b03..08e5bb562db 100644 --- a/htdocs/langs/ko_KR/contracts.lang +++ b/htdocs/langs/ko_KR/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Not expired ServiceStatusLate=Running, expired ServiceStatusLateShort=Expired ServiceStatusClosed=Closed +ShowContractOfService=Show contract of service Contracts=Contracts ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracts and line of contracts diff --git a/htdocs/langs/ko_KR/errors.lang b/htdocs/langs/ko_KR/errors.lang index 9276b542ad7..364d60bf6b8 100644 --- a/htdocs/langs/ko_KR/errors.lang +++ b/htdocs/langs/ko_KR/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/ko_KR/install.lang b/htdocs/langs/ko_KR/install.lang index 841e8cf15ce..6266456a24c 100644 --- a/htdocs/langs/ko_KR/install.lang +++ b/htdocs/langs/ko_KR/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=It is recommanded to use a directory outside of your dir LoginAlreadyExists=Already exists DolibarrAdminLogin=Dolibarr admin login AdminLoginAlreadyExists=Dolibarr administrator account '%s' already exists. Go back, if you want to create another one. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, to avoid using install tools again, you should add a file called install.lock into Dolibarr document directory, in order to avoid malicious use of it. FunctionNotAvailableInThisPHP=Not available on this PHP ChoosedMigrateScript=Choose migration script diff --git a/htdocs/langs/ko_KR/mails.lang b/htdocs/langs/ko_KR/mails.lang index a8468f1d300..fb2db588b89 100644 --- a/htdocs/langs/ko_KR/mails.lang +++ b/htdocs/langs/ko_KR/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=No email notifications are planned for this event and ANotificationsWillBeSent=1 notification will be sent by email SomeNotificationsWillBeSent=%s notifications will be sent by email AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=List all email notifications sent MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/ko_KR/main.lang b/htdocs/langs/ko_KR/main.lang index 41224c19979..c9133c9cd30 100644 --- a/htdocs/langs/ko_KR/main.lang +++ b/htdocs/langs/ko_KR/main.lang @@ -84,6 +84,7 @@ SeeAbove=상위 보기 HomeArea=Home area LastConnexion=Last connection PreviousConnexion=Previous connection +PreviousValue=Previous value ConnectedOnMultiCompany=Connected on environment ConnectedSince=Connected since AuthenticationMode=Authentification mode diff --git a/htdocs/langs/ko_KR/projects.lang b/htdocs/langs/ko_KR/projects.lang index 1a370ecf47a..fe21b3558ba 100644 --- a/htdocs/langs/ko_KR/projects.lang +++ b/htdocs/langs/ko_KR/projects.lang @@ -11,8 +11,10 @@ SharedProject=Everybody PrivateProject=Project contacts MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type). ProjectsPublicDesc=This view presents all projects you are allowed to read. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=This view presents all projects (your user permissions grant you permission to view everything). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Project leader TypeContact_project_external_PROJECTLEADER=Project leader diff --git a/htdocs/langs/ko_KR/stocks.lang b/htdocs/langs/ko_KR/stocks.lang index 5b8936c026b..cbfca427fc3 100644 --- a/htdocs/langs/ko_KR/stocks.lang +++ b/htdocs/langs/ko_KR/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Show warehouse MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/ko_KR/website.lang b/htdocs/langs/ko_KR/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/ko_KR/website.lang +++ b/htdocs/langs/ko_KR/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/lo_LA/admin.lang b/htdocs/langs/lo_LA/admin.lang index b7045c3d438..f58f571f022 100644 --- a/htdocs/langs/lo_LA/admin.lang +++ b/htdocs/langs/lo_LA/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Users & groups @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Loan Module520Desc=Management of loans Module600Name=Notifications -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Donations Module700Desc=Donation management Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Companies module setup CompanyCodeChecker=Module for third parties code generation and checking (customer or supplier) AccountCodeManager=Module for accountancy code generation (customer or supplier) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Documents templates DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Watermark on draft document @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/lo_LA/bills.lang b/htdocs/langs/lo_LA/bills.lang index 24e77f5169d..28a8ee4f110 100644 --- a/htdocs/langs/lo_LA/bills.lang +++ b/htdocs/langs/lo_LA/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/lo_LA/companies.lang b/htdocs/langs/lo_LA/companies.lang index f13a2ec02ec..44de76d2130 100644 --- a/htdocs/langs/lo_LA/companies.lang +++ b/htdocs/langs/lo_LA/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Language by default VATIsUsed=VAT is used VATIsNotUsed=VAT is not used CopyAddressFromSoc=Fill address with thirdparty address +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE is used @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organization FiscalYearInformation=Information on the fiscal year FiscalMonthStart=Starting month of the fiscal year -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=List of suppliers ListProspectsShort=List of prospects ListCustomersShort=List of customers diff --git a/htdocs/langs/lo_LA/contracts.lang b/htdocs/langs/lo_LA/contracts.lang index bb4bb033b03..08e5bb562db 100644 --- a/htdocs/langs/lo_LA/contracts.lang +++ b/htdocs/langs/lo_LA/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Not expired ServiceStatusLate=Running, expired ServiceStatusLateShort=Expired ServiceStatusClosed=Closed +ShowContractOfService=Show contract of service Contracts=Contracts ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracts and line of contracts diff --git a/htdocs/langs/lo_LA/errors.lang b/htdocs/langs/lo_LA/errors.lang index 9276b542ad7..364d60bf6b8 100644 --- a/htdocs/langs/lo_LA/errors.lang +++ b/htdocs/langs/lo_LA/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/lo_LA/install.lang b/htdocs/langs/lo_LA/install.lang index 56cf882e178..ce41ae75a30 100644 --- a/htdocs/langs/lo_LA/install.lang +++ b/htdocs/langs/lo_LA/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=It is recommanded to use a directory outside of your dir LoginAlreadyExists=Already exists DolibarrAdminLogin=Dolibarr admin login AdminLoginAlreadyExists=Dolibarr administrator account '%s' already exists. Go back, if you want to create another one. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, to avoid using install tools again, you should add a file called install.lock into Dolibarr document directory, in order to avoid malicious use of it. FunctionNotAvailableInThisPHP=Not available on this PHP ChoosedMigrateScript=Choose migration script diff --git a/htdocs/langs/lo_LA/mails.lang b/htdocs/langs/lo_LA/mails.lang index 0a945f5fd3f..ffe7d5735d1 100644 --- a/htdocs/langs/lo_LA/mails.lang +++ b/htdocs/langs/lo_LA/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=No email notifications are planned for this event and ANotificationsWillBeSent=1 notification will be sent by email SomeNotificationsWillBeSent=%s notifications will be sent by email AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=List all email notifications sent MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/lo_LA/main.lang b/htdocs/langs/lo_LA/main.lang index ae39ab78443..e7f10e84613 100644 --- a/htdocs/langs/lo_LA/main.lang +++ b/htdocs/langs/lo_LA/main.lang @@ -84,6 +84,7 @@ SeeAbove=See above HomeArea=Home area LastConnexion=Last connection PreviousConnexion=Previous connection +PreviousValue=Previous value ConnectedOnMultiCompany=Connected on environment ConnectedSince=Connected since AuthenticationMode=Authentification mode diff --git a/htdocs/langs/lo_LA/projects.lang b/htdocs/langs/lo_LA/projects.lang index 756db35ab5a..6b6af7c469c 100644 --- a/htdocs/langs/lo_LA/projects.lang +++ b/htdocs/langs/lo_LA/projects.lang @@ -11,8 +11,10 @@ SharedProject=Everybody PrivateProject=Project contacts MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type). ProjectsPublicDesc=This view presents all projects you are allowed to read. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=This view presents all projects (your user permissions grant you permission to view everything). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Project leader TypeContact_project_external_PROJECTLEADER=Project leader diff --git a/htdocs/langs/lo_LA/stocks.lang b/htdocs/langs/lo_LA/stocks.lang index ef47e3f3ce7..8d2d1739a69 100644 --- a/htdocs/langs/lo_LA/stocks.lang +++ b/htdocs/langs/lo_LA/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Show warehouse MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/lo_LA/website.lang b/htdocs/langs/lo_LA/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/lo_LA/website.lang +++ b/htdocs/langs/lo_LA/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/lt_LT/admin.lang b/htdocs/langs/lt_LT/admin.lang index 1498cf71627..3f397d6d39c 100644 --- a/htdocs/langs/lt_LT/admin.lang +++ b/htdocs/langs/lt_LT/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Vartotojai ir grupės @@ -468,7 +471,7 @@ Module510Desc=Darbuotojų darbo užmokesčio ir išmokų valdymas Module520Name=Paskola Module520Desc=Paskolų valdymas Module600Name=Pranešimai -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Parama Module700Desc=Paramos valdymas Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Įmonių modulio nuostatos CompanyCodeChecker=Trečiųjų šalių modulio kodo generavimas ir tikrinimas (klientas ar tiekėjas) AccountCodeManager=Apskaitos modulis kodo generavimas (klientas ar tiekėjas) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Dokumentų šablonai DocumentModelOdt=Sukurti dokumentus pagal OpenDocuments šablonus (.ODT arba .OAM failus OpenOffice, KOffice, TextEdit, ...) WatermarkOnDraft=Vandens ženklas ant dokumento projekto @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Išlaidų ataskaitų modulio nustatymai TemplatePDFExpenseReports=Šablonai Išlaidų ataskaitų generavimui NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=Pranešimų kontaktui sąrašas* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=Fiksuotų pranešimų sąrašas +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Slenkstis BackupDumpWizard=Duomenų bazės atsarginės kopijos failo kūrimo vedlys diff --git a/htdocs/langs/lt_LT/bills.lang b/htdocs/langs/lt_LT/bills.lang index c6ca2527f80..f0e6333a4c5 100644 --- a/htdocs/langs/lt_LT/bills.lang +++ b/htdocs/langs/lt_LT/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/lt_LT/companies.lang b/htdocs/langs/lt_LT/companies.lang index 9b3aac5e569..f6ed7265cff 100644 --- a/htdocs/langs/lt_LT/companies.lang +++ b/htdocs/langs/lt_LT/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Kalba pagal nutylėjimą VATIsUsed=PVM yra naudojamas VATIsNotUsed=PVM nenaudojamas CopyAddressFromSoc=Užpildykite trečiosios šalies adresą +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Naudokite antrą mokestį LocalTax1IsUsedES= RE naudojamas @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organizacija FiscalYearInformation=Informacija apie finansinius metus FiscalMonthStart=Finansinių metų pirmas mėnuo -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=Tiekėjų sąrašas ListProspectsShort=Numatomų klientų sąrašas ListCustomersShort=Klientų sąrašas diff --git a/htdocs/langs/lt_LT/contracts.lang b/htdocs/langs/lt_LT/contracts.lang index 58fa565eb33..38b5356f45d 100644 --- a/htdocs/langs/lt_LT/contracts.lang +++ b/htdocs/langs/lt_LT/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Nėra pasibaigęs ServiceStatusLate=Veikia, pasibaigęs ServiceStatusLateShort=Pasibaigęs ServiceStatusClosed=Uždarytas +ShowContractOfService=Show contract of service Contracts=Sutartys ContractsSubscriptions=Sutartys / Abonentai ContractsAndLine=Sutartys ir sutarčių eilutė diff --git a/htdocs/langs/lt_LT/errors.lang b/htdocs/langs/lt_LT/errors.lang index 0d9dcf8357e..1acb72a5063 100644 --- a/htdocs/langs/lt_LT/errors.lang +++ b/htdocs/langs/lt_LT/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Nustatymo ClickToDial informacija savo va 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/lt_LT/install.lang b/htdocs/langs/lt_LT/install.lang index 0bf6f7f4be1..704e73fe45b 100644 --- a/htdocs/langs/lt_LT/install.lang +++ b/htdocs/langs/lt_LT/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=Rekomenduojama naudoti aplanką išorėje savo web pusla LoginAlreadyExists=Jau egzistuoja DolibarrAdminLogin=Dolibarr administratoriaus prisijungimas AdminLoginAlreadyExists=Dolibarr administratoriaus sąskaita '%s' jau egzistuoja. Grįžkite, jei norite sukurti dar vieną. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Įspėjimas. Dėl saugumo priežasčių, kai įdiegimas ar atnaujinimas baigtas, kad būtų išvengta diegimo iš naujo, turėtumėte pridėti failą pavadinimu install.lock į Dolibarr dokumentų aplanką, siekiant išvengti neteisingo jo naudojimo. FunctionNotAvailableInThisPHP=Negalimas su šiuo PHP ChoosedMigrateScript=Pasirinkite migracijos skriptą diff --git a/htdocs/langs/lt_LT/mails.lang b/htdocs/langs/lt_LT/mails.lang index f4841d58fa1..007c686c8f7 100644 --- a/htdocs/langs/lt_LT/mails.lang +++ b/htdocs/langs/lt_LT/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=Nėra numatytų e-pašto pranešimų šiam įvykiui ir ANotificationsWillBeSent=1 pranešimas bus išsiųstas e-paštu SomeNotificationsWillBeSent=%s pranešimai bus siunčiami e-paštu AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=Visų išsiųstų e-pašto pranešimų sąrašas MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/lt_LT/main.lang b/htdocs/langs/lt_LT/main.lang index 5b8503468e0..0f182fcb138 100644 --- a/htdocs/langs/lt_LT/main.lang +++ b/htdocs/langs/lt_LT/main.lang @@ -84,6 +84,7 @@ SeeAbove=Žiūrėti aukščiau HomeArea=Pagrindinė sritis LastConnexion=Paskutinis prisijungimas PreviousConnexion=Ankstesnis prisijungimas +PreviousValue=Previous value ConnectedOnMultiCompany=Prisijungta aplinkoje ConnectedSince=Prisijungta nuo AuthenticationMode=Autentifikavimo režimas diff --git a/htdocs/langs/lt_LT/projects.lang b/htdocs/langs/lt_LT/projects.lang index 82c07017eb0..a1cd290d9aa 100644 --- a/htdocs/langs/lt_LT/projects.lang +++ b/htdocs/langs/lt_LT/projects.lang @@ -11,8 +11,10 @@ SharedProject=Visi PrivateProject=Project contacts MyProjectsDesc=Šis vaizdas yra ribotas projektams, kuriems esate kontaktinis asmuo (koks bebūtų tipas). ProjectsPublicDesc=Šis vaizdas rodo visus projektus, kuriuos yra Jums leidžiama skaityti. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=Čia rodomi visi projektai ir užduotys, kuriuos Jums leidžiama skaityti. ProjectsDesc=Šis vaizdas rodo visus projektus (Jūsų vartotojo teisės leidžia matyti viską). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=Šis vaizdas yra ribotas projektams ar užduotims, kuriems Jūs esate kontaktinis asmuo (koks bebūtų tipas). OnlyOpenedProject=Matomi tik atidaryti projektai (projektai juodraščiai ar uždaryti projektai nematomi). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projekto vadovas TypeContact_project_external_PROJECTLEADER=Projekto vadovas diff --git a/htdocs/langs/lt_LT/stocks.lang b/htdocs/langs/lt_LT/stocks.lang index 596727f2b2c..cf8d0b5dbfb 100644 --- a/htdocs/langs/lt_LT/stocks.lang +++ b/htdocs/langs/lt_LT/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Įrašyti perdavimą ReceivingForSameOrder=Įplaukos už šį užsakymą StockMovementRecorded=Įrašyti atsargų judėjimai RuleForStockAvailability=Atsargų reikalavimų taisyklės -StockMustBeEnoughForInvoice=Atsargų kiekis turi būti pakankamas, kad įtraukti produktą / paslaugą į sąskaitą -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Show warehouse MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/lt_LT/website.lang b/htdocs/langs/lt_LT/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/lt_LT/website.lang +++ b/htdocs/langs/lt_LT/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/lv_LV/admin.lang b/htdocs/langs/lv_LV/admin.lang index 19737ca2e4c..ebc4a8edb17 100644 --- a/htdocs/langs/lv_LV/admin.lang +++ b/htdocs/langs/lv_LV/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Lietotāji un grupas @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Loan Module520Desc=Management of loans Module600Name=Paziņojumi -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Ziedojumi Module700Desc=Ziedojumu pārvaldība Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Uzņēmuma moduļa uzstādīšana CompanyCodeChecker=Modulis trešajām personām koda paaudzes un pārbaudes (klients, vai piegādātājs) AccountCodeManager=Modulis grāmatvedības kodu paaudzes (klients vai piegādātājs) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Dokumentu veidnes DocumentModelOdt=Izveidot dokumentus no OpenDocument veidnes (. ODT vai. ODS failus OpenOffice, KOffice, TextEdit, ...) WatermarkOnDraft=Ūdenszīme dokumenta projektā @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/lv_LV/bills.lang b/htdocs/langs/lv_LV/bills.lang index 1c6ca69c72c..e6c69e0128e 100644 --- a/htdocs/langs/lv_LV/bills.lang +++ b/htdocs/langs/lv_LV/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Jaunākais sasitītais rēķins WarningBillExist=Uzmanību, viens vai vairāki rēķini jau eksistē MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/lv_LV/boxes.lang b/htdocs/langs/lv_LV/boxes.lang index 06a9ca3f49b..c83db04c926 100644 --- a/htdocs/langs/lv_LV/boxes.lang +++ b/htdocs/langs/lv_LV/boxes.lang @@ -15,7 +15,7 @@ BoxLastCustomerOrders=Latest customer orders BoxLastActions=Latest actions BoxLastContracts=Latest contracts BoxLastContacts=Latest contacts/addresses -BoxLastMembers=Latest members +BoxLastMembers=Jaunākie dalībnieki BoxFicheInter=Latest interventions BoxCurrentAccounts=Open accounts balance BoxTitleLastRssInfos=Latest %s news from %s diff --git a/htdocs/langs/lv_LV/companies.lang b/htdocs/langs/lv_LV/companies.lang index 9b1d367bff5..fbad5215376 100644 --- a/htdocs/langs/lv_LV/companies.lang +++ b/htdocs/langs/lv_LV/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Valoda pēc noklusējuma VATIsUsed=PVN tiek izmantots VATIsNotUsed=PVN netiek izmantots CopyAddressFromSoc=Aizpildiet trešās puses adresi +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Pielietot otru nodokli LocalTax1IsUsedES= Tiek izmantots RE @@ -359,16 +360,17 @@ ImportDataset_company_3=Bankas rekvizīti ImportDataset_company_4=Third parties/Sales representatives (Affect sales representatives users to companies) PriceLevel=Cenu līmenis DeliveryAddress=Piegādes adrese -AddAddress=Add address +AddAddress=Pievienot adresi SupplierCategory=Piegādātāja sadaļa -JuridicalStatus200=Independent +JuridicalStatus200=Neatkarīgs DeleteFile=Izdzēst failu ConfirmDeleteFile=Vai jūs tiešām vēlaties izdzēst šo failu? AllocateCommercial=Assigned to sales representative Organization=Organizācija FiscalYearInformation=Informācija par fiskālo gadu FiscalMonthStart=Fiskālā gada pirmais mēnesis -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=Piegādātāju saraksts ListProspectsShort=Saraksts perspektīvas ListCustomersShort=Klientu saraksts diff --git a/htdocs/langs/lv_LV/contracts.lang b/htdocs/langs/lv_LV/contracts.lang index 1f08e215955..44cac3b25ee 100644 --- a/htdocs/langs/lv_LV/contracts.lang +++ b/htdocs/langs/lv_LV/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Nav beidzies ServiceStatusLate=Darbojas, beidzies ServiceStatusLateShort=Beidzies ServiceStatusClosed=Slēgts +ShowContractOfService=Show contract of service Contracts=Līgumi ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracts and line of contracts diff --git a/htdocs/langs/lv_LV/errors.lang b/htdocs/langs/lv_LV/errors.lang index 7855ae7d0bc..eb63f35d899 100644 --- a/htdocs/langs/lv_LV/errors.lang +++ b/htdocs/langs/lv_LV/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Iestatīšana ClickToDial informāciju pa WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Iespēja bloķēta kad iestatījumi ir optimizēti aklai persionai vai teksta pārlūkprogrammām WarningPaymentDateLowerThanInvoiceDate=Payment date (%s) is earlier than invoice date (%s) for invoice %s. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/lv_LV/install.lang b/htdocs/langs/lv_LV/install.lang index d81ed74c616..218282ed3ed 100644 --- a/htdocs/langs/lv_LV/install.lang +++ b/htdocs/langs/lv_LV/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=Ieteicams izmantot mapi ārpus mājas lapas failu direkt LoginAlreadyExists=Jau eksistē DolibarrAdminLogin=Dolibarr administratora lietotāja vārds AdminLoginAlreadyExists=Dolibarr administratora konts '%s' jau eksistē. Dodieties atpakaļ, ja jūs vēlaties izveidot vēl vienu kontu. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Brīdinājums, drošības apsvērumu dēļ pēc instalēšanas vai atjaunināšanas beigām, lai izvairītos no instalēšanas rīku atkārtotas izmantošanas, Jums jāpievieno failu ar nosaukumu install.lock Dolibarr dokumentu direktorijā, lai novērstu ļaunprātīgu instalācijas izmantošanu. FunctionNotAvailableInThisPHP=Nav pieejams šajā PHP versijā ChoosedMigrateScript=Izvēlieties migrācijas skriptu diff --git a/htdocs/langs/lv_LV/mails.lang b/htdocs/langs/lv_LV/mails.lang index 005811cec72..06ee8e77f47 100644 --- a/htdocs/langs/lv_LV/mails.lang +++ b/htdocs/langs/lv_LV/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=Nav e-pasta paziņojumi ir plānota šī notikuma, un ANotificationsWillBeSent=1 paziņojums tiks nosūtīts pa e-pastu SomeNotificationsWillBeSent=%s paziņojumi tiks nosūtīti pa e-pastu AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=Uzskaitīt visus e-pasta nosūtītās paziņojumus MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/lv_LV/main.lang b/htdocs/langs/lv_LV/main.lang index a451c564ba3..ab6f71a0264 100644 --- a/htdocs/langs/lv_LV/main.lang +++ b/htdocs/langs/lv_LV/main.lang @@ -84,6 +84,7 @@ SeeAbove=Skatīt iepriekš HomeArea=Mājas sadaļa LastConnexion=Pēdējā savienojums PreviousConnexion=Iepriekšējā pieslēgšanās +PreviousValue=Previous value ConnectedOnMultiCompany=Pieslēgts videi ConnectedSince=Pievienots kopš AuthenticationMode=Autentifikācija režīms diff --git a/htdocs/langs/lv_LV/projects.lang b/htdocs/langs/lv_LV/projects.lang index 4365124c06c..4d94b989448 100644 --- a/htdocs/langs/lv_LV/projects.lang +++ b/htdocs/langs/lv_LV/projects.lang @@ -11,8 +11,10 @@ SharedProject=Visi PrivateProject=Project contacts MyProjectsDesc=Šis skats ir tikai uz projektiem, jums ir kontakts (kāds ir tipa). ProjectsPublicDesc=Šo viedokli iepazīstina visus projektus jums ir atļauts lasīt. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=Šo viedokli iepazīstina visus projektus (jūsu lietotāja atļaujas piešķirt jums atļauju skatīt visu). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=Šis skats ir tikai uz projektiem vai uzdevumus, jums ir kontakts (kāds ir tipa). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projekta vadītājs TypeContact_project_external_PROJECTLEADER=Projekta vadītājs diff --git a/htdocs/langs/lv_LV/stocks.lang b/htdocs/langs/lv_LV/stocks.lang index b7748934901..76ff3fc46d8 100644 --- a/htdocs/langs/lv_LV/stocks.lang +++ b/htdocs/langs/lv_LV/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Ierakstīt transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Krājumu pārvietošana saglabāta RuleForStockAvailability=Noteikumi krājumu nepieciešamībai -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Rādīt noliktavu MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/lv_LV/website.lang b/htdocs/langs/lv_LV/website.lang index 9a49017a25d..a9f6f8a8fb4 100644 --- a/htdocs/langs/lv_LV/website.lang +++ b/htdocs/langs/lv_LV/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/mk_MK/admin.lang b/htdocs/langs/mk_MK/admin.lang index ddc5b1ca34a..f6a9f3010da 100644 --- a/htdocs/langs/mk_MK/admin.lang +++ b/htdocs/langs/mk_MK/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Users & groups @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Loan Module520Desc=Management of loans Module600Name=Notifications -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Donations Module700Desc=Donation management Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Companies module setup CompanyCodeChecker=Module for third parties code generation and checking (customer or supplier) AccountCodeManager=Module for accountancy code generation (customer or supplier) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Documents templates DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Watermark on draft document @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/mk_MK/bills.lang b/htdocs/langs/mk_MK/bills.lang index 24e77f5169d..28a8ee4f110 100644 --- a/htdocs/langs/mk_MK/bills.lang +++ b/htdocs/langs/mk_MK/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/mk_MK/companies.lang b/htdocs/langs/mk_MK/companies.lang index f13a2ec02ec..44de76d2130 100644 --- a/htdocs/langs/mk_MK/companies.lang +++ b/htdocs/langs/mk_MK/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Language by default VATIsUsed=VAT is used VATIsNotUsed=VAT is not used CopyAddressFromSoc=Fill address with thirdparty address +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE is used @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organization FiscalYearInformation=Information on the fiscal year FiscalMonthStart=Starting month of the fiscal year -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=List of suppliers ListProspectsShort=List of prospects ListCustomersShort=List of customers diff --git a/htdocs/langs/mk_MK/contracts.lang b/htdocs/langs/mk_MK/contracts.lang index bb4bb033b03..08e5bb562db 100644 --- a/htdocs/langs/mk_MK/contracts.lang +++ b/htdocs/langs/mk_MK/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Not expired ServiceStatusLate=Running, expired ServiceStatusLateShort=Expired ServiceStatusClosed=Closed +ShowContractOfService=Show contract of service Contracts=Contracts ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracts and line of contracts diff --git a/htdocs/langs/mk_MK/errors.lang b/htdocs/langs/mk_MK/errors.lang index 9276b542ad7..364d60bf6b8 100644 --- a/htdocs/langs/mk_MK/errors.lang +++ b/htdocs/langs/mk_MK/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/mk_MK/install.lang b/htdocs/langs/mk_MK/install.lang index 56cf882e178..ce41ae75a30 100644 --- a/htdocs/langs/mk_MK/install.lang +++ b/htdocs/langs/mk_MK/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=It is recommanded to use a directory outside of your dir LoginAlreadyExists=Already exists DolibarrAdminLogin=Dolibarr admin login AdminLoginAlreadyExists=Dolibarr administrator account '%s' already exists. Go back, if you want to create another one. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, to avoid using install tools again, you should add a file called install.lock into Dolibarr document directory, in order to avoid malicious use of it. FunctionNotAvailableInThisPHP=Not available on this PHP ChoosedMigrateScript=Choose migration script diff --git a/htdocs/langs/mk_MK/mails.lang b/htdocs/langs/mk_MK/mails.lang index 0a945f5fd3f..ffe7d5735d1 100644 --- a/htdocs/langs/mk_MK/mails.lang +++ b/htdocs/langs/mk_MK/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=No email notifications are planned for this event and ANotificationsWillBeSent=1 notification will be sent by email SomeNotificationsWillBeSent=%s notifications will be sent by email AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=List all email notifications sent MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/mk_MK/main.lang b/htdocs/langs/mk_MK/main.lang index 33159dcbb0a..28bd992f7e6 100644 --- a/htdocs/langs/mk_MK/main.lang +++ b/htdocs/langs/mk_MK/main.lang @@ -84,6 +84,7 @@ SeeAbove=See above HomeArea=Home area LastConnexion=Last connection PreviousConnexion=Previous connection +PreviousValue=Previous value ConnectedOnMultiCompany=Connected on environment ConnectedSince=Connected since AuthenticationMode=Authentification mode diff --git a/htdocs/langs/mk_MK/projects.lang b/htdocs/langs/mk_MK/projects.lang index 1a370ecf47a..fe21b3558ba 100644 --- a/htdocs/langs/mk_MK/projects.lang +++ b/htdocs/langs/mk_MK/projects.lang @@ -11,8 +11,10 @@ SharedProject=Everybody PrivateProject=Project contacts MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type). ProjectsPublicDesc=This view presents all projects you are allowed to read. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=This view presents all projects (your user permissions grant you permission to view everything). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Project leader TypeContact_project_external_PROJECTLEADER=Project leader diff --git a/htdocs/langs/mk_MK/stocks.lang b/htdocs/langs/mk_MK/stocks.lang index ef47e3f3ce7..8d2d1739a69 100644 --- a/htdocs/langs/mk_MK/stocks.lang +++ b/htdocs/langs/mk_MK/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Show warehouse MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/mk_MK/website.lang b/htdocs/langs/mk_MK/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/mk_MK/website.lang +++ b/htdocs/langs/mk_MK/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/mn_MN/admin.lang b/htdocs/langs/mn_MN/admin.lang index ddc5b1ca34a..f6a9f3010da 100644 --- a/htdocs/langs/mn_MN/admin.lang +++ b/htdocs/langs/mn_MN/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Users & groups @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Loan Module520Desc=Management of loans Module600Name=Notifications -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Donations Module700Desc=Donation management Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Companies module setup CompanyCodeChecker=Module for third parties code generation and checking (customer or supplier) AccountCodeManager=Module for accountancy code generation (customer or supplier) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Documents templates DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Watermark on draft document @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/mn_MN/bills.lang b/htdocs/langs/mn_MN/bills.lang index 24e77f5169d..28a8ee4f110 100644 --- a/htdocs/langs/mn_MN/bills.lang +++ b/htdocs/langs/mn_MN/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/mn_MN/companies.lang b/htdocs/langs/mn_MN/companies.lang index f13a2ec02ec..44de76d2130 100644 --- a/htdocs/langs/mn_MN/companies.lang +++ b/htdocs/langs/mn_MN/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Language by default VATIsUsed=VAT is used VATIsNotUsed=VAT is not used CopyAddressFromSoc=Fill address with thirdparty address +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE is used @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organization FiscalYearInformation=Information on the fiscal year FiscalMonthStart=Starting month of the fiscal year -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=List of suppliers ListProspectsShort=List of prospects ListCustomersShort=List of customers diff --git a/htdocs/langs/mn_MN/contracts.lang b/htdocs/langs/mn_MN/contracts.lang index bb4bb033b03..08e5bb562db 100644 --- a/htdocs/langs/mn_MN/contracts.lang +++ b/htdocs/langs/mn_MN/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Not expired ServiceStatusLate=Running, expired ServiceStatusLateShort=Expired ServiceStatusClosed=Closed +ShowContractOfService=Show contract of service Contracts=Contracts ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracts and line of contracts diff --git a/htdocs/langs/mn_MN/errors.lang b/htdocs/langs/mn_MN/errors.lang index 9276b542ad7..364d60bf6b8 100644 --- a/htdocs/langs/mn_MN/errors.lang +++ b/htdocs/langs/mn_MN/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/mn_MN/install.lang b/htdocs/langs/mn_MN/install.lang index 56cf882e178..ce41ae75a30 100644 --- a/htdocs/langs/mn_MN/install.lang +++ b/htdocs/langs/mn_MN/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=It is recommanded to use a directory outside of your dir LoginAlreadyExists=Already exists DolibarrAdminLogin=Dolibarr admin login AdminLoginAlreadyExists=Dolibarr administrator account '%s' already exists. Go back, if you want to create another one. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, to avoid using install tools again, you should add a file called install.lock into Dolibarr document directory, in order to avoid malicious use of it. FunctionNotAvailableInThisPHP=Not available on this PHP ChoosedMigrateScript=Choose migration script diff --git a/htdocs/langs/mn_MN/mails.lang b/htdocs/langs/mn_MN/mails.lang index 0a945f5fd3f..ffe7d5735d1 100644 --- a/htdocs/langs/mn_MN/mails.lang +++ b/htdocs/langs/mn_MN/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=No email notifications are planned for this event and ANotificationsWillBeSent=1 notification will be sent by email SomeNotificationsWillBeSent=%s notifications will be sent by email AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=List all email notifications sent MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/mn_MN/main.lang b/htdocs/langs/mn_MN/main.lang index a8f992bcf96..c0a58821f3d 100644 --- a/htdocs/langs/mn_MN/main.lang +++ b/htdocs/langs/mn_MN/main.lang @@ -84,6 +84,7 @@ SeeAbove=See above HomeArea=Home area LastConnexion=Last connection PreviousConnexion=Previous connection +PreviousValue=Previous value ConnectedOnMultiCompany=Connected on environment ConnectedSince=Connected since AuthenticationMode=Authentification mode diff --git a/htdocs/langs/mn_MN/projects.lang b/htdocs/langs/mn_MN/projects.lang index 1a370ecf47a..fe21b3558ba 100644 --- a/htdocs/langs/mn_MN/projects.lang +++ b/htdocs/langs/mn_MN/projects.lang @@ -11,8 +11,10 @@ SharedProject=Everybody PrivateProject=Project contacts MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type). ProjectsPublicDesc=This view presents all projects you are allowed to read. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=This view presents all projects (your user permissions grant you permission to view everything). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Project leader TypeContact_project_external_PROJECTLEADER=Project leader diff --git a/htdocs/langs/mn_MN/stocks.lang b/htdocs/langs/mn_MN/stocks.lang index ef47e3f3ce7..8d2d1739a69 100644 --- a/htdocs/langs/mn_MN/stocks.lang +++ b/htdocs/langs/mn_MN/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Show warehouse MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/mn_MN/website.lang b/htdocs/langs/mn_MN/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/mn_MN/website.lang +++ b/htdocs/langs/mn_MN/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/nb_NO/admin.lang b/htdocs/langs/nb_NO/admin.lang index 65245472ee2..7c027be7c10 100644 --- a/htdocs/langs/nb_NO/admin.lang +++ b/htdocs/langs/nb_NO/admin.lang @@ -385,6 +385,9 @@ NoDetails=Ingen flere detaljer i bunntekst DisplayCompanyInfo=Vis firmaadresse DisplayCompanyInfoAndManagers=Vis firma- og ledernavn EnableAndSetupModuleCron=Hvis du ønsker at gjentakende fakturaer skal genereres automatisk, må modulen *%s* være aktivert og riktig konfigurert. Ellers må generering av fakturaer gjøres manuelt fra denne malen med knapp *Lag*. Merk at selv om du har aktivert automatisk generering, kan du likevel trygt starte manuell generasjon. Generering av duplikater for samme periode er ikke mulig. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Brukere & grupper @@ -468,7 +471,7 @@ Module510Desc=Behandling av ansattes lønn og utbetalinger Module520Name=Lån Module520Desc=Administrering av lån Module600Name=Varselmeldinger -Module600Desc=Send epost-varslinger (aktivert av enkelte forretnings-hendelser) til tredjeparter (kan settes for den enkelte tredjepart eller bruk standardoppsett) +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Donasjoner Module700Desc=Behandling av donasjoner Module770Name=Utgiftsrapporter @@ -1067,7 +1070,10 @@ HRMSetup=Oppsett av HRM-modul CompanySetup=Firmamodul CompanyCodeChecker=Modul for tredjeparts kodegenerering og kontroll (kunde eller leverandør) AccountCodeManager=Module for regnskapskode-generering (kunde eller leverandør) -NotificationsDesc=E-postvarsling-funksjonen lar deg sende meldinger automatisk i bakgrunnen, for noen Dolibarrhendelser. Måladresser kan defineres:
* For hver tredjeparts-kontakt, en om gangen(kunder eller leverandører).
* eller ved å sette globale måladresser i oppsettmodulen +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Dokumentmaler DocumentModelOdt=Generer dokumenter fra OpenDocument-maler (.ODT eller .ODS fra OpenOffice, KOffice, TextEdit, mm) WatermarkOnDraft=Vannmerke på utkast @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Oppsett av utgiftsrapport-modulen TemplatePDFExpenseReports=Dokumentmaler for å generere utgiftsrapporter NoModueToManageStockIncrease=Ingen modul i stand til å håndtere automatisk lagerøkning er blitt aktivert. Lagerøkning kan bare gjøres manuelt. YouMayFindNotificationsFeaturesIntoModuleNotification=Du kan finne alternativer for e-postmeldinger ved å aktivere og konfigurere modulen "Varslingen". -ListOfNotificationsPerContact=Liste over varslinger per kontakt * +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=Liste over faste varslinger +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Gå på fanen "Meldinger" hos en tredjeparts-kontakt for å legge til eller fjerne varsler for kontakter/adresser Threshold=Terskel BackupDumpWizard=Veiviser for å bygge database-backup dumpfil diff --git a/htdocs/langs/nb_NO/bills.lang b/htdocs/langs/nb_NO/bills.lang index 78a661e462a..25088082d03 100644 --- a/htdocs/langs/nb_NO/bills.lang +++ b/htdocs/langs/nb_NO/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Siste tilknyttede faktura WarningBillExist=Advarsel: en eller flere fakturaer finnes allerede MergingPDFTool=Verktøy for fletting av PDF AmountPaymentDistributedOnInvoice=Beløp fordelt på faktura +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Betalingsnotat ListOfPreviousSituationInvoices=Liste over tidligere delfakturaer ListOfNextSituationInvoices=Liste over kommende delfakturaer diff --git a/htdocs/langs/nb_NO/companies.lang b/htdocs/langs/nb_NO/companies.lang index c09651e118c..a16049c1f27 100644 --- a/htdocs/langs/nb_NO/companies.lang +++ b/htdocs/langs/nb_NO/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Standardspråk VATIsUsed=MVA skal beregnes VATIsNotUsed=MVA skal ikke beregnes CopyAddressFromSoc=Fyll adresse med tredjeparts adresse +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Bruk avgift 2 LocalTax1IsUsedES= RE brukes @@ -368,7 +369,8 @@ AllocateCommercial=Tildelt salgsrepresentant Organization=Organisasjon FiscalYearInformation=Informasjon om regnskapsåret FiscalMonthStart=Første måned i regnskapsåret -YouMustCreateContactFirst=For å kunne legge til epost-varslinger, må du først legge til epost adresser for tredjeparten +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=Liste over leverandører ListProspectsShort=Liste over prospekter ListCustomersShort=Liste over kunder diff --git a/htdocs/langs/nb_NO/contracts.lang b/htdocs/langs/nb_NO/contracts.lang index b2f303c8471..6c87b7c336b 100644 --- a/htdocs/langs/nb_NO/contracts.lang +++ b/htdocs/langs/nb_NO/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Ikke utløpt ServiceStatusLate=I drift, utløpt ServiceStatusLateShort=Utløpt ServiceStatusClosed=Lukket +ShowContractOfService=Show contract of service Contracts=Kontrakter ContractsSubscriptions=Kontrakter/abonnementer ContractsAndLine=Kontrakter og kontraktlinjer diff --git a/htdocs/langs/nb_NO/errors.lang b/htdocs/langs/nb_NO/errors.lang index 08a41119950..979487c26f0 100644 --- a/htdocs/langs/nb_NO/errors.lang +++ b/htdocs/langs/nb_NO/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Oppsett av KlikkForÅRinge informasjon fo WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Egenskapen er deaktivert når visningsoppsettet er optimalisert for blinde personer eller tekstbaserte nettlesere. WarningPaymentDateLowerThanInvoiceDate=Betalingsdato (%s) er tidligere enn fakturadato (%s) for faktura %s. WarningTooManyDataPleaseUseMoreFilters=For mange data (mer enn %s linjer). Bruk flere filtre eller sett konstanten %s til en høyere grense. -WarningSomeLinesWithNullHourlyRate=Når brukere ikke legger inn timeprisen riktig, kan 0 bli registrert. Dette kan resultere i feil verdisetting av tidsbruk +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Din innlogging er blitt endret. Av sikkerhetsgrunner må du logge inn på nytt før du kan gjøre noe. diff --git a/htdocs/langs/nb_NO/install.lang b/htdocs/langs/nb_NO/install.lang index ad6e25fc2f0..1b04d0f797b 100644 --- a/htdocs/langs/nb_NO/install.lang +++ b/htdocs/langs/nb_NO/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=Det er anbefalt å bruke en annen katalog enn den for we LoginAlreadyExists=Finnes allerede DolibarrAdminLogin=Dolibarr admin login AdminLoginAlreadyExists=Dolibarr administratorkonto '%s' finnes allerede. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Advarsel, av sikkerhetshensyn, når installasjonen eller oppgraderingen er fullført, bør du fjerne mappen "install" eller endre navnet til install.lock for å unngå skadelig bruk. FunctionNotAvailableInThisPHP=Ikke tilgjengelig på denne PHP ChoosedMigrateScript=Velg migrasjonscript diff --git a/htdocs/langs/nb_NO/mails.lang b/htdocs/langs/nb_NO/mails.lang index fc95282d642..e073ed11edd 100644 --- a/htdocs/langs/nb_NO/mails.lang +++ b/htdocs/langs/nb_NO/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=Ingen e-postvarsler er planlagt for denne hendelsen/fi ANotificationsWillBeSent=1 e-postvarsel vil bli sendt med e-post SomeNotificationsWillBeSent=%s e-postvarsler vil bli sendt med e-post AddNewNotification=Aktiver ny målgruppe for epost -ListOfActiveNotifications=Liste over alle mål for e-postvarsling +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=List alle e-postmeldinger sendt MailSendSetupIs=E-postutsendelser er blitt satt opp til '%s'. Denne modusen kan ikke brukes ved masseutsendelser MailSendSetupIs2=Logg på som administrator, gå til menyen %sHjem - Oppsett - E-post%s for å endre parameter '%s' for å bruke '%s' modus. I denne modusen for du tilgang til oppsett av SMTP-server og muligheten til å bruke masseutsendelser. diff --git a/htdocs/langs/nb_NO/main.lang b/htdocs/langs/nb_NO/main.lang index cbb2dba3935..c33a99100db 100644 --- a/htdocs/langs/nb_NO/main.lang +++ b/htdocs/langs/nb_NO/main.lang @@ -84,6 +84,7 @@ SeeAbove=Se ovenfor HomeArea=Hjemmeområde LastConnexion=Siste tilkobling PreviousConnexion=Forrige tilkobling +PreviousValue=Previous value ConnectedOnMultiCompany=Tilkoblet miljø ConnectedSince=Innlogget siden AuthenticationMode=Autensiteringsmodus diff --git a/htdocs/langs/nb_NO/projects.lang b/htdocs/langs/nb_NO/projects.lang index 7ef8906438d..5aeb4f1c77f 100644 --- a/htdocs/langs/nb_NO/projects.lang +++ b/htdocs/langs/nb_NO/projects.lang @@ -11,8 +11,10 @@ SharedProject=Alle PrivateProject=Prosjektkontakter MyProjectsDesc=Denne visningen er begrenset til prosjekter du er en kontakt for (uansett type). ProjectsPublicDesc=Denne visningen presenterer alle prosjektene du har lov til å lese. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=Denne visningen presenterer alle prosjekter og oppgaver du har lov til å lese. ProjectsDesc=Denne visningen presenterer alle prosjekter (dine brukertillatelser gir deg tillatelse til å vise alt). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=Denne visningen er begrenset til prosjekter eller oppgaver du er en kontakt for (uansett type). OnlyOpenedProject=Kun åpne prosjekter er synlige (prosjektkladder og lukkede prosjekter er ikke synlige). ClosedProjectsAreHidden=Lukkede prosjekter er ikke synlige @@ -130,6 +132,9 @@ OpportunityProbability=Mulighet - sannsynlighet OpportunityProbabilityShort=Mulig.sans. OpportunityAmount=Mulighet beløp OpportunityAmountShort=Tilbudsbeløp +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Prosjektleder TypeContact_project_external_PROJECTLEADER=Prosjektleder diff --git a/htdocs/langs/nb_NO/stocks.lang b/htdocs/langs/nb_NO/stocks.lang index f2b618a3da7..f931b4cfdf1 100644 --- a/htdocs/langs/nb_NO/stocks.lang +++ b/htdocs/langs/nb_NO/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Post overført ReceivingForSameOrder=Kvitteringer for denne ordren StockMovementRecorded=Registrerte varebevegelser RuleForStockAvailability=Regler og krav for lagerbeholdning -StockMustBeEnoughForInvoice=Varebeholdning kan ikke være lavere enn antall i faktura -StockMustBeEnoughForOrder=Varebeholdning kan ikke være lavere enn antall i ordre -StockMustBeEnoughForShipment= Varebeholdning kan ikke være lavere enn antall i forsendelse +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Bevegelsesetikett InventoryCode=Bevegelse eller varelager IsInPackage=Innhold i pakken +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Vis lager MovementCorrectStock=Lagerkorreksjon for var %s MovementTransferStock=Lageroverførsel av vare %s til annet lager diff --git a/htdocs/langs/nb_NO/website.lang b/htdocs/langs/nb_NO/website.lang index 509be9a5e30..2e3fdb3e1ce 100644 --- a/htdocs/langs/nb_NO/website.lang +++ b/htdocs/langs/nb_NO/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=Vis webside i ny fane ViewPageInNewTab=Vis side i ny fane SetAsHomePage=Sett som startside RealURL=Virkelig URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/nl_BE/companies.lang b/htdocs/langs/nl_BE/companies.lang index fd5b96ed714..ab4417ce78f 100644 --- a/htdocs/langs/nl_BE/companies.lang +++ b/htdocs/langs/nl_BE/companies.lang @@ -28,7 +28,6 @@ ErrorVATCheckMS_UNAVAILABLE=Controle niet mogelijk. Controledienst wordt niet ve ContactOthers=Ander StatusProspect2=Contact lopende ImportDataset_company_4=Derde partij/Verkoopsverantwoordelijke (Affecteert verkoopsverantwoordelijke gebruikers naar bedrijven) -YouMustCreateContactFirst=U dient voor de Klant eerst contactpersonen met een e-mailadres in te stellen, voordat u kennisgevingen per e-mail kunt sturen. ProductsIntoElements=Lijst van producten/diensten in %s MergeOriginThirdparty=Kopieer derde partij (derde partij die je wil verwijderen) MergeThirdparties=Voeg derde partijen samen diff --git a/htdocs/langs/nl_NL/admin.lang b/htdocs/langs/nl_NL/admin.lang index a98d3cee192..2608b70280c 100644 --- a/htdocs/langs/nl_NL/admin.lang +++ b/htdocs/langs/nl_NL/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Gebruikers & groepen @@ -468,7 +471,7 @@ Module510Desc=Beheer van de werknemers salarissen en betalingen Module520Name=Lening Module520Desc=Het beheer van de leningen Module600Name=Kennisgevingen -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Giften Module700Desc=Donatiebeheer Module770Name=Onkostennota's @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Derde partijenmoduleinstellingen CompanyCodeChecker=Module voor de generatie en toetsing van codes voor derde partijen (afnemer of leverancier) AccountCodeManager=Module voor de generatie van boekhoudkundige codes (afnemer of leverancier) -NotificationsDesc=De e-mailkennisgevingenfunctionaliteit stelt u in staat om automatisch e-mails naar derden te versturen voor sommige Dolibarr akties. Bestemmelingen voor kennisgevingen kunnen worden ingesteld:
per relatie contact (klanten of leveranciers),
of door een globaal doeladres in te stellen. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Documentensjablonen DocumentModelOdt=Genereer documenten uit OpenDocuments sjablonen (. ODT of. ODS-bestanden voor OpenOffice, KOffice, TextEdit, ...) WatermarkOnDraft=Watermerk op conceptdocumenten @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup van module onkostennota's TemplatePDFExpenseReports=Document sjablonen om onkostennota's document te genereren NoModueToManageStockIncrease=Geen module in staat om automatische voorraad toename beheren is geactiveerd. Stock verhoging zal worden gedaan via handmatige invoer. YouMayFindNotificationsFeaturesIntoModuleNotification=U kunt opties voor e-mailberichten door het inschakelen en configureren van de module "Meldingen " te vinden. -ListOfNotificationsPerContact=Lijst van meldingen per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=Lijst met vaste meldingen +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Ga naar het tabblad 'Meldingen' van een relatie contact om meldingen voor contacten/adressen toe te voegen of te verwijderen Threshold=Drempel BackupDumpWizard=Wizard om database backup dump bestand op te bouwen diff --git a/htdocs/langs/nl_NL/bills.lang b/htdocs/langs/nl_NL/bills.lang index 28d5f5cddc4..737118e9662 100644 --- a/htdocs/langs/nl_NL/bills.lang +++ b/htdocs/langs/nl_NL/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Laatste gerelateerde factuur WarningBillExist=Waarschuwing één of meer facturen bestaan reeds MergingPDFTool=Samenvoeging PDF-tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/nl_NL/companies.lang b/htdocs/langs/nl_NL/companies.lang index adbb7a5e0fd..556b038beec 100644 --- a/htdocs/langs/nl_NL/companies.lang +++ b/htdocs/langs/nl_NL/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Standaard taal VATIsUsed=BTW wordt gebruikt VATIsNotUsed=BTW wordt niet gebruikt CopyAddressFromSoc=Vul derde partij adres in +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Gebruik tweede belasting LocalTax1IsUsedES= RE wordt gebruikt @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organisatie FiscalYearInformation=Informatie over het fiscale jaar FiscalMonthStart=Startmaand van het fiscale jaar -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=Leveranciersoverzicht ListProspectsShort=Prospectenoverzicht ListCustomersShort=Afnemersoverzicht diff --git a/htdocs/langs/nl_NL/contracts.lang b/htdocs/langs/nl_NL/contracts.lang index 3911245febc..b9733efbaa2 100644 --- a/htdocs/langs/nl_NL/contracts.lang +++ b/htdocs/langs/nl_NL/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Niet verlopen ServiceStatusLate=Actief, verlopen ServiceStatusLateShort=verlopen ServiceStatusClosed=Gesloten +ShowContractOfService=Show contract of service Contracts=Contracten ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracten en lijn van de contracten diff --git a/htdocs/langs/nl_NL/errors.lang b/htdocs/langs/nl_NL/errors.lang index a2e50375c5f..ca78d77289a 100644 --- a/htdocs/langs/nl_NL/errors.lang +++ b/htdocs/langs/nl_NL/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/nl_NL/install.lang b/htdocs/langs/nl_NL/install.lang index b0184dc1595..93d6a0b1358 100644 --- a/htdocs/langs/nl_NL/install.lang +++ b/htdocs/langs/nl_NL/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=Aanbevolen wordt een map te gebruiken buiten uw webpagin LoginAlreadyExists=Bestaat al DolibarrAdminLogin=Login van de Dolibarr beheerder AdminLoginAlreadyExists=Het beheerdersaccount '%s' bestaat al. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Waarschuwing, om veiligheidsredenen, dient u de install map na de installatie of upgrade te verwijderen of maak een bestand genaamd install.lock aan in de Dolibarr root map. FunctionNotAvailableInThisPHP=Niet beschikbaar in deze PHP installatie ChoosedMigrateScript=Kies het migratiescript diff --git a/htdocs/langs/nl_NL/mails.lang b/htdocs/langs/nl_NL/mails.lang index cf71a889d52..4cb22219437 100644 --- a/htdocs/langs/nl_NL/mails.lang +++ b/htdocs/langs/nl_NL/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=Er staan geen e-mailkennisgevingen gepland voor dit ev ANotificationsWillBeSent=1 kennisgeving zal per e-mail worden verzonden SomeNotificationsWillBeSent=%s kennisgevingen zullen per e-mail worden verzonden AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=Toon een lijst van alle verzonden kennisgevingen MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/nl_NL/main.lang b/htdocs/langs/nl_NL/main.lang index 439e25b3204..db24ad1cd49 100644 --- a/htdocs/langs/nl_NL/main.lang +++ b/htdocs/langs/nl_NL/main.lang @@ -84,6 +84,7 @@ SeeAbove=Zie hierboven HomeArea=Home LastConnexion=Laatste verbinding PreviousConnexion=Laatste keer ingelogd +PreviousValue=Previous value ConnectedOnMultiCompany=Aangesloten bij Meervoudig bedrijf ConnectedSince=Aangesloten sinds AuthenticationMode=Authentificatie modus diff --git a/htdocs/langs/nl_NL/projects.lang b/htdocs/langs/nl_NL/projects.lang index 9fe30364e3d..d984e09f177 100644 --- a/htdocs/langs/nl_NL/projects.lang +++ b/htdocs/langs/nl_NL/projects.lang @@ -11,8 +11,10 @@ SharedProject=Iedereen PrivateProject=Project contacts MyProjectsDesc=Deze weergave is beperkt tot projecten waarvoor u een contactpersoon bent (ongeacht het type). ProjectsPublicDesc=Deze weergave toont alle projecten waarvoor u gerechtigd bent deze in te zien. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=Deze weergave toont alle projecten en taken die je mag lezen. ProjectsDesc=Deze weergave toont alle projecten (Uw gebruikersrechten staan het u toe alles in te zien). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=Deze weergave is beperkt tot projecten en taken waarvoor u een contactpersoon bent (ongeacht het type). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projectmanager TypeContact_project_external_PROJECTLEADER=Projectleider diff --git a/htdocs/langs/nl_NL/stocks.lang b/htdocs/langs/nl_NL/stocks.lang index 991a3a45549..81dc8150189 100644 --- a/htdocs/langs/nl_NL/stocks.lang +++ b/htdocs/langs/nl_NL/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Kaart overbrengen ReceivingForSameOrder=Ontvangsten voor deze bestelling StockMovementRecorded=Geregistreerde voorraadbewegingen RuleForStockAvailability=Regels op voorraad vereisten -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label van de verplaatsing InventoryCode=Verplaatsing of inventaris code IsInPackage=Vervat in pakket +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Toon magazijn MovementCorrectStock=Stock correction for product %s MovementTransferStock=Voorraad overdracht van het product %s in een ander magazijn diff --git a/htdocs/langs/nl_NL/website.lang b/htdocs/langs/nl_NL/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/nl_NL/website.lang +++ b/htdocs/langs/nl_NL/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/pl_PL/admin.lang b/htdocs/langs/pl_PL/admin.lang index cce55c94af3..92efc057076 100644 --- a/htdocs/langs/pl_PL/admin.lang +++ b/htdocs/langs/pl_PL/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Użytkownicy i grupy @@ -468,7 +471,7 @@ Module510Desc=Zarządzanie wynagrodzeniami i płatnościami pracowników Module520Name=Pożyczka Module520Desc=Zarządzanie kredytów Module600Name=Powiadomienia -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Darowizny Module700Desc=Zarządzanie darowiznami Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=Ustawianie modułu HR CompanySetup=Firmy konfiguracji modułu CompanyCodeChecker=Moduł dla stron trzecich i generowania kodu kontroli (klienta lub dostawcy) AccountCodeManager=Moduł do generowania kodu rachunkowych (klienta lub dostawcy) -NotificationsDesc=Wiadomości e-mail powiadomienia funkcja pozwala na automatyczne wysyłanie poczty w milczeniu, na niektórych imprezach na Dolibarr. Cele zgłoszeń można zdefiniować:
* Na OSOBAMI kontakty (klientów i dostawców), jeden kontakt w czasie.
* Lub ustawienie globalne adresy e-mail celem w stronie konfiguracji modułu. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Szablony dokumentów DocumentModelOdt=Generowanie dokumentów z szablonów (.odt OpenDocuments lub ods pliki dla OpenOffice, KOffice, TextEdit, ...) WatermarkOnDraft=Znak wodny w sprawie projektu dokumentu @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Konfiguracja modułu kosztów raportów TemplatePDFExpenseReports=Szablony dokumentów w celu wygenerowania raportu wydatków dokument NoModueToManageStockIncrease=Nie Moduł stanie zarządzać automatyczny wzrost akcji zostało aktywowane. Wzrost Zdjęcie zostanie zrobione tylko na ręczne wprowadzanie. YouMayFindNotificationsFeaturesIntoModuleNotification=Możesz znaleźć opcje powiadomień e-mail, dzięki czemu i konfiguracji modułu "zgłoszenie". -ListOfNotificationsPerContact=Lista zgłoszeń na kontakt * +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=Lista stałych powiadomień +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Przejdź na zakładkę "Powiadomienia" o thirdparty kontaktu, aby dodać lub usunąć powiadomienia dla kontaktów / adresów Threshold=Próg BackupDumpWizard=Konfigurator wykonywania kopii zapasowej bazy danych diff --git a/htdocs/langs/pl_PL/bills.lang b/htdocs/langs/pl_PL/bills.lang index adfeb336473..34d2503626b 100644 --- a/htdocs/langs/pl_PL/bills.lang +++ b/htdocs/langs/pl_PL/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Ostatnie pokrewne faktury WarningBillExist=Ostrzeżenie, jedna lub więcej faktur istnieje MergingPDFTool=Narzędzie do dzielenia PDF AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/pl_PL/companies.lang b/htdocs/langs/pl_PL/companies.lang index c12299e1581..b908864b36d 100644 --- a/htdocs/langs/pl_PL/companies.lang +++ b/htdocs/langs/pl_PL/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Domyślny język VATIsUsed=Jest płatnikiem VAT VATIsNotUsed=Nie jest płatnikiem VAT CopyAddressFromSoc=Wypełnij danymi adresowymi kontrahenta +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Użyj drugiego podatku LocalTax1IsUsedES= RE jest używany @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organizacja FiscalYearInformation=Informacje dotyczące roku podatkowego FiscalMonthStart=Pierwszy miesiąc roku podatkowego -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=Lista dostawców ListProspectsShort=Lista potencjalnych klientów ListCustomersShort=Lista klientów diff --git a/htdocs/langs/pl_PL/contracts.lang b/htdocs/langs/pl_PL/contracts.lang index 3ded3d11411..bda3d68b3a6 100644 --- a/htdocs/langs/pl_PL/contracts.lang +++ b/htdocs/langs/pl_PL/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Nie minął ServiceStatusLate=Running, minął ServiceStatusLateShort=Minął ServiceStatusClosed=Zamknięte +ShowContractOfService=Show contract of service Contracts=Kontrakty ContractsSubscriptions=Umowy/Subskrypcje ContractsAndLine=Kontrakty i pozycje kontraktów diff --git a/htdocs/langs/pl_PL/errors.lang b/htdocs/langs/pl_PL/errors.lang index 43a6305683a..b861dbf458a 100644 --- a/htdocs/langs/pl_PL/errors.lang +++ b/htdocs/langs/pl_PL/errors.lang @@ -27,18 +27,18 @@ ErrorBadBarCodeSyntax=Zła składnia kodu kreskowego. Może ustawić typ kodu kr ErrorCustomerCodeRequired=Wymagany kod klienta ErrorBarCodeRequired=Wymagany kod kreskowy ErrorCustomerCodeAlreadyUsed=Kod klienta jest już używany -ErrorBarCodeAlreadyUsed=Kod kreskowy już używana +ErrorBarCodeAlreadyUsed=Kod kreskowy jest już używany ErrorPrefixRequired=Wymaga przedrostka ErrorBadSupplierCodeSyntax=Zła składnia dla kodu dostawcy ErrorSupplierCodeRequired=Wymagany kod dostawcy ErrorSupplierCodeAlreadyUsed=Kod dostawcy aktualnie używany ErrorBadParameters=Złe parametry -ErrorBadValueForParameter=Wrong value '%s' for parameter '%s' -ErrorBadImageFormat=Plik obrazu ma nie Obsługiwany format (Twój PHP nie obsługuje funkcje do konwersji obrazów tego formatu) +ErrorBadValueForParameter=Zła wartość '%s' dla parametru '%s' +ErrorBadImageFormat=Plik ze zdjęciem ma nie wspierany format (twoje PHP nie wspiera funcji konwersji zdjęć w tym formacie) ErrorBadDateFormat=Wartość '%s' ma zły format daty ErrorWrongDate=Data nie jest poprawna! ErrorFailedToWriteInDir=Nie można zapisać w katalogu %s -ErrorFoundBadEmailInFile=Found incorrect email syntax for %s lines in file (example line %s with email=Znaleziono nieprawidłowy adres e-mail składni %s linii w pliku (np. z linii email %s= %s) +ErrorFoundBadEmailInFile=Znaleziono nieprawidłową składnię adresu email dla %s linii w pliku (przykładowo linia %s z adresem email %s) ErrorUserCannotBeDelete=User cannot be deleted. May be it is associated to Dolibarr entities. ErrorFieldsRequired=Niektóre pola wymagane nie były uzupełnione. ErrorFailedToCreateDir=Nie można utworzyć katalogu. Sprawdź, czy serwer WWW użytkownik ma uprawnienia do zapisu do katalogu dokumentów Dolibarr. Jeśli parametr safe_mode jest włączona w tym PHP, czy posiada Dolibarr php pliki do serwera internetowego użytkownika (lub grupy). @@ -70,7 +70,7 @@ ErrorLDAPMakeManualTest=A. LDIF plik został wygenerowany w katalogu %s. Spróbu ErrorCantSaveADoneUserWithZeroPercentage=Nie można zapisać działania z "Statut nie rozpocznie", jeśli pole "wykonana przez" jest wypełniona. ErrorRefAlreadyExists=Numer identyfikacyjny używany do tworzenia już istnieje. ErrorPleaseTypeBankTransactionReportName=Wpisz nazwę banku otrzymania gdy transakcja jest zgłaszane (Format RRRRMM lub RRRRMMDD) -ErrorRecordHasChildren=Nie można usunąć rekordy, ponieważ ma pewne Childs. +ErrorRecordHasChildren=Nie można usunąc wpisów dopóki posiadają one jakieś inne potomne ErrorRecordIsUsedCantDelete=Nie można usunąc wpisu. Jest on już używany lub dołączony do innego obiektu. ErrorModuleRequireJavascript=JavaScript nie może być wyłączony aby korzystać z tej funkcji. Aby włączyć/wyłączyć Javascript, przejdź do menu Start->Ustawienia->Ekran. ErrorPasswordsMustMatch=Zarówno wpisane hasło musi się zgadzać się @@ -113,7 +113,7 @@ ErrorQtyForCustomerInvoiceCantBeNegative=Ilość linii do faktur dla klientów n ErrorWebServerUserHasNotPermission=Konto użytkownika %s wykorzystywane do wykonywania serwer WWW nie ma zgody na który ErrorNoActivatedBarcode=Nie Typ aktywny kodów kreskowych ErrUnzipFails=Nie udało się rozpakować% s ZipArchive -ErrNoZipEngine=Nie silnika rozpakować% s plik w PHP +ErrNoZipEngine=Brak silnika do rozpakowania pliku %s w PHP ErrorFileMustBeADolibarrPackage=Plik% s musi być pakiet zip Dolibarr ErrorFileRequired=To zajmuje plik pakietu Dolibarr ErrorPhpCurlNotInstalled=PHP CURL nie jest zainstalowany, to jest niezbędne, aby porozmawiać z Paypal @@ -134,7 +134,7 @@ ErrorThereIsSomeDeliveries=Błąd, występuje kilka dostaw związanych z tą prz ErrorCantDeletePaymentReconciliated=Nie można usunąć płatności, które generowane transakcji w banku, który został pojednaniem ErrorCantDeletePaymentSharedWithPayedInvoice=Nie można usunąć płatności udostępnionej przez co najmniej jednego stanu zapłaci faktury z ErrorPriceExpression1=Nie można przypisać do stałej '% s' -ErrorPriceExpression2=Nie można przedefiniować wbudowanej funkcji "% s" +ErrorPriceExpression2=Nie można przedefiniować wbudowanej funkcji "%s" ErrorPriceExpression3=Niezdefiniowana zmienna '% s' w definicji funkcji ErrorPriceExpression4=Niedozwolony znak '%s' ErrorPriceExpression5=Nieoczekiwany '%s' @@ -170,10 +170,10 @@ ErrorWarehouseRequiredIntoShipmentLine=Warehouse is required on the line to ship ErrorFileMustHaveFormat=File must have format %s ErrorSupplierCountryIsNotDefined=Country for this supplier is not defined. Correct this first. ErrorsThirdpartyMerge=Failed to merge the two records. Request canceled. -ErrorStockIsNotEnoughToAddProductOnOrder=Stock is not enougth for product %s to add it into a new order. -ErrorStockIsNotEnoughToAddProductOnInvoice=Stock is not enougth for product %s to add it into a new invoice. -ErrorStockIsNotEnoughToAddProductOnShipment=Stock is not enougth for product %s to add it into a new shipment. -ErrorStockIsNotEnoughToAddProductOnProposal=Stock is not enougth for product %s to add it into a new proposal. +ErrorStockIsNotEnoughToAddProductOnOrder=Zapas dla artykułu %s jest niewystarczający, aby dodać go do nowego zamówienia +ErrorStockIsNotEnoughToAddProductOnInvoice=Zapas dla artykułu %s jest niewystarczający, aby dodać go do nowej faktury +ErrorStockIsNotEnoughToAddProductOnShipment=Zapas dla artykułu %s jest niewystarczający, aby dodać go do nowej dostawy +ErrorStockIsNotEnoughToAddProductOnProposal=Zapas dla artykułu %s jest niewystarczający, aby dodać go do nowej propozycji handlowej # Warnings WarningPasswordSetWithNoAccount=Hasło zostało ustawione dla tego użytkownika. Jednakże nie Konto użytkownika zostało utworzone. Więc to hasło jest przechowywane, ale nie mogą być używane do logowania do Dolibarr. Może być stosowany przez zewnętrzny moduł / interfejsu, ale jeśli nie trzeba definiować dowolną logowania ani hasła do członka, można wyłączyć opcję "Zarządzaj login dla każdego członka" od konfiguracji modułu użytkownika. Jeśli potrzebujesz zarządzać logowanie, ale nie wymagają hasła, możesz zachować to pole puste, aby uniknąć tego ostrzeżenia. Uwaga: E może być również stosowany jako login, jeśli element jest połączony do użytkownika. @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Konfiguracja ClickToDial informacji dla u WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Funkcja wyłączona gdy konfiguracja wyświetlania jest zoptymalizowana pod kątem osób niewidomych lub przeglądarek tekstowych. WarningPaymentDateLowerThanInvoiceDate=Termin płatności (%s) jest wcześniejszy niż dzień wystawienia faktury (%s) dla faktury %s. WarningTooManyDataPleaseUseMoreFilters=Zbyt wiele danych (więcej niż% s linii). Proszę używać więcej filtrów lub ustawić stałą% s na wyższy limit. -WarningSomeLinesWithNullHourlyRate=Kilka razy były rejestrowane przez użytkowników, gdy ich stawka godzinowa nie zostało zdefiniowane. Wartość 0 wykorzystano, ale może to powodować niewłaściwą wyceny czasu spędzonego. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/pl_PL/install.lang b/htdocs/langs/pl_PL/install.lang index 5306268a095..12cd5391941 100644 --- a/htdocs/langs/pl_PL/install.lang +++ b/htdocs/langs/pl_PL/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=Zalecane jest by umieścić ten katalog poza katalogiem LoginAlreadyExists=Już istnieje DolibarrAdminLogin=Użytkownik administracyjny Dolibarra AdminLoginAlreadyExists=Konto administracyjne Dolibarra '%s' już istnieje. Cofnij się jeśli chcesz utworzyć kolejne. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Ostrzeżenie: ze względów bezpieczeństwa by zapobiec nieuprawnionemu użyciu po instalacji lub aktualizacji powinno się usunąć katalog install lub zmienić jego nazwę na install.lock. FunctionNotAvailableInThisPHP=Niedostępne w tej wersji PHP ChoosedMigrateScript=Wybierz skrypt migracyjny @@ -130,7 +131,7 @@ MigrationFinished=Migracja zakończona LastStepDesc=Ostatni krok: Zdefiniuj tutaj nazwę i hasło, które masz zamiar użyć do połączenia z oprogramowaniem. Zapamiętaj je, ponieważ jest to konto do administrowania wszystkimi innymi ustawieniami. ActivateModule=Aktywuj moduł %s ShowEditTechnicalParameters=Kliknij tutaj, aby pokazać / edytować zaawansowane parametry (tryb ekspert) -WarningUpgrade=Ostrzeżenie:\nCzy utworzyłeś kopię zapasową bazy danych?\nJest to wysoce zalecane: przykładowo, z powodu kilku błędów w systemie baz danych (dla przykładu wersje 5.5.40/41/42/43), niektóre dane lub tabele mogą zostac utracone podczas tego procesu, w związku z tym jest wysoce zalecane posiadanie pełnego zrzutu swojej bazy danych przed uruchomieniem migracji.\n\nKliknij OK w celu rozpoczęcia procesu migracji... +WarningUpgrade=Ostrzeżenie:\nCzy utworzyłeś kopię zapasową bazy danych?\nJest to wysoce zalecane: przykładowo, z powodu kilku błędów w systemie baz danych (dla przykładu wersje 5.5.40/41/42/43), niektóre dane lub tabele mogą zostać utracone podczas tego procesu, w związku z tym jest wysoce zalecane posiadanie pełnej kopii zapasowej swojej bazy danych przed uruchomieniem migracji.\n\nKliknij OK w celu rozpoczęcia procesu migracji... ErrorDatabaseVersionForbiddenForMigration=Twoja wersja bazy danych to %s. Ma krytyczną lukę utraty danych jeśli się zmieni struktury na bazie danych, tak jak jest to wymagane podczas procesu migracji. Z tego powodu migracje nie zostaną dopuszczone dopóki nie ulepszysz bazy danych do wyższej wersji (lista znanych wersji z lukami: %s) ######### diff --git a/htdocs/langs/pl_PL/mails.lang b/htdocs/langs/pl_PL/mails.lang index b8fa54c798b..2373d9b34c2 100644 --- a/htdocs/langs/pl_PL/mails.lang +++ b/htdocs/langs/pl_PL/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=Brak planowanych powiadomień mailowych dla tego wydar ANotificationsWillBeSent=1 zgłoszenie zostanie wysłane pocztą elektroniczną SomeNotificationsWillBeSent=%s powiadomienia będą wysyłane przez e-mail AddNewNotification=Aktywuj nowy cel powiadomienia e-mail -ListOfActiveNotifications=Lista wszystkich aktywnych celów powiadomienia e-mail +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=Lista wszystkich powiadomień wysłanych maili MailSendSetupIs=Konfiguracja poczty e-mail wysyłającego musi być połączone z '% s'. Tryb ten może być wykorzystywany do wysyłania masowego wysyłania. MailSendSetupIs2=Najpierw trzeba przejść, z konta administratora, w menu% sHome - Ustawienia - e-maile% s, aby zmienić parametr '% s' na tryb '% s' używać. W tym trybie można wprowadzić ustawienia serwera SMTP dostarczonych przez usługodawcę internetowego i używać funkcji e-maila Mszę św. diff --git a/htdocs/langs/pl_PL/main.lang b/htdocs/langs/pl_PL/main.lang index 1c5ac1488d0..1c8c184f0e2 100644 --- a/htdocs/langs/pl_PL/main.lang +++ b/htdocs/langs/pl_PL/main.lang @@ -84,6 +84,7 @@ SeeAbove=Patrz wyżej HomeArea=Strona Startowa LastConnexion=Ostatnie połączenia PreviousConnexion=Poprzednie połączenia +PreviousValue=Previous value ConnectedOnMultiCompany=Podłączono do środowiska ConnectedSince=Połączeno od AuthenticationMode=Tryb autentycznośći diff --git a/htdocs/langs/pl_PL/projects.lang b/htdocs/langs/pl_PL/projects.lang index 0b5292f4131..328b9fc008e 100644 --- a/htdocs/langs/pl_PL/projects.lang +++ b/htdocs/langs/pl_PL/projects.lang @@ -11,8 +11,10 @@ SharedProject=Wszyscy PrivateProject=Project contacts MyProjectsDesc=Ten widok jest ograniczony do projektów dla których jesteś kontaktem (cokolwiek jest w typie). ProjectsPublicDesc=Ten widok przedstawia wszystkie projekty, które możesz przeczytać. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=Ten widok przedstawia wszystkie projekty i zadania, które są dozwolone do czytania. ProjectsDesc=Ten widok przedstawia wszystkie projekty (twoje uprawnienia użytkownika pozwalają wyświetlać wszystko). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=Ten widok jest ograniczony do projektów lub zadań, dla których jesteś kontaktem (cokolwiek jest w typie). OnlyOpenedProject=Tylko otwarte projekty są widoczne (szkice projektów lub zamknięte projekty są niewidoczne) ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Kwota okazja OpportunityAmountShort=Opp. ilość +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Kierownik projektu TypeContact_project_external_PROJECTLEADER=Lider projektu diff --git a/htdocs/langs/pl_PL/stocks.lang b/htdocs/langs/pl_PL/stocks.lang index 0c4bd8eb2e0..b03fc0a4a6d 100644 --- a/htdocs/langs/pl_PL/stocks.lang +++ b/htdocs/langs/pl_PL/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Rekord transfert ReceivingForSameOrder=Wpływy do tego celu StockMovementRecorded=Zbiory zapisane ruchy RuleForStockAvailability=Zasady dotyczące dostępności zapasu -StockMustBeEnoughForInvoice=Zapas dla produktu/usługi musi być wystarczający aby je dodać do faktury -StockMustBeEnoughForOrder=Zapas dla produktu/usługi musi być wystarczający aby je dodać do zamówienia -StockMustBeEnoughForShipment= Zapas dla produktu/usługi musi być wystarczający aby je dodać do wysyłki +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Etykieta ruchu InventoryCode=Kod inwentaryzacji IsInPackage=Zawarte w pakiecie +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Pokaż magazyn MovementCorrectStock=Korekta zapasu dla artykułu %s MovementTransferStock=Transferuj zapas artykułu %s do innego magazynu diff --git a/htdocs/langs/pl_PL/website.lang b/htdocs/langs/pl_PL/website.lang index c4c2baa9d0e..eb8794cfbab 100644 --- a/htdocs/langs/pl_PL/website.lang +++ b/htdocs/langs/pl_PL/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/pt_BR/admin.lang b/htdocs/langs/pt_BR/admin.lang index 0c89c090edd..f0cf4fd2bc1 100644 --- a/htdocs/langs/pt_BR/admin.lang +++ b/htdocs/langs/pt_BR/admin.lang @@ -218,7 +218,6 @@ InfDirAlt=Desde a versão 3 é possivel definir um diretório raiz alternativo. InfDirExample=
Então declara o arquivo conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*Linhas com "#" são comentários, para descomentar somente remova os "#". YouCanSubmitFile=Selecione o módulo: CurrentVersion=Versão atual do Dolibarr -LastStableVersion=Última versão estável UpdateServerOffline=Atualização de servidor off-line GenericMaskCodes=Você pode criar suas próprias mascaras para gerar as referências automáticas.
Como exemplo inicial a mascara 'CLI{000}' vai gerar a ref. CLI001,CLI002,... as mascaras são:
Mascara de contagem {0000}, essa mascara vai contar para cada nova ref. ex:0001,0002,0003,...
Mascara de número inicial ex:{000+100} -> 101,102,103,... ex2:{0000+123} -> 0124,0125,...
Mascara da data {dd} dias (01 a 31), {mm} mês (01 a 12), {yy} {yyyy} para anos ex:{dd}/{mm}/{yy} -> 28/07/15
GenericMaskCodes2=Mascara para cópiar ref de client{cccc} ex:{cccccc}.{000} -> CLI001.001.
@@ -431,7 +430,6 @@ Permission64=Deletar Intervenções Permission71=Ler Membros Permission74=Deletar Membros Permission75=Configurar tipos e atributos dos Membros -Permission76=Exportar dados Permission78=Ler Assinaturas Permission79=Criar/Modificar Assinaturas Permission81=Ler Pedidos de Clientes @@ -843,7 +841,6 @@ HRMSetup=Configuração do módulo RH CompanySetup=Configurações de módulo das empresas CompanyCodeChecker=Módulo de geração e verificação de códigos de terceiros (cliente ou fornecedor) AccountCodeManager=Módulo de geração de códigos de contabilidade (clientes ou fornecedores) -NotificationsDesc=Função de notificação por email permite você enviar silenciosamente emails automáticos, em alguns eventos do Dolibarr, terceiros (clientes ou fornecedores) que é configurado para o mesmo. Escolher em ativar notificações e alvos a contatar é feito no tempo do terceiro. ModelModules=Templates de documentos DocumentModelOdt=Gerar documentos dos templates livres (Arquivos .ODT ou .ODS do libreoffice, KOffice, TextEdit, ...) WatermarkOnDraft=Marca d'água no documento de rascuno @@ -1172,7 +1169,6 @@ TypePaymentDesc=0: Pagamento para Cliente, 1: Pagamento para Fornecedor, 2: Paga IncludePath=Incluir caminho (definido na variável %s) TemplatePDFExpenseReports=Modelos de documentos para gerar despesa documento de relatório YouMayFindNotificationsFeaturesIntoModuleNotification=Você pode encontrar opções para notificações por email por habilitar e configurar o módulo "Notificação". -ListOfNotificationsPerContact=Lista de notificações por contato* ListOfFixedNotifications=Lista de notificações fixas GoOntoContactCardToAddMore=Vá na guia "Notificações" de um contato thirdparty para adicionar ou remover notificações para contatos / endereços Threshold=Limite diff --git a/htdocs/langs/pt_BR/contracts.lang b/htdocs/langs/pt_BR/contracts.lang index af4cc54fc3e..f167a34720b 100644 --- a/htdocs/langs/pt_BR/contracts.lang +++ b/htdocs/langs/pt_BR/contracts.lang @@ -1,53 +1,56 @@ # Dolibarr language file - Source file is en_US - contracts -ContractsArea=Área Contratos -ListOfContracts=Lista de Contratos -AllContracts=Todos os Contratos -ContractCard=Ficha Contrato -ContractStatusNotRunning=Fora de Serviço -ServiceStatusInitial=Inativo -ServiceStatusRunning=Em Serviço -ServiceStatusNotLate=Rodando, nao vencido -ServiceStatusNotLateShort=Nao vencido -ServiceStatusLate=Em Serviço, Expirado +ContractsArea=Área de contratos +ListOfContracts=Lista de contratos +AllContracts=Todos os contratos +ContractCard=Ficha do contrato +ContractStatusNotRunning=Fora de vigência +ServiceStatusInitial=Fora de vigência +ServiceStatusRunning=Em vigência +ServiceStatusNotLate=Em vigência, não vencido +ServiceStatusNotLateShort=Não vencido +ServiceStatusLate=Em vigência, vencido +ServiceStatusLateShort=Vencido ServiceStatusClosed=Encerrado Contracts=Contratos ContractsSubscriptions=Contratos ContractLine=Linha contrato Closing=Fechando -NoContracts=Sem Contratos -MenuInactiveServices=Serviços Inativos -MenuRunningServices=Serviços Ativos +NoContracts=Sem contratos +MenuInactiveServices=Serviços inativos +MenuRunningServices=Serviços em vigência +MenuExpiredServices=Serviços vencidos +MenuClosedServices=Serviços fechados +NewContract=Novo contrato NewContractSubscription=Novo contrato/subscrição AddContract=Criar contrato -ConfirmDeleteAContract=Tem certeza que quer eliminar este contrato? +DeleteAContract=Eliminar um contrato +CloseAContract=Fechar um contrato +ConfirmDeleteAContract=Quer mesmo eliminar este contrato e todos os seus serviços? ConfirmValidateContract=Tem certeza que quer Confirmar este contrato? ConfirmCloseContract=Tem certeza que quer Fechar este contrato? ConfirmCloseService=Tem certeza que quer Fechar este serviço? ActivateService=Ativar o serviço ConfirmActivateService=Tem certeza que quer ativar este serviço em data %s? RefContract=Referencia contrato -DateContract=Data Contrato -DateServiceActivate=Data Ativação do Serviço -ShowContract=Mostrar Contrato -ListOfServices=Lista de Serviços +DateContract=Data do contrato +DateServiceActivate=Data de ativação do serviço ListOfInactiveServices=Lista servicos inativos ListOfExpiredServices=Lista servicos ativos vencidos -ListOfClosedServices=Lista servicos fechados ListOfRunningServices=Lista de Serviços Ativos NotActivatedServices=Serviços Desativados (Com os Contratos Validados) BoardNotActivatedServices=Serviços a Ativar (Com os Contratos Validados) -LastContracts=Os %s últimos contratos -LastModifiedServices=Os %s últimos Serviços Modificados -ContractStartDate=Data Inicio -ContractEndDate=Data Finalização -DateStartPlanned=Data Prevista de Colocação em Serviço +LastContracts=Últimos %s contratos +LastModifiedServices=Últimos %s serviços modificados +ContractStartDate=Data de início +ContractEndDate=Data de encerramento +DateStartPlanned=Data de início prevista DateStartPlannedShort=Data Inicio Prevista DateEndPlanned=Data Prevista Fim do Serviço DateEndPlannedShort=Data Fim Prevista DateStartReal=Data Real Colocação em Serviço -DateStartRealShort=Data Inicio +DateStartRealShort=Data real de início DateEndReal=Data Real Fim do Serviço -DateEndRealShort=Data Real Finalização +DateEndRealShort=Data real de encerramento CloseService=Finalizar Serviço BoardRunningServices=Serviços Ativos Expirados ServiceStatus=Estado do Serviço diff --git a/htdocs/langs/pt_BR/errors.lang b/htdocs/langs/pt_BR/errors.lang index 5a399777ac0..7f4a7bc39bb 100644 --- a/htdocs/langs/pt_BR/errors.lang +++ b/htdocs/langs/pt_BR/errors.lang @@ -172,5 +172,4 @@ WarningClickToDialUserSetupNotComplete=Configuração de informações ClickToDi WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Função desabilitada quando a tela e optimizada para uso das pessoas cegas ou navegadores de texto. WarningPaymentDateLowerThanInvoiceDate=A data de pagamento (%s) é anterior a data (%s) da fatura %s. WarningTooManyDataPleaseUseMoreFilters=Dados em demasia (mais de %s linhas). Por favor, utilize mais filtros ou defina a constante %s para um limite maior. -WarningSomeLinesWithNullHourlyRate=Algumas vezes foram registrados por usuários mesmo sem o custo/hora definido. O valor 0 foi utilizado, mas isso pode resultar na avaliação errada do tempo gasto. WarningYourLoginWasModifiedPleaseLogin=O seu login foi modificado. Por questões de segurança, você terá de autenticar-se com o seu novo login antes da próxima ação. diff --git a/htdocs/langs/pt_BR/install.lang b/htdocs/langs/pt_BR/install.lang index 1fe654b51cf..6bad0fb911f 100644 --- a/htdocs/langs/pt_BR/install.lang +++ b/htdocs/langs/pt_BR/install.lang @@ -1,42 +1,41 @@ # Dolibarr language file - Source file is en_US - install -InstallEasy=Tentámos tornar a instalação do Dolibarr o mais fácil possível. É favor seguir as instruções passo-a-passo. -MiscellaneousChecks=Checkando pré-requisitos +InstallEasy=Apenas siga as instruções passo a passo. +MiscellaneousChecks=Verificando pré-requisitos ConfFileExists=O arquivo de configuração conf.php existe. -ConfFileDoesNotExistsAndCouldNotBeCreated=Arquivo de configuração %s não existe e não poderia ser criado! +ConfFileDoesNotExistsAndCouldNotBeCreated=Arquivo de configuração %s não existe e não pode ser criado! ConfFileCouldBeCreated=O arquivo de configuração conf.php pôde ser criado. ConfFileIsNotWritable=O arquivo de configuração conf.php não é passível de escrita, verifique as permissões sff, o seu servidor web tem de ter permissões de escrita neste arquivo cem Linux, chmod 666). ConfFileIsWritable=O arquivo de configuração conf.php tem as permissões corretas. ConfFileReload=Recarregar todas as informaçoes do arquivo de configuraçao. -PHPSupportSessions=Esta PHP suporta sessões. -PHPSupportPOSTGETOk=Esta PHP suporta variáveis GET e POST. -PHPSupportPOSTGETKo=É possível configurar o PHP não suporta variáveis POST e / ou GET. Verifique se o seu parâmetro variables_order em php.ini. -PHPSupportGD=Este suporte PHP GD gráfica funções. -PHPSupportUTF8=Este suporte PHP UTF8 funções. -PHPMemoryOK=Seu PHP max sessão memória está definido para %s. Isto deve ser suficiente. -PHPMemoryTooLow=Seu PHP max sessão memória está definido para %s bytes. Isto deve ser muito baixo. Alterar o seu php.inem memory_limit para definir parâmetro para pelo menos %s bytes. -ErrorPHPDoesNotSupportSessions=Sua instalação não suporta PHP sessões. Esta característica é necessária para tornar Dolibarr trabalho. Verifique a sua configuração do PHP. -ErrorPHPDoesNotSupportGD=Sua instalação PHP não suporta gráficos função GD. Não gráfico estarão disponíveis. -ErrorPHPDoesNotSupportUTF8=Sua instalação PHP não suporta UTF8 funções. Dolibarr pode não funcionar corretamente. Resolva este antes de instalar Dolibarr. +PHPSupportPOSTGETKo=É possível que a sua instalação do PHP não possui suporte ou não está habilitado o suporte à variáveis POST e / ou GET. Verifique seu parâmetro variables_order em seu arquivo de configuração php.ini. +PHPSupportGD=Seu PHP possui suporte as funções gráficas GD. +PHPSupportUTF8=Seu PHP possui suporte as funções UTF8. +PHPMemoryOK=Seu parametro PHP max session memory está definido para %s. Isto deve ser suficiente. +PHPMemoryTooLow=Seu parametro PHP max session memory está definido para %s bytes. Isto deve ser muito baixo. Alterar o seu arquivo php.ini em memory_limit para definir parâmetro para pelo menos %s bytes. +ErrorPHPDoesNotSupportSessions=Sua instalação PHP não suporta sessões. Esta característica é necessária para tornar Dolibarr funcional. Verifique a sua configuração do PHP. +ErrorPHPDoesNotSupportGD=Sua instalação PHP não suporta gráficos ou não possui a função GD. Gráficos não estarão disponíveis. +ErrorPHPDoesNotSupportUTF8=Sua instalação PHP não suporta UTF8. Dolibarr pode não funcionar corretamente. Resolva antes de continuar a instalar o Dolibarr. ErrorDirDoesNotExists=Diretório %s não existe. -ErrorGoBackAndCorrectParameters=Ir para trás e corrigir errado parâmetros. +ErrorGoBackAndCorrectParameters=Voltar e corrigir parâmetros incorretos. ErrorWrongValueForParameter=Você pode ter digitado um valor incorreto para o parâmetro ' %s'. ErrorFailedToCreateDatabase=Erro ao criar a base de dados' %s'. ErrorFailedToConnectToDatabase=Falha ao conectar com o banco de dados' %s'. -ErrorDatabaseVersionTooLow=Versao banco de dados (%s) velho de mais. Versao %s ou maior e requerida. -ErrorPHPVersionTooLow=PHP versão muito antiga. Versão %s é requerida. +ErrorDatabaseVersionTooLow=Versao do banco de dados (%s) é muito antiga. Versao %s ou maior e requerida. +ErrorPHPVersionTooLow=A versão do PHP é muito antiga. Versão %s é requerida. ErrorConnectedButDatabaseNotFound=Login ao servidor com êxito, mas database ' %s' não foi encontrado. ErrorDatabaseAlreadyExists=Base de dados' %s' já existe. IfDatabaseNotExistsGoBackAndUncheckCreate=Se não existe base de dados, volte e verifique a opção "Criar uma base de dados". -IfDatabaseExistsGoBackAndCheckCreate=Caso dados já existe, volte e desmarque "Criar uma base de dados" opção. -WarningBrowserTooOld=Navegador antigo. Faça a atualizaçao do seu navegador para uma versao mais recente de Firefox, Chrome ou Opera, e altamente recomendado. -License=A usar licença +IfDatabaseExistsGoBackAndCheckCreate=Caso dados já existe, volte e desmarque a opção "Criar uma base de dados". +WarningBrowserTooOld=Navegador antigo. Faça a atualizaçao do seu navegador para uma versao mais recente de Firefox, Chrome ou Opera ( altamente recomendado). +License=Usando licença ConfigurationFile=Arquivo de configuração -WebPagesDirectory=Directoria onde armazenar as páginas web -DocumentsDirectory=Directoria onde armazenar documentos enviados e/ou gerados -URLRoot=URL de raiz +WebPagesDirectory=Diretório onde armazenar as páginas web +DocumentsDirectory=Diretório onde armazenar documentos enviados e/ou gerados +URLRoot=URL raiz ForceHttps=Forcar conexoes seguras (https) CheckToForceHttps=Escolha esta opcao para forcar conexoes seguras (https).
Isto requere que o servidor web esta configurado para uso com certificado SSL. DolibarrDatabase=Base de dados Dolibarr +ServerAddressDescription=Nome ou endereço IP para o servidor de banco de dados (database server), normalmente 'localhost' quando o banco de dados está hospedado no mesmo servidor que o servidor web ServerPortDescription=Database server port. Mantenha vazio se desconhecido. DatabasePrefix=Prefixo tabela banco de dados AdminLogin=Login para o administrador da base de dados Dolibarr. Deixar em branco se a conexão é feita com anônimo @@ -44,53 +43,55 @@ PasswordAgain=Introduza a password uma segunda vez AdminPassword=Password para o administrador da base de dados Dolibarr. Deixar em branco se a conexão é feita com anônimo CreateDatabase=Criar uma base de dados DatabaseSuperUserAccess=Base de dados - Acesso Superuser -CheckToCreateDatabase=Verifique se caixa de dados não existe e deve ser criado.
Neste caso, você deve preencher o login / senha para o superusuário em conta, na parte inferior desta página. -CheckToCreateUser=Caixa de login, se não existe e deve ser criado.
Neste caso, você deve preencher o login / senha para o superusuário em conta, na parte inferior desta página. -DatabaseRootLoginDescription=Login do usuário permissão para criar novas bases de dados ou de novos usuários, inútil se o seu banco de dados e seu banco de dados já existe login (como quando você está hospedado por um provedor de hospedagem da web). +CheckToCreateDatabase=Verifique se o banco de dados não existe e deve ser criado.
Neste caso, você deve preencher o login / senha para a conta de superuser, na parte inferior desta página. +CheckToCreateUser=Marque esta opção se o dono do banco de dados não existe e deve ser criado.
Neste caso, você deve preencher o login / senha para o superusuário em conta, na parte inferior desta página. +DatabaseRootLoginDescription=Login do usuário que possui permissão para criar novas bases de dados ou de novos usuários em banco de dados, inútil se o seu banco de dados e seu banco de dados já existe login (como quando você está hospedado por um provedor de hospedagem da web). KeepEmptyIfNoPassword=Deixar em branco se o usuário não tiver password SaveConfigurationFile=Gravar configuração ServerConnection=Conexão ao servidor -DatabaseCreation=Database criação +DatabaseCreation=Criação da base de dados UserCreation=Usuário criação CreateDatabaseObjects=Criação dos objetos na base de dados... -ReferenceDataLoading=Dados de base a carregar... -TablesAndPrimaryKeysCreation=Tabelas e chaves primárias criação -OtherKeysCreation=Chaves estrangeiras e índices criação -FunctionsCreation=Funções criação -AdminAccountCreation=A criar login do Administradore +ReferenceDataLoading=Carregando Dados de base... +TablesAndPrimaryKeysCreation=Criação de tabelas e chaves primárias... +OtherKeysCreation=Criação de chaves estrangeiras e índices... +FunctionsCreation=Criação de Funções... +AdminAccountCreation=Criando login do Administrador PleaseTypePassword=Por favor escreva uma password, passwords vazias não são permitidas ! PleaseTypeALogin=Por favor escreva um login ! -PasswordsMismatch=As passwords diferem, tente novamente sff ! +PasswordsMismatch=As passwords diferem, tente novamente ! SystemIsInstalled=Instalação completa. SystemIsUpgraded=Dolibarr foi atualizado com êxito. -YouNeedToPersonalizeSetup=Agora necessita de configurar o Dolibarr por forma a corresponder às suas necessidades (aspecto, funcionalidades, ...). Para tal clique no seguinte link: -AdminLoginCreatedSuccessfuly=Login de Administrador criado com sucesso. -GoToDolibarr=Vai para Dolibarr -GoToSetupArea=Prosseguir para a área de configuração -MigrationNotFinished=A versao do banco de dados nao e competamente atualizada, voce tera que aviar o processo de atualizacao novamente. +YouNeedToPersonalizeSetup=Você precisa configurar o Dolibarr para atender às suas necessidades (aspecto, funcionalidades, ...). Para isto clique no seguinte link: +AdminLoginCreatedSuccessfuly=Login de administrador Dolibarr '%s' criado com sucesso. +GoToDolibarr=ir para Dolibarr +GoToSetupArea=Ir para a área de configuração +MigrationNotFinished=A versao do banco de dados nao e competamente atualizada, voce tera que rodar o processo de atualizacao novamente. GoToUpgradePage=Vai para a pagina de atualizaçao novamente WithNoSlashAtTheEnd=Sem a barra "/" no final -DirectoryRecommendation=É recomendado que você ponha esta directry das páginas da web diretório. +DirectoryRecommendation=É recomendado que você use este diretório fora do diretório das suas páginas web. AdminLoginAlreadyExists=Dolibarr conta administrador ' %s' já existe. WarningRemoveInstallDir=Atenção, por razões de segurança, uma vez que a instalação ou atualização estiver completa, você deve remover o diretório de instalação ou renomeá-lo para install.lock a fim de evitar o seu uso malicioso. -DatabaseMigration=Estrutura migração de dados -ProcessMigrateScript=Script transformação +ChoosedMigrateScript=Migrar script selecionado +DatabaseMigration=Estrutura de migração de dados +ProcessMigrateScript=Processamento de Script ChooseYourSetupMode=Escolha o seu modo de configuração e clique em "Iniciar" ... -FreshInstall=Fresh instalar -FreshInstallDesc=Utilize este modo, se esta for a primeira instalação. Se não, este modo pode reparar uma instalação anterior incompleto, mas se você deseja atualizar sua versão, selecione "Atualizar" modo. -UpgradeDesc=Use este modo se você tiver substituído Dolibarr antigos arquivos com arquivos de uma versão mais recente. Isto irá atualizar o seu banco de dados e dados. -InstallNotAllowed=Instalação não permitidas pela conf.php permissões -YouMustCreateWithPermission=Você deve criar o arquivo %s e definir permissões escrever sobre ele para instalar o servidor web durante o processo. -CorrectProblemAndReloadPage=Corrija o problema e pressione a tecla F5 para recarregar página. -AlreadyDone=Já migrou +FreshInstall=Nova instalação +FreshInstallDesc=Utilize este modo se esta for a primeira instalação. Se não, este modo pode reparar uma instalação anterior incompleto, mas se você deseja atualizar sua versão, selecione o modo "Upgrade". +UpgradeDesc=Use este modo se você substituiu arquivos antigos do Dolibarr por arquivos de uma versão mais recente. Isto irá atualizar seu banco de dados e dados instalados. +InstallNotAllowed=Instalação não permitidas pelas permissões no conf.php +YouMustCreateWithPermission=Você deve criar o arquivo %s e definir permissões de escrita sobre ele para instalar o servidor web durante o processo. +CorrectProblemAndReloadPage=Corrija o problema e pressione a tecla F5 para recarregar a página. +AlreadyDone=Migração OK DatabaseVersion=Database versão -YouMustCreateItAndAllowServerToWrite=Você deve criar este diretório e para permitir que o servidor da web para escrever nela. -DBSortingCollation=Caracteres triagem fim -YouAskDatabaseCreationSoDolibarrNeedToConnect=Você pergunta para criar base de dados %s, mas, para isso, Dolibarr necessidade de se conectar ao servidor com o super-usuário %s %s permissões. -YouAskLoginCreationSoDolibarrNeedToConnect=Você pergunta para criar base de dados login %s, mas, para isso, Dolibarr necessidade de se conectar ao servidor com o super-usuário %s %s permissões. -OrphelinsPaymentsDetectedByMethod=Orphelins pagamento detectado pelo método %s -RemoveItManuallyAndPressF5ToContinue=Removê-lo manualmente e pressione F5 para continuar. +YouMustCreateItAndAllowServerToWrite=Você deve criar este diretório para permitir que o servidor web escreva no mesmo. +DBSortingCollation=Ordenação dos caracteres +YouAskDatabaseCreationSoDolibarrNeedToConnect=Você deseja criar a base de dados %s, mas, para isso, o Dolibarr precisa se conectar ao servidor com permissões de super-usuário %s %s. +YouAskLoginCreationSoDolibarrNeedToConnect=Você deseja criar a base de dados %s, mas, para isso, o Dolibarr precisa se conectar ao servidor com permissões de super-usuário %s %s. +BecauseConnectionFailedParametersMayBeWrong=Como a conexão falhou, o host, super-usuário ou outro falhou +OrphelinsPaymentsDetectedByMethod=Pagamentos órfãos detectado pelo método %s IfLoginDoesNotExistsCheckCreateUser=Se login não existe ainda, você deve verificar a opção "Criar usuário" +ErrorConnection=Servidor " %s", nome do banco de dados " %s", login " %s", ou senha do banco de dados pode estar errado ou a versão cliente do PHP pode ser muito antiga para comparação de dados com a versão do banco. InstallChoiceRecommanded=Versao recomendada para instalação %s da sua versao corrente %s InstallChoiceSuggested=Escolha sugerida pelo sistema de installação MigrateIsDoneStepByStep=A versão (%s) alvo tem uma lacuna de varias versões, portanto o asistente de instalação retornara com a sugestão seguinte apos terminado esta instalação. @@ -100,43 +101,52 @@ OpenBaseDir=Parametro PHP openbasedir YouAskToCreateDatabaseSoRootRequired=Voce selecionou a caixa "Criar banco de dados". Portanto você tem que fornecer as credenciais de acesso do Administrador (usuario/senha no final do formulario). YouAskToCreateDatabaseUserSoRootRequired=Voce selecionou a caixa "Criar proprietario do banco de dados". Portanto você tem que fornecer as credenciais de acesso do Administrador (usuario/senha no final do formulario). NextStepMightLastALongTime=O passo seguinte pode demorar alguns minutos. Por favor aguarde ate que a proxima tela seja mostrada completamente. -MigrationCustomerOrderShipping=Migrar espedicao para pedidos de cliente de armazenamento -MigrationShippingDelivery=Atualizar armazenamento de espediçoes -MigrationShippingDelivery2=Atualizar armazenamento de espediçao 2 +MigrationCustomerOrderShipping=Migrar expedição para pedidos de cliente de armazenamento +MigrationShippingDelivery=Atualizar armazenamento de expedições +MigrationShippingDelivery2=Atualizar armazenamento de expedição 2 LastStepDesc=Ultimo passo: Defina aqui o usuario e a senha que voce planeja usar para conectar-se ao software. Nao perca estas credenciais, pois sao da conta que administra todas as outras contas. ActivateModule=Ativar modulo %s ShowEditTechnicalParameters=Clique aqui para mostrar/editar parametros avançados (modo avançado) -WarningUpgrade=Aviso:\nExecutar um backup de seu banco de dados em primeiro lugar?\nIsto é altamente recomendado: por exemplo, devido a alguns erros em sistemas de bases de dados (por exemplo mysql versão 5.5.40 / 41/42/43), alguns dados ou tabelas pode ser perdido durante este processo, por isso é altamente recomendado ter um dump completo de seu banco de dados antes de iniciar a migração.\n\nClique em OK para iniciar o processo de migração ... +WarningUpgrade=Aviso:\nExecutar um backup de seu banco de dados em primeiro lugar?\nIsto é altamente recomendado: por exemplo, devido a alguns erros em sistemas de bases de dados (por exemplo mysql versão 5.5.40 / 41/42/43), alguns dados ou tabelas podem ser perdidos durante este processo, por isso é altamente recomendado ter um dump completo de seu banco de dados antes de iniciar a migração.\n\nClique em OK para iniciar o processo de migração ... ErrorDatabaseVersionForbiddenForMigration=Sua versão de banco de dados é %s. Ele tem uma perda de dados tomada de bug crítico se você fizer mudanças na estrutura de seu banco de dados, como é exigido pelo processo de migração. Por sua razão, a migração não será permitida até que você atualize seu banco de dados para uma versão fixa superior (lista de versão grampeado conhecido: %s) MigrationFixData=Correção para dados não normalizados +MigrationOrder=Migração de dados para ordens de clientes MigrationProposal=Migração de dados de propostas comerciais -MigrationInvoice=Migração de dados para os clientes "faturas -MigrationUpdateFailed=Falied atualizar processo +MigrationInvoice=Migração de dados para as faturas de clientes +MigrationSuccessfullUpdate=Atualizado com sucesso +MigrationUpdateFailed=Falha no processo de upgrade/atualização MigrationRelationshipTables=Migração de dados para as tabelas de relação (%s) +MigrationPaymentsUpdate=Correção de dados de pagamento +MigrationProcessPaymentUpdate=Atualização de pagamento (s) %s MigrationPaymentsNothingUpdatable=Não mais pagamentos que podem ser corrigidos -MigrationContractsUpdate=Contrato correção de dados -MigrationContractsEmptyDatesUpdate=Contrato vazio data correção -MigrationContractsEmptyDatesUpdateSuccess=Contrato emtpy data correção feita com sucesso -MigrationContractsEmptyDatesNothingToUpdate=Nenhum contrato vazio data para corrigir -MigrationContractsInvalidDatesUpdate=Bad data valor contrato correção -MigrationContractsInvalidDateFix=Corret contrato %s (Contrato date -MigrationContractsInvalidDatesNothingToUpdate=Não data com valor negativo para corrigir -MigrationContractsIncoherentCreationDateUpdate=Bad valor contrato data de criação correção -MigrationContractsIncoherentCreationDateUpdateSuccess=Bad valor contrato data de criação correção feita com sucesso -MigrationContractsIncoherentCreationDateNothingToUpdate=Não mau contrato data de criação de valor para corrigir -MigrationReopeningContracts=Abrir contrato encerrado pelo erro -MigrationReopeningContractsNothingToUpdate=Não encerrado contrato para abrir -MigrationBankTransfertsUpdate=Atualizar vínculos entre banco e uma transação bancária transferência -MigrationShipmentOrderMatching=Sendings recepção atualização -MigrationDeliveryDetail=Entraga atualizada +MigrationContractsUpdate=Correção de dados de contrato +MigrationContractsLineCreation=Criar uma linha de contrato ref %s +MigrationContractsEmptyDatesUpdate=Data de correção de contrato vazio +MigrationContractsEmptyDatesUpdateSuccess=Correção de data de contrato vazia feita com sucesso +MigrationContractsEmptyDatesNothingToUpdate=Nenhuma data de contrato vazio para corrigir +MigrationContractsEmptyCreationDatesNothingToUpdate=Nenhuma data de criação de contrato para corrigir +MigrationContractsInvalidDatesUpdate=Valor de data de correção de contrato incorreta +MigrationContractsInvalidDateFix=Contrato Correto %s (Data do Contrato=%s, Data do inicio do serviço=%s) +MigrationContractsInvalidDatesNothingToUpdate=Sem data com valor incorreto à corrigir +MigrationContractsIncoherentCreationDateUpdate=Data de correção de data de criação do contrato +MigrationContractsIncoherentCreationDateNothingToUpdate=Sem valor incorreto na data de criação de contrato para correção +MigrationReopeningContracts=Abrir contrato fechado por erro +MigrationReopenThisContract=Reabrir contrato %s +MigrationReopeningContractsNothingToUpdate=Sem contratos encerrados para abrir +MigrationBankTransfertsUpdate=Atualizar links entre transação bancária e transferência bancária +MigrationBankTransfertsNothingToUpdate=Todas as ligações são até a data +MigrationShipmentOrderMatching=Remetentes receberam atualização +MigrationDeliveryOrderMatching=Entrega receberam atualização +MigrationDeliveryDetail=Entrega atualizada MigrationStockDetail=Atualizar valores do estoque dos produtos MigrationMenusDetail=Atualize menus das tabelas dinâmicas MigrationDeliveryAddress=Atualizar o endereço de entrega nos envios MigrationProjectTaskActors=Migração de dados para a tabela llx_projet_task_actors MigrationProjectUserResp=Dados da migração do campo fk_user_resp de llx_projet para llx_element_contact -MigrationProjectTaskTime=Atualizar tempo gasto em sgundos +MigrationProjectTaskTime=Atualizar tempo gasto em segundos MigrationActioncommElement=Atualizar dados nas ações MigrationPaymentMode=Migração de dados para o modo de pagamento -MigrationEvents=Migração de eventos para adicionar proprietário evento na tabela de atribuição +MigrationEvents=Migração de eventos para adicionar proprietário do evento na tabela de atribuição ShowNotAvailableOptions=Mostrar as opções não disponíveis -HideNotAvailableOptions=Esconder as opção não disponível +HideNotAvailableOptions=Esconder opções não disponíveis +ErrorFoundDuringMigration=O erro será reportado durante o processo de migração então o próximo passo não está disponível. Para ignorar os erros, você pode clicar aqui, mas a aplicação de algumas funcionalidade não irão funcionar corretamente até que sejam consertadas. diff --git a/htdocs/langs/pt_BR/mails.lang b/htdocs/langs/pt_BR/mails.lang index e8c6313e846..3dedcc50f69 100644 --- a/htdocs/langs/pt_BR/mails.lang +++ b/htdocs/langs/pt_BR/mails.lang @@ -58,7 +58,6 @@ TagUnsubscribe=Atalho para se desenscrever TagSignature=Assinatura do remetente NoEmailSentBadSenderOrRecipientEmail=Nenhum e-mail enviado. Bad remetente ou destinatário de e-mail. Verifique perfil de usuário. AddNewNotification=Ativar uma nova notificação email para alvo -ListOfActiveNotifications=Listar todos os alvos ativos para notificação de email ListOfNotificationsDone=Listar todas as notificações de e-mail enviadas MailSendSetupIs=Configuração do envio de e-mails foi configurado a '%s'. Este modo não pode ser usado para envios de massa de e-mails. MailSendSetupIs2=Voçê precisa primeiramente acessar com uma conta de Administrador o menu %sInicio - Configurações - EMails%s para mudar o parametro '%s' para usar o modo '%s'. Neste modo voçê pode entrar a configuração do servidor SMTP fornecido pelo seu Provedor de Acesso a Internet e usar a funcionalidade de envios de massa de EMails. diff --git a/htdocs/langs/pt_BR/projects.lang b/htdocs/langs/pt_BR/projects.lang index ed003da0e83..65e11e26631 100644 --- a/htdocs/langs/pt_BR/projects.lang +++ b/htdocs/langs/pt_BR/projects.lang @@ -4,7 +4,6 @@ ProjectId=Id do projeto ProjectLabel=Etiqueta projeto ProjectStatus=Status Projeto SharedProject=A todos -PrivateProject=Contatos do projeto MyProjectsDesc=Exibe apenas os projetos que você for um contato (independente do tipo). ProjectsPublicDesc=Exibe todos os projetos que você esta autorizado a ver. ProjectsPublicTaskDesc=Essa visão apresenta todos os projetos e tarefas que estão autorizados a ler. @@ -14,12 +13,13 @@ OnlyOpenedProject=Só os projetos abertos são visíveis (projetos em fase de pr TasksPublicDesc=Essa exibição apresenta todos os projetos e tarefas que você tem permissão para ler. TasksDesc=Essa exibição apresenta todos os projetos e tarefas (suas permissões de usuário concede-lhe ver tudo). OnlyYourTaskAreVisible=Apenas as tarefas que estão atribuídas a você são visíveis. Atribuir tarefa para você, se você deseja inserir tempo com isso. +NewProject=Novo projeto AddProject=Criar projeto -DeleteAProject=Eliminar um Projeto -DeleteATask=Eliminar uma Tarefa +DeleteAProject=Excluir um projeto +DeleteATask=Excluir uma tarefa ConfirmDeleteAProject=Tem certeza que quer eliminar este projeto? ConfirmDeleteATask=Tem certeza que quer eliminar esta tarefa? -ShowProject=Adicionar Projeto +ShowProject=Mostrar projeto NoProject=Nenhum Projeto Definido NbOfProjects=No de Projetos TimeSpent=Tempo Dedicado @@ -31,8 +31,9 @@ TaskTimeSpent=O tempo gasto nas tarefas TaskTimeUser=Usuário TasksOnOpenedProject=Tarefas em projetos abertos NewTimeSpent=Novo Tempo Dedicado -MyTimeSpent=O Meu Tempo Dedicado +MyTimeSpent=Meu tempo gasto TaskDateEnd=Data final da tarefa +NewTask=Nova tarefa AddTask=Criar tarefa MyActivities=Minhas Tarefas/Atividades ProgressDeclared=o progresso declarado @@ -89,7 +90,6 @@ DocumentModelBeluga=Modelo de projeto para visão geral objetos ligados DocumentModelBaleine=Modelo de relatório do Projeto para tarefas PlannedWorkload=carga horária planejada PlannedWorkloadShort=Carga de trabalho -ProjectReferers=Fazendo referência a objetos ProjectMustBeValidatedFirst=O projeto tem que primeiramente ser validado FirstAddRessourceToAllocateTime=Associar um recurso para alocar tempo InputPerDay=Entrada por dia @@ -106,6 +106,4 @@ ManageOpportunitiesStatus=Use projetos para acompanhar leads / opportinuties ProjectNbProjectByMonth=N ° de projetos criados por mês ProjectsStatistics=As estatísticas sobre projetos / leads TaskAssignedToEnterTime=Tarefa atribuída. Entrando tempo nesta tarefa deve ser possível. -OpenedProjectsByThirdparties=Projetos abertos pelo thirdparties OppStatusPROSP=Prospecção -OppStatusWON=Ganhou diff --git a/htdocs/langs/pt_BR/stocks.lang b/htdocs/langs/pt_BR/stocks.lang index 3e7f03b9468..3ebb768ac46 100644 --- a/htdocs/langs/pt_BR/stocks.lang +++ b/htdocs/langs/pt_BR/stocks.lang @@ -97,9 +97,6 @@ RecordMovement=Gravar a transferência ReceivingForSameOrder=Recibos para este fim StockMovementRecorded=Movimentos de estoque gravados RuleForStockAvailability=Regras sobre os requisitos de ações -StockMustBeEnoughForInvoice=Nível de estoque deve ser suficiente para adicionar o produto / serviço para faturar -StockMustBeEnoughForOrder=Nível de estoque deve ser suficiente para adicionar o produto / serviço por encomenda -StockMustBeEnoughForShipment=Nível de estoque deve ser suficiente para adicionar o produto / serviço para embarque MovementLabel=Rótulo de Movimento InventoryCode=Código de movimento ou de inventário IsInPackage=Contido em pacote diff --git a/htdocs/langs/pt_PT/admin.lang b/htdocs/langs/pt_PT/admin.lang index 8e3bbe3f89e..584e47a4f2a 100644 --- a/htdocs/langs/pt_PT/admin.lang +++ b/htdocs/langs/pt_PT/admin.lang @@ -2,8 +2,8 @@ Foundation=Fundação Version=Versão VersionProgram=Versão do Programa -VersionLastInstall=Initial install version -VersionLastUpgrade=Latest version upgrade +VersionLastInstall=Versão Inicial instalada +VersionLastUpgrade=Versão da Última Atualização VersionExperimental=Experimental VersionDevelopment=Desenvolvimento VersionUnknown=Desconhecida @@ -52,7 +52,7 @@ Chartofaccounts=Gráfico de contas Fiscalyear=Anos fiscais ErrorReservedTypeSystemSystemAuto=Value 'system' and 'systemauto' for type is reserved. You can use 'user' as value to add your own record ErrorCodeCantContainZero=O código não pode conter o valor 0 -DisableJavascript=Disable JavaScript and Ajax functions (Recommended for blind person or text browsers) +DisableJavascript=Desactivar as funções Javascript e Ajax ( Recomendado para pessoas cegas ) UseSearchToSelectCompanyTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectContactTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. DelaiedFullListToSelectCompany=Wait you press a key before loading content of thirdparties combo list (This may increase performance if you have a large number of thirdparties) @@ -115,9 +115,9 @@ DaylingSavingTime=Horário de verão (do usuário) CurrentHour=Hora actual CurrentSessionTimeOut=Time out Sessão actual YouCanEditPHPTZ=To set a different PHP timezone (not required), you can try to add a file .htacces with a line like this "SetEnv TZ Europe/Paris" -Box=Widget -Boxes=Widgets -MaxNbOfLinesForBoxes=Max number of lines for widgets +Box=Aplicativo +Boxes=Aplicativo +MaxNbOfLinesForBoxes=Número máximo de linhas para os aplicativos PositionByDefault=Posição por defeito Position=Posição MenusDesc=Menu managers set content of the two menu bars (horizontal and vertical). @@ -131,11 +131,11 @@ SystemToolsAreaDesc=Esta área oferece diferentes funções de administração. Purge=Limpar PurgeAreaDesc=This page allows you to delete all files generated or stored by Dolibarr (temporary files or all files in %s directory). Using this feature is not necessary. It is provided as a workaround for users whose Dolibarr is hosted by a provider that does not offer permissions to delete files generated by the web server. PurgeDeleteLogFile=Delete log file %s defined for Syslog module (no risk of losing data) -PurgeDeleteTemporaryFiles=Delete all temporary files (no risk of losing data) +PurgeDeleteTemporaryFiles=Apagar todos os ficheiros tempórarios (sem risco de perderem os dados) PurgeDeleteTemporaryFilesShort=Delete temporary files PurgeDeleteAllFilesInDocumentsDir=Eliminar todos os ficheiros da pasta %s. Ficheiros temporários e Ficheiros anexados a elementos (Terceiros, facturas, etc.) serão eliminados. PurgeRunNow=Purgar Agora -PurgeNothingToDelete=No directory or files to delete. +PurgeNothingToDelete=Nenhuma(s) pasta(s) ou ficheiro(s) para apagar. PurgeNDirectoriesDeleted=%s Ficheiros ou pastas eliminados PurgeAuditEvents=Purgar os eventos de segurança ConfirmPurgeAuditEvents=Tem a certeza que pretende limpar a lista de eventos de auditoria de segurança? @@ -186,8 +186,8 @@ DoliStoreDesc=DoliStore, o mercado oficial para Dolibarr ERP / CRM módulos exte DoliPartnersDesc=List of companies providing custom developed modules or features (Note: anyone experienced in PHP programming can provide custom development for an open source project) WebSiteDesc=Reference websites to find more modules... URL=Link -BoxesAvailable=Widgets available -BoxesActivated=Widgets activated +BoxesAvailable=Aplicativos disponiveis +BoxesActivated=Aplicativos activados ActivateOn=Activar sobre ActiveOn=Activa sobre SourceFile=Ficheiro origem @@ -272,7 +272,7 @@ InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_ro YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Versão actual do ERP/CRM CallUpdatePage=Go to the page that updates the database structure and data: %s. -LastStableVersion=Latest stable version +LastStableVersion=Última versão estável UpdateServerOffline=Update server offline GenericMaskCodes=Pode introduzir qualquer máscara numérica. Nesta máscara, pode utilizar as seguintes etiquetas:
{000000} corresponde a um número que se incrementa em cada um de %s. Introduza tantos zeros como longitude que deseja mostrar. O contador completar-se-á a partir de zeros pela esquerda com o fim de ter tantos zeros como a máscara.
{000000+000} Igual que o anterior, com uma compensação correspondente ao número da direita do sinal + aplica-se a partir do primeiro %s.
{000000@x} igual que o anterior, mas o contador restablece-se a zero quando se chega a x meses (x entre 1 e 12). Se esta opção se utiliza e x é de 2 ou superior, então a sequência {yy}{mm} ou {yyyy}{mm} também é necessário.
{dd} días (01 a 31).
{mm} mês (01 a 12).
{yy}, {yyyy} ou {e} ano em 2, 4 ou 1 figura.
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
@@ -324,7 +324,7 @@ PDFAddressForging=Regras para forjar caixas de endereço HideAnyVATInformationOnPDF=Ocultar todas as informações relativas ao IVA em PDF gerado HideDescOnPDF=Ocultar a descrição dos produtos no PDF gerado HideRefOnPDF=Ocultar a referência dos produtos no PDF gerado -HideDetailsOnPDF=Hide product lines details on generated PDF +HideDetailsOnPDF=Esconder linhas de detalhes do produto no PDF gerado PlaceCustomerAddressToIsoLocation=Use french standard position (La Poste) for customer address position Library=Biblioteca UrlGenerationParameters=Parâmetros para garantir URLs @@ -359,7 +359,7 @@ ExtrafieldParamHelpradio=Parameters list have to be like key,value

for e ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
You can also use $ID$ in filter witch is the current id of current object
To do a SELECT in filter use $SEL$
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

filter can be a simple test (eg active=1) to display only active value
You can also use $ID$ in filter witch is the current id of current object
To do a SELECT in filter use $SEL$
if you want to filter on extrafields use syntaxt extra.fieldcode=... (where field code is the code of extrafield)

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter ExtrafieldParamHelplink=Parameters must be ObjectName:Classpath
Syntax : ObjectName:Classpath
Example : Societe:societe/class/societe.class.php -LibraryToBuildPDF=Library used for PDF generation +LibraryToBuildPDF=Biblioteca utilizada para gerar PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (localtax is calculated on amount without tax)
2 : local tax apply on products and services including vat (localtax is calculated on amount + main tax)
3 : local tax apply on products without vat (localtax is calculated on amount without tax)
4 : local tax apply on products including vat (localtax is calculated on amount + main vat)
5 : local tax apply on services without vat (localtax is calculated on amount without tax)
6 : local tax apply on services including vat (localtax is calculated on amount + tax) SMS=SMS @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Utilizadores e Grupos @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Empréstimo Module520Desc=Gestão de empréstimos Module600Name=Notificações -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Bolsas Module700Desc=Gestão de Bolsas Module770Name=Relatórios de despesas @@ -521,7 +524,7 @@ Module39000Desc=Lot or serial number, eat-by and sell-by date management on prod Module50000Name=Paybox Module50000Desc=Módulo para oferecer uma página de pagamento online por cartão de crédito com paybox Module50100Name=Caixa -Module50100Desc=Point of sales module (POS). +Module50100Desc=Modúlo de Ponto de Venda (POS). Module50200Name=Paypal Module50200Desc=Módulo para oferecer uma página de pagamento online por cartão de crédito com Paypal Module50400Name=Accounting (advanced) @@ -567,7 +570,7 @@ Permission71=Consultar Membros Permission72=Criar/Modificar Membros Permission74=Eliminar Membros Permission75=Configure os tipos de membros -Permission76=Export data +Permission76=Exportar dados Permission78=Consultar honorários Permission79=Criar/Modificar honorários Permission81=Consultar pedidos de clientes @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Configuração do módulo empresas CompanyCodeChecker=Módulo de geração e control dos códigos de Terceiros (Clientes/Fornecedores) AccountCodeManager=Módulo de geração dos códigos contabilisticos (Clientes/Fornecedores) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Documentos modelos DocumentModelOdt=Crie documentos a partir dos modelos OpenDocuments (ficheiros .ODT ou .ODS para o KOffice, OpenOffice, TextEdit,...) WatermarkOnDraft=Marca d' @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Configuração do módulo de Relatórios de Despesas TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/pt_PT/bills.lang b/htdocs/langs/pt_PT/bills.lang index be22b403614..1b0fe101831 100644 --- a/htdocs/langs/pt_PT/bills.lang +++ b/htdocs/langs/pt_PT/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Última fatura relacionada WarningBillExist=Aviso, já existe uma ou mais faturas MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/pt_PT/companies.lang b/htdocs/langs/pt_PT/companies.lang index 85dfe4d8711..3625e0c61b7 100644 --- a/htdocs/langs/pt_PT/companies.lang +++ b/htdocs/langs/pt_PT/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Língua por omissão VATIsUsed=Sujeito a IVA VATIsNotUsed=Não Sujeito a IVA CopyAddressFromSoc=Preencha a morada com a morada do terceiro +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE é usado @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organismo FiscalYearInformation=Informação do Ano Fiscal FiscalMonthStart=Mês de Inicio do Exercício -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=Lista de fornecedores ListProspectsShort=Lista das perspectivas ListCustomersShort=Lista de clientes diff --git a/htdocs/langs/pt_PT/contracts.lang b/htdocs/langs/pt_PT/contracts.lang index 0bcf7fca6a8..dcaf5e4b9ee 100644 --- a/htdocs/langs/pt_PT/contracts.lang +++ b/htdocs/langs/pt_PT/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Não terminou ServiceStatusLate=Em serviço, expirado ServiceStatusLateShort=Expirado ServiceStatusClosed=Fechado +ShowContractOfService=Show contract of service Contracts=contractos ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contratos e linha de contratos diff --git a/htdocs/langs/pt_PT/errors.lang b/htdocs/langs/pt_PT/errors.lang index c8983ddc076..c2df3fae294 100644 --- a/htdocs/langs/pt_PT/errors.lang +++ b/htdocs/langs/pt_PT/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/pt_PT/install.lang b/htdocs/langs/pt_PT/install.lang index 2056d833869..225602d432b 100644 --- a/htdocs/langs/pt_PT/install.lang +++ b/htdocs/langs/pt_PT/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=É recomendado a utilização da diretoria fora da sua d LoginAlreadyExists=Já existe DolibarrAdminLogin=Sessão Administrador Dolibarr AdminLoginAlreadyExists=A conta de administrador ' %s' Dolibarr já existe. Volte atrás, se desejar criar uma conta. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Aviso: por motivos de segurança, assim que a instalação ou a atualização estiverem completas, e para evitar novamente a utilização das ferramentas de instalação, deverá adicionar um ficheiro com o nome install.lock na diretoria de documentos Dolibarr, para evitar a sua utilização maliciosa.
FunctionNotAvailableInThisPHP=Não disponível neste PHP ChoosedMigrateScript=Escolhido migrar script diff --git a/htdocs/langs/pt_PT/mails.lang b/htdocs/langs/pt_PT/mails.lang index 19482464b17..572bed744d7 100644 --- a/htdocs/langs/pt_PT/mails.lang +++ b/htdocs/langs/pt_PT/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=Nenhuma notificação por e-mail está prevista para e ANotificationsWillBeSent=1 notificação vai a ser enviada por e-mail SomeNotificationsWillBeSent=%s Notificações vão ser enviadas por e-mail AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=Lista de todas as notificações de e-mail enviado MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/pt_PT/main.lang b/htdocs/langs/pt_PT/main.lang index 57dbc2db3e2..5bf495e8561 100644 --- a/htdocs/langs/pt_PT/main.lang +++ b/htdocs/langs/pt_PT/main.lang @@ -84,6 +84,7 @@ SeeAbove=Ver acima HomeArea=Área Principal LastConnexion=Ultima Ligação PreviousConnexion=Ligação Anterior +PreviousValue=Previous value ConnectedOnMultiCompany=Conectado sobre entidade ConnectedSince=Conectado desde AuthenticationMode=Modo de autenticação diff --git a/htdocs/langs/pt_PT/projects.lang b/htdocs/langs/pt_PT/projects.lang index 2a231df5f0d..c0bca7de10a 100644 --- a/htdocs/langs/pt_PT/projects.lang +++ b/htdocs/langs/pt_PT/projects.lang @@ -11,8 +11,10 @@ SharedProject=Toda a Gente PrivateProject=Project contacts MyProjectsDesc=Esta visualização está limitada a projetos onde é um contacto para (seja qual for o tipo). ProjectsPublicDesc=Esta visualização apresenta todos os projetos que está autorizado a ler. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=Esta visualização apresenta todos os projetos (as suas permissões de utilizador concedem-lhe a permissão para ver tudo). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=Esta visualização está limitada aos projetos ou tarefas em que é um contacto para (seja qual for o tipo). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Líder do projeto TypeContact_project_external_PROJECTLEADER=Líder do projeto diff --git a/htdocs/langs/pt_PT/stocks.lang b/htdocs/langs/pt_PT/stocks.lang index 7e3fd7c3bfe..3e1ec53e125 100644 --- a/htdocs/langs/pt_PT/stocks.lang +++ b/htdocs/langs/pt_PT/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movimento ou código do inventário IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Mostrar armazém MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/pt_PT/website.lang b/htdocs/langs/pt_PT/website.lang index e6a61b8f582..9844de7802e 100644 --- a/htdocs/langs/pt_PT/website.lang +++ b/htdocs/langs/pt_PT/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=Ver site no novo separador ViewPageInNewTab=Ver página no novo separador SetAsHomePage=Definir como página Inicial RealURL=URL Real +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/ro_RO/admin.lang b/htdocs/langs/ro_RO/admin.lang index 29d3290f7db..d924f083038 100644 --- a/htdocs/langs/ro_RO/admin.lang +++ b/htdocs/langs/ro_RO/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Afiseaza adresa societatii DisplayCompanyInfoAndManagers=Afiseaza nume societate si manager EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Utilizatori & grupuri @@ -468,7 +471,7 @@ Module510Desc=Managementul salariilor angajatilor si a plaţiilor Module520Name=Loan Module520Desc=Management of loans Module600Name=Notificări -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Donatii Module700Desc=MAnagementul Donaţiilor Module770Name=Rapoarte Cheltuieli @@ -1067,7 +1070,10 @@ HRMSetup=Configurare Modul HRM CompanySetup=Setări Modul Terţi CompanyCodeChecker=Modulul pentru terţi cod de generare şi de verificare (client sau furnizor) AccountCodeManager=Modulul de contabilitate cod generaţie (client sau furnizor) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Documente şabloane DocumentModelOdt=Generare din modelele OpenDocument (Fichier .ODT ou .ODS OpenOffice, KOffice, TextEdit…) WatermarkOnDraft=Watermark pe schiţa de document @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/ro_RO/bills.lang b/htdocs/langs/ro_RO/bills.lang index b0b3c55a809..a2cfc507ce6 100644 --- a/htdocs/langs/ro_RO/bills.lang +++ b/htdocs/langs/ro_RO/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Ultima Factură asociată WarningBillExist=Avertisment, una sau mai multe facturi există deja MergingPDFTool=Instrument unire (merge) PDF AmountPaymentDistributedOnInvoice=Sumă plătită distribuită pe factură +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Comentariu plată ListOfPreviousSituationInvoices=Lista facturilor de situaţie anterioare ListOfNextSituationInvoices=Lista facturilor de situaţie următoare diff --git a/htdocs/langs/ro_RO/companies.lang b/htdocs/langs/ro_RO/companies.lang index c957871500a..67016178423 100644 --- a/htdocs/langs/ro_RO/companies.lang +++ b/htdocs/langs/ro_RO/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Limba implicită VATIsUsed=Utilizează TVA-ul VATIsNotUsed=Nu utilizează TVA-ul CopyAddressFromSoc=Completaţi adresa cu adresa terţului +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Utilizează taxa secundă LocalTax1IsUsedES= RE este utilizat @@ -368,7 +369,8 @@ AllocateCommercial=Asociat la reprezentant vânzări Organization=Organizaţia FiscalYearInformation=Informaţii pe anul fiscal FiscalMonthStart=Luna de început a anului fiscal -YouMustCreateContactFirst= Pentru a putea adăuga notificări email, mai întâi trebuie introduse email-uri contacte pentru partener +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=Lista furnizori ListProspectsShort=Lista prospecte ListCustomersShort=Lista clienţi diff --git a/htdocs/langs/ro_RO/contracts.lang b/htdocs/langs/ro_RO/contracts.lang index c0990c021a4..c6ea0b03b0b 100644 --- a/htdocs/langs/ro_RO/contracts.lang +++ b/htdocs/langs/ro_RO/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Neexpirat ServiceStatusLate=În service, expirat ServiceStatusLateShort=Expirat ServiceStatusClosed=Închis +ShowContractOfService=Show contract of service Contracts=Contracte ContractsSubscriptions=Contracte / Abonamente ContractsAndLine=Contracte și linie contracte diff --git a/htdocs/langs/ro_RO/errors.lang b/htdocs/langs/ro_RO/errors.lang index e0d7c03071f..7e9b38f5227 100644 --- a/htdocs/langs/ro_RO/errors.lang +++ b/htdocs/langs/ro_RO/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setările informațiilor ClickToDial pent WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Funcţionalitate dezactivată atunci când configurarea de afișare este optimizată pentru nevăzători sau de browsere text . WarningPaymentDateLowerThanInvoiceDate=Data plăţii(%s) este mai veche decât data facturii (%s) pentru factura %s WarningTooManyDataPleaseUseMoreFilters= Prea multe date (mai mult de %s linii). Folosiți mai multe filtre sau setați constanta %s la o limită superioară. -WarningSomeLinesWithNullHourlyRate=Au fost înregistrate de către utilizatori de câteva ori, atunci când rata lor orară nu a fost definită. Valoarea 0 a fost folosită, dar acest lucru poate avea ca rezultat evaluarea greșită a timpului petrecut. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Utilizatorul-ul a fost modificat. Din motive de securitate, va trebui să vă conectați cu noul dvs. utilizator înainte de următoarea acțiune. diff --git a/htdocs/langs/ro_RO/install.lang b/htdocs/langs/ro_RO/install.lang index c06df808fcc..44b336247f2 100644 --- a/htdocs/langs/ro_RO/install.lang +++ b/htdocs/langs/ro_RO/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=Este recommanded de a utiliza un director afara de direc LoginAlreadyExists=Există deja DolibarrAdminLogin=Dolibarr admin autentificare AdminLoginAlreadyExists="%s" Dolibarr cont de administrator deja există. Du-te înapoi, dacă doriţi să creaţi altul. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Atenţie, pentru motive de securitate, o dată sau de upgrade-ul de instalare este completă, trebuie să scoateţi directorul de instalare sau de a adăuga un fişier numit director install.lock în documentul Dolibarr, în scopul de a evita utilizarea rău intenţionată a acestuia. FunctionNotAvailableInThisPHP=Nu este disponibil pe acest PHP ChoosedMigrateScript=Alegeţi script-ul de migraţie diff --git a/htdocs/langs/ro_RO/mails.lang b/htdocs/langs/ro_RO/mails.lang index c2a0e2ab99a..5de5a281e11 100644 --- a/htdocs/langs/ro_RO/mails.lang +++ b/htdocs/langs/ro_RO/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=Nu notificări prin email sunt planificate pentru aces ANotificationsWillBeSent=1 notificarea va fi trimis prin e-mail SomeNotificationsWillBeSent=%s notificări vor fi trimise prin e-mail AddNewNotification=Activaţi un nou target email notificari -ListOfActiveNotifications=Lista tuturor targetelor emailurilor de notificare +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=Lista toate notificările e-mail trimis MailSendSetupIs=Configurarea trimiterii e-mail a fost de configurat la '%s'. Acest mod nu poate fi utilizat pentru a trimite email-uri în masă. MailSendSetupIs2=Trebuie mai întâi să mergi, cu un cont de administrator, în meniu%sHome - Setup - EMails%s pentru a schimba parametrul '%s' de utilizare în modul '%s'. Cu acest mod, puteți introduce configurarea serverului SMTP furnizat de furnizorul de servicii Internet și de a folosi facilitatea Mass email . diff --git a/htdocs/langs/ro_RO/main.lang b/htdocs/langs/ro_RO/main.lang index 6bcb5d5309c..be3e85649d0 100644 --- a/htdocs/langs/ro_RO/main.lang +++ b/htdocs/langs/ro_RO/main.lang @@ -84,6 +84,7 @@ SeeAbove=Vezi mai sus HomeArea=Acasă LastConnexion=Ultima conexiune PreviousConnexion=Conexiunea precedentă +PreviousValue=Previous value ConnectedOnMultiCompany=Conectat la entitatea ConnectedSince=Conectat de AuthenticationMode=Mod autentificare diff --git a/htdocs/langs/ro_RO/projects.lang b/htdocs/langs/ro_RO/projects.lang index a54faa06ed2..78e9f59ec4b 100644 --- a/htdocs/langs/ro_RO/projects.lang +++ b/htdocs/langs/ro_RO/projects.lang @@ -11,8 +11,10 @@ SharedProject=Toată lumea PrivateProject=Project contacts MyProjectsDesc=Această vedere este limitată la proiecte sau sarcini pentru care sunteţi contact(indiferent de tip). ProjectsPublicDesc=Această vedere prezintă toate proiectele la care aveţi permisiunea să le citiţi. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=Această vedere prezintă toate proiectele şi activităţile care sunt permise să le citiţi. ProjectsDesc=Această vedere prezintă toate proiectele (permisiuni de utilizator va acorda permisiunea de a vizualiza totul). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=Această vedere este limitată la proiecte sau sarcini pentru care sunteţi contact(indiferent de tip). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Şef de Proiect TypeContact_project_external_PROJECTLEADER=Şef de Proiect diff --git a/htdocs/langs/ro_RO/stocks.lang b/htdocs/langs/ro_RO/stocks.lang index 0537866c1d3..5ce20870c59 100644 --- a/htdocs/langs/ro_RO/stocks.lang +++ b/htdocs/langs/ro_RO/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Înregistrare transfer ReceivingForSameOrder=Recepţii pentru această comandă StockMovementRecorded=Mişcări stoc înregistrate RuleForStockAvailability=Reguli pentru cereri stoc -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Eticheta transferului InventoryCode=Codul de inventar sau transfer IsInPackage=Continute in pachet +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Arată depozit MovementCorrectStock=Stock correction for product %s MovementTransferStock=Transfer stoc al produsului %s in alt depozit diff --git a/htdocs/langs/ro_RO/website.lang b/htdocs/langs/ro_RO/website.lang index f02f6f7c37f..dc4d111b95b 100644 --- a/htdocs/langs/ro_RO/website.lang +++ b/htdocs/langs/ro_RO/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Seteaza ca pagina Home RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/ru_RU/admin.lang b/htdocs/langs/ru_RU/admin.lang index 7d2044f2b2d..f0aa1c1c573 100644 --- a/htdocs/langs/ru_RU/admin.lang +++ b/htdocs/langs/ru_RU/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Пользователи и группы @@ -468,7 +471,7 @@ Module510Desc=Управление зарплатами сотрудников Module520Name=Ссуда Module520Desc=Управление ссудами Module600Name=Уведомления -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Пожертвования Module700Desc=Пожертвования управления Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Предприятия модуль настройки CompanyCodeChecker=Модуль для третьих сторон, генерации кода и проверку (клиент или поставщик) AccountCodeManager=Модуль для учета генерации кода (клиент или поставщик) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Документы шаблоны DocumentModelOdt=Создавать документы из шаблонов форматов OpenDocuments (.ODT or .ODS файлы для OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Watermark по проекту документа @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Настройка модуля Отчёты о затрат TemplatePDFExpenseReports=Шаблон документа для создания отчёта о затратах NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=Вы можете найти варианты уведомления по электронной почте, включив и настроив модуль "Уведомления". -ListOfNotificationsPerContact=Список уведомление по контактам +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=Список основных уведомлений +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Перейти на вкладку "Уведомления" контрагентов, чтобы добавить или удалить уведомления для контактов / адресов Threshold=Порог BackupDumpWizard=Мастер создания резервной копии базы данных diff --git a/htdocs/langs/ru_RU/bills.lang b/htdocs/langs/ru_RU/bills.lang index 58a03d568fa..9e5c0cef4ec 100644 --- a/htdocs/langs/ru_RU/bills.lang +++ b/htdocs/langs/ru_RU/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Последний связанный счёт WarningBillExist=Предупреждение! Счёт (или счета) уже существуют MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/ru_RU/companies.lang b/htdocs/langs/ru_RU/companies.lang index 7ee3418d3a1..b88d70f500f 100644 --- a/htdocs/langs/ru_RU/companies.lang +++ b/htdocs/langs/ru_RU/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Язык по умолчанию VATIsUsed=НДС используется VATIsNotUsed=НДС не используется CopyAddressFromSoc=Заполните адрес адресом контагента +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE используется @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Организация FiscalYearInformation=Информация о финансовом годе FiscalMonthStart=Первый месяц финансового года -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=Список поставщиков ListProspectsShort=Список потенц. клиентов ListCustomersShort=Список покупателей diff --git a/htdocs/langs/ru_RU/contracts.lang b/htdocs/langs/ru_RU/contracts.lang index 5adf94dac50..26d7c1d4c47 100644 --- a/htdocs/langs/ru_RU/contracts.lang +++ b/htdocs/langs/ru_RU/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Не истек ServiceStatusLate=Запуск, истек ServiceStatusLateShort=Истек ServiceStatusClosed=Закрытые +ShowContractOfService=Show contract of service Contracts=Договоры ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Контракты и строка с контрактами diff --git a/htdocs/langs/ru_RU/errors.lang b/htdocs/langs/ru_RU/errors.lang index e5dd388a67b..46e8f52aa3f 100644 --- a/htdocs/langs/ru_RU/errors.lang +++ b/htdocs/langs/ru_RU/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Функция отключена, когда отображение оадптировано для слабовидящих или текстовых браузеров. WarningPaymentDateLowerThanInvoiceDate=Дата платежа (%s) меньше, чем дата (%s) счёта %s. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/ru_RU/install.lang b/htdocs/langs/ru_RU/install.lang index 15b0cfc3b8b..ce447666af7 100644 --- a/htdocs/langs/ru_RU/install.lang +++ b/htdocs/langs/ru_RU/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=Det er recommanded å bruke en ut av ditt katalogen av w LoginAlreadyExists=Уже существует DolibarrAdminLogin=Dolibarr администратора AdminLoginAlreadyExists=Dolibarr администратора учетной записи ' %s' уже существует. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Предупреждение, по соображениям безопасности после того, как установить или обновить завершено, Вы должны удалить каталог или переименовать его в install.lock во избежание ее злонамеренного использования. FunctionNotAvailableInThisPHP=Не доступно в текущей версии PHP ChoosedMigrateScript=Выбранная перенести скрипт diff --git a/htdocs/langs/ru_RU/mails.lang b/htdocs/langs/ru_RU/mails.lang index 3521026a5a6..4fb9ccd25fa 100644 --- a/htdocs/langs/ru_RU/mails.lang +++ b/htdocs/langs/ru_RU/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=Нет электронной почте уведом ANotificationsWillBeSent=1 уведомление будет отправлено по электронной почте SomeNotificationsWillBeSent=%s уведомления будут отправлены по электронной почте AddNewNotification=Включить новое задание на уведомление по электронной почте -ListOfActiveNotifications=Список всех заданий на уведомление по электронной почте +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=Список всех уведомлений по электронной почте отправлено MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/ru_RU/main.lang b/htdocs/langs/ru_RU/main.lang index 44f4743bd25..89e3374be64 100644 --- a/htdocs/langs/ru_RU/main.lang +++ b/htdocs/langs/ru_RU/main.lang @@ -84,6 +84,7 @@ SeeAbove=См. выше HomeArea=Начальная область LastConnexion=Последнее подключение PreviousConnexion=Предыдущий вход +PreviousValue=Previous value ConnectedOnMultiCompany=Подключено к объекту ConnectedSince=Подключено с AuthenticationMode=Режим аутентификации diff --git a/htdocs/langs/ru_RU/projects.lang b/htdocs/langs/ru_RU/projects.lang index 247c4ede1ef..62f7b873b49 100644 --- a/htdocs/langs/ru_RU/projects.lang +++ b/htdocs/langs/ru_RU/projects.lang @@ -11,8 +11,10 @@ SharedProject=Общий проект PrivateProject=Project contacts MyProjectsDesc=Эта точка зрения ограничена проекты, которые Вы контакте (что бы это тип). ProjectsPublicDesc=Эта точка зрения представлены все проекты, которые Вы позволили читать. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=Это представление всех проектов и задач, к которым у вас есть доступ. ProjectsDesc=Эта точка зрения представляет все проекты (разрешений пользователей предоставить вам разрешение для просмотра всего). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=Эта точка зрения ограничена на проекты или задачи, которые являются для контакта (что бы это тип). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Руководитель проекта TypeContact_project_external_PROJECTLEADER=Руководитель проекта diff --git a/htdocs/langs/ru_RU/stocks.lang b/htdocs/langs/ru_RU/stocks.lang index 3a9c0952c00..29ffd42cbe9 100644 --- a/htdocs/langs/ru_RU/stocks.lang +++ b/htdocs/langs/ru_RU/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Record transfert ReceivingForSameOrder=Получатели заказа StockMovementRecorded=Перемещения остатков записаны RuleForStockAvailability=Правила и требования к запасу на складе -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Просмотр склада MovementCorrectStock=Stock correction for product %s MovementTransferStock=Перевозка товара %s на другой склад diff --git a/htdocs/langs/ru_RU/website.lang b/htdocs/langs/ru_RU/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/ru_RU/website.lang +++ b/htdocs/langs/ru_RU/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/sk_SK/admin.lang b/htdocs/langs/sk_SK/admin.lang index e1f567c437b..1e5387da6a9 100644 --- a/htdocs/langs/sk_SK/admin.lang +++ b/htdocs/langs/sk_SK/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Používatelia a skupiny @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Loan Module520Desc=Management of loans Module600Name=Upozornenie -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Dary Module700Desc=Darovanie riadenie Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Firmy modul nastavenia CompanyCodeChecker=Modul pre generovanie kódu tretích strán a preskúšavanie (zákazník alebo dodávateľ) AccountCodeManager=Modul pre generovanie kódu účtovníctva (zákazník alebo dodávateľ) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Dokumenty šablóny DocumentModelOdt=Generovanie dokumentov z OpenDocuments šablón (. ODT alebo ODS. Súbory OpenOffice, KOffice, TextEdit, ...) WatermarkOnDraft=Vodoznak na návrhu dokumentu @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/sk_SK/bills.lang b/htdocs/langs/sk_SK/bills.lang index b4eaa6c2771..34c6dc923c0 100644 --- a/htdocs/langs/sk_SK/bills.lang +++ b/htdocs/langs/sk_SK/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/sk_SK/companies.lang b/htdocs/langs/sk_SK/companies.lang index be06c829271..a7175c72e6e 100644 --- a/htdocs/langs/sk_SK/companies.lang +++ b/htdocs/langs/sk_SK/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Predvolený jazyk VATIsUsed=DPH sa používa VATIsNotUsed=DPH sa nepoužíva CopyAddressFromSoc=Vyplňte adresu s thirdparty adresu +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE sa používa @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organizácia FiscalYearInformation=Informácie o fiškálny rok FiscalMonthStart=Počiatočný mesiac fiškálneho roka -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=Zoznam dodávateľov ListProspectsShort=Zoznam vyhliadky ListCustomersShort=Zoznam zákazníkov diff --git a/htdocs/langs/sk_SK/contracts.lang b/htdocs/langs/sk_SK/contracts.lang index 9f79b3d9953..bc30d16b5c4 100644 --- a/htdocs/langs/sk_SK/contracts.lang +++ b/htdocs/langs/sk_SK/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Neuplynula ServiceStatusLate=Beh, uplynula ServiceStatusLateShort=Vypršala ServiceStatusClosed=Zatvorené +ShowContractOfService=Show contract of service Contracts=Zmluvy ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracts and line of contracts diff --git a/htdocs/langs/sk_SK/errors.lang b/htdocs/langs/sk_SK/errors.lang index f637f4bc50f..c848d61f71e 100644 --- a/htdocs/langs/sk_SK/errors.lang +++ b/htdocs/langs/sk_SK/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Nastavenie ClickToDial informácií pre u 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/sk_SK/install.lang b/htdocs/langs/sk_SK/install.lang index bb2cf6b2156..3ffb37fe69a 100644 --- a/htdocs/langs/sk_SK/install.lang +++ b/htdocs/langs/sk_SK/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=Je odporúčané používať adresár mimo adresára zo LoginAlreadyExists=Už existuje DolibarrAdminLogin=Dolibarr admin login AdminLoginAlreadyExists=Dolibarr účtu správcu "%s 'už existuje. Vráť sa, ak chcete vytvoriť ďalšie. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Pozor, z bezpečnostných dôvodov, akonáhle inštaláciu alebo upgrade je kompletný, aby sa zabránilo používanie inštaláciu nástroja znova, mali by ste pridať súbor s názvom install.lock do adresára dokumentov Dolibarr, aby sa zabránilo škodlivému využitie. FunctionNotAvailableInThisPHP=Nie je k dispozícii na tejto PHP ChoosedMigrateScript=Vyberte si skript migrácie diff --git a/htdocs/langs/sk_SK/mails.lang b/htdocs/langs/sk_SK/mails.lang index b650334b597..caa5dfbbc4c 100644 --- a/htdocs/langs/sk_SK/mails.lang +++ b/htdocs/langs/sk_SK/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=Žiadne oznámenia e-mailom sú naplánované pre tút ANotificationsWillBeSent=1 bude zaslaný e-mailom SomeNotificationsWillBeSent=%s oznámenia bude zaslané e-mailom AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=Vypísať všetky e-maily odosielané oznámenia MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/sk_SK/main.lang b/htdocs/langs/sk_SK/main.lang index fb637537d35..8347633a226 100644 --- a/htdocs/langs/sk_SK/main.lang +++ b/htdocs/langs/sk_SK/main.lang @@ -84,6 +84,7 @@ SeeAbove=Pozri vyššie HomeArea=Hlavná oblasť LastConnexion=Posledné pripojenie PreviousConnexion=Predchádzajúca pripojenie +PreviousValue=Previous value ConnectedOnMultiCompany=Pripojené na životné prostredie ConnectedSince=Pripojený od AuthenticationMode=Autentizácia režim diff --git a/htdocs/langs/sk_SK/projects.lang b/htdocs/langs/sk_SK/projects.lang index b28c29f9477..3bfd4ab3a59 100644 --- a/htdocs/langs/sk_SK/projects.lang +++ b/htdocs/langs/sk_SK/projects.lang @@ -11,8 +11,10 @@ SharedProject=Všetci PrivateProject=Project contacts MyProjectsDesc=Tento pohľad je obmedzená na projekty, ste kontakt (nech je to typ). ProjectsPublicDesc=Tento názor predstavuje všetky projekty, ktoré sú prístupné pre čítanie. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=Tento názor predstavuje všetky projekty (užívateľského oprávnenia udeliť oprávnenie k nahliadnutiu všetko). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=Tento pohľad je obmedzená na projekty alebo úlohy, ktoré sú pre kontakt (nech je to typ). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Vedúci projektu TypeContact_project_external_PROJECTLEADER=Vedúci projektu diff --git a/htdocs/langs/sk_SK/stocks.lang b/htdocs/langs/sk_SK/stocks.lang index fc81b987eb2..65b6c69d14b 100644 --- a/htdocs/langs/sk_SK/stocks.lang +++ b/htdocs/langs/sk_SK/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Záznam transfert ReceivingForSameOrder=Bločky tejto objednávky StockMovementRecorded=Zaznamenané pohyby zásob RuleForStockAvailability=Pravidlá skladových požiadaviek -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Štítok pohybu InventoryCode=Movement or inventory code IsInPackage=Vložené do balíka +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Ukázať sklad MovementCorrectStock=Stock correction for product %s MovementTransferStock=Transfer zásoby produktu %s do iného skladu diff --git a/htdocs/langs/sk_SK/website.lang b/htdocs/langs/sk_SK/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/sk_SK/website.lang +++ b/htdocs/langs/sk_SK/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/sl_SI/admin.lang b/htdocs/langs/sl_SI/admin.lang index 16a82f14395..a13d9171f52 100644 --- a/htdocs/langs/sl_SI/admin.lang +++ b/htdocs/langs/sl_SI/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Uporabniki & skupine @@ -468,7 +471,7 @@ Module510Desc=Upravljanje plač in plačil zaposlenim Module520Name=Posojilo Module520Desc=Upravljanje posojil Module600Name=Obvestila -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Donacije Module700Desc=Upravljanje donacij Module770Name=Stroškovno poročilo @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Modul za nastavitve podjetij CompanyCodeChecker=Modul za generiranje kode partnerjev in kontrolo (kupec ali dobavitelj) AccountCodeManager=Modul za generiranje računovodske kode (kupec ali dobavitelj) -NotificationsDesc=Funkcija sporočil po E-pošti omogoča tiho pošiljanje avtomatskih e-mailov o nekaterih Dolibarr dogodkih. Cilji obvestil so lahko definirani kot:
* kontakti pri partnerjih (kupcih ali dobaviteljih), en kontakt naenkrat.
* ali z nastavitvijo globalnega ciljnega email naslova na strani za nastavitev modula. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Predloge dokumentov DocumentModelOdt=Ustvari dokumente iz predlog OpenDocuments (.ODT ali .ODS datoteke v programih OpenOffice, KOffice, TextEdit ,...) WatermarkOnDraft=Vodni žig na osnutku dokumenta @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Nastavitev modula za stroškovna poročila TemplatePDFExpenseReports=Predloga dokumenta za generiranje stroškovnega poročila NoModueToManageStockIncrease=Noben modul za upravljanje avtomatskega povečevanja zalog ni aktiviran. Zaloge se bodo povečale samo na osnovi ročnega vnosa. YouMayFindNotificationsFeaturesIntoModuleNotification=Opcijo za EMail obvestila najdete pri omogočanju in konfiguriranju modula "Obvestila". -ListOfNotificationsPerContact=Seznam obvestil po kontaktih* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=Seznam fiksnih obvestil +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Pojdite na zavihek "Obvestila" pri kontaktih partnerjev za odstranitev obveščanja za kontakt/naslov Threshold=Prag BackupDumpWizard=Čarovnik za ustvarjanje datoteke z varnostnimi kopijami podatkovnih baz diff --git a/htdocs/langs/sl_SI/bills.lang b/htdocs/langs/sl_SI/bills.lang index 97f19f40f94..332cabc86ec 100644 --- a/htdocs/langs/sl_SI/bills.lang +++ b/htdocs/langs/sl_SI/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Zadnji povezan račun WarningBillExist=Pozor, obstaja že en ali več računov MergingPDFTool=Orodje za spajanje PDF AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/sl_SI/companies.lang b/htdocs/langs/sl_SI/companies.lang index cbffd59db3f..a499ddbb2e3 100644 --- a/htdocs/langs/sl_SI/companies.lang +++ b/htdocs/langs/sl_SI/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Privzet jezik VATIsUsed=Davčni zavezanec VATIsNotUsed=Ni davčni zavezanec CopyAddressFromSoc=Izpolni naslov z naslovom partnerja +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Uporabi drugi davek LocalTax1IsUsedES= RE je uporabljen @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organizacija FiscalYearInformation=Informacije o fiskalnem letu FiscalMonthStart=Začetni mesec fiskalnega leta -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=Seznam dobaviteljev ListProspectsShort=Seznam možnih strank ListCustomersShort=Seznam kupcev diff --git a/htdocs/langs/sl_SI/contracts.lang b/htdocs/langs/sl_SI/contracts.lang index 356822db8f4..30bef87b7fa 100644 --- a/htdocs/langs/sl_SI/contracts.lang +++ b/htdocs/langs/sl_SI/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Še ni potekla ServiceStatusLate=Aktivna, potekla ServiceStatusLateShort=Potekla ServiceStatusClosed=Zaključena +ShowContractOfService=Show contract of service Contracts=Pogodbe ContractsSubscriptions=Pogodbe/naročnine ContractsAndLine=Pogodbe in serija pogodb diff --git a/htdocs/langs/sl_SI/errors.lang b/htdocs/langs/sl_SI/errors.lang index 5b0f9327761..ec4d75b0ba5 100644 --- a/htdocs/langs/sl_SI/errors.lang +++ b/htdocs/langs/sl_SI/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/sl_SI/install.lang b/htdocs/langs/sl_SI/install.lang index 6ac7776d1cb..722b7c2f115 100644 --- a/htdocs/langs/sl_SI/install.lang +++ b/htdocs/langs/sl_SI/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=Priporoča se uporaba mape zunaj vaše mape na vaših in LoginAlreadyExists=Že obstaja DolibarrAdminLogin=Uporabniško ime Dolibarr administratorja AdminLoginAlreadyExists=Račun Dolibarr administratorja '%s' že obstaja. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Pozor, zaradi varnostnih razlogov morate po končani namestitvi ali nadgradnji odstraniti mapo install ali jo preimenovati v install.lock, da bi preprečili njeno zlonamerno uporabo. FunctionNotAvailableInThisPHP=Ni na voljo pri tem PHP ChoosedMigrateScript=Izberite skript za selitev diff --git a/htdocs/langs/sl_SI/mails.lang b/htdocs/langs/sl_SI/mails.lang index 965773534d6..3e4cfc937f9 100644 --- a/htdocs/langs/sl_SI/mails.lang +++ b/htdocs/langs/sl_SI/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=Za ta dogodek in podjetje niso predvidena obvestila po ANotificationsWillBeSent=1 obvestilo bo poslano z e-pošto SomeNotificationsWillBeSent=%s obvestil bo poslanih z e-pošto AddNewNotification=Aktiviraj nov cilj za e-poštno obvestilo -ListOfActiveNotifications=Seznam vseh aktivnih ciljev za e-poštna obvestila +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=Seznam vseh poslanih e-poštnih obvestil MailSendSetupIs=Konfiguracij pošiljanja e-pošte je bila nastavljena na '%s'. Ta način ne more biti uporabljen za masovno pošiljanje. MailSendSetupIs2=Najprej morate kot administrator preko menija %sDomov - Nastavitve - E-pošta%s spremeniti parameter '%s' za uporabo načina '%s'. V tem načinu lahko odprete nastavitve SMTP strežnika, ki vam jih omogoča vaš spletni oprerater in uporabite masovno pošiljanje. diff --git a/htdocs/langs/sl_SI/main.lang b/htdocs/langs/sl_SI/main.lang index f5acfd2bd91..9425be40e78 100644 --- a/htdocs/langs/sl_SI/main.lang +++ b/htdocs/langs/sl_SI/main.lang @@ -84,6 +84,7 @@ SeeAbove=Glejte zgoraj HomeArea=Domače področje LastConnexion=Zadnja prijava PreviousConnexion=Prejšnja prijava +PreviousValue=Previous value ConnectedOnMultiCompany=Prijava na entiteto ConnectedSince=Prijavljen od AuthenticationMode=Način preverjanja pristnosti diff --git a/htdocs/langs/sl_SI/projects.lang b/htdocs/langs/sl_SI/projects.lang index 26e189cc58f..08ddf8d0343 100644 --- a/htdocs/langs/sl_SI/projects.lang +++ b/htdocs/langs/sl_SI/projects.lang @@ -11,8 +11,10 @@ SharedProject=Projekti v skupni rabi PrivateProject=Project contacts MyProjectsDesc=Ta pogled je omejen na projekte za katere ste vi kontaktna oseba (ne glede na vrsto). ProjectsPublicDesc=To pogled predstavlja vse projekte, za katere imate dovoljenje za branje. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=Ta pogled predstavlja vse projekte (vaše uporabniško dovoljenje vam omogoča ogled vseh). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=Ta pogled je omejen na projekte ali naloge, za katere ste kontaktna oseba (ne glede na vrsto). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Vodja projekta TypeContact_project_external_PROJECTLEADER=Vodja projekta diff --git a/htdocs/langs/sl_SI/stocks.lang b/htdocs/langs/sl_SI/stocks.lang index 89ba9022181..82107827124 100644 --- a/htdocs/langs/sl_SI/stocks.lang +++ b/htdocs/langs/sl_SI/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Zapis prenešen ReceivingForSameOrder=Prevzem tega naročila StockMovementRecorded=Zapisan premik zaloge RuleForStockAvailability=Pravila za zahtevane zaloge -StockMustBeEnoughForInvoice=Nivo zaloge mora biti dovolj visok za dodajanje proizvoda/storitve na račun -StockMustBeEnoughForOrder=Nivo zaloge mora biti dovolj visok za dodajanje proizvoda/storitve na naročilo -StockMustBeEnoughForShipment= Nivo zaloge mora biti dovolj visok za dodajanje proizvoda/storitve na odpremo +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Nalepka gibanja InventoryCode=Koda gibanja ali zaloge IsInPackage=Vsebina paketa +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Prikaži skladišče MovementCorrectStock=Korekcija zaloge za proizvod %s MovementTransferStock=Skladiščni prenos proizvoda %s v drugo skladišče diff --git a/htdocs/langs/sl_SI/website.lang b/htdocs/langs/sl_SI/website.lang index c3f6bdb39c9..a21bd0b5f9d 100644 --- a/htdocs/langs/sl_SI/website.lang +++ b/htdocs/langs/sl_SI/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/sq_AL/admin.lang b/htdocs/langs/sq_AL/admin.lang index ddc5b1ca34a..f6a9f3010da 100644 --- a/htdocs/langs/sq_AL/admin.lang +++ b/htdocs/langs/sq_AL/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Users & groups @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Loan Module520Desc=Management of loans Module600Name=Notifications -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Donations Module700Desc=Donation management Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Companies module setup CompanyCodeChecker=Module for third parties code generation and checking (customer or supplier) AccountCodeManager=Module for accountancy code generation (customer or supplier) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Documents templates DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Watermark on draft document @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/sq_AL/bills.lang b/htdocs/langs/sq_AL/bills.lang index 24e77f5169d..28a8ee4f110 100644 --- a/htdocs/langs/sq_AL/bills.lang +++ b/htdocs/langs/sq_AL/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/sq_AL/companies.lang b/htdocs/langs/sq_AL/companies.lang index f13a2ec02ec..44de76d2130 100644 --- a/htdocs/langs/sq_AL/companies.lang +++ b/htdocs/langs/sq_AL/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Language by default VATIsUsed=VAT is used VATIsNotUsed=VAT is not used CopyAddressFromSoc=Fill address with thirdparty address +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE is used @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organization FiscalYearInformation=Information on the fiscal year FiscalMonthStart=Starting month of the fiscal year -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=List of suppliers ListProspectsShort=List of prospects ListCustomersShort=List of customers diff --git a/htdocs/langs/sq_AL/contracts.lang b/htdocs/langs/sq_AL/contracts.lang index bb4bb033b03..08e5bb562db 100644 --- a/htdocs/langs/sq_AL/contracts.lang +++ b/htdocs/langs/sq_AL/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Not expired ServiceStatusLate=Running, expired ServiceStatusLateShort=Expired ServiceStatusClosed=Closed +ShowContractOfService=Show contract of service Contracts=Contracts ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracts and line of contracts diff --git a/htdocs/langs/sq_AL/errors.lang b/htdocs/langs/sq_AL/errors.lang index 9276b542ad7..364d60bf6b8 100644 --- a/htdocs/langs/sq_AL/errors.lang +++ b/htdocs/langs/sq_AL/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/sq_AL/install.lang b/htdocs/langs/sq_AL/install.lang index 56cf882e178..ce41ae75a30 100644 --- a/htdocs/langs/sq_AL/install.lang +++ b/htdocs/langs/sq_AL/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=It is recommanded to use a directory outside of your dir LoginAlreadyExists=Already exists DolibarrAdminLogin=Dolibarr admin login AdminLoginAlreadyExists=Dolibarr administrator account '%s' already exists. Go back, if you want to create another one. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, to avoid using install tools again, you should add a file called install.lock into Dolibarr document directory, in order to avoid malicious use of it. FunctionNotAvailableInThisPHP=Not available on this PHP ChoosedMigrateScript=Choose migration script diff --git a/htdocs/langs/sq_AL/mails.lang b/htdocs/langs/sq_AL/mails.lang index 0a945f5fd3f..ffe7d5735d1 100644 --- a/htdocs/langs/sq_AL/mails.lang +++ b/htdocs/langs/sq_AL/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=No email notifications are planned for this event and ANotificationsWillBeSent=1 notification will be sent by email SomeNotificationsWillBeSent=%s notifications will be sent by email AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=List all email notifications sent MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/sq_AL/main.lang b/htdocs/langs/sq_AL/main.lang index 4d400c208ae..5e652e04419 100644 --- a/htdocs/langs/sq_AL/main.lang +++ b/htdocs/langs/sq_AL/main.lang @@ -84,6 +84,7 @@ SeeAbove=See above HomeArea=Home area LastConnexion=Last connection PreviousConnexion=Previous connection +PreviousValue=Previous value ConnectedOnMultiCompany=Connected on environment ConnectedSince=Connected since AuthenticationMode=Authentification mode diff --git a/htdocs/langs/sq_AL/projects.lang b/htdocs/langs/sq_AL/projects.lang index 1a370ecf47a..fe21b3558ba 100644 --- a/htdocs/langs/sq_AL/projects.lang +++ b/htdocs/langs/sq_AL/projects.lang @@ -11,8 +11,10 @@ SharedProject=Everybody PrivateProject=Project contacts MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type). ProjectsPublicDesc=This view presents all projects you are allowed to read. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=This view presents all projects (your user permissions grant you permission to view everything). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Project leader TypeContact_project_external_PROJECTLEADER=Project leader diff --git a/htdocs/langs/sq_AL/stocks.lang b/htdocs/langs/sq_AL/stocks.lang index ef47e3f3ce7..8d2d1739a69 100644 --- a/htdocs/langs/sq_AL/stocks.lang +++ b/htdocs/langs/sq_AL/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Show warehouse MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/sq_AL/website.lang b/htdocs/langs/sq_AL/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/sq_AL/website.lang +++ b/htdocs/langs/sq_AL/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/sr_RS/admin.lang b/htdocs/langs/sr_RS/admin.lang index fa9116b9d7f..4734f844851 100644 --- a/htdocs/langs/sr_RS/admin.lang +++ b/htdocs/langs/sr_RS/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Users & groups @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Loan Module520Desc=Management of loans Module600Name=Notifications -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Donations Module700Desc=Donation management Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=Podešavanja HRM modula CompanySetup=Companies module setup CompanyCodeChecker=Module for third parties code generation and checking (customer or supplier) AccountCodeManager=Module for accountancy code generation (customer or supplier) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Documents templates DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Watermark on draft document @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/sr_RS/bills.lang b/htdocs/langs/sr_RS/bills.lang index 170d25fd4d6..6b616865ca0 100644 --- a/htdocs/langs/sr_RS/bills.lang +++ b/htdocs/langs/sr_RS/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/sr_RS/companies.lang b/htdocs/langs/sr_RS/companies.lang index 070002d134b..229bdcb9dc8 100644 --- a/htdocs/langs/sr_RS/companies.lang +++ b/htdocs/langs/sr_RS/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Jezik po default-u VATIsUsed=U PDV-u VATIsNotUsed=Van PDV-a CopyAddressFromSoc=Ispuni adresu adresom subjekta +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Koristi drugu taksu LocalTax1IsUsedES= RE is used @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organizacija FiscalYearInformation=Informacije o fiskalnoj godini FiscalMonthStart=Prvi mesec fiskalne godine -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=Lista dobavljača ListProspectsShort=Lista kandidata ListCustomersShort=Lista klijenata diff --git a/htdocs/langs/sr_RS/contracts.lang b/htdocs/langs/sr_RS/contracts.lang index 0a8bc61a387..21972899c6b 100644 --- a/htdocs/langs/sr_RS/contracts.lang +++ b/htdocs/langs/sr_RS/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Nije istekao ServiceStatusLate=Aktivan, istekao ServiceStatusLateShort=Istekao ServiceStatusClosed=Zatvoren +ShowContractOfService=Show contract of service Contracts=Ugovori ContractsSubscriptions=Ugovori/Pretplate ContractsAndLine=Ugovori i linije ugovora diff --git a/htdocs/langs/sr_RS/errors.lang b/htdocs/langs/sr_RS/errors.lang index 2e378f682be..b97b578f169 100644 --- a/htdocs/langs/sr_RS/errors.lang +++ b/htdocs/langs/sr_RS/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Podešavanja ClickToDial informacija za V WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Funkcionalnost je deaktivirana kada su podešavanja prikaza optimizovana za slepe osobe ili za tekstualne browsere. WarningPaymentDateLowerThanInvoiceDate=Datum uplate (%s) je pre datuma fakture (%s) za faktru %s. WarningTooManyDataPleaseUseMoreFilters=Previše podataka (preko %s linija). Molimo koristite filtere ili podesite konstantu %s na veći limit. -WarningSomeLinesWithNullHourlyRate=Neka utrošena vremena su sačuvana za korisnike za koje nije definisana satnica. Korišćena je satnica od 0 po defaultu, ali to može prouzrokovati pogrešnu evaluaciju. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Vaša prijava je promenjena. Iz sigurnosnih razloga se morate ponovo ulogovati. diff --git a/htdocs/langs/sr_RS/install.lang b/htdocs/langs/sr_RS/install.lang index cb24e2d9e4c..6a601a86a22 100644 --- a/htdocs/langs/sr_RS/install.lang +++ b/htdocs/langs/sr_RS/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=Preporučeno je da koristite folder van Vašeg foldera z LoginAlreadyExists= Već postoji DolibarrAdminLogin=Dolibarr admin login AdminLoginAlreadyExists=Dolibarr administratorski nalog '%s' postoji. Idite nazad ako želite da kreirate drugi. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Upozorenje, iz bezbednosnih razloga, kada završite instalaciju ili nadogradnju, kako bi ste izbegli ponovno korišćenje instalacionih alata, dodajte fajl install.lock u Dolibarr document direktorijum, radi sprečavanja zloupotrebe. FunctionNotAvailableInThisPHP=Nije dostupno na ovoj verziji PHP-a ChoosedMigrateScript=Izaberite skriptu za migraciju diff --git a/htdocs/langs/sr_RS/mails.lang b/htdocs/langs/sr_RS/mails.lang index cb1bf14bc19..44c66968501 100644 --- a/htdocs/langs/sr_RS/mails.lang +++ b/htdocs/langs/sr_RS/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=Nema planiranih obaveštenja za ovaj događaj i kompan ANotificationsWillBeSent=1 obaveštenje će biti poslato mailom SomeNotificationsWillBeSent=%s obaveštenja će biti poslato mailom AddNewNotification=Aktiviraj novi target za email obaveštenja -ListOfActiveNotifications=Lista aktivnih targeta za email obaveštenja +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=Lista svih poslatih obaveštenja MailSendSetupIs=Konfiguracija slanja mailova je podešena na "%s". Ovaj mod ne može slati masovne mailove. MailSendSetupIs2=Prvo morate sa admin nalogom otvoriti meni %sHome - Setup - EMails%s da biste promenili parametar '%s' i prešli u mod '%s'. U ovom modu, možete uneti podešavanja SMTP servera Vašeg provajdera i koristiti funkcionalnost masovnog emailinga. diff --git a/htdocs/langs/sr_RS/main.lang b/htdocs/langs/sr_RS/main.lang index aec111f7fe8..c9ac8d36e55 100644 --- a/htdocs/langs/sr_RS/main.lang +++ b/htdocs/langs/sr_RS/main.lang @@ -84,6 +84,7 @@ SeeAbove=Pogledajte iznad HomeArea=Oblast Home LastConnexion=Poslednja konekcija PreviousConnexion=Prethodna konekcija +PreviousValue=Previous value ConnectedOnMultiCompany=Povezan u okruženje ConnectedSince=Konektovani ste od AuthenticationMode=Način autentifikacije diff --git a/htdocs/langs/sr_RS/projects.lang b/htdocs/langs/sr_RS/projects.lang index 4e727f71298..fe9a60fb030 100644 --- a/htdocs/langs/sr_RS/projects.lang +++ b/htdocs/langs/sr_RS/projects.lang @@ -11,8 +11,10 @@ SharedProject=Svi PrivateProject=Project contacts MyProjectsDesc=Ovaj ekran prikazuje samo projekte u kojima ste definisani kao kontakt (bilo kog tipa). ProjectsPublicDesc=Ovaj ekran prikazuje sve projekte za koje imate pravo pregleda. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=Ovaj ekran prikazuje sve projekte ili zadatke za koje imate pravo pregleda. ProjectsDesc=Ovaj ekran prikazuje sve projekte (Vaš korisnik ima pravo pregleda svih informacija) +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=Ovaj ekran prikazuj projekte ili zadatke za koje ste definisani kao kontakt (bilo kog tipa). OnlyOpenedProject=Vidljivi su samo otvoreni projekti (draft i zatvoreni projekti nisu vidljivi) ClosedProjectsAreHidden=Zatvoreni projekti nisu vidljivi @@ -130,6 +132,9 @@ OpportunityProbability=Verovatnoća prilike OpportunityProbabilityShort=Verv. pril. OpportunityAmount=Iznos prilike OpportunityAmountShort=Iznos prilike +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Vođa projekta TypeContact_project_external_PROJECTLEADER=Vođa projekta diff --git a/htdocs/langs/sr_RS/stocks.lang b/htdocs/langs/sr_RS/stocks.lang index f54add16428..613d05d5c49 100644 --- a/htdocs/langs/sr_RS/stocks.lang +++ b/htdocs/langs/sr_RS/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Snimi transfer ReceivingForSameOrder=Prijemnice za ovu narudžbinu StockMovementRecorded=Snimljeni prometi zalihe RuleForStockAvailability=Pravila na zahtevima zaliha -StockMustBeEnoughForInvoice=Nivo zaliha mora biti dovoljan da biste dodali proizvod/uslugu u fakturu -StockMustBeEnoughForOrder=Nivo zalihe mora biti dovoljan da biste dodali proizvod/uslugu u narudžbinu -StockMustBeEnoughForShipment= Nivo zaliha mora biti dovoljan da biste dodali proizvod/uslugu u isporuku +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Naziv prometa InventoryCode=Promet ili inventarski kod IsInPackage=Sadržan u paketu +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Prikaži magacin MovementCorrectStock=Ispravka zalihe za proizvod %s MovementTransferStock=Transfer zaliha proizvoda %s u drugi magacin diff --git a/htdocs/langs/sv_SE/admin.lang b/htdocs/langs/sv_SE/admin.lang index 0cb5b9229d0..74d9efbb531 100644 --- a/htdocs/langs/sv_SE/admin.lang +++ b/htdocs/langs/sv_SE/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Användare & grupper @@ -468,7 +471,7 @@ Module510Desc=Förvaltning av de anställdas löner och betalningar Module520Name=Lån Module520Desc=Förvaltning av lån Module600Name=Anmälningar -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Donationer Module700Desc=Donation ledning Module770Name=Räkningar @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Företag modul setup CompanyCodeChecker=Modul för tredje part kodgenerering och kontroll (kund eller leverantör) AccountCodeManager=Modul för bokföring kodgenerering (kund eller leverantör) -NotificationsDesc=E-post meddelanden funktionen kan du tyst skicka automatiska mail, för vissa Dolibarr händelser. Mål av anmälningarna kan definieras:
* Per tredje parter kontakter (kunder eller leverantörer), en kontakt i taget.
* Eller genom att sätta globala mål e-postadresser i modul inställningssidan. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Dokument mallar DocumentModelOdt=Generera dokument från OpenDocuments mallar (.odt eller .ods filer för Openoffice, KOffice, Textedit, ...) WatermarkOnDraft=Vattenstämpel utkast @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Inställning av modulräkningar TemplatePDFExpenseReports=Dokumentmallar för att skapa reseräkning dokument NoModueToManageStockIncrease=Ingen modul kunna hantera automatiska lagerökningen har aktiverats. Stock ökning kommer att ske på bara manuell inmatning. YouMayFindNotificationsFeaturesIntoModuleNotification=Du kan hitta alternativ för e-postmeddelanden genom att aktivera och konfigurera modulen "Anmälan". -ListOfNotificationsPerContact=Lista över anmälningar per kontakt * +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=Lista över fasta anmälningar +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Gå på fliken "Meddelanden" av en tredjeparts kontakt för att lägga till eller ta bort meddelanden för kontakter / adresser Threshold=Tröskelvärde BackupDumpWizard=Guiden för att bygga databas backup dumpfilen diff --git a/htdocs/langs/sv_SE/bills.lang b/htdocs/langs/sv_SE/bills.lang index 45dafcfeccc..5bd3fe876aa 100644 --- a/htdocs/langs/sv_SE/bills.lang +++ b/htdocs/langs/sv_SE/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Senast relaterad faktura WarningBillExist=Varning, en eller flera fakturor finns redan MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/sv_SE/companies.lang b/htdocs/langs/sv_SE/companies.lang index 07326509169..41f962a3348 100644 --- a/htdocs/langs/sv_SE/companies.lang +++ b/htdocs/langs/sv_SE/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Språk som standard VATIsUsed=Moms används VATIsNotUsed=Moms används inte CopyAddressFromSoc=Fyll i adress med tredje parts adress +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE används @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organisation FiscalYearInformation=Information om räkenskapsåret FiscalMonthStart=Första månad av verksamhetsåret -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=Lista över leverantörer ListProspectsShort=Lista över möjliga kunder ListCustomersShort=Lista över kunder diff --git a/htdocs/langs/sv_SE/contracts.lang b/htdocs/langs/sv_SE/contracts.lang index d8c025cb7e0..1820c5c62ef 100644 --- a/htdocs/langs/sv_SE/contracts.lang +++ b/htdocs/langs/sv_SE/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Inte löpt ut ServiceStatusLate=Löpande, löpt ut ServiceStatusLateShort=Utgångna ServiceStatusClosed=Stängt +ShowContractOfService=Show contract of service Contracts=Kontrakt ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracts and line of contracts diff --git a/htdocs/langs/sv_SE/errors.lang b/htdocs/langs/sv_SE/errors.lang index 1158fdc140a..c87e571d60d 100644 --- a/htdocs/langs/sv_SE/errors.lang +++ b/htdocs/langs/sv_SE/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Inställning av ClickToDial informationen WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Feature inaktiveras när display inställning är optimerad för blinda personer eller textbaserade webbläsare. WarningPaymentDateLowerThanInvoiceDate=Betalningsdag (%s) är tidigare än fakturadatum (%s) för faktura %s. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/sv_SE/install.lang b/htdocs/langs/sv_SE/install.lang index 8bbad36483f..8c6c4f03f74 100644 --- a/htdocs/langs/sv_SE/install.lang +++ b/htdocs/langs/sv_SE/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=Det är rekommenderat att använda en katalog utanför d LoginAlreadyExists=Redan finns DolibarrAdminLogin=Dolibarr admin logik AdminLoginAlreadyExists=Dolibarr administratörskonto "%s" finns redan. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Varning, av säkerhetsskäl, när installera eller uppgradera är klar, bör du ta bort installationskatalogen eller döp om den till install.lock för att undvika dess skadliga användning. FunctionNotAvailableInThisPHP=Ej tillgängligt för denna PHP ChoosedMigrateScript=Välj migration script diff --git a/htdocs/langs/sv_SE/mails.lang b/htdocs/langs/sv_SE/mails.lang index 41975691f63..5d1038543b2 100644 --- a/htdocs/langs/sv_SE/mails.lang +++ b/htdocs/langs/sv_SE/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=Inga e-postmeddelanden planeras för detta evenemang o ANotificationsWillBeSent=En anmälan kommer att skickas via e-post SomeNotificationsWillBeSent=%s anmälningar kommer att skickas via e-post AddNewNotification=Aktivera ett nytt mål e-postmeddelande -ListOfActiveNotifications=Lista alla aktiva mål för e-postmeddelanden +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=Lista alla e-postmeddelanden skickas MailSendSetupIs=Konfiguration av e-post att skicka har ställts in till "% s". Detta läge kan inte användas för att skicka massutskick. MailSendSetupIs2=Du måste först gå, med ett administratörskonto, i meny% Shome - Setup - e-post% s för att ändra parameter '% s' för att använda läget "% s". Med det här läget kan du ange inställningar för SMTP-servern från din internetleverantör och använda Mass mejla funktionen. diff --git a/htdocs/langs/sv_SE/main.lang b/htdocs/langs/sv_SE/main.lang index f61a124c775..6a9319038e4 100644 --- a/htdocs/langs/sv_SE/main.lang +++ b/htdocs/langs/sv_SE/main.lang @@ -84,6 +84,7 @@ SeeAbove=Se ovan HomeArea=Hem område LastConnexion=Senaste anslutningen PreviousConnexion=Tidigare anslutning +PreviousValue=Previous value ConnectedOnMultiCompany=Ansluten enhet ConnectedSince=Ansluten sedan AuthenticationMode=Autentisering läge diff --git a/htdocs/langs/sv_SE/projects.lang b/htdocs/langs/sv_SE/projects.lang index 78babe50140..89f9d92f31e 100644 --- a/htdocs/langs/sv_SE/projects.lang +++ b/htdocs/langs/sv_SE/projects.lang @@ -11,8 +11,10 @@ SharedProject=Alla PrivateProject=Project contacts MyProjectsDesc=Denna syn är begränsad till projekt du en kontakt för (allt som är "typ"). ProjectsPublicDesc=Denna uppfattning presenterar alla projekt du har rätt att läsa. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=Denna uppfattning presenterar alla projekt (din användarbehörighet tillåta dig att visa allt). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=Denna syn är begränsad till projekt eller uppdrag du en kontakt för (allt som är "typ"). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Projektledare TypeContact_project_external_PROJECTLEADER=Projektledare diff --git a/htdocs/langs/sv_SE/stocks.lang b/htdocs/langs/sv_SE/stocks.lang index b67dd88917f..4c2ab82842a 100644 --- a/htdocs/langs/sv_SE/stocks.lang +++ b/htdocs/langs/sv_SE/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Spela in överföring ReceivingForSameOrder=Kvitton för denna beställning StockMovementRecorded=Sparade lageröverföringar RuleForStockAvailability=Regler om krav på lagerhållning -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Etikett för lagerrörelse InventoryCode=Lagerrörelse- eller inventeringskod IsInPackage=Ingår i förpackning +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Visa lagret MovementCorrectStock=Stock correction for product %s MovementTransferStock=Lagerförflyttning av produkt %s till ett annat lager diff --git a/htdocs/langs/sv_SE/website.lang b/htdocs/langs/sv_SE/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/sv_SE/website.lang +++ b/htdocs/langs/sv_SE/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/sw_SW/admin.lang b/htdocs/langs/sw_SW/admin.lang index ddc5b1ca34a..f6a9f3010da 100644 --- a/htdocs/langs/sw_SW/admin.lang +++ b/htdocs/langs/sw_SW/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Users & groups @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Loan Module520Desc=Management of loans Module600Name=Notifications -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Donations Module700Desc=Donation management Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Companies module setup CompanyCodeChecker=Module for third parties code generation and checking (customer or supplier) AccountCodeManager=Module for accountancy code generation (customer or supplier) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Documents templates DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Watermark on draft document @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/sw_SW/bills.lang b/htdocs/langs/sw_SW/bills.lang index 24e77f5169d..28a8ee4f110 100644 --- a/htdocs/langs/sw_SW/bills.lang +++ b/htdocs/langs/sw_SW/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/sw_SW/companies.lang b/htdocs/langs/sw_SW/companies.lang index f13a2ec02ec..44de76d2130 100644 --- a/htdocs/langs/sw_SW/companies.lang +++ b/htdocs/langs/sw_SW/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Language by default VATIsUsed=VAT is used VATIsNotUsed=VAT is not used CopyAddressFromSoc=Fill address with thirdparty address +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE is used @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organization FiscalYearInformation=Information on the fiscal year FiscalMonthStart=Starting month of the fiscal year -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=List of suppliers ListProspectsShort=List of prospects ListCustomersShort=List of customers diff --git a/htdocs/langs/sw_SW/contracts.lang b/htdocs/langs/sw_SW/contracts.lang index bb4bb033b03..08e5bb562db 100644 --- a/htdocs/langs/sw_SW/contracts.lang +++ b/htdocs/langs/sw_SW/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Not expired ServiceStatusLate=Running, expired ServiceStatusLateShort=Expired ServiceStatusClosed=Closed +ShowContractOfService=Show contract of service Contracts=Contracts ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracts and line of contracts diff --git a/htdocs/langs/sw_SW/errors.lang b/htdocs/langs/sw_SW/errors.lang index 9276b542ad7..364d60bf6b8 100644 --- a/htdocs/langs/sw_SW/errors.lang +++ b/htdocs/langs/sw_SW/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/sw_SW/install.lang b/htdocs/langs/sw_SW/install.lang index 56cf882e178..ce41ae75a30 100644 --- a/htdocs/langs/sw_SW/install.lang +++ b/htdocs/langs/sw_SW/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=It is recommanded to use a directory outside of your dir LoginAlreadyExists=Already exists DolibarrAdminLogin=Dolibarr admin login AdminLoginAlreadyExists=Dolibarr administrator account '%s' already exists. Go back, if you want to create another one. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, to avoid using install tools again, you should add a file called install.lock into Dolibarr document directory, in order to avoid malicious use of it. FunctionNotAvailableInThisPHP=Not available on this PHP ChoosedMigrateScript=Choose migration script diff --git a/htdocs/langs/sw_SW/mails.lang b/htdocs/langs/sw_SW/mails.lang index 0a945f5fd3f..ffe7d5735d1 100644 --- a/htdocs/langs/sw_SW/mails.lang +++ b/htdocs/langs/sw_SW/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=No email notifications are planned for this event and ANotificationsWillBeSent=1 notification will be sent by email SomeNotificationsWillBeSent=%s notifications will be sent by email AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=List all email notifications sent MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/sw_SW/main.lang b/htdocs/langs/sw_SW/main.lang index 40d13f564a4..18b0a7f14b8 100644 --- a/htdocs/langs/sw_SW/main.lang +++ b/htdocs/langs/sw_SW/main.lang @@ -84,6 +84,7 @@ SeeAbove=See above HomeArea=Home area LastConnexion=Last connection PreviousConnexion=Previous connection +PreviousValue=Previous value ConnectedOnMultiCompany=Connected on environment ConnectedSince=Connected since AuthenticationMode=Authentification mode diff --git a/htdocs/langs/sw_SW/projects.lang b/htdocs/langs/sw_SW/projects.lang index 1a370ecf47a..fe21b3558ba 100644 --- a/htdocs/langs/sw_SW/projects.lang +++ b/htdocs/langs/sw_SW/projects.lang @@ -11,8 +11,10 @@ SharedProject=Everybody PrivateProject=Project contacts MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type). ProjectsPublicDesc=This view presents all projects you are allowed to read. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=This view presents all projects (your user permissions grant you permission to view everything). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Project leader TypeContact_project_external_PROJECTLEADER=Project leader diff --git a/htdocs/langs/sw_SW/stocks.lang b/htdocs/langs/sw_SW/stocks.lang index ef47e3f3ce7..8d2d1739a69 100644 --- a/htdocs/langs/sw_SW/stocks.lang +++ b/htdocs/langs/sw_SW/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Show warehouse MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/th_TH/admin.lang b/htdocs/langs/th_TH/admin.lang index 1449539199f..b4b77a62b42 100644 --- a/htdocs/langs/th_TH/admin.lang +++ b/htdocs/langs/th_TH/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=และกลุ่มผู้ใช้ @@ -468,7 +471,7 @@ Module510Desc=การบริหารจัดการของเงิน Module520Name=เงินกู้ Module520Desc=การบริหารจัดการของเงินให้สินเชื่อ Module600Name=การแจ้งเตือน -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=การบริจาค Module700Desc=การจัดการการบริจาค Module770Name=รายงานค่าใช้จ่าย @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=บริษัท ติดตั้งโมดูล CompanyCodeChecker=Module สำหรับการสร้างรหัสบุคคลที่สามและการตรวจสอบ (ลูกค้าหรือผู้จัดจำหน่าย) AccountCodeManager=Module สำหรับการสร้างรหัสบัญชี (ลูกค้าหรือผู้จัดจำหน่าย) -NotificationsDesc=การแจ้งเตือนอีเมลคุณลักษณะที่ช่วยให้คุณสามารถเงียบส่งอีเมลโดยอัตโนมัติสำหรับบางเหตุการณ์ Dolibarr เป้าหมายของการแจ้งเตือนสามารถกำหนด:
* รายชื่อต่อบุคคลที่สาม (ลูกค้าหรือซัพพลายเออร์) หนึ่งในรายชื่อผู้ติดต่อได้ตลอดเวลา
* หรือโดยการตั้งค่าที่อยู่อีเมลเป้าหมายระดับโลกในหน้าการตั้งค่าโมดูล +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=แม่แบบเอกสาร DocumentModelOdt=เอกสารที่สร้างจากแม่แบบ OpenDocuments (.odt หรือไฟล์ .ods สำหรับ OpenOffice, KOffice, TextEdit, ... ) WatermarkOnDraft=ลายน้ำในเอกสารร่าง @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=การติดตั้งโมดูลรายงา TemplatePDFExpenseReports=เอกสารแม่แบบในการสร้างเอกสารรายงานค่าใช้จ่าย NoModueToManageStockIncrease=ไม่มีโมดูลสามารถจัดการกับการเพิ่มขึ้นของสต็อกอัตโนมัติถูกเปิดใช้งาน การเพิ่มขึ้นของสต็อกจะทำได้ในการป้อนข้อมูลด้วยตนเอง YouMayFindNotificationsFeaturesIntoModuleNotification=คุณอาจพบว่าตัวเลือกสำหรับการแจ้งเตือนทางอีเมลโดยการเปิดและการกำหนดค่าโมดูล "ประกาศ" -ListOfNotificationsPerContact=รายการของการแจ้งเตือนต่อการติดต่อ * +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=รายการของการแจ้งเตือนคงที่ +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=ไปที่แท็บ "การแจ้งเตือน" ของการติดต่อ thirdparty เพื่อเพิ่มหรือลบการแจ้งเตือนสำหรับรายชื่อ / ที่อยู่ Threshold=ธรณีประตู BackupDumpWizard=ตัวช่วยสร้างการสร้างแฟ้มการถ่ายโอนการสำรองฐานข้อมูล diff --git a/htdocs/langs/th_TH/bills.lang b/htdocs/langs/th_TH/bills.lang index 446cc38d2ff..c0ac989e261 100644 --- a/htdocs/langs/th_TH/bills.lang +++ b/htdocs/langs/th_TH/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=ใบแจ้งหนี้ที่เกี่ยวข WarningBillExist=คำเตือนหนึ่งหรือใบแจ้งหนี้มากขึ้นอยู่แล้ว MergingPDFTool=ผสานเครื่องมือรูปแบบไฟล์ PDF AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/th_TH/companies.lang b/htdocs/langs/th_TH/companies.lang index c9759fbff37..696f39878d5 100644 --- a/htdocs/langs/th_TH/companies.lang +++ b/htdocs/langs/th_TH/companies.lang @@ -74,6 +74,7 @@ DefaultLang=ภาษาโดยปริยาย VATIsUsed=ภาษีมูลค่าเพิ่มถูกนำมาใช้ VATIsNotUsed=ภาษีมูลค่าเพิ่มที่ไม่ได้ใช้ CopyAddressFromSoc=กรอกที่อยู่ที่อยู่ thirdparty +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE ถูกนำมาใช้ @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=องค์กร FiscalYearInformation=ข้อมูลเกี่ยวกับปีงบประมาณ FiscalMonthStart=เริ่มต้นเดือนของปีงบประมาณ -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=รายชื่อของซัพพลายเออร์ ListProspectsShort=รายชื่อของลูกค้า ListCustomersShort=รายชื่อของลูกค้า diff --git a/htdocs/langs/th_TH/contracts.lang b/htdocs/langs/th_TH/contracts.lang index d4b5dfdfcc2..3976d06a8cc 100644 --- a/htdocs/langs/th_TH/contracts.lang +++ b/htdocs/langs/th_TH/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=ไม่หมดอายุ ServiceStatusLate=ทำงานหมดอายุ ServiceStatusLateShort=หมดอายุ ServiceStatusClosed=ปิด +ShowContractOfService=Show contract of service Contracts=สัญญา ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=สัญญาและสายของสัญญา diff --git a/htdocs/langs/th_TH/errors.lang b/htdocs/langs/th_TH/errors.lang index 1b38db1dc6e..91b53d1ac14 100644 --- a/htdocs/langs/th_TH/errors.lang +++ b/htdocs/langs/th_TH/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=การตั้งค่าข้อ WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=คุณสมบัติปิดการใช้งานการตั้งค่าการแสดงผลเมื่อเป็นที่เหมาะสำหรับคนตาบอดหรือข้อความเบราว์เซอร์ WarningPaymentDateLowerThanInvoiceDate=วันที่ชำระเงิน (% s) ก่อนวันที่ใบแจ้งหนี้ (% s) สำหรับใบแจ้งหนี้% s WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -WarningSomeLinesWithNullHourlyRate=บางครั้งถูกบันทึกไว้โดยผู้ใช้เมื่ออัตราชั่วโมงของพวกเขาไม่ได้กำหนดไว้ ค่า 0 ถูกนำมาใช้ แต่อาจส่งผลในการประเมินมูลค่าที่ไม่ถูกต้องของเวลาที่ใช้ +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/th_TH/install.lang b/htdocs/langs/th_TH/install.lang index bc7203b4da3..db378b7a2e7 100644 --- a/htdocs/langs/th_TH/install.lang +++ b/htdocs/langs/th_TH/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=มันเป็น recommanded ใช้ไดเร LoginAlreadyExists=ที่มีอยู่แล้ว DolibarrAdminLogin=ผู้ดูแลระบบเข้าสู่ระบบ Dolibarr AdminLoginAlreadyExists=Dolibarr บัญชีผู้ดูแลระบบ '% s' อยู่แล้ว กลับไปถ้าคุณต้องการที่จะสร้างอีกคนหนึ่ง +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=คำเตือนเพื่อความปลอดภัยเมื่อติดตั้งหรืออัพเกรดเสร็จสมบูรณ์หลีกเลี่ยงการใช้ติดตั้งเครื่องมืออีกครั้งคุณควรเพิ่มไฟล์ที่เรียกว่า install.lock ลงในไดเรกทอรีเอกสาร Dolibarr เพื่อที่จะหลีกเลี่ยงการใช้ที่เป็นอันตรายของมัน FunctionNotAvailableInThisPHP=ไม่สามารถใช้ได้ใน PHP นี้ ChoosedMigrateScript=เลือกสคริปต์การย้ายถิ่น diff --git a/htdocs/langs/th_TH/mails.lang b/htdocs/langs/th_TH/mails.lang index 7b1c1331c51..518eb78c123 100644 --- a/htdocs/langs/th_TH/mails.lang +++ b/htdocs/langs/th_TH/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=ไม่มีการแจ้งเตือนอ ANotificationsWillBeSent=1 การแจ้งเตือนจะถูกส่งไปทางอีเมล SomeNotificationsWillBeSent=% s การแจ้งเตือนจะถูกส่งไปทางอีเมล AddNewNotification=เปิดใช้งานเป้าหมายการแจ้งเตือนอีเมลใหม่ -ListOfActiveNotifications=รายชื่อเป้าหมายการแจ้งเตือนอีเมลที่ใช้งานทั้งหมด +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=รายการทั้งหมดแจ้งเตือนอีเมลที่ส่ง MailSendSetupIs=การกำหนดค่าของการส่งอีเมล์ที่ได้รับการติดตั้งเพื่อ '% s' โหมดนี้ไม่สามารถใช้ในการส่งการส่งอีเมลมวล MailSendSetupIs2=ก่อนอื่นคุณต้องไปกับบัญชีผู้ดูแลระบบลงไปในเมนู% sHome - การติดตั้ง - อีเมล์% s จะเปลี่ยนพารามิเตอร์ '% s' เพื่อใช้โหมด '% s' ด้วยโหมดนี้คุณสามารถเข้าสู่การตั้งค่าของเซิร์ฟเวอร์ที่ให้บริการโดยผู้ให้บริการอินเทอร์เน็ตของคุณและใช้คุณลักษณะการส่งอีเมลมวล diff --git a/htdocs/langs/th_TH/main.lang b/htdocs/langs/th_TH/main.lang index 3f6136083aa..aa3596e1d19 100644 --- a/htdocs/langs/th_TH/main.lang +++ b/htdocs/langs/th_TH/main.lang @@ -84,6 +84,7 @@ SeeAbove=ดูข้างต้น HomeArea=พื้นที่หน้าแรก LastConnexion=การเชื่อมต่อล่าสุด PreviousConnexion=การเชื่อมต่อก่อนหน้า +PreviousValue=Previous value ConnectedOnMultiCompany=ที่เชื่อมต่อกับสภาพแวดล้อม ConnectedSince=เชื่อมต่อตั้งแต่ AuthenticationMode=โหมด authentification diff --git a/htdocs/langs/th_TH/projects.lang b/htdocs/langs/th_TH/projects.lang index 0c79bc00592..12dfb073b23 100644 --- a/htdocs/langs/th_TH/projects.lang +++ b/htdocs/langs/th_TH/projects.lang @@ -11,8 +11,10 @@ SharedProject=ทุกคน PrivateProject=Project contacts MyProjectsDesc=มุมมองนี้จะ จำกัด ให้กับโครงการที่คุณกำลังติดต่อ (สิ่งที่เป็นประเภท) ProjectsPublicDesc=มุมมองนี้จะนำเสนอโครงการทั้งหมดที่คุณได้รับอนุญาตให้อ่าน +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=มุมมองนี้นำเสนอทุกโครงการและงานที่คุณได้รับอนุญาตในการอ่าน ProjectsDesc=มุมมองนี้นำเสนอทุกโครงการ (สิทธิ์ผู้ใช้ของคุณอนุญาตให้คุณสามารถดูทุกอย่าง) +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=มุมมองนี้จะ จำกัด ให้กับโครงการหรืองานที่คุณกำลังติดต่อ (สิ่งที่เป็นประเภท) OnlyOpenedProject=เฉพาะโครงการที่เปิดจะมองเห็นได้ (โครงการในร่างหรือสถานะปิดจะมองไม่เห็น) ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=จำนวนเงินที่มีโอกาส OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=หัวหน้าโครงการ TypeContact_project_external_PROJECTLEADER=หัวหน้าโครงการ diff --git a/htdocs/langs/th_TH/stocks.lang b/htdocs/langs/th_TH/stocks.lang index a9e1abf2fec..22febf71d89 100644 --- a/htdocs/langs/th_TH/stocks.lang +++ b/htdocs/langs/th_TH/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=โอนบันทึก ReceivingForSameOrder=ใบเสร็จรับเงินสำหรับการสั่งซื้อนี้ StockMovementRecorded=การเคลื่อนไหวของหุ้นที่บันทึกไว้ RuleForStockAvailability=หลักเกณฑ์ในการความต้องการหุ้น -StockMustBeEnoughForInvoice=ระดับหุ้นจะต้องพอที่จะเพิ่มสินค้า / บริการใบแจ้งหนี้ -StockMustBeEnoughForOrder=ระดับหุ้นจะต้องพอที่จะเพิ่มสินค้า / บริการที่จะสั่งซื้อ -StockMustBeEnoughForShipment= ระดับหุ้นจะต้องพอที่จะเพิ่มสินค้า / บริการให้กับการจัดส่ง +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=ป้ายของการเคลื่อนไหว InventoryCode=การเคลื่อนไหวหรือรหัสสินค้าคงคลัง IsInPackage=เป็นแพคเกจที่มีอยู่ +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=แสดงคลังสินค้า MovementCorrectStock=แก้ไขหุ้นสำหรับผลิตภัณฑ์% s MovementTransferStock=การโอนหุ้นของผลิตภัณฑ์% s เข้าไปในโกดังอีก diff --git a/htdocs/langs/th_TH/website.lang b/htdocs/langs/th_TH/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/th_TH/website.lang +++ b/htdocs/langs/th_TH/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/tr_TR/accountancy.lang b/htdocs/langs/tr_TR/accountancy.lang index a84979f56e6..7b4f383ac25 100644 --- a/htdocs/langs/tr_TR/accountancy.lang +++ b/htdocs/langs/tr_TR/accountancy.lang @@ -75,19 +75,19 @@ ACCOUNTING_SERVICE_SOLD_ACCOUNT=Satılan hizmetler için varsayılan muhasebe ko Doctype=Belge türü Docdate=Tarih Docref=Referans -Code_tiers=Üçüncü parti +Code_tiers=Üçüncü taraf Labelcompte=Hesap etiketi Sens=Sens (borsa haberleri yayınlama günlüğü) Codejournal=Günlük NumPiece=Parça sayısı AccountingCategory=Muhasebe kategorisi -NotMatch=Not Set +NotMatch=Ayarlanmamış -DeleteMvt=Delete general ledger lines -DelYear=Year to delete -DelJournal=Journal to delete -ConfirmDeleteMvt=This will delete all line of of the general ledger for year and/or from a specifics journal +DeleteMvt=Büyük defter satırı sil +DelYear=Silinecek yıl +DelJournal=Silinecek günlük +ConfirmDeleteMvt=Bu, büyük defterde yıl için ve/veya belirli bir günlükten tüm satırları siecektir. DelBookKeeping=Büyük defter kayıtlarını sil @@ -98,15 +98,15 @@ DescFinanceJournal=Banka hesabından yapılan tüm ödeme türlerini içeren fin CustomerInvoicePayment=Müşteri faturası ödemesi -ThirdPartyAccount=Üçüncü parti hesabı +ThirdPartyAccount=Üçüncü taraf hesabı NewAccountingMvt=Yeni hareket NumMvts=Hareket sayısı ListeMvts=Hareket listesi ErrorDebitCredit=Borç ve Alacak aynı anda bir değere sahip olamaz -ReportThirdParty=Üçüncü parti hesabını listele -DescThirdPartyReport=Burada üçüncü parti müşterileri ve tedarikçileri ile onların muhasebe hesaplarının listesine bakın +ReportThirdParty=Üçüncü taraf hesabını listele +DescThirdPartyReport=Burada üçüncü taraf müşterileri ve tedarikçileri ile onların muhasebe hesaplarının listesine bakın ListAccounts=Muhasebe hesapları listesi @@ -147,7 +147,7 @@ Modelcsv_bob50=Sage BOB 50'ye doğru dişaaktar Modelcsv_ciel=Sage Ciel Compta ya da Compta Evolution'a doğru dışaaktar Modelcsv_quadratus=Quadratus QuadraCompta'ya doğru dışaaktar Modelcsv_ebp=EBP'ye yönelik dışaaktarım -Modelcsv_cogilog=Export towards Cogilog +Modelcsv_cogilog=Cogilog'a dışaaktar ## Tools - Init accounting account on product / service InitAccountancy=Muhasebe başlangıcı @@ -166,4 +166,4 @@ Formula=Formül ## Error ErrorNoAccountingCategoryForThisCountry=Bu ülke için mevcut muhasebe kategorisi yok ExportNotSupported=Ayarlanan dışaaktarım biçimi bu sayfada desteklenmiyor -BookeppingLineAlreayExists=Lines already existing into bookeeping +BookeppingLineAlreayExists=Satırlar zaten muhasebede bulunmaktadır diff --git a/htdocs/langs/tr_TR/admin.lang b/htdocs/langs/tr_TR/admin.lang index 9ea22ee498a..012d30e7f6c 100644 --- a/htdocs/langs/tr_TR/admin.lang +++ b/htdocs/langs/tr_TR/admin.lang @@ -55,11 +55,11 @@ ErrorCodeCantContainZero=Kod 0 değerini içeremez DisableJavascript=Javascript ve Ajax fonksiyonlarını engelle (Görme engelli kişiler ve metin tarayıcılar için önerilir) UseSearchToSelectCompanyTooltip=Ayrıca çok fazla sayıda üçüncü partiniz varsa (>100 000), Kurulum->Diğer den COMPANY_DONOTSEARCH_ANYWHERE değişmezini 1 e ayarlayarak hızı arttırabilirsiniz. Sonra arama dizenin başlamasıyla sınırlı olacaktır. UseSearchToSelectContactTooltip=Ayrıca çok fazla sayıda üçüncü partiniz varsa (>100 000), Kurulum->Diğer den CONTACT_DONOTSEARCH_ANYWHERE değişmezini 1 e ayarlayarak hızı arttırabilirsiniz. Sonra arama dizenin başlamasıyla sınırlı olacaktır. -DelaiedFullListToSelectCompany=Üçüncü parti içeriği açılır listesini yüklemek için bir düğmeye basmadan önce bekleyin (Çok sayıda üçüncü parti varsa, beklemek performansı arttıracaktır) +DelaiedFullListToSelectCompany=Üçüncü taraf içeriği açılır listesini yüklemek için bir düğmeye basmadan önce bekleyin (Çok sayıda üçüncü taraf varsa, beklemek performansı arttıracaktır) DelaiedFullListToSelectContact=Açılır liste içeriğini yüklemek için bir düğmeye basmadan önce bekleyin (Çok sayıda üçüncü parti varsa, beklemek performansı arttıracaktır) NumberOfKeyToSearch=Aramayı başlatacak karakter sayısı: %s NotAvailableWhenAjaxDisabled=Ajax devre dışı olduğunda kullanılamaz -AllowToSelectProjectFromOtherCompany=Bir üçüncü parti belgesinde, başka bir üçüncü partiye bağlantılı bir proje seçilebilir +AllowToSelectProjectFromOtherCompany=Bir üçüncü taraf belgesinde, başka bir üçüncü tarafa bağlantılı bir proje seçilebilir JavascriptDisabled=JavaScript devre dışı UsePreviewTabs=Önizleme sekmesi kullan ShowPreview=Önizleme göster @@ -240,7 +240,7 @@ MAIN_SMS_SENDMODE=SMS göndermek için kullanılacak yöntem MAIN_MAIL_SMS_FROM=SMS gönderimi için varsayılan gönderici telefon numarası FeatureNotAvailableOnLinux=Unix gibi sistemlerde bu özellik yoktur. SubmitTranslation=Bu dil için çeviri tamamlanmamışsa ya da hatalar buluyorsanız, bunları langs/%s dizininde düzeltebilir ve değişikliklerinizi www.transifex.com/dolibarr-association/dolibarr/ a gönderebilirsiniz. -SubmitTranslationENUS=If translation for this language is not complete or you find errors, you can correct this by editing files into directory langs/%s and submit modified files on dolibarr.org/forum or for developers on github.com/Dolibarr/dolibarr. +SubmitTranslationENUS=Bu dil için çeviri tamamlanmamışsa ya da hatalar buluyorsanız, bunları langs/%s dizininde düzeltebilir ve değişikliklerinizi dolibarr.org/forum adresine veya geliştiriciler için github.com/Dolibarr/dolibarr adresine gönderebilirsiniz. ModuleSetup=Modül kurulumu ModulesSetup=Modüllerin kurulumu ModuleFamilyBase=Sistem @@ -275,7 +275,7 @@ CallUpdatePage=Veritabanı yapısını ve verileri güncelleyen sayfaya git: %s. LastStableVersion=Son kararlı sürüm UpdateServerOffline=Güncelleme sunucusu çevrimdışı GenericMaskCodes=Herhangi bir numaralandırma maskesi girebilirsiniz. Bu maskede alttaki etiketler kullanılabilir:
{000000} her %s te artırılacak bir numaraya karşılık gelir. Sayacın istenilen uzunluğu kadar çok sıfır girin. Sayaç, maskedeki kadar çok sayıda sıfır olacak şekilde soldan sıfırlarla tamamlanacaktır.
{000000+000} önceki ile aynıdır fakat + işaretinin sağındaki sayıya denk gelen bir sapma ilk %s ten itibaren uygulanır.
{000000@x} önceki ile aynıdır fakat sayaç x aya ulaşıldığında sıfırlanır (x= 1 ve 12 arasındadır veya yapılandırmada tanımlanan mali yılın ilk aylarını kullanmak için 0 dır). Bu seçenek kullanılırsa ve x= 2 veya daha yüksekse, {yyyy}{mm} veya {yyyy}{mm} dizisi de gereklidir.
{dd} gün (01 ila 31).
{mm} ay (01 ila 12).
{yy}, {yyyy} veya {y} yıl 2, 4 veya 1 sayıları üzerindedir.
-GenericMaskCodes2=b>cccc{}
n Karakterdeki istemci kodu
cccc000{}n Karakterdeki istemci kodu müşteri için özel bir sayaç tarafından takip edilmektedir. Müşteriye ayrılan bu sayaç, genel sayaçla aynı anda sıfırlanır.
tttt{} n Karakterdeki firma türü kodu (bakınız sözlük-şirket türleri).
+GenericMaskCodes2={cccc} n Karakterdeki istemci kodu
{cccc000} n Karakterdeki istemci kodu müşteri için özel bir sayaç tarafından takip edilmektedir. Müşteriye ayrılan bu sayaç, genel sayaçla aynı anda sıfırlanır.
{tttt} n Karakterdeki üçüncü taraf türü kodu (bakınız sözlük-şirket türleri).
GenericMaskCodes3=Maskede diğer tüm karakterler olduğu gibi kalır.
Boşluklara izin verilmez.
GenericMaskCodes4a=Üçüncü partinin 99 uncu %s örneği Firma 2007/01/31 de yapıldı:
GenericMaskCodes4b=2007/03/01 tarihinde oluşturulan üçüncü parti örneği:
@@ -385,6 +385,9 @@ NoDetails=Sayfa altığında daha fazla bilgi yok DisplayCompanyInfo=Firma adresini göster DisplayCompanyInfoAndManagers=Firma ve yönetici isimlerini göster EnableAndSetupModuleCron=Eğer bu yinelenen faturanın otomatik olarak oluşturulmasını istiyorsanız, *%s* modülü etkinleştirilmeli ve doğru olarak ayarlanmış olmalı. Aksi durumda, faturaların oluşturulması *Oluştur* düğmesi ile bu şablondan elle yapılmalıdır. Otomatik oluşturmayı etkinleştirmiş olsanız bile yine elle oluşturmayı güvenli bir şekilde yapabilirsiniz. Aynı sırada kopya oluşturma mümkün olmaz. +ModuleCompanyCodeAquarium=Oluşturulan bir muhasebe kodunu gir:
%s 'i muhasebe koduna ait bir üçüncü parti tedarikçi firma kodu izler,
%s 'i muhasebe koduna ait bir üçüncü parti müşteri kodu için izler . +ModuleCompanyCodePanicum=Boş bir muhasebe kodu girin. +ModuleCompanyCodeDigitaria=Muhasebe kodu üçüncü parti koduna bağlıdır. Kod üçüncü parti kodunun ilk 5 karakterini izleyen birinci konumda "C" karakterinden oluşmaktadır. # Modules Module0Name=Kullanıcılar & gruplar @@ -468,7 +471,7 @@ Module510Desc=Çalışanların maaş ve ödeme yönetimi Module520Name=Borç Module520Desc=Borçların yönetimi Module600Name=Duyurlar -Module600Desc=Üçüncü parti kişilerine (her üçüncü parti için ayarlar tanımlanmıştır) Eposta bildirimleri ya da sabit postalar (bazı Dolibarr iş etkinlikleriyle başlatılan) gönderin +Module600Desc=Kullanıcılara (her kullanıcı için ayarlar tanımlanmıştır), üçüncü taraf kişilerine (her üçüncü taraf için ayarlar tanımlanmıştır) Eposta bildirimleri (bazı Dolibarr iş etkinlikleriyle başlatılan), ya da sabit postalar gönderin. Module700Name=Bağışlar Module700Desc=Bağış yönetimi Module770Name=Gider raporları @@ -512,8 +515,8 @@ Module5000Name=Çoklu-firma Module5000Desc=Birden çok firmayı yönetmenizi sağlar Module6000Name=İş akışı Module6000Desc=İş akışı yönetimi -Module10000Name=Websites -Module10000Desc=Create public websites with a WYSIWG editor. Just setup your web server to point to the dedicated directory to have it online on the Internet. +Module10000Name=Websiteleri +Module10000Desc=Bir WYSIWG düzenleyici ile genel websiteleri oluturun. Internet üzerinde çevrimiçi görünmesi için Web sunucunuzu size ayrılmış dizini gösterecek şekilde ayarlayın. Module20000Name=İzin İstekleri yönetimi Module20000Desc=Çalışanların izin isteklerini bildirin ve izleyin Module39000Name=Ürün partisi @@ -534,8 +537,8 @@ Module59000Name=Kar Oranları Module59000Desc=Kar Oranı yönetimi modülü Module60000Name=Komisyonlar Module60000Desc=Komisyon yönetimi modülü -Module63000Name=Resources -Module63000Desc=Manage resources (printers, cars, room, ...) you can then share into events +Module63000Name=Kaynaklar +Module63000Desc=Kaynakları yönetin (yazıcılar, arabalar, odalar, ...) böylece etkinliklerde paylaşabilirsiniz Permission11=Müşteri faturalarını oku Permission12=Müşteri faturaları oluştur/düzenle Permission13=Müşteri faturalarının doğrulamasını kaldır @@ -777,8 +780,8 @@ Permission55002=Anket oluştur/düzenle Permission59001=Ticari kar oranı oku Permission59002=Ticari kar oranı tanımla Permission59003=Her müşterinin kar oranını oku -DictionaryCompanyType=Üçüncü parti türleri -DictionaryCompanyJuridicalType=Üçüncü parti yasal formları +DictionaryCompanyType=Üçüncü taraf türleri +DictionaryCompanyJuridicalType=Üçüncü taraf yasal formları DictionaryProspectLevel=Aday potansiyel düzeyi DictionaryCanton=Eyalet/İl DictionaryRegion=Bölgeler @@ -1011,7 +1014,7 @@ ExtraFields=Tamamlayıcı öznitelikler ExtraFieldsLines=Tamamlayıcı öznitelikler (satırlar) ExtraFieldsSupplierOrdersLines=Tamamlayıcı öznitelikler (sipariş satırları) ExtraFieldsSupplierInvoicesLines=Tamamlayıcı öznitelikler (fatura satırları) -ExtraFieldsThirdParties=Ek öznitelikler (üçüncüparti) +ExtraFieldsThirdParties=Ek öznitelikler (üçüncü taraf) ExtraFieldsContacts=Ek öznitelikler (kişi/adres) ExtraFieldsMember=Tamamlayıcı öznitelikler (üye) ExtraFieldsMemberType=Tamamlayıcı öznitelikler (üye türü) @@ -1067,7 +1070,10 @@ HRMSetup=İK modülü ayarları CompanySetup=Firmalar modülü kurulumu CompanyCodeChecker=Üçüncü partiler için kod üretimi ve denetimi modülü (müşteri veya tedarikçi) AccountCodeManager=Muhasebe kodu üretimi modülü (müşteri veya tedarikçi) -NotificationsDesc=Eposta özelliği, bazı Dolibarr etkinlikleri için sessiz ve otomatik olarak posta göndermenizi sağlar. Bildirim hedefleri şu şekilde tanımlanabilir:
* her üçüncü parti kişisine (müşteri ya da tedarikçi), aynı anda bir kişiye.
* ya da modül ayarları sayfasında genel eposta hedeflerini tanımlayarak. +NotificationsDesc=Eposta özelliği, bazı Dolibarr etkinlikleri için sessiz ve otomatik olarak posta göndermenizi sağlar. Bildirim hedefleri şu şekilde tanımlanabilir: +NotificationsDescUser=* kullanıcı başına, her seferinde bir kullanıcı. +NotificationsDescContact=* üçüncü taraf kişileri başına, her seferinde bir kişi. +NotificationsDescGlobal=* veya modül ayarları sayfasında genel hedef epostaları ayarlanarak. ModelModules=Belge şablonları DocumentModelOdt=OpenDocuments şablonlarından belgeler oluşturun (OpenOffice, KOffice, TextEdit .ODT veya .ODS dosyaları) WatermarkOnDraft=Taslak belge üzerinde filigran @@ -1287,7 +1293,7 @@ ProductServiceSetup=Ürünler ve Hizmetler modüllerinin kurulumu NumberOfProductShowInSelect=Açılır seçim (combo) listelerindeki ençok ürün sayısı (0 = sınır yok) ViewProductDescInFormAbility=Formlarda ürün tanımlarının görselleştirilmesi (aksi durumda açılır araç ipucu olarak) MergePropalProductCard=Eğer ürün/hizmet teklifte varsa Ekli Dosyalar sekmesinde ürün/hizmet seçeneğini etkinleştirin, böylece ürün PDF belgesini PDF azur teklifine birleştirirsiniz -ViewProductDescInThirdpartyLanguageAbility=Ürün açıklamalarının üçüncü partilerin dilinde gösterilmesi +ViewProductDescInThirdpartyLanguageAbility=Ürün açıklamalarının üçüncü taraf dilinde gösterilmesi UseSearchToSelectProductTooltip=Ayrıca çok fazla sayıda ürününüz varsa (>100 000), Kurulum->Diğer den PRODUCT_DONOTSEARCH_ANYWHERE değişmezini 1 e ayarlayarak hızı arttırabilirsiniz. Sonra arama dizenin başlamasıyla sınırlı olacaktır. UseSearchToSelectProduct=Bir ürün seçmek için arama formu kullanın (liste kutusu yerine). SetDefaultBarcodeTypeProducts=Ürünler için kullanılacak varsayılan barkod türü @@ -1518,9 +1524,11 @@ ExpenseReportsSetup=Gider Raporları modülü Ayarları TemplatePDFExpenseReports=Gider raporu belgesi oluşturmak için belge şablonları NoModueToManageStockIncrease=Otomatik stok arttırılması yapabilecek hiçbir modül etkinleştirilmemiş. Stok arttırılması yalnızca elle girişle yapılacaktır. YouMayFindNotificationsFeaturesIntoModuleNotification="Bildirimler" modülünü etkinleştirerek ve yapılandırarak Eposta bildirimleri seçeneklerini bulabilirsiniz. -ListOfNotificationsPerContact=Kişi başına bildirimler listesi* +ListOfNotificationsPerUser=Kullanıcı başına bildirimler listesi* +ListOfNotificationsPerUserOrContact=Kullanıcı başına veya kişi başına bildirimler listesi** ListOfFixedNotifications=Sabit bildirimler listesi -GoOntoContactCardToAddMore=Kişilerden/adreslerden bildirimleri kaldırmak için üçüncü parti kişileri "Bildirimler" sekmesine git +GoOntoUserCardToAddMore=Kullanıcılardan bildirimleri kaldırmak veya eklemek için kullanıcının "Bildirimler" sekmesine git +GoOntoContactCardToAddMore=Kişilerden/adreslerden bildirimleri kaldırmak için üçüncü taraf kişileri "Bildirimler" sekmesine git Threshold=Sınır BackupDumpWizard=Veritabanı yedekleme döküm dosyası oluşturma sihirbazı SomethingMakeInstallFromWebNotPossible=Web arayüzünden dış modül kurulumu aşağıdaki nedenden ötürü olanaksızdır: @@ -1563,7 +1571,7 @@ MailToSendIntervention=Müdahale göndermek için MailToSendSupplierRequestForQuotation=Tedarikçiye teklif isteği göndermek için MailToSendSupplierOrder=Tedarikçi siparişi göndermek için MailToSendSupplierInvoice=Tedarikçi faturası göndermek için -MailToThirdparty=Üçüncü parti sayfasından eposta göndermek için +MailToThirdparty=Üçüncü taraf sayfasından eposta göndermek için ByDefaultInList=Liste görünümünde varsayılana göre göster YouUseLastStableVersion=Son kararlı sürümü kullanın TitleExampleForMajorRelease=Bu ana sürümü duyurmak için kullanabileceğiniz mesaj örneği (web sitenizde rahatça kullanabilirsiniz) @@ -1593,4 +1601,4 @@ DetectionNotPossible=Algılama olası değil UrlToGetKeyToUseAPIs=API kullanmak için işaretlenecek URL (işaretlenir işaretlenmez veritabanı kullanıcı tablosuna kaydedilir ve sonraki her girişte denetlenecektir) ListOfAvailableAPIs=Mevcut API listesi activateModuleDependNotSatisfied="%s" Modülü eksik olan "%s" modülüne bağlıdır, yani "%1$s" düzgün çalışmayabilir. Lütfen "%2$s" modülünü kurun ya da herhangi bir sürprizle karşılaşmamak için "%1$s" modülünü devre dışı bırakın. -CommandIsNotInsideAllowedCommands=The command you try to run is not inside list of allowed commands defined into parameter $dolibarr_main_restrict_os_commands into conf.php file. +CommandIsNotInsideAllowedCommands=Çalıştırmaya çalıştığınız komut, $dolibarr_main_restrict_os_commands into conf.php parametre dosyası içindeki izin verilen komutlar olarak tanımlanan listede yoktur. diff --git a/htdocs/langs/tr_TR/banks.lang b/htdocs/langs/tr_TR/banks.lang index 56f82396946..f4518ed01c1 100644 --- a/htdocs/langs/tr_TR/banks.lang +++ b/htdocs/langs/tr_TR/banks.lang @@ -88,8 +88,8 @@ ConciliatedBy=Uzlaştıran DateConciliating=Uzlaştırma tarihi BankLineConciliated=İşlem uzlaştırılmış CustomerInvoicePayment=Müşteri ödemesi -SupplierInvoicePayment=Supplier payment -SubscriptionPayment=Subscription payment +SupplierInvoicePayment=Tedarikçi ödemesi +SubscriptionPayment=Abonelik ödemesi WithdrawalPayment=Para çekme ödemesi SocialContributionPayment=Sosyal/mali vergi ödemesi BankTransfer=Banka havalesi diff --git a/htdocs/langs/tr_TR/bills.lang b/htdocs/langs/tr_TR/bills.lang index 8220abaaeaf..00a6c8fc622 100644 --- a/htdocs/langs/tr_TR/bills.lang +++ b/htdocs/langs/tr_TR/bills.lang @@ -56,7 +56,7 @@ SupplierBill=Tedarikçi faturası SupplierBills=tedarikçi faturaları Payment=Ödeme PaymentBack=Geri ödeme -CustomerInvoicePaymentBack=Payment back +CustomerInvoicePaymentBack=Geri ödeme Payments=Ödemeler PaymentsBack=Geri ödemeler paymentInInvoiceCurrency=fatura para biriminde @@ -312,6 +312,7 @@ LatestRelatedBill=Son ilgili fatura WarningBillExist=Uyarı, bir yada çok fatura zaten var MergingPDFTool=Birleştirme PDF aracı AmountPaymentDistributedOnInvoice=Faturaya dağıtılan ödeme tutarı +PaymentOnDifferentThirdBills=Ana firmaya ait farklı üçüncü taraf faturalarında ödemeye izin ver PaymentNote=Ödeme notu ListOfPreviousSituationInvoices=Önceki hakediş faturaları listesi ListOfNextSituationInvoices=Sonraki hakediş faturaları listesi @@ -323,7 +324,7 @@ NextDateToExecution=Sonraki fatura oluşturulacak tarih DateLastGeneration=Son oluşturma tarihi MaxPeriodNumber=Oluturulan ençok fatura sayısı NbOfGenerationDone=Hali hazırda oluşturulmuş fatura sayısı -MaxGenerationReached=Maximum nb of generations reached +MaxGenerationReached=Ulaşılan ençok sayıdaki oluşturma InvoiceAutoValidate=Faturaları otomatik olarak doğrula GeneratedFromRecurringInvoice=Şablondan oluşturulan yinelenen fatura %s DateIsNotEnough=Henüz tarihe ulaşılmadı @@ -434,7 +435,7 @@ ToMakePaymentBack=Geri öde ListOfYourUnpaidInvoices=Ödenmemiş fatura listesi NoteListOfYourUnpaidInvoices=Not: Bu liste, satış temsilcisi olarak bağlı olduğunuz üçüncü partilere ait faturaları içerir. RevenueStamp=Bandrol -YouMustCreateInvoiceFromThird=Bu seçenek, yalnızca fatura oluştururken, üçüncü parti *müşteri* sekmesinde belirir +YouMustCreateInvoiceFromThird=Bu seçenek, yalnızca fatura oluştururken, üçüncü taraf *müşteri* sekmesinde belirir YouMustCreateStandardInvoiceFirstDesc=Yeni bir fatura şablonu oluşturmak için önce bir standart fatura oluşturmalı ve onu "şablona" dönüştürmelisiniz PDFCrabeDescription=Fatura PDF şablonu Crabe. Tam fatura şablonu (Önerilen şablon) PDFCrevetteDescription=Fatura PDF şablonu Crevette. Durum faturaları için eksiksiz bir fatura şablonu diff --git a/htdocs/langs/tr_TR/categories.lang b/htdocs/langs/tr_TR/categories.lang index 445f2984a35..c4310129bc7 100644 --- a/htdocs/langs/tr_TR/categories.lang +++ b/htdocs/langs/tr_TR/categories.lang @@ -33,7 +33,7 @@ CompanyIsInSuppliersCategories=Bu üçüncü parti aşağıdaki tedarikçi etike MemberIsInCategories=Bu üye aşağıdaki üye etiketlerine/kategorilerine bağlantılandı ContactIsInCategories=Bu kişi aşağıdaki kişi etiketlerine/kategorilerine bağlantılı ProductHasNoCategory=Bu ürün/hizmet hiçbir etikette/kategoride yoktur -CompanyHasNoCategory=Bu üçüncü parti hiç bir etikette/kategoride yok +CompanyHasNoCategory=Bu üçüncü taraf hiç bir etikette/kategoride yok MemberHasNoCategory=Bu üye hiçbir etikette/kategoride yoktur ContactHasNoCategory=Bu kişi hiçbir etikette/kategoride yok ClassifyInCategory=Etikete/kategoriye ekle diff --git a/htdocs/langs/tr_TR/commercial.lang b/htdocs/langs/tr_TR/commercial.lang index 4a40bc55c8e..7919c774f04 100644 --- a/htdocs/langs/tr_TR/commercial.lang +++ b/htdocs/langs/tr_TR/commercial.lang @@ -18,7 +18,7 @@ TaskRDVWith=%s ile toplantı ShowTask=Görev göster ShowAction=Etkinlik göster ActionsReport=Etkinlik raporu -ThirdPartiesOfSaleRepresentative=Satış temsilcisi olan üçüncü partiler +ThirdPartiesOfSaleRepresentative=Satış temsilcisi olan üçüncü taraflar SalesRepresentative=Satış temsilcisi SalesRepresentatives=Satış temsilcileri SalesRepresentativeFollowUp=Satış temsilcisi (takipçi) diff --git a/htdocs/langs/tr_TR/companies.lang b/htdocs/langs/tr_TR/companies.lang index 5a5ba5b78bf..0f94932902f 100644 --- a/htdocs/langs/tr_TR/companies.lang +++ b/htdocs/langs/tr_TR/companies.lang @@ -73,7 +73,8 @@ Poste= Durumu DefaultLang=Varsayılan dili VATIsUsed=KDV kullanılır VATIsNotUsed=KDV kullanılmaz -CopyAddressFromSoc=Adresi üçüncü parti adreslerinden doldur +CopyAddressFromSoc=Adresi üçüncü taraf adreslerinden doldur +ThirdpartyNotCustomerNotSupplierSoNoRef=Üçüncü taraf ne müşteri ne de tedarikçidir, bağlanacak uygun bir öğe yok. ##### Local Taxes ##### LocalTax1IsUsed=İkinci vergiyi kullan LocalTax1IsUsedES= RE kullanılır @@ -283,7 +284,7 @@ CompanyDeleted="%s" Firması veritabanından silindi. ListOfContacts=Kişi/adres listesi ListOfContactsAddresses=Kişiler/adresler listesi ListOfThirdParties=Üçüncü partiler listesi -ShowCompany=Üçüncü parti göster +ShowCompany=Üçüncü taraf göster ShowContact=Kişi göster ContactsAllShort=Hepsi (süzmeden) ContactType=Kişi tipi @@ -354,7 +355,7 @@ NoDolibarrAccess=Dolibarr erişimi yok ExportDataset_company_1=Üçüncü partiler (Firmalar/dernekler/kişiler) ve özellikleri ExportDataset_company_2=Kişiler ve özellikleri ImportDataset_company_1=Üçüncü partiler (Firmalar/dernekler/kişiler) ve özellikleri -ImportDataset_company_2=Kişiler/Adresler (üçüncü partilere ait ya da değil) ve öznitelikleri +ImportDataset_company_2=Kişiler/Adresler (üçüncü taraflara ait ya da değil) ve öznitelikleri ImportDataset_company_3=Banka ayrıntıları ImportDataset_company_4=Üçüncü partiler/Satış temsilcileri (satış temsilcileri firma kullanıcılarını etkiler) PriceLevel=Fiyat düzeyi @@ -368,7 +369,8 @@ AllocateCommercial=Satış temsilcisine atanmış Organization=Kuruluş FiscalYearInformation=Mali yıla ait bilgi FiscalMonthStart=Mali yılın başlangıç ayı -YouMustCreateContactFirst=Eposta bildirimleri ekleyebilmek için önce üçüncü parti e-posta kişisi oluşturmanız gerekir. +YouMustAssignUserMailFirst=Bu kişiye eposta bildirimleri ekleyebilmek için önce bu kişiye e-posta oluşturmalısınız. +YouMustCreateContactFirst=Eposta bildirimleri ekleyebilmek için önce geçerli epostası olan üçüncü taraf kişisi oluşturmanız gerekir. ListSuppliersShort=Tedarikçi listesi ListProspectsShort=Aday Listesi ListCustomersShort=Müşteri listesi @@ -387,7 +389,7 @@ ManagingDirectors=Yönetici(lerin) adı (CEO, müdür, başkan...) MergeOriginThirdparty=Çifte üçüncü parti (silmek istediğiniz üçüncü parti) MergeThirdparties=Üçüncü partileri birleştir ConfirmMergeThirdparties=Bu üçüncü partiyi geçerli olanla birleştirmek istediğinizden emin misiniz? Bütün bağlantılı öğeler (faturalar, siparişler, ...) geçerli olan üçüncü partiye taşınacaktır, böylece ikinciyi silebileceksiniz. -ThirdpartiesMergeSuccess=Üçüncü partiler birleştirilmiştir +ThirdpartiesMergeSuccess=Üçüncü taraflar birleştirilmiştir SaleRepresentativeLogin=Satış temsilcisinin kullanıcı adı SaleRepresentativeFirstname=Satış temsilcisinin ilkadı SaleRepresentativeLastname=Satış temsilcisinin soyadı diff --git a/htdocs/langs/tr_TR/compta.lang b/htdocs/langs/tr_TR/compta.lang index a856557e64f..6fbcfb9ee8a 100644 --- a/htdocs/langs/tr_TR/compta.lang +++ b/htdocs/langs/tr_TR/compta.lang @@ -77,9 +77,9 @@ LT1PaymentES=RE Ödeme LT1PaymentsES=RE Ödemesi LT2PaymentES=IRPF Ödemesi LT2PaymentsES=IRPF Ödemeleri -VATPayment=Sales tax payment -VATPayments=Sales tax payments -VATRefund=Sales tax refund Refund +VATPayment=Satış vergisi ödemesi +VATPayments=Satış vergisi ödemeleri +VATRefund=Satış vergisi iadesi Refund=İade SocialContributionsPayments=Sosyal/mali vergi ödemeleri ShowVatPayment=KDV ödemesi göster @@ -185,8 +185,8 @@ AccountancyJournal=Muhasebe kodu günlüğü ACCOUNTING_VAT_SOLD_ACCOUNT=Alınan KDV için varsayılan hesap kodu (Satışlardaki KDV) ACCOUNTING_VAT_BUY_ACCOUNT=Alınan KDV için varsayılan hesap kodu (Satınalımlardaki KDV) ACCOUNTING_VAT_PAY_ACCOUNT=Varsayılan ödenen KDV muhasebe kodu -ACCOUNTING_ACCOUNT_CUSTOMER=Müşteri üçüncü partiler için varsayılan muhasebe kodu -ACCOUNTING_ACCOUNT_SUPPLIER=Tedarikçi üçüncü partiler için varsayılan muhasebe kodu +ACCOUNTING_ACCOUNT_CUSTOMER=Müşteri üçüncü taraflar için varsayılan muhasebe kodu +ACCOUNTING_ACCOUNT_SUPPLIER=Tedarikçi üçüncü taraflar için varsayılan muhasebe kodu CloneTax=Sosyal/mali vergi kopyala ConfirmCloneTax=Sosyal/mali vergi ödemesi kopyalamasını onayla CloneTaxForNextMonth=Sonraki aya kopyala diff --git a/htdocs/langs/tr_TR/contracts.lang b/htdocs/langs/tr_TR/contracts.lang index f0a4d11242a..4041fa6bff2 100644 --- a/htdocs/langs/tr_TR/contracts.lang +++ b/htdocs/langs/tr_TR/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Süresi dolmamış ServiceStatusLate=Yürülükte, süresi dolmuş ServiceStatusLateShort=Süresi dolmuş ServiceStatusClosed=Kapalı +ShowContractOfService=Hizmet sözleşmesini göster Contracts=Sözleşmeler ContractsSubscriptions=Sözleşmeler/Üyelikler ContractsAndLine=Sözleşmeler ve satırları diff --git a/htdocs/langs/tr_TR/errors.lang b/htdocs/langs/tr_TR/errors.lang index 993afec5b8f..68dc0f9f050 100644 --- a/htdocs/langs/tr_TR/errors.lang +++ b/htdocs/langs/tr_TR/errors.lang @@ -129,7 +129,7 @@ ErrorPHPNeedModule=Hata, bu özelliği kulanmak için PHP nizde %s modül ErrorOpenIDSetupNotComplete=Dolibarr yapılandırma dosyasını OpenID kimlik doğrulamaya izin verecek şekilde ayarladınız, ancak OpenID hizmetine ait URL, %s değişmezine tanımlanmamıştır ErrorWarehouseMustDiffers=Kaynak ve hedef depo farklı olmalıdır ErrorBadFormat=Hatalı biçim! -ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Hata, bu üye henüz bir üçüncü partiye bağlanmamıştır. Üyeyi varolan bir üçüncü partiye bağlayın ya da faturayla abonelik oluşturmadan önce yeni bir üçüncü parti oluşturun. +ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Hata, bu üye henüz bir üçüncü tarafa bağlanmamıştır. Üyeyi varolan bir üçüncü tarafa bağlayın ya da faturayla abonelik oluşturmadan önce yeni bir üçüncü taraf oluşturun. ErrorThereIsSomeDeliveries=Hata, bu sevkiyata bağlı bazı teslimatlar var. Silme işlemi reddedildi. ErrorCantDeletePaymentReconciliated=Uzlaştırılmış bir banka işlemi oluşturulmuş bir ödeme silinemez ErrorCantDeletePaymentSharedWithPayedInvoice=Ödendi durumunda olan en az bir faturayla paylaşılan bir ödeme silinemez @@ -169,11 +169,11 @@ ErrorSavingChanges=Değişiklikler kaydedilirken bir hata oluştu ErrorWarehouseRequiredIntoShipmentLine=Depo gemi hattı üzerinde gerekli ErrorFileMustHaveFormat=Dosya %s biçiminde olmalıdır ErrorSupplierCountryIsNotDefined=Bu tedarikçi için ülke tanımlanmamış. Önce bunu düzeltin. -ErrorsThirdpartyMerge=Failed to merge the two records. Request canceled. -ErrorStockIsNotEnoughToAddProductOnOrder=Stock is not enougth for product %s to add it into a new order. -ErrorStockIsNotEnoughToAddProductOnInvoice=Stock is not enougth for product %s to add it into a new invoice. -ErrorStockIsNotEnoughToAddProductOnShipment=Stock is not enougth for product %s to add it into a new shipment. -ErrorStockIsNotEnoughToAddProductOnProposal=Stock is not enougth for product %s to add it into a new proposal. +ErrorsThirdpartyMerge=İki kaydın birleştirilmesinde hata. İstek iptal edildi. +ErrorStockIsNotEnoughToAddProductOnOrder=Yeni bir siparişe ürün eklemek için %s ürünü stok düzeyi yeterli değildir. +ErrorStockIsNotEnoughToAddProductOnInvoice=Yeni bir faturaya ürün eklemek için %s ürünü stok düzeyi yeterli değildir. +ErrorStockIsNotEnoughToAddProductOnShipment=Yeni bir sevkiyata ürün eklemek için %s ürünü stok düzeyi yeterli değildir. +ErrorStockIsNotEnoughToAddProductOnProposal=Yeni bir teklife ürün eklemek için %s ürünü stok düzeyi yeterli değildir. # Warnings WarningPasswordSetWithNoAccount=Bu üye için bir parola ayarlıdır. Ancak, hiçbir kullanıcı hesabı oluşturulmamıştır. Yani bu şifre saklanır ama Dolibarr'a giriş için kullanılamaz. Dış bir modül/arayüz tarafından kullanılıyor olabilir, ama bir üye için ne bir kullanıcı adı ne de parola tanımlamanız gerekmiyorsa "Her üye için bir kullanıcı adı yönet" seçeneğini devre dışı bırakabilirsiniz. Bir kullanıcı adı yönetmeniz gerekiyorsa ama herhangi bir parolaya gereksinim duymuyorsanız bu uyarıyı engellemek için bu alanı boş bırakabilirsiniz. Not: Eğer bir üye bir kullanıcıya bağlıysa kullanıcı adı olarak eposta adresi de kullanılabilir. @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Kullanıcınızın ClickToDial bilgileri WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Bu özellik, ekranın görme engelliler için ya da metin tarayıcılar için ayarlandığında devre dışı kalır. WarningPaymentDateLowerThanInvoiceDate=Ödeme tarihi (%s) fatura tarihinden (%s) daha önce, bu fatura için %s. WarningTooManyDataPleaseUseMoreFilters=Çok fazla veri (%s değerinden fazla satır). Daha çok süzgeç kullanın ya da %s değişmezini daha yüksek bir sınıra getirin. -WarningSomeLinesWithNullHourlyRate=Saatlik ücretleri tanımlanmadığında bazen kullanıcılar tarafından kayıt edilir. 0 Değeri kullanılmıştır ancak harcanan sürenin yanlış değerlendirilmesine neden olabilir. +WarningSomeLinesWithNullHourlyRate=Saatlik ücretleri tanımlanmadığında bazen bazı kullanıcılar tarafından kayıt edilir. Saat başına 0 %s değeri kullanılmıştır ancak harcanan sürenin yanlış değerlendirilmesine neden olabilir. WarningYourLoginWasModifiedPleaseLogin=Kullanıcı adınız değiştirilmiştir. Güvenlik nedeniyle sonraki eyleminiz için yeni kullanıcı adınızla giriş yapmalısınız. diff --git a/htdocs/langs/tr_TR/holiday.lang b/htdocs/langs/tr_TR/holiday.lang index dcd8813792e..5a849682fef 100644 --- a/htdocs/langs/tr_TR/holiday.lang +++ b/htdocs/langs/tr_TR/holiday.lang @@ -76,8 +76,8 @@ BoxTitleLastLeaveRequests=Değiştirilen son %s izin isteği HolidaysMonthlyUpdate=Aylık güncelleme ManualUpdate=Elle güncelleme HolidaysCancelation=İzin isteği iptali -EmployeeLastname=Employee lastname -EmployeeFirstname=Employee firstname +EmployeeLastname=Çalışanın soyadı +EmployeeFirstname=Çalışanın adı ## Configuration du Module ## LastUpdateCP=İzin tahsislerinin son otomatik güncellenmesi diff --git a/htdocs/langs/tr_TR/install.lang b/htdocs/langs/tr_TR/install.lang index e3f16188d70..a61fef045e1 100644 --- a/htdocs/langs/tr_TR/install.lang +++ b/htdocs/langs/tr_TR/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=Web sayfalarınızın dizininin dışında bir dizin kul LoginAlreadyExists=Zaten var DolibarrAdminLogin=Dolibarr yönetici girişi AdminLoginAlreadyExists=Dolibarr yönetici hesabı '%s' zaten var. Yeni bir tane oluşturmak istiyorsanız geri gidin. +FailedToCreateAdminLogin=Dolibarr yönetici hesabı oluşturulmasında hata. WarningRemoveInstallDir=Uyarı, güvenlik nedeniyle, kurulum veya yükseltme tamamlandığında, araçların yeniden kurulumunu önlemek için install.lock adlı bir dosyayı kötü amaçlı kullanımları önlemek için Dolibarr belge dizinine eklemelisiniz. FunctionNotAvailableInThisPHP=Bu PHP de geçerli değil ChoosedMigrateScript=Komut dizisi taşıma seç diff --git a/htdocs/langs/tr_TR/interventions.lang b/htdocs/langs/tr_TR/interventions.lang index c4e95b4aa9b..55760d1bc8c 100644 --- a/htdocs/langs/tr_TR/interventions.lang +++ b/htdocs/langs/tr_TR/interventions.lang @@ -14,12 +14,12 @@ DeleteIntervention=Müdahale sil ValidateIntervention=Müdahale doğrula ModifyIntervention=Müdahale değiştir DeleteInterventionLine=Müdahale satırı sil -CloneIntervention=Clone intervention +CloneIntervention=Müdahale kopyala ConfirmDeleteIntervention=Bu müdahaleyi silmek istediğinizden emin misiniz? ConfirmValidateIntervention=Bu müdahaleyi doğrulamak istediğinizden emin misiniz? ConfirmModifyIntervention=Bu müdahaleyi değiştirmek istediğinizden emin misiniz? ConfirmDeleteInterventionLine=Bu müdahale satırını silmek istediğinizden emin misiniz? -ConfirmCloneIntervention=Are you sure you want to clone this intervention ? +ConfirmCloneIntervention=Bu müdahaleyi kopyalamak istediğinizden emin misiniz? NameAndSignatureOfInternalContact=Müdahilin adı ve imzası : NameAndSignatureOfExternalContact=Müşterinin adı ve imzası : DocumentModelStandard=Müdahaleler için standart belge modeli diff --git a/htdocs/langs/tr_TR/mails.lang b/htdocs/langs/tr_TR/mails.lang index 528493cf147..c0ee8956682 100644 --- a/htdocs/langs/tr_TR/mails.lang +++ b/htdocs/langs/tr_TR/mails.lang @@ -69,7 +69,7 @@ ActivateCheckReadKey="Okuma Alındısı" ve "Abonelik İptali" için kullanılan EMailSentToNRecipients=EMail sent to %s recipients. XTargetsAdded=%s alıcılar listesine eklendi OnlyPDFattachmentSupported=Eğer fatura için zaten PDF belgesi oluşturulduysa, epostaya eklenecektir. Eğer oluşturulmadıysa, hçbir eposta gönderilmeyecektir (aynı zamanda, bu sürümün toplu posta gönderiminde ek olarak yalnızca pdf faturaların desteklendiğini unutmayın). -AllRecipientSelected=Seçilen tüm üçüncü partiler, bir eposta kuruluysa. +AllRecipientSelected=Seçilen tüm üçüncü taraflar, bir eposta kuruluysa. ResultOfMailSending=Toplu Eposta gönderimi sonuçu NbSelected=Seçilen sayısı NbIgnored=Yoksayılan sayısı @@ -102,8 +102,8 @@ YouCanUseCommaSeparatorForSeveralRecipients=Birçok alıcı belirtmek için v TagCheckMail=Eposta açılışlarını izle TagUnsubscribe=Aboneliğini kaldır bağlantısı TagSignature=Gönderen kullanıcı imzası -EMailRecipient=Recipient EMail -TagMailtoEmail=Recipient EMail (including html "mailto:" link) +EMailRecipient=Alıcı Epostası +TagMailtoEmail=Alıcı EPostası (html biçiminde"kime:" bağlantılı) NoEmailSentBadSenderOrRecipientEmail=Gönderilen eposta yok. Hatalı gönderici ya da alıcı epostası. Kullanıcı profilini doğrula. # Module Notifications Notifications=Bildirimler @@ -119,7 +119,7 @@ MailSendSetupIs3=SMTP sunucusunun nasıl yapılandırılacağı konusunda sorunu YouCanAlsoUseSupervisorKeyword=Ayrıca; kullanıcının danışmanına giden epostayı almak için __SUPERVISOREMAIL__ anahtar kelimesini de ekleyebilirsiniz (yalnızca bu danışman için bir eposta tanımlanmışsa çalışır). NbOfTargetedContacts=Mevcut hedef kişi eposta sayısı MailAdvTargetRecipients=Alıcılar (gelişmiş seçim) -AdvTgtTitle=Hedef üçüncü partileri veya kişileri/adresleri önceden seçmek için giriş alanlarını doldurun +AdvTgtTitle=Hedef üçüncü tarafları veya kişileri/adresleri önceden seçmek için giriş alanlarını doldurun AdvTgtSearchTextHelp=Bunları %% sihirli karakter olarak kullanın. Örneğin; jean, joe, jim gibi tüm öğeleri bulmak için bunları j%% girebilirsiniz, aynı zamanda ayraç olarak ; kullanabilirsiniz, bu değer hariç için ! kullanabilirsiniz. Örneğin; jean;joe;jim%%;!jimo;!jima% dizgesi hedefi şu olacaktır: jim ile başlayan ancak jimo ile başlamayan ve jima ile başlayan her şeyi değil AdvTgtSearchIntHelp=Tam sayı veya kayan değer seçmek için aralık kullanın AdvTgtMinVal=En düşük değer @@ -127,7 +127,7 @@ AdvTgtMaxVal=En yüksek değer AdvTgtSearchDtHelp=Tarih değerlerini seçmek için aralık kullanın AdvTgtStartDt=Başlangıç tar. AdvTgtEndDt=Bitiş tar. -AdvTgtTypeOfIncudeHelp=Üçüncü parti epostasını ve üçüncü parti kişisi epostasını veya yalnızca üçüncü parti epostasını veya yalnızca kişi epostasını hedefleyin +AdvTgtTypeOfIncudeHelp=Üçüncü taraf epostasını ve üçüncü taraf kişisi epostasını veya yalnızca üçüncü taraf epostasını veya yalnızca kişi epostasını hedefleyin AdvTgtTypeOfIncude=Hedef epostası türü AdvTgtContactHelp=Yalnızca kişiyi "Hedeflenen eposta türü"ne hedeflerseniz kullanın AddAll=Hepsini ekle diff --git a/htdocs/langs/tr_TR/main.lang b/htdocs/langs/tr_TR/main.lang index f39feebb0e7..7d04fe00da2 100644 --- a/htdocs/langs/tr_TR/main.lang +++ b/htdocs/langs/tr_TR/main.lang @@ -84,6 +84,7 @@ SeeAbove=Yukarı bak HomeArea=Giriş alanı LastConnexion=Son bağlantı PreviousConnexion=Önceki bağlantı +PreviousValue=Önceki değer ConnectedOnMultiCompany=Çevreye bağlanmış ConnectedSince=Bağlantı başlangıcı AuthenticationMode=Kimlik doğrulama biçimi @@ -177,7 +178,7 @@ Groups=Gruplar NoUserGroupDefined=Tanımlı kullanıcı grubu yok Password=Parola PasswordRetype=Parolanızı yeniden yazın -NoteSomeFeaturesAreDisabled=Note that a lot of features/modules are disabled in this demonstration. +NoteSomeFeaturesAreDisabled=Bu demoda bir çok özelliğin/modülün engelli olduğuna dikkat edin. Name=Adı Person=Kişi Parameter=Parametre @@ -738,13 +739,13 @@ Select2MoreCharacter=ya da daha fazla harf Select2MoreCharacters=ya da daha fazla harf Select2LoadingMoreResults=Daha fazla sonuç yükleniyor... Select2SearchInProgress=Arama sürmekte... -SearchIntoThirdparties=Üçüncü partiler +SearchIntoThirdparties=Üçüncü taraflar SearchIntoContacts=Kişiler SearchIntoMembers=Üyeler SearchIntoUsers=Kullanıcılar SearchIntoProductsOrServices=Ürünler ya da hizmetler SearchIntoProjects=Projeler -SearchIntoTasks=Tasks +SearchIntoTasks=Görevler SearchIntoCustomerInvoices=Müşteri faturaları SearchIntoSupplierInvoices=Tedarikçi faturaları SearchIntoCustomerOrders=Müşteri siparişleri @@ -755,4 +756,4 @@ SearchIntoInterventions=Müdahaleler SearchIntoContracts=Sözleşmeler SearchIntoCustomerShipments=Müşteri sevkiyatları SearchIntoExpenseReports=Gider raporları -SearchIntoLeaves=Leaves +SearchIntoLeaves=İzinler diff --git a/htdocs/langs/tr_TR/printing.lang b/htdocs/langs/tr_TR/printing.lang index d872edef9b5..405b2d5f296 100644 --- a/htdocs/langs/tr_TR/printing.lang +++ b/htdocs/langs/tr_TR/printing.lang @@ -51,5 +51,5 @@ IPP_Supported=Ortam türü DirectPrintingJobsDesc=Bu sayfa geçerli yazıcılar için yazdırma işlerini listeler. GoogleAuthNotConfigured=Google OAuth ayarları yapılmamış. OAuth modülünü etkinleştir ve bir Google ID/Secret ayarla. GoogleAuthConfigured=OAuth modülünde Google OAuth kimlik bilgileri bulundu. -PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. -PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PrintingDriverDescprintgcp=Google Bulut Yazdırma yazıcı sürücüsü yapılandırma değişkenleri. +PrintTestDescprintgcp=Google Bulut Yazdırma Yazıcı Listesi. diff --git a/htdocs/langs/tr_TR/products.lang b/htdocs/langs/tr_TR/products.lang index 052f6ad42cd..c62781facd8 100644 --- a/htdocs/langs/tr_TR/products.lang +++ b/htdocs/langs/tr_TR/products.lang @@ -32,8 +32,8 @@ ServicesOnSellAndOnBuy=Satılır ve alınır hizmetler LastModifiedProductsAndServices=Değiştirilen son %s ürün/hizmet LastRecordedProducts=Kaydedilen son %s ürün LastRecordedServices=Kaydedilen son %s hizmet -CardProduct0=Product card -CardProduct1=Service card +CardProduct0=Ürün kartı +CardProduct1=Hizmet kartı Stock=Stok Stocks=Stoklar Movements=Hareketler @@ -85,7 +85,7 @@ SetDefaultBarcodeType=Barkod türü oluştur BarcodeValue=Barkod değeri NoteNotVisibleOnBill=Not (faturalarda, tekliflerde ... görünmez) ServiceLimitedDuration=Eğer ürün sınırlı süreli bir hizmetse: -MultiPricesAbility=Several segment of prices per product/service (each customer is in one segment) +MultiPricesAbility=Ürünler/hizmetler için çok seviyeli fiyat (her müşteri için bir seviye) MultiPricesNumPrices=Fiyat sayısı AssociatedProductsAbility=Paket özelliğini etkinleştir AssociatedProducts=Paket ürün @@ -176,13 +176,13 @@ AlwaysUseNewPrice=Ürün/hizmet için her zaman geçerli fiyatı kullan AlwaysUseFixedPrice=Sabit fiyatı kullan PriceByQuantity=Miktara göre değişen fiyatlar PriceByQuantityRange=Miktar aralığı -MultipriceRules=Price segment rules -UseMultipriceRules=Use price segment rules (defined into product module setup) to autocalculate prices of all other segment according to first segment +MultipriceRules=Fiyat seviyesi kuralları +UseMultipriceRules=Birinci fiyata göre kendiliğinden fiyat hesaplaması için fiyat seviyesi kurallarını (ürün modülü ayarlarında tanımlanan) kullan PercentVariationOver=%s üzerindeki %% değişim PercentDiscountOver=%s üzerindeki %% indirim ### composition fabrication Build=Üret -ProductsMultiPrice=Products and prices for each price segment +ProductsMultiPrice=Her fiyat düzeyi için ürünler ve fiyatlar ProductsOrServiceMultiPrice=Müşteri fiyatları (ürünlerin ya da hizmetlerin, çoklu fiyatlar) ProductSellByQuarterHT=Üç aylık vergi öncesi ürün cirosu ServiceSellByQuarterHT=Üç aylık vergi öncesi hizmet cirosu @@ -197,15 +197,15 @@ PrintsheetForOneBarCode=Bir barkod için birçok etiket yazdır BuildPageToPrint=Yazdırılacak sayfa oluştur FillBarCodeTypeAndValueManually=Barkod türünü girin ve el ile değer yazın. FillBarCodeTypeAndValueFromProduct=Barkod türünü girin ve ürün barkodundan değer girin. -FillBarCodeTypeAndValueFromThirdParty=Barkod türünü girin ve bir üçüncü parti barkodundan deper girin. +FillBarCodeTypeAndValueFromThirdParty=Barkod türünü girin ve bir üçüncü taraf barkodundan değer girin. DefinitionOfBarCodeForProductNotComplete=Barkod türü tanımı ve değeri %s ürünü için tam değildir. -DefinitionOfBarCodeForThirdpartyNotComplete=Barkod türü tanımı ve değeri %s ürünü için tamamlanmamıştır. +DefinitionOfBarCodeForThirdpartyNotComplete=Barkod türü tanımı ve değeri %s üçüncü tarafı için tamamlanmamıştır. BarCodeDataForProduct=%s Ürünü için barkod bilgisi : -BarCodeDataForThirdparty=%s Üçüncü parti için barkod bilgisi : +BarCodeDataForThirdparty=%s Üçüncü taraf için barkod bilgisi : ResetBarcodeForAllRecords=Bütün kayıtlar için barkod değeri tanımla (bu işlem halihazırda yeni değerler tanımlanmış barkod değerlerini sıfırlayacaktır) -PriceByCustomer=Different prices for each customer -PriceCatalogue=A single sell price per product/service -PricingRule=Rules for sell prices +PriceByCustomer=Her müşteri için farklı fiyatlar +PriceCatalogue=Her ürün/hizmet için tek bir satış fiyatı +PricingRule=Satış fiyatı kuralları AddCustomerPrice=Müşteriye göre fiyat ekle ForceUpdateChildPriceSoc=Müşterinin ortaklılarına aynı fiyatı uygula PriceByCustomerLog=Önceki müşteri fiyatları kayıtı diff --git a/htdocs/langs/tr_TR/projects.lang b/htdocs/langs/tr_TR/projects.lang index 1a37a0ce76d..9db24c2475a 100644 --- a/htdocs/langs/tr_TR/projects.lang +++ b/htdocs/langs/tr_TR/projects.lang @@ -11,8 +11,10 @@ SharedProject=Herkes PrivateProject=Proje ilgilileri MyProjectsDesc=Bu görünüm ilgilisi olduğunuz projelerle sınırlıdır (türü ne olursa olsun). ProjectsPublicDesc=Bu görünüm okuma izininiz olan tüm projeleri içerir. +TasksOnProjectsPublicDesc=Bu görünüm okuma izininiz olan tüm projeleri içerir. ProjectsPublicTaskDesc=Bu görünüm, okumanıza izin verilen tüm proje ve görevleri sunar. ProjectsDesc=Bu görünüm tüm projeleri içerir (size verilen kullanıcı izinleri her şeyi görmenizi sağlar). +TasksOnProjectsDesc=Bu görünüm tüm projelerdeki tüm görevleri içerir (size verilen kullanıcı izinleri her şeyi görmenizi sağlar). MyTasksDesc=Bu görünüm ilgilisi olduğunuz projelerle ya da görevlerle sınırlıdır (türü ne olursa olsun). OnlyOpenedProject=Yalnızca açık projeler görünür (taslak ya da kapalı durumdaki projeler görünmez) ClosedProjectsAreHidden=Kapalı projeler görünmez. @@ -130,6 +132,9 @@ OpportunityProbability=Fırsat olabilirliği OpportunityProbabilityShort=Fırs. olabil. OpportunityAmount=Fırsat tutarı OpportunityAmountShort=Fırs. tutarı +OpportunityAmountAverageShort=Ortalama Fırsat tutarı +OpportunityAmountWeigthedShort=Ağırlıklı Fırsat tutarı +WonLostExcluded=Kazanç/Kayıp hariç ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Proje önderi TypeContact_project_external_PROJECTLEADER=Proje önderi diff --git a/htdocs/langs/tr_TR/stocks.lang b/htdocs/langs/tr_TR/stocks.lang index 6345651e539..960cd1ed092 100644 --- a/htdocs/langs/tr_TR/stocks.lang +++ b/htdocs/langs/tr_TR/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Kayıt aktarımı ReceivingForSameOrder=Bu siparişten yapılan kabuller StockMovementRecorded=Stok hareketleri kaydedildi RuleForStockAvailability=Stok gereksinimi kuralları -StockMustBeEnoughForInvoice=Stok düzeyi faturaya ürün/hizmet eklemeye yeterli olmalı -StockMustBeEnoughForOrder=Stok düzeyi siparişe ürün/hizmet eklemeye yeterli olmalı -StockMustBeEnoughForShipment= Stok düzeyi sevkiyata ürün/hizmet eklemeye yeterli olmalı +StockMustBeEnoughForInvoice=Stok düzeyi faturaya ürün/hizmet eklemeye yeterli olmalıdır (geçerli gerçek stoğa satır eklerken, otomatik stok değiştirme kuralı ne olursa olsun, kontrol yapılır) +StockMustBeEnoughForOrder=Stok düzeyi siparişe ürün/hizmet eklemeye yeterli olmalıdır (geçerli gerçek stoğa satır eklerken, otomatik stok değiştirme kuralı ne olursa olsun, kontrol yapılır) +StockMustBeEnoughForShipment= Stok düzeyi sevkiyata ürün/hizmet eklemeye yeterli olmalıdır (geçerli gerçek stoğa satır eklerken, otomatik stok değiştirme kuralı ne olursa olsun, kontrol yapılır) MovementLabel=Hareket etiketi InventoryCode=Hareket veya stok kodu IsInPackage=Pakette içerilir +WarehouseAllowNegativeTransfer=Stok eksi olabilir +qtyToTranferIsNotEnough=Kaynak deponuzda yeterli stoğunuz yok ShowWarehouse=Depo göster MovementCorrectStock=Stok düzeltme yapılacak ürün %s MovementTransferStock=%s ürününün başka bir depoya stok aktarılması diff --git a/htdocs/langs/tr_TR/supplier_proposal.lang b/htdocs/langs/tr_TR/supplier_proposal.lang index 243346e5b44..fd00db7f27f 100644 --- a/htdocs/langs/tr_TR/supplier_proposal.lang +++ b/htdocs/langs/tr_TR/supplier_proposal.lang @@ -12,7 +12,7 @@ RequestsOpened=Fiyat isteği aç SupplierProposalArea=Tedarikçi teklifleri alanı SupplierProposalShort=Tedarikçi teklifi SupplierProposals=Tedarikçi teklifleri -SupplierProposalsShort=Supplier proposals +SupplierProposalsShort=Tedarikçi teklifleri NewAskPrice=Yeni fiyat isteği ShowSupplierProposal=Fiyat isteği göster AddSupplierProposal=Fiyat isteği oluştur diff --git a/htdocs/langs/tr_TR/website.lang b/htdocs/langs/tr_TR/website.lang index 92ad3a985e8..b5ce6af4bc9 100644 --- a/htdocs/langs/tr_TR/website.lang +++ b/htdocs/langs/tr_TR/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=Siteyi yeni sekmede izle ViewPageInNewTab=Siteyi yeni sekmede izle SetAsHomePage=Giriş Sayfası olarak ayarla RealURL=Gerçek URL +ViewWebsiteInProduction=Web sitesini giriş URL si kullanarak izle +SetHereVirtualHost=Eğer web sunucunuzda %s üzerinde bir kök dizine sahip özel sanal host ayarlayabilirseniz, burada sanal host adını tanımlayın, böylece; önizleme Dolibarr URL sarıcısı yerine direkt olarak buradan yapılabilir. diff --git a/htdocs/langs/uk_UA/admin.lang b/htdocs/langs/uk_UA/admin.lang index bd4ab5d0b13..bd02e55c41e 100644 --- a/htdocs/langs/uk_UA/admin.lang +++ b/htdocs/langs/uk_UA/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Users & groups @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Loan Module520Desc=Management of loans Module600Name=Notifications -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Donations Module700Desc=Donation management Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Companies module setup CompanyCodeChecker=Module for third parties code generation and checking (customer or supplier) AccountCodeManager=Module for accountancy code generation (customer or supplier) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Documents templates DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Watermark on draft document @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/uk_UA/bills.lang b/htdocs/langs/uk_UA/bills.lang index 107fe4a4bc1..be3284b5c93 100644 --- a/htdocs/langs/uk_UA/bills.lang +++ b/htdocs/langs/uk_UA/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Latest related invoice WarningBillExist=Попередження! Рахунок чи рахунки вже існують MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/uk_UA/companies.lang b/htdocs/langs/uk_UA/companies.lang index f13a2ec02ec..44de76d2130 100644 --- a/htdocs/langs/uk_UA/companies.lang +++ b/htdocs/langs/uk_UA/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Language by default VATIsUsed=VAT is used VATIsNotUsed=VAT is not used CopyAddressFromSoc=Fill address with thirdparty address +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE is used @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organization FiscalYearInformation=Information on the fiscal year FiscalMonthStart=Starting month of the fiscal year -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=List of suppliers ListProspectsShort=List of prospects ListCustomersShort=List of customers diff --git a/htdocs/langs/uk_UA/contracts.lang b/htdocs/langs/uk_UA/contracts.lang index bb4bb033b03..08e5bb562db 100644 --- a/htdocs/langs/uk_UA/contracts.lang +++ b/htdocs/langs/uk_UA/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Not expired ServiceStatusLate=Running, expired ServiceStatusLateShort=Expired ServiceStatusClosed=Closed +ShowContractOfService=Show contract of service Contracts=Contracts ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracts and line of contracts diff --git a/htdocs/langs/uk_UA/errors.lang b/htdocs/langs/uk_UA/errors.lang index 9276b542ad7..364d60bf6b8 100644 --- a/htdocs/langs/uk_UA/errors.lang +++ b/htdocs/langs/uk_UA/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/uk_UA/install.lang b/htdocs/langs/uk_UA/install.lang index 56cf882e178..ce41ae75a30 100644 --- a/htdocs/langs/uk_UA/install.lang +++ b/htdocs/langs/uk_UA/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=It is recommanded to use a directory outside of your dir LoginAlreadyExists=Already exists DolibarrAdminLogin=Dolibarr admin login AdminLoginAlreadyExists=Dolibarr administrator account '%s' already exists. Go back, if you want to create another one. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, to avoid using install tools again, you should add a file called install.lock into Dolibarr document directory, in order to avoid malicious use of it. FunctionNotAvailableInThisPHP=Not available on this PHP ChoosedMigrateScript=Choose migration script diff --git a/htdocs/langs/uk_UA/mails.lang b/htdocs/langs/uk_UA/mails.lang index e4672824c2d..4531a0dd89e 100644 --- a/htdocs/langs/uk_UA/mails.lang +++ b/htdocs/langs/uk_UA/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=No email notifications are planned for this event and ANotificationsWillBeSent=1 notification will be sent by email SomeNotificationsWillBeSent=%s notifications will be sent by email AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=List all email notifications sent MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/uk_UA/main.lang b/htdocs/langs/uk_UA/main.lang index 9ecda2f3c5e..c927fa75425 100644 --- a/htdocs/langs/uk_UA/main.lang +++ b/htdocs/langs/uk_UA/main.lang @@ -84,6 +84,7 @@ SeeAbove=See above HomeArea=Home area LastConnexion=Last connection PreviousConnexion=Previous connection +PreviousValue=Previous value ConnectedOnMultiCompany=Connected on environment ConnectedSince=Connected since AuthenticationMode=Authentification mode diff --git a/htdocs/langs/uk_UA/projects.lang b/htdocs/langs/uk_UA/projects.lang index 1a370ecf47a..fe21b3558ba 100644 --- a/htdocs/langs/uk_UA/projects.lang +++ b/htdocs/langs/uk_UA/projects.lang @@ -11,8 +11,10 @@ SharedProject=Everybody PrivateProject=Project contacts MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type). ProjectsPublicDesc=This view presents all projects you are allowed to read. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=This view presents all projects (your user permissions grant you permission to view everything). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Project leader TypeContact_project_external_PROJECTLEADER=Project leader diff --git a/htdocs/langs/uk_UA/stocks.lang b/htdocs/langs/uk_UA/stocks.lang index ef47e3f3ce7..8d2d1739a69 100644 --- a/htdocs/langs/uk_UA/stocks.lang +++ b/htdocs/langs/uk_UA/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Show warehouse MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/uk_UA/website.lang b/htdocs/langs/uk_UA/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/uk_UA/website.lang +++ b/htdocs/langs/uk_UA/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/uz_UZ/admin.lang b/htdocs/langs/uz_UZ/admin.lang index ddc5b1ca34a..f6a9f3010da 100644 --- a/htdocs/langs/uz_UZ/admin.lang +++ b/htdocs/langs/uz_UZ/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Users & groups @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Loan Module520Desc=Management of loans Module600Name=Notifications -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Donations Module700Desc=Donation management Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Companies module setup CompanyCodeChecker=Module for third parties code generation and checking (customer or supplier) AccountCodeManager=Module for accountancy code generation (customer or supplier) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Documents templates DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Watermark on draft document @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/uz_UZ/bills.lang b/htdocs/langs/uz_UZ/bills.lang index 24e77f5169d..28a8ee4f110 100644 --- a/htdocs/langs/uz_UZ/bills.lang +++ b/htdocs/langs/uz_UZ/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/uz_UZ/companies.lang b/htdocs/langs/uz_UZ/companies.lang index f13a2ec02ec..44de76d2130 100644 --- a/htdocs/langs/uz_UZ/companies.lang +++ b/htdocs/langs/uz_UZ/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Language by default VATIsUsed=VAT is used VATIsNotUsed=VAT is not used CopyAddressFromSoc=Fill address with thirdparty address +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE is used @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Organization FiscalYearInformation=Information on the fiscal year FiscalMonthStart=Starting month of the fiscal year -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=List of suppliers ListProspectsShort=List of prospects ListCustomersShort=List of customers diff --git a/htdocs/langs/uz_UZ/contracts.lang b/htdocs/langs/uz_UZ/contracts.lang index bb4bb033b03..08e5bb562db 100644 --- a/htdocs/langs/uz_UZ/contracts.lang +++ b/htdocs/langs/uz_UZ/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Not expired ServiceStatusLate=Running, expired ServiceStatusLateShort=Expired ServiceStatusClosed=Closed +ShowContractOfService=Show contract of service Contracts=Contracts ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracts and line of contracts diff --git a/htdocs/langs/uz_UZ/errors.lang b/htdocs/langs/uz_UZ/errors.lang index 9276b542ad7..364d60bf6b8 100644 --- a/htdocs/langs/uz_UZ/errors.lang +++ b/htdocs/langs/uz_UZ/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/uz_UZ/install.lang b/htdocs/langs/uz_UZ/install.lang index 56cf882e178..ce41ae75a30 100644 --- a/htdocs/langs/uz_UZ/install.lang +++ b/htdocs/langs/uz_UZ/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=It is recommanded to use a directory outside of your dir LoginAlreadyExists=Already exists DolibarrAdminLogin=Dolibarr admin login AdminLoginAlreadyExists=Dolibarr administrator account '%s' already exists. Go back, if you want to create another one. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, to avoid using install tools again, you should add a file called install.lock into Dolibarr document directory, in order to avoid malicious use of it. FunctionNotAvailableInThisPHP=Not available on this PHP ChoosedMigrateScript=Choose migration script diff --git a/htdocs/langs/uz_UZ/mails.lang b/htdocs/langs/uz_UZ/mails.lang index 0a945f5fd3f..ffe7d5735d1 100644 --- a/htdocs/langs/uz_UZ/mails.lang +++ b/htdocs/langs/uz_UZ/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=No email notifications are planned for this event and ANotificationsWillBeSent=1 notification will be sent by email SomeNotificationsWillBeSent=%s notifications will be sent by email AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=List all email notifications sent MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/uz_UZ/main.lang b/htdocs/langs/uz_UZ/main.lang index 56b652330c7..5eaed1496e8 100644 --- a/htdocs/langs/uz_UZ/main.lang +++ b/htdocs/langs/uz_UZ/main.lang @@ -84,6 +84,7 @@ SeeAbove=See above HomeArea=Home area LastConnexion=Last connection PreviousConnexion=Previous connection +PreviousValue=Previous value ConnectedOnMultiCompany=Connected on environment ConnectedSince=Connected since AuthenticationMode=Authentification mode diff --git a/htdocs/langs/uz_UZ/projects.lang b/htdocs/langs/uz_UZ/projects.lang index 1a370ecf47a..fe21b3558ba 100644 --- a/htdocs/langs/uz_UZ/projects.lang +++ b/htdocs/langs/uz_UZ/projects.lang @@ -11,8 +11,10 @@ SharedProject=Everybody PrivateProject=Project contacts MyProjectsDesc=This view is limited to projects you are a contact for (whatever is the type). ProjectsPublicDesc=This view presents all projects you are allowed to read. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=This view presents all projects (your user permissions grant you permission to view everything). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Project leader TypeContact_project_external_PROJECTLEADER=Project leader diff --git a/htdocs/langs/uz_UZ/stocks.lang b/htdocs/langs/uz_UZ/stocks.lang index ef47e3f3ce7..8d2d1739a69 100644 --- a/htdocs/langs/uz_UZ/stocks.lang +++ b/htdocs/langs/uz_UZ/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Show warehouse MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/vi_VN/admin.lang b/htdocs/langs/vi_VN/admin.lang index 795a52cd894..8d861787181 100644 --- a/htdocs/langs/vi_VN/admin.lang +++ b/htdocs/langs/vi_VN/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=Người dùng & nhóm @@ -468,7 +471,7 @@ Module510Desc=Quản lý lương nhân viên và thanh toán Module520Name=Cho vay Module520Desc=Quản lý cho vay Module600Name=Thông báo -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=Tài trợ Module700Desc=Quản lý tài trợ Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=Cài đặt module Công ty CompanyCodeChecker=Module cho bên thứ ba tạo mã và kiểm tra (khách hàng hoặc nhà cung cấp) AccountCodeManager=Module cho tạo mã kế toán (khách hàng hoặc nhà cung cấp) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=Tài liệu mẫu DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Watermark vào dự thảo văn bản @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Cài đặt module báo cáo chi phí TemplatePDFExpenseReports=Mẫu chứng từ để xuất chứng từ báo cáo chi phí NoModueToManageStockIncrease=Không có module có thể quản lý tăng tồn kho được kích hoạt. Tăng tồn kho sẽ chỉ được thực hiện thủ công. YouMayFindNotificationsFeaturesIntoModuleNotification=Bạn có thể thấy tùy chọn cho thông báo Email bằng cách mở và cấu hình module "Thông báo" -ListOfNotificationsPerContact=Danh sách thông báo cho mỗi liên lạc +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=Danh sách thông báo cố định +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Vào tab "Thông báo" của liên hệ bên thứ ba để thêm hoặc bỏ thông báo cho liên lạc/địa chỉ Threshold=Threshold BackupDumpWizard=Thủ thuật tạo file dump sao lưu dự phòng cơ sở dữ liệu diff --git a/htdocs/langs/vi_VN/bills.lang b/htdocs/langs/vi_VN/bills.lang index 65bd0fb8d7c..0a2f913e548 100644 --- a/htdocs/langs/vi_VN/bills.lang +++ b/htdocs/langs/vi_VN/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Hóa đơn liên quan mới nhất WarningBillExist=Cảnh báo, một hoặc nhiều hóa đơn đã tồn tại MergingPDFTool=Công cụ sáp nhập PDF AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/vi_VN/companies.lang b/htdocs/langs/vi_VN/companies.lang index 895b5720a11..0d9cfef5bcd 100644 --- a/htdocs/langs/vi_VN/companies.lang +++ b/htdocs/langs/vi_VN/companies.lang @@ -74,6 +74,7 @@ DefaultLang=Ngôn ngữ mặc định VATIsUsed=Thuế VAT được dùng VATIsNotUsed=Thuế VAT không được dùng CopyAddressFromSoc=Điền địa chỉ với địa chỉ của bên thứ ba +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= RE được dùng @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=Tổ chức FiscalYearInformation=Thông tin về năm tài chính FiscalMonthStart=Tháng bắt đầu của năm tài chính -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=Danh sách nhà cung cấp ListProspectsShort=Danh sách KH tiềm năng ListCustomersShort=Danh sách khách hàng diff --git a/htdocs/langs/vi_VN/contracts.lang b/htdocs/langs/vi_VN/contracts.lang index 245f9110e82..fce4e08982e 100644 --- a/htdocs/langs/vi_VN/contracts.lang +++ b/htdocs/langs/vi_VN/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=Chưa hết hạn ServiceStatusLate=Đang hoạt động, đã hết hạn ServiceStatusLateShort=Đã hết hạn ServiceStatusClosed=Đã đóng +ShowContractOfService=Show contract of service Contracts=Hợp đồng ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Hợp đồng và chi tiết của hợp đồng diff --git a/htdocs/langs/vi_VN/errors.lang b/htdocs/langs/vi_VN/errors.lang index 9617c19dfe5..c4d050a8d43 100644 --- a/htdocs/langs/vi_VN/errors.lang +++ b/htdocs/langs/vi_VN/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Thiết lập các thông tin ClickToDial WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Tính năng bị vô hiệu hóa khi thiết lập hiển thị được tối ưu hóa cho người mù hoặc văn bản trình duyệt. WarningPaymentDateLowerThanInvoiceDate=Payment date (%s) is earlier than invoice date (%s) for invoice %s. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/vi_VN/install.lang b/htdocs/langs/vi_VN/install.lang index 079a83a5162..4ec612a0ab9 100644 --- a/htdocs/langs/vi_VN/install.lang +++ b/htdocs/langs/vi_VN/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=Nó được recommanded sử dụng một thư mục b LoginAlreadyExists=Đã tồn tại DolibarrAdminLogin=Dolibarr quản trị đăng nhập AdminLoginAlreadyExists=Dolibarr tài khoản quản trị '%s' đã tồn tại. Quay trở lại, nếu bạn muốn tạo một số khác. +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=Cảnh báo, vì lý do bảo mật, một khi cài đặt hoặc nâng cấp hoàn thành, để tránh sử dụng các công cụ cài đặt một lần nữa, bạn nên thêm một tập tin gọi là install.lock vào thư mục tài liệu Dolibarr, để tránh việc sử dụng độc hại của nó. FunctionNotAvailableInThisPHP=Không có sẵn trên PHP này ChoosedMigrateScript=Chọn kịch bản di cư diff --git a/htdocs/langs/vi_VN/mails.lang b/htdocs/langs/vi_VN/mails.lang index aafd82a8191..780ff80592d 100644 --- a/htdocs/langs/vi_VN/mails.lang +++ b/htdocs/langs/vi_VN/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=Không có thông báo email được lên kế hoạc ANotificationsWillBeSent=1 thông báo sẽ được gửi qua email SomeNotificationsWillBeSent=Thông báo %s sẽ được gửi qua email AddNewNotification=Kích hoạt một mục tiêu thông báo email mới -ListOfActiveNotifications=Liệt kê tất cả các mục tiêu email thông báo hoạt động +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=Liệt kê tất cả các thông báo email gửi MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/vi_VN/main.lang b/htdocs/langs/vi_VN/main.lang index 748df7f99c4..8fd951f9892 100644 --- a/htdocs/langs/vi_VN/main.lang +++ b/htdocs/langs/vi_VN/main.lang @@ -84,6 +84,7 @@ SeeAbove=Xem ở trên HomeArea=Khu vực nhà LastConnexion=Kết nối cuối PreviousConnexion=Kết nối trước +PreviousValue=Previous value ConnectedOnMultiCompany=Kết nối trong môi trường ConnectedSince=Kết nối từ AuthenticationMode=Chế độ xác thực diff --git a/htdocs/langs/vi_VN/projects.lang b/htdocs/langs/vi_VN/projects.lang index d2a12ff0379..a10fbbef9a8 100644 --- a/htdocs/langs/vi_VN/projects.lang +++ b/htdocs/langs/vi_VN/projects.lang @@ -11,8 +11,10 @@ SharedProject=Mọi người PrivateProject=Project contacts MyProjectsDesc=Phần xem này được giới hạn cho dự án mà bạn có liên quan (đối với bất kỳ loại dự án nào). ProjectsPublicDesc=Phần xem này hiển thị tất cả các dự án mà bạn được phép đọc. +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=Phần xem này hiển thị tất cả dự án và tác vụ mà bạn được phép đọc. ProjectsDesc=Phần xem này hiển thị tất cả các dự án (quyền người dùng cấp cho bạn được phép xem mọi thứ). +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=Phần xem này bị giới hạn với các dự án hoặc tác vụ mà bạn có mối liên hệ với (bất kỳ loại dự án nào). OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Lãnh đạo dự án TypeContact_project_external_PROJECTLEADER=Lãnh đạo dự án diff --git a/htdocs/langs/vi_VN/stocks.lang b/htdocs/langs/vi_VN/stocks.lang index d8c4eae5a40..50ce2fbc633 100644 --- a/htdocs/langs/vi_VN/stocks.lang +++ b/htdocs/langs/vi_VN/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Ghi transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Chuyển động kho được ghi nhận RuleForStockAvailability=Quy định về yêu cầu kho -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Show warehouse MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/vi_VN/website.lang b/htdocs/langs/vi_VN/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/vi_VN/website.lang +++ b/htdocs/langs/vi_VN/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/zh_CN/admin.lang b/htdocs/langs/zh_CN/admin.lang index ae3edea3594..28a388d42d3 100644 --- a/htdocs/langs/zh_CN/admin.lang +++ b/htdocs/langs/zh_CN/admin.lang @@ -2,8 +2,8 @@ Foundation=机构 Version=版本 VersionProgram=程序版本 -VersionLastInstall=Initial install version -VersionLastUpgrade=Latest version upgrade +VersionLastInstall=初始安装版 +VersionLastUpgrade=最新升级版 VersionExperimental=实验 VersionDevelopment=开发 VersionUnknown=未知 @@ -115,8 +115,8 @@ DaylingSavingTime=夏令时间(用户) CurrentHour=PHP 服务器时间 CurrentSessionTimeOut=当前会话超时 YouCanEditPHPTZ=要设置不同的PHP时区(不要求),你可以尝试在 .htacces文件添加像这样 "SetEnv TZ 欧洲/巴黎" 一行。 -Box=Widget -Boxes=Widgets +Box=挂件 +Boxes=挂件 MaxNbOfLinesForBoxes=Max number of lines for widgets PositionByDefault=默认顺序 Position=位置 @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=用户和组 @@ -468,7 +471,7 @@ Module510Desc=职员薪酬及支付管理 Module520Name=贷款 Module520Desc=贷款管理 Module600Name=通知 -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=捐赠 Module700Desc=捐款的管理 Module770Name=HR费用报表 @@ -567,7 +570,7 @@ Permission71=读取会员 Permission72=建立/修改会员 Permission74=删除会员 Permission75=设置会员类型 -Permission76=Export data +Permission76=导出数据 Permission78=读取订阅 Permission79=建立/修改订阅 Permission81=读取客户订单 @@ -932,12 +935,12 @@ SetupDescription4=Parameters in menu Setup -> Modules are requi SetupDescription5=其他菜单项管理可选参数。 LogEvents=安全稽核事件 Audit=安全稽核 -InfoDolibarr=About Dolibarr +InfoDolibarr=关于Dolibarr InfoBrowser=About Browser -InfoOS=About OS -InfoWebServer=About Web Server -InfoDatabase=About Database -InfoPHP=About PHP +InfoOS=关于OS +InfoWebServer=关于WEB服务器 +InfoDatabase=关于数据库 +InfoPHP=关于PHP InfoPerf=About Performances BrowserName=浏览器名称 BrowserOS=浏览器操作系统 @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=客户/供应商模块及其相关参数设置 CompanyCodeChecker=客户编号生成与检验模块 (客户或供应商) AccountCodeManager=会计编号产生及检查模块设定(客户或供应商) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=文件模板 DocumentModelOdt=从开放文档模板软件(OpenOffice, KOffice, TextEdit,...等)生成(.ODT,.ODS)模板文档。 WatermarkOnDraft=为草稿文档加水印 @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=HR费用报表模块设置 TemplatePDFExpenseReports=用于生成开支报告文档的模板 NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=要找到 EMail通知 功能,你可能需要在通知模块设置中启用它。 -ListOfNotificationsPerContact=每个联系人的通知列表 +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=固定通知列表 +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=阈值 BackupDumpWizard=数据库转储备份向导 diff --git a/htdocs/langs/zh_CN/bills.lang b/htdocs/langs/zh_CN/bills.lang index 3a12b0075ca..4d9100f7270 100644 --- a/htdocs/langs/zh_CN/bills.lang +++ b/htdocs/langs/zh_CN/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Latest related invoice WarningBillExist=警告,一个或多个发票已经存在 MergingPDFTool=PDF 合并工具 AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices @@ -341,7 +342,7 @@ PaymentConditionShort60DENDMONTH=60 days of month-end PaymentCondition60DENDMONTH=Within 60 days following the end of the month PaymentConditionShortPT_DELIVERY=交货 PaymentConditionPT_DELIVERY=交货时 -PaymentConditionShortPT_ORDER=Order +PaymentConditionShortPT_ORDER=订单 PaymentConditionPT_ORDER=在订单 PaymentConditionShortPT_5050=50-50 PaymentConditionPT_5050=预付50%% ,50%%货到后付款 diff --git a/htdocs/langs/zh_CN/companies.lang b/htdocs/langs/zh_CN/companies.lang index 86143ff225c..06171bba67b 100644 --- a/htdocs/langs/zh_CN/companies.lang +++ b/htdocs/langs/zh_CN/companies.lang @@ -74,6 +74,7 @@ DefaultLang=默认语言 VATIsUsed=使用增值税 VATIsNotUsed=不使用增值税 CopyAddressFromSoc=填写丙方地址 +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= 使用可再生能源 @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=组织 FiscalYearInformation=信息财政年度 FiscalMonthStart=本财年开始一个月 -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=供应商名单 ListProspectsShort=名单前景 ListCustomersShort=客户名单 diff --git a/htdocs/langs/zh_CN/contracts.lang b/htdocs/langs/zh_CN/contracts.lang index 97ca231cfda..08434feb59c 100644 --- a/htdocs/langs/zh_CN/contracts.lang +++ b/htdocs/langs/zh_CN/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=没有过期 ServiceStatusLate=跑步,过期 ServiceStatusLateShort=过期 ServiceStatusClosed=关闭 +ShowContractOfService=Show contract of service Contracts=合同 ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracts and line of contracts diff --git a/htdocs/langs/zh_CN/errors.lang b/htdocs/langs/zh_CN/errors.lang index 8c4e77c1a34..cbba25dfd31 100644 --- a/htdocs/langs/zh_CN/errors.lang +++ b/htdocs/langs/zh_CN/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/zh_CN/install.lang b/htdocs/langs/zh_CN/install.lang index 0dd94712c2e..3d0b2c4aafb 100644 --- a/htdocs/langs/zh_CN/install.lang +++ b/htdocs/langs/zh_CN/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=这是推荐使用的目录以外的你对你的网页 LoginAlreadyExists=已存在 DolibarrAdminLogin=Dolibarr管理员登陆 AdminLoginAlreadyExists=Dolibarr管理员帐户'%s'已经存在。 +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=警告,出于安全原因,一旦安装或升级完成后,你应该删除安装目录或重命名为install.lock,以避免其恶意使用。 FunctionNotAvailableInThisPHP=不是可以用这个PHP ChoosedMigrateScript=选择迁移脚本 diff --git a/htdocs/langs/zh_CN/mails.lang b/htdocs/langs/zh_CN/mails.lang index 5bc538371df..af2ecbccfa8 100644 --- a/htdocs/langs/zh_CN/mails.lang +++ b/htdocs/langs/zh_CN/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=没有电子邮件通知此事件的计划和公司 ANotificationsWillBeSent=1通知将通过电子邮件发送 SomeNotificationsWillBeSent=%s的通知将通过电子邮件发送 AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=列出所有发送电子邮件通知 MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=首先您得这么地, 得先有个管理员账号吧 admin , 进入菜单 %s主页 - 设置 - EMails%s 修改参数 '%s' 用 '%s'模式。 在此模式下, 您才可输入一个 SMTP 服务器地址 来供您收发邮件。 diff --git a/htdocs/langs/zh_CN/main.lang b/htdocs/langs/zh_CN/main.lang index 4396082a0d3..744518d2f04 100644 --- a/htdocs/langs/zh_CN/main.lang +++ b/htdocs/langs/zh_CN/main.lang @@ -84,6 +84,7 @@ SeeAbove=见上文 HomeArea=信息状态 LastConnexion=最后一个连接 PreviousConnexion=前连接 +PreviousValue=Previous value ConnectedOnMultiCompany=对实体连接 ConnectedSince=自连接 AuthenticationMode=认证模式 diff --git a/htdocs/langs/zh_CN/projects.lang b/htdocs/langs/zh_CN/projects.lang index 8869af85786..e24a13ffd65 100644 --- a/htdocs/langs/zh_CN/projects.lang +++ b/htdocs/langs/zh_CN/projects.lang @@ -11,8 +11,10 @@ SharedProject=每个人 PrivateProject=Project contacts MyProjectsDesc=这种观点是有限的项目你是一个接触(不管是类型)。 ProjectsPublicDesc=这种观点提出了所有你被允许阅读的项目。 +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=这种观点提出的所有项目(你的用户权限批准你认为一切)。 +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=这种观点是有限的项目或任务你是一个接触(不管是类型)。 OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=项目负责人 TypeContact_project_external_PROJECTLEADER=项目负责人 diff --git a/htdocs/langs/zh_CN/stocks.lang b/htdocs/langs/zh_CN/stocks.lang index d134ce61b74..ddfa812282e 100644 --- a/htdocs/langs/zh_CN/stocks.lang +++ b/htdocs/langs/zh_CN/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Show warehouse MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/zh_CN/website.lang b/htdocs/langs/zh_CN/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/zh_CN/website.lang +++ b/htdocs/langs/zh_CN/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. diff --git a/htdocs/langs/zh_TW/admin.lang b/htdocs/langs/zh_TW/admin.lang index 40d73d793b1..e1705410fdd 100644 --- a/htdocs/langs/zh_TW/admin.lang +++ b/htdocs/langs/zh_TW/admin.lang @@ -385,6 +385,9 @@ NoDetails=No more details in footer DisplayCompanyInfo=Display company address DisplayCompanyInfoAndManagers=Display company and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. # Modules Module0Name=用戶和組 @@ -468,7 +471,7 @@ Module510Desc=Management of employees salaries and payments Module520Name=Loan Module520Desc=Management of loans Module600Name=通知 -Module600Desc=Send EMail notifications (triggered by some business events) to third-party contacts (setup defined on each thirdparty) or fixed emails +Module600Desc=Send EMail notifications (triggered by some business events) to users (setup defined on each user), third-party contacts (setup defined on each thirdparty) or fixed emails Module700Name=捐贈 Module700Desc=捐款的管理 Module770Name=Expense reports @@ -1067,7 +1070,10 @@ HRMSetup=HRM module setup CompanySetup=客戶/供應商模組及其相關參數設置 CompanyCodeChecker=客戶/潛在/供應商編號產生及檢查模組設定 AccountCodeManager=會計編號產生及檢查模組設定(客戶或供應商) -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined: +NotificationsDescUser=* per users, one user at time. +NotificationsDescContact=* per third parties contacts (customers or suppliers), one contact at time. +NotificationsDescGlobal=* or by setting global target emails in module setup page. ModelModules=文件範本 DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=在草稿文件上產生浮水印字串(如果以下文字框不是空字串) @@ -1518,8 +1524,10 @@ ExpenseReportsSetup=Setup of module Expense Reports TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for EMail notifications by enabling and configuring the module "Notification". -ListOfNotificationsPerContact=List of notifications per contact* +ListOfNotificationsPerUser=List of notifications per user* +ListOfNotificationsPerUserOrContact=List of notifications per user* or per contact** ListOfFixedNotifications=List of fixed notifications +GoOntoUserCardToAddMore=Go on the tab "Notifications" of a user to add or remove notifications for users GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses Threshold=Threshold BackupDumpWizard=Wizard to build database backup dump file diff --git a/htdocs/langs/zh_TW/bills.lang b/htdocs/langs/zh_TW/bills.lang index 712d57b3f61..47fa1262871 100644 --- a/htdocs/langs/zh_TW/bills.lang +++ b/htdocs/langs/zh_TW/bills.lang @@ -312,6 +312,7 @@ LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist MergingPDFTool=Merging PDF tool AmountPaymentDistributedOnInvoice=Payment amount distributed on invoice +PaymentOnDifferentThirdBills=Allow payments on different thirdparties bills but same parent company PaymentNote=Payment note ListOfPreviousSituationInvoices=List of previous situation invoices ListOfNextSituationInvoices=List of next situation invoices diff --git a/htdocs/langs/zh_TW/companies.lang b/htdocs/langs/zh_TW/companies.lang index e6d9ddbaa80..e3b16863147 100644 --- a/htdocs/langs/zh_TW/companies.lang +++ b/htdocs/langs/zh_TW/companies.lang @@ -74,6 +74,7 @@ DefaultLang=預設語系 VATIsUsed=使用營業稅(VAT) VATIsNotUsed=不使用營業稅(VAT) CopyAddressFromSoc=填寫地址於客戶/供應商地址欄位 +ThirdpartyNotCustomerNotSupplierSoNoRef=Thirdparty neither customer nor supplier, no available refering objects ##### Local Taxes ##### LocalTax1IsUsed=Use second tax LocalTax1IsUsedES= 稀土用於 @@ -368,7 +369,8 @@ AllocateCommercial=Assigned to sales representative Organization=組織 FiscalYearInformation=信息財政年度 FiscalMonthStart=本財年開始一個月 -YouMustCreateContactFirst=To be able to add email notifications, you must first insert email contacts for the third party +YouMustAssignUserMailFirst=You must create email for this user first to be able to add emails notifications for him. +YouMustCreateContactFirst=To be able to add email notifications, you must first define contacts with valid emails for the third party ListSuppliersShort=供應商名單 ListProspectsShort=潛在名單 ListCustomersShort=客戶名單 diff --git a/htdocs/langs/zh_TW/contracts.lang b/htdocs/langs/zh_TW/contracts.lang index a03c927d6a3..983764c80b0 100644 --- a/htdocs/langs/zh_TW/contracts.lang +++ b/htdocs/langs/zh_TW/contracts.lang @@ -14,6 +14,7 @@ ServiceStatusNotLateShort=沒有過期 ServiceStatusLate=跑步,過期 ServiceStatusLateShort=過期 ServiceStatusClosed=關閉 +ShowContractOfService=Show contract of service Contracts=合同 ContractsSubscriptions=Contracts/Subscriptions ContractsAndLine=Contracts and line of contracts diff --git a/htdocs/langs/zh_TW/errors.lang b/htdocs/langs/zh_TW/errors.lang index 36c356812c7..da7e7cd858c 100644 --- a/htdocs/langs/zh_TW/errors.lang +++ b/htdocs/langs/zh_TW/errors.lang @@ -192,5 +192,5 @@ WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your 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. WarningTooManyDataPleaseUseMoreFilters=Too many data (more than %s lines). Please use more filters or set the constant %s to a higher limit. -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. +WarningSomeLinesWithNullHourlyRate=Some times were recorded by some users while their hourly rate was not defined. A value of 0 %s per hour was used but this may result in wrong valuation of time spent. WarningYourLoginWasModifiedPleaseLogin=Your login was modified. For security purpose you will have to login with your new login before next action. diff --git a/htdocs/langs/zh_TW/install.lang b/htdocs/langs/zh_TW/install.lang index ea329d2d4e3..5ca4bac8bfd 100644 --- a/htdocs/langs/zh_TW/install.lang +++ b/htdocs/langs/zh_TW/install.lang @@ -86,6 +86,7 @@ DirectoryRecommendation=這是推薦使用的目錄以外的你對你的網頁 LoginAlreadyExists=已存在 DolibarrAdminLogin=Dolibarr管理員登陸 AdminLoginAlreadyExists=Dolibarr管理員帳戶'%s'已經存在。 +FailedToCreateAdminLogin=Failed to create Dolibarr administrator account. WarningRemoveInstallDir=警告,出於安全原因,一旦安裝或升級完成後,你應該刪除安裝目錄或重命名為install.lock,以避免其惡意使用。 FunctionNotAvailableInThisPHP=不是可以用這個PHP ChoosedMigrateScript=選擇遷移腳本 diff --git a/htdocs/langs/zh_TW/mails.lang b/htdocs/langs/zh_TW/mails.lang index 42837d23808..5cfabb518a3 100644 --- a/htdocs/langs/zh_TW/mails.lang +++ b/htdocs/langs/zh_TW/mails.lang @@ -111,7 +111,7 @@ NoNotificationsWillBeSent=沒有電子郵件通知此事件的計劃和公司 ANotificationsWillBeSent=1通知將通過電子郵件發送 SomeNotificationsWillBeSent=%s的通知將通過電子郵件發送 AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +ListOfActiveNotifications=List all active targets for email notification ListOfNotificationsDone=列出所有發送電子郵件通知 MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. diff --git a/htdocs/langs/zh_TW/main.lang b/htdocs/langs/zh_TW/main.lang index 04fe9b11351..0443ebc1911 100644 --- a/htdocs/langs/zh_TW/main.lang +++ b/htdocs/langs/zh_TW/main.lang @@ -84,6 +84,7 @@ SeeAbove=見上文 HomeArea=首頁區 LastConnexion=最後連線時間 PreviousConnexion=上次連線時間 +PreviousValue=Previous value ConnectedOnMultiCompany=對實體連接 ConnectedSince=自連接 AuthenticationMode=認證模式 diff --git a/htdocs/langs/zh_TW/projects.lang b/htdocs/langs/zh_TW/projects.lang index 429dd834736..6361d59e4e1 100644 --- a/htdocs/langs/zh_TW/projects.lang +++ b/htdocs/langs/zh_TW/projects.lang @@ -11,8 +11,10 @@ SharedProject=每個人 PrivateProject=Project contacts MyProjectsDesc=這種觀點是有限的項目你是一個接觸(不管是類型)。 ProjectsPublicDesc=這種觀點提出了所有你被允許閱讀的項目。 +TasksOnProjectsPublicDesc=This view presents all tasks on projects you are allowed to read. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=這種觀點提出的所有項目(你的用戶權限批準你認為一切)。 +TasksOnProjectsDesc=This view presents all tasks on all projects (your user permissions grant you permission to view everything). MyTasksDesc=這種觀點是有限的項目或任務你是一個接觸(不管是類型)。 OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). ClosedProjectsAreHidden=Closed projects are not visible. @@ -130,6 +132,9 @@ OpportunityProbability=Opportunity probability OpportunityProbabilityShort=Opp. probab. OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount +OpportunityAmountAverageShort=Average Opp. amount +OpportunityAmountWeigthedShort=Weighted Opp. amount +WonLostExcluded=Won/Lost excluded ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=項目負責人 TypeContact_project_external_PROJECTLEADER=項目負責人 diff --git a/htdocs/langs/zh_TW/stocks.lang b/htdocs/langs/zh_TW/stocks.lang index bd05ae14cc2..56b3a63a61c 100644 --- a/htdocs/langs/zh_TW/stocks.lang +++ b/htdocs/langs/zh_TW/stocks.lang @@ -114,12 +114,14 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice (check is done on current real stock when adding a line into invoice whatever is rule for automatic stock change) +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order (check is done on current real stock when adding a line into order whatever is rule for automatic stock change) +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment (check is done on current real stock when adding a line into shipment whatever is rule for automatic stock change) MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package +WarehouseAllowNegativeTransfer=Stock can be negative +qtyToTranferIsNotEnough=You don't have enough stock from your source warehouse ShowWarehouse=Show warehouse MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse diff --git a/htdocs/langs/zh_TW/website.lang b/htdocs/langs/zh_TW/website.lang index 28c52cd9700..b1b51cfedc2 100644 --- a/htdocs/langs/zh_TW/website.lang +++ b/htdocs/langs/zh_TW/website.lang @@ -21,3 +21,5 @@ ViewSiteInNewTab=View site in new tab ViewPageInNewTab=View page in new tab SetAsHomePage=Set as Home page RealURL=Real URL +ViewWebsiteInProduction=View web site using home URLs +SetHereVirtualHost=If you can set, on your web server, a dedicated virtual host with a root directory on %s, define here the virtual hostname so the preview will be done using this direct access instead of Dolibarr URLs wrapper. From d3632056483237e7d912163558f3e8ec4bda4568 Mon Sep 17 00:00:00 2001 From: SAINT-PATRICE Date: Tue, 26 Jul 2016 11:44:02 +0200 Subject: [PATCH 074/476] Update paiement.php MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Test non optimisé --- htdocs/compta/paiement.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/compta/paiement.php b/htdocs/compta/paiement.php index a9414fcafeb..c11b2c815bc 100644 --- a/htdocs/compta/paiement.php +++ b/htdocs/compta/paiement.php @@ -529,7 +529,7 @@ if ($action == 'create' || $action == 'confirm_paiement' || $action == 'add_paie $sql.= ' WHERE f.entity = '.$conf->entity; $sql.= ' AND (f.fk_soc = '.$facture->socid; - if(!empty($conf->global->FACTURE_PAYMENTS_ON_DIFFERENT_THIRDPARTIES_BILLS)) { + if(!empty($conf->global->FACTURE_PAYMENTS_ON_DIFFERENT_THIRDPARTIES_BILLS) && !empty($facture->thirdparty->parent)) { $sql.= ' OR f.fk_soc IN (SELECT rowid FROM '.MAIN_DB_PREFIX.'societe WHERE parent = '.$facture->thirdparty->parent.')'; } From a3d0c01b685abb840595f17f9b40531e8b1d3faf Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 26 Jul 2016 13:51:13 +0200 Subject: [PATCH 075/476] Fix warning --- htdocs/core/modules/modAgenda.class.php | 8 ++++---- htdocs/core/modules/modCommande.class.php | 4 ++-- htdocs/core/modules/modDeplacement.class.php | 5 ++--- htdocs/core/modules/modFacture.class.php | 6 +++--- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/htdocs/core/modules/modAgenda.class.php b/htdocs/core/modules/modAgenda.class.php index 666324db993..519f59a059d 100644 --- a/htdocs/core/modules/modAgenda.class.php +++ b/htdocs/core/modules/modAgenda.class.php @@ -392,14 +392,14 @@ class modAgenda extends DolibarrModules $this->export_sql_start[$r]='SELECT DISTINCT '; $this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'actioncomm as ac'; $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'c_actioncomm as cac on ac.fk_action = cac.id'; - if(!$user->rights->agenda->allactions->read) $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'actioncomm_resources acr on ac.id = acr.fk_actioncomm'; + if (empty($user->rights->agenda->allactions->read)) $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'actioncomm_resources acr on ac.id = acr.fk_actioncomm'; $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'socpeople as sp on ac.fk_contact = sp.rowid'; $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'societe as s on ac.fk_soc = s.rowid'; - if(!$user->rights->societe->client->voir) $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'societe_commerciaux as sc ON sc.fk_soc = s.rowid'; + if (empty($user->rights->societe->client->voir)) $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'societe_commerciaux as sc ON sc.fk_soc = s.rowid'; $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'c_country as co on s.fk_pays = co.rowid'; $this->export_sql_end[$r] .=' WHERE ac.entity IN ('.getEntity('agenda',1).')'; - if(!$user->rights->societe->client->voir) $this->export_sql_end[$r] .=' AND (sc.fk_user = '.$user->id.' OR ac.fk_soc IS NULL)'; - if(!$user->rights->agenda->allactions->read) $this->export_sql_end[$r] .=' AND acr.fk_element = '.$user->id; + if (empty($user->rights->societe->client->voir)) $this->export_sql_end[$r] .=' AND (sc.fk_user = '.$user->id.' OR ac.fk_soc IS NULL)'; + if (empty($user->rights->agenda->allactions->read)) $this->export_sql_end[$r] .=' AND acr.fk_element = '.$user->id; $this->export_sql_end[$r] .=' ORDER BY ac.datep'; } diff --git a/htdocs/core/modules/modCommande.class.php b/htdocs/core/modules/modCommande.class.php index 7d38a427e1c..7ac75df43a9 100644 --- a/htdocs/core/modules/modCommande.class.php +++ b/htdocs/core/modules/modCommande.class.php @@ -191,7 +191,7 @@ class modCommande extends DolibarrModules include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php'; $this->export_sql_start[$r]='SELECT DISTINCT '; $this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'societe as s'; - if(!$user->rights->societe->client->voir) $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'societe_commerciaux as sc ON sc.fk_soc = s.rowid'; + if (empty($user->rights->societe->client->voir)) $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'societe_commerciaux as sc ON sc.fk_soc = s.rowid'; $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'c_departements as d ON s.fk_departement = d.rowid'; $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'c_country as co ON s.fk_pays = co.rowid,'; $this->export_sql_end[$r] .=' '.MAIN_DB_PREFIX.'commande as c'; @@ -205,7 +205,7 @@ class modCommande extends DolibarrModules $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_extrafields as extra3 on p.rowid = extra3.fk_object'; $this->export_sql_end[$r] .=' WHERE c.fk_soc = s.rowid AND c.rowid = cd.fk_commande'; $this->export_sql_end[$r] .=' AND c.entity IN ('.getEntity('commande',1).')'; - if(!$user->rights->societe->client->voir) $this->export_sql_end[$r] .=' AND sc.fk_user = '.$user->id; + if (empty($user->rights->societe->client->voir)) $this->export_sql_end[$r] .=' AND sc.fk_user = '.$user->id; } diff --git a/htdocs/core/modules/modDeplacement.class.php b/htdocs/core/modules/modDeplacement.class.php index c1e9c092ff6..4d95dc7affa 100644 --- a/htdocs/core/modules/modDeplacement.class.php +++ b/htdocs/core/modules/modDeplacement.class.php @@ -127,13 +127,12 @@ class modDeplacement extends DolibarrModules if(!$user->rights->societe->client->voir) $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'societe_commerciaux as sc ON sc.fk_soc = s.rowid'; $this->export_sql_end[$r] .=' WHERE d.fk_user = u.rowid'; $this->export_sql_end[$r] .=' AND d.entity IN ('.getEntity('deplacement',1).')'; - if(!$user->rights->societe->client->voir) $this->export_sql_end[$r] .=' AND (sc.fk_user = '.$user->id.' OR d.fk_soc IS NULL)'; + if (empty($user->rights->societe->client->voir)) $this->export_sql_end[$r] .=' AND (sc.fk_user = '.$user->id.' OR d.fk_soc IS NULL)'; $childids = $user->getAllChildIds(); $childids[]=$user->id; - if (!$user->rights->deplacement->readall && !$user->rights->deplacement->lire_tous) $sql.=' AND d.fk_user IN ('.join(',',$childids).')'; - + if (empty($user->rights->deplacement->readall) && empty($user->rights->deplacement->lire_tous)) $sql.=' AND d.fk_user IN ('.join(',',$childids).')'; } diff --git a/htdocs/core/modules/modFacture.class.php b/htdocs/core/modules/modFacture.class.php index 794032c59f5..1d035ccc8ec 100644 --- a/htdocs/core/modules/modFacture.class.php +++ b/htdocs/core/modules/modFacture.class.php @@ -205,7 +205,7 @@ class modFacture extends DolibarrModules include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php'; $this->export_sql_start[$r]='SELECT DISTINCT '; $this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'societe as s'; - if(!$user->rights->societe->client->voir) $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'societe_commerciaux as sc ON sc.fk_soc = s.rowid'; + if (empty($user->rights->societe->client->voir)) $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'societe_commerciaux as sc ON sc.fk_soc = s.rowid'; $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'c_country as c on s.fk_pays = c.rowid,'; $this->export_sql_end[$r] .=' '.MAIN_DB_PREFIX.'facture as f'; $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'projet as pj ON f.fk_projet = pj.rowid'; @@ -234,7 +234,7 @@ class modFacture extends DolibarrModules include DOL_DOCUMENT_ROOT.'/core/extrafieldsinexport.inc.php'; $this->export_sql_start[$r]='SELECT DISTINCT '; $this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'societe as s'; - if(!$user->rights->societe->client->voir) $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'societe_commerciaux as sc ON sc.fk_soc = s.rowid'; + if (empty($user->rights->societe->client->voir)) $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'societe_commerciaux as sc ON sc.fk_soc = s.rowid'; $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'c_country as c on s.fk_pays = c.rowid,'; $this->export_sql_end[$r] .=' '.MAIN_DB_PREFIX.'facture as f'; $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'projet as pj ON f.fk_projet = pj.rowid'; @@ -248,7 +248,7 @@ class modFacture extends DolibarrModules $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'bank_account as ba ON ba.rowid = b.fk_account'; $this->export_sql_end[$r] .=' WHERE f.fk_soc = s.rowid'; $this->export_sql_end[$r] .=' AND f.entity IN ('.getEntity('facture',1).')'; - if(!$user->rights->societe->client->voir) $this->export_sql_end[$r] .=' AND sc.fk_user = '.$user->id; + if (empty($user->rights->societe->client->voir)) $this->export_sql_end[$r] .=' AND sc.fk_user = '.$user->id; $r++; } From 27e0859051c80fb34d322927695634cfe8344c2d Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 26 Jul 2016 13:52:43 +0200 Subject: [PATCH 076/476] Fix travis error --- test/phpunit/FactureTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/phpunit/FactureTest.php b/test/phpunit/FactureTest.php index 142a5284989..8c3d4a2374a 100644 --- a/test/phpunit/FactureTest.php +++ b/test/phpunit/FactureTest.php @@ -274,7 +274,7 @@ class FactureTest extends PHPUnit_Framework_TestCase $localobject=new Facture($this->savdb); $result=$localobject->fetch($id); - $result=$localobject->delete($id); + $result=$localobject->delete($user); print __METHOD__." id=".$id." result=".$result."\n"; $this->assertGreaterThanOrEqual(0, $result); From 9e70f49fc513985fe4e5c477f8f3aa8ea1077275 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 26 Jul 2016 13:56:11 +0200 Subject: [PATCH 077/476] Update changelog --- ChangeLog | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1e07c63f2cb..938b2932971 100644 --- a/ChangeLog +++ b/ChangeLog @@ -12,9 +12,23 @@ Upgrading to any other version or any other database system is abolutely require make a Dolibarr upgrade. + +***** ChangeLog for 5.0.0 compared to 4.0.* ***** +For users: +... + +WARNING: + +Following changes may create regression for some external modules, but were necessary to make +Dolibarr better: +- Function delete of class Facture (invoice) need the object $user as first parameter. Also you must +check you make a fetch on object before calling the delete. + + + + ***** ChangeLog for 4.0.0 compared to 3.9.* ***** For users: - NEW: Add reccuring invoice feature and automatic generation of invoices. NEW: Add module "Loan" as stable. NEW: Add module "Supplier commercial proposal" (price request) is set to stable status. @@ -120,7 +134,6 @@ NEW: When creating a template invoice from a draft invoice, if there is link to NEW: When emailing is not sent completely, show progression. For developers: - NEW: Add a css class style called 'reposition', so when clicking on a link with this class will move scrollbarr to be placed at same page location. NEW: TimeZone can be supplied to mktime NEW: hook in shipment card From 71d153c4e286d9d18ca62aea36e87aec90df29be Mon Sep 17 00:00:00 2001 From: Sergio Sanchis Climent Date: Tue, 26 Jul 2016 01:59:27 +0200 Subject: [PATCH 078/476] change jsgantt to jsGanttImproved --- htdocs/includes/jsgantt/jsgantt.css | 265 +- htdocs/includes/jsgantt/jsgantt.js | 4746 +++++++++++++----------- htdocs/includes/jsgantt/jsgantt.min.js | 3 +- htdocs/projet/ganttchart.inc.php | 32 +- htdocs/projet/ganttview.php | 31 +- htdocs/projet/jsgantt_language.js.php | 49 +- 6 files changed, 2787 insertions(+), 2339 deletions(-) diff --git a/htdocs/includes/jsgantt/jsgantt.css b/htdocs/includes/jsgantt/jsgantt.css index 7acf9318347..78a7e83e971 100644 --- a/htdocs/includes/jsgantt/jsgantt.css +++ b/htdocs/includes/jsgantt/jsgantt.css @@ -1,53 +1,242 @@ +/* Sample CSS for jsGanttImproved v1.7.3 */ +div.gantt { font-family:tahoma, arial, verdana, Sans-serif; font-size:10px; color: #2F2F2F; } -// These are the class/styles used by various objects in GanttChart. However, Firefox has problems deciphering class style when DIVs are embedded in other DIVs. +.gantt table { border-collapse: collapse; } +.gantt td { padding: 0px; } -// GanttChart makes heavy use of embedded DIVS, thus the style are often embedded directly in the objects html. If this could be resolved with Firefox, it would +/* cell defaults */ +.gmajorheading, +.gminorheading, +.gminorheadingwkend, +.gtaskcell, +.gtaskcellwkend { height: 19px; font-size: 12px; border: #efefef 1px solid; text-align: center; cursor: default } +.gtasklist { height: 19px; min-width: 5px; max-width: 5px; width: 5px; border: #efefef 1px solid; border-right: none; } /* all three width values set just to make sure - helps resizing code */ -// make alot of the code look simpleer/cleaner without all the embedded styles +/* Additional values for some cell elements */ +.gtaskheading, +.gmajorheading, +.gminorheading { background-color: #ffffff; font-weight: bold; font-size: 9px; white-space: nowrap; } +.gtaskcellwkend, +.gminorheadingwkend { background-color: #f7f7f7; font-weight: bold; font-size: 9px; white-space: nowrap; } +td.gtaskcell { text-align: left } +td.gspanning { border-left: none; border-right: none; } +.gtaskcelldiv { position: relative; } + +/* Task list defaults */ +.gtaskheading, +.gname, +.gtaskname, +.gresource, +.gduration, +.gpccomplete, +.gstartdate, +.genddate { height: 18px; white-space: nowrap; border: #efefef 1px solid; } + +/* Additional values for some task list elements */ +.gresource, +.gduration, +.gpccomplete, +.gstartdate div, /* needed for IE8 */ +.gstartdate { text-align: center; min-width: 70px; max-width: 70px; width: 70px; font-size: 10px; } +.genddate div, /* needed for IE8 */ +.genddate { text-align: center; min-width: 70px; max-width: 70px; width: 70px; font-size: 10px; } +.gtaskheading { text-align: center; } +.gtaskname div, /* needed for IE8 */ +.gtaskname { min-width: 170px; max-width: 170px; width: 170px;/* font-size: 9px;*/ border-left: none; } + +.gselector { text-align: left; white-space: nowrap; min-width: 170px; max-width: 170px; width: 170px; } + +.gformlabel { position:relative; top:0px; cursor:pointer; border: #ffffff 1px solid; margin-left: 2px; padding-left: 2px; padding-right: 2px; } +span.gformlabel:hover, +span.gselected { background-color: #dbecff; border: #cccccc 1px solid;} + +span.gfoldercollapse { color:#000000; cursor:pointer; font-weight:bold; font-size: 12px; font-family: Courier, "Courier New", monospace; } + +.gtasktableh, +.gtasktable { border-right: #efefef 1px solid; } +.gcharttable { border: #efefef 1px solid; } /* for some reason firefox needs this */ + +/* Differentiate Group, Milestone and Ordinary task items (applied to row) */ +.ggroupitem { background-color: #fbfbfb; font-weight: bold; } +.gmileitem, +.glineitem { background-color: #ffffff; } + +/* highlight row (applied to row) */ +.gitemhighlight td { background-image: none; background-color: #fffaaa;} + +/* task bar caption text styles */ +.gmilecaption, +.ggroupcaption, +.gcaption { font-weight: normal; font-size: 9px; text-align: left; white-space: nowrap; top:1px; position: absolute; top:2px; } + +.ggroupcaption, +.gcaption { right: -126px; } + +/* Task complete %age bar shared attributes */ +.gtaskcomplete { float:left; overflow: hidden; } + +/* Task complete %age bar */ +.gtaskcomplete { height:5px; background-color:#000000; margin-top:4px; opacity:0.4; filter: alpha(opacity=40); } + +/* Milestones */ +.gmilestone { font-size: 14px; position: absolute; top: -2px; } +.gmdtop { top: 2px; overflow: hidden; width:0px; height:0px; border-bottom: 5px solid black; border-left: 5px solid transparent; border-top: 5px solid transparent; border-right: 5px solid transparent;} +.gmdbottom { top: 2px; overflow: hidden; width:0px; height:0px; border-top: 5px solid black; border-left: 5px solid transparent; border-bottom: 5px solid transparent; border-right: 5px solid transparent;} + +/* Task bar shared attributes */ +.ggroupblack, +.gtaskblue, +.gtaskred, +.gtaskgreen, +.gtaskyellow, +.gtaskpurple, +.gtaskpink { height: 13px; filter: alpha(opacity=90); opacity:0.9; margin-top: 1px; } + +/* Task bars - ggroupblack is set as the default class on the task if it is undefined */ +.ggroupblack { height: 7px; background: #000000; margin-top: 2px; } +.ggroupblackendpointleft { overflow: hidden; width:0px; height:0px; top: 2px; border-top: 4px solid black; border-left: 4px solid transparent; border-bottom: 4px solid transparent; border-right: 4px solid transparent; float: left; } +.ggroupblackendpointright { overflow: hidden; width:0px; height:0px; top: 2px; border-top: 4px solid black; border-left: 4px solid transparent; border-bottom: 4px solid transparent; border-right: 4px solid transparent; float: right; } +.ggroupblackcomplete { float:left; overflow: hidden; height:3px; filter: alpha(opacity=80); opacity:0.8; background-color:#777777; margin-top:2px; margin-bottom: 2px; } +.gtaskblue { + background: rgb(58,132,195); /* Old browsers */ + background: linear-gradient(to bottom, rgba(58,132,195,1) 0%,rgba(65,154,214,1) 20%,rgba(75,184,240,1) 40%,rgba(58,139,194,1) 70%,rgba(38,85,139,1) 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4bb8f0', endColorstr='#3a84c3',GradientType=0 ); /* IE6-9 */ +} +.gtaskred { + background: rgb(196,58,58); /* Old browsers */ + background: linear-gradient(to bottom, rgba(196,58,58,1) 0%,rgba(211,65,65,1) 20%,rgba(239,76,76,1) 40%,rgba(196,58,58,1) 70%,rgba(135,37,37,1) 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ef4c4c', endColorstr='#c43a3a',GradientType=0 ); /* IE6-9 */ +} +.gtaskgreen { + background: rgb(80,193,58); /* Old browsers */ + background: linear-gradient(to bottom, rgba(80,193,58,1) 0%,rgba(88,209,64,1) 20%,rgba(102,237,75,1) 40%,rgba(80,193,58,1) 70%,rgba(53,132,37,1) 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#66ED4B', endColorstr='#50c13a',GradientType=0 ); /* IE6-9 */ +} +.gtaskyellow { + background: rgb(247,228,56); /* Old browsers */ + background: linear-gradient(to bottom, rgba(247,228,56,1) 0%,rgba(239,239,55,1) 20%,rgba(255,255,58,1) 40%,rgba(242,236,55,1) 70%,rgba(241,218,54,1) 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffff3a', endColorstr='#f7e438',GradientType=0 ); /* IE6-9 */ +} +.gtaskpurple { + background: rgb(193,58,193); /* Old browsers */ + background: linear-gradient(to bottom, rgba(193,58,193,1) 0%,rgba(211,65,211,1) 20%,rgba(239,76,239,1) 40%,rgba(193,58,193,1) 70%,rgba(137,38,137,1) 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ef4cef', endColorstr='#892689',GradientType=0 ); /* IE6-9 */ +} +.gtaskpink { + background: rgb(249,177,245); /* Old browsers */ + background: linear-gradient(to bottom, rgba(249,177,245,1) 0%,rgba(247,192,243,1) 20%,rgba(247,202,244,1) 40%,rgba(249,192,246,1) 70%,rgba(252,174,247,1) 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7caf4', endColorstr='#fcaef7',GradientType=0 ); /* IE6-9 */ +} +.gtaskbluecomplete, +.gtaskredcomplete, +.gtaskgreencomplete, +.gtaskyellowcomplete, +.gtaskpurplecomplete, +.gtaskpinkcomplete { float:left; overflow: hidden; height:5px; filter: alpha(opacity=40); opacity:0.4; background-color: #000000; margin-top:4px; } + +/* Printer friendly styles - we could use these all the time but they are not as pretty! */ +/* note that "@media print" is not supported in IE6 or 7. Fully patched IE8 should be OK */ +@media print { + .ggroupblack { height:0px; border-top: 7px solid; border-color: #000000; } + .gtaskblue { height:0px; border-top: 13px solid; border-color: rgb(58,132,195); } + .gtaskred { height:0px; border-top: 13px solid; border-color: rgb(196,58,58); } + .gtaskgreen { height:0px; border-top: 13px solid; border-color: rgb(80,193,58); } + .gtaskyellow { height:0px; border-top: 13px solid; border-color: rgb(247,228,56); } + .gtaskpurple { height:0px; border-top: 13px solid; border-color: rgb(193,58,193); } + .gtaskpink { height:0px; border-top: 13px solid; border-color: rgb(249,177,245); } + + .gtaskbluecomplete, + .gtaskredcomplete, + .gtaskgreencomplete, + .gtaskyellowcomplete, + .gtaskpurplecomplete, + .gtaskpinkcomplete { height:0px; filter: alpha(opacity=40); opacity:0.4; margin-top: -9px; border-top: 5px solid; border-color: #000000; } + .ggroupblackcomplete { height: 0px; filter: alpha(opacity=80); opacity:0.8; margin-top:-5px; border-top:3px solid; border-color:#777777; } +} + +/* END Task bar styles */ +.glinev { border-left: 1px solid; width: 0px; } +.glineh { border-top: 1px solid; height: 0px; } + +.gDepFS, +.gDepSS, +.gDepSF, +.gDepFF { border-color: #26558b; } +.gDepFSArw, +.gDepSSArw { overflow: hidden; width:0px; height:0px; border-bottom: 4px solid transparent; border-left: 4px solid #26558b; border-top: 4px solid transparent; border-right: 4px solid transparent;} +.gDepFFArw, +.gDepSFArw { overflow: hidden; width:0px; height:0px; border-bottom: 4px solid transparent; border-left: 4px solid transparent; border-top: 4px solid transparent; border-right: 4px solid #26558b;} +.gCurDate { border-color: #0000ff; } +div.gtaskbarcontainer { z-index: 1; position: absolute; top: 0px } -..gantt { font-family:tahoma, arial, verdana; font-size:10px;} +.JSGanttToolTip {position: absolute; display: block; z-index: 2;} +.JSGanttToolTipcont {font-family: tahoma, arial, verdana; font-size: 10px; display: block; background: #ffffff; color: #656565} +.gTaskInfo {background: #dbecff; width: 400px; border: #656565 1px solid; border-radius: 10px; padding: 4px 6px 4px 6px; float: left;} +.gTtTitle {display: block; font-size: 12px; font-weight: bold; color: #404040; margin-left: 4px; margin-bottom: 1em;} +.gTaskLabel {font-size: 11px; font-weight: bold; color: #656565; margin-left: 4px;} +.gTaskText {position:absolute; left: 90px; padding-top: 1px; font-size: 10px; font-weight: normal; color: #656565;} +.gTaskNotes {font-size: 11px; font-weight: normal; color: #323232; padding: 0 15px; display: block;} +.gTIn {padding-top: 10px;} -..gdatehead { BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid; HEIGHT: 18px } +.gantt { min-width: 1064px; /* 2x LC width */ } +.gchartcontainer { padding-left: 532px; /* LC width */ } +.gcontainercol { position: relative; float: left; } /* Add a max-height value here if wanted */ +.glistgrid { width: 532px; /* LC width */ margin-left: -100%; right: 532px; /* LC width */ padding-right: 0px; padding-left: 0px; padding-bottom: 0px; padding-top: 0px; background-color: #ffffff; overflow: hidden; } +.glistlbl { width: 532px; /* LC width */ margin-left: -100%; right: 532px; /* LC width */ padding-right: 0px; padding-left: 0px; padding-bottom: 0px; padding-top: 0px; background-color: #ffffff; overflow: hidden; } +.glabelfooter { clear: both; } +.ggridfooter { clear: both; } -..ghead { BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid; WIDTH: 24px; HEIGHT: 20px } +/*.rhscrpad { width: 150px; position: absolute; top: 0px; height: 1px; }*/ -..gname { BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; WIDTH: 18px; HEIGHT: 18px } +.gchartgrid { width: 100%; padding-right: 0px; padding-left: 0px; padding-bottom: 0px; padding-top: 0px; background-color: #ffffff; position: relative; overflow: auto; min-height: 0%; } +.gchartlbl { width: 100%; padding-right: 0px; padding-left: 0px; padding-bottom: 0px; padding-top: 0px; background-color: #ffffff; position: relative; overflow: hidden; } -..ghead A { FONT-SIZE: 10px; COLOR: #000000; TEXT-DECORATION: none } +/* Old Internet Explorer version hacks */ +.gantt { _height: 100% } /* otherwise the chart disappears! */ +div .gantt { _width: 1064px; } /* ie6 fixed width */ +div.gchartlbl, +div.gchartgrid { _width: 532px; } /* ie6 fixed width */ +div.glistlbl, +div.glistgrid { + *right: 0px; /* ie7 pulls the content too far left with the negative margin */ + _right: 532px; /* but ie6 fixed width needs this */ + _margin-left: -532px; /* ie6 fixed width */ +} +div.gchartgrid { *padding-bottom: 20px; *overflow-y: hidden; } /* variable height design, no need for vertical scroll */ +td.gmajorheading div { *overflow: hidden; } /* stops resizing fixed width columns if the text is too wide */ +td.gspanning div { *overflow: hidden; } /* stops resizing fixed width columns if the text is too wide */ -..gheadwkend A { FONT-SIZE: 10px; COLOR: #000000; TEXT-DECORATION: none } +/* border transparency tricks */ +.ggroupblackendpointleft { _border-top: 4px solid black; _border-left: 4px solid pink; _border-bottom: 4px solid pink; _border-right: 4px solid pink; _filter: chroma(color=pink); } +.ggroupblackendpointright { _border-top: 4px solid black; _border-left: 4px solid pink; _border-bottom: 4px solid pink; _border-right: 4px solid pink;_filter: chroma(color=pink); } -..gheadwkend { BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid; WIDTH: 24px; HEIGHT: 20px; background-color: #cfcfcf } +.gmdtop { _border-left: 5px solid pink; _border-top: 5px solid pink; _border-right: 5px solid pink; _filter: chroma(color=pink);} +.gmdbottom { _border-left: 5px solid pink; _border-bottom: 5px solid pink; _border-right: 5px solid pink; _filter: chroma(color=pink);} -..gfiller { BORDER-TOP: #efefef 1px solid; BORDER-LEFT: #efefef 1px solid; WIDTH: 18px; HEIGHT: 18px } +.gDepFSArw, +.gDepSSArw { _border-bottom: 4px solid pink; _border-top: 4px solid pink; _border-right: 4px solid pink; _filter: chroma(color=pink);} +.gDepFFArw, +.gDepSFArw { _border-bottom: 4px solid pink; _border-left: 4px solid pink; _border-top: 4px solid pink; _filter: chroma(color=pink);} -..gfillerwkend { BORDER-LEFT: #efefef 1px solid; WIDTH: 18px; HEIGHT: 18px; BACKGROUND-COLOR: #cfcfcf } - -..gitem { BORDER-TOP: #cccccc 1px solid; WIDTH: 18px; HEIGHT: 18px } - -..gitemwkend { BORDER-TOP: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; WIDTH: 18px; HEIGHT: 18px } - -..gmilestone { BORDER-TOP: #efefef 1px solid; FONT-SIZE: 14px; OVERFLOW: hidden; BORDER-LEFT: #efefef 1px solid; WIDTH: 18px; HEIGHT: 18px} - -..gmilestonewkend { BORDER-TOP: #efefef 1px solid; BORDER-LEFT: #cccccc 1px solid; WIDTH: 18px; HEIGHT: 18px} - -..btn { BORDER-RIGHT: #ffffff; BORDER-TOP: #ffffff; FONT-WEIGHT: bold; FONT-SIZE: 10px; BORDER-LEFT: #ffffff; WIDTH: 12px; COLOR: #cccccc; BORDER-BOTTOM: #ffffff; BACKGROUND-COLOR: #ffffff } - -..hrcomplete { BORDER-RIGHT: #000000 2px solid; PADDING-RIGHT: 0px; BORDER-TOP: #000000 2px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: #000000 2px solid; WIDTH: 20px; COLOR: #000000; PADDING-TOP: 0px; BORDER-BOTTOM: #000000 2px solid; HEIGHT: 4px } - -..hrhalfcomplete { BORDER-RIGHT: #000000 2px solid; BORDER-TOP: #000000 2px solid; BORDER-LEFT: #000000 2px solid; WIDTH: 9px; COLOR: #000000; BORDER-BOTTOM: #000000 2px solid; HEIGHT: 4px } - -..gweekend { font-family:tahoma, arial, verdana; font-size:11px; background-color:#EEEEEE; text-align:center; } - -..gtask { font-family:tahoma, arial, verdana; font-size:11px; background-color:#00FF00; text-align:center; } - -..gday { font-family:tahoma, arial, verdana; font-size:11px; text-align:center; } - -..gcomplete { background-color:black; height:5px; overflow: auto; margin-top:4px; } - -DIV.scroll { BORDER-RIGHT: #efefef 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #efefef 1px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; OVERFLOW: hidden; BORDER-LEFT: #efefef 1px solid; WIDTH: 420px; PADDING-TOP: 0px; BORDER-BOTTOM: #efefef 1px solid; BACKGROUND-COLOR: #ffffff } - -DIV.scroll2 { position:relative; PADDING-RIGHT: 0px; overflow:auto ;overflow-x:scroll;overflow-y:hidden; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: 482px; PADDING-TOP: 0px; BACKGROUND-COLOR: #ffffff } +/* Workaround for odd bug in old versions of Opera - no other browser needs this */ +.glinediv {position: absolute; top: 0px; left: 0px;} +/* if using setUseSingleCell(1) the following is a suggested set of CSS3 styles to recreate the table grid - won't work on old browsers +.ggrouphour td, +.gmilehour td, +.gitemhour td { background-size: 19px 1px; background-image: linear-gradient(to left, #efefef, transparent 1px, transparent 18px); width: 100%; height: 19px; } +.ggroupday td, +.gmileday td, +.gitemday td { background-size: 19px 1px, 133px 1px; background-image: linear-gradient(to left, #efefef, transparent 1px, transparent 18px), linear-gradient(to left, #f7f7f7 39px, transparent 1px, transparent 92px); width: 100%; height: 19px; } +.ggroupweek td, +.gmileweek td, +.gitemweek td { background-size: 37px 1px; background-image: linear-gradient(to left, #efefef, transparent 1px, transparent 36px); width: 100%; height: 19px; } +.ggroupmonth td, +.gmilemonth td, +.gitemmonth td { background-size: 37px 1px; background-image: linear-gradient(to left, #efefef, transparent 1px, transparent 36px); width: 100%; height: 19px; } +.ggroupquarter td, +.gmilequarter td, +.gitemquarter td { background-size: 19px 1px; background-image: linear-gradient(to left, #efefef, transparent 1px, transparent 18px); width: 100%; height: 19px; } +*/ diff --git a/htdocs/includes/jsgantt/jsgantt.js b/htdocs/includes/jsgantt/jsgantt.js index 2447a068bf7..3360d832ec6 100644 --- a/htdocs/includes/jsgantt/jsgantt.js +++ b/htdocs/includes/jsgantt/jsgantt.js @@ -1,2315 +1,2575 @@ /* -Copyright (c) 2009, Shlomy Gantz BlueBrick Inc. All rights reserved. -* -* Redistribution and use in source and binary forms, with or without -* modification, are permitted provided that the following conditions are met: -* * Redistributions of source code must retain the above copyright -* notice, this list of conditions and the following disclaimer. -* * Redistributions in binary form must reproduce the above copyright -* notice, this list of conditions and the following disclaimer in the -* documentation and/or other materials provided with the distribution. -* * Neither the name of Shlomy Gantz or BlueBrick Inc. nor the -* names of its contributors may be used to endorse or promote products -* derived from this software without specific prior written permission. -* -* THIS SOFTWARE IS PROVIDED BY SHLOMY GANTZ/BLUEBRICK INC. ''AS IS'' AND ANY -* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -* DISCLAIMED. IN NO EVENT SHALL SHLOMY GANTZ/BLUEBRICK INC. BE LIABLE FOR ANY -* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -* -* -* LDR Modified to replace hard coded values by i18[key] -*/ + _ ___ _____ _ _____ ____ ____ + (_) / _ \ \_ \ / ||___ | ___| |___ \ + | |/ /_\/ / /\/ | | / /|___ \ __) | + | / /_\\/\/ /_ | |_ / /_ ___) | / __/ + _/ \____/\____/ |_(_)_/(_)____(_)_____| + |__/ + jsGanttImproved 1.7.5.2 + Copyright (c) 2013-2016, Paul Geldart All rights reserved. -/** -* JSGantt component is a UI control that displays gantt charts based by using CSS and HTML -* @module jsgantt -* @title JSGantt -*/ + The current version of this code can be found at https://code.google.com/p/jsgantt-improved/ -var JSGantt; if (!JSGantt) JSGantt = {}; + * Copyright (c) 2013-2016, Paul Geldart. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Paul Geldart nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY PAUL GELDART. ''AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL PAUL GELDART BE LIABLE FOR ANY DIRECT, + * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -var vTimeout = 0; -var vBenchTime = new Date().getTime(); + This project is based on jsGantt 1.2, (which can be obtained from + https://code.google.com/p/jsgantt/) and remains under the original BSD license. + The original project license follows: -/** -* Creates a task (one row) in gantt object -* @class TaskItem -* @namespace JSGantt -* @constructor -* @for JSGantt + Copyright (c) 2009, Shlomy Gantz BlueBrick Inc. All rights reserved. -* @param pID {Number} Task unique numeric ID -* @param pName {String} Task Name -* @param pStart {Date} Task start date/time (not required for pGroup=1 ) -* @param pEnd {Date} Task end date/time, you can set the end time to 12:00 to indicate half-day (not required for pGroup=1 ) -* @param pColor {String} Task bar RGB value -* @param pLink {String} Task URL, clicking on the task will redirect to this url. Leave empty if you do not with the Task also serve as a link -* @param pMile {Boolean} Determines whether task is a milestone (1=Yes,0=No) -* @param pRes {String} Resource to perform the task -* @param pComp {Number} Percent complete (Number between 0 and 100) -* @param pGroup {Boolean} -* @param pParent {Number} ID of the parent task -* @param pOpen {Boolean} -* @param pDepend {String} Comma seperated list of IDs this task depends on -* @param pCaption {String} Caption to be used instead of default caption (Resource). -* note : you should use setCaption("Caption") in order to display the caption -* @return void -*/ -JSGantt.TaskItem = function(pID, pName, pStart, pEnd, pColor, pLink, pMile, pRes, pComp, pGroup, pParent, pOpen, pDepend, pCaption) + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Shlomy Gantz or BlueBrick Inc. nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY SHLOMY GANTZ/BLUEBRICK INC. ''AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL SHLOMY GANTZ/BLUEBRICK INC. BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +var JSGantt; if (!JSGantt) JSGantt={}; + +var vBenchTime=new Date().getTime(); + +JSGantt.isIE=function () { - -/** -* The name of the attribute. -* @property vID -* @type String -* @default pID -* @private -*/ -var vID = pID; - -/** -* @property vName -* @type String -* @default pName -* @private -*/ -var vName = pName; - -/** -* @property vStart -* @type Datetime -* @default new Date() -* @private -*/ -var vStart = new Date(); - -/** -* @property vEnd -* @type Datetime -* @default new Date() -* @private -*/ -var vEnd = new Date(); - -/** -* @property vColor -* @type String -* @default pColor -* @private -*/ -var vColor = pColor; - -/** -* @property vLink -* @type String -* @default pLink -* @private -*/ -var vLink = pLink; - -/** -* @property vMile -* @type Boolean -* @default pMile -* @private -*/ -var vMile = pMile; - -/** -* @property vRes -* @type String -* @default pRes -* @private -*/ -var vRes = pRes; - -/** -* @property vComp -* @type Number -* @default pComp -* @private -*/ -var vComp = pComp; - -/** -* @property vGroup -* @type Boolean -* @default pGroup -* @private -*/ -var vGroup = pGroup; - -/** -* @property vParent -* @type Number -* @default pParent -* @private -*/ -var vParent = pParent; - -/** -* @property vOpen -* @type Boolean -* @default pOpen -* @private -*/ -var vOpen = pOpen; - -/** -* @property vDepend -* @type String -* @default pDepend -* @private -*/ -var vDepend = pDepend; - -/** -* @property vCaption -* @type String -* @default pCaption -* @private -*/ -var vCaption = pCaption; - -/** -* @property vDuration -* @type Number -* @default '' -* @private -*/ -var vDuration = ''; - -/** -* @property vLevel -* @type Number -* @default 0 -* @private -*/ -var vLevel = 0; - -/** -* @property vNumKid -* @type Number -* @default 0 -* @private -*/ -var vNumKid = 0; - -/** -* @property vVisible -* @type Boolean -* @default 0 -* @private -*/ -var vVisible = 1; - var x1, y1, x2, y2; - - - if (vGroup != 1) - { - vStart = JSGantt.parseDateStr(pStart,g.getDateInputFormat()); - vEnd = JSGantt.parseDateStr(pEnd,g.getDateInputFormat()); - } -/** -* Returns task ID -* @method getID -* @return {Number} -*/ - this.getID = function(){ return vID }; -/** -* Returns task name -* @method getName -* @return {String} -*/ - this.getName = function(){ return vName }; -/** -* Returns task start date -* @method getStart -* @return {Datetime} -*/ - this.getStart = function(){ return vStart}; -/** -* Returns task end date -* @method getEnd -* @return {Datetime} -*/ this.getEnd = function(){ return vEnd }; - -/** -* Returns task bar color (i.e. 00FF00) -* @method getColor -* @return {String} -*/ this.getColor = function(){ return vColor}; - -/** -* Returns task URL (i.e. http://www.jsgantt.com) -* @method getLink -* @return {String} -*/ this.getLink = function(){ return vLink }; - -/** -* Returns whether task is a milestone (1=Yes,0=No) -* @method getMile -* @return {Boolean} -*/ this.getMile = function(){ return vMile }; - -/** -* Returns task dependencies as list of values (i.e. 123,122) -* @method getDepend -* @return {String} -*/ this.getDepend = function(){ if(vDepend) return vDepend; else return null }; - -/** -* Returns task caption (if it exists) -* @method getCaption -* @return {String} -*/ this.getCaption = function(){ if(vCaption) return vCaption; else return ''; }; - -/** -* Returns task resource name as string -* @method getResource -* @return {String} -*/ this.getResource = function(){ if(vRes) return vRes; else return ' '; }; - -/** -* Returns task completion percent as numeric value -* @method getCompVal -* @return {Boolean} -*/ this.getCompVal = function(){ if(vComp) return vComp; else return 0; }; - -/** -* Returns task completion percent as formatted string (##%) -* @method getCompStr -* @return {String} -*/ this.getCompStr = function(){ if(vComp) return vComp+'%'; else return ''; }; - -/** -* Returns task duration as a fortmatted string based on the current selected format -* @method getDuration -* @param vFormat {String} selected format (minute,hour,day,week,month) -* @return {String} -*/ this.getDuration = function(vFormat){ - if (vMile) - vDuration = '-'; - else if (vFormat=='hour') - { - tmpPer = Math.ceil((this.getEnd() - this.getStart()) / ( 60 * 60 * 1000) ); - if(tmpPer == 1) - vDuration = '1 '+i18n["sHour"]; - else - vDuration = tmpPer + ' '+i18n["sHours"]; - } - - else if (vFormat=='minute') - { - tmpPer = Math.ceil((this.getEnd() - this.getStart()) / ( 60 * 1000) ); - if(tmpPer == 1) - vDuration = '1 '+i18n["sMinute"]; - else - vDuration = tmpPer + ' '+i18n["sMinutes"]; - } - - else { //if(vFormat == 'day') { - tmpPer = Math.ceil((this.getEnd() - this.getStart()) / (24 * 60 * 60 * 1000) + 1); - if(tmpPer == 1) vDuration = '1 '+i18n["sDay"]; - else vDuration = tmpPer + ' '+i18n["sDays"]; - } - - //else if(vFormat == 'week') { - // tmpPer = ((this.getEnd() - this.getStart()) / (24 * 60 * 60 * 1000) + 1)/7; - // if(tmpPer == 1) vDuration = '1 Week'; - // else vDuration = tmpPer + ' Weeks'; - //} - - //else if(vFormat == 'month') { - // tmpPer = ((this.getEnd() - this.getStart()) / (24 * 60 * 60 * 1000) + 1)/30; - // if(tmpPer == 1) vDuration = '1 Month'; - // else vDuration = tmpPer + ' Months'; - //} - - //else if(vFormat == 'quater') { - // tmpPer = ((this.getEnd() - this.getStart()) / (24 * 60 * 60 * 1000) + 1)/120; - // if(tmpPer == 1) vDuration = '1 Qtr'; - // else vDuration = tmpPer + ' Qtrs'; - //} - return( vDuration ) - }; - -/** -* Returns task parent ID -* @method getParent -* @return {Number} -*/ this.getParent = function(){ return vParent }; - -/** -* Returns whether task is a group (1=Yes,0=No) -* @method getGroup -* @return {Number} -*/ this.getGroup = function(){ return vGroup }; - -/** -* Returns whether task is open (1=Yes,0=No) -* @method getOpen -* @return {Boolean} -*/ this.getOpen = function(){ return vOpen }; - -/** -* Returns task tree level (0,1,2,3...) -* @method getLevel -* @return {Boolean} -*/ this.getLevel = function(){ return vLevel }; - -/** -* Returns the number of child tasks -* @method getNumKids -* @return {Number} -*/ this.getNumKids = function(){ return vNumKid }; - /** -* Returns the X position of the left side of the task bar on the graph (right side) -* @method getStartX -* @return {Number} -*/ this.getStartX = function(){ return x1 }; - -/** -* Returns the Y position of the top of the task bar on the graph (right side) -* @method getStartY -* @return {Number} -*/ this.getStartY = function(){ return y1 }; - -/** -* Returns the X position of the right of the task bar on the graph (right side) -* @method getEndX -* @return {Int} -*/ this.getEndX = function(){ return x2 }; - -/** -* Returns the Y position of the bottom of the task bar on the graph (right side) -* @method getEndY -* @return {Number} -*/ this.getEndY = function(){ return y2 }; - -/** -* Returns whether task is visible (1=Yes,0=No) -* @method getVisible -* @return {Boolean} -*/ this.getVisible = function(){ return vVisible }; - -/** -* Set task dependencies -* @method setDepend -* @param pDepend {String} A comma delimited list of task IDs the current task depends on. -* @return {void} -*/ this.setDepend = function(pDepend){ vDepend = pDepend;}; - -/** -* Set task start date/time -* @method setStart -* @param pStart {Datetime} -* @return {void} -*/ this.setStart = function(pStart){ vStart = pStart;}; - -/** -* Set task end date/time -* @method setEnd -* @param pEnd {Datetime} -* @return {void} -*/ this.setEnd = function(pEnd) { vEnd = pEnd; }; - -/** -* Set task tree level (0,1,2,3...) -* @method setLevel -* @param pLevel {Number} -* @return {void} -*/ this.setLevel = function(pLevel){ vLevel = pLevel;}; - -/** -* Set Number of children for the task -* @method setNumKid -* @param pNumKid {Number} -* @return {void} -*/ this.setNumKid = function(pNumKid){ vNumKid = pNumKid;}; - -/** -* Set task completion percentage -* @method setCompVal -* @param pCompVal {Number} -* @return {void} -*/ this.setCompVal = function(pCompVal){ vComp = pCompVal;}; - -/** -* Set a task bar starting position (left) -* @method setStartX -* @param pX {Number} -* @return {void} -*/ this.setStartX = function(pX) {x1 = pX; }; - -/** -* Set a task bar starting position (top) -* @method setStartY -* @param pY {Number} -* @return {String} -*/ this.setStartY = function(pY) {y1 = pY; }; - -/** -* Set a task bar starting position (right) -* @method setEndX -* @param pX {Number} -* @return {String} -*/ this.setEndX = function(pX) {x2 = pX; }; - -/** -* Set a task bar starting position (bottom) -* @method setEndY -* @param pY {Number} -* @return {String} -*/ this.setEndY = function(pY) {y2 = pY; }; - -/** -* Set task open/closed -* @method setOpen -* @param pOpen {Boolean} -* @return {void} -*/ this.setOpen = function(pOpen) {vOpen = pOpen; }; - -/** -* Set task visibility -* @method setVisible -* @param pVisible {Boolean} -* @return {void} -*/ this.setVisible = function(pVisible) {vVisible = pVisible; }; - + if(typeof document.all!='undefined') + { + if ('pageXOffset' in window) return false; // give IE9 and above the benefit of the doubt! + else return true; + } + else return false; }; - - -/** -* Creates the gant chart. for example: -

var g = new JSGantt.GanttChart('g',document.getElementById('GanttChartDIV'), 'day');

- -var g = new JSGantt.GanttChart( - assign the gantt chart to a javascript variable called 'g' -'g' - the name of the variable that was just assigned (will be used later so that gantt object can reference itself) -document.getElementById('GanttChartDIV') - reference to the DIV that will hold the gantt chart -'day' - default format will be by day - -* -* @class GanttChart -* @param pGanttVar {String} the name of the gantt chart variable -* @param pDiv {String} reference to the DIV that will hold the gantt chart -* @param pFormat {String} default format (minute,hour,day,week,month,quarter) -* @return void -*/ - -JSGantt.GanttChart = function(pGanttVar, pDiv, pFormat) +JSGantt.TaskItem=function(pID, pName, pStart, pEnd, pClass, pLink, pMile, pRes, pComp, pGroup, pParent, pOpen, pDepend, pCaption, pNotes, pGantt) { -/** -* The name of the gantt chart variable -* @property vGanttVar -* @type String -* @default pGanttVar -* @private -*/ var vGanttVar = pGanttVar; -/** -* The name of the gantt chart DIV -* @property vDiv -* @type String -* @default pDiv -* @private -*/ var vDiv = pDiv; -/** -* Selected format (minute,hour,day,week,month) -* @property vFormat -* @type String -* @default pFormat -* @private -*/ var vFormat = pFormat; -/** -* Show resource column -* @property vShowRes -* @type Number -* @default 1 -* @private -*/ var vShowRes = 1; -/** -* Show duration column -* @property vShowDur -* @type Number -* @default 1 -* @private -*/ var vShowDur = 1; -/** -* Show percent complete column -* @property vShowComp -* @type Number -* @default 1 -* @private -*/ var vShowComp = 1; -/** -* Show start date column -* @property vShowStartDate -* @type Number -* @default 1 -* @private -*/ var vShowStartDate = 1; -/** -* Show end date column -* @property vShowEndDate -* @type Number -* @default 1 -* @private -*/ var vShowEndDate = 1; -/** -* Date input format -* @property vDateInputFormat -* @type String -* @default "mm/dd/yyyy" -* @private -*/var vDateInputFormat = "mm/dd/yyyy"; -/** -* Date display format -* @property vDateDisplayFormat -* @type String -* @default "mm/dd/yy" -* @private -*/var vDateDisplayFormat = "mm/dd/yy"; - var vNumUnits = 0; - var vCaptionType; - var vDepId = 1; - var vTaskList = new Array(); - var vFormatArr = new Array("day","week","month","quarter"); - var vQuarterArr = new Array(1,1,1,2,2,2,3,3,3,4,4,4); - var vMonthDaysArr = new Array(31,28,31,30,31,30,31,31,30,31,30,31); - var vMonthArr = new Array(i18n["January"],i18n["February"],i18n["March"],i18n["April"],i18n["May"],i18n["June"],i18n["July"],i18n["August"],i18n["September"],i18n["October"],i18n["November"],i18n["December"]); + var vID=parseInt(document.createTextNode(pID).data); + var vName=document.createTextNode(pName).data; + var vStart=new Date(0); + var vEnd=new Date(0); + var vGroupMinStart=null; + var vGroupMinEnd=null; + var vClass=document.createTextNode(pClass).data; + var vLink=document.createTextNode(pLink).data; + var vMile=parseInt(document.createTextNode(pMile).data); + var vRes=document.createTextNode(pRes).data; + var vComp=parseFloat(document.createTextNode(pComp).data); + var vGroup=parseInt(document.createTextNode(pGroup).data); + var vParent=document.createTextNode(pParent).data; + var vOpen=(vGroup==2)?1:parseInt(document.createTextNode(pOpen).data); + var vDepend=new Array(); + var vDependType=new Array(); + var vCaption=document.createTextNode(pCaption).data; + var vDuration=''; + var vLevel=0; + var vNumKid=0; + var vVisible=1; + var vSortIdx=0; + var vToDelete=false; + var x1, y1, x2, y2; + var vNotes; + var vParItem=null; + var vCellDiv=null; + var vGantt=(pGantt instanceof JSGantt.GanttChart)? pGantt : g; //hack for backwards compatibility + var vBarDiv=null; + var vTaskDiv=null; + var vListChildRow=null; + var vChildRow=null; + var vGroupSpan=null; - -/** -* Set current display format (minute/hour/day/week/month/quarter) -* Only the first 4 arguments are used, for example: -* -* g.setFormatArr("day","week","month"); -* -* will show 3 formatting options (day/week/month) at the bottom right of the gantt chart -* @method setFormatArr -* @return {void} -*/ this.setFormatArr = function() { - vFormatArr = new Array(); - for(var i = 0; i < arguments.length; i++) {vFormatArr[i] = arguments[i];} - if(vFormatArr.length>4){vFormatArr.length=4;} - }; -/** -* Show/Hide resource column -* @param pShow {Number} 1=Show,0=Hide -* @method setShowRes -* @return {void} -*/ this.setShowRes = function(pShow) { vShowRes = pShow; }; -/** -* Show/Hide duration column -* @param pShow {Number} 1=Show,0=Hide -* @method setShowDur -* @return {void} -*/ this.setShowDur = function(pShow) { vShowDur = pShow; }; -/** -* Show/Hide completed column -* @param pShow {Number} 1=Show,0=Hide -* @method setShowComp -* @return {void} -*/ this.setShowComp = function(pShow) { vShowComp = pShow; }; -/** -* Show/Hide start date column -* @param pShow {Number} 1=Show,0=Hide -* @method setShowStartDate -* @return {void} -*/ this.setShowStartDate = function(pShow) { vShowStartDate = pShow; }; -/** -* Show/Hide end date column -* @param pShow {Number} 1=Show,0=Hide -* @method setShowEndDate -* @return {void} -*/ this.setShowEndDate = function(pShow) { vShowEndDate = pShow; }; -/** -* Overall date input format -* @param pShow {String} (mm/dd/yyyy,dd/mm/yyyy,yyyy-mm-dd) -* @method setDateInputFormat -* @return {void} -*/ this.setDateInputFormat = function(pShow) { vDateInputFormat = pShow; }; -/** -* Overall date display format -* @param pShow {String} (mm/dd/yyyy,dd/mm/yyyy,yyyy-mm-dd) -* @method setDateDisplayFormat -* @return {void} -*/ this.setDateDisplayFormat = function(pShow) { vDateDisplayFormat = pShow; }; -/** -* Set gantt caption -* @param pType {String} -

Caption-Displays a custom caption set in TaskItem
-Resource-Displays task resource
-Duration-Displays task duration
-Complete-Displays task percent complete

-* @method setCaptionType -* @return {void} -*/ this.setCaptionType = function(pType) { vCaptionType = pType }; -/** -* Set current display format and redraw gantt chart (minute/hour/day/week/month/quarter) -* @param pFormat {String} (mm/dd/yyyy,dd/mm/yyyy,yyyy-mm-dd) -* @method setFormat -* @return {void} -*/ this.setFormat = function(pFormat){ - vFormat = pFormat; - this.Draw(); - }; -/** -* Returns whether resource column is shown -* @method getShowRes -* @return {Number} -*/ this.getShowRes = function(){ return vShowRes }; -/** -* Returns whether duration column is shown -* @method getShowDur -* @return {Number} -*/ this.getShowDur = function(){ return vShowDur }; -/** -* Returns whether percent complete column is shown -* @method getShowComp -* @return {Number} -*/ this.getShowComp = function(){ return vShowComp }; -/** -* Returns whether start date column is shown -* @method getShowStartDate -* @return {Number} -*/ this.getShowStartDate = function(){ return vShowStartDate }; -/** -* Returns whether end date column is shown -* @method getShowEndDate -* @return {Number} -*/ this.getShowEndDate = function(){ return vShowEndDate }; -/** -* Returns date input format -* @method getDateInputFormat -* @return {String} -*/ this.getDateInputFormat = function() { return vDateInputFormat }; -/** -* Returns current display format -* @method getDateDisplayFormat -* @return {String} -*/ this.getDateDisplayFormat = function() { return vDateDisplayFormat }; -/** -* Returns current gantt caption type -* @method getCaptionType -* @return {String} -*/ this.getCaptionType = function() { return vCaptionType }; -/** -* Calculates X/Y coordinates of a task and sets the Start and End properties of the TaskItem -* @method CalcTaskXY -* @return {Void} -*/ this.CalcTaskXY = function () - { - var vList = this.getList(); - var vTaskDiv; - var vParDiv; - var vLeft, vTop, vHeight, vWidth; + vNotes=document.createElement('span'); + vNotes.className='gTaskNotes'; + if (pNotes!=null) + { + vNotes.innerHTML=pNotes; + JSGantt.stripUnwanted(vNotes); + } - for(i = 0; i < vList.length; i++) - { - vID = vList[i].getID(); - vTaskDiv = document.getElementById("taskbar_"+vID); - vBarDiv = document.getElementById("bardiv_"+vID); - vParDiv = document.getElementById("childgrid_"+vID); + if (pStart!=null && pStart!='') + { + vStart=(pStart instanceof Date)?pStart:JSGantt.parseDateStr(document.createTextNode(pStart).data,vGantt.getDateInputFormat()); + vGroupMinStart=vStart; + } - if(vBarDiv) { - vList[i].setStartX( vBarDiv.offsetLeft ); - vList[i].setStartY( vParDiv.offsetTop+vBarDiv.offsetTop+6 ); - vList[i].setEndX( vBarDiv.offsetLeft + vBarDiv.offsetWidth ); - vList[i].setEndY( vParDiv.offsetTop+vBarDiv.offsetTop+6 ); - }; - }; - }; + if (pEnd!=null && pEnd!='') + { + vEnd =(pEnd instanceof Date)?pEnd:JSGantt.parseDateStr(document.createTextNode(pEnd).data,vGantt.getDateInputFormat()); + vGroupMinEnd=vEnd; + } -/** -* Adds a TaskItem to the Gantt object task list array -* @method AddTaskItem -* @return {Void} -*/ this.AddTaskItem = function(value) - { - vTaskList.push(value); - }; -/** -* Returns task list Array -* @method getList -* @return {Array} -*/ this.getList = function() { return vTaskList }; + if (pDepend!=null) + { + var vDependStr=pDepend+''; + var vDepList=vDependStr.split(','); + var n=vDepList.length; -/** -* Clears dependency lines between tasks -* @method clearDependencies -* @return {Void} -*/ this.clearDependencies = function() - { - var parent = document.getElementById('rightside'); - var depLine; - var vMaxId = vDepId; - for ( i=1; i task 2 start) -* @method drawDependency -* @return {Void} -*/ this.drawDependency =function(x1,y1,x2,y2) - { - if(x1 + 10 < x2) - { - this.sLine(x1,y1,x1+4,y1); - this.sLine(x1+4,y1,x1+4,y2); - this.sLine(x1+4,y2,x2,y2); - this.dLine(x2,y2,x2-3,y2-3); - this.dLine(x2,y2,x2-3,y2+3); - this.dLine(x2-1,y2,x2-3,y2-2); - this.dLine(x2-1,y2,x2-3,y2+2); - } - else - { - this.sLine(x1,y1,x1+4,y1); - this.sLine(x1+4,y1,x1+4,y2-10); - this.sLine(x1+4,y2-10,x2-8,y2-10); - this.sLine(x2-8,y2-10,x2-8,y2); - this.sLine(x2-8,y2,x2,y2); - this.dLine(x2,y2,x2-3,y2-3); - this.dLine(x2,y2,x2-3,y2+3); - this.dLine(x2-1,y2,x2-3,y2-2); - this.dLine(x2-1,y2,x2-3,y2+2); - } - }; - -/** -* Draw all task dependencies -* @method DrawDependencies -* @return {Void} -*/ this.DrawDependencies = function () { - - //First recalculate the x,y - this.CalcTaskXY(); - - this.clearDependencies(); - - var vList = this.getList(); - for(var i = 0; i < vList.length; i++) - { - - vDepend = vList[i].getDepend(); - if(vDepend) { - - var vDependStr = vDepend + ''; - var vDepList = vDependStr.split(','); - var n = vDepList.length; - - for(var k=0;k 0) - { - - // Process all tasks preset parent date and completion % - JSGantt.processRows(vTaskList, 0, -1, 1, 1); - - // get overall min/max dates plus padding - vMinDate = JSGantt.getMinDate(vTaskList, vFormat); - vMaxDate = JSGantt.getMaxDate(vTaskList, vFormat); - - // Calculate chart width variables. vColWidth can be altered manually to change each column width - // May be smart to make this a parameter of GanttChart or set it based on existing pWidth parameter - if(vFormat == 'day') { - vColWidth = 18; - vColUnit = 1; - } - else if(vFormat == 'week') { - vColWidth = 37; - vColUnit = 7; - } - else if(vFormat == 'month') { - vColWidth = 37; - vColUnit = 30; - } - else if(vFormat == 'quarter') { - vColWidth = 60; - vColUnit = 90; - } - - else if(vFormat=='hour') - { - vColWidth = 18; - vColUnit = 1; - } - - else if(vFormat=='minute') - { - vColWidth = 18; - vColUnit = 1; - } - - vNumDays = (Date.parse(vMaxDate) - Date.parse(vMinDate)) / ( 24 * 60 * 60 * 1000); - vNumUnits = vNumDays / vColUnit; - - - vChartWidth = vNumUnits * vColWidth + 1; - vDayWidth = (vColWidth / vColUnit) + (1/vColUnit); - - vMainTable = - '' + - ''; + this.getParent=function(){return vParent;}; + this.getGroup=function(){return vGroup;}; + this.getOpen=function(){return vOpen;}; + this.getLevel=function(){return vLevel;}; + this.getNumKids=function(){return vNumKid;}; + this.getStartX=function(){return x1;}; + this.getStartY=function(){return y1;}; + this.getEndX=function(){return x2;}; + this.getEndY=function(){return y2;}; + this.getVisible=function(){return vVisible;}; + this.getParItem=function(){return vParItem;}; + this.getCellDiv=function(){return vCellDiv;}; + this.getBarDiv=function(){return vBarDiv;}; + this.getTaskDiv=function(){return vTaskDiv;}; + this.getChildRow=function(){return vChildRow;}; + this.getListChildRow=function(){return vListChildRow;}; + this.getGroupSpan=function(){return vGroupSpan;}; + this.setStart=function(pStart){if(pStart instanceof Date)vStart=pStart;}; + this.setEnd=function(pEnd){if(pEnd instanceof Date)vEnd=pEnd;}; + this.setGroupMinStart=function(pStart){if(pStart instanceof Date)vGroupMinStart=pStart;}; + this.setGroupMinEnd=function(pEnd){if(pEnd instanceof Date)vGroupMinEnd=pEnd;}; + this.setLevel=function(pLevel){vLevel=parseInt(document.createTextNode(pLevel).data);}; + this.setNumKid=function(pNumKid){vNumKid=parseInt(document.createTextNode(pNumKid).data);}; + this.setCompVal=function(pCompVal){vComp=parseFloat(document.createTextNode(pCompVal).data);}; + this.setStartX=function(pX){x1=parseInt(document.createTextNode(pX).data);}; + this.setStartY=function(pY){y1=parseInt(document.createTextNode(pY).data);}; + this.setEndX=function(pX){x2=parseInt(document.createTextNode(pX).data);}; + this.setEndY=function(pY){y2=parseInt(document.createTextNode(pY).data);}; + this.setOpen=function(pOpen){vOpen=parseInt(document.createTextNode(pOpen).data);}; + this.setVisible=function(pVisible){vVisible=parseInt(document.createTextNode(pVisible).data);}; + this.setSortIdx=function(pSortIdx){vSortIdx=parseInt(document.createTextNode(pSortIdx).data);}; + this.setToDelete=function(pToDelete){if (pToDelete) vToDelete=true; else vToDelete=false;}; + this.setParItem=function(pParItem){if(pParItem instanceof JSGantt.TaskItem) vParItem=pParItem;}; + this.setCellDiv=function(pCellDiv){if(typeof HTMLDivElement !== 'function' || pCellDiv instanceof HTMLDivElement) vCellDiv=pCellDiv;}; //"typeof HTMLDivElement !== 'function'" to play nice with ie6 and 7 + this.setGroup=function(pGroup){vGroup=parseInt(document.createTextNode(pGroup).data);}; + this.setBarDiv=function(pDiv){if(typeof HTMLDivElement !== 'function' || pDiv instanceof HTMLDivElement)vBarDiv=pDiv;}; + this.setTaskDiv=function(pDiv){if(typeof HTMLDivElement !== 'function' || pDiv instanceof HTMLDivElement)vTaskDiv=pDiv;}; + this.setChildRow=function(pRow){if(typeof HTMLTableRowElement !== 'function' || pRow instanceof HTMLTableRowElement)vChildRow=pRow;}; + this.setListChildRow=function(pRow){if(typeof HTMLTableRowElement !== 'function' || pRow instanceof HTMLTableRowElement)vListChildRow=pRow;}; + this.setGroupSpan=function(pSpan){if(typeof HTMLSpanElement !== 'function' || pSpan instanceof HTMLSpanElement)vGroupSpan=pSpan;}; +}; - vMainTable += vLeftTable; +// function that loads the main gantt chart properties and functions +// pDiv: (required) this is a div object created in HTML +// pFormat: (required) - used to indicate whether chart should be drawn in "hour", "day", "week", "month", or "quarter" format +JSGantt.GanttChart=function(pDiv, pFormat) +{ + var vDiv=pDiv; + var vFormat=pFormat; + var vDivId=null; + var vUseFade=1; + var vUseMove=1; + var vUseRowHlt=1; + var vUseToolTip=1; + var vUseSort=1; + var vUseSingleCell=25000; + var vShowRes=1; + var vShowDur=1; + var vShowComp=1; + var vShowStartDate=1; + var vShowEndDate=1; + var vShowEndWeekDate=1; + var vShowTaskInfoRes=1; + var vShowTaskInfoDur=1; + var vShowTaskInfoComp=1; + var vShowTaskInfoStartDate=1; + var vShowTaskInfoEndDate=1; + var vShowTaskInfoNotes=1; + var vShowTaskInfoLink=1; + var vShowDeps=1; + var vShowSelector=new Array('top'); + var vDateInputFormat='yyyy-mm-dd'; + var vDateTaskTableDisplayFormat=JSGantt.parseDateFormatStr('dd/mm/yyyy'); + var vDateTaskDisplayFormat=JSGantt.parseDateFormatStr('dd month yyyy'); + var vHourMajorDateDisplayFormat=JSGantt.parseDateFormatStr('day dd month yyyy'); + var vHourMinorDateDisplayFormat=JSGantt.parseDateFormatStr('HH'); + var vDayMajorDateDisplayFormat=JSGantt.parseDateFormatStr('dd/mm/yyyy'); + var vDayMinorDateDisplayFormat=JSGantt.parseDateFormatStr('dd'); + var vWeekMajorDateDisplayFormat=JSGantt.parseDateFormatStr('yyyy'); + var vWeekMinorDateDisplayFormat=JSGantt.parseDateFormatStr('dd/mm'); + var vMonthMajorDateDisplayFormat=JSGantt.parseDateFormatStr('yyyy'); + var vMonthMinorDateDisplayFormat=JSGantt.parseDateFormatStr('mon'); + var vQuarterMajorDateDisplayFormat=JSGantt.parseDateFormatStr('yyyy'); + var vQuarterMinorDateDisplayFormat=JSGantt.parseDateFormatStr('qq'); + var vUseFullYear=JSGantt.parseDateFormatStr('dd/mm/yyyy'); + var vCaptionType; + var vDepId=1; + var vTaskList=new Array(); + var vFormatArr=new Array('hour','day','week','month','quarter'); + var vMonthDaysArr=new Array(31,28,31,30,31,30,31,31,30,31,30,31); + var vProcessNeeded=true; + var vMinGpLen=8; + var vScrollTo=''; + var vHourColWidth=18; + var vDayColWidth=18; + var vWeekColWidth=36; + var vMonthColWidth=36; + var vQuarterColWidth=18; + var vRowHeight=20; + var vTodayPx=-1; + /*var vLangs={'en': + {'format':'Format','hour':'Hour','day':'Day','week':'Week','month':'Month','quarter':'Quarter','hours':'Hours','days':'Days', + 'weeks':'Weeks','months':'Months','quarters':'Quarters','hr':'Hr','dy':'Day','wk':'Wk','mth':'Mth','qtr':'Qtr','hrs':'Hrs', + 'dys':'Days','wks':'Wks','mths':'Mths','qtrs':'Qtrs','resource':'Resource','duration':'Duration','comp':'% Comp.', + 'completion':'Completion','startdate':'Start Date','enddate':'End Date','moreinfo':'More Information','notes':'Notes', + 'january':'January','february':'February','march':'March','april':'April','maylong':'May','june':'June','july':'July', + 'august':'August','september':'September','october':'October','november':'November','december':'December','jan':'Jan', + 'feb':'Feb','mar':'Mar','apr':'Apr','may':'May','jun':'Jun','jul':'Jul','aug':'Aug','sep':'Sep','oct':'Oct','nov':'Nov', + 'dec':'Dec','sunday':'Sunday','monday':'Monday','tuesday':'Tuesday','wednesday':'Wednesday','thursday':'Thursday', + 'friday':'Friday','saturday':'Saturday','sun':'Sun','mon':'Mon','tue':'Tue','wed':'Wed','thu':'Thu','fri':'Fri','sat':'Sat'} + }; + var vLang='en';*/ + var vChartBody=null; + var vChartHead=null; + var vListBody=null; + var vChartTable=null; + var vLines=null; + var vTimer=20; + + this.setUseFade=function(pVal){vUseFade=pVal;}; + this.setUseMove=function(pVal){vUseMove=pVal;}; + this.setUseRowHlt=function(pVal){vUseRowHlt=pVal;}; + this.setUseToolTip=function(pVal){vUseToolTip=pVal;}; + this.setUseSort=function(pVal){vUseSort=pVal;}; + this.setUseSingleCell=function(pVal){vUseSingleCell=pVal*1;}; + this.setFormatArr=function() + { + var vValidFormats='hour day week month quarter'; + vFormatArr=new Array(); + for(var i=0, j=0; i1) + { + vFormatArr[j++]=arguments[i].toLowerCase(); + var vRegExp=new RegExp('(?:^|\s)'+arguments[i]+'(?!\S)', 'g'); + vValidFormats=vValidFormats.replace(vRegExp, ''); + } + } + }; + this.setShowRes=function(pVal){vShowRes=pVal;}; + this.setShowDur=function(pVal){vShowDur=pVal;}; + this.setShowComp=function(pVal){vShowComp=pVal;}; + this.setShowStartDate=function(pVal){vShowStartDate=pVal;}; + this.setShowEndDate=function(pVal){vShowEndDate=pVal;}; + this.setShowTaskInfoRes=function(pVal){vShowTaskInfoRes=pVal;}; + this.setShowTaskInfoDur=function(pVal){vShowTaskInfoDur=pVal;}; + this.setShowTaskInfoComp=function(pVal){vShowTaskInfoComp=pVal;}; + this.setShowTaskInfoStartDate=function(pVal){vShowTaskInfoStartDate=pVal;}; + this.setShowTaskInfoEndDate=function(pVal){vShowTaskInfoEndDate=pVal;}; + this.setShowTaskInfoNotes=function(pVal){vShowTaskInfoNotes=pVal;}; + this.setShowTaskInfoLink=function(pVal){vShowTaskInfoLink=pVal;}; + this.setShowEndWeekDate=function(pVal){vShowEndWeekDate=pVal;}; + this.setShowSelector=function() + { + var vValidSelectors='top bottom'; + vShowSelector=new Array(); + for(var i=0, j=0; i1) + { + vShowSelector[j++]=arguments[i].toLowerCase(); + var vRegExp=new RegExp('(?:^|\s)'+arguments[i]+'(?!\S)', 'g'); + vValidSelectors=vValidSelectors.replace(vRegExp, ''); + } + } + }; + this.setShowDeps=function(pVal){vShowDeps=pVal;}; + this.setDateInputFormat=function(pVal){vDateInputFormat=pVal;}; + this.setDateTaskTableDisplayFormat=function(pVal){vDateTaskTableDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; + this.setDateTaskDisplayFormat=function(pVal){vDateTaskDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; + this.setHourMajorDateDisplayFormat=function(pVal){vHourMajorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; + this.setHourMinorDateDisplayFormat=function(pVal){vHourMinorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; + this.setDayMajorDateDisplayFormat=function(pVal){vDayMajorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; + this.setDayMinorDateDisplayFormat=function(pVal){vDayMinorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; + this.setWeekMajorDateDisplayFormat=function(pVal){vWeekMajorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; + this.setWeekMinorDateDisplayFormat=function(pVal){vWeekMinorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; + this.setMonthMajorDateDisplayFormat=function(pVal){vMonthMajorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; + this.setMonthMinorDateDisplayFormat=function(pVal){vMonthMinorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; + this.setQuarterMajorDateDisplayFormat=function(pVal){vQuarterMajorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; + this.setQuarterMinorDateDisplayFormat=function(pVal){vQuarterMinorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; + this.setCaptionType=function(pType){vCaptionType=pType;}; + this.setFormat=function(pFormat) + { + vFormat=pFormat; + this.Draw(); + }; + this.setMinGpLen=function(pMinGpLen){vMinGpLen=pMinGpLen;}; + this.setScrollTo=function(pDate){vScrollTo=pDate;}; + this.setHourColWidth=function(pWidth){vHourColWidth=pWidth;}; + this.setDayColWidth=function(pWidth){vDayColWidth=pWidth;}; + this.setWeekColWidth=function(pWidth){vWeekColWidth=pWidth;}; + this.setMonthColWidth=function(pWidth){vMonthColWidth=pWidth;}; + this.setQuarterColWidth=function(pWidth){vQuarterColWidth=pWidth;}; + this.setRowHeight=function(pHeight){vRowHeight=pHeight;}; + this.setLang=function(pLang){if(vLangs[pLang])vLang=pLang;}; + this.setChartBody=function(pDiv){if(typeof HTMLDivElement !== 'function' || pDiv instanceof HTMLDivElement)vChartBody=pDiv;}; + this.setChartHead=function(pDiv){if(typeof HTMLDivElement !== 'function' || pDiv instanceof HTMLDivElement)vChartHead=pDiv;}; + this.setListBody=function(pDiv){if(typeof HTMLDivElement !== 'function' || pDiv instanceof HTMLDivElement)vListBody=pDiv;}; + this.setChartTable=function(pTable){if(typeof HTMLTableElement !== 'function' || pTable instanceof HTMLTableElement)vChartTable=pTable;}; + this.setLines=function(pDiv){if(typeof HTMLDivElement !== 'function' || pDiv instanceof HTMLDivElement)vLines=pDiv;}; + this.setTimer=function(pVal){vTimer=pVal*1;}; + this.addLang=function(pLang, pVals){ + if(!vLangs[pLang]) + { + vLangs[pLang]=new Object(); + for(var vKey in vLangs['en'])vLangs[pLang][vKey]=(pVals[vKey])?document.createTextNode(pVals[vKey]).data:vLangs['en'][vKey]; + } + }; + + this.getDivId=function(){return vDivId;}; + this.getUseFade=function(){return vUseFade;}; + this.getUseMove=function(){return vUseMove;}; + this.getUseRowHlt=function(){return vUseRowHlt;}; + this.getUseToolTip=function(){return vUseToolTip;}; + this.getUseSort=function(){return vUseSort;}; + this.getUseSingleCell=function(){return vUseSingleCell;}; + this.getFormatArr=function(){return vFormatArr;}; + this.getShowRes=function(){return vShowRes;}; + this.getShowDur=function(){return vShowDur;}; + this.getShowComp=function(){return vShowComp;}; + this.getShowStartDate=function(){return vShowStartDate;}; + this.getShowEndDate=function(){return vShowEndDate;}; + this.getShowTaskInfoRes=function(){return vShowTaskInfoRes;}; + this.getShowTaskInfoDur=function(){return vShowTaskInfoDur;}; + this.getShowTaskInfoComp=function(){return vShowTaskInfoComp;}; + this.getShowTaskInfoStartDate=function(){return vShowTaskInfoStartDate;}; + this.getShowTaskInfoEndDate=function(){return vShowTaskInfoEndDate;}; + this.getShowTaskInfoNotes=function(){return vShowTaskInfoNotes;}; + this.getShowTaskInfoLink=function(){return vShowTaskInfoLink;}; + this.getShowEndWeekDate=function(){return vShowEndWeekDate;}; + this.getShowSelector=function(){return vShowSelector;}; + this.getShowDeps=function(){return vShowDeps;}; + this.getDateInputFormat=function(){return vDateInputFormat;}; + this.getDateTaskTableDisplayFormat=function(){return vDateTaskTableDisplayFormat;}; + this.getDateTaskDisplayFormat=function(){return vDateTaskDisplayFormat;}; + this.getHourMajorDateDisplayFormat=function(){return vHourMajorDateDisplayFormat;}; + this.getHourMinorDateDisplayFormat=function(){return vHourMinorDateDisplayFormat;}; + this.getDayMajorDateDisplayFormat=function(){return vDayMajorDateDisplayFormat;}; + this.getDayMinorDateDisplayFormat=function(){return vDayMinorDateDisplayFormat;}; + this.getWeekMajorDateDisplayFormat=function(){return vWeekMajorDateDisplayFormat;}; + this.getWeekMinorDateDisplayFormat=function(){return vWeekMinorDateDisplayFormat;}; + this.getMonthMajorDateDisplayFormat=function(){return vMonthMajorDateDisplayFormat;}; + this.getMonthMinorDateDisplayFormat=function(){return vMonthMinorDateDisplayFormat;}; + this.getQuarterMajorDateDisplayFormat=function(){return vQuarterMajorDateDisplayFormat;}; + this.getQuarterMinorDateDisplayFormat=function(){return vQuarterMinorDateDisplayFormat;}; + this.getCaptionType=function(){return vCaptionType;}; + this.getMinGpLen=function(){return vMinGpLen;}; + this.getScrollTo=function(){return vScrollTo;}; + this.getHourColWidth=function(){return vHourColWidth;}; + this.getDayColWidth=function(){return vDayColWidth;}; + this.getWeekColWidth=function(){return vWeekColWidth;}; + this.getMonthColWidth=function(){return vMonthColWidth;}; + this.getQuarterColWidth=function(){return vQuarterColWidth;}; + this.getRowHeight=function(){return vRowHeight;}; + this.getChartBody=function(){return vChartBody;}; + this.getChartHead=function(){return vChartHead;}; + this.getListBody=function(){return vListBody;}; + this.getChartTable=function(){return vChartTable;}; + this.getLines=function(){return vLines;}; + this.getTimer=function(){return vTimer;}; + + this.CalcTaskXY=function() + { + var vID; + var vList=this.getList(); + var vBarDiv; + var vTaskDiv; + var vParDiv; + var vLeft, vTop, vWidth; + var vHeight=Math.floor((this.getRowHeight()/2)); + + for(var i=0; i=x2 && y1!=y2) vBend=true; + break; + } + + if (vBend) + { + this.sLine(x1,y1,x1+vShort,y1,pClass); + this.sLine(x1+vShort,y1,x1+vShort,y2-vRow,pClass); + this.sLine(x1+vShort,y2-vRow,x2-(vShort*2),y2-vRow,pClass); + this.sLine(x2-(vShort*2),y2-vRow,x2-(vShort*2),y2,pClass); + this.sLine(x2-(vShort*2),y2,x2-(1*vDir),y2,pClass); + } + else if (y1!=y2) + { + this.sLine(x1,y1,x1+vShort,y1,pClass); + this.sLine(x1+vShort,y1,x1+vShort,y2,pClass); + this.sLine(x1+vShort,y2,x2-(1*vDir),y2,pClass); + } + else this.sLine(x1,y1,x2-(1*vDir),y2,pClass); + + var vTmpDiv=this.sLine(x2,y2,x2-3-((vDir<0)?1:0),y2-3-((vDir<0)?1:0),pClass+"Arw"); + vTmpDiv.style.width='0px'; + vTmpDiv.style.height='0px'; + }; + + this.DrawDependencies=function() + { + if (this.getShowDeps()==1) + { + //First recalculate the x,y + this.CalcTaskXY(); + this.clearDependencies(); + + var vList=this.getList(); + for(var i=0; i0 && vList[i].getVisible()==1) + { + for(var k=0;k=0 && vList[vTask].getGroup()!=2) + { + if(vList[vTask].getVisible()==1) + { + if(vDependType[k]=='SS')this.drawDependency(vList[vTask].getStartX()-1,vList[vTask].getStartY(),vList[i].getStartX()-1,vList[i].getStartY(),'SS','gDepSS'); + else if(vDependType[k]=='FF')this.drawDependency(vList[vTask].getEndX(),vList[vTask].getEndY(),vList[i].getEndX(),vList[i].getEndY(),'FF','gDepFF'); + else if(vDependType[k]=='SF')this.drawDependency(vList[vTask].getStartX()-1,vList[vTask].getStartY(),vList[i].getEndX(),vList[i].getEndY(),'SF','gDepSF'); + else if(vDependType[k]=='FS')this.drawDependency(vList[vTask].getEndX(),vList[vTask].getEndY(),vList[i].getStartX()-1,vList[i].getStartY(),'FS','gDepFS'); + } + } + } + } + } + } + // draw the current date line + if (vTodayPx>=0) this.sLine(vTodayPx, 0, vTodayPx, this.getChartTable().offsetHeight-1, 'gCurDate'); + }; + + this.getArrayLocationByID=function(pId) + { + var vList=this.getList(); + for(var i=0; i0) + { + // Process all tasks, reset parent date and completion % if task list has altered + if (vProcessNeeded) JSGantt.processRows(vTaskList, 0, -1, 1, 1, this.getUseSort()); + vProcessNeeded=false; + + // get overall min/max dates plus padding + vMinDate=JSGantt.getMinDate(vTaskList, vFormat); + vMaxDate=JSGantt.getMaxDate(vTaskList, vFormat); + + // Calculate chart width variables. + if(vFormat=='day') vColWidth=vDayColWidth; + else if(vFormat=='week') vColWidth=vWeekColWidth; + else if(vFormat=='month') vColWidth=vMonthColWidth; + else if(vFormat=='quarter') vColWidth=vQuarterColWidth; + else if(vFormat=='hour') vColWidth=vHourColWidth; + + // DRAW the Left-side of the chart (names, resources, comp%) + var vLeftHeader=document.createDocumentFragment(); + + var vTmpDiv=this.newNode(vLeftHeader, 'div', vDivId+'glisthead', 'glistlbl gcontainercol'); + var vTmpTab=this.newNode(vTmpDiv, 'table', null, 'gtasktableh'); + var vTmpTBody=this.newNode(vTmpTab, 'tbody'); + var vTmpRow=this.newNode(vTmpTBody, 'tr'); + this.newNode(vTmpRow, 'td', null, 'gtasklist', '\u00A0'); + var vTmpCell=this.newNode(vTmpRow, 'td', null, 'gspanning gtaskname'); + vTmpCell.appendChild(this.drawSelector('top')); + if(vShowRes==1)this.newNode(vTmpRow, 'td', null, 'gspanning gresource', '\u00A0'); + if(vShowDur==1)this.newNode(vTmpRow, 'td', null, 'gspanning gduration', '\u00A0'); + if(vShowComp==1)this.newNode(vTmpRow, 'td', null, 'gspanning gpccomplete', '\u00A0'); + if(vShowStartDate==1)this.newNode(vTmpRow, 'td', null, 'gspanning gstartdate', '\u00A0'); + if(vShowEndDate==1)this.newNode(vTmpRow, 'td', null, 'gspanning genddate', '\u00A0'); + + vTmpRow=this.newNode(vTmpTBody, 'tr'); + this.newNode(vTmpRow, 'td', null, 'gtasklist', '\u00A0'); + this.newNode(vTmpRow, 'td', null, 'gtaskname', '\u00A0'); + if(vShowRes==1)this.newNode(vTmpRow, 'td', null, 'gtaskheading gresource', vLangs[vLang]['resource']); + if(vShowDur==1)this.newNode(vTmpRow, 'td', null, 'gtaskheading gduration', vLangs[vLang]['duration']); + if(vShowComp==1)this.newNode(vTmpRow, 'td', null, 'gtaskheading gpccomplete', vLangs[vLang]['comp']); + if(vShowStartDate==1)this.newNode(vTmpRow, 'td', null, 'gtaskheading gstartdate', vLangs[vLang]['startdate']); + if(vShowEndDate==1)this.newNode(vTmpRow, 'td', null, 'gtaskheading genddate', vLangs[vLang]['enddate']); + + vTmpDiv=this.newNode(vLeftHeader, 'div', null, 'glabelfooter'); + + var vLeftTable=document.createDocumentFragment(); + var vTmpDiv2=this.newNode(vLeftTable, 'div', vDivId+'glistbody', 'glistgrid gcontainercol'); + this.setListBody(vTmpDiv2); + vTmpTab=this.newNode(vTmpDiv2, 'table', null, 'gtasktable'); + vTmpTBody=this.newNode(vTmpTab, 'tbody'); + + for(i=0; i' + - '
' + - '
'; - - if(vShowRes !=1) vNameWidth+=vStatusWidth; - if(vShowDur !=1) vNameWidth+=vStatusWidth; - if(vShowComp!=1) vNameWidth+=vStatusWidth; - if(vShowStartDate!=1) vNameWidth+=vStatusWidth; - if(vShowEndDate!=1) vNameWidth+=vStatusWidth; - - // DRAW the Left-side of the chart (names, resources, comp%) - vLeftTable = - '
' + - '' + - ' ' + - ' '; - - if(vShowRes ==1) vLeftTable += ' ' ; - if(vShowDur ==1) vLeftTable += ' ' ; - if(vShowComp==1) vLeftTable += ' ' ; - if(vShowStartDate==1) vLeftTable += ' ' ; - if(vShowEndDate==1) vLeftTable += ' ' ; - - vLeftTable += - '' + - ' ' + - ' ' ; - - if(vShowRes ==1) vLeftTable += ' ' ; - if(vShowDur ==1) vLeftTable += ' ' ; - if(vShowComp==1) vLeftTable += ' ' ; - if(vShowStartDate==1) vLeftTable += ' ' ; - if(vShowEndDate==1) vLeftTable += ' ' ; - - vLeftTable += ''; - - for(i = 0; i < vTaskList.length; i++) + for(var k=0;k' ; - else - vLeftTable += '' ; - - vLeftTable += - ' ' + - ' ' ; - - if(vShowRes ==1) vLeftTable += ' ' ; - if(vShowDur ==1) vLeftTable += ' ' ; - if(vShowComp==1) vLeftTable += ' ' ; - if(vShowStartDate==1) vLeftTable += ' ' ; - if(vShowEndDate==1) vLeftTable += ' ' ; - - vLeftTable += ''; + this.getID=function(){return vID;}; + this.getName=function(){return vName;}; + this.getStart=function(){return vStart;}; + this.getEnd=function(){return vEnd;}; + this.getGroupMinStart=function(){return vGroupMinStart;}; + this.getGroupMinEnd=function(){return vGroupMinEnd;}; + this.getClass=function(){return vClass;}; + this.getLink=function(){return vLink;}; + this.getMile=function(){return vMile;}; + this.getDepend=function(){if(vDepend) return vDepend; else return null;}; + this.getDepType=function(){if(vDependType) return vDependType; else return null;}; + this.getCaption=function(){if(vCaption) return vCaption; else return '';}; + this.getResource=function(){if(vRes) return vRes; else return '\u00A0';}; + this.getCompVal=function(){if(vComp) return vComp; else return 0;}; + this.getCompStr=function(){if(vComp) return vComp+'%'; else return '';}; + this.getNotes=function(){return vNotes;}; + this.getSortIdx=function(){return vSortIdx;}; + this.getToDelete=function(){return vToDelete;}; + this.getDuration=function(pFormat, pLang) + { + if (vMile) + { + vDuration='-'; + } + else + { + var vTaskEnd=new Date(this.getEnd().getTime()); + var vUnits=null; + switch(pFormat) + { + case 'week': vUnits='day'; break; + case 'month': vUnits='week'; break; + case 'quarter': vUnits='month'; break; + default: vUnits=pFormat; break; } - // DRAW the date format selector at bottom left. Another potential GanttChart parameter to hide/show this selector - vLeftTable += '' + - // LDR '
'+i18n["Resource"]+''+i18n["Duration"]+'%'+i18n["Start_Date"]+''+i18n["End_Date"]+'
 '; - - for(j=1; j ' ; - else - vLeftTable += '+ ' ; - - } else { - - vLeftTable += '   '; - } - - vLeftTable += - ' ' + vTaskList[i].getName() + '' + vTaskList[i].getResource() + '' + (vTaskList[i].getStart() > 0 ? vTaskList[i].getDuration(vFormat) : '') + '' + vTaskList[i].getCompStr() + '' + (vTaskList[i].getStart() > 0 ? JSGantt.formatDateStr( vTaskList[i].getStart(), vDateDisplayFormat) : '')+ '' + (vTaskList[i].getEnd() > 0 ? JSGantt.formatDateStr( vTaskList[i].getEnd(), vDateDisplayFormat) : '') + '
  Powered by jsGantt      Format:'; - '
         '+i18n["Period"]+':   '; - - if (vFormatArr.join().indexOf("minute")!=-1) { - if (vFormat=='minute') vLeftTable += ''+i18n["sMinute"]; - else vLeftTable += ''+i18n["sMinute"]; - } - - if (vFormatArr.join().indexOf("hour")!=-1) { - if (vFormat=='hour') vLeftTable += ''+i18n["sHour"]; - else vLeftTable += ''+i18n["sHour"]; - } - - if (vFormatArr.join().indexOf("day")!=-1) { - if (vFormat=='day') vLeftTable += ''+i18n["sDay"]; - else vLeftTable += ''+i18n["sDay"]; - } - - if (vFormatArr.join().indexOf("week")!=-1) { - if (vFormat=='week') vLeftTable += ''+i18n["sWeek"]; - else vLeftTable += ''+i18n["sWeek"]; - } - - if (vFormatArr.join().indexOf("month")!=-1) { - if (vFormat=='month') vLeftTable += ''+i18n["sMonth"]; - else vLeftTable += ''+i18n["sMonth"]; - } - - if (vFormatArr.join().indexOf("quarter")!=-1) { - if (vFormat=='quarter') vLeftTable += ''+i18n["sQuarter"]; - else vLeftTable += ''+i18n["sQuarter"]; - } - -// vLeftTable += ' .'; + if ((vTaskEnd.getTime()-(vTaskEnd.getTimezoneOffset()*60000))%(86400000)==0) + { + vTaskEnd=new Date(vTaskEnd.getFullYear(), vTaskEnd.getMonth(), vTaskEnd.getDate()+1, vTaskEnd.getHours(), vTaskEnd.getMinutes(), vTaskEnd.getSeconds()); + } + var tmpPer=(JSGantt.getOffset(this.getStart(), vTaskEnd, 999, vUnits))/1000; + if(Math.floor(tmpPer)!=tmpPer) tmpPer=Math.round(tmpPer*10)/10; + switch(vUnits) + { + case 'hour': vDuration=tmpPer+' '+((tmpPer!=1)?pLang['hrs']:pLang['hr']); break; + case 'day': vDuration=tmpPer+' '+((tmpPer!=1)?pLang['dys']:pLang['dy']); break; + case 'week': vDuration=tmpPer+' '+((tmpPer!=1)?pLang['wks']:pLang['wk']); break; + case 'month': vDuration=tmpPer+' '+((tmpPer!=1)?pLang['mths']:pLang['mth']); break; + case 'quarter': vDuration=tmpPer+' '+((tmpPer!=1)?pLang['qtrs']:pLang['qtr']); break; + } + } + return vDuration; + }; - vLeftTable += '
' + - ''; + var vRightHeader=document.createDocumentFragment(); + vTmpDiv=this.newNode(vRightHeader, 'div', vDivId+'gcharthead', 'gchartlbl gcontainercol'); + this.setChartHead(vTmpDiv); + vTmpTab=this.newNode(vTmpDiv, 'table', vDivId+'chartTableh', 'gcharttableh'); + vTmpTBody=this.newNode(vTmpTab, 'tbody'); + vTmpRow=this.newNode(vTmpTBody, 'tr'); vTmpDate.setFullYear(vMinDate.getFullYear(), vMinDate.getMonth(), vMinDate.getDate()); - vTmpDate.setHours(0); + if(vFormat=='hour')vTmpDate.setHours(vMinDate.getHours()); + else vTmpDate.setHours(0); vTmpDate.setMinutes(0); + vTmpDate.setSeconds(0); + vTmpDate.setMilliseconds(0); - // Major Date Header - while(Date.parse(vTmpDate) <= Date.parse(vMaxDate)) - { - vStr = vTmpDate.getFullYear() + ''; - vStr = vStr.substring(2,4); - - - if(vFormat == 'minute') + var vColSpan=1; + // Major Date Header + while(vTmpDate.getTime()<=vMaxDate.getTime()) { - vRightTable += ''; - vTmpDate.setHours(vTmpDate.getHours()+1); - } - - if(vFormat == 'hour') - { - vRightTable += ''; - vTmpDate.setDate(vTmpDate.getDate()+1); - } - - if(vFormat == 'day') - { - vRightTable += ''; - vTmpDate.setDate(vTmpDate.getDate()+1); - } - else if(vFormat == 'week') - { - vRightTable += ''; - vTmpDate.setDate(vTmpDate.getDate()+7); - } - else if(vFormat == 'month') - { - vRightTable += ''; - vTmpDate.setDate(vTmpDate.getDate() + 1); - while(vTmpDate.getDate() > 1) - { - vTmpDate.setDate(vTmpDate.getDate() + 1); - } - } - else if(vFormat == 'quarter') - { - vRightTable += ''; - vTmpDate.setDate(vTmpDate.getDate() + 81); - while(vTmpDate.getDate() > 1) - { - vTmpDate.setDate(vTmpDate.getDate() + 1); - } - } + var vHeaderCellClass='gmajorheading'; + vCellContents=''; - } - - vRightTable += ''; - - // Minor Date header and Cell Rows - vTmpDate.setFullYear(vMinDate.getFullYear(), vMinDate.getMonth(), vMinDate.getDate()); - vNxtDate.setFullYear(vMinDate.getFullYear(), vMinDate.getMonth(), vMinDate.getDate()); - vNumCols = 0; - - while(Date.parse(vTmpDate) <= Date.parse(vMaxDate)) - { - if (vFormat == 'minute') - { - - if( vTmpDate.getMinutes() ==0 ) - vWeekdayColor = "ccccff"; - else - vWeekdayColor = "ffffff"; - - - vDateRowStr += ''; - vItemRowStr += ''; - vTmpDate.setMinutes(vTmpDate.getMinutes() + 1); - } - - else if (vFormat == 'hour') - { - - if( vTmpDate.getHours() ==0 ) - vWeekdayColor = "ccccff"; - else - vWeekdayColor = "ffffff"; - - - vDateRowStr += ''; - vItemRowStr += ''; - vTmpDate.setHours(vTmpDate.getHours() + 1); - } - - else if(vFormat == 'day' ) - { - if( JSGantt.formatDateStr(vCurrDate,'mm/dd/yyyy') == JSGantt.formatDateStr(vTmpDate,'mm/dd/yyyy')) { - vWeekdayColor = "ccccff"; - vWeekendColor = "9999ff"; - vWeekdayGColor = "bbbbff"; - vWeekendGColor = "8888ff"; - } else { - vWeekdayColor = "ffffff"; - vWeekendColor = "cfcfcf"; - vWeekdayGColor = "f3f3f3"; - vWeekendGColor = "c3c3c3"; - } - - if(vTmpDate.getDay() % 6 == 0) { - vDateRowStr += ''; - vItemRowStr += ''; - } - else { - vDateRowStr += ''; - if( JSGantt.formatDateStr(vCurrDate,'mm/dd/yyyy') == JSGantt.formatDateStr(vTmpDate,'mm/dd/yyyy')) - vItemRowStr += ''; - else - vItemRowStr += ''; - } - - vTmpDate.setDate(vTmpDate.getDate() + 1); - - } - - else if(vFormat == 'week') - { - - vNxtDate.setDate(vNxtDate.getDate() + 7); - - if( vCurrDate >= vTmpDate && vCurrDate < vNxtDate ) - vWeekdayColor = "ccccff"; - else - vWeekdayColor = "ffffff"; - - if(vNxtDate <= vMaxDate) { - vDateRowStr += ''; - if( vCurrDate >= vTmpDate && vCurrDate < vNxtDate ) - vItemRowStr += ''; - else - vItemRowStr += ''; - - } else { - vDateRowStr += ''; - if( vCurrDate >= vTmpDate && vCurrDate < vNxtDate ) - vItemRowStr += ''; - else - vItemRowStr += ''; - - } - - vTmpDate.setDate(vTmpDate.getDate() + 7); - - } - - else if(vFormat == 'month') - { - - vNxtDate.setFullYear(vTmpDate.getFullYear(), vTmpDate.getMonth(), vMonthDaysArr[vTmpDate.getMonth()]); - if( vCurrDate >= vTmpDate && vCurrDate < vNxtDate ) - vWeekdayColor = "ccccff"; - else - vWeekdayColor = "ffffff"; - - if(vNxtDate <= vMaxDate) { - vDateRowStr += ''; - if( vCurrDate >= vTmpDate && vCurrDate < vNxtDate ) - vItemRowStr += ''; - else - vItemRowStr += ''; - } else { - vDateRowStr += ''; - if( vCurrDate >= vTmpDate && vCurrDate < vNxtDate ) - vItemRowStr += ''; - else - vItemRowStr += ''; - } - - vTmpDate.setDate(vTmpDate.getDate() + 1); - - while(vTmpDate.getDate() > 1) - { - vTmpDate.setDate(vTmpDate.getDate() + 1); - } - - } - - else if(vFormat == 'quarter') - { - - vNxtDate.setDate(vNxtDate.getDate() + 122); - if( vTmpDate.getMonth()==0 || vTmpDate.getMonth()==1 || vTmpDate.getMonth()==2 ) - vNxtDate.setFullYear(vTmpDate.getFullYear(), 2, 31); - else if( vTmpDate.getMonth()==3 || vTmpDate.getMonth()==4 || vTmpDate.getMonth()==5 ) - vNxtDate.setFullYear(vTmpDate.getFullYear(), 5, 30); - else if( vTmpDate.getMonth()==6 || vTmpDate.getMonth()==7 || vTmpDate.getMonth()==8 ) - vNxtDate.setFullYear(vTmpDate.getFullYear(), 8, 30); - else if( vTmpDate.getMonth()==9 || vTmpDate.getMonth()==10 || vTmpDate.getMonth()==11 ) - vNxtDate.setFullYear(vTmpDate.getFullYear(), 11, 31); - - if( vCurrDate >= vTmpDate && vCurrDate < vNxtDate ) - vWeekdayColor = "ccccff"; - else - vWeekdayColor = "ffffff"; - - if(vNxtDate <= vMaxDate) { - vDateRowStr += ''; - if( vCurrDate >= vTmpDate && vCurrDate < vNxtDate ) - vItemRowStr += ''; - else - vItemRowStr += ''; - } else { - vDateRowStr += ''; - if( vCurrDate >= vTmpDate && vCurrDate < vNxtDate ) - vItemRowStr += ''; - else - vItemRowStr += ''; - } - - vTmpDate.setDate(vTmpDate.getDate() + 81); - - while(vTmpDate.getDate() > 1) - { - vTmpDate.setDate(vTmpDate.getDate() + 1); - } - - } - } - - vRightTable += vDateRowStr + ''; - vRightTable += '
' ; - vRightTable += JSGantt.formatDateStr(vTmpDate, vDateDisplayFormat) + ' ' + vTmpDate.getHours() + ':00 -' + vTmpDate.getHours() + ':59 ' ; - vRightTable += JSGantt.formatDateStr(vTmpDate, vDateDisplayFormat) + '' + - JSGantt.formatDateStr(vTmpDate,vDateDisplayFormat.substring(0,5)) + ' - '; - vTmpDate.setDate(vTmpDate.getDate()+6); - vRightTable += JSGantt.formatDateStr(vTmpDate, vDateDisplayFormat) + '`'+ vStr + '`'+ vStr + '`'+ vStr + '
' + vTmpDate.getMinutes() + '
  
' + vTmpDate.getHours() + '
  
' + vTmpDate.getDate() + '
 
' + vTmpDate.getDate() + '
  
  
' + (vTmpDate.getMonth()+1) + '/' + vTmpDate.getDate() + '
  
  
' + (vTmpDate.getMonth()+1) + '/' + vTmpDate.getDate() + '
  
  
' + vMonthArr[vTmpDate.getMonth()].substr(0,3) + '
  
  
' + vMonthArr[vTmpDate.getMonth()].substr(0,3) + '
  
  
Qtr. ' + vQuarterArr[vTmpDate.getMonth()] + '
  
  
Qtr. ' + vQuarterArr[vTmpDate.getMonth()] + '
  
  
'; - - // Draw each row - - for(i = 0; i < vTaskList.length; i++) - - { - - vTmpDate.setFullYear(vMinDate.getFullYear(), vMinDate.getMonth(), vMinDate.getDate()); - vTaskStart = vTaskList[i].getStart(); - vTaskEnd = vTaskList[i].getEnd(); - - vNumCols = 0; - vID = vTaskList[i].getID(); - - // vNumUnits = Math.ceil((vTaskList[i].getEnd() - vTaskList[i].getStart()) / (24 * 60 * 60 * 1000)) + 1; - vNumUnits = (vTaskList[i].getEnd() - vTaskList[i].getStart()) / (24 * 60 * 60 * 1000) + 1; - if (vFormat=='hour') - { - vNumUnits = (vTaskList[i].getEnd() - vTaskList[i].getStart()) / ( 60 * 1000) + 1; - } - else if (vFormat=='minute') - { - vNumUnits = (vTaskList[i].getEnd() - vTaskList[i].getStart()) / ( 60 * 1000) + 1; - } - - if(vTaskList[i].getVisible() == 0) - vRightTable += ''; - vRightTable += - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' ; + if(this.getCaptionType() && vCaptClass!==null) + { + switch(this.getCaptionType()) + { + case 'Caption': var vCaptionStr=vTmpItem.getCaption(); break; + case 'Resource': vCaptionStr=vTmpItem.getResource(); break; + case 'Duration': vCaptionStr=vTmpItem.getDuration(vFormat, vLangs[vLang]); break; + case 'Complete': vCaptionStr=vTmpItem.getCompStr(); break; + } + this.newNode(vTmpDiv, 'div', null, vCaptClass, vCaptionStr, 120, (vCaptClass=='gmilecaption')?12:0); + } - if( g.getCaptionType() ) { - vCaptionStr = ''; - switch( g.getCaptionType() ) { - case 'Caption': vCaptionStr = vTaskList[i].getCaption(); break; - case 'Resource': vCaptionStr = vTaskList[i].getResource(); break; - case 'Duration': vCaptionStr = vTaskList[i].getDuration(vFormat); break; - case 'Complete': vCaptionStr = vTaskList[i].getCompStr(); break; - } - //vRightTable += '
' + vCaptionStr + '
'; - vRightTable += '
' + vCaptionStr + '
'; - }; - - vRightTable += '
' ; - - } else { - - vDivStr = '
' + - '' + vItemRowStr + '
'; - vRightTable += vDivStr; - - // Draw Task Bar which has outer DIV with enclosed colored bar div, and opaque completion div - vRightTable += - '
' + - '
' + - '
' + - '
' + - '
'; - - if( g.getCaptionType() ) { - vCaptionStr = ''; - switch( g.getCaptionType() ) { - case 'Caption': vCaptionStr = vTaskList[i].getCaption(); break; - case 'Resource': vCaptionStr = vTaskList[i].getResource(); break; - case 'Duration': vCaptionStr = vTaskList[i].getDuration(vFormat); break; - case 'Complete': vCaptionStr = vTaskList[i].getCompStr(); break; - } - //vRightTable += '
' + vCaptionStr + '
'; - vRightTable += '
' + vCaptionStr + '
'; - } - vRightTable += '
' ; - - - - } + if (vTaskList[i].getTaskDiv() && vTmpDiv) + { + // Add Task Info div for tooltip + vTmpDiv2=this.newNode(vTmpDiv, 'div', vDivId+'tt'+vID, null, null, null, null, 'none'); + vTmpDiv2.appendChild(this.createTaskInfo(vTaskList[i])); + JSGantt.addTooltipListeners(this, vTaskList[i].getTaskDiv(), vTmpDiv2); + } } - vRightTable += '
'; + if(!vSingleCell) vTmpTBody.appendChild(vDateRow.cloneNode(true)); - } + while(vDiv.hasChildNodes())vDiv.removeChild(vDiv.firstChild); + vTmpDiv=this.newNode(vDiv, 'div', null, 'gchartcontainer'); + vTmpDiv.appendChild(vRightHeader); + vTmpDiv.appendChild(vLeftHeader); + vTmpDiv.appendChild(vRightTable); + vTmpDiv.appendChild(vLeftTable); + this.newNode(vTmpDiv, 'div', null, 'ggridfooter'); + vTmpDiv2=this.newNode(this.getChartBody(), 'div', vDivId+'Lines', 'glinediv'); + vTmpDiv2.style.visibility='hidden'; + this.setLines(vTmpDiv2); - vMainTable += vRightTable + ''; + /* Quick hack to show the generated HTML on older browsers - add a '/' to the begining of this line to activate + var tmpGenSrc=document.createElement('textarea'); + tmpGenSrc.appendChild(document.createTextNode(vTmpDiv.innerHTML)); + vDiv.appendChild(tmpGenSrc); + //*/ + // Now all the content exists, register scroll listeners + JSGantt.addScrollListeners(this); - vDiv.innerHTML = vMainTable; + // now check if we are actually scrolling the pane + if (vScrollTo!='') + { + var vScrollDate=new Date(vMinDate.getTime()); + var vScrollPx=0; - } + if(vScrollTo.substr(0,2)=='px') + { + vScrollPx=parseInt(vScrollTo.substr(2)); + } + else + { + vScrollDate=JSGantt.parseDateStr(vScrollTo, this.getDateInputFormat()); + if(vFormat=='hour')vScrollDate.setMinutes(0,0,0); + else vScrollDate.setHours(0,0,0,0); + vScrollPx=JSGantt.getOffset(vMinDate, vScrollDate, vColWidth, vFormat); + } + this.getChartBody().scrollLeft=vScrollPx; + } - }; //this.draw + if (vMinDate.getTime()<=(new Date()).getTime() && vMaxDate.getTime()>=(new Date()).getTime()) vTodayPx=JSGantt.getOffset(vMinDate, new Date(), vColWidth, vFormat); + else vTodayPx=-1; + this.DrawDependencies(); + } + }; //this.draw -/** -* Mouseover behaviour for gantt row -* @method mouseOver -* @return {Void} -*/ this.mouseOver = function( pObj, pID, pPos, pType ) { - if( pPos == 'right' ) vID = 'child_' + pID; - else vID = 'childrow_' + pID; - - pObj.bgColor = "#ffffaa"; - vRowObj = JSGantt.findObj(vID); - if (vRowObj) vRowObj.bgColor = "#ffffaa"; - }; + this.mouseOver=function(pObj1, pObj2) + { + if (this.getUseRowHlt()) + { + pObj1.className+=' gitemhighlight'; + pObj2.className+=' gitemhighlight'; + } + }; -/** -* Mouseout behaviour for gantt row -* @method mouseOut -* @return {Void} -*/ this.mouseOut = function( pObj, pID, pPos, pType ) { - if( pPos == 'right' ) vID = 'child_' + pID; - else vID = 'childrow_' + pID; - - pObj.bgColor = "#ffffff"; - vRowObj = JSGantt.findObj(vID); - if (vRowObj) { - if( pType == "group") { - pObj.bgColor = "#f3f3f3"; - vRowObj.bgColor = "#f3f3f3"; - } else { - pObj.bgColor = "#ffffff"; - vRowObj.bgColor = "#ffffff"; - } - } - }; + this.mouseOut=function(pObj1, pObj2) + { + if (this.getUseRowHlt()) + { + pObj1.className=pObj1.className.replace(/(?:^|\s)gitemhighlight(?!\S)/g, ''); + pObj2.className=pObj2.className.replace(/(?:^|\s)gitemhighlight(?!\S)/g, ''); + } + }; + this.drawSelector=function(pPos) + { + var vOutput=document.createDocumentFragment(); + var vDisplay=false; + + for (var i=0; i=0 && vIdx'; + vTask+=''+vTaskList[vIdx].getName()+''; + vTask+=''+JSGantt.formatDateStr(vTaskList[vIdx].getStart(),vOutFrmt,vLangs[vLang])+''; + vTask+=''+JSGantt.formatDateStr(vTaskList[vIdx].getEnd(),vOutFrmt,vLangs[vLang])+''; + vTask+=''+vTaskList[vIdx].getClass()+''; + vTask+=''+vTaskList[vIdx].getLink()+''; + vTask+=''+vTaskList[vIdx].getMile()+''; + if(vTaskList[vIdx].getResource()!='\u00A0') vTask+=''+vTaskList[vIdx].getResource()+''; + vTask+=''+vTaskList[vIdx].getCompVal()+''; + vTask+=''+vTaskList[vIdx].getGroup()+''; + vTask+=''+vTaskList[vIdx].getParent()+''; + vTask+=''+vTaskList[vIdx].getOpen()+''; + vTask+=''; + var vDepList=vTaskList[vIdx].getDepend(); + for (i=0;i0)vTask+=','; + if(vDepList[i]>0)vTask+=vDepList[i]+vTaskList[vIdx].getDepType()[i]; + } + vTask+=''; + vTask+=''+vTaskList[vIdx].getCaption()+''; + + var vTmpFrag=document.createDocumentFragment(); + var vTmpDiv=this.newNode(vTmpFrag, 'div', null, null,vTaskList[vIdx].getNotes().innerHTML); + vTask+=''+vTmpDiv.innerHTML+''; + vTask+=''; + } + return vTask; + }; + if (vDiv && vDiv.nodeName.toLowerCase()=='div') vDivId=vDiv.id; }; //GanttChart - -/** -* -@class -*/ - -/** -* Checks whether browser is IE -* -* @method isIE -*/ -JSGantt.isIE = function () { - - if(typeof document.all != 'undefined') - {return true;} - else - {return false;} -}; - -/** -* Recursively process task tree ... set min, max dates of parent tasks and identfy task level. -* -* @method processRows -* @param pList {Array} - Array of TaskItem Objects -* @param pID {Number} - task ID -* @param pRow {Number} - Row in chart -* @param pLevel {Number} - Current tree level -* @param pOpen {Boolean} -* @return void -*/ -JSGantt.processRows = function(pList, pID, pRow, pLevel, pOpen) -{ - - var vMinDate = new Date(); - var vMaxDate = new Date(); - var vMinSet = 0; - var vMaxSet = 0; - var vList = pList; - var vLevel = pLevel; - var i = 0; - var vNumKid = 0; - var vCompSum = 0; - var vVisible = pOpen; - - for(i = 0; i < pList.length; i++) - { - if(pList[i].getParent() == pID) { - vVisible = pOpen; - pList[i].setVisible(vVisible); - if(vVisible==1 && pList[i].getOpen() == 0) - {vVisible = 0;} - - pList[i].setLevel(vLevel); - vNumKid++; - - if(pList[i].getGroup() == 1) { - JSGantt.processRows(vList, pList[i].getID(), i, vLevel+1, vVisible); - }; - - if( vMinSet==0 || pList[i].getStart() < vMinDate) { - vMinDate = pList[i].getStart(); - vMinSet = 1; - }; - - if( vMaxSet==0 || pList[i].getEnd() > vMaxDate) { - vMaxDate = pList[i].getEnd(); - vMaxSet = 1; - }; - - vCompSum += pList[i].getCompVal(); - - } - } - - if(pRow >= 0) { - pList[pRow].setStart(vMinDate); - pList[pRow].setEnd(vMaxDate); - pList[pRow].setNumKid(vNumKid); - pList[pRow].setCompVal(Math.ceil(vCompSum/vNumKid)); - } - -}; - -/** -* Determine the minimum date of all tasks and set lower bound based on format -* -* @method getMinDate -* @param pList {Array} - Array of TaskItem Objects -* @param pFormat {String} - current format (minute,hour,day...) -* @return {Datetime} -*/ -JSGantt.getMinDate = function getMinDate(pList, pFormat) - { - - var vDate = new Date(); - - vDate.setFullYear(pList[0].getStart().getFullYear(), pList[0].getStart().getMonth(), pList[0].getStart().getDate()); - - // Parse all Task End dates to find min - for(i = 0; i < pList.length; i++) - { - if(Date.parse(pList[i].getStart()) < Date.parse(vDate)) - vDate.setFullYear(pList[i].getStart().getFullYear(), pList[i].getStart().getMonth(), pList[i].getStart().getDate()); - } - - if ( pFormat== 'minute') - { - vDate.setHours(0); - vDate.setMinutes(0); - } - else if (pFormat == 'hour' ) - { - vDate.setHours(0); - vDate.setMinutes(0); - } - // Adjust min date to specific format boundaries (first of week or first of month) - else if (pFormat=='day') - { - vDate.setDate(vDate.getDate() - 1); - while(vDate.getDay() % 7 > 0) - { - vDate.setDate(vDate.getDate() - 1); - } - - } - - else if (pFormat=='week') - { - vDate.setDate(vDate.getDate() - 7); - while(vDate.getDay() % 7 > 0) - { - vDate.setDate(vDate.getDate() - 1); - } - - } - - else if (pFormat=='month') - { - while(vDate.getDate() > 1) - { - vDate.setDate(vDate.getDate() - 1); - } - } - - else if (pFormat=='quarter') - { - if( vDate.getMonth()==0 || vDate.getMonth()==1 || vDate.getMonth()==2 ) - {vDate.setFullYear(vDate.getFullYear(), 0, 1);} - else if( vDate.getMonth()==3 || vDate.getMonth()==4 || vDate.getMonth()==5 ) - {vDate.setFullYear(vDate.getFullYear(), 3, 1);} - else if( vDate.getMonth()==6 || vDate.getMonth()==7 || vDate.getMonth()==8 ) - {vDate.setFullYear(vDate.getFullYear(), 6, 1);} - else if( vDate.getMonth()==9 || vDate.getMonth()==10 || vDate.getMonth()==11 ) - {vDate.setFullYear(vDate.getFullYear(), 9, 1);} - - }; - - return(vDate); - - }; - - - - -/** -* Used to determine the minimum date of all tasks and set lower bound based on format -* -* @method getMaxDate -* @param pList {Array} - Array of TaskItem Objects -* @param pFormat {String} - current format (minute,hour,day...) -* @return {Datetime} -*/ -JSGantt.getMaxDate = function (pList, pFormat) -{ - var vDate = new Date(); - - vDate.setFullYear(pList[0].getEnd().getFullYear(), pList[0].getEnd().getMonth(), pList[0].getEnd().getDate()); - - - // Parse all Task End dates to find max - for(i = 0; i < pList.length; i++) - { - if(Date.parse(pList[i].getEnd()) > Date.parse(vDate)) - { - //vDate.setFullYear(pList[0].getEnd().getFullYear(), pList[0].getEnd().getMonth(), pList[0].getEnd().getDate()); - vDate.setTime(Date.parse(pList[i].getEnd())); - } - } - - if (pFormat == 'minute') - { - vDate.setHours(vDate.getHours() + 1); - vDate.setMinutes(59); - } - - if (pFormat == 'hour') - { - vDate.setHours(vDate.getHours() + 2); - } - - // Adjust max date to specific format boundaries (end of week or end of month) - if (pFormat=='day') - { - vDate.setDate(vDate.getDate() + 1); - - while(vDate.getDay() % 6 > 0) - { - vDate.setDate(vDate.getDate() + 1); - } - - } - - if (pFormat=='week') - { - //For weeks, what is the last logical boundary? - vDate.setDate(vDate.getDate() + 11); - - while(vDate.getDay() % 6 > 0) - { - vDate.setDate(vDate.getDate() + 1); - } - - } - - // Set to last day of current Month - if (pFormat=='month') - { - while(vDate.getDay() > 1) - { - vDate.setDate(vDate.getDate() + 1); - } - - vDate.setDate(vDate.getDate() - 1); - } - - // Set to last day of current Quarter - if (pFormat=='quarter') - { - if( vDate.getMonth()==0 || vDate.getMonth()==1 || vDate.getMonth()==2 ) - vDate.setFullYear(vDate.getFullYear(), 2, 31); - else if( vDate.getMonth()==3 || vDate.getMonth()==4 || vDate.getMonth()==5 ) - vDate.setFullYear(vDate.getFullYear(), 5, 30); - else if( vDate.getMonth()==6 || vDate.getMonth()==7 || vDate.getMonth()==8 ) - vDate.setFullYear(vDate.getFullYear(), 8, 30); - else if( vDate.getMonth()==9 || vDate.getMonth()==10 || vDate.getMonth()==11 ) - vDate.setFullYear(vDate.getFullYear(), 11, 31); - - } - - return(vDate); - - }; - - -/** -* Returns an object from the current DOM -* -* @method findObj -* @param theObj {String} - Object name -* @param theDoc {Document} - current document (DOM) -* @return {Object} -*/ -JSGantt.findObj = function (theObj, theDoc) - - { - - var p, i, foundObj; - - if(!theDoc) {theDoc = document;} - - if( (p = theObj.indexOf("?")) > 0 && parent.frames.length){ - - theDoc = parent.frames[theObj.substring(p+1)].document; - - theObj = theObj.substring(0,p); - - } - - if(!(foundObj = theDoc[theObj]) && theDoc.all) - - {foundObj = theDoc.all[theObj];} - - - - for (i=0; !foundObj && i < theDoc.forms.length; i++) - - {foundObj = theDoc.forms[i][theObj];} - - - - for(i=0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++) - - {foundObj = JSGantt.findObj(theObj,theDoc.layers[i].document);} - - - - if(!foundObj && document.getElementById) - - {foundObj = document.getElementById(theObj);} - - - - return foundObj; - - }; - - -/** -* Change display format of current gantt chart -* -* @method changeFormat -* @param pFormat {String} - Current format (minute,hour,day...) -* @param ganttObj {GanttChart} - The gantt object -* @return {void} -*/ -JSGantt.changeFormat = function(pFormat,ganttObj) { - - if(ganttObj) - { - ganttObj.setFormat(pFormat); - ganttObj.DrawDependencies(); - } - else - {alert('Chart undefined');}; - }; - - -/** -* Open/Close and hide/show children of specified task -* -* @method folder -* @param pID {Number} - Task ID -* @param ganttObj {GanttChart} - The gantt object -* @return {void} -*/ -JSGantt.folder= function (pID,ganttObj) { - - var vList = ganttObj.getList(); - - for(i = 0; i < vList.length; i++) - { - if(vList[i].getID() == pID) { - - if( vList[i].getOpen() == 1 ) { - vList[i].setOpen(0); - JSGantt.hide(pID,ganttObj); - - if (JSGantt.isIE()) - {JSGantt.findObj('group_'+pID).innerText = '+';} - else - {JSGantt.findObj('group_'+pID).textContent = '+';} - - } else { - - vList[i].setOpen(1); - - JSGantt.show(pID, 1, ganttObj); - - if (JSGantt.isIE()) - {JSGantt.findObj('group_'+pID).innerText = '�';} - else - {JSGantt.findObj('group_'+pID).textContent = '�';} - - } - - } - } -}; - -/** -* Hide children of a task -* -* @method hide -* @param pID {Number} - Task ID -* @param ganttObj {GanttChart} - The gantt object -* @return {void} -*/ -JSGantt.hide= function (pID,ganttObj) { - var vList = ganttObj.getList(); - var vID = 0; - - for(var i = 0; i < vList.length; i++) - { - if(vList[i].getParent() == pID) { - vID = vList[i].getID(); - JSGantt.findObj('child_' + vID).style.display = "none"; - JSGantt.findObj('childgrid_' + vID).style.display = "none"; - vList[i].setVisible(0); - if(vList[i].getGroup() == 1) - {JSGantt.hide(vID,ganttObj);} - } - - } -}; - -/** -* Show children of a task -* -* @method show -* @param pID {Number} - Task ID -* @param ganttObj {GanttChart} - The gantt object -* @return {void} -*/ -JSGantt.show = function (pID, pTop, ganttObj) { - var vList = ganttObj.getList(); - var vID = 0; - - for(var i = 0; i < vList.length; i++) - { - if(vList[i].getParent() == pID) { - vID = vList[i].getID(); - if(pTop == 1) { - if (JSGantt.isIE()) { // IE; - - if( JSGantt.findObj('group_'+pID).innerText == '+') { - JSGantt.findObj('child_'+vID).style.display = ""; - JSGantt.findObj('childgrid_'+vID).style.display = ""; - vList[i].setVisible(1); - } - - } else { - - if( JSGantt.findObj('group_'+pID).textContent == '+') { - JSGantt.findObj('child_'+vID).style.display = ""; - JSGantt.findObj('childgrid_'+vID).style.display = ""; - vList[i].setVisible(1); - } - - } - - } else { - - if (JSGantt.isIE()) { // IE; - if( JSGantt.findObj('group_'+pID).innerText == '�') { - JSGantt.findObj('child_'+vID).style.display = ""; - JSGantt.findObj('childgrid_'+vID).style.display = ""; - vList[i].setVisible(1); - } - - } else { - - if( JSGantt.findObj('group_'+pID).textContent == '�') { - JSGantt.findObj('child_'+vID).style.display = ""; - JSGantt.findObj('childgrid_'+vID).style.display = ""; - vList[i].setVisible(1); - } - } - } - - if(vList[i].getGroup() == 1) - {JSGantt.show(vID, 0,ganttObj);} - - } - } -}; -/** -* Handles click events on task name, currently opens a new window -* -* @method taskLink -* @param pRef {String} - URL for window -* @param pWidth {Number} - Width of window -* @param pHeight {Number} - Height of window -* @return {void} -*/ -JSGantt.taskLink = function(pRef,pWidth,pHeight) - - { - - if(pWidth) {vWidth =pWidth;} else {vWidth =400;} - if(pHeight) {vHeight=pHeight;} else {vHeight=400;} - - // LDR To open in same window - //var OpenWindow=window.open(pRef, "newwin", "height="+vHeight+",width="+vWidth); - window.location.href=pRef - - }; - -/** -* Parse dates based on gantt date format setting as defined in JSGantt.GanttChart.setDateInputFormat() -* -* @method parseDateStr -* @param pDateStr {String} - A string that contains the date (i.e. "01/01/09") -* @param pFormatStr {String} - The date format (mm/dd/yyyy,dd/mm/yyyy,yyyy-mm-dd) -* @return {Datetime} -*/ -JSGantt.parseDateStr = function(pDateStr,pFormatStr) { - var vDate =new Date(); - vDate.setTime( Date.parse(pDateStr)); - - switch(pFormatStr) - { - case 'mm/dd/yyyy': - var vDateParts = pDateStr.split('/'); - vDate.setFullYear(parseInt(vDateParts[2], 10), parseInt(vDateParts[0], 10) - 1, parseInt(vDateParts[1], 10)); - break; - case 'dd/mm/yyyy': - var vDateParts = pDateStr.split('/'); - vDate.setFullYear(parseInt(vDateParts[2], 10), parseInt(vDateParts[1], 10) - 1, parseInt(vDateParts[0], 10)); - break; - case 'yyyy-mm-dd': - var vDateParts = pDateStr.split('-'); - vDate.setFullYear(parseInt(vDateParts[0], 10), parseInt(vDateParts[1], 10) - 1, parseInt(vDateParts[1], 10)); - break; +JSGantt.updateFlyingObj=function (e, pGanttChartObj, pTimer) { + var vCurTopBuf=3; + var vCurLeftBuf=5; + var vCurBotBuf=3; + var vCurRightBuf=15; + var vMouseX=(e)?e.clientX:window.event.clientX; + var vMouseY=(e)?e.clientY:window.event.clientY; + var vViewportX=document.documentElement.clientWidth||document.getElementsByTagName('body')[0].clientWidth; + var vViewportY=document.documentElement.clientHeight||document.getElementsByTagName('body')[0].clientHeight; + var vNewX=vMouseX; + var vNewY=vMouseY; + + if (navigator.appName.toLowerCase ()=='microsoft internet explorer') { + // the clientX and clientY properties include the left and top borders of the client area + vMouseX-=document.documentElement.clientLeft; + vMouseY-=document.documentElement.clientTop; + + var vZoomFactor=JSGantt.getZoomFactor (); + if (vZoomFactor!=1) {// IE 7 at non-default zoom level + vMouseX=Math.round (vMouseX / vZoomFactor); + vMouseY=Math.round (vMouseY / vZoomFactor); + } } + var vScrollPos=JSGantt.getScrollPositions(); + + /* Code for positioned right of the mouse by default*/ + /* + if (vMouseX+vCurRightBuf+pGanttChartObj.vTool.offsetWidth>vViewportX) + { + if (vMouseX-vCurLeftBuf-pGanttChartObj.vTool.offsetWidth<0) vNewX=vScrollPos.x; + else vNewX=vMouseX+vScrollPos.x-vCurLeftBuf-pGanttChartObj.vTool.offsetWidth; + } + else vNewX=vMouseX+vScrollPos.x+vCurRightBuf; + */ + + /* Code for positioned left of the mouse by default */ + if (vMouseX-vCurLeftBuf-pGanttChartObj.vTool.offsetWidth<0) + { + if (vMouseX+vCurRightBuf+pGanttChartObj.vTool.offsetWidth>vViewportX) vNewX=vScrollPos.x; + else vNewX=vMouseX+vScrollPos.x+vCurRightBuf; + } + else vNewX=vMouseX+vScrollPos.x-vCurLeftBuf-pGanttChartObj.vTool.offsetWidth; + + /* Code for positioned below the mouse by default */ + if (vMouseY+vCurBotBuf+pGanttChartObj.vTool.offsetHeight>vViewportY) + { + if (vMouseY-vCurTopBuf-pGanttChartObj.vTool.offsetHeight<0) vNewY=vScrollPos.y; + else vNewY=vMouseY+vScrollPos.y-vCurTopBuf-pGanttChartObj.vTool.offsetHeight; + } + else vNewY=vMouseY+vScrollPos.y+vCurBotBuf; + + /* Code for positioned above the mouse by default */ + /* + if (vMouseY-vCurTopBuf-pGanttChartObj.vTool.offsetHeight<0) + { + if (vMouseY+vCurBotBuf+pGanttChartObj.vTool.offsetHeight>vViewportY) vNewY=vScrollPos.y; + else vNewY=vMouseY+vScrollPos.y+vCurBotBuf; + } + else vNewY=vMouseY+vScrollPos.y-vCurTopBuf-pGanttChartObj.vTool.offsetHeight; + */ + + if (pGanttChartObj.getUseMove()) + { + clearInterval(pGanttChartObj.vTool.moveInterval); + pGanttChartObj.vTool.moveInterval=setInterval(function(){JSGantt.moveToolTip(vNewX, vNewY, pGanttChartObj.vTool, pTimer);},pTimer); + } + else + { + pGanttChartObj.vTool.style.left=vNewX +'px'; + pGanttChartObj.vTool.style.top=vNewY +'px'; + } +}; + +JSGantt.showToolTip=function(pGanttChartObj, e, pContents, pWidth, pTimer){ + var vTtDivId=pGanttChartObj.getDivId()+'JSGanttToolTip'; + var vMaxW=500; + var vMaxAlpha=100; + var vShowing=pContents.id; + + if(pGanttChartObj.getUseToolTip()) + { + if(pGanttChartObj.vTool==null){ + pGanttChartObj.vTool=document.createElement('div'); + pGanttChartObj.vTool.id=vTtDivId; + pGanttChartObj.vTool.className='JSGanttToolTip'; + pGanttChartObj.vTool.vToolCont=document.createElement('div'); + pGanttChartObj.vTool.vToolCont.id=vTtDivId+'cont'; + pGanttChartObj.vTool.vToolCont.className='JSGanttToolTipcont'; + pGanttChartObj.vTool.vToolCont.setAttribute('showing',''); + pGanttChartObj.vTool.appendChild(pGanttChartObj.vTool.vToolCont); + document.body.appendChild(pGanttChartObj.vTool); + pGanttChartObj.vTool.style.opacity=0; + pGanttChartObj.vTool.setAttribute('currentOpacity',0); + pGanttChartObj.vTool.setAttribute('fadeIncrement',10); + pGanttChartObj.vTool.setAttribute('moveSpeed',10); + pGanttChartObj.vTool.style.filter='alpha(opacity=0)'; + pGanttChartObj.vTool.style.visibility='hidden'; + pGanttChartObj.vTool.style.left=Math.floor(((e)?e.clientX:window.event.clientX)/2)+'px'; + pGanttChartObj.vTool.style.top=Math.floor(((e)?e.clientY:window.event.clientY)/2)+'px'; + JSGantt.addListener('mouseover', function () {clearTimeout(pGanttChartObj.vTool.delayTimeout);}, pGanttChartObj.vTool); + JSGantt.addListener('mouseout', function () {JSGantt.delayedHide(pGanttChartObj, pGanttChartObj.vTool, pTimer);}, pGanttChartObj.vTool); + } + clearTimeout(pGanttChartObj.vTool.delayTimeout); + if(pGanttChartObj.vTool.vToolCont.getAttribute('showing')!=vShowing || pGanttChartObj.vTool.style.visibility!='visible') + { + if (pGanttChartObj.vTool.vToolCont.getAttribute('showing')!=vShowing) + { + pGanttChartObj.vTool.vToolCont.setAttribute('showing',vShowing); + + pGanttChartObj.vTool.vToolCont.innerHTML=pContents.innerHTML; + // as we are allowing arbitrary HTML we should remove any tag ids to prevent duplication + JSGantt.stripIds(pGanttChartObj.vTool.vToolCont); + } + + pGanttChartObj.vTool.style.visibility='visible'; + // Rather than follow the mouse just have it stay put + JSGantt.updateFlyingObj(e, pGanttChartObj, pTimer); + pGanttChartObj.vTool.style.width=(pWidth)? pWidth+'px' : 'auto'; + if(!pWidth && JSGantt.isIE()){ + pGanttChartObj.vTool.style.width=pGanttChartObj.vTool.offsetWidth; + } + if(pGanttChartObj.vTool.offsetWidth>vMaxW){pGanttChartObj.vTool.style.width=vMaxW+'px';} + } + + if (pGanttChartObj.getUseFade()) + { + clearInterval(pGanttChartObj.vTool.fadeInterval); + pGanttChartObj.vTool.fadeInterval=setInterval(function(){JSGantt.fadeToolTip(1, pGanttChartObj.vTool, vMaxAlpha);},pTimer); + } + else + { + pGanttChartObj.vTool.style.opacity=vMaxAlpha * 0.01; + pGanttChartObj.vTool.style.filter='alpha(opacity='+vMaxAlpha+')'; + } + } +}; + +JSGantt.stripIds=function(pNode){ + for(var i=0; i=0 && pList[i].getID()==pID)vCurItem=pList[i]; + } + + for(i=0; ivMaxDate) + { + vMaxDate=pList[i].getEnd(); + vMaxSet=1; + } + + vCompSum+=pList[i].getCompVal(); + pList[i].setSortIdx(i*pList.length); + } + } + + if(pRow>=0) + { + if(pList[pRow].getGroupMinStart()!=null && pList[pRow].getGroupMinStart()vMaxDate) + { + vMaxDate=pList[pRow].getGroupMinEnd(); + } + pList[pRow].setStart(vMinDate); + pList[pRow].setEnd(vMaxDate); + pList[pRow].setNumKid(vNumKid); + pList[pRow].setCompVal(Math.ceil(vCompSum/vNumKid)); + } + + if (pID==0 && pUseSort==1) + { + JSGantt.sortTasks(pList, 0, 0); + pList.sort(function(a,b){return a.getSortIdx()-b.getSortIdx();}); + } + if (pID==0 && pUseSort!=1) // Need to sort combined tasks regardless + { + for(i=0; i0) + { + sortArr.sort(function(a,b){ var i=a.getStart().getTime()-b.getStart().getTime(); + if (i==0) i=a.getEnd().getTime()-b.getEnd().getTime(); + if (i==0) return a.getID()-b.getID(); + else return i; }); + } + + for (var j=0; j1) vDate.setDate(vDate.getDate()-1); + } + else if (pFormat=='quarter') + { + vDate.setDate(vDate.getDate()-31); + if(vDate.getMonth()==0 || vDate.getMonth()==1 || vDate.getMonth()==2) + vDate.setFullYear(vDate.getFullYear(), 0, 1); + else if(vDate.getMonth()==3 || vDate.getMonth()==4 || vDate.getMonth()==5) + vDate.setFullYear(vDate.getFullYear(), 3, 1); + else if(vDate.getMonth()==6 || vDate.getMonth()==7 || vDate.getMonth()==8) + vDate.setFullYear(vDate.getFullYear(), 6, 1); + else if(vDate.getMonth()==9 || vDate.getMonth()==10 || vDate.getMonth()==11) + vDate.setFullYear(vDate.getFullYear(), 9, 1); + } + else if (pFormat=='hour') + { + vDate.setHours(vDate.getHours()-1); + while(vDate.getHours()%6!=0) vDate.setHours(vDate.getHours()-1); + } + + if(pFormat=='hour')vDate.setMinutes(0,0); + else vDate.setHours(0,0,0); return(vDate); - }; -/** -* Display a formatted date based on gantt date format setting as defined in JSGantt.GanttChart.setDateDisplayFormat() -* -* @method formatDateStr -* @param pDate {Date} - A javascript date object -* @param pFormatStr {String} - The date format (mm/dd/yyyy,dd/mm/yyyy,yyyy-mm-dd...) -* @return {String} -*/ -JSGantt.formatDateStr = function(pDate,pFormatStr) { - vYear4Str = pDate.getFullYear() + ''; - vYear2Str = vYear4Str.substring(2,4); - vMonthStr = (pDate.getMonth()+1) + ''; - vDayStr = pDate.getDate() + ''; +// Used to determine the maximum date of all tasks and set upper bound based on format +JSGantt.getMaxDate=function (pList, pFormat) +{ + var vDate=new Date(); - var vDateStr = ""; + vDate.setTime(pList[0].getEnd().getTime()); - switch(pFormatStr) { - case 'mm/dd/yyyy': - return( vMonthStr + '/' + vDayStr + '/' + vYear4Str ); - case 'dd/mm/yyyy': - return( vDayStr + '/' + vMonthStr + '/' + vYear4Str ); - case 'yyyy-mm-dd': - return( vYear4Str + '-' + vMonthStr + '-' + vDayStr ); - case 'mm/dd/yy': - return( vMonthStr + '/' + vDayStr + '/' + vYear2Str ); - case 'dd/mm/yy': - return( vDayStr + '/' + vMonthStr + '/' + vYear2Str ); - case 'yy-mm-dd': - return( vYear2Str + '-' + vMonthStr + '-' + vDayStr ); - case 'mm/dd': - return( vMonthStr + '/' + vDayStr ); - case 'dd/mm': - return( vDayStr + '/' + vMonthStr ); - } - + // Parse all Task End dates to find max + for(var i=0; ivDate.getTime()) vDate.setTime(pList[i].getEnd().getTime()); + } + + // Adjust max date to specific format boundaries (end of week or end of month) + if (pFormat=='day') + { + vDate.setDate(vDate.getDate()+1); + + while(vDate.getDay()%7!=0) vDate.setDate(vDate.getDate()+1); + } + else if (pFormat=='week') + { + //For weeks, what is the last logical boundary? + vDate.setDate(vDate.getDate()+1); + + while(vDate.getDay()%7!=0) vDate.setDate(vDate.getDate()+1); + } + else if (pFormat=='month') + { + // Set to last day of current Month + while(vDate.getDate()>1) vDate.setDate(vDate.getDate()+1); + vDate.setDate(vDate.getDate()-1); + } + else if (pFormat=='quarter') + { + // Set to last day of current Quarter + if(vDate.getMonth()==0 || vDate.getMonth()==1 || vDate.getMonth()==2) + vDate.setFullYear(vDate.getFullYear(), 2, 31); + else if(vDate.getMonth()==3 || vDate.getMonth()==4 || vDate.getMonth()==5) + vDate.setFullYear(vDate.getFullYear(), 5, 30); + else if(vDate.getMonth()==6 || vDate.getMonth()==7 || vDate.getMonth()==8) + vDate.setFullYear(vDate.getFullYear(), 8, 30); + else if(vDate.getMonth()==9 || vDate.getMonth()==10 || vDate.getMonth()==11) + vDate.setFullYear(vDate.getFullYear(), 11, 31); + } + else if (pFormat=='hour') + { + if(vDate.getHours()==0)vDate.setDate(vDate.getDate()+1); + vDate.setHours(vDate.getHours()+1); + + while(vDate.getHours()%6!=5) vDate.setHours(vDate.getHours()+1); + } + return(vDate); }; -/** -* Parse an external XML file containing task items. -* -* @method parseXML -* @param ThisFile {String} - URL to XML file -* @param pGanttVar {Gantt} - Gantt object -* @return {void} -*/ -JSGantt.parseXML = function(ThisFile,pGanttVar){ - var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1; // Is this Chrome - - try { //Internet Explorer - xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); - } - catch(e) { - try { //Firefox, Mozilla, Opera, Chrome etc. - if (is_chrome==false) { xmlDoc=document.implementation.createDocument("","",null); } - } - catch(e) { - alert(e.message); - return; - } - } - - if (is_chrome==false) { // can't use xmlDoc.load in chrome at the moment - xmlDoc.async=false; - xmlDoc.load(ThisFile); // we can use loadxml - JSGantt.AddXMLTask(pGanttVar); - xmlDoc=null; // a little tidying - Task = null; - } - else { - JSGantt.ChromeLoadXML(ThisFile,pGanttVar); - ta=null; // a little tidying - } +// This function finds the document id of the specified object +JSGantt.findObj=function (theObj, theDoc) +{ + var p, i, foundObj; + if(!theDoc) theDoc=document; + if(document.getElementById) foundObj=document.getElementById(theObj); + return foundObj; }; -/** -* Add a task based on parsed XML doc -* -* @method AddXMLTask -* @param pGanttVar {Gantt} - Gantt object -* @return {void} -*/ -JSGantt.AddXMLTask = function(pGanttVar){ - - Task=xmlDoc.getElementsByTagName("task"); - - var n = xmlDoc.documentElement.childNodes.length; // the number of tasks. IE gets this right, but mozilla add extra ones (Whitespace) - - for(var i=0;i/gi); - - var n = ta.length; // the number of tasks. - for(var i=1;i/i); - - if(te.length> 2){var pID=te[1];} else {var pID = 0;} - pID *= 1; - - var te = Task.split(//i); - if(te.length> 2){var pName=te[1];} else {var pName = "No Task Name";} - - var te = Task.split(//i); - if(te.length> 2){var pStart=te[1];} else {var pStart = "";} - - var te = Task.split(//i); - if(te.length> 2){var pEnd=te[1];} else {var pEnd = "";} - - var te = Task.split(//i); - if(te.length> 2){var pColor=te[1];} else {var pColor = '0000ff';} - - var te = Task.split(//i); - if(te.length> 2){var pLink=te[1];} else {var pLink = "";} - - var te = Task.split(//i); - if(te.length> 2){var pMile=te[1];} else {var pMile = 0;} - pMile *= 1; - - var te = Task.split(//i); - if(te.length> 2){var pRes=te[1];} else {var pRes = "";} - - var te = Task.split(//i); - if(te.length> 2){var pComp=te[1];} else {var pComp = 0;} - pComp *= 1; - - var te = Task.split(//i); - if(te.length> 2){var pGroup=te[1];} else {var pGroup = 0;} - pGroup *= 1; - - var te = Task.split(//i); - if(te.length> 2){var pParent=te[1];} else {var pParent = 0;} - pParent *= 1; - - var te = Task.split(//i); - if(te.length> 2){var pOpen=te[1];} else {var pOpen = 1;} - pOpen *= 1; - - var te = Task.split(//i); - if(te.length> 2){var pDepend=te[1];} else {var pDepend = "";} - //pDepend *= 1; - if (pDepend.length==0){pDepend=''} // need this to draw the dependency lines - - var te = Task.split(//i); - if(te.length> 2){var pCaption=te[1];} else {var pCaption = "";} - - // Finally add the task - pGanttVar.AddTaskItem(new JSGantt.TaskItem(pID , pName, pStart, pEnd, pColor, pLink, pMile, pRes, pComp, pGroup, pParent, pOpen, pDepend,pCaption )); - }; - }; -}; -/** -* Used for benchmarking performace -* -* @method benchMark -* @param pItem {TaskItem} - TaskItem object -* @return {void} -*/ -JSGantt.benchMark = function(pItem){ - var vEndTime=new Date().getTime(); - alert(pItem + ': Elapsed time: '+((vEndTime-vBenchTime)/1000)+' seconds.'); - vBenchTime=new Date().getTime(); + for(var i=0; i=52 && vMonthStr==1) vYear--; + if (vWeekNum==1 && vMonthStr==12) vYear++; + if (vWeekNum<10) vWeekNum='0'+vWeekNum; + + vDateStr+=vYear+'-W'+vWeekNum+'-'+vDayOfWeek; + break; + default: + if (pL[pDateFormatArr[i].toLowerCase()]) vDateStr+=pL[pDateFormatArr[i].toLowerCase()]; + else vDateStr+=pDateFormatArr[i]; + break; + } + } + return vDateStr; +}; + +JSGantt.parseDateFormatStr=function(pFormatStr) +{ + var vDateStr=''; + var vComponantStr=''; + var vCurrChar=''; + var vSeparators=new RegExp('[\/\\ -.,\'":]'); + var vDateFormatArray=new Array(); + + for (var i=0; i0) project=projNode[0].getAttribute('xmlns'); + + if(project=='http://schemas.microsoft.com/project') + { + vMSP=true; + pGanttVar.setDateInputFormat('yyyy-mm-dd'); + Task=JSGantt.findXMLNode(pXmlDoc,'Task'); + if (typeof Task=='undefined')n=0; + else n=Task.length; + + var resources=JSGantt.findXMLNode(pXmlDoc,'Resource'); + if (typeof resources=='undefined'){n=0; m=0;} + else m=resources.length; + + for(i=0;i0 && uid>0) res[uid]=resname; + } + + var assignments=JSGantt.findXMLNode(pXmlDoc,'Assignment'); + if (typeof assignments=='undefined') j=0; + else j=assignments.length; + + for(i=0;i0) + { + if (resUID>0) assRes[uid]=res[resUID]; + ass[uid]=assignments[i]; + } + } + + // Store information about parent UIDs in an easily searchable form + for(i=0;i0) pars[vOutlineNumber]=uid; + if (uid>maxPID)maxPID=uid; + } + + for(i=0;i1) + { + vOutlineNumber=JSGantt.getXMLNodeValue(Task[i],'OutlineNumber',2,'0'); + pParent=pars[vOutlineNumber.substr(0, vOutlineNumber.lastIndexOf('.'))]; + } + + try {var pNotes=Task[i].getElementsByTagName('Notes')[0].childNodes[1].nodeValue; //this should be a CDATA node + } catch (error) + {pNotes ='';} + + if(typeof assRes[pID]!='undefined') var pRes=assRes[pID]; + else pRes=''; + + var predecessors=JSGantt.findXMLNode(Task[i],'PredecessorLink'); + if (typeof predecessors=='undefined') j=0; + else j=predecessors.length; + var pDepend=''; + + for(k=0;k0) + { + if (pDepend.length>0)pDepend+=','; + switch(depType) + { + case 0: pDepend+=depUID+'FF'; break; + case 1: pDepend+=depUID+'FS'; break; + case 2: pDepend+=depUID+'SF'; break; + case 3: pDepend+=depUID+'SS'; break; + default: pDepend+=depUID+'FS'; break; + } + } + } + + var pOpen=1; + var pCaption=''; + + if(pGroup>0) var pClass ='ggroupblack'; + else if(pMile>0) pClass ='gmilestone'; + else pClass ='gtaskblue'; + + // check for split tasks + + var splits=JSGantt.findXMLNode(ass[pID],'TimephasedData'); + if (typeof splits=='undefined') j=0; + else j=splits.length; + + var vSplitStart=pStart; + var vSplitEnd=pEnd; + var vSubCreated=false; + var vDepend=pDepend.replace(/,*[0-9]+[FS]F/g,''); + + for(k=0;k0) pClass ='ggroupblack'; + else if(pMile>0) pClass ='gmilestone'; + else pClass ='gtaskblue'; + } + + // Finally add the task + pGanttVar.AddTaskItem(new JSGantt.TaskItem(pID, pName, pStart, pEnd, pClass, pLink, pMile, pRes, pComp, pGroup, pParent, pOpen, pDepend, pCaption, pNotes, pGanttVar)); + } + } + } +}; + + +JSGantt.benchMark=function(pItem) +{ + var vEndTime=new Date().getTime(); + alert(pItem+': Elapsed time: '+((vEndTime-vBenchTime)/1000)+' seconds.'); + vBenchTime=new Date().getTime(); +}; + +JSGantt.getIsoWeek=function(pDate){ + // We have to compare against the monday of the first week of the year containing 04 jan *not* 01/01 + // 60*60*24*1000=86400000 + var dayMiliseconds=86400000; + var keyDay=new Date(pDate.getFullYear(),0,4,0,0,0); + var keyDayOfWeek=(keyDay.getDay()==0) ? 6 : keyDay.getDay()-1; // define monday as 0 + var firstMondayYearTime=keyDay.getTime()-(keyDayOfWeek * dayMiliseconds); + var thisDate=new Date(pDate.getFullYear(), pDate.getMonth(),pDate.getDate(),0,0,0); // This at 00:00:00 + var thisTime=thisDate.getTime(); + var daysFromFirstMonday=Math.round(((thisTime-firstMondayYearTime) / dayMiliseconds)); + var lastWeek=99; + var thisWeek=99; + + var firstMondayYear=new Date(firstMondayYearTime); + + thisWeek=Math.ceil((daysFromFirstMonday+1)/7); + + if (thisWeek<=0) thisWeek=JSGantt.getIsoWeek(new Date(pDate.getFullYear()-1,11,31,0,0,0)); + else if (thisWeek==53 && (new Date(pDate.getFullYear(),0,1,0,0,0)).getDay()!=4 && (new Date(pDate.getFullYear(),11,31,0,0,0)).getDay()!=4) thisWeek=1; + return thisWeek; +}; + +JSGantt.addListener=function (eventName, handler, control) +{ + // Check if control is a string + if (control===String(control)) control=JSGantt.findObj(control); + + if(control.addEventListener) //Standard W3C + { + return control.addEventListener(eventName, handler, false); + } + else if (control.attachEvent) //IExplore + { + return control.attachEvent('on'+eventName, handler); + } + else + { + return false; + } +}; + +JSGantt.addTooltipListeners=function(pGanttChart, pObj1, pObj2) +{ + JSGantt.addListener('mouseover', function (e) {JSGantt.showToolTip(pGanttChart, e, pObj2, null, pGanttChart.getTimer());}, pObj1); + JSGantt.addListener('mouseout', function (e) {JSGantt.delayedHide(pGanttChart, pGanttChart.vTool, pGanttChart.getTimer());}, pObj1); +}; + +JSGantt.addThisRowListeners=function(pGanttChart, pObj1, pObj2) +{ + JSGantt.addListener('mouseover', function () {pGanttChart.mouseOver(pObj1, pObj2);}, pObj1); + JSGantt.addListener('mouseover', function () {pGanttChart.mouseOver(pObj1, pObj2);}, pObj2); + JSGantt.addListener('mouseout', function () {pGanttChart.mouseOut(pObj1, pObj2);}, pObj1); + JSGantt.addListener('mouseout', function () {pGanttChart.mouseOut(pObj1, pObj2);}, pObj2); +}; + +JSGantt.addFolderListeners=function(pGanttChart, pObj, pID) +{ + JSGantt.addListener('click', function () {JSGantt.folder(pID, pGanttChart);}, pObj); +}; + +JSGantt.addFormatListeners=function(pGanttChart, pFormat, pObj) +{ + JSGantt.addListener('click', function () {JSGantt.changeFormat(pFormat, pGanttChart);}, pObj); +}; + +JSGantt.addScrollListeners=function(pGanttChart) +{ + JSGantt.addListener('scroll', function () {pGanttChart.getChartBody().scrollTop=pGanttChart.getListBody().scrollTop;}, pGanttChart.getListBody()); + JSGantt.addListener('scroll', function () {pGanttChart.getListBody().scrollTop=pGanttChart.getChartBody().scrollTop;}, pGanttChart.getChartBody()); + JSGantt.addListener('scroll', function () {pGanttChart.getChartHead().scrollLeft=pGanttChart.getChartBody().scrollLeft;}, pGanttChart.getChartBody()); + JSGantt.addListener('scroll', function () {pGanttChart.getChartBody().scrollLeft=pGanttChart.getChartHead().scrollLeft;}, pGanttChart.getChartHead()); + JSGantt.addListener('resize', function () {pGanttChart.getChartHead().scrollLeft=pGanttChart.getChartBody().scrollLeft;}, window); + JSGantt.addListener('resize', function () {pGanttChart.getListBody().scrollTop=pGanttChart.getChartBody().scrollTop;}, window); +}; diff --git a/htdocs/includes/jsgantt/jsgantt.min.js b/htdocs/includes/jsgantt/jsgantt.min.js index 2d0a23d4a0d..9ec44995993 100644 --- a/htdocs/includes/jsgantt/jsgantt.min.js +++ b/htdocs/includes/jsgantt/jsgantt.min.js @@ -1 +1,2 @@ -var JSGantt;if(!JSGantt)JSGantt={};var vTimeout=0;var vBenchTime=new Date().getTime();JSGantt.TaskItem=function(pID,pName,pStart,pEnd,pColor,pLink,pMile,pRes,pComp,pGroup,pParent,pOpen,pDepend,pCaption){var vID=pID;var vName=pName;var vStart=new Date();var vEnd=new Date();var vColor=pColor;var vLink=pLink;var vMile=pMile;var vRes=pRes;var vComp=pComp;var vGroup=pGroup;var vParent=pParent;var vOpen=pOpen;var vDepend=pDepend;var vCaption=pCaption;var vDuration='';var vLevel=0;var vNumKid=0;var vVisible=1;var x1,y1,x2,y2;if(vGroup!=1){vStart=JSGantt.parseDateStr(pStart,g.getDateInputFormat());vEnd=JSGantt.parseDateStr(pEnd,g.getDateInputFormat())}this.getID=function(){return vID};this.getName=function(){return vName};this.getStart=function(){return vStart};this.getEnd=function(){return vEnd};this.getColor=function(){return vColor};this.getLink=function(){return vLink};this.getMile=function(){return vMile};this.getDepend=function(){if(vDepend)return vDepend;else return null};this.getCaption=function(){if(vCaption)return vCaption;else return''};this.getResource=function(){if(vRes)return vRes;else return' '};this.getCompVal=function(){if(vComp)return vComp;else return 0};this.getCompStr=function(){if(vComp)return vComp+'%';else return''};this.getDuration=function(vFormat){if(vMile)vDuration='-';else if(vFormat=='hour'){tmpPer=Math.ceil((this.getEnd()-this.getStart())/(60*60*1000));if(tmpPer==1)vDuration='1 Hour';else vDuration=tmpPer+' Hours'}else if(vFormat=='minute'){tmpPer=Math.ceil((this.getEnd()-this.getStart())/(60*1000));if(tmpPer==1)vDuration='1 Minute';else vDuration=tmpPer+' Minutes'}else{tmpPer=Math.ceil((this.getEnd()-this.getStart())/(24*60*60*1000)+1);if(tmpPer==1)vDuration='1 Day';else vDuration=tmpPer+' Days'}return(vDuration)};this.getParent=function(){return vParent};this.getGroup=function(){return vGroup};this.getOpen=function(){return vOpen};this.getLevel=function(){return vLevel};this.getNumKids=function(){return vNumKid};this.getStartX=function(){return x1};this.getStartY=function(){return y1};this.getEndX=function(){return x2};this.getEndY=function(){return y2};this.getVisible=function(){return vVisible};this.setDepend=function(pDepend){vDepend=pDepend};this.setStart=function(pStart){vStart=pStart};this.setEnd=function(pEnd){vEnd=pEnd};this.setLevel=function(pLevel){vLevel=pLevel};this.setNumKid=function(pNumKid){vNumKid=pNumKid};this.setCompVal=function(pCompVal){vComp=pCompVal};this.setStartX=function(pX){x1=pX};this.setStartY=function(pY){y1=pY};this.setEndX=function(pX){x2=pX};this.setEndY=function(pY){y2=pY};this.setOpen=function(pOpen){vOpen=pOpen};this.setVisible=function(pVisible){vVisible=pVisible}};JSGantt.GanttChart=function(pGanttVar,pDiv,pFormat){var vGanttVar=pGanttVar;var vDiv=pDiv;var vFormat=pFormat;var vShowRes=1;var vShowDur=1;var vShowComp=1;var vShowStartDate=1;var vShowEndDate=1;var vDateInputFormat="mm/dd/yyyy";var vDateDisplayFormat="mm/dd/yy";var vNumUnits=0;var vCaptionType;var vDepId=1;var vTaskList=new Array();var vFormatArr=new Array("day","week","month","quarter");var vQuarterArr=new Array(1,1,1,2,2,2,3,3,3,4,4,4);var vMonthDaysArr=new Array(31,28,31,30,31,30,31,31,30,31,30,31);var vMonthArr=new Array("January","February","March","April","May","June","July","August","September","October","November","December");this.setFormatArr=function(){vFormatArr=new Array();for(var i=0;i4){vFormatArr.length=4}};this.setShowRes=function(pShow){vShowRes=pShow};this.setShowDur=function(pShow){vShowDur=pShow};this.setShowComp=function(pShow){vShowComp=pShow};this.setShowStartDate=function(pShow){vShowStartDate=pShow};this.setShowEndDate=function(pShow){vShowEndDate=pShow};this.setDateInputFormat=function(pShow){vDateInputFormat=pShow};this.setDateDisplayFormat=function(pShow){vDateDisplayFormat=pShow};this.setCaptionType=function(pType){vCaptionType=pType};this.setFormat=function(pFormat){vFormat=pFormat;this.Draw()};this.getShowRes=function(){return vShowRes};this.getShowDur=function(){return vShowDur};this.getShowComp=function(){return vShowComp};this.getShowStartDate=function(){return vShowStartDate};this.getShowEndDate=function(){return vShowEndDate};this.getDateInputFormat=function(){return vDateInputFormat};this.getDateDisplayFormat=function(){return vDateDisplayFormat};this.getCaptionType=function(){return vCaptionType};this.CalcTaskXY=function(){var vList=this.getList();var vTaskDiv;var vParDiv;var vLeft,vTop,vHeight,vWidth;for(i=0;i0){JSGantt.processRows(vTaskList,0,-1,1,1);vMinDate=JSGantt.getMinDate(vTaskList,vFormat);vMaxDate=JSGantt.getMaxDate(vTaskList,vFormat);if(vFormat=='day'){vColWidth=18;vColUnit=1}else if(vFormat=='week'){vColWidth=37;vColUnit=7}else if(vFormat=='month'){vColWidth=37;vColUnit=30}else if(vFormat=='quarter'){vColWidth=60;vColUnit=90}else if(vFormat=='hour'){vColWidth=18;vColUnit=1}else if(vFormat=='minute'){vColWidth=18;vColUnit=1}vNumDays=(Date.parse(vMaxDate)-Date.parse(vMinDate))/(24*60*60*1000);vNumUnits=vNumDays/vColUnit;vChartWidth=vNumUnits*vColWidth+1;vDayWidth=(vColWidth/vColUnit)+(1/vColUnit);vMainTable=''+'';vMainTable+=vLeftTable;vRightTable='
';if(vShowRes!=1)vNameWidth+=vStatusWidth;if(vShowDur!=1)vNameWidth+=vStatusWidth;if(vShowComp!=1)vNameWidth+=vStatusWidth;if(vShowStartDate!=1)vNameWidth+=vStatusWidth;if(vShowEndDate!=1)vNameWidth+=vStatusWidth;vLeftTable='
'+''+' '+' ';if(vShowRes==1)vLeftTable+=' ';if(vShowDur==1)vLeftTable+=' ';if(vShowComp==1)vLeftTable+=' ';if(vShowStartDate==1)vLeftTable+=' ';if(vShowEndDate==1)vLeftTable+=' ';vLeftTable+=''+' '+' ';if(vShowRes==1)vLeftTable+=' ';if(vShowDur==1)vLeftTable+=' ';if(vShowComp==1)vLeftTable+=' ';if(vShowStartDate==1)vLeftTable+=' ';if(vShowEndDate==1)vLeftTable+=' ';vLeftTable+='';for(i=0;i';vLeftTable+=' '+' ';if(vShowRes==1)vLeftTable+=' ';if(vShowDur==1)vLeftTable+=' ';if(vShowComp==1)vLeftTable+=' ';if(vShowStartDate==1)vLeftTable+=' ';if(vShowEndDate==1)vLeftTable+=' ';vLeftTable+=''}vLeftTable+=''+'
ResourceDuration% Comp.Start DateEnd Date
 ';for(j=1;j';if(vTaskList[i].getGroup()){if(vTaskList[i].getOpen()==1)vLeftTable+=' ';else vLeftTable+='+ '}else{vLeftTable+='   '}vLeftTable+=' '+vTaskList[i].getName()+''+vTaskList[i].getResource()+''+vTaskList[i].getDuration(vFormat)+''+vTaskList[i].getCompStr()+''+JSGantt.formatDateStr(vTaskList[i].getStart(),vDateDisplayFormat)+''+JSGantt.formatDateStr(vTaskList[i].getEnd(),vDateDisplayFormat)+'
  Powered by jsGantt      Format:';if(vFormatArr.join().indexOf("minute")!=-1){if(vFormat=='minute')vLeftTable+='Minute';else vLeftTable+='Minute'}if(vFormatArr.join().indexOf("hour")!=-1){if(vFormat=='hour')vLeftTable+='Hour';else vLeftTable+='Hour'}if(vFormatArr.join().indexOf("day")!=-1){if(vFormat=='day')vLeftTable+='Day';else vLeftTable+='Day'}if(vFormatArr.join().indexOf("week")!=-1){if(vFormat=='week')vLeftTable+='Week';else vLeftTable+='Week'}if(vFormatArr.join().indexOf("month")!=-1){if(vFormat=='month')vLeftTable+='Month';else vLeftTable+='Month'}if(vFormatArr.join().indexOf("quarter")!=-1){if(vFormat=='quarter')vLeftTable+='Quarter';else vLeftTable+='Quarter'}vLeftTable+='
'+'
'+''+'';vTmpDate.setFullYear(vMinDate.getFullYear(),vMinDate.getMonth(),vMinDate.getDate());vTmpDate.setHours(0);vTmpDate.setMinutes(0);while(Date.parse(vTmpDate)<=Date.parse(vMaxDate)){vStr=vTmpDate.getFullYear()+'';vStr=vStr.substring(2,4);if(vFormat=='minute'){vRightTable+='';vTmpDate.setHours(vTmpDate.getHours()+1)}if(vFormat=='hour'){vRightTable+='';vTmpDate.setDate(vTmpDate.getDate()+1)}if(vFormat=='day'){vRightTable+='';vTmpDate.setDate(vTmpDate.getDate()+1)}else if(vFormat=='week'){vRightTable+='';vTmpDate.setDate(vTmpDate.getDate()+7)}else if(vFormat=='month'){vRightTable+='';vTmpDate.setDate(vTmpDate.getDate()+1);while(vTmpDate.getDate()>1){vTmpDate.setDate(vTmpDate.getDate()+1)}}else if(vFormat=='quarter'){vRightTable+='';vTmpDate.setDate(vTmpDate.getDate()+81);while(vTmpDate.getDate()>1){vTmpDate.setDate(vTmpDate.getDate()+1)}}}vRightTable+='';vTmpDate.setFullYear(vMinDate.getFullYear(),vMinDate.getMonth(),vMinDate.getDate());vNxtDate.setFullYear(vMinDate.getFullYear(),vMinDate.getMonth(),vMinDate.getDate());vNumCols=0;while(Date.parse(vTmpDate)<=Date.parse(vMaxDate)){if(vFormat=='minute'){if(vTmpDate.getMinutes()==0)vWeekdayColor="ccccff";else vWeekdayColor="ffffff";vDateRowStr+='';vItemRowStr+='';vTmpDate.setMinutes(vTmpDate.getMinutes()+1)}else if(vFormat=='hour'){if(vTmpDate.getHours()==0)vWeekdayColor="ccccff";else vWeekdayColor="ffffff";vDateRowStr+='';vItemRowStr+='';vTmpDate.setHours(vTmpDate.getHours()+1)}else if(vFormat=='day'){if(JSGantt.formatDateStr(vCurrDate,'mm/dd/yyyy')==JSGantt.formatDateStr(vTmpDate,'mm/dd/yyyy')){vWeekdayColor="ccccff";vWeekendColor="9999ff";vWeekdayGColor="bbbbff";vWeekendGColor="8888ff"}else{vWeekdayColor="ffffff";vWeekendColor="cfcfcf";vWeekdayGColor="f3f3f3";vWeekendGColor="c3c3c3"}if(vTmpDate.getDay()%6==0){vDateRowStr+='';vItemRowStr+=''}else{vDateRowStr+='';if(JSGantt.formatDateStr(vCurrDate,'mm/dd/yyyy')==JSGantt.formatDateStr(vTmpDate,'mm/dd/yyyy'))vItemRowStr+='';else vItemRowStr+=''}vTmpDate.setDate(vTmpDate.getDate()+1)}else if(vFormat=='week'){vNxtDate.setDate(vNxtDate.getDate()+7);if(vCurrDate>=vTmpDate&&vCurrDate
'+(vTmpDate.getMonth()+1)+'/'+vTmpDate.getDate()+'
';if(vCurrDate>=vTmpDate&&vCurrDate
  
';else vItemRowStr+='
'}else{vDateRowStr+='';if(vCurrDate>=vTmpDate&&vCurrDate
  
';else vItemRowStr+='
'}vTmpDate.setDate(vTmpDate.getDate()+7)}else if(vFormat=='month'){vNxtDate.setFullYear(vTmpDate.getFullYear(),vTmpDate.getMonth(),vMonthDaysArr[vTmpDate.getMonth()]);if(vCurrDate>=vTmpDate&&vCurrDate
'+vMonthArr[vTmpDate.getMonth()].substr(0,3)+'
';if(vCurrDate>=vTmpDate&&vCurrDate
  
';else vItemRowStr+='
'}else{vDateRowStr+='';if(vCurrDate>=vTmpDate&&vCurrDate
  
';else vItemRowStr+='
'}vTmpDate.setDate(vTmpDate.getDate()+1);while(vTmpDate.getDate()>1){vTmpDate.setDate(vTmpDate.getDate()+1)}}else if(vFormat=='quarter'){vNxtDate.setDate(vNxtDate.getDate()+122);if(vTmpDate.getMonth()==0||vTmpDate.getMonth()==1||vTmpDate.getMonth()==2)vNxtDate.setFullYear(vTmpDate.getFullYear(),2,31);else if(vTmpDate.getMonth()==3||vTmpDate.getMonth()==4||vTmpDate.getMonth()==5)vNxtDate.setFullYear(vTmpDate.getFullYear(),5,30);else if(vTmpDate.getMonth()==6||vTmpDate.getMonth()==7||vTmpDate.getMonth()==8)vNxtDate.setFullYear(vTmpDate.getFullYear(),8,30);else if(vTmpDate.getMonth()==9||vTmpDate.getMonth()==10||vTmpDate.getMonth()==11)vNxtDate.setFullYear(vTmpDate.getFullYear(),11,31);if(vCurrDate>=vTmpDate&&vCurrDate
Qtr. '+vQuarterArr[vTmpDate.getMonth()]+'
';if(vCurrDate>=vTmpDate&&vCurrDate
  
';else vItemRowStr+='
'}else{vDateRowStr+='';if(vCurrDate>=vTmpDate&&vCurrDate
  
';else vItemRowStr+='
'}vTmpDate.setDate(vTmpDate.getDate()+81);while(vTmpDate.getDate()>1){vTmpDate.setDate(vTmpDate.getDate()+1)}}}vRightTable+=vDateRowStr+'';vRightTable+='
';vRightTable+=JSGantt.formatDateStr(vTmpDate,vDateDisplayFormat)+' '+vTmpDate.getHours()+':00 -'+vTmpDate.getHours()+':59 ';vRightTable+=JSGantt.formatDateStr(vTmpDate,vDateDisplayFormat)+''+JSGantt.formatDateStr(vTmpDate,vDateDisplayFormat.substring(0,5))+' - ';vTmpDate.setDate(vTmpDate.getDate()+6);vRightTable+=JSGantt.formatDateStr(vTmpDate,vDateDisplayFormat)+'`'+vStr+'`'+vStr+'`'+vStr+'
'+vTmpDate.getMinutes()+'
  
'+vTmpDate.getHours()+'
  
'+vTmpDate.getDate()+'
 
'+vTmpDate.getDate()+'
  
  
  
'+(vTmpDate.getMonth()+1)+'/'+vTmpDate.getDate()+'
  
  
'+vMonthArr[vTmpDate.getMonth()].substr(0,3)+'
  
  
Qtr. '+vQuarterArr[vTmpDate.getMonth()]+'
  
';for(i=0;i
'}vMainTable+=vRightTable+'
';vDiv.innerHTML=vMainTable}};this.mouseOver=function(pObj,pID,pPos,pType){if(pPos=='right')vID='child_'+pID;else vID='childrow_'+pID;pObj.bgColor="#ffffaa";vRowObj=JSGantt.findObj(vID);if(vRowObj)vRowObj.bgColor="#ffffaa"};this.mouseOut=function(pObj,pID,pPos,pType){if(pPos=='right')vID='child_'+pID;else vID='childrow_'+pID;pObj.bgColor="#ffffff";vRowObj=JSGantt.findObj(vID);if(vRowObj){if(pType=="group"){pObj.bgColor="#f3f3f3";vRowObj.bgColor="#f3f3f3"}else{pObj.bgColor="#ffffff";vRowObj.bgColor="#ffffff"}}}};JSGantt.isIE=function(){if(typeof document.all!='undefined'){return true}else{return false}};JSGantt.processRows=function(pList,pID,pRow,pLevel,pOpen){var vMinDate=new Date();var vMaxDate=new Date();var vMinSet=0;var vMaxSet=0;var vList=pList;var vLevel=pLevel;var i=0;var vNumKid=0;var vCompSum=0;var vVisible=pOpen;for(i=0;ivMaxDate){vMaxDate=pList[i].getEnd();vMaxSet=1};vCompSum+=pList[i].getCompVal()}}if(pRow>=0){pList[pRow].setStart(vMinDate);pList[pRow].setEnd(vMaxDate);pList[pRow].setNumKid(vNumKid);pList[pRow].setCompVal(Math.ceil(vCompSum/vNumKid))}};JSGantt.getMinDate=function getMinDate(pList,pFormat){var vDate=new Date();vDate.setFullYear(pList[0].getStart().getFullYear(),pList[0].getStart().getMonth(),pList[0].getStart().getDate());for(i=0;i0){vDate.setDate(vDate.getDate()-1)}}else if(pFormat=='week'){vDate.setDate(vDate.getDate()-7);while(vDate.getDay()%7>0){vDate.setDate(vDate.getDate()-1)}}else if(pFormat=='month'){while(vDate.getDate()>1){vDate.setDate(vDate.getDate()-1)}}else if(pFormat=='quarter'){if(vDate.getMonth()==0||vDate.getMonth()==1||vDate.getMonth()==2){vDate.setFullYear(vDate.getFullYear(),0,1)}else if(vDate.getMonth()==3||vDate.getMonth()==4||vDate.getMonth()==5){vDate.setFullYear(vDate.getFullYear(),3,1)}else if(vDate.getMonth()==6||vDate.getMonth()==7||vDate.getMonth()==8){vDate.setFullYear(vDate.getFullYear(),6,1)}else if(vDate.getMonth()==9||vDate.getMonth()==10||vDate.getMonth()==11){vDate.setFullYear(vDate.getFullYear(),9,1)}};return(vDate)};JSGantt.getMaxDate=function(pList,pFormat){var vDate=new Date();vDate.setFullYear(pList[0].getEnd().getFullYear(),pList[0].getEnd().getMonth(),pList[0].getEnd().getDate());for(i=0;iDate.parse(vDate)){vDate.setTime(Date.parse(pList[i].getEnd()))}}if(pFormat=='minute'){vDate.setHours(vDate.getHours()+1);vDate.setMinutes(59)}if(pFormat=='hour'){vDate.setHours(vDate.getHours()+2)}if(pFormat=='day'){vDate.setDate(vDate.getDate()+1);while(vDate.getDay()%6>0){vDate.setDate(vDate.getDate()+1)}}if(pFormat=='week'){vDate.setDate(vDate.getDate()+11);while(vDate.getDay()%6>0){vDate.setDate(vDate.getDate()+1)}}if(pFormat=='month'){while(vDate.getDay()>1){vDate.setDate(vDate.getDate()+1)}vDate.setDate(vDate.getDate()-1)}if(pFormat=='quarter'){if(vDate.getMonth()==0||vDate.getMonth()==1||vDate.getMonth()==2)vDate.setFullYear(vDate.getFullYear(),2,31);else if(vDate.getMonth()==3||vDate.getMonth()==4||vDate.getMonth()==5)vDate.setFullYear(vDate.getFullYear(),5,30);else if(vDate.getMonth()==6||vDate.getMonth()==7||vDate.getMonth()==8)vDate.setFullYear(vDate.getFullYear(),8,30);else if(vDate.getMonth()==9||vDate.getMonth()==10||vDate.getMonth()==11)vDate.setFullYear(vDate.getFullYear(),11,31)}return(vDate)};JSGantt.findObj=function(theObj,theDoc){var p,i,foundObj;if(!theDoc){theDoc=document}if((p=theObj.indexOf("?"))>0&&parent.frames.length){theDoc=parent.frames[theObj.substring(p+1)].document;theObj=theObj.substring(0,p)}if(!(foundObj=theDoc[theObj])&&theDoc.all){foundObj=theDoc.all[theObj]}for(i=0;!foundObj&&i-1;try{xmlDoc=new ActiveXObject("Microsoft.XMLDOM")}catch(e){try{if(is_chrome==false){xmlDoc=document.implementation.createDocument("","",null)}}catch(e){alert(e.message);return}}if(is_chrome==false){xmlDoc.async=false;xmlDoc.load(ThisFile);JSGantt.AddXMLTask(pGanttVar);xmlDoc=null;Task=null}else{JSGantt.ChromeLoadXML(ThisFile,pGanttVar);ta=null}};JSGantt.AddXMLTask=function(pGanttVar){Task=xmlDoc.getElementsByTagName("task");var n=xmlDoc.documentElement.childNodes.length;for(var i=0;i/gi);var n=ta.length;for(var i=1;i/i);if(te.length>2){var pID=te[1]}else{var pID=0}pID*=1;var te=Task.split(//i);if(te.length>2){var pName=te[1]}else{var pName="No Task Name"}var te=Task.split(//i);if(te.length>2){var pStart=te[1]}else{var pStart=""}var te=Task.split(//i);if(te.length>2){var pEnd=te[1]}else{var pEnd=""}var te=Task.split(//i);if(te.length>2){var pColor=te[1]}else{var pColor='0000ff'}var te=Task.split(//i);if(te.length>2){var pLink=te[1]}else{var pLink=""}var te=Task.split(//i);if(te.length>2){var pMile=te[1]}else{var pMile=0}pMile*=1;var te=Task.split(//i);if(te.length>2){var pRes=te[1]}else{var pRes=""}var te=Task.split(//i);if(te.length>2){var pComp=te[1]}else{var pComp=0}pComp*=1;var te=Task.split(//i);if(te.length>2){var pGroup=te[1]}else{var pGroup=0}pGroup*=1;var te=Task.split(//i);if(te.length>2){var pParent=te[1]}else{var pParent=0}pParent*=1;var te=Task.split(//i);if(te.length>2){var pOpen=te[1]}else{var pOpen=1}pOpen*=1;var te=Task.split(//i);if(te.length>2){var pDepend=te[1]}else{var pDepend=""}if(pDepend.length==0){pDepend=''}var te=Task.split(//i);if(te.length>2){var pCaption=te[1]}else{var pCaption=""}pGanttVar.AddTaskItem(new JSGantt.TaskItem(pID,pName,pStart,pEnd,pColor,pLink,pMile,pRes,pComp,pGroup,pParent,pOpen,pDepend,pCaption))}}};JSGantt.benchMark=function(pItem){var vEndTime=new Date().getTime();alert(pItem+': Elapsed time: '+((vEndTime-vBenchTime)/1000)+' seconds.');vBenchTime=new Date().getTime()}; \ No newline at end of file +var JSGantt;JSGantt||(JSGantt={});var vBenchTime=(new Date).getTime();JSGantt.isIE=function(){return"undefined"!=typeof document.all?"pageXOffset"in window?!1:!0:!1},JSGantt.TaskItem=function(t,e,n,a,o,i,s,r,l,d,u,h,c,f,p,m){var v,S,w,D,T,y=parseInt(document.createTextNode(t).data),L=document.createTextNode(e).data,N=new Date(0),G=new Date(0),M=null,J=null,k=document.createTextNode(o).data,C=document.createTextNode(i).data,I=parseInt(document.createTextNode(s).data),F=document.createTextNode(r).data,b=parseFloat(document.createTextNode(l).data),H=parseInt(document.createTextNode(d).data),x=document.createTextNode(u).data,E=2==H?1:parseInt(document.createTextNode(h).data),X=new Array,Y=new Array,O=document.createTextNode(f).data,R="",A=0,V=0,P=1,B=0,U=!1,j=null,W=null,q=m instanceof JSGantt.GanttChart?m:g,_=null,Q=null,z=null,K=null,Z=null;if(T=document.createElement("span"),T.className="gTaskNotes",null!=p&&(T.innerHTML=p,JSGantt.stripUnwanted(T)),null!=n&&""!=n&&(N=n instanceof Date?n:JSGantt.parseDateStr(document.createTextNode(n).data,q.getDateInputFormat()),M=N),null!=a&&""!=a&&(G=a instanceof Date?a:JSGantt.parseDateStr(document.createTextNode(a).data,q.getDateInputFormat()),J=G),null!=c)for(var $=c+"",tt=$.split(","),et=tt.length,nt=0;et>nt;nt++)-1!=tt[nt].toUpperCase().indexOf("SS")?(X[nt]=tt[nt].substring(0,tt[nt].toUpperCase().indexOf("SS")),Y[nt]="SS"):-1!=tt[nt].toUpperCase().indexOf("FF")?(X[nt]=tt[nt].substring(0,tt[nt].toUpperCase().indexOf("FF")),Y[nt]="FF"):-1!=tt[nt].toUpperCase().indexOf("SF")?(X[nt]=tt[nt].substring(0,tt[nt].toUpperCase().indexOf("SF")),Y[nt]="SF"):-1!=tt[nt].toUpperCase().indexOf("FS")?(X[nt]=tt[nt].substring(0,tt[nt].toUpperCase().indexOf("FS")),Y[nt]="FS"):(X[nt]=tt[nt],Y[nt]="FS");this.getID=function(){return y},this.getName=function(){return L},this.getStart=function(){return N},this.getEnd=function(){return G},this.getGroupMinStart=function(){return M},this.getGroupMinEnd=function(){return J},this.getClass=function(){return k},this.getLink=function(){return C},this.getMile=function(){return I},this.getDepend=function(){return X?X:null},this.getDepType=function(){return Y?Y:null},this.getCaption=function(){return O?O:""},this.getResource=function(){return F?F:" "},this.getCompVal=function(){return b?b:0},this.getCompStr=function(){return b?b+"%":""},this.getNotes=function(){return T},this.getSortIdx=function(){return B},this.getToDelete=function(){return U},this.getDuration=function(t,e){if(I)R="-";else{var n=new Date(this.getEnd().getTime()),a=null;switch(t){case"week":a="day";break;case"month":a="week";break;case"quarter":a="month";break;default:a=t}(n.getTime()-6e4*n.getTimezoneOffset())%864e5==0&&(n=new Date(n.getFullYear(),n.getMonth(),n.getDate()+1,n.getHours(),n.getMinutes(),n.getSeconds()));var o=JSGantt.getOffset(this.getStart(),n,999,a)/1e3;switch(Math.floor(o)!=o&&(o=Math.round(10*o)/10),a){case"hour":R=o+" "+(1!=o?e.hrs:e.hr);break;case"day":R=o+" "+(1!=o?e.dys:e.dy);break;case"week":R=o+" "+(1!=o?e.wks:e.wk);break;case"month":R=o+" "+(1!=o?e.mths:e.mth);break;case"quarter":R=o+" "+(1!=o?e.qtrs:e.qtr)}}return R},this.getParent=function(){return x},this.getGroup=function(){return H},this.getOpen=function(){return E},this.getLevel=function(){return A},this.getNumKids=function(){return V},this.getStartX=function(){return v},this.getStartY=function(){return S},this.getEndX=function(){return w},this.getEndY=function(){return D},this.getVisible=function(){return P},this.getParItem=function(){return j},this.getCellDiv=function(){return W},this.getBarDiv=function(){return _},this.getTaskDiv=function(){return Q},this.getChildRow=function(){return K},this.getListChildRow=function(){return z},this.getGroupSpan=function(){return Z},this.setStart=function(t){t instanceof Date&&(N=t)},this.setEnd=function(t){t instanceof Date&&(G=t)},this.setGroupMinStart=function(t){t instanceof Date&&(M=t)},this.setGroupMinEnd=function(t){t instanceof Date&&(J=t)},this.setLevel=function(t){A=parseInt(document.createTextNode(t).data)},this.setNumKid=function(t){V=parseInt(document.createTextNode(t).data)},this.setCompVal=function(t){b=parseFloat(document.createTextNode(t).data)},this.setStartX=function(t){v=parseInt(document.createTextNode(t).data)},this.setStartY=function(t){S=parseInt(document.createTextNode(t).data)},this.setEndX=function(t){w=parseInt(document.createTextNode(t).data)},this.setEndY=function(t){D=parseInt(document.createTextNode(t).data)},this.setOpen=function(t){E=parseInt(document.createTextNode(t).data)},this.setVisible=function(t){P=parseInt(document.createTextNode(t).data)},this.setSortIdx=function(t){B=parseInt(document.createTextNode(t).data)},this.setToDelete=function(t){U=t?!0:!1},this.setParItem=function(t){t instanceof JSGantt.TaskItem&&(j=t)},this.setCellDiv=function(t){("function"!=typeof HTMLDivElement||t instanceof HTMLDivElement)&&(W=t)},this.setGroup=function(t){H=parseInt(document.createTextNode(t).data)},this.setBarDiv=function(t){("function"!=typeof HTMLDivElement||t instanceof HTMLDivElement)&&(_=t)},this.setTaskDiv=function(t){("function"!=typeof HTMLDivElement||t instanceof HTMLDivElement)&&(Q=t)},this.setChildRow=function(t){("function"!=typeof HTMLTableRowElement||t instanceof HTMLTableRowElement)&&(K=t)},this.setListChildRow=function(t){("function"!=typeof HTMLTableRowElement||t instanceof HTMLTableRowElement)&&(z=t)},this.setGroupSpan=function(t){("function"!=typeof HTMLSpanElement||t instanceof HTMLSpanElement)&&(Z=t)}},JSGantt.GanttChart=function(t,e){var n,a=t,o=e,i=null,s=1,r=1,l=1,g=1,d=1,u=25e3,h=1,c=1,f=1,p=1,m=1,v=1,S=1,w=1,D=1,T=1,y=1,L=1,N=1,G=1,M=new Array("top"),J="yyyy-mm-dd",k=JSGantt.parseDateFormatStr("dd/mm/yyyy"),C=JSGantt.parseDateFormatStr("dd month yyyy"),I=JSGantt.parseDateFormatStr("day dd month yyyy"),F=JSGantt.parseDateFormatStr("HH"),b=JSGantt.parseDateFormatStr("dd/mm/yyyy"),H=JSGantt.parseDateFormatStr("dd"),x=JSGantt.parseDateFormatStr("yyyy"),E=JSGantt.parseDateFormatStr("dd/mm"),X=JSGantt.parseDateFormatStr("yyyy"),Y=JSGantt.parseDateFormatStr("mon"),O=JSGantt.parseDateFormatStr("yyyy"),R=JSGantt.parseDateFormatStr("qq"),A=(JSGantt.parseDateFormatStr("dd/mm/yyyy"),1),V=new Array,P=new Array("hour","day","week","month","quarter"),B=(new Array(31,28,31,30,31,30,31,31,30,31,30,31),!0),U=8,j="",W=18,q=18,_=36,Q=36,z=18,K=20,Z=-1,$=null,tt=null,et=null,nt=null,at=null,ot=20;this.setUseFade=function(t){s=t},this.setUseMove=function(t){r=t},this.setUseRowHlt=function(t){l=t},this.setUseToolTip=function(t){g=t},this.setUseSort=function(t){d=t},this.setUseSingleCell=function(t){u=1*t},this.setFormatArr=function(){var t="hour day week month quarter";P=new Array;for(var e=0,n=0;e1){P[n++]=arguments[e].toLowerCase();var a=new RegExp("(?:^|s)"+arguments[e]+"(?!S)","g");t=t.replace(a,"")}},this.setShowRes=function(t){h=t},this.setShowDur=function(t){c=t},this.setShowComp=function(t){f=t},this.setShowStartDate=function(t){p=t},this.setShowEndDate=function(t){m=t},this.setShowTaskInfoRes=function(t){S=t},this.setShowTaskInfoDur=function(t){w=t},this.setShowTaskInfoComp=function(t){D=t},this.setShowTaskInfoStartDate=function(t){T=t},this.setShowTaskInfoEndDate=function(t){y=t},this.setShowTaskInfoNotes=function(t){L=t},this.setShowTaskInfoLink=function(t){N=t},this.setShowEndWeekDate=function(t){v=t},this.setShowSelector=function(){var t="top bottom";M=new Array;for(var e=0,n=0;e1){M[n++]=arguments[e].toLowerCase();var a=new RegExp("(?:^|s)"+arguments[e]+"(?!S)","g");t=t.replace(a,"")}},this.setShowDeps=function(t){G=t},this.setDateInputFormat=function(t){J=t},this.setDateTaskTableDisplayFormat=function(t){k=JSGantt.parseDateFormatStr(t)},this.setDateTaskDisplayFormat=function(t){C=JSGantt.parseDateFormatStr(t)},this.setHourMajorDateDisplayFormat=function(t){I=JSGantt.parseDateFormatStr(t)},this.setHourMinorDateDisplayFormat=function(t){F=JSGantt.parseDateFormatStr(t)},this.setDayMajorDateDisplayFormat=function(t){b=JSGantt.parseDateFormatStr(t)},this.setDayMinorDateDisplayFormat=function(t){H=JSGantt.parseDateFormatStr(t)},this.setWeekMajorDateDisplayFormat=function(t){x=JSGantt.parseDateFormatStr(t)},this.setWeekMinorDateDisplayFormat=function(t){E=JSGantt.parseDateFormatStr(t)},this.setMonthMajorDateDisplayFormat=function(t){X=JSGantt.parseDateFormatStr(t)},this.setMonthMinorDateDisplayFormat=function(t){Y=JSGantt.parseDateFormatStr(t)},this.setQuarterMajorDateDisplayFormat=function(t){O=JSGantt.parseDateFormatStr(t)},this.setQuarterMinorDateDisplayFormat=function(t){R=JSGantt.parseDateFormatStr(t)},this.setCaptionType=function(t){n=t},this.setFormat=function(t){o=t,this.Draw()},this.setMinGpLen=function(t){U=t},this.setScrollTo=function(t){j=t},this.setHourColWidth=function(t){W=t},this.setDayColWidth=function(t){q=t},this.setWeekColWidth=function(t){_=t},this.setMonthColWidth=function(t){Q=t},this.setQuarterColWidth=function(t){z=t},this.setRowHeight=function(t){K=t},this.setLang=function(t){vLangs[t]&&(vLang=t)},this.setChartBody=function(t){("function"!=typeof HTMLDivElement||t instanceof HTMLDivElement)&&($=t)},this.setChartHead=function(t){("function"!=typeof HTMLDivElement||t instanceof HTMLDivElement)&&(tt=t)},this.setListBody=function(t){("function"!=typeof HTMLDivElement||t instanceof HTMLDivElement)&&(et=t)},this.setChartTable=function(t){("function"!=typeof HTMLTableElement||t instanceof HTMLTableElement)&&(nt=t)},this.setLines=function(t){("function"!=typeof HTMLDivElement||t instanceof HTMLDivElement)&&(at=t)},this.setTimer=function(t){ot=1*t},this.addLang=function(t,e){if(!vLangs[t]){vLangs[t]=new Object;for(var n in vLangs.en)vLangs[t][n]=e[n]?document.createTextNode(e[n]).data:vLangs.en[n]}},this.getDivId=function(){return i},this.getUseFade=function(){return s},this.getUseMove=function(){return r},this.getUseRowHlt=function(){return l},this.getUseToolTip=function(){return g},this.getUseSort=function(){return d},this.getUseSingleCell=function(){return u},this.getFormatArr=function(){return P},this.getShowRes=function(){return h},this.getShowDur=function(){return c},this.getShowComp=function(){return f},this.getShowStartDate=function(){return p},this.getShowEndDate=function(){return m},this.getShowTaskInfoRes=function(){return S},this.getShowTaskInfoDur=function(){return w},this.getShowTaskInfoComp=function(){return D},this.getShowTaskInfoStartDate=function(){return T},this.getShowTaskInfoEndDate=function(){return y},this.getShowTaskInfoNotes=function(){return L},this.getShowTaskInfoLink=function(){return N},this.getShowEndWeekDate=function(){return v},this.getShowSelector=function(){return M},this.getShowDeps=function(){return G},this.getDateInputFormat=function(){return J},this.getDateTaskTableDisplayFormat=function(){return k},this.getDateTaskDisplayFormat=function(){return C},this.getHourMajorDateDisplayFormat=function(){return I},this.getHourMinorDateDisplayFormat=function(){return F},this.getDayMajorDateDisplayFormat=function(){return b},this.getDayMinorDateDisplayFormat=function(){return H},this.getWeekMajorDateDisplayFormat=function(){return x},this.getWeekMinorDateDisplayFormat=function(){return E},this.getMonthMajorDateDisplayFormat=function(){return X},this.getMonthMinorDateDisplayFormat=function(){return Y},this.getQuarterMajorDateDisplayFormat=function(){return O},this.getQuarterMinorDateDisplayFormat=function(){return R},this.getCaptionType=function(){return n},this.getMinGpLen=function(){return U},this.getScrollTo=function(){return j},this.getHourColWidth=function(){return W},this.getDayColWidth=function(){return q},this.getWeekColWidth=function(){return _},this.getMonthColWidth=function(){return Q},this.getQuarterColWidth=function(){return z},this.getRowHeight=function(){return K},this.getChartBody=function(){return $},this.getChartHead=function(){return tt},this.getListBody=function(){return et},this.getChartTable=function(){return nt},this.getLines=function(){return at},this.getTimer=function(){return ot},this.CalcTaskXY=function(){for(var t,e,n,a,o=this.getList(),i=Math.floor(this.getRowHeight()/2),s=0;sa&&(g*=-1),o){case"SF":l*=-1,n>=t-10&&e!=a&&(r=!0),s=-1;break;case"SS":n>t?l*=-1:l=n-t-2*l;break;case"FF":n>=t&&(l=n-t+2*l),s=-1;break;default:t+10>=n&&e!=a&&(r=!0)}r?(this.sLine(t,e,t+l,e,i),this.sLine(t+l,e,t+l,a-g,i),this.sLine(t+l,a-g,n-2*l,a-g,i),this.sLine(n-2*l,a-g,n-2*l,a,i),this.sLine(n-2*l,a,n-1*s,a,i)):e!=a?(this.sLine(t,e,t+l,e,i),this.sLine(t+l,e,t+l,a,i),this.sLine(t+l,a,n-1*s,a,i)):this.sLine(t,e,n-1*s,a,i);var d=this.sLine(n,a,n-3-(0>s?1:0),a-3-(0>s?1:0),i+"Arw");d.style.width="0px",d.style.height="0px"},this.DrawDependencies=function(){if(1==this.getShowDeps()){this.CalcTaskXY(),this.clearDependencies();for(var t=this.getList(),e=0;e0&&1==t[e].getVisible())for(var i=0;o>i;i++){var s=this.getArrayLocationByID(n[i]);s>=0&&2!=t[s].getGroup()&&1==t[s].getVisible()&&("SS"==a[i]?this.drawDependency(t[s].getStartX()-1,t[s].getStartY(),t[e].getStartX()-1,t[e].getStartY(),"SS","gDepSS"):"FF"==a[i]?this.drawDependency(t[s].getEndX(),t[s].getEndY(),t[e].getEndX(),t[e].getEndY(),"FF","gDepFF"):"SF"==a[i]?this.drawDependency(t[s].getStartX()-1,t[s].getStartY(),t[e].getEndX(),t[e].getEndY(),"SF","gDepSF"):"FS"==a[i]&&this.drawDependency(t[s].getEndX(),t[s].getEndY(),t[e].getStartX()-1,t[e].getStartY(),"FS","gDepFS"))}}}Z>=0&&this.sLine(Z,0,Z,this.getChartTable().offsetHeight-1,"gCurDate")},this.getArrayLocationByID=function(t){for(var e=this.getList(),n=0;n0){B&&JSGantt.processRows(V,0,-1,1,1,this.getUseSort()),B=!1,e=JSGantt.getMinDate(V,o),t=JSGantt.getMaxDate(V,o),"day"==o?T=q:"week"==o?T=_:"month"==o?T=Q:"quarter"==o?T=z:"hour"==o&&(T=W);var y=document.createDocumentFragment(),L=this.newNode(y,"div",i+"glisthead","glistlbl gcontainercol"),N=this.newNode(L,"table",null,"gtasktableh"),G=this.newNode(N,"tbody"),M=this.newNode(G,"tr");this.newNode(M,"td",null,"gtasklist"," ");var J=this.newNode(M,"td",null,"gspanning gtaskname");J.appendChild(this.drawSelector("top")),1==h&&this.newNode(M,"td",null,"gspanning gresource"," "),1==c&&this.newNode(M,"td",null,"gspanning gduration"," "),1==f&&this.newNode(M,"td",null,"gspanning gpccomplete"," "),1==p&&this.newNode(M,"td",null,"gspanning gstartdate"," "),1==m&&this.newNode(M,"td",null,"gspanning genddate"," "),M=this.newNode(G,"tr"),this.newNode(M,"td",null,"gtasklist"," "),this.newNode(M,"td",null,"gtaskname"," "),1==h&&this.newNode(M,"td",null,"gtaskheading gresource",vLangs[vLang].resource),1==c&&this.newNode(M,"td",null,"gtaskheading gduration",vLangs[vLang].duration),1==f&&this.newNode(M,"td",null,"gtaskheading gpccomplete",vLangs[vLang].comp),1==p&&this.newNode(M,"td",null,"gtaskheading gstartdate",vLangs[vLang].startdate),1==m&&this.newNode(M,"td",null,"gtaskheading genddate",vLangs[vLang].enddate),L=this.newNode(y,"div",null,"glabelfooter");var C=document.createDocumentFragment(),A=this.newNode(C,"div",i+"glistbody","glistgrid gcontainercol");for(this.setListBody(A),N=this.newNode(A,"table",null,"gtasktable"),G=this.newNode(N,"tbody"),st=0;st=n&&(J=this.newNode(M,"td",null,at),this.newNode(J,"div",null,null,JSGantt.formatDateStr(n,H,vLangs[vLang]),T),g++),n.setDate(n.getDate()+1);else if("week"==o)t>=n&&(J=this.newNode(M,"td",null,at),this.newNode(J,"div",null,null,JSGantt.formatDateStr(n,E,vLangs[vLang]),T),g++),n.setDate(n.getDate()+7);else if("month"==o)for(t>=n&&(J=this.newNode(M,"td",null,at),this.newNode(J,"div",null,null,JSGantt.formatDateStr(n,Y,vLangs[vLang]),T),g++),n.setDate(n.getDate()+1);n.getDate()>1;)n.setDate(n.getDate()+1);else if("quarter"==o)for(t>=n&&(J=this.newNode(M,"td",null,at),this.newNode(J,"div",null,null,JSGantt.formatDateStr(n,R,vLangs[vLang]),T),g++),n.setDate(n.getDate()+81);n.getDate()>1;)n.setDate(n.getDate()+1);else if("hour"==o){for(st=n.getHours();24>st;st++)n.setHours(st),t>=n&&(J=this.newNode(M,"td",null,at),this.newNode(J,"div",null,null,JSGantt.formatDateStr(n,F,vLangs[vLang]),T),g++);n.setHours(0),n.setDate(n.getDate()+1)}}D=M,s=g*(T+1)+1,0!=u&&g*d>u&&(S=!0),this.newNode(L,"div",null,"rhscrpad",null,null,s+1);var it=document.createDocumentFragment();L=this.newNode(it,"div",i+"gchartbody","gchartgrid gcontainercol"),this.setChartBody(L),N=this.newNode(L,"table",i+"chartTable","gcharttable",null,s),this.setChartTable(N),this.newNode(L,"div",null,"rhscrpad",null,null,s+1),G=this.newNode(N,"tbody");var st=0,rt=0;for(st=0;strt;rt++)ut="day"!=o||rt%7!=4&&rt%7!=5?"gtaskcell":"gtaskcellwkend",this.newNode(M,"td",null,ut,"  ")}else if(l=r-1,V[st].getGroup()){if(l=l>U&&2*U>l?2*U:l,l=U>l?U:l,M=this.newNode(G,"tr",i+"childrow_"+w,(2==V[st].getGroup()?"glineitem gitem":"ggroupitem ggroup")+o,null,null,null,0==V[st].getVisible()?"none":null),V[st].setChildRow(M),JSGantt.addThisRowListeners(this,V[st].getListChildRow(),M),J=this.newNode(M,"td",null,"gtaskcell"),L=this.newNode(J,"div",null,"gtaskcelldiv","  "),V[st].setCellDiv(L),1==V[st].getGroup()&&(L=this.newNode(L,"div",i+"bardiv_"+w,"gtaskbarcontainer",null,l,s),V[st].setBarDiv(L),A=this.newNode(L,"div",i+"taskbar_"+w,V[st].getClass(),null,l),V[st].setTaskDiv(A),this.newNode(A,"div",i+"complete_"+w,V[st].getClass()+"complete",null,V[st].getCompStr()),this.newNode(L,"div",null,V[st].getClass()+"endpointleft"),l>=2*U&&this.newNode(L,"div",null,V[st].getClass()+"endpointright"),ft="ggroupcaption"),!S&&!dt)for(ut="",rt=0;g-1>rt;rt++)ut="day"!=o||rt%7!=4&&rt%7!=5?"gtaskcell":"gtaskcellwkend",this.newNode(M,"td",null,ut,"  ")}else if(l=0>=l?1:l,dt?L=V[st].getParItem().getCellDiv():(M=this.newNode(G,"tr",i+"childrow_"+w,"glineitem gitem"+o,null,null,null,0==V[st].getVisible()?"none":null),V[st].setChildRow(M),JSGantt.addThisRowListeners(this,V[st].getListChildRow(),M),J=this.newNode(M,"td",null,"gtaskcell"),L=this.newNode(J,"div",null,"gtaskcelldiv","  ")),L=this.newNode(L,"div",i+"bardiv_"+w,"gtaskbarcontainer",null,l,s),V[st].setBarDiv(L),A=this.newNode(L,"div",i+"taskbar_"+w,V[st].getClass(),null,l),V[st].setTaskDiv(A),this.newNode(A,"div",i+"complete_"+w,V[st].getClass()+"complete",null,V[st].getCompStr()),dt&&(ht=V[st].getParItem()),(!dt||dt&&V[st].getParItem().getEnd()==V[st].getEnd())&&(ft="gcaption"),!S&&!dt)for(ut="",rt=0;g-1>rt;rt++)ut="day"!=o||rt%7!=4&&rt%7!=5?"gtaskcell":"gtaskcellwkend",this.newNode(M,"td",null,ut,"  ");if(this.getCaptionType()&&null!==ft){switch(this.getCaptionType()){case"Caption":var ct=ht.getCaption();break;case"Resource":ct=ht.getResource();break;case"Duration":ct=ht.getDuration(o,vLangs[vLang]);break;case"Complete":ct=ht.getCompStr()}this.newNode(L,"div",null,ft,ct,120,"gmilecaption"==ft?12:0)}V[st].getTaskDiv()&&L&&(A=this.newNode(L,"div",i+"tt"+w,null,null,null,null,"none"),A.appendChild(this.createTaskInfo(V[st])),JSGantt.addTooltipListeners(this,V[st].getTaskDiv(),A))}for(S||G.appendChild(D.cloneNode(!0));a.hasChildNodes();)a.removeChild(a.firstChild);if(L=this.newNode(a,"div",null,"gchartcontainer"),L.appendChild(et),L.appendChild(y),L.appendChild(it),L.appendChild(C),this.newNode(L,"div",null,"ggridfooter"),A=this.newNode(this.getChartBody(),"div",i+"Lines","glinediv"),A.style.visibility="hidden",this.setLines(A),JSGantt.addScrollListeners(this),""!=j){var pt=new Date(e.getTime()),mt=0;"px"==j.substr(0,2)?mt=parseInt(j.substr(2)):(pt=JSGantt.parseDateStr(j,this.getDateInputFormat()),"hour"==o?pt.setMinutes(0,0,0):pt.setHours(0,0,0,0),mt=JSGantt.getOffset(e,pt,T,o)),this.getChartBody().scrollLeft=mt}Z=e.getTime()<=(new Date).getTime()&&t.getTime()>=(new Date).getTime()?JSGantt.getOffset(e,new Date,T,o):-1,this.DrawDependencies()}},this.mouseOver=function(t,e){this.getUseRowHlt()&&(t.className+=" gitemhighlight",e.className+=" gitemhighlight")},this.mouseOut=function(t,e){this.getUseRowHlt()&&(t.className=t.className.replace(/(?:^|\s)gitemhighlight(?!\S)/g,""),e.className=e.className.replace(/(?:^|\s)gitemhighlight(?!\S)/g,""))},this.drawSelector=function(t){for(var e=document.createDocumentFragment(),n=!1,a=0;a=0&&a",o+=""+V[a].getID()+"",o+=""+V[a].getName()+"",o+=""+JSGantt.formatDateStr(V[a].getStart(),i,vLangs[vLang])+"",o+=""+JSGantt.formatDateStr(V[a].getEnd(),i,vLangs[vLang])+"",o+=""+V[a].getClass()+"",o+=""+V[a].getLink()+"",o+=""+V[a].getMile()+""," "!=V[a].getResource()&&(o+=""+V[a].getResource()+""),o+=""+V[a].getCompVal()+"",o+=""+V[a].getGroup()+"",o+=""+V[a].getParent()+"",o+=""+V[a].getOpen()+"",o+="";var s=V[a].getDepend();for(n=0;n0&&(o+=","),s[n]>0&&(o+=s[n]+V[a].getDepType()[n]);o+="",o+=""+V[a].getCaption()+"";var r=document.createDocumentFragment(),l=this.newNode(r,"div",null,null,V[a].getNotes().innerHTML);o+=""+l.innerHTML+"",o+=""}return o},a&&"div"==a.nodeName.toLowerCase()&&(i=a.id)},JSGantt.updateFlyingObj=function(t,e,n){var a=3,o=5,i=3,s=15,r=t?t.clientX:window.event.clientX,l=t?t.clientY:window.event.clientY,g=document.documentElement.clientWidth||document.getElementsByTagName("body")[0].clientWidth,d=document.documentElement.clientHeight||document.getElementsByTagName("body")[0].clientHeight,u=r,h=l;if("microsoft internet explorer"==navigator.appName.toLowerCase()){r-=document.documentElement.clientLeft,l-=document.documentElement.clientTop;var c=JSGantt.getZoomFactor();1!=c&&(r=Math.round(r/c),l=Math.round(l/c))}var f=JSGantt.getScrollPositions();u=r-o-e.vTool.offsetWidth<0?r+s+e.vTool.offsetWidth>g?f.x:r+f.x+s:r+f.x-o-e.vTool.offsetWidth,h=l+i+e.vTool.offsetHeight>d?l-a-e.vTool.offsetHeight<0?f.y:l+f.y-a-e.vTool.offsetHeight:l+f.y+i,e.getUseMove()?(clearInterval(e.vTool.moveInterval),e.vTool.moveInterval=setInterval(function(){JSGantt.moveToolTip(u,h,e.vTool,n)},n)):(e.vTool.style.left=u+"px", + e.vTool.style.top=h+"px")},JSGantt.showToolTip=function(t,e,n,a,o){var i=t.getDivId()+"JSGanttToolTip",s=500,r=100,l=n.id;t.getUseToolTip()&&(null==t.vTool&&(t.vTool=document.createElement("div"),t.vTool.id=i,t.vTool.className="JSGanttToolTip",t.vTool.vToolCont=document.createElement("div"),t.vTool.vToolCont.id=i+"cont",t.vTool.vToolCont.className="JSGanttToolTipcont",t.vTool.vToolCont.setAttribute("showing",""),t.vTool.appendChild(t.vTool.vToolCont),document.body.appendChild(t.vTool),t.vTool.style.opacity=0,t.vTool.setAttribute("currentOpacity",0),t.vTool.setAttribute("fadeIncrement",10),t.vTool.setAttribute("moveSpeed",10),t.vTool.style.filter="alpha(opacity=0)",t.vTool.style.visibility="hidden",t.vTool.style.left=Math.floor((e?e.clientX:window.event.clientX)/2)+"px",t.vTool.style.top=Math.floor((e?e.clientY:window.event.clientY)/2)+"px",JSGantt.addListener("mouseover",function(){clearTimeout(t.vTool.delayTimeout)},t.vTool),JSGantt.addListener("mouseout",function(){JSGantt.delayedHide(t,t.vTool,o)},t.vTool)),clearTimeout(t.vTool.delayTimeout),(t.vTool.vToolCont.getAttribute("showing")!=l||"visible"!=t.vTool.style.visibility)&&(t.vTool.vToolCont.getAttribute("showing")!=l&&(t.vTool.vToolCont.setAttribute("showing",l),t.vTool.vToolCont.innerHTML=n.innerHTML,JSGantt.stripIds(t.vTool.vToolCont)),t.vTool.style.visibility="visible",JSGantt.updateFlyingObj(e,t,o),t.vTool.style.width=a?a+"px":"auto",!a&&JSGantt.isIE()&&(t.vTool.style.width=t.vTool.offsetWidth),t.vTool.offsetWidth>s&&(t.vTool.style.width=s+"px")),t.getUseFade()?(clearInterval(t.vTool.fadeInterval),t.vTool.fadeInterval=setInterval(function(){JSGantt.fadeToolTip(1,t.vTool,r)},o)):(t.vTool.style.opacity=.01*r,t.vTool.style.filter="alpha(opacity="+r+")"))},JSGantt.stripIds=function(t){for(var e=0;en-i&&1==t?s=n-i:a>o&&-1==t&&(s=i),o=i+s*t,e.style.opacity=.01*o,e.style.filter="alpha(opacity="+o+")",e.setAttribute("currentOpacity",o)}else clearInterval(e.fadeInterval),-1==t&&(e.style.opacity=0,e.style.filter="alpha(opacity=0)",e.style.visibility="hidden")},JSGantt.moveToolTip=function(t,e,n){var a=parseInt(n.getAttribute("moveSpeed")),o=parseInt(n.style.left),i=parseInt(n.style.top);"visible"!=n.style.visibility?(n.style.left=t+"px",n.style.top=e+"px",clearInterval(n.moveInterval)):t!=o&&e!=i?(o+=Math.ceil((t-o)/a),i+=Math.ceil((e-i)/a),n.style.left=o+"px",n.style.top=i+"px"):clearInterval(n.moveInterval)},JSGantt.getZoomFactor=function(){var t=1;if(document.body.getBoundingClientRect){var e=document.body.getBoundingClientRect(),n=e.right-e.left,a=document.body.offsetWidth;t=Math.round(n/a*100)/100}return t},JSGantt.getScrollPositions=function(){var t=window.pageXOffset,e=window.pageYOffset;if(!("pageXOffset"in window)){var n=JSGantt.getZoomFactor();t=Math.round(document.documentElement.scrollLeft/n),e=Math.round(document.documentElement.scrollTop/n)}return{x:t,y:e}},JSGantt.getOffset=function(t,e,n,a){var o=new Array(31,28,31,30,31,30,31,31,30,31,30,31),i=new Date(t.getTime()),s=new Date(e.getTime()),r=0,l=Date.UTC(i.getFullYear(),i.getMonth(),i.getDate(),i.getHours(),0,0),g=Date.UTC(s.getFullYear(),s.getMonth(),s.getDate(),s.getHours(),0,0),d=(g-l)/36e5;if("day"==a)r=Math.ceil(d/24*(n+1));else if("week"==a)r=Math.ceil(d/24*(n+1)/7);else if("month"==a){var u=12*(s.getFullYear()-i.getFullYear())+(s.getMonth()-i.getMonth()),h=new Date(s.getTime());h.setDate(i.getDate());var c=(s.getTime()-h.getTime())/864e5;r=Math.ceil(u*(n+1)+c*(n/o[s.getMonth()]))}else if("quarter"==a)u=12*(s.getFullYear()-i.getFullYear())+(s.getMonth()-i.getMonth()),h=new Date(s.getTime()),h.setDate(i.getDate()),c=(s.getTime()-h.getTime())/864e5,r=Math.ceil(u*((n+1)/3)+c*(n/90));else if("hour"==a){h=new Date(s.getTime()),h.setMinutes(i.getMinutes(),0);var f=(s.getTime()-h.getTime())/36e5;r=Math.ceil(d*(n+1)+f*n)}return r},JSGantt.processRows=function(t,e,n,a,o,i){var s=new Date,r=new Date,l=o,g=null,d=0,u=0,h=0,c=0,f=a,p=t,m=!1,v=0;for(v=0;v=0&&t[v].getID()==e&&(g=t[v]);for(v=0;vr)&&(r=t[v].getEnd(),h=1),d+=t[v].getCompVal(),t[v].setSortIdx(v*t.length)}if(n>=0&&(null!=t[n].getGroupMinStart()&&t[n].getGroupMinStart()r&&(r=t[n].getGroupMinEnd()),t[n].setStart(s),t[n].setEnd(r),t[n].setNumKid(c),t[n].setCompVal(Math.ceil(d/c))),0==e&&1==i&&(JSGantt.sortTasks(t,0,0),t.sort(function(t,e){return t.getSortIdx()-e.getSortIdx()})),0==e&&1!=i){for(v=0;v0&&o.sort(function(t,e){var n=t.getStart().getTime()-e.getStart().getTime();return 0==n&&(n=t.getEnd().getTime()-e.getEnd().getTime()),0==n?t.getID()-e.getID():n});for(var s=0;s1;)n.setDate(n.getDate()-1);else if("quarter"==e)n.setDate(n.getDate()-31),0==n.getMonth()||1==n.getMonth()||2==n.getMonth()?n.setFullYear(n.getFullYear(),0,1):3==n.getMonth()||4==n.getMonth()||5==n.getMonth()?n.setFullYear(n.getFullYear(),3,1):6==n.getMonth()||7==n.getMonth()||8==n.getMonth()?n.setFullYear(n.getFullYear(),6,1):(9==n.getMonth()||10==n.getMonth()||11==n.getMonth())&&n.setFullYear(n.getFullYear(),9,1);else if("hour"==e)for(n.setHours(n.getHours()-1);n.getHours()%6!=0;)n.setHours(n.getHours()-1);return"hour"==e?n.setMinutes(0,0):n.setHours(0,0,0),n},JSGantt.getMaxDate=function(t,e){var n=new Date;n.setTime(t[0].getEnd().getTime());for(var a=0;an.getTime()&&n.setTime(t[a].getEnd().getTime());if("day"==e)for(n.setDate(n.getDate()+1);n.getDay()%7!=0;)n.setDate(n.getDate()+1);else if("week"==e)for(n.setDate(n.getDate()+1);n.getDay()%7!=0;)n.setDate(n.getDate()+1);else if("month"==e){for(;n.getDate()>1;)n.setDate(n.getDate()+1);n.setDate(n.getDate()-1)}else if("quarter"==e)0==n.getMonth()||1==n.getMonth()||2==n.getMonth()?n.setFullYear(n.getFullYear(),2,31):3==n.getMonth()||4==n.getMonth()||5==n.getMonth()?n.setFullYear(n.getFullYear(),5,30):6==n.getMonth()||7==n.getMonth()||8==n.getMonth()?n.setFullYear(n.getFullYear(),8,30):(9==n.getMonth()||10==n.getMonth()||11==n.getMonth())&&n.setFullYear(n.getFullYear(),11,31);else if("hour"==e)for(0==n.getHours()&&n.setDate(n.getDate()+1),n.setHours(n.getHours()+1);n.getHours()%6!=5;)n.setHours(n.getHours()+1);return n},JSGantt.findObj=function(t,e){var n;return e||(e=document),document.getElementById&&(n=document.getElementById(t)),n},JSGantt.changeFormat=function(t,e){e?e.setFormat(t):alert("Chart undefined")},JSGantt.folder=function(t,e){var n=e.getList();e.getDivId();e.clearDependencies();for(var a=0;a=10&&a.length>=3){for(;a.length<5;)a.push(0);switch(e){case"mm/dd/yyyy":n=new Date(a[2],a[0]-1,a[1],a[3],a[4]);break;case"dd/mm/yyyy":n=new Date(a[2],a[1]-1,a[0],a[3],a[4]);break;case"yyyy-mm-dd":n=new Date(a[0],a[1]-1,a[2],a[3],a[4])}}return n},JSGantt.formatDateStr=function(t,e,n){for(var a="",o=t.getFullYear().toString().substring(2,4),i=t.getMonth()+1+"",s=new Array(n.january,n.february,n.march,n.april,n.maylong,n.june,n.july,n.august,n.september,n.october,n.november,n.december),r=new Array(n.sunday,n.monday,n.tuesday,n.wednesday,n.thursday,n.friday,n.saturday),l=new Array(n.jan,n.feb,n.mar,n.apr,n.may,n.jun,n.jul,n.aug,n.sep,n.oct,n.nov,n.dec),g=new Array(n.sun,n.mon,n.tue,n.wed,n.thu,n.fri,n.sat),d=0;di&&(a+="0");case"m":a+=i;break;case"mon":a+=l[t.getMonth()];break;case"month":a+=s[t.getMonth()];break;case"yyyy":a+=t.getFullYear();break;case"yy":a+=o;break;case"qq":a+="Q";case"q":a+=Math.floor(t.getMonth()/3)+1;break;case"hh":(t.getHours()%12==0?12:t.getHours()%12)<10&&(a+="0");case"h":a+=t.getHours()%12==0?12:t.getHours()%12;break;case"HH":t.getHours()<10&&(a+="0");case"H":a+=t.getHours();break;case"MI":t.getMinutes()<10&&(a+="0");case"mi":a+=t.getMinutes();break;case"pm":a+=t.getHours()<12?"am":"pm";break;case"PM":a+=t.getHours()<12?"AM":"PM";break;case"ww":JSGantt.getIsoWeek(t)<10&&(a+="0");case"w":a+=JSGantt.getIsoWeek(t);break;case"week":var u=JSGantt.getIsoWeek(t),h=t.getFullYear(),c=0==t.getDay()?7:t.getDay();u>=52&&1==i&&h--,1==u&&12==i&&h++,10>u&&(u="0"+u),a+=h+"-W"+u+"-"+c;break;default:a+=n[e[d].toLowerCase()]?n[e[d].toLowerCase()]:e[d]}return a},JSGantt.parseDateFormatStr=function(t){for(var e="",n="",a=new RegExp("[/\\ -.,'\":]"),o=new Array,i=0;i0&&(a=p[0].getAttribute("xmlns")),"http://schemas.microsoft.com/project"==a){o=!0,t.setDateInputFormat("yyyy-mm-dd"),n=JSGantt.findXMLNode(e,"Task"),i="undefined"==typeof n?0:n.length;var m=JSGantt.findXMLNode(e,"Resource");for("undefined"==typeof m?(i=0,s=0):s=m.length,r=0;s>r;r++){var v=JSGantt.getXMLNodeValue(m[r],"Name",2,""),S=JSGantt.getXMLNodeValue(m[r],"UID",1,-1);v.length>0&&S>0&&(c[S]=v)}var w=JSGantt.findXMLNode(e,"Assignment");for(l="undefined"==typeof w?0:w.length,r=0;l>r;r++){var D=JSGantt.getXMLNodeValue(w[r],"ResourceUID",1,-1);S=JSGantt.getXMLNodeValue(w[r],"TaskUID",1,-1),S>0&&(D>0&&(h[S]=c[D]),u[S]=w[r])}for(r=0;i>r;r++){if(S=JSGantt.getXMLNodeValue(n[r],"UID",1,0),0!=S)var T=JSGantt.getXMLNodeValue(n[r],"OutlineNumber",2,"0");S>0&&(f[T]=S),S>d&&(d=S)}for(r=0;i>r;r++){var y=JSGantt.getXMLNodeValue(n[r],"UID",1,0);if(0!=y){var L=JSGantt.getXMLNodeValue(n[r],"Name",2,"No Task Name"),N=JSGantt.getXMLNodeValue(n[r],"Start",2,""),G=JSGantt.getXMLNodeValue(n[r],"Finish",2,""),M=JSGantt.getXMLNodeValue(n[r],"HyperlinkAddress",2,""),J=JSGantt.getXMLNodeValue(n[r],"Milestone",1,0),k=JSGantt.getXMLNodeValue(n[r],"PercentWorkComplete",1,0),C=JSGantt.getXMLNodeValue(n[r],"Summary",1,0),I=0,F=JSGantt.getXMLNodeValue(n[r],"OutlineLevel",1,0);F>1&&(T=JSGantt.getXMLNodeValue(n[r],"OutlineNumber",2,"0"),I=f[T.substr(0,T.lastIndexOf("."))]);try{var b=n[r].getElementsByTagName("Notes")[0].childNodes[1].nodeValue}catch(H){b=""}if("undefined"!=typeof h[y])var x=h[y];else x="";var E=JSGantt.findXMLNode(n[r],"PredecessorLink");l="undefined"==typeof E?0:E.length;var X="";for(g=0;l>g;g++){var Y=JSGantt.getXMLNodeValue(E[g],"PredecessorUID",1,-1),O=JSGantt.getXMLNodeValue(E[g],"Type",1,1);if(Y>0)switch(X.length>0&&(X+=","),O){case 0:X+=Y+"FF";break;case 1:X+=Y+"FS";break;case 2:X+=Y+"SF";break;case 3:X+=Y+"SS";break;default:X+=Y+"FS"}}var R=1,A="";if(C>0)var V="ggroupblack";else V=J>0?"gmilestone":"gtaskblue";var P=JSGantt.findXMLNode(u[y],"TimephasedData");l="undefined"==typeof P?0:P.length;var B=N,U=G,j=!1,W=X.replace(/,*[0-9]+[FS]F/g,"");for(g=0;l>g;g++){var q=JSGantt.getXMLNodeValue(P[g],"Value",2,"0");q="0"+q.replace(/\D/g,""),q*=1,0==q&&!j||g+1==l&&2==C?(C=2,g+1==l&&(W=X.replace(/,*[0-9]+[FS]S/g,"")),d++,U=JSGantt.getXMLNodeValue(P[g],g+1==l?"Finish":"Start",2,""),t.AddTaskItem(new JSGantt.TaskItem(d,L,B,U,"gtaskblue",M,J,x,k,0,y,R,W,A,b,t)),j=!0,W=""):0!=q&&j&&(B=JSGantt.getXMLNodeValue(P[g],"Start",2,""),j=!1)}j&&(X=""),t.AddTaskItem(new JSGantt.TaskItem(y,L,N,G,V,M,J,x,k,C,I,R,X,A,b,t))}}}else for(n=e.getElementsByTagName("task"),i=n.length,r=0;i>r;r++)y=JSGantt.getXMLNodeValue(n[r],"pID",1,0),0!=y&&(L=JSGantt.getXMLNodeValue(n[r],"pName",2,"No Task Name"),N=JSGantt.getXMLNodeValue(n[r],"pStart",2,""),G=JSGantt.getXMLNodeValue(n[r],"pEnd",2,""),M=JSGantt.getXMLNodeValue(n[r],"pLink",2,""),J=JSGantt.getXMLNodeValue(n[r],"pMile",1,0),k=JSGantt.getXMLNodeValue(n[r],"pComp",1,0),C=JSGantt.getXMLNodeValue(n[r],"pGroup",1,0),I=JSGantt.getXMLNodeValue(n[r],"pParent",1,0),x=JSGantt.getXMLNodeValue(n[r],"pRes",2,""),R=JSGantt.getXMLNodeValue(n[r],"pOpen",1,1),X=JSGantt.getXMLNodeValue(n[r],"pDepend",2,""),A=JSGantt.getXMLNodeValue(n[r],"pCaption",2,""),b=JSGantt.getXMLNodeValue(n[r],"pNotes",2,""),V=JSGantt.getXMLNodeValue(n[r],"pClass",2),"undefined"==typeof V&&(V=C>0?"ggroupblack":J>0?"gmilestone":"gtaskblue"),t.AddTaskItem(new JSGantt.TaskItem(y,L,N,G,V,M,J,x,k,C,I,R,X,A,b,t)))},JSGantt.benchMark=function(t){var e=(new Date).getTime();alert(t+": Elapsed time: "+(e-vBenchTime)/1e3+" seconds."),vBenchTime=(new Date).getTime()},JSGantt.getIsoWeek=function(t){var e=864e5,n=new Date(t.getFullYear(),0,4,0,0,0),a=0==n.getDay()?6:n.getDay()-1,o=n.getTime()-a*e,i=new Date(t.getFullYear(),t.getMonth(),t.getDate(),0,0,0),s=i.getTime(),r=Math.round((s-o)/e),l=99;new Date(o);return l=Math.ceil((r+1)/7),0>=l?l=JSGantt.getIsoWeek(new Date(t.getFullYear()-1,11,31,0,0,0)):53==l&&4!=new Date(t.getFullYear(),0,1,0,0,0).getDay()&&4!=new Date(t.getFullYear(),11,31,0,0,0).getDay()&&(l=1),l},JSGantt.addListener=function(t,e,n){return n===String(n)&&(n=JSGantt.findObj(n)),n.addEventListener?n.addEventListener(t,e,!1):n.attachEvent?n.attachEvent("on"+t,e):!1},JSGantt.addTooltipListeners=function(t,e,n){JSGantt.addListener("mouseover",function(e){JSGantt.showToolTip(t,e,n,null,t.getTimer())},e),JSGantt.addListener("mouseout",function(e){JSGantt.delayedHide(t,t.vTool,t.getTimer())},e)},JSGantt.addThisRowListeners=function(t,e,n){JSGantt.addListener("mouseover",function(){t.mouseOver(e,n)},e),JSGantt.addListener("mouseover",function(){t.mouseOver(e,n)},n),JSGantt.addListener("mouseout",function(){t.mouseOut(e,n)},e),JSGantt.addListener("mouseout",function(){t.mouseOut(e,n)},n)},JSGantt.addFolderListeners=function(t,e,n){JSGantt.addListener("click",function(){JSGantt.folder(n,t)},e)},JSGantt.addFormatListeners=function(t,e,n){JSGantt.addListener("click",function(){JSGantt.changeFormat(e,t)},n)},JSGantt.addScrollListeners=function(t){JSGantt.addListener("scroll",function(){t.getChartBody().scrollTop=t.getListBody().scrollTop},t.getListBody()),JSGantt.addListener("scroll",function(){t.getListBody().scrollTop=t.getChartBody().scrollTop},t.getChartBody()),JSGantt.addListener("scroll",function(){t.getChartHead().scrollLeft=t.getChartBody().scrollLeft},t.getChartBody()),JSGantt.addListener("scroll",function(){t.getChartBody().scrollLeft=t.getChartHead().scrollLeft},t.getChartHead()),JSGantt.addListener("resize",function(){t.getChartHead().scrollLeft=t.getChartBody().scrollLeft},window),JSGantt.addListener("resize",function(){t.getListBody().scrollTop=t.getChartBody().scrollTop},window)}; \ No newline at end of file diff --git a/htdocs/projet/ganttchart.inc.php b/htdocs/projet/ganttchart.inc.php index 771cb7d99cc..1893415d718 100644 --- a/htdocs/projet/ganttchart.inc.php +++ b/htdocs/projet/ganttchart.inc.php @@ -78,11 +78,11 @@ function reloadGraph() { } -var g = new JSGantt.GanttChart('g', document.getElementById('GanttChartDIV'), 'day'); -/* For JSGanttImproved var g = new JSGantt.GanttChart(document.getElementById('GanttChartDIV'), 'day'); */ +//var g = new JSGantt.GanttChart('g', document.getElementById('GanttChartDIV'), 'day'); +var g = new JSGantt.GanttChart(document.getElementById('GanttChartDIV'), 'day'); -/* For JSGanttImproved if (g.getDivId() != null) */ -if (g) +if (g.getDivId() != null) +//if (g) { var booShowRessources = 1; var booShowDurations = 1; @@ -91,9 +91,9 @@ if (g) var graphFormat = "day"; g.setDateInputFormat('mm/dd/yyyy'); // Set format of input dates ('mm/dd/yyyy', 'dd/mm/yyyy', does not work with 'yyyy-mm-dd') - g.setDateDisplayFormat(''); - /* For JSGanttImproved g.setDateTaskDisplayFormat(''); */ - /* For JSGanttImproved g.setDayMajorDateDisplayFormat('dd mon'); */ + //g.setDateDisplayFormat(''); + g.setDateTaskDisplayFormat(''); + g.setDayMajorDateDisplayFormat('dd mon'); g.setShowRes(1); // Show/Hide Responsible (0/1) g.setShowDur(1); // Show/Hide Duration (0/1) g.setShowComp(1); // Show/Hide % Complete(0/1) @@ -132,7 +132,7 @@ else * Add a gant chart line * * @param string $tarr tarr - * @param Task $task Task object + * @param array $task Task object * @param Project $project_dependencies Project object * @param int $level Level * @param int $project_id Id of project @@ -148,7 +148,7 @@ function constructGanttLine($tarr,$task,$project_dependencies,$level=0,$project_ // Resources $resources = $task["task_resources"]; // Define depend (ex: "", "4,13", ...) - $depend = "\""; + $depend = ''; $count = 0; foreach ($project_dependencies as $value) { // Not yet used project_dependencies = array(array(0=>idtask,1=>idtasktofinishfisrt)) @@ -157,7 +157,7 @@ function constructGanttLine($tarr,$task,$project_dependencies,$level=0,$project_ $count ++; } } - $depend .= "\""; + // $depend .= "\""; // Define parent if ($project_id && $level < 0) $parent = 'p'.$project_id; @@ -170,9 +170,9 @@ function constructGanttLine($tarr,$task,$project_dependencies,$level=0,$project_ // Name $name=$task['task_name']; - for($i=0; $i < $level; $i++) { - $name='     '.$name; - } + /*for($i=0; $i < $level; $i++) { + $name=' - '.$name; + }*/ // Add line to gantt /* g.AddTaskItem(new JSGantt.TaskItem(1, 'Define Chart API','', '', 'ggroupblack','', 0, 'Brian', 0, 1,0,1,'','','Some Notes text',g)); @@ -199,12 +199,12 @@ function constructGanttLine($tarr,$task,$project_dependencies,$level=0,$project_
pGantt
(required) javascript JSGantt.GanttChart object from which to take settings. Defaults to "g" for backwards compatibility
*/ - $note=""; + //$note=""; $s = "\n// Add taks id=".$task["task_id"]." level = ".$level."\n"; - $s.= "g.AddTaskItem(new JSGantt.TaskItem(".$task['task_id'].",'".dol_escape_js($name)."','".$start_date."', '".$end_date."', '".$task['task_color']."', '".$link."', ".$task['task_milestone'].", '".$resources."', ".($percent >= 0 ? $percent : 0).", ".($task["task_is_group"]>0?1:0).", '".$parent."', 1, '".($depend?$depend:"")."', '".$note."'));"; + // $s.= "g.AddTaskItem(new JSGantt.TaskItem(".$task['task_id'].",'".dol_escape_js($name)."','".$start_date."', '".$end_date."', '".$task['task_color']."', '".$link."', ".$task['task_milestone'].", '".$resources."', ".($percent >= 0 ? $percent : 0).", ".($task["task_is_group"]>0?1:0).", '".$parent."', 1, '".($depend?$depend:"")."', '".$note."'));"; // For JSGanttImproved - //$s.= "g.AddTaskItem(new JSGantt.TaskItem(".$task['task_id'].",'".dol_escape_js($name)."','".$start_date."', '".$end_date."', 'gtaskblue', '".$link."', ".$task['task_milestone'].", '".$resources."', ".($percent >= 0 ? $percent : 0).", ".($task["task_is_group"]>0?1:0).", '".$parent."', 1, '".($depend?$depend:"")."', '".$note."'));"; + $s.= "g.AddTaskItem(new JSGantt.TaskItem(".$task['task_id'].",'".dol_escape_js(trim($name))."','".$start_date."', '".$end_date."', '".$task['task_css']."', '".$link."', ".$task['task_milestone'].", '".$resources."', ".($percent >= 0 ? $percent : 0).", ".($task["task_is_group"]).", '".$parent."', 1, '".($depend?$depend:$parent."SS")."', '".($percent >= 0 ? $percent.'%' : '0%')."','".$task['note']."'));"; echo $s; diff --git a/htdocs/projet/ganttview.php b/htdocs/projet/ganttview.php index b86a961bd69..29e9d0de1b4 100644 --- a/htdocs/projet/ganttview.php +++ b/htdocs/projet/ganttview.php @@ -206,8 +206,18 @@ if (count($tasksarray)>0) $task->fetch($val->id); $tasks[$taskcursor]['task_id']=$val->id; $tasks[$taskcursor]['task_parent']=$val->fk_parent; - $tasks[$taskcursor]['task_is_group']=0; - $tasks[$taskcursor]['task_milestone']=0; + $tasks[$taskcursor]['task_is_group'] = 0; + $tasks[$taskcursor]['task_css'] = 'gtaskblue'; + + if($val->fk_parent > 0 && $task->hasChildren()> 0){ + $tasks[$taskcursor]['task_is_group']=1; + $tasks[$taskcursor]['task_css'] = 'gtaskred'; + } + elseif($task->hasChildren()> 0) { + $tasks[$taskcursor]['task_is_group'] = 1; + $tasks[$taskcursor]['task_css'] = 'gtaskgreen'; + } + $tasks[$taskcursor]['task_milestone']='0'; $tasks[$taskcursor]['task_percent_complete']=$val->progress; //$tasks[$taskcursor]['task_name']=$task->getNomUrl(1); //print dol_print_date($val->date_start).dol_print_date($val->date_end).'
'."\n"; @@ -217,7 +227,7 @@ if (count($tasksarray)>0) $tasks[$taskcursor]['task_color']='b4d1ea'; $idofusers=$task->getListContactId('internal'); $idofthirdparty=$task->getListContactId('external'); - $s=''; + $s=''; if (count($idofusers)>0) { $s.=$langs->trans("Internals").': '; @@ -225,12 +235,12 @@ if (count($tasksarray)>0) foreach($idofusers as $valid) { $userstatic->fetch($valid); - if ($i) $s.=','; + if ($i) $s.=', '; $s.=$userstatic->login; $i++; } } - if (count($idofusers)>0 && (count($idofthirdparty)>0)) $s.=' - '; + //if (count($idofusers)>0 && (count($idofthirdparty)>0)) $s.=' - '; if (count($idofthirdparty)>0) { if ($s) $s.=' - '; @@ -244,18 +254,21 @@ if (count($tasksarray)>0) $i++; } } - if ($s) $tasks[$taskcursor]['task_resources']=''.$langs->trans("List").''; - /* For JSGanttImproved if ($s) $tasks[$taskcursor]['task_resources']=join(',',$idofusers); */ + //if ($s) $tasks[$taskcursor]['task_resources']=''.$langs->trans("List").''; + /* For JSGanttImproved */ + //if ($s) $tasks[$taskcursor]['task_resources']=implode(',',$idofusers); + $tasks[$taskcursor]['task_resources'] = $s; //print "xxx".$val->id.$tasks[$taskcursor]['task_resources']; + $tasks[$taskcursor]['note']=$task->note_public; $taskcursor++; } print "\n"; - if (! empty($conf->use_javascript_ajax)) + if (! empty($conf->use_javascript_ajax)) { //var_dump($_SESSION); - print '
'."\n"; + print '
'."\n"; include_once DOL_DOCUMENT_ROOT.'/projet/ganttchart.inc.php'; print '
'."\n"; } diff --git a/htdocs/projet/jsgantt_language.js.php b/htdocs/projet/jsgantt_language.js.php index 16b89fbebb3..561697fd161 100644 --- a/htdocs/projet/jsgantt_language.js.php +++ b/htdocs/projet/jsgantt_language.js.php @@ -32,44 +32,29 @@ if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML',1); if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1'); -require_once '../main.inc.php'; +require_once __DIR__.'/../main.inc.php'; // Define css type header('Content-type: text/javascript'); global $langs; ?> -var i18n = new Array(); -i18n["sMinute"]= "transnoentities("Minute") ?>"; -i18n["sMinutes"]= "transnoentities("Minutes") ?>"; -i18n["sHour"]= "transnoentities("Hour") ?>"; -i18n["sHours"]= "transnoentities("Hours") ?>"; -i18n["sDay"]= "transnoentities("Day") ?>"; -i18n["sDays"]= "transnoentities("Days") ?>"; -i18n["sWeek"] = "transnoentities("Week") ?>"; -i18n["sMonth"] = "transnoentities("Month") ?>"; -i18n["sQuarter"] = "transnoentities("Quadri") ?>"; -i18n["View"] = "transnoentities("View") ?>"; -i18n["Resource"] = "transnoentities("Resources") ?>"; -i18n["Duration"] = "transnoentities("Duration") ?>"; -i18n["Start_Date"] = "transnoentities("DateStart") ?>"; -i18n["End_Date"] = "transnoentities("DateEnd") ?>"; -i18n["Date_Format"] = "transnoentities("Format") ?>"; -i18n["January"] = "transnoentities("January") ?>"; -i18n["February"] = "transnoentities("February") ?>"; -i18n["March"] = "transnoentities("March") ?>"; -i18n["April"] = "transnoentities("April") ?>"; -i18n["May"] = "transnoentities("May") ?>"; -i18n["June"] = "transnoentities("June") ?>"; -i18n["July"] = "transnoentities("July") ?>"; -i18n["August"] = "transnoentities("August") ?>"; -i18n["September"] = "transnoentities("Septembre") ?>"; -i18n["October"] = "transnoentities("October") ?>"; -i18n["November"] = "transnoentities("November") ?>"; -i18n["December"] = "transnoentities("December") ?>"; -i18n["Quarter"] = "transnoentities("Quarter") ?>"; -i18n["Period"] = "transnoentities("Period") ?>"; - +var vLangs={'getDefaultLang(1);?>': +{'format':'transnoentities('Periodo');?>','hour':'"transnoentities('Hour'); ?>','day':'transnoentities('Day'); ?>', + 'week':'transnoentities('Week'); ?>','month':'transnoentities('Month'); ?>','quarter':'transnoentities('Quadri'); ?>', + 'hours':'transnoentities('Hours'); ?>','days':'transnoentities('Days'); ?>','weeks':'transnoentities('Weeks');?>', + 'months':'transnoentities('Months'); ?>','quarters':'transnoentities('Quadri'); ?>','hr':'Hr','dy':'transnoentities('Day'); ?>','wk':'transnoentities('Week'); ?>','mth':'transnoentities('Month'); ?>','qtr':'transnoentities('Quadri'); ?>','hrs':'transnoentities('Hours'); ?>', + 'dys':'transnoentities('Days'); ?>','wks':'transnoentities('Weeks'); ?>','mths':'transnoentities('Months'); ?>','qtrs':'transnoentities('Quadri'); ?>','resource':'transnoentities('Resources'); ?>','duration':'transnoentities('Duration'); ?>','comp':'% transnoentities('Total'); ?>', + 'completion':'transnoentities('Total'); ?>','startdate':'transnoentities('DateStart'); ?>','enddate':'transnoentities('DateEnd'); ?>','moreinfo':'transnoentities('MoreInformation'); ?>', + 'notes':'transnoentities('NotePublic'); ?>', + 'january':'transnoentities('January'); ?>','february':'transnoentities('February'); ?>','march':'transnoentities('March'); ?>','april':'transnoentities('April'); ?>','maylong':'transnoentities('May'); ?>','june':'transnoentities('June'); ?>','july':'transnoentities('July'); ?>', + 'august':'transnoentities('August'); ?>','september':'transnoentities('September'); ?>','october':'transnoentities('October'); ?>','november':'transnoentities('November'); ?>','december':'transnoentities('December'); ?>', + 'jan':'transnoentities('JanuaryMin'); ?>','feb':'transnoentities('FebruaryMin'); ?>','mar':'transnoentities('MarchMin'); ?>','apr':'transnoentities('AprilMin'); ?>','may':'transnoentities('MayMin'); ?>','jun':'transnoentities('JuneMin'); ?>','jul':'transnoentities('JulyMin'); ?>', + 'aug':'transnoentities('AugustMin'); ?>','sep':'transnoentities('SeptemberMin'); ?>','oct':'transnoentities('OctoberMin'); ?>','nov':'transnoentities('NovemberMin'); ?>','dec':'transnoentities('DecemberMin'); ?>', + 'sunday':'transnoentities('Sunday'); ?>','monday':'transnoentities('Monday'); ?>','tuesday':'transnoentities('Tuesday'); ?>','wednesday':'transnoentities('Wednesday'); ?>','thursday':'transnoentities('Thursday'); ?>','friday':'transnoentities('Friday'); ?>','saturday':'transnoentities('Saturday'); ?>', + 'sun':'transnoentities('SundayMin'); ?>','mon':'transnoentities('MondayMin'); ?>','tue':'transnoentities('TuesdayMin'); ?>','wed':'transnoentities('WednesdayMin'); ?>','thu':'transnoentities('ThursdayMin'); ?>','fri':'transnoentities('FridayMin'); ?>','sat':'transnoentities('SaturdayMin'); ?>'} +}; +var vLang='getDefaultLang(1);?>'; close(); From 2866d6024038115f9beafb0ccf78fdf53e150091 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 26 Jul 2016 13:59:08 +0200 Subject: [PATCH 079/476] Revert "change jsgantt to jsGanttImproved" This reverts commit caf963351b94ea3ae93325e87d9905a873251596. --- htdocs/includes/jsgantt/jsgantt.css | 265 +- htdocs/includes/jsgantt/jsgantt.js | 4594 +++++++++++------------- htdocs/includes/jsgantt/jsgantt.min.js | 3 +- htdocs/projet/ganttchart.inc.php | 32 +- htdocs/projet/ganttview.php | 31 +- htdocs/projet/jsgantt_language.js.php | 49 +- 6 files changed, 2263 insertions(+), 2711 deletions(-) diff --git a/htdocs/includes/jsgantt/jsgantt.css b/htdocs/includes/jsgantt/jsgantt.css index 78a7e83e971..7acf9318347 100644 --- a/htdocs/includes/jsgantt/jsgantt.css +++ b/htdocs/includes/jsgantt/jsgantt.css @@ -1,242 +1,53 @@ -/* Sample CSS for jsGanttImproved v1.7.3 */ -div.gantt { font-family:tahoma, arial, verdana, Sans-serif; font-size:10px; color: #2F2F2F; } -.gantt table { border-collapse: collapse; } -.gantt td { padding: 0px; } +// These are the class/styles used by various objects in GanttChart. However, Firefox has problems deciphering class style when DIVs are embedded in other DIVs. -/* cell defaults */ -.gmajorheading, -.gminorheading, -.gminorheadingwkend, -.gtaskcell, -.gtaskcellwkend { height: 19px; font-size: 12px; border: #efefef 1px solid; text-align: center; cursor: default } -.gtasklist { height: 19px; min-width: 5px; max-width: 5px; width: 5px; border: #efefef 1px solid; border-right: none; } /* all three width values set just to make sure - helps resizing code */ +// GanttChart makes heavy use of embedded DIVS, thus the style are often embedded directly in the objects html. If this could be resolved with Firefox, it would -/* Additional values for some cell elements */ -.gtaskheading, -.gmajorheading, -.gminorheading { background-color: #ffffff; font-weight: bold; font-size: 9px; white-space: nowrap; } -.gtaskcellwkend, -.gminorheadingwkend { background-color: #f7f7f7; font-weight: bold; font-size: 9px; white-space: nowrap; } -td.gtaskcell { text-align: left } -td.gspanning { border-left: none; border-right: none; } -.gtaskcelldiv { position: relative; } - -/* Task list defaults */ -.gtaskheading, -.gname, -.gtaskname, -.gresource, -.gduration, -.gpccomplete, -.gstartdate, -.genddate { height: 18px; white-space: nowrap; border: #efefef 1px solid; } - -/* Additional values for some task list elements */ -.gresource, -.gduration, -.gpccomplete, -.gstartdate div, /* needed for IE8 */ -.gstartdate { text-align: center; min-width: 70px; max-width: 70px; width: 70px; font-size: 10px; } -.genddate div, /* needed for IE8 */ -.genddate { text-align: center; min-width: 70px; max-width: 70px; width: 70px; font-size: 10px; } -.gtaskheading { text-align: center; } -.gtaskname div, /* needed for IE8 */ -.gtaskname { min-width: 170px; max-width: 170px; width: 170px;/* font-size: 9px;*/ border-left: none; } - -.gselector { text-align: left; white-space: nowrap; min-width: 170px; max-width: 170px; width: 170px; } - -.gformlabel { position:relative; top:0px; cursor:pointer; border: #ffffff 1px solid; margin-left: 2px; padding-left: 2px; padding-right: 2px; } -span.gformlabel:hover, -span.gselected { background-color: #dbecff; border: #cccccc 1px solid;} - -span.gfoldercollapse { color:#000000; cursor:pointer; font-weight:bold; font-size: 12px; font-family: Courier, "Courier New", monospace; } - -.gtasktableh, -.gtasktable { border-right: #efefef 1px solid; } -.gcharttable { border: #efefef 1px solid; } /* for some reason firefox needs this */ - -/* Differentiate Group, Milestone and Ordinary task items (applied to row) */ -.ggroupitem { background-color: #fbfbfb; font-weight: bold; } -.gmileitem, -.glineitem { background-color: #ffffff; } - -/* highlight row (applied to row) */ -.gitemhighlight td { background-image: none; background-color: #fffaaa;} - -/* task bar caption text styles */ -.gmilecaption, -.ggroupcaption, -.gcaption { font-weight: normal; font-size: 9px; text-align: left; white-space: nowrap; top:1px; position: absolute; top:2px; } - -.ggroupcaption, -.gcaption { right: -126px; } - -/* Task complete %age bar shared attributes */ -.gtaskcomplete { float:left; overflow: hidden; } - -/* Task complete %age bar */ -.gtaskcomplete { height:5px; background-color:#000000; margin-top:4px; opacity:0.4; filter: alpha(opacity=40); } - -/* Milestones */ -.gmilestone { font-size: 14px; position: absolute; top: -2px; } -.gmdtop { top: 2px; overflow: hidden; width:0px; height:0px; border-bottom: 5px solid black; border-left: 5px solid transparent; border-top: 5px solid transparent; border-right: 5px solid transparent;} -.gmdbottom { top: 2px; overflow: hidden; width:0px; height:0px; border-top: 5px solid black; border-left: 5px solid transparent; border-bottom: 5px solid transparent; border-right: 5px solid transparent;} - -/* Task bar shared attributes */ -.ggroupblack, -.gtaskblue, -.gtaskred, -.gtaskgreen, -.gtaskyellow, -.gtaskpurple, -.gtaskpink { height: 13px; filter: alpha(opacity=90); opacity:0.9; margin-top: 1px; } - -/* Task bars - ggroupblack is set as the default class on the task if it is undefined */ -.ggroupblack { height: 7px; background: #000000; margin-top: 2px; } -.ggroupblackendpointleft { overflow: hidden; width:0px; height:0px; top: 2px; border-top: 4px solid black; border-left: 4px solid transparent; border-bottom: 4px solid transparent; border-right: 4px solid transparent; float: left; } -.ggroupblackendpointright { overflow: hidden; width:0px; height:0px; top: 2px; border-top: 4px solid black; border-left: 4px solid transparent; border-bottom: 4px solid transparent; border-right: 4px solid transparent; float: right; } -.ggroupblackcomplete { float:left; overflow: hidden; height:3px; filter: alpha(opacity=80); opacity:0.8; background-color:#777777; margin-top:2px; margin-bottom: 2px; } -.gtaskblue { - background: rgb(58,132,195); /* Old browsers */ - background: linear-gradient(to bottom, rgba(58,132,195,1) 0%,rgba(65,154,214,1) 20%,rgba(75,184,240,1) 40%,rgba(58,139,194,1) 70%,rgba(38,85,139,1) 100%); /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4bb8f0', endColorstr='#3a84c3',GradientType=0 ); /* IE6-9 */ -} -.gtaskred { - background: rgb(196,58,58); /* Old browsers */ - background: linear-gradient(to bottom, rgba(196,58,58,1) 0%,rgba(211,65,65,1) 20%,rgba(239,76,76,1) 40%,rgba(196,58,58,1) 70%,rgba(135,37,37,1) 100%); /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ef4c4c', endColorstr='#c43a3a',GradientType=0 ); /* IE6-9 */ -} -.gtaskgreen { - background: rgb(80,193,58); /* Old browsers */ - background: linear-gradient(to bottom, rgba(80,193,58,1) 0%,rgba(88,209,64,1) 20%,rgba(102,237,75,1) 40%,rgba(80,193,58,1) 70%,rgba(53,132,37,1) 100%); /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#66ED4B', endColorstr='#50c13a',GradientType=0 ); /* IE6-9 */ -} -.gtaskyellow { - background: rgb(247,228,56); /* Old browsers */ - background: linear-gradient(to bottom, rgba(247,228,56,1) 0%,rgba(239,239,55,1) 20%,rgba(255,255,58,1) 40%,rgba(242,236,55,1) 70%,rgba(241,218,54,1) 100%); /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffff3a', endColorstr='#f7e438',GradientType=0 ); /* IE6-9 */ -} -.gtaskpurple { - background: rgb(193,58,193); /* Old browsers */ - background: linear-gradient(to bottom, rgba(193,58,193,1) 0%,rgba(211,65,211,1) 20%,rgba(239,76,239,1) 40%,rgba(193,58,193,1) 70%,rgba(137,38,137,1) 100%); /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ef4cef', endColorstr='#892689',GradientType=0 ); /* IE6-9 */ -} -.gtaskpink { - background: rgb(249,177,245); /* Old browsers */ - background: linear-gradient(to bottom, rgba(249,177,245,1) 0%,rgba(247,192,243,1) 20%,rgba(247,202,244,1) 40%,rgba(249,192,246,1) 70%,rgba(252,174,247,1) 100%); /* W3C */ - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7caf4', endColorstr='#fcaef7',GradientType=0 ); /* IE6-9 */ -} -.gtaskbluecomplete, -.gtaskredcomplete, -.gtaskgreencomplete, -.gtaskyellowcomplete, -.gtaskpurplecomplete, -.gtaskpinkcomplete { float:left; overflow: hidden; height:5px; filter: alpha(opacity=40); opacity:0.4; background-color: #000000; margin-top:4px; } - -/* Printer friendly styles - we could use these all the time but they are not as pretty! */ -/* note that "@media print" is not supported in IE6 or 7. Fully patched IE8 should be OK */ -@media print { - .ggroupblack { height:0px; border-top: 7px solid; border-color: #000000; } - .gtaskblue { height:0px; border-top: 13px solid; border-color: rgb(58,132,195); } - .gtaskred { height:0px; border-top: 13px solid; border-color: rgb(196,58,58); } - .gtaskgreen { height:0px; border-top: 13px solid; border-color: rgb(80,193,58); } - .gtaskyellow { height:0px; border-top: 13px solid; border-color: rgb(247,228,56); } - .gtaskpurple { height:0px; border-top: 13px solid; border-color: rgb(193,58,193); } - .gtaskpink { height:0px; border-top: 13px solid; border-color: rgb(249,177,245); } - - .gtaskbluecomplete, - .gtaskredcomplete, - .gtaskgreencomplete, - .gtaskyellowcomplete, - .gtaskpurplecomplete, - .gtaskpinkcomplete { height:0px; filter: alpha(opacity=40); opacity:0.4; margin-top: -9px; border-top: 5px solid; border-color: #000000; } - .ggroupblackcomplete { height: 0px; filter: alpha(opacity=80); opacity:0.8; margin-top:-5px; border-top:3px solid; border-color:#777777; } -} - -/* END Task bar styles */ -.glinev { border-left: 1px solid; width: 0px; } -.glineh { border-top: 1px solid; height: 0px; } - -.gDepFS, -.gDepSS, -.gDepSF, -.gDepFF { border-color: #26558b; } -.gDepFSArw, -.gDepSSArw { overflow: hidden; width:0px; height:0px; border-bottom: 4px solid transparent; border-left: 4px solid #26558b; border-top: 4px solid transparent; border-right: 4px solid transparent;} -.gDepFFArw, -.gDepSFArw { overflow: hidden; width:0px; height:0px; border-bottom: 4px solid transparent; border-left: 4px solid transparent; border-top: 4px solid transparent; border-right: 4px solid #26558b;} -.gCurDate { border-color: #0000ff; } +// make alot of the code look simpleer/cleaner without all the embedded styles -div.gtaskbarcontainer { z-index: 1; position: absolute; top: 0px } -.JSGanttToolTip {position: absolute; display: block; z-index: 2;} -.JSGanttToolTipcont {font-family: tahoma, arial, verdana; font-size: 10px; display: block; background: #ffffff; color: #656565} -.gTaskInfo {background: #dbecff; width: 400px; border: #656565 1px solid; border-radius: 10px; padding: 4px 6px 4px 6px; float: left;} -.gTtTitle {display: block; font-size: 12px; font-weight: bold; color: #404040; margin-left: 4px; margin-bottom: 1em;} -.gTaskLabel {font-size: 11px; font-weight: bold; color: #656565; margin-left: 4px;} -.gTaskText {position:absolute; left: 90px; padding-top: 1px; font-size: 10px; font-weight: normal; color: #656565;} -.gTaskNotes {font-size: 11px; font-weight: normal; color: #323232; padding: 0 15px; display: block;} -.gTIn {padding-top: 10px;} +..gantt { font-family:tahoma, arial, verdana; font-size:10px;} -.gantt { min-width: 1064px; /* 2x LC width */ } -.gchartcontainer { padding-left: 532px; /* LC width */ } -.gcontainercol { position: relative; float: left; } /* Add a max-height value here if wanted */ -.glistgrid { width: 532px; /* LC width */ margin-left: -100%; right: 532px; /* LC width */ padding-right: 0px; padding-left: 0px; padding-bottom: 0px; padding-top: 0px; background-color: #ffffff; overflow: hidden; } -.glistlbl { width: 532px; /* LC width */ margin-left: -100%; right: 532px; /* LC width */ padding-right: 0px; padding-left: 0px; padding-bottom: 0px; padding-top: 0px; background-color: #ffffff; overflow: hidden; } -.glabelfooter { clear: both; } -.ggridfooter { clear: both; } +..gdatehead { BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid; HEIGHT: 18px } -/*.rhscrpad { width: 150px; position: absolute; top: 0px; height: 1px; }*/ +..ghead { BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid; WIDTH: 24px; HEIGHT: 20px } -.gchartgrid { width: 100%; padding-right: 0px; padding-left: 0px; padding-bottom: 0px; padding-top: 0px; background-color: #ffffff; position: relative; overflow: auto; min-height: 0%; } -.gchartlbl { width: 100%; padding-right: 0px; padding-left: 0px; padding-bottom: 0px; padding-top: 0px; background-color: #ffffff; position: relative; overflow: hidden; } +..gname { BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; WIDTH: 18px; HEIGHT: 18px } -/* Old Internet Explorer version hacks */ -.gantt { _height: 100% } /* otherwise the chart disappears! */ -div .gantt { _width: 1064px; } /* ie6 fixed width */ -div.gchartlbl, -div.gchartgrid { _width: 532px; } /* ie6 fixed width */ -div.glistlbl, -div.glistgrid { - *right: 0px; /* ie7 pulls the content too far left with the negative margin */ - _right: 532px; /* but ie6 fixed width needs this */ - _margin-left: -532px; /* ie6 fixed width */ -} -div.gchartgrid { *padding-bottom: 20px; *overflow-y: hidden; } /* variable height design, no need for vertical scroll */ -td.gmajorheading div { *overflow: hidden; } /* stops resizing fixed width columns if the text is too wide */ -td.gspanning div { *overflow: hidden; } /* stops resizing fixed width columns if the text is too wide */ +..ghead A { FONT-SIZE: 10px; COLOR: #000000; TEXT-DECORATION: none } -/* border transparency tricks */ -.ggroupblackendpointleft { _border-top: 4px solid black; _border-left: 4px solid pink; _border-bottom: 4px solid pink; _border-right: 4px solid pink; _filter: chroma(color=pink); } -.ggroupblackendpointright { _border-top: 4px solid black; _border-left: 4px solid pink; _border-bottom: 4px solid pink; _border-right: 4px solid pink;_filter: chroma(color=pink); } +..gheadwkend A { FONT-SIZE: 10px; COLOR: #000000; TEXT-DECORATION: none } -.gmdtop { _border-left: 5px solid pink; _border-top: 5px solid pink; _border-right: 5px solid pink; _filter: chroma(color=pink);} -.gmdbottom { _border-left: 5px solid pink; _border-bottom: 5px solid pink; _border-right: 5px solid pink; _filter: chroma(color=pink);} +..gheadwkend { BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid; WIDTH: 24px; HEIGHT: 20px; background-color: #cfcfcf } -.gDepFSArw, -.gDepSSArw { _border-bottom: 4px solid pink; _border-top: 4px solid pink; _border-right: 4px solid pink; _filter: chroma(color=pink);} -.gDepFFArw, -.gDepSFArw { _border-bottom: 4px solid pink; _border-left: 4px solid pink; _border-top: 4px solid pink; _filter: chroma(color=pink);} +..gfiller { BORDER-TOP: #efefef 1px solid; BORDER-LEFT: #efefef 1px solid; WIDTH: 18px; HEIGHT: 18px } -/* Workaround for odd bug in old versions of Opera - no other browser needs this */ -.glinediv {position: absolute; top: 0px; left: 0px;} +..gfillerwkend { BORDER-LEFT: #efefef 1px solid; WIDTH: 18px; HEIGHT: 18px; BACKGROUND-COLOR: #cfcfcf } + +..gitem { BORDER-TOP: #cccccc 1px solid; WIDTH: 18px; HEIGHT: 18px } + +..gitemwkend { BORDER-TOP: #cccccc 1px solid; BORDER-LEFT: #cccccc 1px solid; WIDTH: 18px; HEIGHT: 18px } + +..gmilestone { BORDER-TOP: #efefef 1px solid; FONT-SIZE: 14px; OVERFLOW: hidden; BORDER-LEFT: #efefef 1px solid; WIDTH: 18px; HEIGHT: 18px} + +..gmilestonewkend { BORDER-TOP: #efefef 1px solid; BORDER-LEFT: #cccccc 1px solid; WIDTH: 18px; HEIGHT: 18px} + +..btn { BORDER-RIGHT: #ffffff; BORDER-TOP: #ffffff; FONT-WEIGHT: bold; FONT-SIZE: 10px; BORDER-LEFT: #ffffff; WIDTH: 12px; COLOR: #cccccc; BORDER-BOTTOM: #ffffff; BACKGROUND-COLOR: #ffffff } + +..hrcomplete { BORDER-RIGHT: #000000 2px solid; PADDING-RIGHT: 0px; BORDER-TOP: #000000 2px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: #000000 2px solid; WIDTH: 20px; COLOR: #000000; PADDING-TOP: 0px; BORDER-BOTTOM: #000000 2px solid; HEIGHT: 4px } + +..hrhalfcomplete { BORDER-RIGHT: #000000 2px solid; BORDER-TOP: #000000 2px solid; BORDER-LEFT: #000000 2px solid; WIDTH: 9px; COLOR: #000000; BORDER-BOTTOM: #000000 2px solid; HEIGHT: 4px } + +..gweekend { font-family:tahoma, arial, verdana; font-size:11px; background-color:#EEEEEE; text-align:center; } + +..gtask { font-family:tahoma, arial, verdana; font-size:11px; background-color:#00FF00; text-align:center; } + +..gday { font-family:tahoma, arial, verdana; font-size:11px; text-align:center; } + +..gcomplete { background-color:black; height:5px; overflow: auto; margin-top:4px; } + +DIV.scroll { BORDER-RIGHT: #efefef 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #efefef 1px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; OVERFLOW: hidden; BORDER-LEFT: #efefef 1px solid; WIDTH: 420px; PADDING-TOP: 0px; BORDER-BOTTOM: #efefef 1px solid; BACKGROUND-COLOR: #ffffff } + +DIV.scroll2 { position:relative; PADDING-RIGHT: 0px; overflow:auto ;overflow-x:scroll;overflow-y:hidden; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: 482px; PADDING-TOP: 0px; BACKGROUND-COLOR: #ffffff } -/* if using setUseSingleCell(1) the following is a suggested set of CSS3 styles to recreate the table grid - won't work on old browsers -.ggrouphour td, -.gmilehour td, -.gitemhour td { background-size: 19px 1px; background-image: linear-gradient(to left, #efefef, transparent 1px, transparent 18px); width: 100%; height: 19px; } -.ggroupday td, -.gmileday td, -.gitemday td { background-size: 19px 1px, 133px 1px; background-image: linear-gradient(to left, #efefef, transparent 1px, transparent 18px), linear-gradient(to left, #f7f7f7 39px, transparent 1px, transparent 92px); width: 100%; height: 19px; } -.ggroupweek td, -.gmileweek td, -.gitemweek td { background-size: 37px 1px; background-image: linear-gradient(to left, #efefef, transparent 1px, transparent 36px); width: 100%; height: 19px; } -.ggroupmonth td, -.gmilemonth td, -.gitemmonth td { background-size: 37px 1px; background-image: linear-gradient(to left, #efefef, transparent 1px, transparent 36px); width: 100%; height: 19px; } -.ggroupquarter td, -.gmilequarter td, -.gitemquarter td { background-size: 19px 1px; background-image: linear-gradient(to left, #efefef, transparent 1px, transparent 18px); width: 100%; height: 19px; } -*/ diff --git a/htdocs/includes/jsgantt/jsgantt.js b/htdocs/includes/jsgantt/jsgantt.js index 3360d832ec6..2447a068bf7 100644 --- a/htdocs/includes/jsgantt/jsgantt.js +++ b/htdocs/includes/jsgantt/jsgantt.js @@ -1,2575 +1,2315 @@ /* - _ ___ _____ _ _____ ____ ____ - (_) / _ \ \_ \ / ||___ | ___| |___ \ - | |/ /_\/ / /\/ | | / /|___ \ __) | - | / /_\\/\/ /_ | |_ / /_ ___) | / __/ - _/ \____/\____/ |_(_)_/(_)____(_)_____| - |__/ - jsGanttImproved 1.7.5.2 - Copyright (c) 2013-2016, Paul Geldart All rights reserved. +Copyright (c) 2009, Shlomy Gantz BlueBrick Inc. All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the distribution. +* * Neither the name of Shlomy Gantz or BlueBrick Inc. nor the +* names of its contributors may be used to endorse or promote products +* derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY SHLOMY GANTZ/BLUEBRICK INC. ''AS IS'' AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +* DISCLAIMED. IN NO EVENT SHALL SHLOMY GANTZ/BLUEBRICK INC. BE LIABLE FOR ANY +* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +* +* LDR Modified to replace hard coded values by i18[key] +*/ - The current version of this code can be found at https://code.google.com/p/jsgantt-improved/ +/** +* JSGantt component is a UI control that displays gantt charts based by using CSS and HTML +* @module jsgantt +* @title JSGantt +*/ - * Copyright (c) 2013-2016, Paul Geldart. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Paul Geldart nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY PAUL GELDART. ''AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL PAUL GELDART BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +var JSGantt; if (!JSGantt) JSGantt = {}; - This project is based on jsGantt 1.2, (which can be obtained from - https://code.google.com/p/jsgantt/) and remains under the original BSD license. - The original project license follows: +var vTimeout = 0; +var vBenchTime = new Date().getTime(); - Copyright (c) 2009, Shlomy Gantz BlueBrick Inc. All rights reserved. +/** +* Creates a task (one row) in gantt object +* @class TaskItem +* @namespace JSGantt +* @constructor +* @for JSGantt - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Shlomy Gantz or BlueBrick Inc. nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY SHLOMY GANTZ/BLUEBRICK INC. ''AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL SHLOMY GANTZ/BLUEBRICK INC. BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -var JSGantt; if (!JSGantt) JSGantt={}; - -var vBenchTime=new Date().getTime(); - -JSGantt.isIE=function () +* @param pID {Number} Task unique numeric ID +* @param pName {String} Task Name +* @param pStart {Date} Task start date/time (not required for pGroup=1 ) +* @param pEnd {Date} Task end date/time, you can set the end time to 12:00 to indicate half-day (not required for pGroup=1 ) +* @param pColor {String} Task bar RGB value +* @param pLink {String} Task URL, clicking on the task will redirect to this url. Leave empty if you do not with the Task also serve as a link +* @param pMile {Boolean} Determines whether task is a milestone (1=Yes,0=No) +* @param pRes {String} Resource to perform the task +* @param pComp {Number} Percent complete (Number between 0 and 100) +* @param pGroup {Boolean} +* @param pParent {Number} ID of the parent task +* @param pOpen {Boolean} +* @param pDepend {String} Comma seperated list of IDs this task depends on +* @param pCaption {String} Caption to be used instead of default caption (Resource). +* note : you should use setCaption("Caption") in order to display the caption +* @return void +*/ +JSGantt.TaskItem = function(pID, pName, pStart, pEnd, pColor, pLink, pMile, pRes, pComp, pGroup, pParent, pOpen, pDepend, pCaption) { - if(typeof document.all!='undefined') - { - if ('pageXOffset' in window) return false; // give IE9 and above the benefit of the doubt! - else return true; - } - else return false; + +/** +* The name of the attribute. +* @property vID +* @type String +* @default pID +* @private +*/ +var vID = pID; + +/** +* @property vName +* @type String +* @default pName +* @private +*/ +var vName = pName; + +/** +* @property vStart +* @type Datetime +* @default new Date() +* @private +*/ +var vStart = new Date(); + +/** +* @property vEnd +* @type Datetime +* @default new Date() +* @private +*/ +var vEnd = new Date(); + +/** +* @property vColor +* @type String +* @default pColor +* @private +*/ +var vColor = pColor; + +/** +* @property vLink +* @type String +* @default pLink +* @private +*/ +var vLink = pLink; + +/** +* @property vMile +* @type Boolean +* @default pMile +* @private +*/ +var vMile = pMile; + +/** +* @property vRes +* @type String +* @default pRes +* @private +*/ +var vRes = pRes; + +/** +* @property vComp +* @type Number +* @default pComp +* @private +*/ +var vComp = pComp; + +/** +* @property vGroup +* @type Boolean +* @default pGroup +* @private +*/ +var vGroup = pGroup; + +/** +* @property vParent +* @type Number +* @default pParent +* @private +*/ +var vParent = pParent; + +/** +* @property vOpen +* @type Boolean +* @default pOpen +* @private +*/ +var vOpen = pOpen; + +/** +* @property vDepend +* @type String +* @default pDepend +* @private +*/ +var vDepend = pDepend; + +/** +* @property vCaption +* @type String +* @default pCaption +* @private +*/ +var vCaption = pCaption; + +/** +* @property vDuration +* @type Number +* @default '' +* @private +*/ +var vDuration = ''; + +/** +* @property vLevel +* @type Number +* @default 0 +* @private +*/ +var vLevel = 0; + +/** +* @property vNumKid +* @type Number +* @default 0 +* @private +*/ +var vNumKid = 0; + +/** +* @property vVisible +* @type Boolean +* @default 0 +* @private +*/ +var vVisible = 1; + var x1, y1, x2, y2; + + + if (vGroup != 1) + { + vStart = JSGantt.parseDateStr(pStart,g.getDateInputFormat()); + vEnd = JSGantt.parseDateStr(pEnd,g.getDateInputFormat()); + } +/** +* Returns task ID +* @method getID +* @return {Number} +*/ + this.getID = function(){ return vID }; +/** +* Returns task name +* @method getName +* @return {String} +*/ + this.getName = function(){ return vName }; +/** +* Returns task start date +* @method getStart +* @return {Datetime} +*/ + this.getStart = function(){ return vStart}; +/** +* Returns task end date +* @method getEnd +* @return {Datetime} +*/ this.getEnd = function(){ return vEnd }; + +/** +* Returns task bar color (i.e. 00FF00) +* @method getColor +* @return {String} +*/ this.getColor = function(){ return vColor}; + +/** +* Returns task URL (i.e. http://www.jsgantt.com) +* @method getLink +* @return {String} +*/ this.getLink = function(){ return vLink }; + +/** +* Returns whether task is a milestone (1=Yes,0=No) +* @method getMile +* @return {Boolean} +*/ this.getMile = function(){ return vMile }; + +/** +* Returns task dependencies as list of values (i.e. 123,122) +* @method getDepend +* @return {String} +*/ this.getDepend = function(){ if(vDepend) return vDepend; else return null }; + +/** +* Returns task caption (if it exists) +* @method getCaption +* @return {String} +*/ this.getCaption = function(){ if(vCaption) return vCaption; else return ''; }; + +/** +* Returns task resource name as string +* @method getResource +* @return {String} +*/ this.getResource = function(){ if(vRes) return vRes; else return ' '; }; + +/** +* Returns task completion percent as numeric value +* @method getCompVal +* @return {Boolean} +*/ this.getCompVal = function(){ if(vComp) return vComp; else return 0; }; + +/** +* Returns task completion percent as formatted string (##%) +* @method getCompStr +* @return {String} +*/ this.getCompStr = function(){ if(vComp) return vComp+'%'; else return ''; }; + +/** +* Returns task duration as a fortmatted string based on the current selected format +* @method getDuration +* @param vFormat {String} selected format (minute,hour,day,week,month) +* @return {String} +*/ this.getDuration = function(vFormat){ + if (vMile) + vDuration = '-'; + else if (vFormat=='hour') + { + tmpPer = Math.ceil((this.getEnd() - this.getStart()) / ( 60 * 60 * 1000) ); + if(tmpPer == 1) + vDuration = '1 '+i18n["sHour"]; + else + vDuration = tmpPer + ' '+i18n["sHours"]; + } + + else if (vFormat=='minute') + { + tmpPer = Math.ceil((this.getEnd() - this.getStart()) / ( 60 * 1000) ); + if(tmpPer == 1) + vDuration = '1 '+i18n["sMinute"]; + else + vDuration = tmpPer + ' '+i18n["sMinutes"]; + } + + else { //if(vFormat == 'day') { + tmpPer = Math.ceil((this.getEnd() - this.getStart()) / (24 * 60 * 60 * 1000) + 1); + if(tmpPer == 1) vDuration = '1 '+i18n["sDay"]; + else vDuration = tmpPer + ' '+i18n["sDays"]; + } + + //else if(vFormat == 'week') { + // tmpPer = ((this.getEnd() - this.getStart()) / (24 * 60 * 60 * 1000) + 1)/7; + // if(tmpPer == 1) vDuration = '1 Week'; + // else vDuration = tmpPer + ' Weeks'; + //} + + //else if(vFormat == 'month') { + // tmpPer = ((this.getEnd() - this.getStart()) / (24 * 60 * 60 * 1000) + 1)/30; + // if(tmpPer == 1) vDuration = '1 Month'; + // else vDuration = tmpPer + ' Months'; + //} + + //else if(vFormat == 'quater') { + // tmpPer = ((this.getEnd() - this.getStart()) / (24 * 60 * 60 * 1000) + 1)/120; + // if(tmpPer == 1) vDuration = '1 Qtr'; + // else vDuration = tmpPer + ' Qtrs'; + //} + return( vDuration ) + }; + +/** +* Returns task parent ID +* @method getParent +* @return {Number} +*/ this.getParent = function(){ return vParent }; + +/** +* Returns whether task is a group (1=Yes,0=No) +* @method getGroup +* @return {Number} +*/ this.getGroup = function(){ return vGroup }; + +/** +* Returns whether task is open (1=Yes,0=No) +* @method getOpen +* @return {Boolean} +*/ this.getOpen = function(){ return vOpen }; + +/** +* Returns task tree level (0,1,2,3...) +* @method getLevel +* @return {Boolean} +*/ this.getLevel = function(){ return vLevel }; + +/** +* Returns the number of child tasks +* @method getNumKids +* @return {Number} +*/ this.getNumKids = function(){ return vNumKid }; + /** +* Returns the X position of the left side of the task bar on the graph (right side) +* @method getStartX +* @return {Number} +*/ this.getStartX = function(){ return x1 }; + +/** +* Returns the Y position of the top of the task bar on the graph (right side) +* @method getStartY +* @return {Number} +*/ this.getStartY = function(){ return y1 }; + +/** +* Returns the X position of the right of the task bar on the graph (right side) +* @method getEndX +* @return {Int} +*/ this.getEndX = function(){ return x2 }; + +/** +* Returns the Y position of the bottom of the task bar on the graph (right side) +* @method getEndY +* @return {Number} +*/ this.getEndY = function(){ return y2 }; + +/** +* Returns whether task is visible (1=Yes,0=No) +* @method getVisible +* @return {Boolean} +*/ this.getVisible = function(){ return vVisible }; + +/** +* Set task dependencies +* @method setDepend +* @param pDepend {String} A comma delimited list of task IDs the current task depends on. +* @return {void} +*/ this.setDepend = function(pDepend){ vDepend = pDepend;}; + +/** +* Set task start date/time +* @method setStart +* @param pStart {Datetime} +* @return {void} +*/ this.setStart = function(pStart){ vStart = pStart;}; + +/** +* Set task end date/time +* @method setEnd +* @param pEnd {Datetime} +* @return {void} +*/ this.setEnd = function(pEnd) { vEnd = pEnd; }; + +/** +* Set task tree level (0,1,2,3...) +* @method setLevel +* @param pLevel {Number} +* @return {void} +*/ this.setLevel = function(pLevel){ vLevel = pLevel;}; + +/** +* Set Number of children for the task +* @method setNumKid +* @param pNumKid {Number} +* @return {void} +*/ this.setNumKid = function(pNumKid){ vNumKid = pNumKid;}; + +/** +* Set task completion percentage +* @method setCompVal +* @param pCompVal {Number} +* @return {void} +*/ this.setCompVal = function(pCompVal){ vComp = pCompVal;}; + +/** +* Set a task bar starting position (left) +* @method setStartX +* @param pX {Number} +* @return {void} +*/ this.setStartX = function(pX) {x1 = pX; }; + +/** +* Set a task bar starting position (top) +* @method setStartY +* @param pY {Number} +* @return {String} +*/ this.setStartY = function(pY) {y1 = pY; }; + +/** +* Set a task bar starting position (right) +* @method setEndX +* @param pX {Number} +* @return {String} +*/ this.setEndX = function(pX) {x2 = pX; }; + +/** +* Set a task bar starting position (bottom) +* @method setEndY +* @param pY {Number} +* @return {String} +*/ this.setEndY = function(pY) {y2 = pY; }; + +/** +* Set task open/closed +* @method setOpen +* @param pOpen {Boolean} +* @return {void} +*/ this.setOpen = function(pOpen) {vOpen = pOpen; }; + +/** +* Set task visibility +* @method setVisible +* @param pVisible {Boolean} +* @return {void} +*/ this.setVisible = function(pVisible) {vVisible = pVisible; }; + }; + + +/** +* Creates the gant chart. for example: -JSGantt.TaskItem=function(pID, pName, pStart, pEnd, pClass, pLink, pMile, pRes, pComp, pGroup, pParent, pOpen, pDepend, pCaption, pNotes, pGantt) +

var g = new JSGantt.GanttChart('g',document.getElementById('GanttChartDIV'), 'day');

+ +var g = new JSGantt.GanttChart( - assign the gantt chart to a javascript variable called 'g' +'g' - the name of the variable that was just assigned (will be used later so that gantt object can reference itself) +document.getElementById('GanttChartDIV') - reference to the DIV that will hold the gantt chart +'day' - default format will be by day + +* +* @class GanttChart +* @param pGanttVar {String} the name of the gantt chart variable +* @param pDiv {String} reference to the DIV that will hold the gantt chart +* @param pFormat {String} default format (minute,hour,day,week,month,quarter) +* @return void +*/ + +JSGantt.GanttChart = function(pGanttVar, pDiv, pFormat) { +/** +* The name of the gantt chart variable +* @property vGanttVar +* @type String +* @default pGanttVar +* @private +*/ var vGanttVar = pGanttVar; +/** +* The name of the gantt chart DIV +* @property vDiv +* @type String +* @default pDiv +* @private +*/ var vDiv = pDiv; +/** +* Selected format (minute,hour,day,week,month) +* @property vFormat +* @type String +* @default pFormat +* @private +*/ var vFormat = pFormat; +/** +* Show resource column +* @property vShowRes +* @type Number +* @default 1 +* @private +*/ var vShowRes = 1; +/** +* Show duration column +* @property vShowDur +* @type Number +* @default 1 +* @private +*/ var vShowDur = 1; +/** +* Show percent complete column +* @property vShowComp +* @type Number +* @default 1 +* @private +*/ var vShowComp = 1; +/** +* Show start date column +* @property vShowStartDate +* @type Number +* @default 1 +* @private +*/ var vShowStartDate = 1; +/** +* Show end date column +* @property vShowEndDate +* @type Number +* @default 1 +* @private +*/ var vShowEndDate = 1; +/** +* Date input format +* @property vDateInputFormat +* @type String +* @default "mm/dd/yyyy" +* @private +*/var vDateInputFormat = "mm/dd/yyyy"; +/** +* Date display format +* @property vDateDisplayFormat +* @type String +* @default "mm/dd/yy" +* @private +*/var vDateDisplayFormat = "mm/dd/yy"; - var vID=parseInt(document.createTextNode(pID).data); - var vName=document.createTextNode(pName).data; - var vStart=new Date(0); - var vEnd=new Date(0); - var vGroupMinStart=null; - var vGroupMinEnd=null; - var vClass=document.createTextNode(pClass).data; - var vLink=document.createTextNode(pLink).data; - var vMile=parseInt(document.createTextNode(pMile).data); - var vRes=document.createTextNode(pRes).data; - var vComp=parseFloat(document.createTextNode(pComp).data); - var vGroup=parseInt(document.createTextNode(pGroup).data); - var vParent=document.createTextNode(pParent).data; - var vOpen=(vGroup==2)?1:parseInt(document.createTextNode(pOpen).data); - var vDepend=new Array(); - var vDependType=new Array(); - var vCaption=document.createTextNode(pCaption).data; - var vDuration=''; - var vLevel=0; - var vNumKid=0; - var vVisible=1; - var vSortIdx=0; - var vToDelete=false; - var x1, y1, x2, y2; - var vNotes; - var vParItem=null; - var vCellDiv=null; - var vGantt=(pGantt instanceof JSGantt.GanttChart)? pGantt : g; //hack for backwards compatibility - var vBarDiv=null; - var vTaskDiv=null; - var vListChildRow=null; - var vChildRow=null; - var vGroupSpan=null; + var vNumUnits = 0; + var vCaptionType; + var vDepId = 1; + var vTaskList = new Array(); + var vFormatArr = new Array("day","week","month","quarter"); + var vQuarterArr = new Array(1,1,1,2,2,2,3,3,3,4,4,4); + var vMonthDaysArr = new Array(31,28,31,30,31,30,31,31,30,31,30,31); + var vMonthArr = new Array(i18n["January"],i18n["February"],i18n["March"],i18n["April"],i18n["May"],i18n["June"],i18n["July"],i18n["August"],i18n["September"],i18n["October"],i18n["November"],i18n["December"]); - vNotes=document.createElement('span'); - vNotes.className='gTaskNotes'; - if (pNotes!=null) - { - vNotes.innerHTML=pNotes; - JSGantt.stripUnwanted(vNotes); - } + +/** +* Set current display format (minute/hour/day/week/month/quarter) +* Only the first 4 arguments are used, for example: +* +* g.setFormatArr("day","week","month"); +* +* will show 3 formatting options (day/week/month) at the bottom right of the gantt chart +* @method setFormatArr +* @return {void} +*/ this.setFormatArr = function() { + vFormatArr = new Array(); + for(var i = 0; i < arguments.length; i++) {vFormatArr[i] = arguments[i];} + if(vFormatArr.length>4){vFormatArr.length=4;} + }; +/** +* Show/Hide resource column +* @param pShow {Number} 1=Show,0=Hide +* @method setShowRes +* @return {void} +*/ this.setShowRes = function(pShow) { vShowRes = pShow; }; +/** +* Show/Hide duration column +* @param pShow {Number} 1=Show,0=Hide +* @method setShowDur +* @return {void} +*/ this.setShowDur = function(pShow) { vShowDur = pShow; }; +/** +* Show/Hide completed column +* @param pShow {Number} 1=Show,0=Hide +* @method setShowComp +* @return {void} +*/ this.setShowComp = function(pShow) { vShowComp = pShow; }; +/** +* Show/Hide start date column +* @param pShow {Number} 1=Show,0=Hide +* @method setShowStartDate +* @return {void} +*/ this.setShowStartDate = function(pShow) { vShowStartDate = pShow; }; +/** +* Show/Hide end date column +* @param pShow {Number} 1=Show,0=Hide +* @method setShowEndDate +* @return {void} +*/ this.setShowEndDate = function(pShow) { vShowEndDate = pShow; }; +/** +* Overall date input format +* @param pShow {String} (mm/dd/yyyy,dd/mm/yyyy,yyyy-mm-dd) +* @method setDateInputFormat +* @return {void} +*/ this.setDateInputFormat = function(pShow) { vDateInputFormat = pShow; }; +/** +* Overall date display format +* @param pShow {String} (mm/dd/yyyy,dd/mm/yyyy,yyyy-mm-dd) +* @method setDateDisplayFormat +* @return {void} +*/ this.setDateDisplayFormat = function(pShow) { vDateDisplayFormat = pShow; }; +/** +* Set gantt caption +* @param pType {String} +

Caption-Displays a custom caption set in TaskItem
+Resource-Displays task resource
+Duration-Displays task duration
+Complete-Displays task percent complete

+* @method setCaptionType +* @return {void} +*/ this.setCaptionType = function(pType) { vCaptionType = pType }; +/** +* Set current display format and redraw gantt chart (minute/hour/day/week/month/quarter) +* @param pFormat {String} (mm/dd/yyyy,dd/mm/yyyy,yyyy-mm-dd) +* @method setFormat +* @return {void} +*/ this.setFormat = function(pFormat){ + vFormat = pFormat; + this.Draw(); + }; +/** +* Returns whether resource column is shown +* @method getShowRes +* @return {Number} +*/ this.getShowRes = function(){ return vShowRes }; +/** +* Returns whether duration column is shown +* @method getShowDur +* @return {Number} +*/ this.getShowDur = function(){ return vShowDur }; +/** +* Returns whether percent complete column is shown +* @method getShowComp +* @return {Number} +*/ this.getShowComp = function(){ return vShowComp }; +/** +* Returns whether start date column is shown +* @method getShowStartDate +* @return {Number} +*/ this.getShowStartDate = function(){ return vShowStartDate }; +/** +* Returns whether end date column is shown +* @method getShowEndDate +* @return {Number} +*/ this.getShowEndDate = function(){ return vShowEndDate }; +/** +* Returns date input format +* @method getDateInputFormat +* @return {String} +*/ this.getDateInputFormat = function() { return vDateInputFormat }; +/** +* Returns current display format +* @method getDateDisplayFormat +* @return {String} +*/ this.getDateDisplayFormat = function() { return vDateDisplayFormat }; +/** +* Returns current gantt caption type +* @method getCaptionType +* @return {String} +*/ this.getCaptionType = function() { return vCaptionType }; +/** +* Calculates X/Y coordinates of a task and sets the Start and End properties of the TaskItem +* @method CalcTaskXY +* @return {Void} +*/ this.CalcTaskXY = function () + { + var vList = this.getList(); + var vTaskDiv; + var vParDiv; + var vLeft, vTop, vHeight, vWidth; - if (pStart!=null && pStart!='') - { - vStart=(pStart instanceof Date)?pStart:JSGantt.parseDateStr(document.createTextNode(pStart).data,vGantt.getDateInputFormat()); - vGroupMinStart=vStart; - } + for(i = 0; i < vList.length; i++) + { + vID = vList[i].getID(); + vTaskDiv = document.getElementById("taskbar_"+vID); + vBarDiv = document.getElementById("bardiv_"+vID); + vParDiv = document.getElementById("childgrid_"+vID); - if (pEnd!=null && pEnd!='') - { - vEnd =(pEnd instanceof Date)?pEnd:JSGantt.parseDateStr(document.createTextNode(pEnd).data,vGantt.getDateInputFormat()); - vGroupMinEnd=vEnd; - } + if(vBarDiv) { + vList[i].setStartX( vBarDiv.offsetLeft ); + vList[i].setStartY( vParDiv.offsetTop+vBarDiv.offsetTop+6 ); + vList[i].setEndX( vBarDiv.offsetLeft + vBarDiv.offsetWidth ); + vList[i].setEndY( vParDiv.offsetTop+vBarDiv.offsetTop+6 ); + }; + }; + }; - if (pDepend!=null) - { - var vDependStr=pDepend+''; - var vDepList=vDependStr.split(','); - var n=vDepList.length; +/** +* Adds a TaskItem to the Gantt object task list array +* @method AddTaskItem +* @return {Void} +*/ this.AddTaskItem = function(value) + { + vTaskList.push(value); + }; +/** +* Returns task list Array +* @method getList +* @return {Array} +*/ this.getList = function() { return vTaskList }; - for(var k=0;k1) - { - vFormatArr[j++]=arguments[i].toLowerCase(); - var vRegExp=new RegExp('(?:^|\s)'+arguments[i]+'(?!\S)', 'g'); - vValidFormats=vValidFormats.replace(vRegExp, ''); - } - } - }; - this.setShowRes=function(pVal){vShowRes=pVal;}; - this.setShowDur=function(pVal){vShowDur=pVal;}; - this.setShowComp=function(pVal){vShowComp=pVal;}; - this.setShowStartDate=function(pVal){vShowStartDate=pVal;}; - this.setShowEndDate=function(pVal){vShowEndDate=pVal;}; - this.setShowTaskInfoRes=function(pVal){vShowTaskInfoRes=pVal;}; - this.setShowTaskInfoDur=function(pVal){vShowTaskInfoDur=pVal;}; - this.setShowTaskInfoComp=function(pVal){vShowTaskInfoComp=pVal;}; - this.setShowTaskInfoStartDate=function(pVal){vShowTaskInfoStartDate=pVal;}; - this.setShowTaskInfoEndDate=function(pVal){vShowTaskInfoEndDate=pVal;}; - this.setShowTaskInfoNotes=function(pVal){vShowTaskInfoNotes=pVal;}; - this.setShowTaskInfoLink=function(pVal){vShowTaskInfoLink=pVal;}; - this.setShowEndWeekDate=function(pVal){vShowEndWeekDate=pVal;}; - this.setShowSelector=function() - { - var vValidSelectors='top bottom'; - vShowSelector=new Array(); - for(var i=0, j=0; i1) - { - vShowSelector[j++]=arguments[i].toLowerCase(); - var vRegExp=new RegExp('(?:^|\s)'+arguments[i]+'(?!\S)', 'g'); - vValidSelectors=vValidSelectors.replace(vRegExp, ''); - } - } - }; - this.setShowDeps=function(pVal){vShowDeps=pVal;}; - this.setDateInputFormat=function(pVal){vDateInputFormat=pVal;}; - this.setDateTaskTableDisplayFormat=function(pVal){vDateTaskTableDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; - this.setDateTaskDisplayFormat=function(pVal){vDateTaskDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; - this.setHourMajorDateDisplayFormat=function(pVal){vHourMajorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; - this.setHourMinorDateDisplayFormat=function(pVal){vHourMinorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; - this.setDayMajorDateDisplayFormat=function(pVal){vDayMajorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; - this.setDayMinorDateDisplayFormat=function(pVal){vDayMinorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; - this.setWeekMajorDateDisplayFormat=function(pVal){vWeekMajorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; - this.setWeekMinorDateDisplayFormat=function(pVal){vWeekMinorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; - this.setMonthMajorDateDisplayFormat=function(pVal){vMonthMajorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; - this.setMonthMinorDateDisplayFormat=function(pVal){vMonthMinorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; - this.setQuarterMajorDateDisplayFormat=function(pVal){vQuarterMajorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; - this.setQuarterMinorDateDisplayFormat=function(pVal){vQuarterMinorDateDisplayFormat=JSGantt.parseDateFormatStr(pVal);}; - this.setCaptionType=function(pType){vCaptionType=pType;}; - this.setFormat=function(pFormat) - { - vFormat=pFormat; - this.Draw(); - }; - this.setMinGpLen=function(pMinGpLen){vMinGpLen=pMinGpLen;}; - this.setScrollTo=function(pDate){vScrollTo=pDate;}; - this.setHourColWidth=function(pWidth){vHourColWidth=pWidth;}; - this.setDayColWidth=function(pWidth){vDayColWidth=pWidth;}; - this.setWeekColWidth=function(pWidth){vWeekColWidth=pWidth;}; - this.setMonthColWidth=function(pWidth){vMonthColWidth=pWidth;}; - this.setQuarterColWidth=function(pWidth){vQuarterColWidth=pWidth;}; - this.setRowHeight=function(pHeight){vRowHeight=pHeight;}; - this.setLang=function(pLang){if(vLangs[pLang])vLang=pLang;}; - this.setChartBody=function(pDiv){if(typeof HTMLDivElement !== 'function' || pDiv instanceof HTMLDivElement)vChartBody=pDiv;}; - this.setChartHead=function(pDiv){if(typeof HTMLDivElement !== 'function' || pDiv instanceof HTMLDivElement)vChartHead=pDiv;}; - this.setListBody=function(pDiv){if(typeof HTMLDivElement !== 'function' || pDiv instanceof HTMLDivElement)vListBody=pDiv;}; - this.setChartTable=function(pTable){if(typeof HTMLTableElement !== 'function' || pTable instanceof HTMLTableElement)vChartTable=pTable;}; - this.setLines=function(pDiv){if(typeof HTMLDivElement !== 'function' || pDiv instanceof HTMLDivElement)vLines=pDiv;}; - this.setTimer=function(pVal){vTimer=pVal*1;}; - this.addLang=function(pLang, pVals){ - if(!vLangs[pLang]) - { - vLangs[pLang]=new Object(); - for(var vKey in vLangs['en'])vLangs[pLang][vKey]=(pVals[vKey])?document.createTextNode(pVals[vKey]).data:vLangs['en'][vKey]; - } - }; +/** +* Draw a diaganol line (calc line x,y pairs and draw multiple one-by-one sLines) +* @method dLine +* @return {Void} +*/ this.dLine = function(x1,y1,x2,y2) { - this.getDivId=function(){return vDivId;}; - this.getUseFade=function(){return vUseFade;}; - this.getUseMove=function(){return vUseMove;}; - this.getUseRowHlt=function(){return vUseRowHlt;}; - this.getUseToolTip=function(){return vUseToolTip;}; - this.getUseSort=function(){return vUseSort;}; - this.getUseSingleCell=function(){return vUseSingleCell;}; - this.getFormatArr=function(){return vFormatArr;}; - this.getShowRes=function(){return vShowRes;}; - this.getShowDur=function(){return vShowDur;}; - this.getShowComp=function(){return vShowComp;}; - this.getShowStartDate=function(){return vShowStartDate;}; - this.getShowEndDate=function(){return vShowEndDate;}; - this.getShowTaskInfoRes=function(){return vShowTaskInfoRes;}; - this.getShowTaskInfoDur=function(){return vShowTaskInfoDur;}; - this.getShowTaskInfoComp=function(){return vShowTaskInfoComp;}; - this.getShowTaskInfoStartDate=function(){return vShowTaskInfoStartDate;}; - this.getShowTaskInfoEndDate=function(){return vShowTaskInfoEndDate;}; - this.getShowTaskInfoNotes=function(){return vShowTaskInfoNotes;}; - this.getShowTaskInfoLink=function(){return vShowTaskInfoLink;}; - this.getShowEndWeekDate=function(){return vShowEndWeekDate;}; - this.getShowSelector=function(){return vShowSelector;}; - this.getShowDeps=function(){return vShowDeps;}; - this.getDateInputFormat=function(){return vDateInputFormat;}; - this.getDateTaskTableDisplayFormat=function(){return vDateTaskTableDisplayFormat;}; - this.getDateTaskDisplayFormat=function(){return vDateTaskDisplayFormat;}; - this.getHourMajorDateDisplayFormat=function(){return vHourMajorDateDisplayFormat;}; - this.getHourMinorDateDisplayFormat=function(){return vHourMinorDateDisplayFormat;}; - this.getDayMajorDateDisplayFormat=function(){return vDayMajorDateDisplayFormat;}; - this.getDayMinorDateDisplayFormat=function(){return vDayMinorDateDisplayFormat;}; - this.getWeekMajorDateDisplayFormat=function(){return vWeekMajorDateDisplayFormat;}; - this.getWeekMinorDateDisplayFormat=function(){return vWeekMinorDateDisplayFormat;}; - this.getMonthMajorDateDisplayFormat=function(){return vMonthMajorDateDisplayFormat;}; - this.getMonthMinorDateDisplayFormat=function(){return vMonthMinorDateDisplayFormat;}; - this.getQuarterMajorDateDisplayFormat=function(){return vQuarterMajorDateDisplayFormat;}; - this.getQuarterMinorDateDisplayFormat=function(){return vQuarterMinorDateDisplayFormat;}; - this.getCaptionType=function(){return vCaptionType;}; - this.getMinGpLen=function(){return vMinGpLen;}; - this.getScrollTo=function(){return vScrollTo;}; - this.getHourColWidth=function(){return vHourColWidth;}; - this.getDayColWidth=function(){return vDayColWidth;}; - this.getWeekColWidth=function(){return vWeekColWidth;}; - this.getMonthColWidth=function(){return vMonthColWidth;}; - this.getQuarterColWidth=function(){return vQuarterColWidth;}; - this.getRowHeight=function(){return vRowHeight;}; - this.getChartBody=function(){return vChartBody;}; - this.getChartHead=function(){return vChartHead;}; - this.getListBody=function(){return vListBody;}; - this.getChartTable=function(){return vChartTable;}; - this.getLines=function(){return vLines;}; - this.getTimer=function(){return vTimer;}; + var dx = x2 - x1; + var dy = y2 - y1; + var x = x1; + var y = y1; - this.CalcTaskXY=function() - { - var vID; - var vList=this.getList(); - var vBarDiv; - var vTaskDiv; - var vParDiv; - var vLeft, vTop, vWidth; - var vHeight=Math.floor((this.getRowHeight()/2)); + var n = Math.max(Math.abs(dx),Math.abs(dy)); + dx = dx / n; + dy = dy / n; + for ( i = 0; i <= n; i++ ) + { + vx = Math.round(x); + vy = Math.round(y); + this.sLine(vx,vy,vx,vy); + x += dx; + y += dy; + }; - for(var i=0; i task 2 start) +* @method drawDependency +* @return {Void} +*/ this.drawDependency =function(x1,y1,x2,y2) + { + if(x1 + 10 < x2) + { + this.sLine(x1,y1,x1+4,y1); + this.sLine(x1+4,y1,x1+4,y2); + this.sLine(x1+4,y2,x2,y2); + this.dLine(x2,y2,x2-3,y2-3); + this.dLine(x2,y2,x2-3,y2+3); + this.dLine(x2-1,y2,x2-3,y2-2); + this.dLine(x2-1,y2,x2-3,y2+2); + } + else + { + this.sLine(x1,y1,x1+4,y1); + this.sLine(x1+4,y1,x1+4,y2-10); + this.sLine(x1+4,y2-10,x2-8,y2-10); + this.sLine(x2-8,y2-10,x2-8,y2); + this.sLine(x2-8,y2,x2,y2); + this.dLine(x2,y2,x2-3,y2-3); + this.dLine(x2,y2,x2-3,y2+3); + this.dLine(x2-1,y2,x2-3,y2-2); + this.dLine(x2-1,y2,x2-3,y2+2); + } + }; - this.AddTaskItem=function(value) - { - var vExists=false; - for (var i=0; i=x2 && y1!=y2) vBend=true; - break; - } - - if (vBend) - { - this.sLine(x1,y1,x1+vShort,y1,pClass); - this.sLine(x1+vShort,y1,x1+vShort,y2-vRow,pClass); - this.sLine(x1+vShort,y2-vRow,x2-(vShort*2),y2-vRow,pClass); - this.sLine(x2-(vShort*2),y2-vRow,x2-(vShort*2),y2,pClass); - this.sLine(x2-(vShort*2),y2,x2-(1*vDir),y2,pClass); - } - else if (y1!=y2) - { - this.sLine(x1,y1,x1+vShort,y1,pClass); - this.sLine(x1+vShort,y1,x1+vShort,y2,pClass); - this.sLine(x1+vShort,y2,x2-(1*vDir),y2,pClass); - } - else this.sLine(x1,y1,x2-(1*vDir),y2,pClass); - - var vTmpDiv=this.sLine(x2,y2,x2-3-((vDir<0)?1:0),y2-3-((vDir<0)?1:0),pClass+"Arw"); - vTmpDiv.style.width='0px'; - vTmpDiv.style.height='0px'; - }; - - this.DrawDependencies=function() - { - if (this.getShowDeps()==1) - { - //First recalculate the x,y - this.CalcTaskXY(); - this.clearDependencies(); - - var vList=this.getList(); - for(var i=0; i0 && vList[i].getVisible()==1) - { - for(var k=0;k=0 && vList[vTask].getGroup()!=2) - { - if(vList[vTask].getVisible()==1) - { - if(vDependType[k]=='SS')this.drawDependency(vList[vTask].getStartX()-1,vList[vTask].getStartY(),vList[i].getStartX()-1,vList[i].getStartY(),'SS','gDepSS'); - else if(vDependType[k]=='FF')this.drawDependency(vList[vTask].getEndX(),vList[vTask].getEndY(),vList[i].getEndX(),vList[i].getEndY(),'FF','gDepFF'); - else if(vDependType[k]=='SF')this.drawDependency(vList[vTask].getStartX()-1,vList[vTask].getStartY(),vList[i].getEndX(),vList[i].getEndY(),'SF','gDepSF'); - else if(vDependType[k]=='FS')this.drawDependency(vList[vTask].getEndX(),vList[vTask].getEndY(),vList[i].getStartX()-1,vList[i].getStartY(),'FS','gDepFS'); - } - } - } - } - } - } - // draw the current date line - if (vTodayPx>=0) this.sLine(vTodayPx, 0, vTodayPx, this.getChartTable().offsetHeight-1, 'gCurDate'); - }; - - this.getArrayLocationByID=function(pId) - { - var vList=this.getList(); - for(var i=0; i 0) + { + + // Process all tasks preset parent date and completion % + JSGantt.processRows(vTaskList, 0, -1, 1, 1); + + // get overall min/max dates plus padding + vMinDate = JSGantt.getMinDate(vTaskList, vFormat); + vMaxDate = JSGantt.getMaxDate(vTaskList, vFormat); + + // Calculate chart width variables. vColWidth can be altered manually to change each column width + // May be smart to make this a parameter of GanttChart or set it based on existing pWidth parameter + if(vFormat == 'day') { + vColWidth = 18; + vColUnit = 1; + } + else if(vFormat == 'week') { + vColWidth = 37; + vColUnit = 7; + } + else if(vFormat == 'month') { + vColWidth = 37; + vColUnit = 30; + } + else if(vFormat == 'quarter') { + vColWidth = 60; + vColUnit = 90; + } + + else if(vFormat=='hour') + { + vColWidth = 18; + vColUnit = 1; + } + + else if(vFormat=='minute') + { + vColWidth = 18; + vColUnit = 1; + } + + vNumDays = (Date.parse(vMaxDate) - Date.parse(vMinDate)) / ( 24 * 60 * 60 * 1000); + vNumUnits = vNumDays / vColUnit; + + + vChartWidth = vNumUnits * vColWidth + 1; + vDayWidth = (vColWidth / vColUnit) + (1/vColUnit); + + vMainTable = + '' + + ''; + + vMainTable += vLeftTable; // Draw the Chart Rows - var vRightHeader=document.createDocumentFragment(); - vTmpDiv=this.newNode(vRightHeader, 'div', vDivId+'gcharthead', 'gchartlbl gcontainercol'); - this.setChartHead(vTmpDiv); - vTmpTab=this.newNode(vTmpDiv, 'table', vDivId+'chartTableh', 'gcharttableh'); - vTmpTBody=this.newNode(vTmpTab, 'tbody'); - vTmpRow=this.newNode(vTmpTBody, 'tr'); + vRightTable = + '
'; + + if(vShowRes !=1) vNameWidth+=vStatusWidth; + if(vShowDur !=1) vNameWidth+=vStatusWidth; + if(vShowComp!=1) vNameWidth+=vStatusWidth; + if(vShowStartDate!=1) vNameWidth+=vStatusWidth; + if(vShowEndDate!=1) vNameWidth+=vStatusWidth; + + // DRAW the Left-side of the chart (names, resources, comp%) + vLeftTable = + '
' + + '' + + ' ' + + ' '; + + if(vShowRes ==1) vLeftTable += ' ' ; + if(vShowDur ==1) vLeftTable += ' ' ; + if(vShowComp==1) vLeftTable += ' ' ; + if(vShowStartDate==1) vLeftTable += ' ' ; + if(vShowEndDate==1) vLeftTable += ' ' ; + + vLeftTable += + '' + + ' ' + + ' ' ; + + if(vShowRes ==1) vLeftTable += ' ' ; + if(vShowDur ==1) vLeftTable += ' ' ; + if(vShowComp==1) vLeftTable += ' ' ; + if(vShowStartDate==1) vLeftTable += ' ' ; + if(vShowEndDate==1) vLeftTable += ' ' ; + + vLeftTable += ''; + + for(i = 0; i < vTaskList.length; i++) { - vNewNode.setAttribute(pAttribs[i],pAttribs[i+1]); - } - } - // I wish I could do this with setAttribute but older IEs don't play nice - if (pId)vNewNode.id=pId; - if (pClass)vNewNode.className=pClass; - if (pWidth)vNewNode.style.width=(isNaN(pWidth*1))?pWidth:pWidth+'px'; - if (pLeft)vNewNode.style.left=(isNaN(pLeft*1))?pLeft:pLeft+'px'; - if (pText)vNewNode.appendChild(document.createTextNode(pText)); - if (pDisplay)vNewNode.style.display=pDisplay; - if (pColspan)vNewNode.colSpan=pColspan; - return vNewNode; - }; + if( vTaskList[i].getGroup()) { + vBGColor = "f3f3f3"; + vRowType = "group"; + } else { + vBGColor = "ffffff"; + vRowType = "row"; + } + + vID = vTaskList[i].getID(); - this.Draw=function() - { - var vMaxDate=new Date(); - var vMinDate=new Date(); - var vTmpDate=new Date(); - var vTaskLeftPx=0; - var vTaskRightPx=0; - var vTaskWidth=1; - var vNumCols=0; - var vNumRows=0; - var vSingleCell=false; - var vID=0; - var vMainTable=''; - var vDateRow=null; - var vFirstCellItemRowStr=''; - var vItemRowStr=''; - var vColWidth=0; - var vColUnit=0; - var vChild; - var vGroup; - var vTaskDiv; - var vParDiv; + if(vTaskList[i].getVisible() == 0) + vLeftTable += '' ; + else + vLeftTable += '' ; - if(vTaskList.length>0) - { - // Process all tasks, reset parent date and completion % if task list has altered - if (vProcessNeeded) JSGantt.processRows(vTaskList, 0, -1, 1, 1, this.getUseSort()); - vProcessNeeded=false; + vLeftTable += + ' ' + + ' ' ; - vTmpDiv=this.newNode(vLeftHeader, 'div', null, 'glabelfooter'); + if(vShowRes ==1) vLeftTable += ' ' ; + if(vShowDur ==1) vLeftTable += ' ' ; + if(vShowComp==1) vLeftTable += ' ' ; + if(vShowStartDate==1) vLeftTable += ' ' ; + if(vShowEndDate==1) vLeftTable += ' ' ; - var vLeftTable=document.createDocumentFragment(); - var vTmpDiv2=this.newNode(vLeftTable, 'div', vDivId+'glistbody', 'glistgrid gcontainercol'); - this.setListBody(vTmpDiv2); - vTmpTab=this.newNode(vTmpDiv2, 'table', null, 'gtasktable'); - vTmpTBody=this.newNode(vTmpTab, 'tbody'); + vLeftTable += ''; - for(i=0; i
'+i18n["Resource"]+''+i18n["Duration"]+'%'+i18n["Start_Date"]+''+i18n["End_Date"]+'
 '; - // get overall min/max dates plus padding - vMinDate=JSGantt.getMinDate(vTaskList, vFormat); - vMaxDate=JSGantt.getMaxDate(vTaskList, vFormat); + for(j=1; j ' ; + else + vLeftTable += '+ ' ; + + } else { - var vTmpDiv=this.newNode(vLeftHeader, 'div', vDivId+'glisthead', 'glistlbl gcontainercol'); - var vTmpTab=this.newNode(vTmpDiv, 'table', null, 'gtasktableh'); - var vTmpTBody=this.newNode(vTmpTab, 'tbody'); - var vTmpRow=this.newNode(vTmpTBody, 'tr'); - this.newNode(vTmpRow, 'td', null, 'gtasklist', '\u00A0'); - var vTmpCell=this.newNode(vTmpRow, 'td', null, 'gspanning gtaskname'); - vTmpCell.appendChild(this.drawSelector('top')); - if(vShowRes==1)this.newNode(vTmpRow, 'td', null, 'gspanning gresource', '\u00A0'); - if(vShowDur==1)this.newNode(vTmpRow, 'td', null, 'gspanning gduration', '\u00A0'); - if(vShowComp==1)this.newNode(vTmpRow, 'td', null, 'gspanning gpccomplete', '\u00A0'); - if(vShowStartDate==1)this.newNode(vTmpRow, 'td', null, 'gspanning gstartdate', '\u00A0'); - if(vShowEndDate==1)this.newNode(vTmpRow, 'td', null, 'gspanning genddate', '\u00A0'); + vLeftTable += '   '; + } - vTmpRow=this.newNode(vTmpTBody, 'tr'); - this.newNode(vTmpRow, 'td', null, 'gtasklist', '\u00A0'); - this.newNode(vTmpRow, 'td', null, 'gtaskname', '\u00A0'); - if(vShowRes==1)this.newNode(vTmpRow, 'td', null, 'gtaskheading gresource', vLangs[vLang]['resource']); - if(vShowDur==1)this.newNode(vTmpRow, 'td', null, 'gtaskheading gduration', vLangs[vLang]['duration']); - if(vShowComp==1)this.newNode(vTmpRow, 'td', null, 'gtaskheading gpccomplete', vLangs[vLang]['comp']); - if(vShowStartDate==1)this.newNode(vTmpRow, 'td', null, 'gtaskheading gstartdate', vLangs[vLang]['startdate']); - if(vShowEndDate==1)this.newNode(vTmpRow, 'td', null, 'gtaskheading genddate', vLangs[vLang]['enddate']); + vLeftTable += + ' ' + vTaskList[i].getName() + '' + vTaskList[i].getResource() + '' + (vTaskList[i].getStart() > 0 ? vTaskList[i].getDuration(vFormat) : '') + '' + vTaskList[i].getCompStr() + '' + (vTaskList[i].getStart() > 0 ? JSGantt.formatDateStr( vTaskList[i].getStart(), vDateDisplayFormat) : '')+ '' + (vTaskList[i].getEnd() > 0 ? JSGantt.formatDateStr( vTaskList[i].getEnd(), vDateDisplayFormat) : '') + '
  Powered by jsGantt      Format:'; + '
         '+i18n["Period"]+':   '; + + if (vFormatArr.join().indexOf("minute")!=-1) { + if (vFormat=='minute') vLeftTable += ''+i18n["sMinute"]; + else vLeftTable += ''+i18n["sMinute"]; + } + + if (vFormatArr.join().indexOf("hour")!=-1) { + if (vFormat=='hour') vLeftTable += ''+i18n["sHour"]; + else vLeftTable += ''+i18n["sHour"]; + } + + if (vFormatArr.join().indexOf("day")!=-1) { + if (vFormat=='day') vLeftTable += ''+i18n["sDay"]; + else vLeftTable += ''+i18n["sDay"]; + } + + if (vFormatArr.join().indexOf("week")!=-1) { + if (vFormat=='week') vLeftTable += ''+i18n["sWeek"]; + else vLeftTable += ''+i18n["sWeek"]; + } + + if (vFormatArr.join().indexOf("month")!=-1) { + if (vFormat=='month') vLeftTable += ''+i18n["sMonth"]; + else vLeftTable += ''+i18n["sMonth"]; + } + + if (vFormatArr.join().indexOf("quarter")!=-1) { + if (vFormat=='quarter') vLeftTable += ''+i18n["sQuarter"]; + else vLeftTable += ''+i18n["sQuarter"]; + } + +// vLeftTable += ' .'; + + vLeftTable += '
' + + '
' + + '' + + ''; vTmpDate.setFullYear(vMinDate.getFullYear(), vMinDate.getMonth(), vMinDate.getDate()); - if(vFormat=='hour')vTmpDate.setHours(vMinDate.getHours()); - else vTmpDate.setHours(0); + vTmpDate.setHours(0); vTmpDate.setMinutes(0); - vTmpDate.setSeconds(0); - vTmpDate.setMilliseconds(0); - var vColSpan=1; - // Major Date Header - while(vTmpDate.getTime()<=vMaxDate.getTime()) + // Major Date Header + while(Date.parse(vTmpDate) <= Date.parse(vMaxDate)) + { + vStr = vTmpDate.getFullYear() + ''; + vStr = vStr.substring(2,4); + + + if(vFormat == 'minute') { - var vHeaderCellClass='gmajorheading'; - vCellContents=''; - - if(vFormat=='day') - { - vTmpCell=this.newNode(vTmpRow, 'td', null, vHeaderCellClass, null, null, null, null, 7); - vCellContents+=JSGantt.formatDateStr(vTmpDate,vDayMajorDateDisplayFormat,vLangs[vLang]); - vTmpDate.setDate(vTmpDate.getDate()+6); - - if (vShowEndWeekDate==1) vCellContents+=' - ' +JSGantt.formatDateStr(vTmpDate, vDayMajorDateDisplayFormat,vLangs[vLang]); - - this.newNode(vTmpCell, 'div', null, null, vCellContents, vColWidth*7); - vTmpDate.setDate(vTmpDate.getDate()+1); - } - else if(vFormat=='week') - { - vTmpCell=this.newNode(vTmpRow, 'td', null, vHeaderCellClass, null, vColWidth); - this.newNode(vTmpCell, 'div', null, null, JSGantt.formatDateStr(vTmpDate,vWeekMajorDateDisplayFormat,vLangs[vLang]), vColWidth); - vTmpDate.setDate(vTmpDate.getDate()+7); - } - else if(vFormat=='month') - { - vColSpan=(12-vTmpDate.getMonth()); - if (vTmpDate.getFullYear()==vMaxDate.getFullYear()) vColSpan-=(11-vMaxDate.getMonth()); - vTmpCell=this.newNode(vTmpRow, 'td', null, vHeaderCellClass, null, null, null, null, vColSpan); - this.newNode(vTmpCell, 'div', null, null, JSGantt.formatDateStr(vTmpDate,vMonthMajorDateDisplayFormat,vLangs[vLang]), vColWidth*vColSpan); - vTmpDate.setFullYear(vTmpDate.getFullYear()+1,0,1); - } - else if(vFormat=='quarter') - { - vColSpan=(4-Math.floor(vTmpDate.getMonth()/3)); - if (vTmpDate.getFullYear()==vMaxDate.getFullYear()) vColSpan-=(3-Math.floor(vMaxDate.getMonth()/3)); - vTmpCell=this.newNode(vTmpRow, 'td', null, vHeaderCellClass, null, null, null, null, vColSpan); - this.newNode(vTmpCell, 'div', null, null, JSGantt.formatDateStr(vTmpDate,vQuarterMajorDateDisplayFormat,vLangs[vLang]), vColWidth*vColSpan); - vTmpDate.setFullYear(vTmpDate.getFullYear()+1,0,1); - } - else if(vFormat=='hour') - { - vColSpan=(24-vTmpDate.getHours()); - if (vTmpDate.getFullYear()==vMaxDate.getFullYear() && - vTmpDate.getMonth()==vMaxDate.getMonth() && - vTmpDate.getDate()==vMaxDate.getDate()) vColSpan-=(23-vMaxDate.getHours()); - vTmpCell=this.newNode(vTmpRow, 'td', null, vHeaderCellClass, null, null, null, null, vColSpan); - this.newNode(vTmpCell, 'div', null, null, JSGantt.formatDateStr(vTmpDate,vHourMajorDateDisplayFormat,vLangs[vLang]), vColWidth*vColSpan); - vTmpDate.setHours(0); - vTmpDate.setDate(vTmpDate.getDate()+1); - } + vRightTable += ''; + vTmpDate.setHours(vTmpDate.getHours()+1); + } + + if(vFormat == 'hour') + { + vRightTable += ''; + vTmpDate.setDate(vTmpDate.getDate()+1); + } + + if(vFormat == 'day') + { + vRightTable += ''; + vTmpDate.setDate(vTmpDate.getDate()+1); + } + else if(vFormat == 'week') + { + vRightTable += ''; + vTmpDate.setDate(vTmpDate.getDate()+7); + } + else if(vFormat == 'month') + { + vRightTable += ''; + vTmpDate.setDate(vTmpDate.getDate() + 1); + while(vTmpDate.getDate() > 1) + { + vTmpDate.setDate(vTmpDate.getDate() + 1); + } + } + else if(vFormat == 'quarter') + { + vRightTable += ''; + vTmpDate.setDate(vTmpDate.getDate() + 81); + while(vTmpDate.getDate() > 1) + { + vTmpDate.setDate(vTmpDate.getDate() + 1); + } } - vTmpRow=this.newNode(vTmpTBody, 'tr'); + } - // Minor Date header and Cell Rows - vTmpDate.setFullYear(vMinDate.getFullYear(), vMinDate.getMonth(), vMinDate.getDate(), vMinDate.getHours()); - if(vFormat=='hour')vTmpDate.setHours(vMinDate.getHours()); - vNumCols=0; + vRightTable += ''; - while(vTmpDate.getTime()<=vMaxDate.getTime()) + // Minor Date header and Cell Rows + vTmpDate.setFullYear(vMinDate.getFullYear(), vMinDate.getMonth(), vMinDate.getDate()); + vNxtDate.setFullYear(vMinDate.getFullYear(), vMinDate.getMonth(), vMinDate.getDate()); + vNumCols = 0; + + while(Date.parse(vTmpDate) <= Date.parse(vMaxDate)) + { + if (vFormat == 'minute') { - vHeaderCellClass='gminorheading'; - var vCellClass='gtaskcell'; - - if(vFormat=='day') - { - if(vTmpDate.getDay()%6==0) - { - vHeaderCellClass+='wkend'; - vCellClass+='wkend'; - } - - if(vTmpDate<=vMaxDate) - { - vTmpCell=this.newNode(vTmpRow, 'td', null, vHeaderCellClass); - this.newNode(vTmpCell, 'div', null, null, JSGantt.formatDateStr(vTmpDate,vDayMinorDateDisplayFormat,vLangs[vLang]), vColWidth); - vNumCols++; - } - - vTmpDate.setDate(vTmpDate.getDate()+1); - } - else if(vFormat=='week') - { - if(vTmpDate<=vMaxDate) - { - vTmpCell=this.newNode(vTmpRow, 'td', null, vHeaderCellClass); - this.newNode(vTmpCell, 'div', null, null, JSGantt.formatDateStr(vTmpDate,vWeekMinorDateDisplayFormat,vLangs[vLang]), vColWidth); - vNumCols++; - } - - vTmpDate.setDate(vTmpDate.getDate()+7); - } - else if(vFormat=='month') - { - if(vTmpDate<=vMaxDate) - { - vTmpCell=this.newNode(vTmpRow, 'td', null, vHeaderCellClass); - this.newNode(vTmpCell, 'div', null, null, JSGantt.formatDateStr(vTmpDate,vMonthMinorDateDisplayFormat,vLangs[vLang]), vColWidth); - vNumCols++; - } - - vTmpDate.setDate(vTmpDate.getDate()+1); - - while(vTmpDate.getDate()>1) - { - vTmpDate.setDate(vTmpDate.getDate()+1); - } - } - else if(vFormat=='quarter') - { - if(vTmpDate<=vMaxDate) - { - vTmpCell=this.newNode(vTmpRow, 'td', null, vHeaderCellClass); - this.newNode(vTmpCell, 'div', null, null, JSGantt.formatDateStr(vTmpDate,vQuarterMinorDateDisplayFormat,vLangs[vLang]), vColWidth); - vNumCols++; - } - - vTmpDate.setDate(vTmpDate.getDate()+81); - - while(vTmpDate.getDate()>1) vTmpDate.setDate(vTmpDate.getDate()+1); - } - else if(vFormat=='hour') - { - for(i=vTmpDate.getHours();i<24;i++) - { - vTmpDate.setHours(i);//works around daylight savings but may look a little odd on days where the clock goes forward - if(vTmpDate<=vMaxDate) - { - vTmpCell=this.newNode(vTmpRow, 'td', null, vHeaderCellClass); - this.newNode(vTmpCell, 'div', null, null, JSGantt.formatDateStr(vTmpDate,vHourMinorDateDisplayFormat,vLangs[vLang]), vColWidth); - vNumCols++; - } - } - vTmpDate.setHours(0); - vTmpDate.setDate(vTmpDate.getDate()+1); - } + + if( vTmpDate.getMinutes() ==0 ) + vWeekdayColor = "ccccff"; + else + vWeekdayColor = "ffffff"; + + + vDateRowStr += ''; + vItemRowStr += ''; + vTmpDate.setMinutes(vTmpDate.getMinutes() + 1); } - vDateRow=vTmpRow; - - vTaskLeftPx=(vNumCols *(vColWidth+1))+1; - - if(vUseSingleCell!=0 && vUseSingleCell<(vNumCols*vNumRows))vSingleCell=true; - - this.newNode(vTmpDiv, 'div', null, 'rhscrpad', null, null, vTaskLeftPx+1); - - var vRightTable=document.createDocumentFragment(); - vTmpDiv=this.newNode(vRightTable, 'div', vDivId+'gchartbody', 'gchartgrid gcontainercol'); - this.setChartBody(vTmpDiv); - vTmpTab=this.newNode(vTmpDiv, 'table', vDivId+'chartTable', 'gcharttable', null, vTaskLeftPx); - this.setChartTable(vTmpTab); - this.newNode(vTmpDiv, 'div', null, 'rhscrpad', null, null, vTaskLeftPx+1); - vTmpTBody=this.newNode(vTmpTab, 'tbody'); - - // Draw each row - - var i=0; - var j=0; - for(i=0; i
' + vTmpDate.getHours() + '
'; + vItemRowStr += '
'; + vTmpDate.setHours(vTmpDate.getHours() + 1); + } - vTaskLeftPx=JSGantt.getOffset(vMinDate, curTaskStart, vColWidth, vFormat); - vTaskRightPx=JSGantt.getOffset(curTaskStart, curTaskEnd, vColWidth, vFormat); + else if(vFormat == 'day' ) + { + if( JSGantt.formatDateStr(vCurrDate,'mm/dd/yyyy') == JSGantt.formatDateStr(vTmpDate,'mm/dd/yyyy')) { + vWeekdayColor = "ccccff"; + vWeekendColor = "9999ff"; + vWeekdayGColor = "bbbbff"; + vWeekendGColor = "8888ff"; + } else { + vWeekdayColor = "ffffff"; + vWeekendColor = "cfcfcf"; + vWeekdayGColor = "f3f3f3"; + vWeekendGColor = "c3c3c3"; + } + + if(vTmpDate.getDay() % 6 == 0) { + vDateRowStr += ''; + vItemRowStr += ''; + } + else { + vDateRowStr += ''; + if( JSGantt.formatDateStr(vCurrDate,'mm/dd/yyyy') == JSGantt.formatDateStr(vTmpDate,'mm/dd/yyyy')) + vItemRowStr += ''; + else + vItemRowStr += ''; + } - vID=vTaskList[i].getID(); - var vComb=(vTaskList[i].getParItem() && vTaskList[i].getParItem().getGroup()==2); - var vCellFormat=''; + vTmpDate.setDate(vTmpDate.getDate() + 1); - var vTmpItem=vTaskList[i]; - var vCaptionStr=''; - var vCaptClass=null; - if(vTaskList[i].getMile() && !vComb) + } + + else if(vFormat == 'week') + { + + vNxtDate.setDate(vNxtDate.getDate() + 7); + + if( vCurrDate >= vTmpDate && vCurrDate < vNxtDate ) + vWeekdayColor = "ccccff"; + else + vWeekdayColor = "ffffff"; + + if(vNxtDate <= vMaxDate) { + vDateRowStr += ''; + if( vCurrDate >= vTmpDate && vCurrDate < vNxtDate ) + vItemRowStr += ''; + else + vItemRowStr += ''; + + } else { + vDateRowStr += ''; + if( vCurrDate >= vTmpDate && vCurrDate < vNxtDate ) + vItemRowStr += ''; + else + vItemRowStr += ''; + + } + + vTmpDate.setDate(vTmpDate.getDate() + 7); + + } + + else if(vFormat == 'month') + { + + vNxtDate.setFullYear(vTmpDate.getFullYear(), vTmpDate.getMonth(), vMonthDaysArr[vTmpDate.getMonth()]); + if( vCurrDate >= vTmpDate && vCurrDate < vNxtDate ) + vWeekdayColor = "ccccff"; + else + vWeekdayColor = "ffffff"; + + if(vNxtDate <= vMaxDate) { + vDateRowStr += ''; + if( vCurrDate >= vTmpDate && vCurrDate < vNxtDate ) + vItemRowStr += ''; + else + vItemRowStr += ''; + } else { + vDateRowStr += ''; + if( vCurrDate >= vTmpDate && vCurrDate < vNxtDate ) + vItemRowStr += ''; + else + vItemRowStr += ''; + } + + vTmpDate.setDate(vTmpDate.getDate() + 1); + + while(vTmpDate.getDate() > 1) + { + vTmpDate.setDate(vTmpDate.getDate() + 1); + } + + } + + else if(vFormat == 'quarter') + { + + vNxtDate.setDate(vNxtDate.getDate() + 122); + if( vTmpDate.getMonth()==0 || vTmpDate.getMonth()==1 || vTmpDate.getMonth()==2 ) + vNxtDate.setFullYear(vTmpDate.getFullYear(), 2, 31); + else if( vTmpDate.getMonth()==3 || vTmpDate.getMonth()==4 || vTmpDate.getMonth()==5 ) + vNxtDate.setFullYear(vTmpDate.getFullYear(), 5, 30); + else if( vTmpDate.getMonth()==6 || vTmpDate.getMonth()==7 || vTmpDate.getMonth()==8 ) + vNxtDate.setFullYear(vTmpDate.getFullYear(), 8, 30); + else if( vTmpDate.getMonth()==9 || vTmpDate.getMonth()==10 || vTmpDate.getMonth()==11 ) + vNxtDate.setFullYear(vTmpDate.getFullYear(), 11, 31); + + if( vCurrDate >= vTmpDate && vCurrDate < vNxtDate ) + vWeekdayColor = "ccccff"; + else + vWeekdayColor = "ffffff"; + + if(vNxtDate <= vMaxDate) { + vDateRowStr += ''; + if( vCurrDate >= vTmpDate && vCurrDate < vNxtDate ) + vItemRowStr += ''; + else + vItemRowStr += ''; + } else { + vDateRowStr += ''; + if( vCurrDate >= vTmpDate && vCurrDate < vNxtDate ) + vItemRowStr += ''; + else + vItemRowStr += ''; + } + + vTmpDate.setDate(vTmpDate.getDate() + 81); + + while(vTmpDate.getDate() > 1) + { + vTmpDate.setDate(vTmpDate.getDate() + 1); + } + + } + } + + vRightTable += vDateRowStr + ''; + vRightTable += '
' ; + vRightTable += JSGantt.formatDateStr(vTmpDate, vDateDisplayFormat) + ' ' + vTmpDate.getHours() + ':00 -' + vTmpDate.getHours() + ':59 ' ; + vRightTable += JSGantt.formatDateStr(vTmpDate, vDateDisplayFormat) + '' + + JSGantt.formatDateStr(vTmpDate,vDateDisplayFormat.substring(0,5)) + ' - '; + vTmpDate.setDate(vTmpDate.getDate()+6); + vRightTable += JSGantt.formatDateStr(vTmpDate, vDateDisplayFormat) + '`'+ vStr + '`'+ vStr + '`'+ vStr + '
' + vTmpDate.getMinutes() + '
  
  
' + vTmpDate.getDate() + '
 
' + vTmpDate.getDate() + '
  
  
' + (vTmpDate.getMonth()+1) + '/' + vTmpDate.getDate() + '
  
  
' + (vTmpDate.getMonth()+1) + '/' + vTmpDate.getDate() + '
  
  
' + vMonthArr[vTmpDate.getMonth()].substr(0,3) + '
  
  
' + vMonthArr[vTmpDate.getMonth()].substr(0,3) + '
  
  
Qtr. ' + vQuarterArr[vTmpDate.getMonth()] + '
  
  
Qtr. ' + vQuarterArr[vTmpDate.getMonth()] + '
  
  
'; + + // Draw each row + + for(i = 0; i < vTaskList.length; i++) + + { + + vTmpDate.setFullYear(vMinDate.getFullYear(), vMinDate.getMonth(), vMinDate.getDate()); + vTaskStart = vTaskList[i].getStart(); + vTaskEnd = vTaskList[i].getEnd(); + + vNumCols = 0; + vID = vTaskList[i].getID(); + + // vNumUnits = Math.ceil((vTaskList[i].getEnd() - vTaskList[i].getStart()) / (24 * 60 * 60 * 1000)) + 1; + vNumUnits = (vTaskList[i].getEnd() - vTaskList[i].getStart()) / (24 * 60 * 60 * 1000) + 1; + if (vFormat=='hour') + { + vNumUnits = (vTaskList[i].getEnd() - vTaskList[i].getStart()) / ( 60 * 1000) + 1; + } + else if (vFormat=='minute') + { + vNumUnits = (vTaskList[i].getEnd() - vTaskList[i].getStart()) / ( 60 * 1000) + 1; + } + + if(vTaskList[i].getVisible() == 0) + vRightTable += ''; - while(vDiv.hasChildNodes())vDiv.removeChild(vDiv.firstChild); - vTmpDiv=this.newNode(vDiv, 'div', null, 'gchartcontainer'); - vTmpDiv.appendChild(vRightHeader); - vTmpDiv.appendChild(vLeftHeader); - vTmpDiv.appendChild(vRightTable); - vTmpDiv.appendChild(vLeftTable); - this.newNode(vTmpDiv, 'div', null, 'ggridfooter'); - vTmpDiv2=this.newNode(this.getChartBody(), 'div', vDivId+'Lines', 'glinediv'); - vTmpDiv2.style.visibility='hidden'; - this.setLines(vTmpDiv2); + } - /* Quick hack to show the generated HTML on older browsers - add a '/' to the begining of this line to activate - var tmpGenSrc=document.createElement('textarea'); - tmpGenSrc.appendChild(document.createTextNode(vTmpDiv.innerHTML)); - vDiv.appendChild(tmpGenSrc); - //*/ - // Now all the content exists, register scroll listeners - JSGantt.addScrollListeners(this); + vMainTable += vRightTable + '
'; - // now check if we are actually scrolling the pane - if (vScrollTo!='') - { - var vScrollDate=new Date(vMinDate.getTime()); - var vScrollPx=0; + vDiv.innerHTML = vMainTable; - if(vScrollTo.substr(0,2)=='px') - { - vScrollPx=parseInt(vScrollTo.substr(2)); - } - else - { - vScrollDate=JSGantt.parseDateStr(vScrollTo, this.getDateInputFormat()); - if(vFormat=='hour')vScrollDate.setMinutes(0,0,0); - else vScrollDate.setHours(0,0,0,0); - vScrollPx=JSGantt.getOffset(vMinDate, vScrollDate, vColWidth, vFormat); - } - this.getChartBody().scrollLeft=vScrollPx; - } + } - if (vMinDate.getTime()<=(new Date()).getTime() && vMaxDate.getTime()>=(new Date()).getTime()) vTodayPx=JSGantt.getOffset(vMinDate, new Date(), vColWidth, vFormat); - else vTodayPx=-1; - this.DrawDependencies(); - } - }; //this.draw + }; //this.draw - this.mouseOver=function(pObj1, pObj2) - { - if (this.getUseRowHlt()) - { - pObj1.className+=' gitemhighlight'; - pObj2.className+=' gitemhighlight'; - } - }; +/** +* Mouseover behaviour for gantt row +* @method mouseOver +* @return {Void} +*/ this.mouseOver = function( pObj, pID, pPos, pType ) { + if( pPos == 'right' ) vID = 'child_' + pID; + else vID = 'childrow_' + pID; + + pObj.bgColor = "#ffffaa"; + vRowObj = JSGantt.findObj(vID); + if (vRowObj) vRowObj.bgColor = "#ffffaa"; + }; - this.mouseOut=function(pObj1, pObj2) - { - if (this.getUseRowHlt()) - { - pObj1.className=pObj1.className.replace(/(?:^|\s)gitemhighlight(?!\S)/g, ''); - pObj2.className=pObj2.className.replace(/(?:^|\s)gitemhighlight(?!\S)/g, ''); - } - }; +/** +* Mouseout behaviour for gantt row +* @method mouseOut +* @return {Void} +*/ this.mouseOut = function( pObj, pID, pPos, pType ) { + if( pPos == 'right' ) vID = 'child_' + pID; + else vID = 'childrow_' + pID; + + pObj.bgColor = "#ffffff"; + vRowObj = JSGantt.findObj(vID); + if (vRowObj) { + if( pType == "group") { + pObj.bgColor = "#f3f3f3"; + vRowObj.bgColor = "#f3f3f3"; + } else { + pObj.bgColor = "#ffffff"; + vRowObj.bgColor = "#ffffff"; + } + } + }; - this.drawSelector=function(pPos) - { - var vOutput=document.createDocumentFragment(); - var vDisplay=false; - - for (var i=0; i=0 && vIdx'; - vTask+=''+vTaskList[vIdx].getName()+''; - vTask+=''+JSGantt.formatDateStr(vTaskList[vIdx].getStart(),vOutFrmt,vLangs[vLang])+''; - vTask+=''+JSGantt.formatDateStr(vTaskList[vIdx].getEnd(),vOutFrmt,vLangs[vLang])+''; - vTask+=''+vTaskList[vIdx].getClass()+''; - vTask+=''+vTaskList[vIdx].getLink()+''; - vTask+=''+vTaskList[vIdx].getMile()+''; - if(vTaskList[vIdx].getResource()!='\u00A0') vTask+=''+vTaskList[vIdx].getResource()+''; - vTask+=''+vTaskList[vIdx].getCompVal()+''; - vTask+=''+vTaskList[vIdx].getGroup()+''; - vTask+=''+vTaskList[vIdx].getParent()+''; - vTask+=''+vTaskList[vIdx].getOpen()+''; - vTask+=''; - var vDepList=vTaskList[vIdx].getDepend(); - for (i=0;i0)vTask+=','; - if(vDepList[i]>0)vTask+=vDepList[i]+vTaskList[vIdx].getDepType()[i]; - } - vTask+=''; - vTask+=''+vTaskList[vIdx].getCaption()+''; - - var vTmpFrag=document.createDocumentFragment(); - var vTmpDiv=this.newNode(vTmpFrag, 'div', null, null,vTaskList[vIdx].getNotes().innerHTML); - vTask+=''+vTmpDiv.innerHTML+''; - vTask+=''; - } - return vTask; - }; - if (vDiv && vDiv.nodeName.toLowerCase()=='div') vDivId=vDiv.id; }; //GanttChart -JSGantt.updateFlyingObj=function (e, pGanttChartObj, pTimer) { - var vCurTopBuf=3; - var vCurLeftBuf=5; - var vCurBotBuf=3; - var vCurRightBuf=15; - var vMouseX=(e)?e.clientX:window.event.clientX; - var vMouseY=(e)?e.clientY:window.event.clientY; - var vViewportX=document.documentElement.clientWidth||document.getElementsByTagName('body')[0].clientWidth; - var vViewportY=document.documentElement.clientHeight||document.getElementsByTagName('body')[0].clientHeight; - var vNewX=vMouseX; - var vNewY=vMouseY; - if (navigator.appName.toLowerCase ()=='microsoft internet explorer') { - // the clientX and clientY properties include the left and top borders of the client area - vMouseX-=document.documentElement.clientLeft; - vMouseY-=document.documentElement.clientTop; +/** +* +@class +*/ - var vZoomFactor=JSGantt.getZoomFactor (); - if (vZoomFactor!=1) {// IE 7 at non-default zoom level - vMouseX=Math.round (vMouseX / vZoomFactor); - vMouseY=Math.round (vMouseY / vZoomFactor); - } - } +/** +* Checks whether browser is IE +* +* @method isIE +*/ +JSGantt.isIE = function () { + + if(typeof document.all != 'undefined') + {return true;} + else + {return false;} +}; + +/** +* Recursively process task tree ... set min, max dates of parent tasks and identfy task level. +* +* @method processRows +* @param pList {Array} - Array of TaskItem Objects +* @param pID {Number} - task ID +* @param pRow {Number} - Row in chart +* @param pLevel {Number} - Current tree level +* @param pOpen {Boolean} +* @return void +*/ +JSGantt.processRows = function(pList, pID, pRow, pLevel, pOpen) +{ - var vScrollPos=JSGantt.getScrollPositions(); + var vMinDate = new Date(); + var vMaxDate = new Date(); + var vMinSet = 0; + var vMaxSet = 0; + var vList = pList; + var vLevel = pLevel; + var i = 0; + var vNumKid = 0; + var vCompSum = 0; + var vVisible = pOpen; + + for(i = 0; i < pList.length; i++) + { + if(pList[i].getParent() == pID) { + vVisible = pOpen; + pList[i].setVisible(vVisible); + if(vVisible==1 && pList[i].getOpen() == 0) + {vVisible = 0;} + + pList[i].setLevel(vLevel); + vNumKid++; - /* Code for positioned right of the mouse by default*/ - /* - if (vMouseX+vCurRightBuf+pGanttChartObj.vTool.offsetWidth>vViewportX) - { - if (vMouseX-vCurLeftBuf-pGanttChartObj.vTool.offsetWidth<0) vNewX=vScrollPos.x; - else vNewX=vMouseX+vScrollPos.x-vCurLeftBuf-pGanttChartObj.vTool.offsetWidth; - } - else vNewX=vMouseX+vScrollPos.x+vCurRightBuf; - */ + if(pList[i].getGroup() == 1) { + JSGantt.processRows(vList, pList[i].getID(), i, vLevel+1, vVisible); + }; - /* Code for positioned left of the mouse by default */ - if (vMouseX-vCurLeftBuf-pGanttChartObj.vTool.offsetWidth<0) - { - if (vMouseX+vCurRightBuf+pGanttChartObj.vTool.offsetWidth>vViewportX) vNewX=vScrollPos.x; - else vNewX=vMouseX+vScrollPos.x+vCurRightBuf; - } - else vNewX=vMouseX+vScrollPos.x-vCurLeftBuf-pGanttChartObj.vTool.offsetWidth; + if( vMinSet==0 || pList[i].getStart() < vMinDate) { + vMinDate = pList[i].getStart(); + vMinSet = 1; + }; - /* Code for positioned below the mouse by default */ - if (vMouseY+vCurBotBuf+pGanttChartObj.vTool.offsetHeight>vViewportY) - { - if (vMouseY-vCurTopBuf-pGanttChartObj.vTool.offsetHeight<0) vNewY=vScrollPos.y; - else vNewY=vMouseY+vScrollPos.y-vCurTopBuf-pGanttChartObj.vTool.offsetHeight; - } - else vNewY=vMouseY+vScrollPos.y+vCurBotBuf; + if( vMaxSet==0 || pList[i].getEnd() > vMaxDate) { + vMaxDate = pList[i].getEnd(); + vMaxSet = 1; + }; - /* Code for positioned above the mouse by default */ - /* - if (vMouseY-vCurTopBuf-pGanttChartObj.vTool.offsetHeight<0) - { - if (vMouseY+vCurBotBuf+pGanttChartObj.vTool.offsetHeight>vViewportY) vNewY=vScrollPos.y; - else vNewY=vMouseY+vScrollPos.y+vCurBotBuf; - } - else vNewY=vMouseY+vScrollPos.y-vCurTopBuf-pGanttChartObj.vTool.offsetHeight; - */ + vCompSum += pList[i].getCompVal(); + + } + } + + if(pRow >= 0) { + pList[pRow].setStart(vMinDate); + pList[pRow].setEnd(vMaxDate); + pList[pRow].setNumKid(vNumKid); + pList[pRow].setCompVal(Math.ceil(vCompSum/vNumKid)); + } - if (pGanttChartObj.getUseMove()) - { - clearInterval(pGanttChartObj.vTool.moveInterval); - pGanttChartObj.vTool.moveInterval=setInterval(function(){JSGantt.moveToolTip(vNewX, vNewY, pGanttChartObj.vTool, pTimer);},pTimer); - } - else - { - pGanttChartObj.vTool.style.left=vNewX +'px'; - pGanttChartObj.vTool.style.top=vNewY +'px'; - } }; -JSGantt.showToolTip=function(pGanttChartObj, e, pContents, pWidth, pTimer){ - var vTtDivId=pGanttChartObj.getDivId()+'JSGanttToolTip'; - var vMaxW=500; - var vMaxAlpha=100; - var vShowing=pContents.id; +/** +* Determine the minimum date of all tasks and set lower bound based on format +* +* @method getMinDate +* @param pList {Array} - Array of TaskItem Objects +* @param pFormat {String} - current format (minute,hour,day...) +* @return {Datetime} +*/ +JSGantt.getMinDate = function getMinDate(pList, pFormat) + { - if(pGanttChartObj.getUseToolTip()) - { - if(pGanttChartObj.vTool==null){ - pGanttChartObj.vTool=document.createElement('div'); - pGanttChartObj.vTool.id=vTtDivId; - pGanttChartObj.vTool.className='JSGanttToolTip'; - pGanttChartObj.vTool.vToolCont=document.createElement('div'); - pGanttChartObj.vTool.vToolCont.id=vTtDivId+'cont'; - pGanttChartObj.vTool.vToolCont.className='JSGanttToolTipcont'; - pGanttChartObj.vTool.vToolCont.setAttribute('showing',''); - pGanttChartObj.vTool.appendChild(pGanttChartObj.vTool.vToolCont); - document.body.appendChild(pGanttChartObj.vTool); - pGanttChartObj.vTool.style.opacity=0; - pGanttChartObj.vTool.setAttribute('currentOpacity',0); - pGanttChartObj.vTool.setAttribute('fadeIncrement',10); - pGanttChartObj.vTool.setAttribute('moveSpeed',10); - pGanttChartObj.vTool.style.filter='alpha(opacity=0)'; - pGanttChartObj.vTool.style.visibility='hidden'; - pGanttChartObj.vTool.style.left=Math.floor(((e)?e.clientX:window.event.clientX)/2)+'px'; - pGanttChartObj.vTool.style.top=Math.floor(((e)?e.clientY:window.event.clientY)/2)+'px'; - JSGantt.addListener('mouseover', function () {clearTimeout(pGanttChartObj.vTool.delayTimeout);}, pGanttChartObj.vTool); - JSGantt.addListener('mouseout', function () {JSGantt.delayedHide(pGanttChartObj, pGanttChartObj.vTool, pTimer);}, pGanttChartObj.vTool); - } - clearTimeout(pGanttChartObj.vTool.delayTimeout); - if(pGanttChartObj.vTool.vToolCont.getAttribute('showing')!=vShowing || pGanttChartObj.vTool.style.visibility!='visible') - { - if (pGanttChartObj.vTool.vToolCont.getAttribute('showing')!=vShowing) + var vDate = new Date(); + + vDate.setFullYear(pList[0].getStart().getFullYear(), pList[0].getStart().getMonth(), pList[0].getStart().getDate()); + + // Parse all Task End dates to find min + for(i = 0; i < pList.length; i++) + { + if(Date.parse(pList[i].getStart()) < Date.parse(vDate)) + vDate.setFullYear(pList[i].getStart().getFullYear(), pList[i].getStart().getMonth(), pList[i].getStart().getDate()); + } + + if ( pFormat== 'minute') + { + vDate.setHours(0); + vDate.setMinutes(0); + } + else if (pFormat == 'hour' ) + { + vDate.setHours(0); + vDate.setMinutes(0); + } + // Adjust min date to specific format boundaries (first of week or first of month) + else if (pFormat=='day') + { + vDate.setDate(vDate.getDate() - 1); + while(vDate.getDay() % 7 > 0) { - pGanttChartObj.vTool.vToolCont.setAttribute('showing',vShowing); - - pGanttChartObj.vTool.vToolCont.innerHTML=pContents.innerHTML; - // as we are allowing arbitrary HTML we should remove any tag ids to prevent duplication - JSGantt.stripIds(pGanttChartObj.vTool.vToolCont); + vDate.setDate(vDate.getDate() - 1); } - pGanttChartObj.vTool.style.visibility='visible'; - // Rather than follow the mouse just have it stay put - JSGantt.updateFlyingObj(e, pGanttChartObj, pTimer); - pGanttChartObj.vTool.style.width=(pWidth)? pWidth+'px' : 'auto'; - if(!pWidth && JSGantt.isIE()){ - pGanttChartObj.vTool.style.width=pGanttChartObj.vTool.offsetWidth; - } - if(pGanttChartObj.vTool.offsetWidth>vMaxW){pGanttChartObj.vTool.style.width=vMaxW+'px';} - } + } - if (pGanttChartObj.getUseFade()) - { - clearInterval(pGanttChartObj.vTool.fadeInterval); - pGanttChartObj.vTool.fadeInterval=setInterval(function(){JSGantt.fadeToolTip(1, pGanttChartObj.vTool, vMaxAlpha);},pTimer); - } + else if (pFormat=='week') + { + vDate.setDate(vDate.getDate() - 7); + while(vDate.getDay() % 7 > 0) + { + vDate.setDate(vDate.getDate() - 1); + } + + } + + else if (pFormat=='month') + { + while(vDate.getDate() > 1) + { + vDate.setDate(vDate.getDate() - 1); + } + } + + else if (pFormat=='quarter') + { + if( vDate.getMonth()==0 || vDate.getMonth()==1 || vDate.getMonth()==2 ) + {vDate.setFullYear(vDate.getFullYear(), 0, 1);} + else if( vDate.getMonth()==3 || vDate.getMonth()==4 || vDate.getMonth()==5 ) + {vDate.setFullYear(vDate.getFullYear(), 3, 1);} + else if( vDate.getMonth()==6 || vDate.getMonth()==7 || vDate.getMonth()==8 ) + {vDate.setFullYear(vDate.getFullYear(), 6, 1);} + else if( vDate.getMonth()==9 || vDate.getMonth()==10 || vDate.getMonth()==11 ) + {vDate.setFullYear(vDate.getFullYear(), 9, 1);} + + }; + + return(vDate); + + }; + + + + +/** +* Used to determine the minimum date of all tasks and set lower bound based on format +* +* @method getMaxDate +* @param pList {Array} - Array of TaskItem Objects +* @param pFormat {String} - current format (minute,hour,day...) +* @return {Datetime} +*/ +JSGantt.getMaxDate = function (pList, pFormat) +{ + var vDate = new Date(); + + vDate.setFullYear(pList[0].getEnd().getFullYear(), pList[0].getEnd().getMonth(), pList[0].getEnd().getDate()); + + + // Parse all Task End dates to find max + for(i = 0; i < pList.length; i++) + { + if(Date.parse(pList[i].getEnd()) > Date.parse(vDate)) + { + //vDate.setFullYear(pList[0].getEnd().getFullYear(), pList[0].getEnd().getMonth(), pList[0].getEnd().getDate()); + vDate.setTime(Date.parse(pList[i].getEnd())); + } + } + + if (pFormat == 'minute') + { + vDate.setHours(vDate.getHours() + 1); + vDate.setMinutes(59); + } + + if (pFormat == 'hour') + { + vDate.setHours(vDate.getHours() + 2); + } + + // Adjust max date to specific format boundaries (end of week or end of month) + if (pFormat=='day') + { + vDate.setDate(vDate.getDate() + 1); + + while(vDate.getDay() % 6 > 0) + { + vDate.setDate(vDate.getDate() + 1); + } + + } + + if (pFormat=='week') + { + //For weeks, what is the last logical boundary? + vDate.setDate(vDate.getDate() + 11); + + while(vDate.getDay() % 6 > 0) + { + vDate.setDate(vDate.getDate() + 1); + } + + } + + // Set to last day of current Month + if (pFormat=='month') + { + while(vDate.getDay() > 1) + { + vDate.setDate(vDate.getDate() + 1); + } + + vDate.setDate(vDate.getDate() - 1); + } + + // Set to last day of current Quarter + if (pFormat=='quarter') + { + if( vDate.getMonth()==0 || vDate.getMonth()==1 || vDate.getMonth()==2 ) + vDate.setFullYear(vDate.getFullYear(), 2, 31); + else if( vDate.getMonth()==3 || vDate.getMonth()==4 || vDate.getMonth()==5 ) + vDate.setFullYear(vDate.getFullYear(), 5, 30); + else if( vDate.getMonth()==6 || vDate.getMonth()==7 || vDate.getMonth()==8 ) + vDate.setFullYear(vDate.getFullYear(), 8, 30); + else if( vDate.getMonth()==9 || vDate.getMonth()==10 || vDate.getMonth()==11 ) + vDate.setFullYear(vDate.getFullYear(), 11, 31); + + } + + return(vDate); + + }; + + +/** +* Returns an object from the current DOM +* +* @method findObj +* @param theObj {String} - Object name +* @param theDoc {Document} - current document (DOM) +* @return {Object} +*/ +JSGantt.findObj = function (theObj, theDoc) + + { + + var p, i, foundObj; + + if(!theDoc) {theDoc = document;} + + if( (p = theObj.indexOf("?")) > 0 && parent.frames.length){ + + theDoc = parent.frames[theObj.substring(p+1)].document; + + theObj = theObj.substring(0,p); + + } + + if(!(foundObj = theDoc[theObj]) && theDoc.all) + + {foundObj = theDoc.all[theObj];} + + + + for (i=0; !foundObj && i < theDoc.forms.length; i++) + + {foundObj = theDoc.forms[i][theObj];} + + + + for(i=0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++) + + {foundObj = JSGantt.findObj(theObj,theDoc.layers[i].document);} + + + + if(!foundObj && document.getElementById) + + {foundObj = document.getElementById(theObj);} + + + + return foundObj; + + }; + + +/** +* Change display format of current gantt chart +* +* @method changeFormat +* @param pFormat {String} - Current format (minute,hour,day...) +* @param ganttObj {GanttChart} - The gantt object +* @return {void} +*/ +JSGantt.changeFormat = function(pFormat,ganttObj) { + + if(ganttObj) + { + ganttObj.setFormat(pFormat); + ganttObj.DrawDependencies(); + } else - { - pGanttChartObj.vTool.style.opacity=vMaxAlpha * 0.01; - pGanttChartObj.vTool.style.filter='alpha(opacity='+vMaxAlpha+')'; - } - } -}; + {alert('Chart undefined');}; + }; -JSGantt.stripIds=function(pNode){ - for(var i=0; i=0 && pList[i].getID()==pID)vCurItem=pList[i]; - } - - for(i=0; ivMaxDate) - { - vMaxDate=pList[i].getEnd(); - vMaxSet=1; - } - - vCompSum+=pList[i].getCompVal(); - pList[i].setSortIdx(i*pList.length); - } - } - - if(pRow>=0) - { - if(pList[pRow].getGroupMinStart()!=null && pList[pRow].getGroupMinStart()vMaxDate) - { - vMaxDate=pList[pRow].getGroupMinEnd(); - } - pList[pRow].setStart(vMinDate); - pList[pRow].setEnd(vMaxDate); - pList[pRow].setNumKid(vNumKid); - pList[pRow].setCompVal(Math.ceil(vCompSum/vNumKid)); - } - - if (pID==0 && pUseSort==1) - { - JSGantt.sortTasks(pList, 0, 0); - pList.sort(function(a,b){return a.getSortIdx()-b.getSortIdx();}); - } - if (pID==0 && pUseSort!=1) // Need to sort combined tasks regardless - { - for(i=0; i0) - { - sortArr.sort(function(a,b){ var i=a.getStart().getTime()-b.getStart().getTime(); - if (i==0) i=a.getEnd().getTime()-b.getEnd().getTime(); - if (i==0) return a.getID()-b.getID(); - else return i; }); - } - - for (var j=0; j1) vDate.setDate(vDate.getDate()-1); - } - else if (pFormat=='quarter') - { - vDate.setDate(vDate.getDate()-31); - if(vDate.getMonth()==0 || vDate.getMonth()==1 || vDate.getMonth()==2) - vDate.setFullYear(vDate.getFullYear(), 0, 1); - else if(vDate.getMonth()==3 || vDate.getMonth()==4 || vDate.getMonth()==5) - vDate.setFullYear(vDate.getFullYear(), 3, 1); - else if(vDate.getMonth()==6 || vDate.getMonth()==7 || vDate.getMonth()==8) - vDate.setFullYear(vDate.getFullYear(), 6, 1); - else if(vDate.getMonth()==9 || vDate.getMonth()==10 || vDate.getMonth()==11) - vDate.setFullYear(vDate.getFullYear(), 9, 1); - } - else if (pFormat=='hour') - { - vDate.setHours(vDate.getHours()-1); - while(vDate.getHours()%6!=0) vDate.setHours(vDate.getHours()-1); - } - - if(pFormat=='hour')vDate.setMinutes(0,0); - else vDate.setHours(0,0,0); - return(vDate); -}; - -// Used to determine the maximum date of all tasks and set upper bound based on format -JSGantt.getMaxDate=function (pList, pFormat) -{ - var vDate=new Date(); - - vDate.setTime(pList[0].getEnd().getTime()); - - // Parse all Task End dates to find max - for(var i=0; ivDate.getTime()) vDate.setTime(pList[i].getEnd().getTime()); - } - - // Adjust max date to specific format boundaries (end of week or end of month) - if (pFormat=='day') - { - vDate.setDate(vDate.getDate()+1); - - while(vDate.getDay()%7!=0) vDate.setDate(vDate.getDate()+1); - } - else if (pFormat=='week') - { - //For weeks, what is the last logical boundary? - vDate.setDate(vDate.getDate()+1); - - while(vDate.getDay()%7!=0) vDate.setDate(vDate.getDate()+1); - } - else if (pFormat=='month') - { - // Set to last day of current Month - while(vDate.getDate()>1) vDate.setDate(vDate.getDate()+1); - vDate.setDate(vDate.getDate()-1); - } - else if (pFormat=='quarter') - { - // Set to last day of current Quarter - if(vDate.getMonth()==0 || vDate.getMonth()==1 || vDate.getMonth()==2) - vDate.setFullYear(vDate.getFullYear(), 2, 31); - else if(vDate.getMonth()==3 || vDate.getMonth()==4 || vDate.getMonth()==5) - vDate.setFullYear(vDate.getFullYear(), 5, 30); - else if(vDate.getMonth()==6 || vDate.getMonth()==7 || vDate.getMonth()==8) - vDate.setFullYear(vDate.getFullYear(), 8, 30); - else if(vDate.getMonth()==9 || vDate.getMonth()==10 || vDate.getMonth()==11) - vDate.setFullYear(vDate.getFullYear(), 11, 31); - } - else if (pFormat=='hour') - { - if(vDate.getHours()==0)vDate.setDate(vDate.getDate()+1); - vDate.setHours(vDate.getHours()+1); - - while(vDate.getHours()%6!=5) vDate.setHours(vDate.getHours()+1); - } - return(vDate); -}; - -// This function finds the document id of the specified object -JSGantt.findObj=function (theObj, theDoc) -{ - var p, i, foundObj; - if(!theDoc) theDoc=document; - if(document.getElementById) foundObj=document.getElementById(theObj); - return foundObj; -}; - -JSGantt.changeFormat=function(pFormat,ganttObj) -{ - if(ganttObj) ganttObj.setFormat(pFormat); - else alert('Chart undefined'); -}; - -// Function to open/close and hide/show children of specified task -JSGantt.folder=function (pID,ganttObj) -{ - var vList=ganttObj.getList(); - var vDivId=ganttObj.getDivId(); - - ganttObj.clearDependencies(); // clear these first so slow rendering doesn't look odd - - for(var i=0; i=52 && vMonthStr==1) vYear--; - if (vWeekNum==1 && vMonthStr==12) vYear++; - if (vWeekNum<10) vWeekNum='0'+vWeekNum; - - vDateStr+=vYear+'-W'+vWeekNum+'-'+vDayOfWeek; - break; - default: - if (pL[pDateFormatArr[i].toLowerCase()]) vDateStr+=pL[pDateFormatArr[i].toLowerCase()]; - else vDateStr+=pDateFormatArr[i]; - break; - } - } - return vDateStr; + switch(pFormatStr) { + case 'mm/dd/yyyy': + return( vMonthStr + '/' + vDayStr + '/' + vYear4Str ); + case 'dd/mm/yyyy': + return( vDayStr + '/' + vMonthStr + '/' + vYear4Str ); + case 'yyyy-mm-dd': + return( vYear4Str + '-' + vMonthStr + '-' + vDayStr ); + case 'mm/dd/yy': + return( vMonthStr + '/' + vDayStr + '/' + vYear2Str ); + case 'dd/mm/yy': + return( vDayStr + '/' + vMonthStr + '/' + vYear2Str ); + case 'yy-mm-dd': + return( vYear2Str + '-' + vMonthStr + '-' + vDayStr ); + case 'mm/dd': + return( vMonthStr + '/' + vDayStr ); + case 'dd/mm': + return( vDayStr + '/' + vMonthStr ); + } + }; -JSGantt.parseDateFormatStr=function(pFormatStr) -{ - var vDateStr=''; - var vComponantStr=''; - var vCurrChar=''; - var vSeparators=new RegExp('[\/\\ -.,\'":]'); - var vDateFormatArray=new Array(); +/** +* Parse an external XML file containing task items. +* +* @method parseXML +* @param ThisFile {String} - URL to XML file +* @param pGanttVar {Gantt} - Gantt object +* @return {void} +*/ +JSGantt.parseXML = function(ThisFile,pGanttVar){ + var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1; // Is this Chrome + + try { //Internet Explorer + xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); + } + catch(e) { + try { //Firefox, Mozilla, Opera, Chrome etc. + if (is_chrome==false) { xmlDoc=document.implementation.createDocument("","",null); } + } + catch(e) { + alert(e.message); + return; + } + } - for (var i=0; i/gi); - try {vRetValue=pRoot.getElementsByTagName(pNodeName); - } catch (error) { ; } // do nothing, we'll return undefined + var n = ta.length; // the number of tasks. + for(var i=1;i/i); + + if(te.length> 2){var pID=te[1];} else {var pID = 0;} + pID *= 1; + + var te = Task.split(//i); + if(te.length> 2){var pName=te[1];} else {var pName = "No Task Name";} + + var te = Task.split(//i); + if(te.length> 2){var pStart=te[1];} else {var pStart = "";} + + var te = Task.split(//i); + if(te.length> 2){var pEnd=te[1];} else {var pEnd = "";} + + var te = Task.split(//i); + if(te.length> 2){var pColor=te[1];} else {var pColor = '0000ff';} - return vRetValue; + var te = Task.split(//i); + if(te.length> 2){var pLink=te[1];} else {var pLink = "";} + + var te = Task.split(//i); + if(te.length> 2){var pMile=te[1];} else {var pMile = 0;} + pMile *= 1; + + var te = Task.split(//i); + if(te.length> 2){var pRes=te[1];} else {var pRes = "";} + + var te = Task.split(//i); + if(te.length> 2){var pComp=te[1];} else {var pComp = 0;} + pComp *= 1; + + var te = Task.split(//i); + if(te.length> 2){var pGroup=te[1];} else {var pGroup = 0;} + pGroup *= 1; + + var te = Task.split(//i); + if(te.length> 2){var pParent=te[1];} else {var pParent = 0;} + pParent *= 1; + + var te = Task.split(//i); + if(te.length> 2){var pOpen=te[1];} else {var pOpen = 1;} + pOpen *= 1; + + var te = Task.split(//i); + if(te.length> 2){var pDepend=te[1];} else {var pDepend = "";} + //pDepend *= 1; + if (pDepend.length==0){pDepend=''} // need this to draw the dependency lines + + var te = Task.split(//i); + if(te.length> 2){var pCaption=te[1];} else {var pCaption = "";} + + // Finally add the task + pGanttVar.AddTaskItem(new JSGantt.TaskItem(pID , pName, pStart, pEnd, pColor, pLink, pMile, pRes, pComp, pGroup, pParent, pOpen, pDepend,pCaption )); + }; + }; +}; +/** +* Used for benchmarking performace +* +* @method benchMark +* @param pItem {TaskItem} - TaskItem object +* @return {void} +*/ +JSGantt.benchMark = function(pItem){ + var vEndTime=new Date().getTime(); + alert(pItem + ': Elapsed time: '+((vEndTime-vBenchTime)/1000)+' seconds.'); + vBenchTime=new Date().getTime(); }; -// pType can be 1=numeric, 2=String, all other values just return raw data -JSGantt.getXMLNodeValue=function(pRoot,pNodeName,pType,pDefault) -{ - var vRetValue; - - try {vRetValue=pRoot.getElementsByTagName(pNodeName)[0].childNodes[0].nodeValue; - } catch (error) - { - if (typeof pDefault!='undefined')vRetValue=pDefault; - } - - if (typeof vRetValue!='undefined' && vRetValue!=null) - { - if (pType==1)vRetValue*=1; - else if (pType==2)vRetValue=vRetValue.toString(); - } - return vRetValue; -}; - -JSGantt.AddXMLTask=function(pGanttVar, pXmlDoc) -{ - var project=''; - var vMSP=false; - var Task; - var n=0; - var m=0; - var i=0; - var j=0; - var k=0; - var maxPID=0; - var ass=new Array(); - var assRes=new Array(); - var res=new Array(); - var pars=new Array(); - - var projNode=JSGantt.findXMLNode(pXmlDoc,'Project'); - if (typeof projNode!='undefined' && projNode.length>0) project=projNode[0].getAttribute('xmlns'); - - if(project=='http://schemas.microsoft.com/project') - { - vMSP=true; - pGanttVar.setDateInputFormat('yyyy-mm-dd'); - Task=JSGantt.findXMLNode(pXmlDoc,'Task'); - if (typeof Task=='undefined')n=0; - else n=Task.length; - - var resources=JSGantt.findXMLNode(pXmlDoc,'Resource'); - if (typeof resources=='undefined'){n=0; m=0;} - else m=resources.length; - - for(i=0;i0 && uid>0) res[uid]=resname; - } - - var assignments=JSGantt.findXMLNode(pXmlDoc,'Assignment'); - if (typeof assignments=='undefined') j=0; - else j=assignments.length; - - for(i=0;i0) - { - if (resUID>0) assRes[uid]=res[resUID]; - ass[uid]=assignments[i]; - } - } - - // Store information about parent UIDs in an easily searchable form - for(i=0;i0) pars[vOutlineNumber]=uid; - if (uid>maxPID)maxPID=uid; - } - - for(i=0;i1) - { - vOutlineNumber=JSGantt.getXMLNodeValue(Task[i],'OutlineNumber',2,'0'); - pParent=pars[vOutlineNumber.substr(0, vOutlineNumber.lastIndexOf('.'))]; - } - - try {var pNotes=Task[i].getElementsByTagName('Notes')[0].childNodes[1].nodeValue; //this should be a CDATA node - } catch (error) - {pNotes ='';} - - if(typeof assRes[pID]!='undefined') var pRes=assRes[pID]; - else pRes=''; - - var predecessors=JSGantt.findXMLNode(Task[i],'PredecessorLink'); - if (typeof predecessors=='undefined') j=0; - else j=predecessors.length; - var pDepend=''; - - for(k=0;k0) - { - if (pDepend.length>0)pDepend+=','; - switch(depType) - { - case 0: pDepend+=depUID+'FF'; break; - case 1: pDepend+=depUID+'FS'; break; - case 2: pDepend+=depUID+'SF'; break; - case 3: pDepend+=depUID+'SS'; break; - default: pDepend+=depUID+'FS'; break; - } - } - } - - var pOpen=1; - var pCaption=''; - - if(pGroup>0) var pClass ='ggroupblack'; - else if(pMile>0) pClass ='gmilestone'; - else pClass ='gtaskblue'; - - // check for split tasks - - var splits=JSGantt.findXMLNode(ass[pID],'TimephasedData'); - if (typeof splits=='undefined') j=0; - else j=splits.length; - - var vSplitStart=pStart; - var vSplitEnd=pEnd; - var vSubCreated=false; - var vDepend=pDepend.replace(/,*[0-9]+[FS]F/g,''); - - for(k=0;k0) pClass ='ggroupblack'; - else if(pMile>0) pClass ='gmilestone'; - else pClass ='gtaskblue'; - } - - // Finally add the task - pGanttVar.AddTaskItem(new JSGantt.TaskItem(pID, pName, pStart, pEnd, pClass, pLink, pMile, pRes, pComp, pGroup, pParent, pOpen, pDepend, pCaption, pNotes, pGanttVar)); - } - } - } -}; - - -JSGantt.benchMark=function(pItem) -{ - var vEndTime=new Date().getTime(); - alert(pItem+': Elapsed time: '+((vEndTime-vBenchTime)/1000)+' seconds.'); - vBenchTime=new Date().getTime(); -}; - -JSGantt.getIsoWeek=function(pDate){ - // We have to compare against the monday of the first week of the year containing 04 jan *not* 01/01 - // 60*60*24*1000=86400000 - var dayMiliseconds=86400000; - var keyDay=new Date(pDate.getFullYear(),0,4,0,0,0); - var keyDayOfWeek=(keyDay.getDay()==0) ? 6 : keyDay.getDay()-1; // define monday as 0 - var firstMondayYearTime=keyDay.getTime()-(keyDayOfWeek * dayMiliseconds); - var thisDate=new Date(pDate.getFullYear(), pDate.getMonth(),pDate.getDate(),0,0,0); // This at 00:00:00 - var thisTime=thisDate.getTime(); - var daysFromFirstMonday=Math.round(((thisTime-firstMondayYearTime) / dayMiliseconds)); - var lastWeek=99; - var thisWeek=99; - - var firstMondayYear=new Date(firstMondayYearTime); - - thisWeek=Math.ceil((daysFromFirstMonday+1)/7); - - if (thisWeek<=0) thisWeek=JSGantt.getIsoWeek(new Date(pDate.getFullYear()-1,11,31,0,0,0)); - else if (thisWeek==53 && (new Date(pDate.getFullYear(),0,1,0,0,0)).getDay()!=4 && (new Date(pDate.getFullYear(),11,31,0,0,0)).getDay()!=4) thisWeek=1; - return thisWeek; -}; - -JSGantt.addListener=function (eventName, handler, control) -{ - // Check if control is a string - if (control===String(control)) control=JSGantt.findObj(control); - - if(control.addEventListener) //Standard W3C - { - return control.addEventListener(eventName, handler, false); - } - else if (control.attachEvent) //IExplore - { - return control.attachEvent('on'+eventName, handler); - } - else - { - return false; - } -}; - -JSGantt.addTooltipListeners=function(pGanttChart, pObj1, pObj2) -{ - JSGantt.addListener('mouseover', function (e) {JSGantt.showToolTip(pGanttChart, e, pObj2, null, pGanttChart.getTimer());}, pObj1); - JSGantt.addListener('mouseout', function (e) {JSGantt.delayedHide(pGanttChart, pGanttChart.vTool, pGanttChart.getTimer());}, pObj1); -}; - -JSGantt.addThisRowListeners=function(pGanttChart, pObj1, pObj2) -{ - JSGantt.addListener('mouseover', function () {pGanttChart.mouseOver(pObj1, pObj2);}, pObj1); - JSGantt.addListener('mouseover', function () {pGanttChart.mouseOver(pObj1, pObj2);}, pObj2); - JSGantt.addListener('mouseout', function () {pGanttChart.mouseOut(pObj1, pObj2);}, pObj1); - JSGantt.addListener('mouseout', function () {pGanttChart.mouseOut(pObj1, pObj2);}, pObj2); -}; - -JSGantt.addFolderListeners=function(pGanttChart, pObj, pID) -{ - JSGantt.addListener('click', function () {JSGantt.folder(pID, pGanttChart);}, pObj); -}; - -JSGantt.addFormatListeners=function(pGanttChart, pFormat, pObj) -{ - JSGantt.addListener('click', function () {JSGantt.changeFormat(pFormat, pGanttChart);}, pObj); -}; - -JSGantt.addScrollListeners=function(pGanttChart) -{ - JSGantt.addListener('scroll', function () {pGanttChart.getChartBody().scrollTop=pGanttChart.getListBody().scrollTop;}, pGanttChart.getListBody()); - JSGantt.addListener('scroll', function () {pGanttChart.getListBody().scrollTop=pGanttChart.getChartBody().scrollTop;}, pGanttChart.getChartBody()); - JSGantt.addListener('scroll', function () {pGanttChart.getChartHead().scrollLeft=pGanttChart.getChartBody().scrollLeft;}, pGanttChart.getChartBody()); - JSGantt.addListener('scroll', function () {pGanttChart.getChartBody().scrollLeft=pGanttChart.getChartHead().scrollLeft;}, pGanttChart.getChartHead()); - JSGantt.addListener('resize', function () {pGanttChart.getChartHead().scrollLeft=pGanttChart.getChartBody().scrollLeft;}, window); - JSGantt.addListener('resize', function () {pGanttChart.getListBody().scrollTop=pGanttChart.getChartBody().scrollTop;}, window); -}; diff --git a/htdocs/includes/jsgantt/jsgantt.min.js b/htdocs/includes/jsgantt/jsgantt.min.js index 9ec44995993..2d0a23d4a0d 100644 --- a/htdocs/includes/jsgantt/jsgantt.min.js +++ b/htdocs/includes/jsgantt/jsgantt.min.js @@ -1,2 +1 @@ -var JSGantt;JSGantt||(JSGantt={});var vBenchTime=(new Date).getTime();JSGantt.isIE=function(){return"undefined"!=typeof document.all?"pageXOffset"in window?!1:!0:!1},JSGantt.TaskItem=function(t,e,n,a,o,i,s,r,l,d,u,h,c,f,p,m){var v,S,w,D,T,y=parseInt(document.createTextNode(t).data),L=document.createTextNode(e).data,N=new Date(0),G=new Date(0),M=null,J=null,k=document.createTextNode(o).data,C=document.createTextNode(i).data,I=parseInt(document.createTextNode(s).data),F=document.createTextNode(r).data,b=parseFloat(document.createTextNode(l).data),H=parseInt(document.createTextNode(d).data),x=document.createTextNode(u).data,E=2==H?1:parseInt(document.createTextNode(h).data),X=new Array,Y=new Array,O=document.createTextNode(f).data,R="",A=0,V=0,P=1,B=0,U=!1,j=null,W=null,q=m instanceof JSGantt.GanttChart?m:g,_=null,Q=null,z=null,K=null,Z=null;if(T=document.createElement("span"),T.className="gTaskNotes",null!=p&&(T.innerHTML=p,JSGantt.stripUnwanted(T)),null!=n&&""!=n&&(N=n instanceof Date?n:JSGantt.parseDateStr(document.createTextNode(n).data,q.getDateInputFormat()),M=N),null!=a&&""!=a&&(G=a instanceof Date?a:JSGantt.parseDateStr(document.createTextNode(a).data,q.getDateInputFormat()),J=G),null!=c)for(var $=c+"",tt=$.split(","),et=tt.length,nt=0;et>nt;nt++)-1!=tt[nt].toUpperCase().indexOf("SS")?(X[nt]=tt[nt].substring(0,tt[nt].toUpperCase().indexOf("SS")),Y[nt]="SS"):-1!=tt[nt].toUpperCase().indexOf("FF")?(X[nt]=tt[nt].substring(0,tt[nt].toUpperCase().indexOf("FF")),Y[nt]="FF"):-1!=tt[nt].toUpperCase().indexOf("SF")?(X[nt]=tt[nt].substring(0,tt[nt].toUpperCase().indexOf("SF")),Y[nt]="SF"):-1!=tt[nt].toUpperCase().indexOf("FS")?(X[nt]=tt[nt].substring(0,tt[nt].toUpperCase().indexOf("FS")),Y[nt]="FS"):(X[nt]=tt[nt],Y[nt]="FS");this.getID=function(){return y},this.getName=function(){return L},this.getStart=function(){return N},this.getEnd=function(){return G},this.getGroupMinStart=function(){return M},this.getGroupMinEnd=function(){return J},this.getClass=function(){return k},this.getLink=function(){return C},this.getMile=function(){return I},this.getDepend=function(){return X?X:null},this.getDepType=function(){return Y?Y:null},this.getCaption=function(){return O?O:""},this.getResource=function(){return F?F:" "},this.getCompVal=function(){return b?b:0},this.getCompStr=function(){return b?b+"%":""},this.getNotes=function(){return T},this.getSortIdx=function(){return B},this.getToDelete=function(){return U},this.getDuration=function(t,e){if(I)R="-";else{var n=new Date(this.getEnd().getTime()),a=null;switch(t){case"week":a="day";break;case"month":a="week";break;case"quarter":a="month";break;default:a=t}(n.getTime()-6e4*n.getTimezoneOffset())%864e5==0&&(n=new Date(n.getFullYear(),n.getMonth(),n.getDate()+1,n.getHours(),n.getMinutes(),n.getSeconds()));var o=JSGantt.getOffset(this.getStart(),n,999,a)/1e3;switch(Math.floor(o)!=o&&(o=Math.round(10*o)/10),a){case"hour":R=o+" "+(1!=o?e.hrs:e.hr);break;case"day":R=o+" "+(1!=o?e.dys:e.dy);break;case"week":R=o+" "+(1!=o?e.wks:e.wk);break;case"month":R=o+" "+(1!=o?e.mths:e.mth);break;case"quarter":R=o+" "+(1!=o?e.qtrs:e.qtr)}}return R},this.getParent=function(){return x},this.getGroup=function(){return H},this.getOpen=function(){return E},this.getLevel=function(){return A},this.getNumKids=function(){return V},this.getStartX=function(){return v},this.getStartY=function(){return S},this.getEndX=function(){return w},this.getEndY=function(){return D},this.getVisible=function(){return P},this.getParItem=function(){return j},this.getCellDiv=function(){return W},this.getBarDiv=function(){return _},this.getTaskDiv=function(){return Q},this.getChildRow=function(){return K},this.getListChildRow=function(){return z},this.getGroupSpan=function(){return Z},this.setStart=function(t){t instanceof Date&&(N=t)},this.setEnd=function(t){t instanceof Date&&(G=t)},this.setGroupMinStart=function(t){t instanceof Date&&(M=t)},this.setGroupMinEnd=function(t){t instanceof Date&&(J=t)},this.setLevel=function(t){A=parseInt(document.createTextNode(t).data)},this.setNumKid=function(t){V=parseInt(document.createTextNode(t).data)},this.setCompVal=function(t){b=parseFloat(document.createTextNode(t).data)},this.setStartX=function(t){v=parseInt(document.createTextNode(t).data)},this.setStartY=function(t){S=parseInt(document.createTextNode(t).data)},this.setEndX=function(t){w=parseInt(document.createTextNode(t).data)},this.setEndY=function(t){D=parseInt(document.createTextNode(t).data)},this.setOpen=function(t){E=parseInt(document.createTextNode(t).data)},this.setVisible=function(t){P=parseInt(document.createTextNode(t).data)},this.setSortIdx=function(t){B=parseInt(document.createTextNode(t).data)},this.setToDelete=function(t){U=t?!0:!1},this.setParItem=function(t){t instanceof JSGantt.TaskItem&&(j=t)},this.setCellDiv=function(t){("function"!=typeof HTMLDivElement||t instanceof HTMLDivElement)&&(W=t)},this.setGroup=function(t){H=parseInt(document.createTextNode(t).data)},this.setBarDiv=function(t){("function"!=typeof HTMLDivElement||t instanceof HTMLDivElement)&&(_=t)},this.setTaskDiv=function(t){("function"!=typeof HTMLDivElement||t instanceof HTMLDivElement)&&(Q=t)},this.setChildRow=function(t){("function"!=typeof HTMLTableRowElement||t instanceof HTMLTableRowElement)&&(K=t)},this.setListChildRow=function(t){("function"!=typeof HTMLTableRowElement||t instanceof HTMLTableRowElement)&&(z=t)},this.setGroupSpan=function(t){("function"!=typeof HTMLSpanElement||t instanceof HTMLSpanElement)&&(Z=t)}},JSGantt.GanttChart=function(t,e){var n,a=t,o=e,i=null,s=1,r=1,l=1,g=1,d=1,u=25e3,h=1,c=1,f=1,p=1,m=1,v=1,S=1,w=1,D=1,T=1,y=1,L=1,N=1,G=1,M=new Array("top"),J="yyyy-mm-dd",k=JSGantt.parseDateFormatStr("dd/mm/yyyy"),C=JSGantt.parseDateFormatStr("dd month yyyy"),I=JSGantt.parseDateFormatStr("day dd month yyyy"),F=JSGantt.parseDateFormatStr("HH"),b=JSGantt.parseDateFormatStr("dd/mm/yyyy"),H=JSGantt.parseDateFormatStr("dd"),x=JSGantt.parseDateFormatStr("yyyy"),E=JSGantt.parseDateFormatStr("dd/mm"),X=JSGantt.parseDateFormatStr("yyyy"),Y=JSGantt.parseDateFormatStr("mon"),O=JSGantt.parseDateFormatStr("yyyy"),R=JSGantt.parseDateFormatStr("qq"),A=(JSGantt.parseDateFormatStr("dd/mm/yyyy"),1),V=new Array,P=new Array("hour","day","week","month","quarter"),B=(new Array(31,28,31,30,31,30,31,31,30,31,30,31),!0),U=8,j="",W=18,q=18,_=36,Q=36,z=18,K=20,Z=-1,$=null,tt=null,et=null,nt=null,at=null,ot=20;this.setUseFade=function(t){s=t},this.setUseMove=function(t){r=t},this.setUseRowHlt=function(t){l=t},this.setUseToolTip=function(t){g=t},this.setUseSort=function(t){d=t},this.setUseSingleCell=function(t){u=1*t},this.setFormatArr=function(){var t="hour day week month quarter";P=new Array;for(var e=0,n=0;e1){P[n++]=arguments[e].toLowerCase();var a=new RegExp("(?:^|s)"+arguments[e]+"(?!S)","g");t=t.replace(a,"")}},this.setShowRes=function(t){h=t},this.setShowDur=function(t){c=t},this.setShowComp=function(t){f=t},this.setShowStartDate=function(t){p=t},this.setShowEndDate=function(t){m=t},this.setShowTaskInfoRes=function(t){S=t},this.setShowTaskInfoDur=function(t){w=t},this.setShowTaskInfoComp=function(t){D=t},this.setShowTaskInfoStartDate=function(t){T=t},this.setShowTaskInfoEndDate=function(t){y=t},this.setShowTaskInfoNotes=function(t){L=t},this.setShowTaskInfoLink=function(t){N=t},this.setShowEndWeekDate=function(t){v=t},this.setShowSelector=function(){var t="top bottom";M=new Array;for(var e=0,n=0;e1){M[n++]=arguments[e].toLowerCase();var a=new RegExp("(?:^|s)"+arguments[e]+"(?!S)","g");t=t.replace(a,"")}},this.setShowDeps=function(t){G=t},this.setDateInputFormat=function(t){J=t},this.setDateTaskTableDisplayFormat=function(t){k=JSGantt.parseDateFormatStr(t)},this.setDateTaskDisplayFormat=function(t){C=JSGantt.parseDateFormatStr(t)},this.setHourMajorDateDisplayFormat=function(t){I=JSGantt.parseDateFormatStr(t)},this.setHourMinorDateDisplayFormat=function(t){F=JSGantt.parseDateFormatStr(t)},this.setDayMajorDateDisplayFormat=function(t){b=JSGantt.parseDateFormatStr(t)},this.setDayMinorDateDisplayFormat=function(t){H=JSGantt.parseDateFormatStr(t)},this.setWeekMajorDateDisplayFormat=function(t){x=JSGantt.parseDateFormatStr(t)},this.setWeekMinorDateDisplayFormat=function(t){E=JSGantt.parseDateFormatStr(t)},this.setMonthMajorDateDisplayFormat=function(t){X=JSGantt.parseDateFormatStr(t)},this.setMonthMinorDateDisplayFormat=function(t){Y=JSGantt.parseDateFormatStr(t)},this.setQuarterMajorDateDisplayFormat=function(t){O=JSGantt.parseDateFormatStr(t)},this.setQuarterMinorDateDisplayFormat=function(t){R=JSGantt.parseDateFormatStr(t)},this.setCaptionType=function(t){n=t},this.setFormat=function(t){o=t,this.Draw()},this.setMinGpLen=function(t){U=t},this.setScrollTo=function(t){j=t},this.setHourColWidth=function(t){W=t},this.setDayColWidth=function(t){q=t},this.setWeekColWidth=function(t){_=t},this.setMonthColWidth=function(t){Q=t},this.setQuarterColWidth=function(t){z=t},this.setRowHeight=function(t){K=t},this.setLang=function(t){vLangs[t]&&(vLang=t)},this.setChartBody=function(t){("function"!=typeof HTMLDivElement||t instanceof HTMLDivElement)&&($=t)},this.setChartHead=function(t){("function"!=typeof HTMLDivElement||t instanceof HTMLDivElement)&&(tt=t)},this.setListBody=function(t){("function"!=typeof HTMLDivElement||t instanceof HTMLDivElement)&&(et=t)},this.setChartTable=function(t){("function"!=typeof HTMLTableElement||t instanceof HTMLTableElement)&&(nt=t)},this.setLines=function(t){("function"!=typeof HTMLDivElement||t instanceof HTMLDivElement)&&(at=t)},this.setTimer=function(t){ot=1*t},this.addLang=function(t,e){if(!vLangs[t]){vLangs[t]=new Object;for(var n in vLangs.en)vLangs[t][n]=e[n]?document.createTextNode(e[n]).data:vLangs.en[n]}},this.getDivId=function(){return i},this.getUseFade=function(){return s},this.getUseMove=function(){return r},this.getUseRowHlt=function(){return l},this.getUseToolTip=function(){return g},this.getUseSort=function(){return d},this.getUseSingleCell=function(){return u},this.getFormatArr=function(){return P},this.getShowRes=function(){return h},this.getShowDur=function(){return c},this.getShowComp=function(){return f},this.getShowStartDate=function(){return p},this.getShowEndDate=function(){return m},this.getShowTaskInfoRes=function(){return S},this.getShowTaskInfoDur=function(){return w},this.getShowTaskInfoComp=function(){return D},this.getShowTaskInfoStartDate=function(){return T},this.getShowTaskInfoEndDate=function(){return y},this.getShowTaskInfoNotes=function(){return L},this.getShowTaskInfoLink=function(){return N},this.getShowEndWeekDate=function(){return v},this.getShowSelector=function(){return M},this.getShowDeps=function(){return G},this.getDateInputFormat=function(){return J},this.getDateTaskTableDisplayFormat=function(){return k},this.getDateTaskDisplayFormat=function(){return C},this.getHourMajorDateDisplayFormat=function(){return I},this.getHourMinorDateDisplayFormat=function(){return F},this.getDayMajorDateDisplayFormat=function(){return b},this.getDayMinorDateDisplayFormat=function(){return H},this.getWeekMajorDateDisplayFormat=function(){return x},this.getWeekMinorDateDisplayFormat=function(){return E},this.getMonthMajorDateDisplayFormat=function(){return X},this.getMonthMinorDateDisplayFormat=function(){return Y},this.getQuarterMajorDateDisplayFormat=function(){return O},this.getQuarterMinorDateDisplayFormat=function(){return R},this.getCaptionType=function(){return n},this.getMinGpLen=function(){return U},this.getScrollTo=function(){return j},this.getHourColWidth=function(){return W},this.getDayColWidth=function(){return q},this.getWeekColWidth=function(){return _},this.getMonthColWidth=function(){return Q},this.getQuarterColWidth=function(){return z},this.getRowHeight=function(){return K},this.getChartBody=function(){return $},this.getChartHead=function(){return tt},this.getListBody=function(){return et},this.getChartTable=function(){return nt},this.getLines=function(){return at},this.getTimer=function(){return ot},this.CalcTaskXY=function(){for(var t,e,n,a,o=this.getList(),i=Math.floor(this.getRowHeight()/2),s=0;sa&&(g*=-1),o){case"SF":l*=-1,n>=t-10&&e!=a&&(r=!0),s=-1;break;case"SS":n>t?l*=-1:l=n-t-2*l;break;case"FF":n>=t&&(l=n-t+2*l),s=-1;break;default:t+10>=n&&e!=a&&(r=!0)}r?(this.sLine(t,e,t+l,e,i),this.sLine(t+l,e,t+l,a-g,i),this.sLine(t+l,a-g,n-2*l,a-g,i),this.sLine(n-2*l,a-g,n-2*l,a,i),this.sLine(n-2*l,a,n-1*s,a,i)):e!=a?(this.sLine(t,e,t+l,e,i),this.sLine(t+l,e,t+l,a,i),this.sLine(t+l,a,n-1*s,a,i)):this.sLine(t,e,n-1*s,a,i);var d=this.sLine(n,a,n-3-(0>s?1:0),a-3-(0>s?1:0),i+"Arw");d.style.width="0px",d.style.height="0px"},this.DrawDependencies=function(){if(1==this.getShowDeps()){this.CalcTaskXY(),this.clearDependencies();for(var t=this.getList(),e=0;e0&&1==t[e].getVisible())for(var i=0;o>i;i++){var s=this.getArrayLocationByID(n[i]);s>=0&&2!=t[s].getGroup()&&1==t[s].getVisible()&&("SS"==a[i]?this.drawDependency(t[s].getStartX()-1,t[s].getStartY(),t[e].getStartX()-1,t[e].getStartY(),"SS","gDepSS"):"FF"==a[i]?this.drawDependency(t[s].getEndX(),t[s].getEndY(),t[e].getEndX(),t[e].getEndY(),"FF","gDepFF"):"SF"==a[i]?this.drawDependency(t[s].getStartX()-1,t[s].getStartY(),t[e].getEndX(),t[e].getEndY(),"SF","gDepSF"):"FS"==a[i]&&this.drawDependency(t[s].getEndX(),t[s].getEndY(),t[e].getStartX()-1,t[e].getStartY(),"FS","gDepFS"))}}}Z>=0&&this.sLine(Z,0,Z,this.getChartTable().offsetHeight-1,"gCurDate")},this.getArrayLocationByID=function(t){for(var e=this.getList(),n=0;n0){B&&JSGantt.processRows(V,0,-1,1,1,this.getUseSort()),B=!1,e=JSGantt.getMinDate(V,o),t=JSGantt.getMaxDate(V,o),"day"==o?T=q:"week"==o?T=_:"month"==o?T=Q:"quarter"==o?T=z:"hour"==o&&(T=W);var y=document.createDocumentFragment(),L=this.newNode(y,"div",i+"glisthead","glistlbl gcontainercol"),N=this.newNode(L,"table",null,"gtasktableh"),G=this.newNode(N,"tbody"),M=this.newNode(G,"tr");this.newNode(M,"td",null,"gtasklist"," ");var J=this.newNode(M,"td",null,"gspanning gtaskname");J.appendChild(this.drawSelector("top")),1==h&&this.newNode(M,"td",null,"gspanning gresource"," "),1==c&&this.newNode(M,"td",null,"gspanning gduration"," "),1==f&&this.newNode(M,"td",null,"gspanning gpccomplete"," "),1==p&&this.newNode(M,"td",null,"gspanning gstartdate"," "),1==m&&this.newNode(M,"td",null,"gspanning genddate"," "),M=this.newNode(G,"tr"),this.newNode(M,"td",null,"gtasklist"," "),this.newNode(M,"td",null,"gtaskname"," "),1==h&&this.newNode(M,"td",null,"gtaskheading gresource",vLangs[vLang].resource),1==c&&this.newNode(M,"td",null,"gtaskheading gduration",vLangs[vLang].duration),1==f&&this.newNode(M,"td",null,"gtaskheading gpccomplete",vLangs[vLang].comp),1==p&&this.newNode(M,"td",null,"gtaskheading gstartdate",vLangs[vLang].startdate),1==m&&this.newNode(M,"td",null,"gtaskheading genddate",vLangs[vLang].enddate),L=this.newNode(y,"div",null,"glabelfooter");var C=document.createDocumentFragment(),A=this.newNode(C,"div",i+"glistbody","glistgrid gcontainercol");for(this.setListBody(A),N=this.newNode(A,"table",null,"gtasktable"),G=this.newNode(N,"tbody"),st=0;st=n&&(J=this.newNode(M,"td",null,at),this.newNode(J,"div",null,null,JSGantt.formatDateStr(n,H,vLangs[vLang]),T),g++),n.setDate(n.getDate()+1);else if("week"==o)t>=n&&(J=this.newNode(M,"td",null,at),this.newNode(J,"div",null,null,JSGantt.formatDateStr(n,E,vLangs[vLang]),T),g++),n.setDate(n.getDate()+7);else if("month"==o)for(t>=n&&(J=this.newNode(M,"td",null,at),this.newNode(J,"div",null,null,JSGantt.formatDateStr(n,Y,vLangs[vLang]),T),g++),n.setDate(n.getDate()+1);n.getDate()>1;)n.setDate(n.getDate()+1);else if("quarter"==o)for(t>=n&&(J=this.newNode(M,"td",null,at),this.newNode(J,"div",null,null,JSGantt.formatDateStr(n,R,vLangs[vLang]),T),g++),n.setDate(n.getDate()+81);n.getDate()>1;)n.setDate(n.getDate()+1);else if("hour"==o){for(st=n.getHours();24>st;st++)n.setHours(st),t>=n&&(J=this.newNode(M,"td",null,at),this.newNode(J,"div",null,null,JSGantt.formatDateStr(n,F,vLangs[vLang]),T),g++);n.setHours(0),n.setDate(n.getDate()+1)}}D=M,s=g*(T+1)+1,0!=u&&g*d>u&&(S=!0),this.newNode(L,"div",null,"rhscrpad",null,null,s+1);var it=document.createDocumentFragment();L=this.newNode(it,"div",i+"gchartbody","gchartgrid gcontainercol"),this.setChartBody(L),N=this.newNode(L,"table",i+"chartTable","gcharttable",null,s),this.setChartTable(N),this.newNode(L,"div",null,"rhscrpad",null,null,s+1),G=this.newNode(N,"tbody");var st=0,rt=0;for(st=0;strt;rt++)ut="day"!=o||rt%7!=4&&rt%7!=5?"gtaskcell":"gtaskcellwkend",this.newNode(M,"td",null,ut,"  ")}else if(l=r-1,V[st].getGroup()){if(l=l>U&&2*U>l?2*U:l,l=U>l?U:l,M=this.newNode(G,"tr",i+"childrow_"+w,(2==V[st].getGroup()?"glineitem gitem":"ggroupitem ggroup")+o,null,null,null,0==V[st].getVisible()?"none":null),V[st].setChildRow(M),JSGantt.addThisRowListeners(this,V[st].getListChildRow(),M),J=this.newNode(M,"td",null,"gtaskcell"),L=this.newNode(J,"div",null,"gtaskcelldiv","  "),V[st].setCellDiv(L),1==V[st].getGroup()&&(L=this.newNode(L,"div",i+"bardiv_"+w,"gtaskbarcontainer",null,l,s),V[st].setBarDiv(L),A=this.newNode(L,"div",i+"taskbar_"+w,V[st].getClass(),null,l),V[st].setTaskDiv(A),this.newNode(A,"div",i+"complete_"+w,V[st].getClass()+"complete",null,V[st].getCompStr()),this.newNode(L,"div",null,V[st].getClass()+"endpointleft"),l>=2*U&&this.newNode(L,"div",null,V[st].getClass()+"endpointright"),ft="ggroupcaption"),!S&&!dt)for(ut="",rt=0;g-1>rt;rt++)ut="day"!=o||rt%7!=4&&rt%7!=5?"gtaskcell":"gtaskcellwkend",this.newNode(M,"td",null,ut,"  ")}else if(l=0>=l?1:l,dt?L=V[st].getParItem().getCellDiv():(M=this.newNode(G,"tr",i+"childrow_"+w,"glineitem gitem"+o,null,null,null,0==V[st].getVisible()?"none":null),V[st].setChildRow(M),JSGantt.addThisRowListeners(this,V[st].getListChildRow(),M),J=this.newNode(M,"td",null,"gtaskcell"),L=this.newNode(J,"div",null,"gtaskcelldiv","  ")),L=this.newNode(L,"div",i+"bardiv_"+w,"gtaskbarcontainer",null,l,s),V[st].setBarDiv(L),A=this.newNode(L,"div",i+"taskbar_"+w,V[st].getClass(),null,l),V[st].setTaskDiv(A),this.newNode(A,"div",i+"complete_"+w,V[st].getClass()+"complete",null,V[st].getCompStr()),dt&&(ht=V[st].getParItem()),(!dt||dt&&V[st].getParItem().getEnd()==V[st].getEnd())&&(ft="gcaption"),!S&&!dt)for(ut="",rt=0;g-1>rt;rt++)ut="day"!=o||rt%7!=4&&rt%7!=5?"gtaskcell":"gtaskcellwkend",this.newNode(M,"td",null,ut,"  ");if(this.getCaptionType()&&null!==ft){switch(this.getCaptionType()){case"Caption":var ct=ht.getCaption();break;case"Resource":ct=ht.getResource();break;case"Duration":ct=ht.getDuration(o,vLangs[vLang]);break;case"Complete":ct=ht.getCompStr()}this.newNode(L,"div",null,ft,ct,120,"gmilecaption"==ft?12:0)}V[st].getTaskDiv()&&L&&(A=this.newNode(L,"div",i+"tt"+w,null,null,null,null,"none"),A.appendChild(this.createTaskInfo(V[st])),JSGantt.addTooltipListeners(this,V[st].getTaskDiv(),A))}for(S||G.appendChild(D.cloneNode(!0));a.hasChildNodes();)a.removeChild(a.firstChild);if(L=this.newNode(a,"div",null,"gchartcontainer"),L.appendChild(et),L.appendChild(y),L.appendChild(it),L.appendChild(C),this.newNode(L,"div",null,"ggridfooter"),A=this.newNode(this.getChartBody(),"div",i+"Lines","glinediv"),A.style.visibility="hidden",this.setLines(A),JSGantt.addScrollListeners(this),""!=j){var pt=new Date(e.getTime()),mt=0;"px"==j.substr(0,2)?mt=parseInt(j.substr(2)):(pt=JSGantt.parseDateStr(j,this.getDateInputFormat()),"hour"==o?pt.setMinutes(0,0,0):pt.setHours(0,0,0,0),mt=JSGantt.getOffset(e,pt,T,o)),this.getChartBody().scrollLeft=mt}Z=e.getTime()<=(new Date).getTime()&&t.getTime()>=(new Date).getTime()?JSGantt.getOffset(e,new Date,T,o):-1,this.DrawDependencies()}},this.mouseOver=function(t,e){this.getUseRowHlt()&&(t.className+=" gitemhighlight",e.className+=" gitemhighlight")},this.mouseOut=function(t,e){this.getUseRowHlt()&&(t.className=t.className.replace(/(?:^|\s)gitemhighlight(?!\S)/g,""),e.className=e.className.replace(/(?:^|\s)gitemhighlight(?!\S)/g,""))},this.drawSelector=function(t){for(var e=document.createDocumentFragment(),n=!1,a=0;a=0&&a",o+=""+V[a].getID()+"",o+=""+V[a].getName()+"",o+=""+JSGantt.formatDateStr(V[a].getStart(),i,vLangs[vLang])+"",o+=""+JSGantt.formatDateStr(V[a].getEnd(),i,vLangs[vLang])+"",o+=""+V[a].getClass()+"",o+=""+V[a].getLink()+"",o+=""+V[a].getMile()+""," "!=V[a].getResource()&&(o+=""+V[a].getResource()+""),o+=""+V[a].getCompVal()+"",o+=""+V[a].getGroup()+"",o+=""+V[a].getParent()+"",o+=""+V[a].getOpen()+"",o+="";var s=V[a].getDepend();for(n=0;n0&&(o+=","),s[n]>0&&(o+=s[n]+V[a].getDepType()[n]);o+="",o+=""+V[a].getCaption()+"";var r=document.createDocumentFragment(),l=this.newNode(r,"div",null,null,V[a].getNotes().innerHTML);o+=""+l.innerHTML+"",o+=""}return o},a&&"div"==a.nodeName.toLowerCase()&&(i=a.id)},JSGantt.updateFlyingObj=function(t,e,n){var a=3,o=5,i=3,s=15,r=t?t.clientX:window.event.clientX,l=t?t.clientY:window.event.clientY,g=document.documentElement.clientWidth||document.getElementsByTagName("body")[0].clientWidth,d=document.documentElement.clientHeight||document.getElementsByTagName("body")[0].clientHeight,u=r,h=l;if("microsoft internet explorer"==navigator.appName.toLowerCase()){r-=document.documentElement.clientLeft,l-=document.documentElement.clientTop;var c=JSGantt.getZoomFactor();1!=c&&(r=Math.round(r/c),l=Math.round(l/c))}var f=JSGantt.getScrollPositions();u=r-o-e.vTool.offsetWidth<0?r+s+e.vTool.offsetWidth>g?f.x:r+f.x+s:r+f.x-o-e.vTool.offsetWidth,h=l+i+e.vTool.offsetHeight>d?l-a-e.vTool.offsetHeight<0?f.y:l+f.y-a-e.vTool.offsetHeight:l+f.y+i,e.getUseMove()?(clearInterval(e.vTool.moveInterval),e.vTool.moveInterval=setInterval(function(){JSGantt.moveToolTip(u,h,e.vTool,n)},n)):(e.vTool.style.left=u+"px", - e.vTool.style.top=h+"px")},JSGantt.showToolTip=function(t,e,n,a,o){var i=t.getDivId()+"JSGanttToolTip",s=500,r=100,l=n.id;t.getUseToolTip()&&(null==t.vTool&&(t.vTool=document.createElement("div"),t.vTool.id=i,t.vTool.className="JSGanttToolTip",t.vTool.vToolCont=document.createElement("div"),t.vTool.vToolCont.id=i+"cont",t.vTool.vToolCont.className="JSGanttToolTipcont",t.vTool.vToolCont.setAttribute("showing",""),t.vTool.appendChild(t.vTool.vToolCont),document.body.appendChild(t.vTool),t.vTool.style.opacity=0,t.vTool.setAttribute("currentOpacity",0),t.vTool.setAttribute("fadeIncrement",10),t.vTool.setAttribute("moveSpeed",10),t.vTool.style.filter="alpha(opacity=0)",t.vTool.style.visibility="hidden",t.vTool.style.left=Math.floor((e?e.clientX:window.event.clientX)/2)+"px",t.vTool.style.top=Math.floor((e?e.clientY:window.event.clientY)/2)+"px",JSGantt.addListener("mouseover",function(){clearTimeout(t.vTool.delayTimeout)},t.vTool),JSGantt.addListener("mouseout",function(){JSGantt.delayedHide(t,t.vTool,o)},t.vTool)),clearTimeout(t.vTool.delayTimeout),(t.vTool.vToolCont.getAttribute("showing")!=l||"visible"!=t.vTool.style.visibility)&&(t.vTool.vToolCont.getAttribute("showing")!=l&&(t.vTool.vToolCont.setAttribute("showing",l),t.vTool.vToolCont.innerHTML=n.innerHTML,JSGantt.stripIds(t.vTool.vToolCont)),t.vTool.style.visibility="visible",JSGantt.updateFlyingObj(e,t,o),t.vTool.style.width=a?a+"px":"auto",!a&&JSGantt.isIE()&&(t.vTool.style.width=t.vTool.offsetWidth),t.vTool.offsetWidth>s&&(t.vTool.style.width=s+"px")),t.getUseFade()?(clearInterval(t.vTool.fadeInterval),t.vTool.fadeInterval=setInterval(function(){JSGantt.fadeToolTip(1,t.vTool,r)},o)):(t.vTool.style.opacity=.01*r,t.vTool.style.filter="alpha(opacity="+r+")"))},JSGantt.stripIds=function(t){for(var e=0;en-i&&1==t?s=n-i:a>o&&-1==t&&(s=i),o=i+s*t,e.style.opacity=.01*o,e.style.filter="alpha(opacity="+o+")",e.setAttribute("currentOpacity",o)}else clearInterval(e.fadeInterval),-1==t&&(e.style.opacity=0,e.style.filter="alpha(opacity=0)",e.style.visibility="hidden")},JSGantt.moveToolTip=function(t,e,n){var a=parseInt(n.getAttribute("moveSpeed")),o=parseInt(n.style.left),i=parseInt(n.style.top);"visible"!=n.style.visibility?(n.style.left=t+"px",n.style.top=e+"px",clearInterval(n.moveInterval)):t!=o&&e!=i?(o+=Math.ceil((t-o)/a),i+=Math.ceil((e-i)/a),n.style.left=o+"px",n.style.top=i+"px"):clearInterval(n.moveInterval)},JSGantt.getZoomFactor=function(){var t=1;if(document.body.getBoundingClientRect){var e=document.body.getBoundingClientRect(),n=e.right-e.left,a=document.body.offsetWidth;t=Math.round(n/a*100)/100}return t},JSGantt.getScrollPositions=function(){var t=window.pageXOffset,e=window.pageYOffset;if(!("pageXOffset"in window)){var n=JSGantt.getZoomFactor();t=Math.round(document.documentElement.scrollLeft/n),e=Math.round(document.documentElement.scrollTop/n)}return{x:t,y:e}},JSGantt.getOffset=function(t,e,n,a){var o=new Array(31,28,31,30,31,30,31,31,30,31,30,31),i=new Date(t.getTime()),s=new Date(e.getTime()),r=0,l=Date.UTC(i.getFullYear(),i.getMonth(),i.getDate(),i.getHours(),0,0),g=Date.UTC(s.getFullYear(),s.getMonth(),s.getDate(),s.getHours(),0,0),d=(g-l)/36e5;if("day"==a)r=Math.ceil(d/24*(n+1));else if("week"==a)r=Math.ceil(d/24*(n+1)/7);else if("month"==a){var u=12*(s.getFullYear()-i.getFullYear())+(s.getMonth()-i.getMonth()),h=new Date(s.getTime());h.setDate(i.getDate());var c=(s.getTime()-h.getTime())/864e5;r=Math.ceil(u*(n+1)+c*(n/o[s.getMonth()]))}else if("quarter"==a)u=12*(s.getFullYear()-i.getFullYear())+(s.getMonth()-i.getMonth()),h=new Date(s.getTime()),h.setDate(i.getDate()),c=(s.getTime()-h.getTime())/864e5,r=Math.ceil(u*((n+1)/3)+c*(n/90));else if("hour"==a){h=new Date(s.getTime()),h.setMinutes(i.getMinutes(),0);var f=(s.getTime()-h.getTime())/36e5;r=Math.ceil(d*(n+1)+f*n)}return r},JSGantt.processRows=function(t,e,n,a,o,i){var s=new Date,r=new Date,l=o,g=null,d=0,u=0,h=0,c=0,f=a,p=t,m=!1,v=0;for(v=0;v=0&&t[v].getID()==e&&(g=t[v]);for(v=0;vr)&&(r=t[v].getEnd(),h=1),d+=t[v].getCompVal(),t[v].setSortIdx(v*t.length)}if(n>=0&&(null!=t[n].getGroupMinStart()&&t[n].getGroupMinStart()r&&(r=t[n].getGroupMinEnd()),t[n].setStart(s),t[n].setEnd(r),t[n].setNumKid(c),t[n].setCompVal(Math.ceil(d/c))),0==e&&1==i&&(JSGantt.sortTasks(t,0,0),t.sort(function(t,e){return t.getSortIdx()-e.getSortIdx()})),0==e&&1!=i){for(v=0;v0&&o.sort(function(t,e){var n=t.getStart().getTime()-e.getStart().getTime();return 0==n&&(n=t.getEnd().getTime()-e.getEnd().getTime()),0==n?t.getID()-e.getID():n});for(var s=0;s1;)n.setDate(n.getDate()-1);else if("quarter"==e)n.setDate(n.getDate()-31),0==n.getMonth()||1==n.getMonth()||2==n.getMonth()?n.setFullYear(n.getFullYear(),0,1):3==n.getMonth()||4==n.getMonth()||5==n.getMonth()?n.setFullYear(n.getFullYear(),3,1):6==n.getMonth()||7==n.getMonth()||8==n.getMonth()?n.setFullYear(n.getFullYear(),6,1):(9==n.getMonth()||10==n.getMonth()||11==n.getMonth())&&n.setFullYear(n.getFullYear(),9,1);else if("hour"==e)for(n.setHours(n.getHours()-1);n.getHours()%6!=0;)n.setHours(n.getHours()-1);return"hour"==e?n.setMinutes(0,0):n.setHours(0,0,0),n},JSGantt.getMaxDate=function(t,e){var n=new Date;n.setTime(t[0].getEnd().getTime());for(var a=0;an.getTime()&&n.setTime(t[a].getEnd().getTime());if("day"==e)for(n.setDate(n.getDate()+1);n.getDay()%7!=0;)n.setDate(n.getDate()+1);else if("week"==e)for(n.setDate(n.getDate()+1);n.getDay()%7!=0;)n.setDate(n.getDate()+1);else if("month"==e){for(;n.getDate()>1;)n.setDate(n.getDate()+1);n.setDate(n.getDate()-1)}else if("quarter"==e)0==n.getMonth()||1==n.getMonth()||2==n.getMonth()?n.setFullYear(n.getFullYear(),2,31):3==n.getMonth()||4==n.getMonth()||5==n.getMonth()?n.setFullYear(n.getFullYear(),5,30):6==n.getMonth()||7==n.getMonth()||8==n.getMonth()?n.setFullYear(n.getFullYear(),8,30):(9==n.getMonth()||10==n.getMonth()||11==n.getMonth())&&n.setFullYear(n.getFullYear(),11,31);else if("hour"==e)for(0==n.getHours()&&n.setDate(n.getDate()+1),n.setHours(n.getHours()+1);n.getHours()%6!=5;)n.setHours(n.getHours()+1);return n},JSGantt.findObj=function(t,e){var n;return e||(e=document),document.getElementById&&(n=document.getElementById(t)),n},JSGantt.changeFormat=function(t,e){e?e.setFormat(t):alert("Chart undefined")},JSGantt.folder=function(t,e){var n=e.getList();e.getDivId();e.clearDependencies();for(var a=0;a=10&&a.length>=3){for(;a.length<5;)a.push(0);switch(e){case"mm/dd/yyyy":n=new Date(a[2],a[0]-1,a[1],a[3],a[4]);break;case"dd/mm/yyyy":n=new Date(a[2],a[1]-1,a[0],a[3],a[4]);break;case"yyyy-mm-dd":n=new Date(a[0],a[1]-1,a[2],a[3],a[4])}}return n},JSGantt.formatDateStr=function(t,e,n){for(var a="",o=t.getFullYear().toString().substring(2,4),i=t.getMonth()+1+"",s=new Array(n.january,n.february,n.march,n.april,n.maylong,n.june,n.july,n.august,n.september,n.october,n.november,n.december),r=new Array(n.sunday,n.monday,n.tuesday,n.wednesday,n.thursday,n.friday,n.saturday),l=new Array(n.jan,n.feb,n.mar,n.apr,n.may,n.jun,n.jul,n.aug,n.sep,n.oct,n.nov,n.dec),g=new Array(n.sun,n.mon,n.tue,n.wed,n.thu,n.fri,n.sat),d=0;di&&(a+="0");case"m":a+=i;break;case"mon":a+=l[t.getMonth()];break;case"month":a+=s[t.getMonth()];break;case"yyyy":a+=t.getFullYear();break;case"yy":a+=o;break;case"qq":a+="Q";case"q":a+=Math.floor(t.getMonth()/3)+1;break;case"hh":(t.getHours()%12==0?12:t.getHours()%12)<10&&(a+="0");case"h":a+=t.getHours()%12==0?12:t.getHours()%12;break;case"HH":t.getHours()<10&&(a+="0");case"H":a+=t.getHours();break;case"MI":t.getMinutes()<10&&(a+="0");case"mi":a+=t.getMinutes();break;case"pm":a+=t.getHours()<12?"am":"pm";break;case"PM":a+=t.getHours()<12?"AM":"PM";break;case"ww":JSGantt.getIsoWeek(t)<10&&(a+="0");case"w":a+=JSGantt.getIsoWeek(t);break;case"week":var u=JSGantt.getIsoWeek(t),h=t.getFullYear(),c=0==t.getDay()?7:t.getDay();u>=52&&1==i&&h--,1==u&&12==i&&h++,10>u&&(u="0"+u),a+=h+"-W"+u+"-"+c;break;default:a+=n[e[d].toLowerCase()]?n[e[d].toLowerCase()]:e[d]}return a},JSGantt.parseDateFormatStr=function(t){for(var e="",n="",a=new RegExp("[/\\ -.,'\":]"),o=new Array,i=0;i0&&(a=p[0].getAttribute("xmlns")),"http://schemas.microsoft.com/project"==a){o=!0,t.setDateInputFormat("yyyy-mm-dd"),n=JSGantt.findXMLNode(e,"Task"),i="undefined"==typeof n?0:n.length;var m=JSGantt.findXMLNode(e,"Resource");for("undefined"==typeof m?(i=0,s=0):s=m.length,r=0;s>r;r++){var v=JSGantt.getXMLNodeValue(m[r],"Name",2,""),S=JSGantt.getXMLNodeValue(m[r],"UID",1,-1);v.length>0&&S>0&&(c[S]=v)}var w=JSGantt.findXMLNode(e,"Assignment");for(l="undefined"==typeof w?0:w.length,r=0;l>r;r++){var D=JSGantt.getXMLNodeValue(w[r],"ResourceUID",1,-1);S=JSGantt.getXMLNodeValue(w[r],"TaskUID",1,-1),S>0&&(D>0&&(h[S]=c[D]),u[S]=w[r])}for(r=0;i>r;r++){if(S=JSGantt.getXMLNodeValue(n[r],"UID",1,0),0!=S)var T=JSGantt.getXMLNodeValue(n[r],"OutlineNumber",2,"0");S>0&&(f[T]=S),S>d&&(d=S)}for(r=0;i>r;r++){var y=JSGantt.getXMLNodeValue(n[r],"UID",1,0);if(0!=y){var L=JSGantt.getXMLNodeValue(n[r],"Name",2,"No Task Name"),N=JSGantt.getXMLNodeValue(n[r],"Start",2,""),G=JSGantt.getXMLNodeValue(n[r],"Finish",2,""),M=JSGantt.getXMLNodeValue(n[r],"HyperlinkAddress",2,""),J=JSGantt.getXMLNodeValue(n[r],"Milestone",1,0),k=JSGantt.getXMLNodeValue(n[r],"PercentWorkComplete",1,0),C=JSGantt.getXMLNodeValue(n[r],"Summary",1,0),I=0,F=JSGantt.getXMLNodeValue(n[r],"OutlineLevel",1,0);F>1&&(T=JSGantt.getXMLNodeValue(n[r],"OutlineNumber",2,"0"),I=f[T.substr(0,T.lastIndexOf("."))]);try{var b=n[r].getElementsByTagName("Notes")[0].childNodes[1].nodeValue}catch(H){b=""}if("undefined"!=typeof h[y])var x=h[y];else x="";var E=JSGantt.findXMLNode(n[r],"PredecessorLink");l="undefined"==typeof E?0:E.length;var X="";for(g=0;l>g;g++){var Y=JSGantt.getXMLNodeValue(E[g],"PredecessorUID",1,-1),O=JSGantt.getXMLNodeValue(E[g],"Type",1,1);if(Y>0)switch(X.length>0&&(X+=","),O){case 0:X+=Y+"FF";break;case 1:X+=Y+"FS";break;case 2:X+=Y+"SF";break;case 3:X+=Y+"SS";break;default:X+=Y+"FS"}}var R=1,A="";if(C>0)var V="ggroupblack";else V=J>0?"gmilestone":"gtaskblue";var P=JSGantt.findXMLNode(u[y],"TimephasedData");l="undefined"==typeof P?0:P.length;var B=N,U=G,j=!1,W=X.replace(/,*[0-9]+[FS]F/g,"");for(g=0;l>g;g++){var q=JSGantt.getXMLNodeValue(P[g],"Value",2,"0");q="0"+q.replace(/\D/g,""),q*=1,0==q&&!j||g+1==l&&2==C?(C=2,g+1==l&&(W=X.replace(/,*[0-9]+[FS]S/g,"")),d++,U=JSGantt.getXMLNodeValue(P[g],g+1==l?"Finish":"Start",2,""),t.AddTaskItem(new JSGantt.TaskItem(d,L,B,U,"gtaskblue",M,J,x,k,0,y,R,W,A,b,t)),j=!0,W=""):0!=q&&j&&(B=JSGantt.getXMLNodeValue(P[g],"Start",2,""),j=!1)}j&&(X=""),t.AddTaskItem(new JSGantt.TaskItem(y,L,N,G,V,M,J,x,k,C,I,R,X,A,b,t))}}}else for(n=e.getElementsByTagName("task"),i=n.length,r=0;i>r;r++)y=JSGantt.getXMLNodeValue(n[r],"pID",1,0),0!=y&&(L=JSGantt.getXMLNodeValue(n[r],"pName",2,"No Task Name"),N=JSGantt.getXMLNodeValue(n[r],"pStart",2,""),G=JSGantt.getXMLNodeValue(n[r],"pEnd",2,""),M=JSGantt.getXMLNodeValue(n[r],"pLink",2,""),J=JSGantt.getXMLNodeValue(n[r],"pMile",1,0),k=JSGantt.getXMLNodeValue(n[r],"pComp",1,0),C=JSGantt.getXMLNodeValue(n[r],"pGroup",1,0),I=JSGantt.getXMLNodeValue(n[r],"pParent",1,0),x=JSGantt.getXMLNodeValue(n[r],"pRes",2,""),R=JSGantt.getXMLNodeValue(n[r],"pOpen",1,1),X=JSGantt.getXMLNodeValue(n[r],"pDepend",2,""),A=JSGantt.getXMLNodeValue(n[r],"pCaption",2,""),b=JSGantt.getXMLNodeValue(n[r],"pNotes",2,""),V=JSGantt.getXMLNodeValue(n[r],"pClass",2),"undefined"==typeof V&&(V=C>0?"ggroupblack":J>0?"gmilestone":"gtaskblue"),t.AddTaskItem(new JSGantt.TaskItem(y,L,N,G,V,M,J,x,k,C,I,R,X,A,b,t)))},JSGantt.benchMark=function(t){var e=(new Date).getTime();alert(t+": Elapsed time: "+(e-vBenchTime)/1e3+" seconds."),vBenchTime=(new Date).getTime()},JSGantt.getIsoWeek=function(t){var e=864e5,n=new Date(t.getFullYear(),0,4,0,0,0),a=0==n.getDay()?6:n.getDay()-1,o=n.getTime()-a*e,i=new Date(t.getFullYear(),t.getMonth(),t.getDate(),0,0,0),s=i.getTime(),r=Math.round((s-o)/e),l=99;new Date(o);return l=Math.ceil((r+1)/7),0>=l?l=JSGantt.getIsoWeek(new Date(t.getFullYear()-1,11,31,0,0,0)):53==l&&4!=new Date(t.getFullYear(),0,1,0,0,0).getDay()&&4!=new Date(t.getFullYear(),11,31,0,0,0).getDay()&&(l=1),l},JSGantt.addListener=function(t,e,n){return n===String(n)&&(n=JSGantt.findObj(n)),n.addEventListener?n.addEventListener(t,e,!1):n.attachEvent?n.attachEvent("on"+t,e):!1},JSGantt.addTooltipListeners=function(t,e,n){JSGantt.addListener("mouseover",function(e){JSGantt.showToolTip(t,e,n,null,t.getTimer())},e),JSGantt.addListener("mouseout",function(e){JSGantt.delayedHide(t,t.vTool,t.getTimer())},e)},JSGantt.addThisRowListeners=function(t,e,n){JSGantt.addListener("mouseover",function(){t.mouseOver(e,n)},e),JSGantt.addListener("mouseover",function(){t.mouseOver(e,n)},n),JSGantt.addListener("mouseout",function(){t.mouseOut(e,n)},e),JSGantt.addListener("mouseout",function(){t.mouseOut(e,n)},n)},JSGantt.addFolderListeners=function(t,e,n){JSGantt.addListener("click",function(){JSGantt.folder(n,t)},e)},JSGantt.addFormatListeners=function(t,e,n){JSGantt.addListener("click",function(){JSGantt.changeFormat(e,t)},n)},JSGantt.addScrollListeners=function(t){JSGantt.addListener("scroll",function(){t.getChartBody().scrollTop=t.getListBody().scrollTop},t.getListBody()),JSGantt.addListener("scroll",function(){t.getListBody().scrollTop=t.getChartBody().scrollTop},t.getChartBody()),JSGantt.addListener("scroll",function(){t.getChartHead().scrollLeft=t.getChartBody().scrollLeft},t.getChartBody()),JSGantt.addListener("scroll",function(){t.getChartBody().scrollLeft=t.getChartHead().scrollLeft},t.getChartHead()),JSGantt.addListener("resize",function(){t.getChartHead().scrollLeft=t.getChartBody().scrollLeft},window),JSGantt.addListener("resize",function(){t.getListBody().scrollTop=t.getChartBody().scrollTop},window)}; \ No newline at end of file +var JSGantt;if(!JSGantt)JSGantt={};var vTimeout=0;var vBenchTime=new Date().getTime();JSGantt.TaskItem=function(pID,pName,pStart,pEnd,pColor,pLink,pMile,pRes,pComp,pGroup,pParent,pOpen,pDepend,pCaption){var vID=pID;var vName=pName;var vStart=new Date();var vEnd=new Date();var vColor=pColor;var vLink=pLink;var vMile=pMile;var vRes=pRes;var vComp=pComp;var vGroup=pGroup;var vParent=pParent;var vOpen=pOpen;var vDepend=pDepend;var vCaption=pCaption;var vDuration='';var vLevel=0;var vNumKid=0;var vVisible=1;var x1,y1,x2,y2;if(vGroup!=1){vStart=JSGantt.parseDateStr(pStart,g.getDateInputFormat());vEnd=JSGantt.parseDateStr(pEnd,g.getDateInputFormat())}this.getID=function(){return vID};this.getName=function(){return vName};this.getStart=function(){return vStart};this.getEnd=function(){return vEnd};this.getColor=function(){return vColor};this.getLink=function(){return vLink};this.getMile=function(){return vMile};this.getDepend=function(){if(vDepend)return vDepend;else return null};this.getCaption=function(){if(vCaption)return vCaption;else return''};this.getResource=function(){if(vRes)return vRes;else return' '};this.getCompVal=function(){if(vComp)return vComp;else return 0};this.getCompStr=function(){if(vComp)return vComp+'%';else return''};this.getDuration=function(vFormat){if(vMile)vDuration='-';else if(vFormat=='hour'){tmpPer=Math.ceil((this.getEnd()-this.getStart())/(60*60*1000));if(tmpPer==1)vDuration='1 Hour';else vDuration=tmpPer+' Hours'}else if(vFormat=='minute'){tmpPer=Math.ceil((this.getEnd()-this.getStart())/(60*1000));if(tmpPer==1)vDuration='1 Minute';else vDuration=tmpPer+' Minutes'}else{tmpPer=Math.ceil((this.getEnd()-this.getStart())/(24*60*60*1000)+1);if(tmpPer==1)vDuration='1 Day';else vDuration=tmpPer+' Days'}return(vDuration)};this.getParent=function(){return vParent};this.getGroup=function(){return vGroup};this.getOpen=function(){return vOpen};this.getLevel=function(){return vLevel};this.getNumKids=function(){return vNumKid};this.getStartX=function(){return x1};this.getStartY=function(){return y1};this.getEndX=function(){return x2};this.getEndY=function(){return y2};this.getVisible=function(){return vVisible};this.setDepend=function(pDepend){vDepend=pDepend};this.setStart=function(pStart){vStart=pStart};this.setEnd=function(pEnd){vEnd=pEnd};this.setLevel=function(pLevel){vLevel=pLevel};this.setNumKid=function(pNumKid){vNumKid=pNumKid};this.setCompVal=function(pCompVal){vComp=pCompVal};this.setStartX=function(pX){x1=pX};this.setStartY=function(pY){y1=pY};this.setEndX=function(pX){x2=pX};this.setEndY=function(pY){y2=pY};this.setOpen=function(pOpen){vOpen=pOpen};this.setVisible=function(pVisible){vVisible=pVisible}};JSGantt.GanttChart=function(pGanttVar,pDiv,pFormat){var vGanttVar=pGanttVar;var vDiv=pDiv;var vFormat=pFormat;var vShowRes=1;var vShowDur=1;var vShowComp=1;var vShowStartDate=1;var vShowEndDate=1;var vDateInputFormat="mm/dd/yyyy";var vDateDisplayFormat="mm/dd/yy";var vNumUnits=0;var vCaptionType;var vDepId=1;var vTaskList=new Array();var vFormatArr=new Array("day","week","month","quarter");var vQuarterArr=new Array(1,1,1,2,2,2,3,3,3,4,4,4);var vMonthDaysArr=new Array(31,28,31,30,31,30,31,31,30,31,30,31);var vMonthArr=new Array("January","February","March","April","May","June","July","August","September","October","November","December");this.setFormatArr=function(){vFormatArr=new Array();for(var i=0;i4){vFormatArr.length=4}};this.setShowRes=function(pShow){vShowRes=pShow};this.setShowDur=function(pShow){vShowDur=pShow};this.setShowComp=function(pShow){vShowComp=pShow};this.setShowStartDate=function(pShow){vShowStartDate=pShow};this.setShowEndDate=function(pShow){vShowEndDate=pShow};this.setDateInputFormat=function(pShow){vDateInputFormat=pShow};this.setDateDisplayFormat=function(pShow){vDateDisplayFormat=pShow};this.setCaptionType=function(pType){vCaptionType=pType};this.setFormat=function(pFormat){vFormat=pFormat;this.Draw()};this.getShowRes=function(){return vShowRes};this.getShowDur=function(){return vShowDur};this.getShowComp=function(){return vShowComp};this.getShowStartDate=function(){return vShowStartDate};this.getShowEndDate=function(){return vShowEndDate};this.getDateInputFormat=function(){return vDateInputFormat};this.getDateDisplayFormat=function(){return vDateDisplayFormat};this.getCaptionType=function(){return vCaptionType};this.CalcTaskXY=function(){var vList=this.getList();var vTaskDiv;var vParDiv;var vLeft,vTop,vHeight,vWidth;for(i=0;i0){JSGantt.processRows(vTaskList,0,-1,1,1);vMinDate=JSGantt.getMinDate(vTaskList,vFormat);vMaxDate=JSGantt.getMaxDate(vTaskList,vFormat);if(vFormat=='day'){vColWidth=18;vColUnit=1}else if(vFormat=='week'){vColWidth=37;vColUnit=7}else if(vFormat=='month'){vColWidth=37;vColUnit=30}else if(vFormat=='quarter'){vColWidth=60;vColUnit=90}else if(vFormat=='hour'){vColWidth=18;vColUnit=1}else if(vFormat=='minute'){vColWidth=18;vColUnit=1}vNumDays=(Date.parse(vMaxDate)-Date.parse(vMinDate))/(24*60*60*1000);vNumUnits=vNumDays/vColUnit;vChartWidth=vNumUnits*vColWidth+1;vDayWidth=(vColWidth/vColUnit)+(1/vColUnit);vMainTable=''+'';vMainTable+=vLeftTable;vRightTable='
';if(vShowRes!=1)vNameWidth+=vStatusWidth;if(vShowDur!=1)vNameWidth+=vStatusWidth;if(vShowComp!=1)vNameWidth+=vStatusWidth;if(vShowStartDate!=1)vNameWidth+=vStatusWidth;if(vShowEndDate!=1)vNameWidth+=vStatusWidth;vLeftTable='
'+''+' '+' ';if(vShowRes==1)vLeftTable+=' ';if(vShowDur==1)vLeftTable+=' ';if(vShowComp==1)vLeftTable+=' ';if(vShowStartDate==1)vLeftTable+=' ';if(vShowEndDate==1)vLeftTable+=' ';vLeftTable+=''+' '+' ';if(vShowRes==1)vLeftTable+=' ';if(vShowDur==1)vLeftTable+=' ';if(vShowComp==1)vLeftTable+=' ';if(vShowStartDate==1)vLeftTable+=' ';if(vShowEndDate==1)vLeftTable+=' ';vLeftTable+='';for(i=0;i';vLeftTable+=' '+' ';if(vShowRes==1)vLeftTable+=' ';if(vShowDur==1)vLeftTable+=' ';if(vShowComp==1)vLeftTable+=' ';if(vShowStartDate==1)vLeftTable+=' ';if(vShowEndDate==1)vLeftTable+=' ';vLeftTable+=''}vLeftTable+=''+'
ResourceDuration% Comp.Start DateEnd Date
 ';for(j=1;j';if(vTaskList[i].getGroup()){if(vTaskList[i].getOpen()==1)vLeftTable+=' ';else vLeftTable+='+ '}else{vLeftTable+='   '}vLeftTable+=' '+vTaskList[i].getName()+''+vTaskList[i].getResource()+''+vTaskList[i].getDuration(vFormat)+''+vTaskList[i].getCompStr()+''+JSGantt.formatDateStr(vTaskList[i].getStart(),vDateDisplayFormat)+''+JSGantt.formatDateStr(vTaskList[i].getEnd(),vDateDisplayFormat)+'
  Powered by jsGantt      Format:';if(vFormatArr.join().indexOf("minute")!=-1){if(vFormat=='minute')vLeftTable+='Minute';else vLeftTable+='Minute'}if(vFormatArr.join().indexOf("hour")!=-1){if(vFormat=='hour')vLeftTable+='Hour';else vLeftTable+='Hour'}if(vFormatArr.join().indexOf("day")!=-1){if(vFormat=='day')vLeftTable+='Day';else vLeftTable+='Day'}if(vFormatArr.join().indexOf("week")!=-1){if(vFormat=='week')vLeftTable+='Week';else vLeftTable+='Week'}if(vFormatArr.join().indexOf("month")!=-1){if(vFormat=='month')vLeftTable+='Month';else vLeftTable+='Month'}if(vFormatArr.join().indexOf("quarter")!=-1){if(vFormat=='quarter')vLeftTable+='Quarter';else vLeftTable+='Quarter'}vLeftTable+='
'+'
'+''+'';vTmpDate.setFullYear(vMinDate.getFullYear(),vMinDate.getMonth(),vMinDate.getDate());vTmpDate.setHours(0);vTmpDate.setMinutes(0);while(Date.parse(vTmpDate)<=Date.parse(vMaxDate)){vStr=vTmpDate.getFullYear()+'';vStr=vStr.substring(2,4);if(vFormat=='minute'){vRightTable+='';vTmpDate.setHours(vTmpDate.getHours()+1)}if(vFormat=='hour'){vRightTable+='';vTmpDate.setDate(vTmpDate.getDate()+1)}if(vFormat=='day'){vRightTable+='';vTmpDate.setDate(vTmpDate.getDate()+1)}else if(vFormat=='week'){vRightTable+='';vTmpDate.setDate(vTmpDate.getDate()+7)}else if(vFormat=='month'){vRightTable+='';vTmpDate.setDate(vTmpDate.getDate()+1);while(vTmpDate.getDate()>1){vTmpDate.setDate(vTmpDate.getDate()+1)}}else if(vFormat=='quarter'){vRightTable+='';vTmpDate.setDate(vTmpDate.getDate()+81);while(vTmpDate.getDate()>1){vTmpDate.setDate(vTmpDate.getDate()+1)}}}vRightTable+='';vTmpDate.setFullYear(vMinDate.getFullYear(),vMinDate.getMonth(),vMinDate.getDate());vNxtDate.setFullYear(vMinDate.getFullYear(),vMinDate.getMonth(),vMinDate.getDate());vNumCols=0;while(Date.parse(vTmpDate)<=Date.parse(vMaxDate)){if(vFormat=='minute'){if(vTmpDate.getMinutes()==0)vWeekdayColor="ccccff";else vWeekdayColor="ffffff";vDateRowStr+='';vItemRowStr+='';vTmpDate.setMinutes(vTmpDate.getMinutes()+1)}else if(vFormat=='hour'){if(vTmpDate.getHours()==0)vWeekdayColor="ccccff";else vWeekdayColor="ffffff";vDateRowStr+='';vItemRowStr+='';vTmpDate.setHours(vTmpDate.getHours()+1)}else if(vFormat=='day'){if(JSGantt.formatDateStr(vCurrDate,'mm/dd/yyyy')==JSGantt.formatDateStr(vTmpDate,'mm/dd/yyyy')){vWeekdayColor="ccccff";vWeekendColor="9999ff";vWeekdayGColor="bbbbff";vWeekendGColor="8888ff"}else{vWeekdayColor="ffffff";vWeekendColor="cfcfcf";vWeekdayGColor="f3f3f3";vWeekendGColor="c3c3c3"}if(vTmpDate.getDay()%6==0){vDateRowStr+='';vItemRowStr+=''}else{vDateRowStr+='';if(JSGantt.formatDateStr(vCurrDate,'mm/dd/yyyy')==JSGantt.formatDateStr(vTmpDate,'mm/dd/yyyy'))vItemRowStr+='';else vItemRowStr+=''}vTmpDate.setDate(vTmpDate.getDate()+1)}else if(vFormat=='week'){vNxtDate.setDate(vNxtDate.getDate()+7);if(vCurrDate>=vTmpDate&&vCurrDate
'+(vTmpDate.getMonth()+1)+'/'+vTmpDate.getDate()+'
';if(vCurrDate>=vTmpDate&&vCurrDate
  
';else vItemRowStr+='
'}else{vDateRowStr+='';if(vCurrDate>=vTmpDate&&vCurrDate
  
';else vItemRowStr+='
'}vTmpDate.setDate(vTmpDate.getDate()+7)}else if(vFormat=='month'){vNxtDate.setFullYear(vTmpDate.getFullYear(),vTmpDate.getMonth(),vMonthDaysArr[vTmpDate.getMonth()]);if(vCurrDate>=vTmpDate&&vCurrDate
'+vMonthArr[vTmpDate.getMonth()].substr(0,3)+'
';if(vCurrDate>=vTmpDate&&vCurrDate
  
';else vItemRowStr+='
'}else{vDateRowStr+='';if(vCurrDate>=vTmpDate&&vCurrDate
  
';else vItemRowStr+='
'}vTmpDate.setDate(vTmpDate.getDate()+1);while(vTmpDate.getDate()>1){vTmpDate.setDate(vTmpDate.getDate()+1)}}else if(vFormat=='quarter'){vNxtDate.setDate(vNxtDate.getDate()+122);if(vTmpDate.getMonth()==0||vTmpDate.getMonth()==1||vTmpDate.getMonth()==2)vNxtDate.setFullYear(vTmpDate.getFullYear(),2,31);else if(vTmpDate.getMonth()==3||vTmpDate.getMonth()==4||vTmpDate.getMonth()==5)vNxtDate.setFullYear(vTmpDate.getFullYear(),5,30);else if(vTmpDate.getMonth()==6||vTmpDate.getMonth()==7||vTmpDate.getMonth()==8)vNxtDate.setFullYear(vTmpDate.getFullYear(),8,30);else if(vTmpDate.getMonth()==9||vTmpDate.getMonth()==10||vTmpDate.getMonth()==11)vNxtDate.setFullYear(vTmpDate.getFullYear(),11,31);if(vCurrDate>=vTmpDate&&vCurrDate
Qtr. '+vQuarterArr[vTmpDate.getMonth()]+'
';if(vCurrDate>=vTmpDate&&vCurrDate
  
';else vItemRowStr+='
'}else{vDateRowStr+='';if(vCurrDate>=vTmpDate&&vCurrDate
  
';else vItemRowStr+='
'}vTmpDate.setDate(vTmpDate.getDate()+81);while(vTmpDate.getDate()>1){vTmpDate.setDate(vTmpDate.getDate()+1)}}}vRightTable+=vDateRowStr+'';vRightTable+='
';vRightTable+=JSGantt.formatDateStr(vTmpDate,vDateDisplayFormat)+' '+vTmpDate.getHours()+':00 -'+vTmpDate.getHours()+':59 ';vRightTable+=JSGantt.formatDateStr(vTmpDate,vDateDisplayFormat)+''+JSGantt.formatDateStr(vTmpDate,vDateDisplayFormat.substring(0,5))+' - ';vTmpDate.setDate(vTmpDate.getDate()+6);vRightTable+=JSGantt.formatDateStr(vTmpDate,vDateDisplayFormat)+'`'+vStr+'`'+vStr+'`'+vStr+'
'+vTmpDate.getMinutes()+'
  
'+vTmpDate.getHours()+'
  
'+vTmpDate.getDate()+'
 
'+vTmpDate.getDate()+'
  
  
  
'+(vTmpDate.getMonth()+1)+'/'+vTmpDate.getDate()+'
  
  
'+vMonthArr[vTmpDate.getMonth()].substr(0,3)+'
  
  
Qtr. '+vQuarterArr[vTmpDate.getMonth()]+'
  
';for(i=0;i
'}vMainTable+=vRightTable+'
';vDiv.innerHTML=vMainTable}};this.mouseOver=function(pObj,pID,pPos,pType){if(pPos=='right')vID='child_'+pID;else vID='childrow_'+pID;pObj.bgColor="#ffffaa";vRowObj=JSGantt.findObj(vID);if(vRowObj)vRowObj.bgColor="#ffffaa"};this.mouseOut=function(pObj,pID,pPos,pType){if(pPos=='right')vID='child_'+pID;else vID='childrow_'+pID;pObj.bgColor="#ffffff";vRowObj=JSGantt.findObj(vID);if(vRowObj){if(pType=="group"){pObj.bgColor="#f3f3f3";vRowObj.bgColor="#f3f3f3"}else{pObj.bgColor="#ffffff";vRowObj.bgColor="#ffffff"}}}};JSGantt.isIE=function(){if(typeof document.all!='undefined'){return true}else{return false}};JSGantt.processRows=function(pList,pID,pRow,pLevel,pOpen){var vMinDate=new Date();var vMaxDate=new Date();var vMinSet=0;var vMaxSet=0;var vList=pList;var vLevel=pLevel;var i=0;var vNumKid=0;var vCompSum=0;var vVisible=pOpen;for(i=0;ivMaxDate){vMaxDate=pList[i].getEnd();vMaxSet=1};vCompSum+=pList[i].getCompVal()}}if(pRow>=0){pList[pRow].setStart(vMinDate);pList[pRow].setEnd(vMaxDate);pList[pRow].setNumKid(vNumKid);pList[pRow].setCompVal(Math.ceil(vCompSum/vNumKid))}};JSGantt.getMinDate=function getMinDate(pList,pFormat){var vDate=new Date();vDate.setFullYear(pList[0].getStart().getFullYear(),pList[0].getStart().getMonth(),pList[0].getStart().getDate());for(i=0;i0){vDate.setDate(vDate.getDate()-1)}}else if(pFormat=='week'){vDate.setDate(vDate.getDate()-7);while(vDate.getDay()%7>0){vDate.setDate(vDate.getDate()-1)}}else if(pFormat=='month'){while(vDate.getDate()>1){vDate.setDate(vDate.getDate()-1)}}else if(pFormat=='quarter'){if(vDate.getMonth()==0||vDate.getMonth()==1||vDate.getMonth()==2){vDate.setFullYear(vDate.getFullYear(),0,1)}else if(vDate.getMonth()==3||vDate.getMonth()==4||vDate.getMonth()==5){vDate.setFullYear(vDate.getFullYear(),3,1)}else if(vDate.getMonth()==6||vDate.getMonth()==7||vDate.getMonth()==8){vDate.setFullYear(vDate.getFullYear(),6,1)}else if(vDate.getMonth()==9||vDate.getMonth()==10||vDate.getMonth()==11){vDate.setFullYear(vDate.getFullYear(),9,1)}};return(vDate)};JSGantt.getMaxDate=function(pList,pFormat){var vDate=new Date();vDate.setFullYear(pList[0].getEnd().getFullYear(),pList[0].getEnd().getMonth(),pList[0].getEnd().getDate());for(i=0;iDate.parse(vDate)){vDate.setTime(Date.parse(pList[i].getEnd()))}}if(pFormat=='minute'){vDate.setHours(vDate.getHours()+1);vDate.setMinutes(59)}if(pFormat=='hour'){vDate.setHours(vDate.getHours()+2)}if(pFormat=='day'){vDate.setDate(vDate.getDate()+1);while(vDate.getDay()%6>0){vDate.setDate(vDate.getDate()+1)}}if(pFormat=='week'){vDate.setDate(vDate.getDate()+11);while(vDate.getDay()%6>0){vDate.setDate(vDate.getDate()+1)}}if(pFormat=='month'){while(vDate.getDay()>1){vDate.setDate(vDate.getDate()+1)}vDate.setDate(vDate.getDate()-1)}if(pFormat=='quarter'){if(vDate.getMonth()==0||vDate.getMonth()==1||vDate.getMonth()==2)vDate.setFullYear(vDate.getFullYear(),2,31);else if(vDate.getMonth()==3||vDate.getMonth()==4||vDate.getMonth()==5)vDate.setFullYear(vDate.getFullYear(),5,30);else if(vDate.getMonth()==6||vDate.getMonth()==7||vDate.getMonth()==8)vDate.setFullYear(vDate.getFullYear(),8,30);else if(vDate.getMonth()==9||vDate.getMonth()==10||vDate.getMonth()==11)vDate.setFullYear(vDate.getFullYear(),11,31)}return(vDate)};JSGantt.findObj=function(theObj,theDoc){var p,i,foundObj;if(!theDoc){theDoc=document}if((p=theObj.indexOf("?"))>0&&parent.frames.length){theDoc=parent.frames[theObj.substring(p+1)].document;theObj=theObj.substring(0,p)}if(!(foundObj=theDoc[theObj])&&theDoc.all){foundObj=theDoc.all[theObj]}for(i=0;!foundObj&&i-1;try{xmlDoc=new ActiveXObject("Microsoft.XMLDOM")}catch(e){try{if(is_chrome==false){xmlDoc=document.implementation.createDocument("","",null)}}catch(e){alert(e.message);return}}if(is_chrome==false){xmlDoc.async=false;xmlDoc.load(ThisFile);JSGantt.AddXMLTask(pGanttVar);xmlDoc=null;Task=null}else{JSGantt.ChromeLoadXML(ThisFile,pGanttVar);ta=null}};JSGantt.AddXMLTask=function(pGanttVar){Task=xmlDoc.getElementsByTagName("task");var n=xmlDoc.documentElement.childNodes.length;for(var i=0;i/gi);var n=ta.length;for(var i=1;i/i);if(te.length>2){var pID=te[1]}else{var pID=0}pID*=1;var te=Task.split(//i);if(te.length>2){var pName=te[1]}else{var pName="No Task Name"}var te=Task.split(//i);if(te.length>2){var pStart=te[1]}else{var pStart=""}var te=Task.split(//i);if(te.length>2){var pEnd=te[1]}else{var pEnd=""}var te=Task.split(//i);if(te.length>2){var pColor=te[1]}else{var pColor='0000ff'}var te=Task.split(//i);if(te.length>2){var pLink=te[1]}else{var pLink=""}var te=Task.split(//i);if(te.length>2){var pMile=te[1]}else{var pMile=0}pMile*=1;var te=Task.split(//i);if(te.length>2){var pRes=te[1]}else{var pRes=""}var te=Task.split(//i);if(te.length>2){var pComp=te[1]}else{var pComp=0}pComp*=1;var te=Task.split(//i);if(te.length>2){var pGroup=te[1]}else{var pGroup=0}pGroup*=1;var te=Task.split(//i);if(te.length>2){var pParent=te[1]}else{var pParent=0}pParent*=1;var te=Task.split(//i);if(te.length>2){var pOpen=te[1]}else{var pOpen=1}pOpen*=1;var te=Task.split(//i);if(te.length>2){var pDepend=te[1]}else{var pDepend=""}if(pDepend.length==0){pDepend=''}var te=Task.split(//i);if(te.length>2){var pCaption=te[1]}else{var pCaption=""}pGanttVar.AddTaskItem(new JSGantt.TaskItem(pID,pName,pStart,pEnd,pColor,pLink,pMile,pRes,pComp,pGroup,pParent,pOpen,pDepend,pCaption))}}};JSGantt.benchMark=function(pItem){var vEndTime=new Date().getTime();alert(pItem+': Elapsed time: '+((vEndTime-vBenchTime)/1000)+' seconds.');vBenchTime=new Date().getTime()}; \ No newline at end of file diff --git a/htdocs/projet/ganttchart.inc.php b/htdocs/projet/ganttchart.inc.php index 1893415d718..771cb7d99cc 100644 --- a/htdocs/projet/ganttchart.inc.php +++ b/htdocs/projet/ganttchart.inc.php @@ -78,11 +78,11 @@ function reloadGraph() { } -//var g = new JSGantt.GanttChart('g', document.getElementById('GanttChartDIV'), 'day'); -var g = new JSGantt.GanttChart(document.getElementById('GanttChartDIV'), 'day'); +var g = new JSGantt.GanttChart('g', document.getElementById('GanttChartDIV'), 'day'); +/* For JSGanttImproved var g = new JSGantt.GanttChart(document.getElementById('GanttChartDIV'), 'day'); */ -if (g.getDivId() != null) -//if (g) +/* For JSGanttImproved if (g.getDivId() != null) */ +if (g) { var booShowRessources = 1; var booShowDurations = 1; @@ -91,9 +91,9 @@ if (g.getDivId() != null) var graphFormat = "day"; g.setDateInputFormat('mm/dd/yyyy'); // Set format of input dates ('mm/dd/yyyy', 'dd/mm/yyyy', does not work with 'yyyy-mm-dd') - //g.setDateDisplayFormat(''); - g.setDateTaskDisplayFormat(''); - g.setDayMajorDateDisplayFormat('dd mon'); + g.setDateDisplayFormat(''); + /* For JSGanttImproved g.setDateTaskDisplayFormat(''); */ + /* For JSGanttImproved g.setDayMajorDateDisplayFormat('dd mon'); */ g.setShowRes(1); // Show/Hide Responsible (0/1) g.setShowDur(1); // Show/Hide Duration (0/1) g.setShowComp(1); // Show/Hide % Complete(0/1) @@ -132,7 +132,7 @@ else * Add a gant chart line * * @param string $tarr tarr - * @param array $task Task object + * @param Task $task Task object * @param Project $project_dependencies Project object * @param int $level Level * @param int $project_id Id of project @@ -148,7 +148,7 @@ function constructGanttLine($tarr,$task,$project_dependencies,$level=0,$project_ // Resources $resources = $task["task_resources"]; // Define depend (ex: "", "4,13", ...) - $depend = ''; + $depend = "\""; $count = 0; foreach ($project_dependencies as $value) { // Not yet used project_dependencies = array(array(0=>idtask,1=>idtasktofinishfisrt)) @@ -157,7 +157,7 @@ function constructGanttLine($tarr,$task,$project_dependencies,$level=0,$project_ $count ++; } } - // $depend .= "\""; + $depend .= "\""; // Define parent if ($project_id && $level < 0) $parent = 'p'.$project_id; @@ -170,9 +170,9 @@ function constructGanttLine($tarr,$task,$project_dependencies,$level=0,$project_ // Name $name=$task['task_name']; - /*for($i=0; $i < $level; $i++) { - $name=' - '.$name; - }*/ + for($i=0; $i < $level; $i++) { + $name='     '.$name; + } // Add line to gantt /* g.AddTaskItem(new JSGantt.TaskItem(1, 'Define Chart API','', '', 'ggroupblack','', 0, 'Brian', 0, 1,0,1,'','','Some Notes text',g)); @@ -199,12 +199,12 @@ function constructGanttLine($tarr,$task,$project_dependencies,$level=0,$project_
pGantt
(required) javascript JSGantt.GanttChart object from which to take settings. Defaults to "g" for backwards compatibility
*/ - //$note=""; + $note=""; $s = "\n// Add taks id=".$task["task_id"]." level = ".$level."\n"; - // $s.= "g.AddTaskItem(new JSGantt.TaskItem(".$task['task_id'].",'".dol_escape_js($name)."','".$start_date."', '".$end_date."', '".$task['task_color']."', '".$link."', ".$task['task_milestone'].", '".$resources."', ".($percent >= 0 ? $percent : 0).", ".($task["task_is_group"]>0?1:0).", '".$parent."', 1, '".($depend?$depend:"")."', '".$note."'));"; + $s.= "g.AddTaskItem(new JSGantt.TaskItem(".$task['task_id'].",'".dol_escape_js($name)."','".$start_date."', '".$end_date."', '".$task['task_color']."', '".$link."', ".$task['task_milestone'].", '".$resources."', ".($percent >= 0 ? $percent : 0).", ".($task["task_is_group"]>0?1:0).", '".$parent."', 1, '".($depend?$depend:"")."', '".$note."'));"; // For JSGanttImproved - $s.= "g.AddTaskItem(new JSGantt.TaskItem(".$task['task_id'].",'".dol_escape_js(trim($name))."','".$start_date."', '".$end_date."', '".$task['task_css']."', '".$link."', ".$task['task_milestone'].", '".$resources."', ".($percent >= 0 ? $percent : 0).", ".($task["task_is_group"]).", '".$parent."', 1, '".($depend?$depend:$parent."SS")."', '".($percent >= 0 ? $percent.'%' : '0%')."','".$task['note']."'));"; + //$s.= "g.AddTaskItem(new JSGantt.TaskItem(".$task['task_id'].",'".dol_escape_js($name)."','".$start_date."', '".$end_date."', 'gtaskblue', '".$link."', ".$task['task_milestone'].", '".$resources."', ".($percent >= 0 ? $percent : 0).", ".($task["task_is_group"]>0?1:0).", '".$parent."', 1, '".($depend?$depend:"")."', '".$note."'));"; echo $s; diff --git a/htdocs/projet/ganttview.php b/htdocs/projet/ganttview.php index 29e9d0de1b4..b86a961bd69 100644 --- a/htdocs/projet/ganttview.php +++ b/htdocs/projet/ganttview.php @@ -206,18 +206,8 @@ if (count($tasksarray)>0) $task->fetch($val->id); $tasks[$taskcursor]['task_id']=$val->id; $tasks[$taskcursor]['task_parent']=$val->fk_parent; - $tasks[$taskcursor]['task_is_group'] = 0; - $tasks[$taskcursor]['task_css'] = 'gtaskblue'; - - if($val->fk_parent > 0 && $task->hasChildren()> 0){ - $tasks[$taskcursor]['task_is_group']=1; - $tasks[$taskcursor]['task_css'] = 'gtaskred'; - } - elseif($task->hasChildren()> 0) { - $tasks[$taskcursor]['task_is_group'] = 1; - $tasks[$taskcursor]['task_css'] = 'gtaskgreen'; - } - $tasks[$taskcursor]['task_milestone']='0'; + $tasks[$taskcursor]['task_is_group']=0; + $tasks[$taskcursor]['task_milestone']=0; $tasks[$taskcursor]['task_percent_complete']=$val->progress; //$tasks[$taskcursor]['task_name']=$task->getNomUrl(1); //print dol_print_date($val->date_start).dol_print_date($val->date_end).'
'."\n"; @@ -227,7 +217,7 @@ if (count($tasksarray)>0) $tasks[$taskcursor]['task_color']='b4d1ea'; $idofusers=$task->getListContactId('internal'); $idofthirdparty=$task->getListContactId('external'); - $s=''; + $s=''; if (count($idofusers)>0) { $s.=$langs->trans("Internals").': '; @@ -235,12 +225,12 @@ if (count($tasksarray)>0) foreach($idofusers as $valid) { $userstatic->fetch($valid); - if ($i) $s.=', '; + if ($i) $s.=','; $s.=$userstatic->login; $i++; } } - //if (count($idofusers)>0 && (count($idofthirdparty)>0)) $s.=' - '; + if (count($idofusers)>0 && (count($idofthirdparty)>0)) $s.=' - '; if (count($idofthirdparty)>0) { if ($s) $s.=' - '; @@ -254,21 +244,18 @@ if (count($tasksarray)>0) $i++; } } - //if ($s) $tasks[$taskcursor]['task_resources']=''.$langs->trans("List").''; - /* For JSGanttImproved */ - //if ($s) $tasks[$taskcursor]['task_resources']=implode(',',$idofusers); - $tasks[$taskcursor]['task_resources'] = $s; + if ($s) $tasks[$taskcursor]['task_resources']=''.$langs->trans("List").''; + /* For JSGanttImproved if ($s) $tasks[$taskcursor]['task_resources']=join(',',$idofusers); */ //print "xxx".$val->id.$tasks[$taskcursor]['task_resources']; - $tasks[$taskcursor]['note']=$task->note_public; $taskcursor++; } print "\n"; - if (! empty($conf->use_javascript_ajax)) + if (! empty($conf->use_javascript_ajax)) { //var_dump($_SESSION); - print '
'."\n"; + print '
'."\n"; include_once DOL_DOCUMENT_ROOT.'/projet/ganttchart.inc.php'; print '
'."\n"; } diff --git a/htdocs/projet/jsgantt_language.js.php b/htdocs/projet/jsgantt_language.js.php index 561697fd161..16b89fbebb3 100644 --- a/htdocs/projet/jsgantt_language.js.php +++ b/htdocs/projet/jsgantt_language.js.php @@ -32,29 +32,44 @@ if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML',1); if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1'); -require_once __DIR__.'/../main.inc.php'; +require_once '../main.inc.php'; // Define css type header('Content-type: text/javascript'); global $langs; ?> +var i18n = new Array(); +i18n["sMinute"]= "transnoentities("Minute") ?>"; +i18n["sMinutes"]= "transnoentities("Minutes") ?>"; +i18n["sHour"]= "transnoentities("Hour") ?>"; +i18n["sHours"]= "transnoentities("Hours") ?>"; +i18n["sDay"]= "transnoentities("Day") ?>"; +i18n["sDays"]= "transnoentities("Days") ?>"; +i18n["sWeek"] = "transnoentities("Week") ?>"; +i18n["sMonth"] = "transnoentities("Month") ?>"; +i18n["sQuarter"] = "transnoentities("Quadri") ?>"; +i18n["View"] = "transnoentities("View") ?>"; +i18n["Resource"] = "transnoentities("Resources") ?>"; +i18n["Duration"] = "transnoentities("Duration") ?>"; +i18n["Start_Date"] = "transnoentities("DateStart") ?>"; +i18n["End_Date"] = "transnoentities("DateEnd") ?>"; +i18n["Date_Format"] = "transnoentities("Format") ?>"; +i18n["January"] = "transnoentities("January") ?>"; +i18n["February"] = "transnoentities("February") ?>"; +i18n["March"] = "transnoentities("March") ?>"; +i18n["April"] = "transnoentities("April") ?>"; +i18n["May"] = "transnoentities("May") ?>"; +i18n["June"] = "transnoentities("June") ?>"; +i18n["July"] = "transnoentities("July") ?>"; +i18n["August"] = "transnoentities("August") ?>"; +i18n["September"] = "transnoentities("Septembre") ?>"; +i18n["October"] = "transnoentities("October") ?>"; +i18n["November"] = "transnoentities("November") ?>"; +i18n["December"] = "transnoentities("December") ?>"; +i18n["Quarter"] = "transnoentities("Quarter") ?>"; +i18n["Period"] = "transnoentities("Period") ?>"; + -var vLangs={'getDefaultLang(1);?>': -{'format':'transnoentities('Periodo');?>','hour':'"transnoentities('Hour'); ?>','day':'transnoentities('Day'); ?>', - 'week':'transnoentities('Week'); ?>','month':'transnoentities('Month'); ?>','quarter':'transnoentities('Quadri'); ?>', - 'hours':'transnoentities('Hours'); ?>','days':'transnoentities('Days'); ?>','weeks':'transnoentities('Weeks');?>', - 'months':'transnoentities('Months'); ?>','quarters':'transnoentities('Quadri'); ?>','hr':'Hr','dy':'transnoentities('Day'); ?>','wk':'transnoentities('Week'); ?>','mth':'transnoentities('Month'); ?>','qtr':'transnoentities('Quadri'); ?>','hrs':'transnoentities('Hours'); ?>', - 'dys':'transnoentities('Days'); ?>','wks':'transnoentities('Weeks'); ?>','mths':'transnoentities('Months'); ?>','qtrs':'transnoentities('Quadri'); ?>','resource':'transnoentities('Resources'); ?>','duration':'transnoentities('Duration'); ?>','comp':'% transnoentities('Total'); ?>', - 'completion':'transnoentities('Total'); ?>','startdate':'transnoentities('DateStart'); ?>','enddate':'transnoentities('DateEnd'); ?>','moreinfo':'transnoentities('MoreInformation'); ?>', - 'notes':'transnoentities('NotePublic'); ?>', - 'january':'transnoentities('January'); ?>','february':'transnoentities('February'); ?>','march':'transnoentities('March'); ?>','april':'transnoentities('April'); ?>','maylong':'transnoentities('May'); ?>','june':'transnoentities('June'); ?>','july':'transnoentities('July'); ?>', - 'august':'transnoentities('August'); ?>','september':'transnoentities('September'); ?>','october':'transnoentities('October'); ?>','november':'transnoentities('November'); ?>','december':'transnoentities('December'); ?>', - 'jan':'transnoentities('JanuaryMin'); ?>','feb':'transnoentities('FebruaryMin'); ?>','mar':'transnoentities('MarchMin'); ?>','apr':'transnoentities('AprilMin'); ?>','may':'transnoentities('MayMin'); ?>','jun':'transnoentities('JuneMin'); ?>','jul':'transnoentities('JulyMin'); ?>', - 'aug':'transnoentities('AugustMin'); ?>','sep':'transnoentities('SeptemberMin'); ?>','oct':'transnoentities('OctoberMin'); ?>','nov':'transnoentities('NovemberMin'); ?>','dec':'transnoentities('DecemberMin'); ?>', - 'sunday':'transnoentities('Sunday'); ?>','monday':'transnoentities('Monday'); ?>','tuesday':'transnoentities('Tuesday'); ?>','wednesday':'transnoentities('Wednesday'); ?>','thursday':'transnoentities('Thursday'); ?>','friday':'transnoentities('Friday'); ?>','saturday':'transnoentities('Saturday'); ?>', - 'sun':'transnoentities('SundayMin'); ?>','mon':'transnoentities('MondayMin'); ?>','tue':'transnoentities('TuesdayMin'); ?>','wed':'transnoentities('WednesdayMin'); ?>','thu':'transnoentities('ThursdayMin'); ?>','fri':'transnoentities('FridayMin'); ?>','sat':'transnoentities('SaturdayMin'); ?>'} -}; -var vLang='getDefaultLang(1);?>'; close(); From 03cb5c66b8def68ae1606692d7d9320a520f9691 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 26 Jul 2016 14:16:28 +0200 Subject: [PATCH 080/476] Fix javascript error on french language --- htdocs/projet/jsgantt_language.js.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/htdocs/projet/jsgantt_language.js.php b/htdocs/projet/jsgantt_language.js.php index 561697fd161..f6b5799bda0 100644 --- a/htdocs/projet/jsgantt_language.js.php +++ b/htdocs/projet/jsgantt_language.js.php @@ -41,19 +41,21 @@ global $langs; ?> var vLangs={'getDefaultLang(1);?>': -{'format':'transnoentities('Periodo');?>','hour':'"transnoentities('Hour'); ?>','day':'transnoentities('Day'); ?>', + { + 'format':'transnoentities('Period');?>','hour':'"transnoentities('Hour'); ?>','day':'transnoentities('Day'); ?>', 'week':'transnoentities('Week'); ?>','month':'transnoentities('Month'); ?>','quarter':'transnoentities('Quadri'); ?>', 'hours':'transnoentities('Hours'); ?>','days':'transnoentities('Days'); ?>','weeks':'transnoentities('Weeks');?>', 'months':'transnoentities('Months'); ?>','quarters':'transnoentities('Quadri'); ?>','hr':'Hr','dy':'transnoentities('Day'); ?>','wk':'transnoentities('Week'); ?>','mth':'transnoentities('Month'); ?>','qtr':'transnoentities('Quadri'); ?>','hrs':'transnoentities('Hours'); ?>', - 'dys':'transnoentities('Days'); ?>','wks':'transnoentities('Weeks'); ?>','mths':'transnoentities('Months'); ?>','qtrs':'transnoentities('Quadri'); ?>','resource':'transnoentities('Resources'); ?>','duration':'transnoentities('Duration'); ?>','comp':'% transnoentities('Total'); ?>', - 'completion':'transnoentities('Total'); ?>','startdate':'transnoentities('DateStart'); ?>','enddate':'transnoentities('DateEnd'); ?>','moreinfo':'transnoentities('MoreInformation'); ?>', + 'dys':'transnoentities('Days'); ?>','wks':'transnoentities('Weeks'); ?>','mths':'transnoentities('Months'); ?>','qtrs':'transnoentities('Quadri'); ?>','resource':'transnoentities('Resources')); ?>','duration':'transnoentities('Duration')); ?>','comp':'% transnoentities('Total')); ?>', + 'completion':'transnoentities('Total'); ?>','startdate':'transnoentities('DateStart'); ?>','enddate':'transnoentities('DateEnd'); ?>','moreinfo':'transnoentities('MoreInformation')); ?>', 'notes':'transnoentities('NotePublic'); ?>', 'january':'transnoentities('January'); ?>','february':'transnoentities('February'); ?>','march':'transnoentities('March'); ?>','april':'transnoentities('April'); ?>','maylong':'transnoentities('May'); ?>','june':'transnoentities('June'); ?>','july':'transnoentities('July'); ?>', 'august':'transnoentities('August'); ?>','september':'transnoentities('September'); ?>','october':'transnoentities('October'); ?>','november':'transnoentities('November'); ?>','december':'transnoentities('December'); ?>', 'jan':'transnoentities('JanuaryMin'); ?>','feb':'transnoentities('FebruaryMin'); ?>','mar':'transnoentities('MarchMin'); ?>','apr':'transnoentities('AprilMin'); ?>','may':'transnoentities('MayMin'); ?>','jun':'transnoentities('JuneMin'); ?>','jul':'transnoentities('JulyMin'); ?>', 'aug':'transnoentities('AugustMin'); ?>','sep':'transnoentities('SeptemberMin'); ?>','oct':'transnoentities('OctoberMin'); ?>','nov':'transnoentities('NovemberMin'); ?>','dec':'transnoentities('DecemberMin'); ?>', 'sunday':'transnoentities('Sunday'); ?>','monday':'transnoentities('Monday'); ?>','tuesday':'transnoentities('Tuesday'); ?>','wednesday':'transnoentities('Wednesday'); ?>','thursday':'transnoentities('Thursday'); ?>','friday':'transnoentities('Friday'); ?>','saturday':'transnoentities('Saturday'); ?>', - 'sun':'transnoentities('SundayMin'); ?>','mon':'transnoentities('MondayMin'); ?>','tue':'transnoentities('TuesdayMin'); ?>','wed':'transnoentities('WednesdayMin'); ?>','thu':'transnoentities('ThursdayMin'); ?>','fri':'transnoentities('FridayMin'); ?>','sat':'transnoentities('SaturdayMin'); ?>'} + 'sun':'transnoentities('SundayMin'); ?>','mon':'transnoentities('MondayMin'); ?>','tue':'transnoentities('TuesdayMin'); ?>','wed':'transnoentities('WednesdayMin'); ?>','thu':'transnoentities('ThursdayMin'); ?>','fri':'transnoentities('FridayMin'); ?>','sat':'transnoentities('SaturdayMin'); ?>' + } }; var vLang='getDefaultLang(1);?>'; Date: Tue, 26 Jul 2016 14:41:15 +0200 Subject: [PATCH 081/476] Fix date into new gantt chart --- htdocs/projet/ganttchart.inc.php | 12 +++++++----- htdocs/projet/ganttview.php | 6 +++++- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/htdocs/projet/ganttchart.inc.php b/htdocs/projet/ganttchart.inc.php index 1893415d718..4ce666085b9 100644 --- a/htdocs/projet/ganttchart.inc.php +++ b/htdocs/projet/ganttchart.inc.php @@ -90,9 +90,9 @@ if (g.getDivId() != null) var barText = "Resource"; var graphFormat = "day"; - g.setDateInputFormat('mm/dd/yyyy'); // Set format of input dates ('mm/dd/yyyy', 'dd/mm/yyyy', does not work with 'yyyy-mm-dd') - //g.setDateDisplayFormat(''); - g.setDateTaskDisplayFormat(''); + g.setDateInputFormat(''); // Set format of input dates ('mm/dd/yyyy', 'dd/mm/yyyy', does not work with 'yyyy-mm-dd') + g.setDateTaskTableDisplayFormat(''); // Format of date used into line + g.setDateTaskDisplayFormat(''); // Format of date used into popup, not into line g.setDayMajorDateDisplayFormat('dd mon'); g.setShowRes(1); // Show/Hide Responsible (0/1) g.setShowDur(1); // Show/Hide Duration (0/1) @@ -140,11 +140,13 @@ else */ function constructGanttLine($tarr,$task,$project_dependencies,$level=0,$project_id=null) { + global $dateformatinput2; + $start_date = $task["task_start_date"]; $end_date = $task["task_end_date"]; if (!$end_date) $end_date = $start_date; - $start_date = dol_print_date($start_date,"%m/%d/%Y"); - $end_date = dol_print_date($end_date,"%m/%d/%Y"); + $start_date = dol_print_date($start_date, $dateformatinput2); + $end_date = dol_print_date($end_date, $dateformatinput2); // Resources $resources = $task["task_resources"]; // Define depend (ex: "", "4,13", ...) diff --git a/htdocs/projet/ganttview.php b/htdocs/projet/ganttview.php index 29e9d0de1b4..40a3bbbad1c 100644 --- a/htdocs/projet/ganttview.php +++ b/htdocs/projet/ganttview.php @@ -268,7 +268,11 @@ if (count($tasksarray)>0) if (! empty($conf->use_javascript_ajax)) { //var_dump($_SESSION); - print '
'."\n"; + $dateformatinput='mm/dd/yyyy'; // How the date for data are formated + $dateformatinput2="%m/%d/%Y"; // How the date for data are formated + //var_dump($dateformatinput); + //var_dump($dateformatinput2); + print '
'."\n"; include_once DOL_DOCUMENT_ROOT.'/projet/ganttchart.inc.php'; print '
'."\n"; } From f47f39f69a1b04db386dae69b5baa1e09e969b2d Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 26 Jul 2016 14:45:22 +0200 Subject: [PATCH 082/476] Fix width and remove hours on date into table --- htdocs/projet/ganttchart.inc.php | 2 +- htdocs/projet/ganttview.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/projet/ganttchart.inc.php b/htdocs/projet/ganttchart.inc.php index 4ce666085b9..487ff281c8c 100644 --- a/htdocs/projet/ganttchart.inc.php +++ b/htdocs/projet/ganttchart.inc.php @@ -91,7 +91,7 @@ if (g.getDivId() != null) var graphFormat = "day"; g.setDateInputFormat(''); // Set format of input dates ('mm/dd/yyyy', 'dd/mm/yyyy', does not work with 'yyyy-mm-dd') - g.setDateTaskTableDisplayFormat(''); // Format of date used into line + g.setDateTaskTableDisplayFormat(''); // Format of date used into line g.setDateTaskDisplayFormat(''); // Format of date used into popup, not into line g.setDayMajorDateDisplayFormat('dd mon'); g.setShowRes(1); // Show/Hide Responsible (0/1) diff --git a/htdocs/projet/ganttview.php b/htdocs/projet/ganttview.php index 40a3bbbad1c..e26a56c3cc7 100644 --- a/htdocs/projet/ganttview.php +++ b/htdocs/projet/ganttview.php @@ -272,7 +272,7 @@ if (count($tasksarray)>0) $dateformatinput2="%m/%d/%Y"; // How the date for data are formated //var_dump($dateformatinput); //var_dump($dateformatinput2); - print '
'."\n"; + print '
'."\n"; include_once DOL_DOCUMENT_ROOT.'/projet/ganttchart.inc.php'; print '
'."\n"; } From 92cf97921450f18a2c8aa9183529cd1bc89d1a12 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 26 Jul 2016 16:01:25 +0200 Subject: [PATCH 083/476] Update copyright of external lib --- COPYRIGHT | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/COPYRIGHT b/COPYRIGHT index 4e43541fa60..1daa86d3f38 100644 --- a/COPYRIGHT +++ b/COPYRIGHT @@ -52,7 +52,7 @@ jQuery Mobile 1.3.0 GPL and MIT License Yes jQuery TableDnD 0.6 GPL and MIT License Yes JS library plugin TableDnD (to reorder table rows) jQuery Timepicker 1.1.0 GPL and MIT License Yes JS library Timepicker addon for Datepicker jQuery Tiptip 1.3 GPL and MIT License Yes JS library for tooltips -jsGantt 1.2 BSD License Yes JS library (to build Gantt reports) +jsGanttImproved 1.7.5.2 BSD License Yes JS library (to build Gantt reports) JsTimezoneDetect 1.0.6 MIT License Yes JS library to detect user timezone For licenses compatibility informations: From b615b52f473beb7b434eb74cb6cff3cb371c448e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 26 Jul 2016 16:11:38 +0200 Subject: [PATCH 084/476] FIX html detection fails if only u tag is present --- htdocs/core/lib/functions.lib.php | 2 +- test/phpunit/FunctionsLibTest.php | 27 +++++++++++++++------------ 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 2ae90c1f0b5..54658f531c7 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -4548,7 +4548,7 @@ function dol_textishtml($msg,$option=0) { if (preg_match('//i',$msg)) return true; + elseif (preg_match('/<(b|em|i|u)>/i',$msg)) return true; elseif (preg_match('/<(br|div|font|li|p|span|strong|table)>/i',$msg)) return true; elseif (preg_match('/<(br|div|font|li|p|span|strong|table)\s+[^<>\/]*>/i',$msg)) return true; elseif (preg_match('/<(br|div|font|li|p|span|strong|table)\s+[^<>\/]*\/>/i',$msg)) return true; diff --git a/test/phpunit/FunctionsLibTest.php b/test/phpunit/FunctionsLibTest.php index 79bcc931c84..4c76ba47770 100644 --- a/test/phpunit/FunctionsLibTest.php +++ b/test/phpunit/FunctionsLibTest.php @@ -206,40 +206,43 @@ class FunctionsLibTest extends PHPUnit_Framework_TestCase // True $input='xxx'; $after=dol_textishtml($input); - $this->assertTrue($after); + $this->assertTrue($after, 'Test with html tag'); $input='xxx'; $after=dol_textishtml($input); - $this->assertTrue($after); + $this->assertTrue($after, 'Test with body tag'); $input='xxx yyy zzz'; $after=dol_textishtml($input); - $this->assertTrue($after); + $this->assertTrue($after, 'Test with b tag'); + $input='xxx yyy zzz'; + $after=dol_textishtml($input); + $this->assertTrue($after, 'Test with u tag'); $input='text with
some div
'; $after=dol_textishtml($input); - $this->assertTrue($after); + $this->assertTrue($after, 'Test with div tag'); $input='text with HTML   entities'; $after=dol_textishtml($input); - $this->assertTrue($after); + $this->assertTrue($after, 'Test with entities tag'); $input='xxx
'; $after=dol_textishtml($input); - $this->assertTrue($after); + $this->assertTrue($after, 'Test with entities br'); $input='xxx
'; $after=dol_textishtml($input); - $this->assertTrue($after); + $this->assertTrue($after, 'Test with entities br'); $input='xxx
'; $after=dol_textishtml($input); - $this->assertTrue($after); + $this->assertTrue($after, 'Test with entities br and attributes'); $input='xxx
'; $after=dol_textishtml($input); - $this->assertTrue($after); + $this->assertTrue($after, 'Test with entities br and attributes bis'); $input='

abc

'; $after=dol_textishtml($input); - $this->assertTrue($after); + $this->assertTrue($after, 'Test with entities h2'); $input=''; $after=dol_textishtml($input); - $this->assertTrue($after,'Failure on test of img tag'); + $this->assertTrue($after, 'Test with img tag'); $input=''; $after=dol_textishtml($input); - $this->assertTrue($after,'Failure on test of a tag'); + $this->assertTrue($after, 'Test with a tag'); // False $input='xxx < br>'; From 7481cfc1a3c3437f281bcf61fb6313f884b5d150 Mon Sep 17 00:00:00 2001 From: Sergio Sanchis Climent Date: Tue, 26 Jul 2016 16:35:54 +0200 Subject: [PATCH 085/476] FIX #5519 --- htdocs/resource/element_resource.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/htdocs/resource/element_resource.php b/htdocs/resource/element_resource.php index 7cb5b74fac3..f8e9e052995 100644 --- a/htdocs/resource/element_resource.php +++ b/htdocs/resource/element_resource.php @@ -30,6 +30,7 @@ if (! $res) die("Include of main fails"); require 'class/dolresource.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/fichinter/class/fichinter.class.php'; // Load traductions files requiredby by page $langs->load("resource"); @@ -265,7 +266,8 @@ else { require_once DOL_DOCUMENT_ROOT.'/core/lib/fichinter.lib.php'; - $fichinter = fetchObjectByElement($element_id, $element); + $fichinter = new Fichinter($db); + $fichinter->fetch($element_id); if (is_object($fichinter)) { $head=fichinter_prepare_head($fichinter); @@ -283,11 +285,11 @@ else // Customer - if ( is_null($fichinter->client) ) + if ( is_null($fichinter->thirdparty) ) $fichinter->fetch_thirdparty(); print "".$langs->trans("Company").""; - print ''.$fichinter->client->getNomUrl(1).''; + print ''.$fichinter->thirdparty->getNomUrl(1).''; print ""; dol_fiche_end(); From a167d56d5a355a04c1d5b0ec492b07772aa521e3 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 26 Jul 2016 16:40:37 +0200 Subject: [PATCH 086/476] Hard code a warning to avoid confusion. --- htdocs/langs/en_US/admin.lang | 1 + htdocs/product/admin/product.php | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index fa5ec94d067..b2713062307 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -1597,3 +1597,4 @@ UrlToGetKeyToUseAPIs=Url to get token to use API (once token has been received i ListOfAvailableAPIs=List of available APIs activateModuleDependNotSatisfied=Module "%s" depends on module "%s" that is missing, so module "%1$s" may not work correclty. Please install module "%2$s" or disable module "%1$s" if you want to be safe from any surprise CommandIsNotInsideAllowedCommands=The command you try to run is not inside list of allowed commands defined into parameter $dolibarr_main_restrict_os_commands into conf.php file. +SamePriceAlsoForSharedCompanies=If you use the multicompany module, with the choice "Single price", price will be also the same for all companies if products are shared between environments \ No newline at end of file diff --git a/htdocs/product/admin/product.php b/htdocs/product/admin/product.php index 25e52079dc4..130a0e55208 100644 --- a/htdocs/product/admin/product.php +++ b/htdocs/product/admin/product.php @@ -583,6 +583,10 @@ if (!empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY)) $current_rule='PRODUI if (!empty($conf->global->PRODUIT_CUSTOMER_PRICES)) $current_rule='PRODUIT_CUSTOMER_PRICES'; if ((!empty($conf->global->PRODUIT_CUSTOMER_PRICES_BY_QTY)) && (!empty($conf->global->PRODUIT_MULTIPRICES))) $current_rule='PRODUIT_CUSTOMER_PRICES_BY_QTY&PRODUIT_MULTIPRICES'; print $form->selectarray("princingrule",$select_pricing_rules,$current_rule); +if ( empty($conf->multicompany->enabled)) +{ + print $langs->trans("SamePriceAlsoForSharedCompanies"); +} print ''; print ''; print ''; From 1ef27913d7225dc4c8e107841f763a28ead49b11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Tue, 26 Jul 2016 17:07:56 +0200 Subject: [PATCH 087/476] FIX #5549 getNomUrl tooltips show Order info even if user has no rights to read them --- htdocs/commande/class/commande.class.php | 34 ++++++++++++++++-------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php index 9eb67cecc56..003f3fab255 100644 --- a/htdocs/commande/class/commande.class.php +++ b/htdocs/commande/class/commande.class.php @@ -3081,17 +3081,29 @@ class Commande extends CommonOrder if ($short) return $url; $picto = 'order'; - $label = '' . $langs->trans("ShowOrder") . ''; - if (! empty($this->ref)) - $label .= '
' . $langs->trans('Ref') . ': ' . $this->ref; - if (! empty($this->ref_client)) - $label.= '
' . $langs->trans('RefCustomer') . ': ' . $this->ref_client; - if (! empty($this->total_ht)) - $label.= '
' . $langs->trans('AmountHT') . ': ' . price($this->total_ht, 0, $langs, 0, -1, -1, $conf->currency); - if (! empty($this->total_tva)) - $label.= '
' . $langs->trans('VAT') . ': ' . price($this->total_tva, 0, $langs, 0, -1, -1, $conf->currency); - if (! empty($this->total_ttc)) - $label.= '
' . $langs->trans('AmountTTC') . ': ' . price($this->total_ttc, 0, $langs, 0, -1, -1, $conf->currency); + $label = ''; + + if ($user->rights->commande->lire) { + $label = ''.$langs->trans("ShowOrder").''; + if (!empty($this->ref)) { + $label .= '
'.$langs->trans('Ref').': '.$this->ref; + } + if (!empty($this->ref_client)) { + $label .= '
'.$langs->trans('RefCustomer').': '.$this->ref_client; + } + if (!empty($this->total_ht)) { + $label .= '
'.$langs->trans('AmountHT').': '.price($this->total_ht, 0, $langs, 0, -1, -1, + $conf->currency); + } + if (!empty($this->total_tva)) { + $label .= '
'.$langs->trans('VAT').': '.price($this->total_tva, 0, $langs, 0, -1, -1, + $conf->currency); + } + if (!empty($this->total_ttc)) { + $label .= '
'.$langs->trans('AmountTTC').': '.price($this->total_ttc, 0, $langs, 0, -1, -1, + $conf->currency); + } + } $linkstart = '
'; $linkend=''; From 078439cf18990f7dbe6ce0c3ce59ae07f9a1294e Mon Sep 17 00:00:00 2001 From: Ion Agorria Date: Tue, 26 Jul 2016 19:53:29 +0200 Subject: [PATCH 088/476] Use different trigger name per status --- htdocs/fourn/class/fournisseur.commande.class.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index fecefaa60e0..396cdb82012 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -2104,8 +2104,20 @@ class CommandeFournisseur extends CommonOrder $resql = $this->db->query($sql); if ($resql) { + // Trigger names for each status + $trigger_name[0] = 'DRAFT'; + $trigger_name[1] = 'VALIDATED'; + $trigger_name[2] = 'APPROVED'; + $trigger_name[3] = 'ONPROCESS'; + $trigger_name[4] = 'RECEIVED_PARTIALLY'; + $trigger_name[5] = 'RECEIVED_ALL'; + $trigger_name[6] = 'CANCELED'; + $trigger_name[7] = 'CANCELED'; + $trigger_name[8] = 'BILLED'; + $trigger_name[9] = 'REFUSED'; + // Call trigger - $result=$this->call_trigger('ORDER_SUPPLIER_SET_STATUS',$user); + $result=$this->call_trigger("ORDER_SUPPLIER_STATUS_".$trigger_name[$status],$user); if ($result < 0) { $error++; } // End call triggers } From 3d2dc3c66e1e8105355b77073449f09e0efff7ca Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 26 Jul 2016 21:12:52 +0200 Subject: [PATCH 089/476] NEW Each user can select its landing page. --- htdocs/core/lib/functions.lib.php | 6 +-- htdocs/core/menus/init_menu_auguria.sql | 2 +- htdocs/core/menus/standard/eldy.lib.php | 4 +- htdocs/hrm/{hrm.php => index.php} | 2 +- htdocs/langs/en_US/admin.lang | 1 + htdocs/user/param_ihm.php | 62 +++++++++++++++++++++++-- 6 files changed, 67 insertions(+), 10 deletions(-) rename htdocs/hrm/{hrm.php => index.php} (99%) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 1549a2603b6..5e44d9768ad 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -2668,10 +2668,10 @@ function img_searchclear($titlealt = 'default', $other = '') * @param string $text Text info * @param integer $infoonimgalt Info is shown only on alt of star picto, otherwise it is show on output after the star picto * @param int $nodiv No div - * @param int $admin 1=Info for admin users. 0=Info for standard users (change only the look) + * @param string $admin '1'=Info for admin users. '0'=Info for standard users (change only the look), 'xxx'=Other * @return string String with info text */ -function info_admin($text, $infoonimgalt = 0, $nodiv=0, $admin=1) +function info_admin($text, $infoonimgalt = 0, $nodiv=0, $admin='1') { global $conf, $langs; @@ -2680,7 +2680,7 @@ function info_admin($text, $infoonimgalt = 0, $nodiv=0, $admin=1) return img_picto($text, 'info', 'class="hideonsmartphone"'); } - return ($nodiv?'':'
').img_picto($admin?$langs->trans('InfoAdmin'):$langs->trans('Note'), ($nodiv?'info':'info_black'), 'class="hideonsmartphone"').' '.$text.($nodiv?'':'
'); + return ($nodiv?'':'
').img_picto($admin?$langs->trans('InfoAdmin'):$langs->trans('Note'), ($nodiv?'info':'info_black'), 'class="hideonsmartphone"').' '.$text.($nodiv?'':'
'); } diff --git a/htdocs/core/menus/init_menu_auguria.sql b/htdocs/core/menus/init_menu_auguria.sql index 39a8241b465..e27ca3e596a 100644 --- a/htdocs/core/menus/init_menu_auguria.sql +++ b/htdocs/core/menus/init_menu_auguria.sql @@ -17,7 +17,7 @@ insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, left insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('projet', '$conf->projet->enabled', 7__+MAX_llx_menu__, __HANDLER__, 'top', 'project', '', 0, '/projet/index.php?mainmenu=project&leftmenu=', 'Projects', -1, 'projects', '$user->rights->projet->lire', '', 2, 70, __ENTITY__); insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('mailing|export|import|opensurvey', '$conf->mailing->enabled || $conf->export->enabled || $conf->import->enabled || $conf->opensurvey->enabled', 8__+MAX_llx_menu__, __HANDLER__, 'top', 'tools', '', 0, '/core/tools.php?mainmenu=tools&leftmenu=', 'Tools', -1, 'other', '$user->rights->mailing->lire || $user->rights->export->lire || $user->rights->import->run || $user->rights->opensurvey->read', '', 2, 90, __ENTITY__); insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('adherent', '$conf->adherent->enabled', 13__+MAX_llx_menu__, __HANDLER__, 'top', 'members', '', 0, '/adherents/index.php?mainmenu=members&leftmenu=', 'Members', -1, 'members', '$user->rights->adherent->lire', '', 2, 110, __ENTITY__); -insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('hrm|holiday|deplacement|expensereport', '$conf->hrm->enabled || $conf->holiday->enabled || $conf->deplacement->enabled || $conf->expensereport->enabled', 15__+MAX_llx_menu__, __HANDLER__, 'top', 'hrm', '', 0, '/hrm/hrm.php?mainmenu=hrm&leftmenu=', 'HRM', -1, 'holiday', '$user->rights->hrm->employee->read || $user->rights->holiday->write || $user->rights->deplacement->lire || $user->rights->expensereport->lire', '', 0, 80, __ENTITY__); +insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('hrm|holiday|deplacement|expensereport', '$conf->hrm->enabled || $conf->holiday->enabled || $conf->deplacement->enabled || $conf->expensereport->enabled', 15__+MAX_llx_menu__, __HANDLER__, 'top', 'hrm', '', 0, '/hrm/index.php?mainmenu=hrm&leftmenu=', 'HRM', -1, 'holiday', '$user->rights->hrm->employee->read || $user->rights->holiday->write || $user->rights->deplacement->lire || $user->rights->expensereport->lire', '', 0, 80, __ENTITY__); -- Home - Dashboard insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '1', __HANDLER__, 'left', 90__+MAX_llx_menu__, 'home', '', 1__+MAX_llx_menu__, '/index.php', 'Dashboard', 0, '', '', '', 2, 0, __ENTITY__); diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php index 41a556c6a30..a3f9c04a666 100644 --- a/htdocs/core/menus/standard/eldy.lib.php +++ b/htdocs/core/menus/standard/eldy.lib.php @@ -237,9 +237,9 @@ function print_eldy_menu($db,$atarget,$type_user,&$tabMenu,&$menu,$noout=0,$mode $idsel='hrm'; if (empty($noout)) print_start_menu_entry($idsel,$classname,$showmode); - if (empty($noout)) print_text_menu_entry($langs->trans("HRM"), $showmode, DOL_URL_ROOT.'/hrm/hrm.php?mainmenu=hrm&leftmenu=', $id, $idsel, $classname, $atarget); + if (empty($noout)) print_text_menu_entry($langs->trans("HRM"), $showmode, DOL_URL_ROOT.'/hrm/index.php?mainmenu=hrm&leftmenu=', $id, $idsel, $classname, $atarget); if (empty($noout)) print_end_menu_entry($showmode); - $menu->add('/hrm/hrm.php?mainmenu=hrm&leftmenu=', $langs->trans("HRM"), 0, $showmode, $atarget, "hrm", ''); + $menu->add('/hrm/index.php?mainmenu=hrm&leftmenu=', $langs->trans("HRM"), 0, $showmode, $atarget, "hrm", ''); } diff --git a/htdocs/hrm/hrm.php b/htdocs/hrm/index.php similarity index 99% rename from htdocs/hrm/hrm.php rename to htdocs/hrm/index.php index cc2366d7e4c..9f1ecaa6c5d 100644 --- a/htdocs/hrm/hrm.php +++ b/htdocs/hrm/index.php @@ -19,7 +19,7 @@ */ /** - * \file htdocs/hrm/hrm.php + * \file htdocs/hrm/index.php * \ingroup hrm * \brief Home page for HRM area. */ diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index c8e5549ce3f..48de4bda8fc 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -1603,3 +1603,4 @@ UrlToGetKeyToUseAPIs=Url to get token to use API (once token has been received i ListOfAvailableAPIs=List of available APIs activateModuleDependNotSatisfied=Module "%s" depends on module "%s" that is missing, so module "%1$s" may not work correclty. Please install module "%2$s" or disable module "%1$s" if you want to be safe from any surprise CommandIsNotInsideAllowedCommands=The command you try to run is not inside list of allowed commands defined into parameter $dolibarr_main_restrict_os_commands into conf.php file. +LandingPage=Landing page \ No newline at end of file diff --git a/htdocs/user/param_ihm.php b/htdocs/user/param_ihm.php index 4d254349a7d..f0ca0f17c31 100644 --- a/htdocs/user/param_ihm.php +++ b/htdocs/user/param_ihm.php @@ -32,6 +32,8 @@ $langs->load("products"); $langs->load("admin"); $langs->load("users"); $langs->load("languages"); +$langs->load("projects"); +$langs->load("members"); // Defini si peux lire/modifier permisssions $canreaduser=($user->admin || $user->rights->user->user->lire); @@ -91,6 +93,12 @@ if (empty($reshook)) { if (!$_POST["cancel"]) { $tabparam = array(); + if (GETPOST("check_MAIN_LANDING_PAGE") == "on") { + $tabparam["MAIN_LANDING_PAGE"] = $_POST["MAIN_LANDING_PAGE"]; + } else { + $tabparam["MAIN_LANDING_PAGE"] = ''; + } + if (GETPOST("check_MAIN_LANG_DEFAULT") == "on") { $tabparam["MAIN_LANG_DEFAULT"] = $_POST["main_lang_default"]; } else { @@ -145,6 +153,17 @@ if (empty($reshook)) { llxHeader(); +// List of possible landing pages +$tmparray=array('index.php'=>'Dashboard'); +if (! empty($conf->societe->enabled)) $tmparray['societe/index.php?mainmenu=companies&leftmenu=']='ThirdPartiesArea'; +if (! empty($conf->projet->enabled)) $tmparray['projet/index.php?mainmenu=project&leftmenu=']='ProjectsArea'; +if (! empty($conf->holiday->enabled) || ! empty($conf->expensereport->enabled)) $tmparray['hrm/index.php?mainmenu=hrm&leftmenu=']='HRMArea'; // TODO Complete list with first level of menus +if (! empty($conf->product->enabled) || ! empty($conf->service->enabled)) $tmparray['product/index.php?mainmenu=products&leftmenu=']='ProductsAndServicesArea'; +if (! empty($conf->propal->enabled) || ! empty($conf->commande->enabled) || ! empty($conf->fichinter->enabled) || ! empty($conf->contrat->enabled)) $tmparray['comm/index.php?mainmenu=commercial&leftmenu=']='CommercialArea'; +if (! empty($conf->compta->enabled) || ! empty($conf->accounting->enabled)) $tmparray['compta/index.php?mainmenu=compta&leftmenu=']='AccountancyTreasuryArea'; +if (! empty($conf->adherent->enabled)) $tmparray['adherents/index.php?mainmenu=members&leftmenu=']='MembersArea'; +if (! empty($conf->agenda->enabled)) $tmparray['comm/action/index.php?mainmenu=agenda&leftmenu=']='Agenda'; + $head = user_prepare_head($object); $title = $langs->trans("User"); @@ -186,7 +205,10 @@ if ($action == 'edit') jQuery(document).ready(function() { function init_myfunc() { - if (jQuery("#check_MAIN_LANG_DEFAULT").prop("checked")) { jQuery("#main_lang_default").removeAttr(\'disabled\'); } + if (jQuery("#check_MAIN_LANDING_PAGE").prop("checked")) { jQuery("#MAIN_LANDING_PAGE").removeAttr(\'disabled\'); } + else { jQuery("#MAIN_LANDING_PAGE").attr(\'disabled\',\'disabled\'); } + + if (jQuery("#check_MAIN_LANG_DEFAULT").prop("checked")) { jQuery("#main_lang_default").removeAttr(\'disabled\'); } else { jQuery("#main_lang_default").attr(\'disabled\',\'disabled\'); } if (jQuery("#check_SIZE_LISTE_LIMIT").prop("checked")) { jQuery("#main_size_liste_limit").removeAttr(\'disabled\'); } @@ -199,7 +221,8 @@ if ($action == 'edit') else { jQuery("#colorpickerTHEME_ELDY_TOPMENU_BACK1").attr(\'disabled\',\'disabled\'); } } init_myfunc(); - jQuery("#check_SIZE_LISTE_LIMIT").click(function() { init_myfunc(); }); + jQuery("#check_MAIN_LANDING_PAGE").click(function() { init_myfunc(); }); + jQuery("#check_SIZE_LISTE_LIMIT").click(function() { init_myfunc(); }); jQuery("#check_MAIN_LANG_DEFAULT").click(function() { init_myfunc(); }); jQuery("#check_MAIN_THEME").click(function() { init_myfunc(); }); jQuery("#check_THEME_ELDY_TOPMENU_BACK1").click(function() { init_myfunc(); }); @@ -215,6 +238,20 @@ if ($action == 'edit') print ''; print ''; + // Landing page + $var=!$var; + print ''; + print ''; + print ''; + print ''; + // Langue par defaut $var=!$var; print ''; @@ -267,6 +304,25 @@ else print '
'.$langs->trans("Parameter").''.$langs->trans("DefaultValue").' '.$langs->trans("PersonalValue").'
'.$langs->trans("LandingPage").''; + print (empty($conf->global->MAIN_LANDING_PAGE)?'':$conf->global->MAIN_LANDING_PAGE); + print 'conf->MAIN_LANDING_PAGE)?" checked":""); + print empty($dolibarr_main_demo)?'':' disabled="disabled"'; // Disabled for demo + print '> '.$langs->trans("UsePersonalValue").''; + print $form->selectarray('MAIN_LANDING_PAGE', $tmparray, (! empty($object->conf->MAIN_LANDING_PAGE)?$object->conf->MAIN_LANDING_PAGE:''), 0, 0, 0, '', 1); + //print info_admin($langs->trans("WarningYouMayLooseAccess"), 0, 0, 0); + print '
'.$langs->trans("Language").'
'; print ''; + // Landing page + $var=!$var; + print ''; + print ''; + print ''; + print ''; + + // Language $var=!$var; print ''; print ''; - print ''; + print ''; print ''; + print ''; } // Type - print '\n"; + print '\n"; // Morphy print ''; @@ -1463,7 +1463,7 @@ else print '
'.$langs->trans("Parameter").''.$langs->trans("DefaultValue").' '.$langs->trans("PersonalValue").'
'.$langs->trans("LandingPage").''; + print (empty($conf->global->MAIN_LANDING_PAGE)?'':$conf->global->MAIN_LANDING_PAGE); + print 'conf->MAIN_LANDING_PAGE)?" checked":""); + print empty($dolibarr_main_demo)?'':' disabled="disabled"'; // Disabled for demo + print '> '.$langs->trans("UsePersonalValue").''; + if (! empty($tmparray[$object->conf->MAIN_LANDING_PAGE])) + { + print $langs->trans($tmparray[$object->conf->MAIN_LANDING_PAGE]); + } + else print $object->conf->MAIN_LANDING_PAGE; + //print $form->selectarray('MAIN_LANDING_PAGE', $tmparray, (! empty($object->conf->MAIN_LANDING_PAGE)?$object->conf->MAIN_LANDING_PAGE:''), 0, 0, 0, '', 1); + print '
'.$langs->trans("Language").''; @@ -274,7 +330,7 @@ else print ($s?$s.' ':''); print (isset($conf->global->MAIN_LANG_DEFAULT) && $conf->global->MAIN_LANG_DEFAULT=='auto'?$langs->trans("AutoDetectLang"):$langs->trans("Language_".$conf->global->MAIN_LANG_DEFAULT)); print 'conf->MAIN_LANG_DEFAULT)?" checked":"").'> '.$langs->trans("UsePersonalValue").'conf->MAIN_LANG_DEFAULT)?" checked":"").'> '.$langs->trans("UsePersonalValue").''; $s=(isset($object->conf->MAIN_LANG_DEFAULT) ? picto_from_langcode($object->conf->MAIN_LANG_DEFAULT) : ''); print ($s?$s.' ':''); From ae0b90d61e7352a1990d15198afc09027fae4777 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 26 Jul 2016 21:25:12 +0200 Subject: [PATCH 090/476] Fix doxygen --- htdocs/projet/ganttchart.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/projet/ganttchart.inc.php b/htdocs/projet/ganttchart.inc.php index 487ff281c8c..f60ada41bb1 100644 --- a/htdocs/projet/ganttchart.inc.php +++ b/htdocs/projet/ganttchart.inc.php @@ -132,7 +132,7 @@ else * Add a gant chart line * * @param string $tarr tarr - * @param array $task Task object + * @param array $task Array with properties of one task * @param Project $project_dependencies Project object * @param int $level Level * @param int $project_id Id of project From 7eed738fce05f77b01a1f430d6d8d06d9109cd3c Mon Sep 17 00:00:00 2001 From: Sergio Sanchis Climent Date: Tue, 26 Jul 2016 21:53:03 +0200 Subject: [PATCH 091/476] Fix: Accessing Direct Printing Jobs clears left menu --- htdocs/core/modules/modPrinting.class.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/htdocs/core/modules/modPrinting.class.php b/htdocs/core/modules/modPrinting.class.php index 0e5965b8793..4a228488947 100644 --- a/htdocs/core/modules/modPrinting.class.php +++ b/htdocs/core/modules/modPrinting.class.php @@ -108,8 +108,7 @@ class modPrinting extends DolibarrModules $this->menu[$r]=array( 'fk_menu'=>'fk_mainmenu=home,fk_leftmenu=admintools', // Put 0 if this is a top menu 'type'=>'left', // This is a Top menu entry 'titre'=>'MenuDirectPrinting', - 'mainmenu'=>'printing', - 'url'=>'/printing/index.php', + 'url'=>'/printing/index.php?mainmenu=home&leftmenu=admintools', 'langs'=>'printing', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. 'position'=>300, 'enabled'=>'$conf->printing->enabled && $leftmenu==\'admintools\'', From c9fa12a8f9694f98001bb8102dc3b3a9493e94ce Mon Sep 17 00:00:00 2001 From: Sergio Sanchis Climent Date: Tue, 26 Jul 2016 22:09:06 +0200 Subject: [PATCH 092/476] PHP7 Warning on barcode module's configuration page --- htdocs/core/modules/barcode/mod_barcode_product_standard.php | 2 +- htdocs/core/modules/barcode/modules_barcode.class.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/core/modules/barcode/mod_barcode_product_standard.php b/htdocs/core/modules/barcode/mod_barcode_product_standard.php index aeb7ea4cd8f..8db0d2001cd 100644 --- a/htdocs/core/modules/barcode/mod_barcode_product_standard.php +++ b/htdocs/core/modules/barcode/mod_barcode_product_standard.php @@ -130,7 +130,7 @@ class mod_barcode_product_standard extends ModeleNumRefBarCode * @param string $type type of barcode (EAN, ISBN, ...) * @return string Value if OK, '' if module not configured, <0 if KO */ - function getNextValue($objproduct,$type='') + function getNextValue($objproduct=null,$type='') { global $db,$conf; diff --git a/htdocs/core/modules/barcode/modules_barcode.class.php b/htdocs/core/modules/barcode/modules_barcode.class.php index d03302f36b7..00f5fb967f7 100644 --- a/htdocs/core/modules/barcode/modules_barcode.class.php +++ b/htdocs/core/modules/barcode/modules_barcode.class.php @@ -91,7 +91,7 @@ abstract class ModeleNumRefBarCode * @param int $type Type * @return string Value */ - function getNextValue($objsoc=0,$type=-1) + function getNextValue($objsoc=null,$type=-1) { global $langs; return $langs->trans("Function_getNextValue_InModuleNotWorking"); From 3b5772754212d3eb5f635e1eda3052dcbc2e2605 Mon Sep 17 00:00:00 2001 From: Sergio Sanchis Climent Date: Tue, 26 Jul 2016 22:22:55 +0200 Subject: [PATCH 093/476] PHP7 warnings on project module's configuration page --- .../core/class/commondocgenerator.class.php | 2 +- .../doc/doc_generic_project_odt.modules.php | 27 ++++++++++--------- .../task/doc/doc_generic_task_odt.modules.php | 27 ++++++++++--------- 3 files changed, 29 insertions(+), 27 deletions(-) diff --git a/htdocs/core/class/commondocgenerator.class.php b/htdocs/core/class/commondocgenerator.class.php index b8aa683097f..a9f764903df 100644 --- a/htdocs/core/class/commondocgenerator.class.php +++ b/htdocs/core/class/commondocgenerator.class.php @@ -322,7 +322,7 @@ abstract class CommonDocGenerator * * @param Object $object Main object to use as data source * @param Translate $outputlangs Lang object to use for output - * @param array_key $array_key Name of the key for return array + * @param string $array_key Name of the key for return array * @return array Array of substitution */ function get_substitutionarray_object($object,$outputlangs,$array_key='object') diff --git a/htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php b/htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php index dfdc17b81ce..2a236e6d62c 100644 --- a/htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php +++ b/htdocs/core/modules/project/doc/doc_generic_project_odt.modules.php @@ -108,25 +108,26 @@ class doc_generic_project_odt extends ModelePDFProjects * * @param Project $object Main object to use as data source * @param Translate $outputlangs Lang object to use for output + * @param string $array_key Name of the key for return array * @return array Array of substitution */ - function get_substitutionarray_object($object,$outputlangs) + function get_substitutionarray_object($object,$outputlangs,$array_key='object') { global $conf; $resarray=array( - 'object_id'=>$object->id, - 'object_ref'=>$object->ref, - 'object_title'=>$object->title, - 'object_description'=>$object->description, - 'object_date_creation'=>dol_print_date($object->date_c,'day'), - 'object_date_modification'=>dol_print_date($object->date_m,'day'), - 'object_date_start'=>dol_print_date($object->date_start,'day'), - 'object_date_end'=>dol_print_date($object->date_end,'day'), - 'object_note_private'=>$object->note_private, - 'object_note_public'=>$object->note_public, - 'object_public'=>$object->public, - 'object_statut'=>$object->getLibStatut() + $array_key.'_id'=>$object->id, + $array_key.'_ref'=>$object->ref, + $array_key.'_title'=>$object->title, + $array_key.'_description'=>$object->description, + $array_key.'_date_creation'=>dol_print_date($object->date_c,'day'), + $array_key.'_date_modification'=>dol_print_date($object->date_m,'day'), + $array_key.'_date_start'=>dol_print_date($object->date_start,'day'), + $array_key.'_date_end'=>dol_print_date($object->date_end,'day'), + $array_key.'_note_private'=>$object->note_private, + $array_key.'_note_public'=>$object->note_public, + $array_key.'_public'=>$object->public, + $array_key.'_statut'=>$object->getLibStatut() ); // Retrieve extrafields diff --git a/htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php b/htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php index fb0d229f6b6..1dba105217d 100644 --- a/htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php +++ b/htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php @@ -109,25 +109,26 @@ class doc_generic_task_odt extends ModelePDFTask * * @param Project $object Main object to use as data source * @param Translate $outputlangs Lang object to use for output + * @param string $array_key Name of the key for return array * @return array Array of substitution */ - function get_substitutionarray_object($object,$outputlangs) + function get_substitutionarray_object($object,$outputlangs,$array_key='object') { global $conf; $resarray=array( - 'object_id'=>$object->id, - 'object_ref'=>$object->ref, - 'object_title'=>$object->title, - 'object_description'=>$object->description, - 'object_date_creation'=>dol_print_date($object->date_c,'day'), - 'object_date_modification'=>dol_print_date($object->date_m,'day'), - 'object_date_start'=>dol_print_date($object->date_start,'day'), - 'object_date_end'=>dol_print_date($object->date_end,'day'), - 'object_note_private'=>$object->note_private, - 'object_note_public'=>$object->note_public, - 'object_public'=>$object->public, - 'object_statut'=>$object->getLibStatut() + $array_key.'_id'=>$object->id, + $array_key.'_ref'=>$object->ref, + $array_key.'_title'=>$object->title, + $array_key.'_description'=>$object->description, + $array_key.'_date_creation'=>dol_print_date($object->date_c,'day'), + $array_key.'_date_modification'=>dol_print_date($object->date_m,'day'), + $array_key.'_date_start'=>dol_print_date($object->date_start,'day'), + $array_key.'_date_end'=>dol_print_date($object->date_end,'day'), + $array_key.'_note_private'=>$object->note_private, + $array_key.'_note_public'=>$object->note_public, + $array_key.'_public'=>$object->public, + $array_key.'_statut'=>$object->getLibStatut() ); // Retrieve extrafields From 227c6906a824a0404671a27e5375d8dd364db0f0 Mon Sep 17 00:00:00 2001 From: Sergio Sanchis Climent Date: Tue, 26 Jul 2016 23:26:29 +0200 Subject: [PATCH 094/476] FIX #5516 --- .../supplier_invoice/modules_facturefournisseur.php | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/htdocs/core/modules/supplier_invoice/modules_facturefournisseur.php b/htdocs/core/modules/supplier_invoice/modules_facturefournisseur.php index ba7acead6d1..aebc7aa008a 100644 --- a/htdocs/core/modules/supplier_invoice/modules_facturefournisseur.php +++ b/htdocs/core/modules/supplier_invoice/modules_facturefournisseur.php @@ -106,11 +106,14 @@ abstract class ModeleNumRefSuppliersInvoices return true; } - /** Returns next value assigned - * - * @return string Valeur - */ - function getNextValue() + /** Returns next value assigned + * + * @param Societe $objsoc Object third party + * @param Object $object Object + * @param string $mode 'next' for next value or 'last' for last value + * @return string Value if OK, 0 if KO + */ + function getNextValue($objsoc,$object,$mode) { global $langs; return $langs->trans("NotAvailable"); From 2e4bebbaf905364d2ec8e1b8ea31184e28abcc2b Mon Sep 17 00:00:00 2001 From: aspangaro Date: Wed, 27 Jul 2016 07:24:36 +0200 Subject: [PATCH 095/476] FIX Presentation correction --- htdocs/adherents/card.php | 8 ++++---- htdocs/adherents/card_subscriptions.php | 6 +++--- htdocs/comm/action/class/actioncomm.class.php | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/htdocs/adherents/card.php b/htdocs/adherents/card.php index ac09e1864b6..347052f86be 100644 --- a/htdocs/adherents/card.php +++ b/htdocs/adherents/card.php @@ -5,7 +5,7 @@ * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Marcos García * Copyright (C) 2012-2016 Philippe Grand - * Copyright (C) 2015 Alexandre Spangaro + * Copyright (C) 2015-2016 Alexandre Spangaro * * 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 @@ -1418,11 +1418,11 @@ else // Login if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) { - print '
'.$langs->trans("Login").' / '.$langs->trans("Id").''.$object->login.' 
'.$langs->trans("Login").' / '.$langs->trans("Id").''.$object->login.' 
'.$langs->trans("Type").''.$adht->getNomUrl(1)."
'.$langs->trans("Type").''.$adht->getNomUrl(1)."
'.$langs->trans("Nature").''.$object->getmorphylib().'
'; // Birthday - print ''; + print ''; // Public print ''; diff --git a/htdocs/adherents/card_subscriptions.php b/htdocs/adherents/card_subscriptions.php index 1299f2400dc..92331d2cc88 100644 --- a/htdocs/adherents/card_subscriptions.php +++ b/htdocs/adherents/card_subscriptions.php @@ -591,11 +591,11 @@ if ($rowid > 0) // Login if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) { - print ''; + print ''; } // Type - print '\n"; + print '\n"; // Morphy print ''; @@ -630,7 +630,7 @@ if ($rowid > 0) print '
'.$langs->trans("Birthday").''.dol_print_date($object->birth,'day').'
'.$langs->trans("Birthday").''.dol_print_date($object->birth,'day').'
'.$langs->trans("Public").''.yn($object->public).'
'.$langs->trans("Login").' / '.$langs->trans("Id").''.$object->login.' 
'.$langs->trans("Login").' / '.$langs->trans("Id").''.$object->login.' 
'.$langs->trans("Type").''.$adht->getNomUrl(1)."
'.$langs->trans("Type").''.$adht->getNomUrl(1)."
'.$langs->trans("Nature").''.$object->getmorphylib().'
'; // Birthday - print ''; + print ''; // Public print ''; diff --git a/htdocs/comm/action/class/actioncomm.class.php b/htdocs/comm/action/class/actioncomm.class.php index e759e93a635..375365eaf41 100644 --- a/htdocs/comm/action/class/actioncomm.class.php +++ b/htdocs/comm/action/class/actioncomm.class.php @@ -996,7 +996,7 @@ class ActionComm extends CommonObject } $this->date_creation = $this->db->jdate($obj->datec); - $this->date_modification = $this->db->jdate($obj->datem); + if (! empty($obj->fk_user_mod)) $this->date_modification = $this->db->jdate($obj->datem); } $this->db->free($result); } From 86e43402871e82346602542f1307ed0bcde9fe30 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Jul 2016 10:57:05 +0200 Subject: [PATCH 096/476] FIX: More robust autodetection of relative url to redirect to make install when conf file does not exists yet. --- htdocs/filefunc.inc.php | 44 +++++++++++++++++++++++++++++------------ 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/htdocs/filefunc.inc.php b/htdocs/filefunc.inc.php index 54053c26606..9009b0c89fe 100644 --- a/htdocs/filefunc.inc.php +++ b/htdocs/filefunc.inc.php @@ -87,19 +87,37 @@ $result=@include_once $conffile; // Keep @ because with some error reporting thi if (! $result && ! empty($_SERVER["GATEWAY_INTERFACE"])) // If install not done and we are in a web session { - // Note: If calling page was not into htdocs (index.php, ...), then this redirect will fails. - // There is no real solution, because the only way to know the apache url relative path is to have into conf file. - $TDir = explode('/', $_SERVER['PHP_SELF']); - $path = ''; - $i = count($TDir); - while ($i--) - { - if (empty($TDir[$i]) || $TDir[$i] == 'htdocs') break; - if (substr($TDir[$i], -4, 4) == '.php') continue; - - $path .= '../'; - } - + if (! empty($_SERVER["CONTEXT_PREFIX"])) // CONTEXT_PREFIX and CONTEXT_DOCUMENT_ROOT are not defined on all apache versions + { + $path=$_SERVER["CONTEXT_PREFIX"]; // example '/dolibarr/' when using an apache alias. + if (! preg_match('/\/$/', $path)) $path.='/'; + } + else if (preg_match('/index\.php', $_SERVER['PHP_SELF'])) + { + // When we ask index.php, we MUST BE SURE that $path is '' at the end. This is required to make install process + // when using apache alias like '/dolibarr/' that point to htdocs. + // Note: If calling page was an index.php not into htdocs (ie comm/index.php, ...), then this redirect will fails, + // but we don't want to change this because when URL is correct, we must be sure the redirect to install/index.php will be correct. + $path=''; + } + else + { + // If what we look is not index.php, we can try to guess location of root. May not work all the time. + // There is no real solution, because the only way to know the apache url relative path is to have it into conf file. + // If it fails to find correct $path, then only solution is to ask user to enter the correct URL to index.php or install/index.php + $TDir = explode('/', $_SERVER['PHP_SELF']); + $path = ''; + $i = count($TDir); + while ($i--) + { + if (empty($TDir[$i]) || $TDir[$i] == 'htdocs') break; + if ($TDir[$i] == 'dolibarr') break; + if (substr($TDir[$i], -4, 4) == '.php') continue; + + $path .= '../'; + } + } + header("Location: ".$path."install/index.php"); exit; } From 7dc01fc9c10546c510679d773a4a4eb3865b3c0b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Jul 2016 12:26:32 +0200 Subject: [PATCH 097/476] Fix hide this api --- htdocs/api/admin/explorer.php | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/api/admin/explorer.php b/htdocs/api/admin/explorer.php index 3f1394d3866..31c6a93cdf0 100644 --- a/htdocs/api/admin/explorer.php +++ b/htdocs/api/admin/explorer.php @@ -166,6 +166,7 @@ print $langs->trans("ListOfAvailableAPIs").':
'; foreach($listofapis['v1'] as $key => $val) { if ($key == 'login') continue; + if ($key == 'index') continue; if ($key) { From a147798f18f13d85d86bc11d801e8140317968bc Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Jul 2016 14:15:14 +0200 Subject: [PATCH 098/476] FIX Select new thirdparty --- htdocs/commande/card.php | 2 +- htdocs/contrat/card.php | 2 +- htdocs/fichinter/card.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/commande/card.php b/htdocs/commande/card.php index d91ee35fe3e..81f101359f8 100644 --- a/htdocs/commande/card.php +++ b/htdocs/commande/card.php @@ -1472,7 +1472,7 @@ if ($action == 'create' && $user->rights->commande->creer) print ''; } else { print '
'; } print ''."\n"; diff --git a/htdocs/fichinter/card.php b/htdocs/fichinter/card.php index 934d19fb320..7472906dc58 100644 --- a/htdocs/fichinter/card.php +++ b/htdocs/fichinter/card.php @@ -1060,7 +1060,7 @@ if ($action == 'create') print ''; print '
'.$langs->trans("Birthday").''.dol_print_date($object->birth,'day').'
'.$langs->trans("Birthday").''.dol_print_date($object->birth,'day').'
'.$langs->trans("Public").''.yn($object->public).'
'; - print $form->select_company('', 'socid', 's.client = 1 OR s.client = 3', 1); + print $form->select_company('', 'socid', 's.client = 1 OR s.client = 3', 'SelectThirdParty'); // reload page to retrieve customer informations if (!empty($conf->global->RELOAD_PAGE_ON_CUSTOMER_CHANGE)) { diff --git a/htdocs/contrat/card.php b/htdocs/contrat/card.php index 49f8130c5b4..5a9c8a267ea 100644 --- a/htdocs/contrat/card.php +++ b/htdocs/contrat/card.php @@ -1117,7 +1117,7 @@ if ($action == 'create') else { print ''; - print $form->select_company('','socid','',1,1); + print $form->select_company('','socid','','SelectThirdParty',1); print '
'; print ''; print '
'.$langs->trans("ThirdParty").''; - print $form->select_company('','socid','',1,1); + print $form->select_company('','socid','','SelectThirdParty',1); print '
'; From e4f51b7f32781c614454b719fc03159f8db63051 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Jul 2016 14:15:14 +0200 Subject: [PATCH 099/476] FIX Select new thirdparty --- htdocs/commande/card.php | 2 +- htdocs/contrat/card.php | 2 +- htdocs/fichinter/card.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/commande/card.php b/htdocs/commande/card.php index d91ee35fe3e..81f101359f8 100644 --- a/htdocs/commande/card.php +++ b/htdocs/commande/card.php @@ -1472,7 +1472,7 @@ if ($action == 'create' && $user->rights->commande->creer) print ''; } else { print ''; - print $form->select_company('', 'socid', 's.client = 1 OR s.client = 3', 1); + print $form->select_company('', 'socid', 's.client = 1 OR s.client = 3', 'SelectThirdParty'); // reload page to retrieve customer informations if (!empty($conf->global->RELOAD_PAGE_ON_CUSTOMER_CHANGE)) { diff --git a/htdocs/contrat/card.php b/htdocs/contrat/card.php index 49f8130c5b4..5a9c8a267ea 100644 --- a/htdocs/contrat/card.php +++ b/htdocs/contrat/card.php @@ -1117,7 +1117,7 @@ if ($action == 'create') else { print ''; - print $form->select_company('','socid','',1,1); + print $form->select_company('','socid','','SelectThirdParty',1); print ''; } print ''."\n"; diff --git a/htdocs/fichinter/card.php b/htdocs/fichinter/card.php index 2a4ec4337f2..3f266f71de4 100644 --- a/htdocs/fichinter/card.php +++ b/htdocs/fichinter/card.php @@ -1046,7 +1046,7 @@ if ($action == 'create') print ''; print ''; print ''; print '
'.$langs->trans("ThirdParty").''; - print $form->select_company('','socid','',1,1); + print $form->select_company('','socid','','SelectThirdParty',1); print '
'; From f71b5d0605e3d5103b3eed83058774d661f74020 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Jul 2016 14:19:13 +0200 Subject: [PATCH 100/476] FIX #5524 --- htdocs/adherents/stats/byproperties.php | 2 +- htdocs/adherents/stats/geo.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/adherents/stats/byproperties.php b/htdocs/adherents/stats/byproperties.php index 35ee0c6f6db..6b7c1c003a9 100644 --- a/htdocs/adherents/stats/byproperties.php +++ b/htdocs/adherents/stats/byproperties.php @@ -54,7 +54,7 @@ $langs->load("companies"); $memberstatic=new Adherent($db); -llxHeader('',$langs->trans("MembersStatisticsByProperties"),'','',0,0,array('http://www.google.com/jsapi')); +llxHeader('',$langs->trans("MembersStatisticsByProperties"),'','',0,0,array('https://www.google.com/jsapi')); $title=$langs->trans("MembersStatisticsByProperties"); diff --git a/htdocs/adherents/stats/geo.php b/htdocs/adherents/stats/geo.php index 85157dc824d..ae128d940e8 100644 --- a/htdocs/adherents/stats/geo.php +++ b/htdocs/adherents/stats/geo.php @@ -53,7 +53,7 @@ $langs->load("companies"); * View */ -$arrayjs=array('http://www.google.com/jsapi'); +$arrayjs=array('https://www.google.com/jsapi'); if (! empty($conf->dol_use_jmobile)) $arrayjs=array(); $title=$langs->trans("Statistics"); From eddac89badc20092bb80a00b46b01eaff1750abc Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Jul 2016 16:45:13 +0200 Subject: [PATCH 101/476] FIX Fatal error if curl not installed --- htdocs/admin/tools/update.php | 49 +++++++++++++++++++---------------- 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/htdocs/admin/tools/update.php b/htdocs/admin/tools/update.php index 45b20588121..e306862b67a 100644 --- a/htdocs/admin/tools/update.php +++ b/htdocs/admin/tools/update.php @@ -168,36 +168,39 @@ print load_fiche_titre($langs->trans("Upgrade"),'','title_setup'); print $langs->trans("CurrentVersion").' : '.DOL_VERSION.'
'; -$result = getURLContent('http://sourceforge.net/projects/dolibarr/rss'); -//var_dump($result['content']); -$sfurl = simplexml_load_string($result['content']); -if ($sfurl) +if (function_exists('curl_init')) { - $i=0; - $version='0.0'; - while (! empty($sfurl->channel[0]->item[$i]->title) && $i < 10000) + $result = getURLContent('http://sourceforge.net/projects/dolibarr/rss'); + //var_dump($result['content']); + $sfurl = simplexml_load_string($result['content']); + if ($sfurl) { - $title=$sfurl->channel[0]->item[$i]->title; - if (preg_match('/([0-9]+\.([0-9\.]+))/', $title, $reg)) + $i=0; + $version='0.0'; + while (! empty($sfurl->channel[0]->item[$i]->title) && $i < 10000) { - $newversion=$reg[1]; - $newversionarray=explode('.',$newversion); - $versionarray=explode('.',$version); - //var_dump($newversionarray);var_dump($versionarray); - if (versioncompare($newversionarray, $versionarray) > 0) $version=$newversion; + $title=$sfurl->channel[0]->item[$i]->title; + if (preg_match('/([0-9]+\.([0-9\.]+))/', $title, $reg)) + { + $newversion=$reg[1]; + $newversionarray=explode('.',$newversion); + $versionarray=explode('.',$version); + //var_dump($newversionarray);var_dump($versionarray); + if (versioncompare($newversionarray, $versionarray) > 0) $version=$newversion; + } + $i++; } - $i++; + + // Show version + print $langs->trans("LastStableVersion").' : '. (($version != '0.0')?$version:$langs->trans("Unknown")) .'
'; + } + else + { + print $langs->trans("LastStableVersion").' : ' .$langs->trans("UpdateServerOffline").'
'; } - - // Show version - print $langs->trans("LastStableVersion").' : '. (($version != '0.0')?$version:$langs->trans("Unknown")) .'
'; } -else -{ - print $langs->trans("LastStableVersion").' : ' .$langs->trans("UpdateServerOffline").'
'; -} -print '
'; +print '
'; // Upgrade print $langs->trans("Upgrade").'
'; From eb06f56164ebde04f7d7d3fb14a901b24602840c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Jul 2016 16:49:00 +0200 Subject: [PATCH 102/476] Fix bad version into error message --- htdocs/install/check.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/install/check.php b/htdocs/install/check.php index 9e21b994780..ec5596b4f1f 100644 --- a/htdocs/install/check.php +++ b/htdocs/install/check.php @@ -75,12 +75,12 @@ $arrayphpminversionerror = array(5,3,0); $arrayphpminversionwarning = array(5,3,0); if (versioncompare(versionphparray(),$arrayphpminversionerror) < 0) // Minimum to use (error if lower) { - print 'Error '.$langs->trans("ErrorPHPVersionTooLow",'5.2.3'); + print 'Error '.$langs->trans("ErrorPHPVersionTooLow", versiontostring($arrayphpminversionerror)); $checksok=0; // 0=error, 1=warning } else if (versioncompare(versionphparray(),$arrayphpminversionwarning) < 0) // Minimum supported (warning if lower) { - print 'Error '.$langs->trans("ErrorPHPVersionTooLow",'5.3.0'); + print 'Error '.$langs->trans("ErrorPHPVersionTooLow",versiontostring($arrayphpminversionwarning)); $checksok=0; // 0=error, 1=warning } else From e747c398090914c2f2839880cb22c8ab8dbd6d1e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Jul 2016 16:52:02 +0200 Subject: [PATCH 103/476] Add test on curl prerequisite. Remove test on GD lib. --- htdocs/install/check.php | 15 ++++++++++++++- htdocs/langs/en_US/install.lang | 2 ++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/htdocs/install/check.php b/htdocs/install/check.php index c2326d58486..e888c65cc28 100644 --- a/htdocs/install/check.php +++ b/htdocs/install/check.php @@ -123,7 +123,7 @@ else // Check if GD supported -if (! function_exists("imagecreate")) +/*if (! function_exists("imagecreate")) { $langs->load("errors"); print 'Error '.$langs->trans("ErrorPHPDoesNotSupportGD")."
\n"; @@ -132,6 +132,19 @@ if (! function_exists("imagecreate")) else { print 'Ok '.$langs->trans("PHPSupportGD")."
\n"; +}*/ + + +// Check if Curl supported +if (! function_exists("curl_init")) +{ + $langs->load("errors"); + print 'Error '.$langs->trans("ErrorPHPDoesNotSupportCurl")."
\n"; + // $checksok=0; // If image ko, just warning. So check must still be 1 (otherwise no way to install) +} +else +{ + print 'Ok '.$langs->trans("PHPSupportCurl")."
\n"; } diff --git a/htdocs/langs/en_US/install.lang b/htdocs/langs/en_US/install.lang index 07ebb17e8fe..69711cb77cc 100644 --- a/htdocs/langs/en_US/install.lang +++ b/htdocs/langs/en_US/install.lang @@ -11,12 +11,14 @@ PHPSupportSessions=This PHP supports sessions. PHPSupportPOSTGETOk=This PHP supports variables POST and GET. PHPSupportPOSTGETKo=It's possible your PHP setup does not support variables POST and/or GET. Check your parameter variables_order in php.ini. PHPSupportGD=This PHP support GD graphical functions. +PHPSupportCurl=This PHP support Curl. PHPSupportUTF8=This PHP support UTF8 functions. PHPMemoryOK=Your PHP max session memory is set to %s. This should be enough. PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This should be too low. Change your php.ini to set memory_limit parameter to at least %s bytes. Recheck=Click here for a more significative test ErrorPHPDoesNotSupportSessions=Your PHP installation does not support sessions. This feature is required to make Dolibarr working. Check your PHP setup. ErrorPHPDoesNotSupportGD=Your PHP installation does not support graphical function GD. No graph will be available. +ErrorPHPDoesNotSupportCurl=Your PHP installation does not support Curl. ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr can't work correctly. Solve this before installing Dolibarr. ErrorDirDoesNotExists=Directory %s does not exist. ErrorGoBackAndCorrectParameters=Go backward and correct wrong parameters. From 4d1885eb5984c0d64ebd8ae1c53e64e0e18fdcdd Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Jul 2016 17:00:14 +0200 Subject: [PATCH 104/476] Fix: restore logout and logged translation key --- dev/translation/sanity_check_en_langfiles.php | 2 +- htdocs/core/triggers/interface_20_all_Logevents.class.php | 4 +++- htdocs/langs/en_US/ldap.lang | 1 + htdocs/langs/en_US/users.lang | 2 ++ 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/dev/translation/sanity_check_en_langfiles.php b/dev/translation/sanity_check_en_langfiles.php index d947dc846c9..6a4a92454f8 100755 --- a/dev/translation/sanity_check_en_langfiles.php +++ b/dev/translation/sanity_check_en_langfiles.php @@ -343,7 +343,7 @@ if ((! empty($_REQUEST['unused']) && $_REQUEST['unused'] == 'true') || (isset($a } //$search = '\'trans("'.$value.'")\''; - $search = '-e "\''.$value.'\'" -e \'"'.$value.'"\' -e "('.$value.')"'; + $search = '-e "\''.$value.'\'" -e \'"'.$value.'"\' -e "('.$value.')" -e "('.$value.',"'; $string = 'grep -R -m 1 -F --exclude=includes/* --include=*.php '.$search.' '.$htdocs.'* '.$scripts.'*'; //print $string."
\n"; exec($string,$output); diff --git a/htdocs/core/triggers/interface_20_all_Logevents.class.php b/htdocs/core/triggers/interface_20_all_Logevents.class.php index 34bd187adbf..431bc1bff7c 100644 --- a/htdocs/core/triggers/interface_20_all_Logevents.class.php +++ b/htdocs/core/triggers/interface_20_all_Logevents.class.php @@ -63,7 +63,8 @@ class InterfaceLogevents extends DolibarrTriggers if ($action == 'USER_LOGIN') { dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); - + + $langs->load("users"); // Initialisation donnees (date,duree,texte,desc) $text="(UserLogged,".$object->login.")"; $text.=(empty($object->trigger_mesg)?'':' - '.$object->trigger_mesg); @@ -82,6 +83,7 @@ class InterfaceLogevents extends DolibarrTriggers { dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); + $langs->load("users"); // Initialisation donnees (date,duree,texte,desc) $text="(UserLogoff,".$object->login.")"; $desc="(UserLogoff,".$object->login.")"; diff --git a/htdocs/langs/en_US/ldap.lang b/htdocs/langs/en_US/ldap.lang index 23f0df862b9..0d8c0e038de 100644 --- a/htdocs/langs/en_US/ldap.lang +++ b/htdocs/langs/en_US/ldap.lang @@ -15,6 +15,7 @@ LDAPFieldFirstSubscriptionDate=First subscription date LDAPFieldFirstSubscriptionAmount=First subscription amount LDAPFieldLastSubscriptionDate=Last subscription date LDAPFieldLastSubscriptionAmount=Last subscription amount +LDAPFieldSkype=Skype id UserSynchronized=User synchronized GroupSynchronized=Group synchronized MemberSynchronized=Member synchronized diff --git a/htdocs/langs/en_US/users.lang b/htdocs/langs/en_US/users.lang index a8447504235..a723053fa43 100644 --- a/htdocs/langs/en_US/users.lang +++ b/htdocs/langs/en_US/users.lang @@ -100,3 +100,5 @@ WeeklyHours=Weekly hours ColorUser=Color of the user DisabledInMonoUserMode=Disabled in maintenance mode UserAccountancyCode=User accountancy code +UserLogoff=User logout +UserLogged=User logged \ No newline at end of file From 3b1d6818b818c78b34225e2e6e30999d8996782c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Jul 2016 17:26:04 +0200 Subject: [PATCH 105/476] Update ldap translation --- htdocs/admin/ldap.php | 2 +- htdocs/langs/en_US/admin.lang | 2 +- htdocs/langs/en_US/ldap.lang | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/htdocs/admin/ldap.php b/htdocs/admin/ldap.php index 92c4d20670b..5c1b0fcad11 100644 --- a/htdocs/admin/ldap.php +++ b/htdocs/admin/ldap.php @@ -237,7 +237,7 @@ else { print ''; } -print 'secret'; +print ''.$langs->trans('Password').' (ex: secret)'; print ''; diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index b2713062307..07f96066d82 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -1167,7 +1167,7 @@ LDAPServerUseTLS=Use TLS LDAPServerUseTLSExample=Your LDAP server use TLS LDAPServerDn=Server DN LDAPAdminDn=Administrator DN -LDAPAdminDnExample=Complete DN (ex: cn=admin,dc=example,dc=com) +LDAPAdminDnExample=Complete DN (ex: cn=admin,dc=example,dc=com or cn=Administrator,cn=Users,dc=example,dc=com for active directory) LDAPPassword=Administrator password LDAPUserDn=Users' DN LDAPUserDnExample=Complete DN (ex: ou=users,dc=example,dc=com) diff --git a/htdocs/langs/en_US/ldap.lang b/htdocs/langs/en_US/ldap.lang index 0d8c0e038de..a17019d00fb 100644 --- a/htdocs/langs/en_US/ldap.lang +++ b/htdocs/langs/en_US/ldap.lang @@ -16,6 +16,7 @@ LDAPFieldFirstSubscriptionAmount=First subscription amount LDAPFieldLastSubscriptionDate=Last subscription date LDAPFieldLastSubscriptionAmount=Last subscription amount LDAPFieldSkype=Skype id +LDAPFieldSkypeExample=Example : skypeName UserSynchronized=User synchronized GroupSynchronized=Group synchronized MemberSynchronized=Member synchronized From 38471f16702bb635a6666d087752b1e118267df0 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Jul 2016 17:29:27 +0200 Subject: [PATCH 106/476] Fix: use reposition --- htdocs/user/group/perms.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/user/group/perms.php b/htdocs/user/group/perms.php index fa8e31e71a1..50b1bc56c5e 100644 --- a/htdocs/user/group/perms.php +++ b/htdocs/user/group/perms.php @@ -299,7 +299,7 @@ if ($id) // Own permission by group if ($caneditperms) { - print ''.img_edit_remove($langs->trans("Remove")).''; + print ''.img_edit_remove($langs->trans("Remove")).''; } print ''; print img_picto($langs->trans("Active"),'tick'); @@ -310,7 +310,7 @@ if ($id) // Do not own permission if ($caneditperms) { - print ''.img_edit_add($langs->trans("Add")).''; + print ''.img_edit_add($langs->trans("Add")).''; } print ' '; } From 5fa8a6c311f03d20daf8a3ea405425cd3a50142b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Jul 2016 17:40:19 +0200 Subject: [PATCH 107/476] Fix to avoid pb of performances --- htdocs/core/boxes/box_goodcustomers.php | 1 + htdocs/core/menus/standard/eldy.lib.php | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/htdocs/core/boxes/box_goodcustomers.php b/htdocs/core/boxes/box_goodcustomers.php index 56aa9097ac2..0462ca38299 100644 --- a/htdocs/core/boxes/box_goodcustomers.php +++ b/htdocs/core/boxes/box_goodcustomers.php @@ -59,6 +59,7 @@ class box_goodcustomers extends ModeleBoxes // disable box for such cases if (! empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) $this->enabled=0; // disabled by this option + if (empty($conf->global->MAIN_BOX_ENABLE_BEST_CUSTOMERS)) $this->enabled=0; // not enabled by default. Very slow on large database } /** diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php index 41a556c6a30..948c3a440f1 100644 --- a/htdocs/core/menus/standard/eldy.lib.php +++ b/htdocs/core/menus/standard/eldy.lib.php @@ -527,7 +527,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu $newmenu->add("/admin/menus.php?mainmenu=home", $langs->trans("Menus"),1); $newmenu->add("/admin/ihm.php?mainmenu=home", $langs->trans("GUISetup"),1); - $newmenu->add("/admin/translation.php", $langs->trans("Translation"),1); + $newmenu->add("/admin/translation.php?mainmenu=home", $langs->trans("Translation"),1); $newmenu->add("/admin/boxes.php?mainmenu=home", $langs->trans("Boxes"),1); $newmenu->add("/admin/delais.php?mainmenu=home",$langs->trans("Alerts"),1); $newmenu->add("/admin/security_other.php?mainmenu=home", $langs->trans("Security"),1); From 58faf94dfc4b46ebfd164af6726f2044a40ff6b5 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Jul 2016 17:41:21 +0200 Subject: [PATCH 108/476] Fix doxygen --- htdocs/core/boxes/box_goodcustomers.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/core/boxes/box_goodcustomers.php b/htdocs/core/boxes/box_goodcustomers.php index 0462ca38299..552ed92b8a3 100644 --- a/htdocs/core/boxes/box_goodcustomers.php +++ b/htdocs/core/boxes/box_goodcustomers.php @@ -20,9 +20,9 @@ */ /** - * \file htdocs/core/boxes/box_clients.php + * \file htdocs/core/boxes/box_goodcustomers.php * \ingroup societes - * \brief Module de generation de l'affichage de la box clients + * \brief Module to generated widget of best customers (the most invoiced) */ include_once DOL_DOCUMENT_ROOT.'/core/boxes/modules_boxes.php'; From 12514d0f81d011bec761d4cf4d919af438ad392f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Jul 2016 17:50:38 +0200 Subject: [PATCH 109/476] FIX #5543 --- htdocs/societe/class/societe.class.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index 21bfed210fb..cebc1dd43f7 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -2741,8 +2741,9 @@ class Societe extends CommonObject { if (! empty($conf->global->MAIN_DISABLEPROFIDRULES)) return ''; + // TODO Move links to validate professional ID into a dictionary table "country" + "link" if ($idprof == 1 && $thirdparty->country_code == 'FR') $url='http://www.societe.com/cgi-bin/search?champs='.$thirdparty->idprof1; // See also http://avis-situation-sirene.insee.fr/ - if ($idprof == 1 && ($thirdparty->country_code == 'GB' || $thirdparty->country_code == 'UK')) $url='http://www.companieshouse.gov.uk/WebCHeck/findinfolink/'; + //if ($idprof == 1 && ($thirdparty->country_code == 'GB' || $thirdparty->country_code == 'UK')) $url='http://www.companieshouse.gov.uk/WebCHeck/findinfolink/'; // Link no more valid if ($idprof == 1 && $thirdparty->country_code == 'ES') $url='http://www.e-informa.es/servlet/app/portal/ENTP/screen/SProducto/prod/ETIQUETA_EMPRESA/nif/'.$thirdparty->idprof1; if ($idprof == 1 && $thirdparty->country_code == 'IN') $url='http://www.tinxsys.com/TinxsysInternetWeb/dealerControllerServlet?tinNumber='.$thirdparty->idprof1.';&searchBy=TIN&backPage=searchByTin_Inter.jsp'; From 799226728db8a2926814a7430626dfdfea4c07c9 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Jul 2016 18:05:44 +0200 Subject: [PATCH 110/476] Fix default rule for margin is choice 3: so cost price, then pmp if not defined, then bestu supplier price if not defined --- htdocs/core/modules/modMargin.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/modules/modMargin.class.php b/htdocs/core/modules/modMargin.class.php index b2bc41220c3..300911c7877 100644 --- a/htdocs/core/modules/modMargin.class.php +++ b/htdocs/core/modules/modMargin.class.php @@ -81,7 +81,7 @@ class modMargin extends DolibarrModules // Example: $this->const=array(0=>array('MYMODULE_MYNEWCONST1','chaine','myvalue','This is a constant to add',1), // 1=>array('MYMODULE_MYNEWCONST2','chaine','myvalue','This is another constant to add',0, 'current', 1) // ); - $this->const = array(0=>array('MARGIN_TYPE','chaine','1','Rule for margin calculation by default',0,'current',0)); // List of particular constants to add when module is enabled + $this->const = array(0=>array('MARGIN_TYPE','chaine','costprice','Rule for margin calculation by default',0,'current',0)); // List of particular constants to add when module is enabled // New pages on tabs $this->tabs = array( From 968827172d933343969ec3cb5db8e3a7880aa805 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Jul 2016 18:49:34 +0200 Subject: [PATCH 111/476] FIX #5534 --- htdocs/core/js/lib_head.js.php | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/htdocs/core/js/lib_head.js.php b/htdocs/core/js/lib_head.js.php index 4d02acc9925..0baea91412f 100644 --- a/htdocs/core/js/lib_head.js.php +++ b/htdocs/core/js/lib_head.js.php @@ -1012,6 +1012,9 @@ function getParameterByName(name, valueifnotfound) } })(); +// Another solution, easier, to build a javascript rounding function +function dolroundjs(number, decimals) { return +(Math.round(number + "e+" + decimals) + "e-" + decimals); } + /** * Function similar to PHP price2num() @@ -1024,7 +1027,7 @@ function price2numjs(amount) { if (amount == '') return ''; transnoentitiesnoconv("SeparatorDecimal") != "SeparatorDecimal") { $dec = $langs->transnoentitiesnoconv("SeparatorDecimal"); @@ -1032,6 +1035,7 @@ function price2numjs(amount) { if ($langs->transnoentitiesnoconv("SeparatorThousand") != "SeparatorThousand") { $thousand = $langs->transnoentitiesnoconv("SeparatorThousand"); } + if ($thousand == 'Space') $thousand=' '; print "var dec='" . dol_escape_js($dec) . "'; var thousand='" . dol_escape_js($thousand) . "';\n"; // Set var in javascript ?> @@ -1050,11 +1054,15 @@ function price2numjs(amount) { if (nbdec > rounding) rounding = nbdec; // If rounding higher than max shown if (rounding > main_max_dec_shown) rounding = main_max_dec_shown; - if (thousand != ',' && thousand != '.') amount = amount.replace(',', '.'); amount = amount.replace(' ', ''); // To avoid spaces amount = amount.replace(thousand, ''); // Replace of thousand before replace of dec to avoid pb if thousand is . amount = amount.replace(dec, '.'); - - return Math.round10(amount, rounding); + //console.log("amount before="+amount+" rouding="+rounding) + var res = Math.round10(amount, - rounding); + // Other solution is + // var res = dolroundjs(amount, rounding) + console.log("res="+res) + return res; } + From 0e79cae9d4dae156148e81d9ea5b7c9f7cc18eef Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Jul 2016 18:49:34 +0200 Subject: [PATCH 112/476] FIX #5534 --- htdocs/core/js/lib_head.js.php | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/htdocs/core/js/lib_head.js.php b/htdocs/core/js/lib_head.js.php index 4d02acc9925..0baea91412f 100644 --- a/htdocs/core/js/lib_head.js.php +++ b/htdocs/core/js/lib_head.js.php @@ -1012,6 +1012,9 @@ function getParameterByName(name, valueifnotfound) } })(); +// Another solution, easier, to build a javascript rounding function +function dolroundjs(number, decimals) { return +(Math.round(number + "e+" + decimals) + "e-" + decimals); } + /** * Function similar to PHP price2num() @@ -1024,7 +1027,7 @@ function price2numjs(amount) { if (amount == '') return ''; transnoentitiesnoconv("SeparatorDecimal") != "SeparatorDecimal") { $dec = $langs->transnoentitiesnoconv("SeparatorDecimal"); @@ -1032,6 +1035,7 @@ function price2numjs(amount) { if ($langs->transnoentitiesnoconv("SeparatorThousand") != "SeparatorThousand") { $thousand = $langs->transnoentitiesnoconv("SeparatorThousand"); } + if ($thousand == 'Space') $thousand=' '; print "var dec='" . dol_escape_js($dec) . "'; var thousand='" . dol_escape_js($thousand) . "';\n"; // Set var in javascript ?> @@ -1050,11 +1054,15 @@ function price2numjs(amount) { if (nbdec > rounding) rounding = nbdec; // If rounding higher than max shown if (rounding > main_max_dec_shown) rounding = main_max_dec_shown; - if (thousand != ',' && thousand != '.') amount = amount.replace(',', '.'); amount = amount.replace(' ', ''); // To avoid spaces amount = amount.replace(thousand, ''); // Replace of thousand before replace of dec to avoid pb if thousand is . amount = amount.replace(dec, '.'); - - return Math.round10(amount, rounding); + //console.log("amount before="+amount+" rouding="+rounding) + var res = Math.round10(amount, - rounding); + // Other solution is + // var res = dolroundjs(amount, rounding) + console.log("res="+res) + return res; } + From 7e37cbb9e37117fdf689a2d31655afbce9c46945 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Jul 2016 19:16:21 +0200 Subject: [PATCH 113/476] Fix resource module can't work because mandatory data not available. --- htdocs/core/menus/init_menu_auguria.sql | 2 +- .../mysql/data/llx_c_type_resource.sql | 35 +++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 htdocs/install/mysql/data/llx_c_type_resource.sql diff --git a/htdocs/core/menus/init_menu_auguria.sql b/htdocs/core/menus/init_menu_auguria.sql index 39a8241b465..75962241d5b 100644 --- a/htdocs/core/menus/init_menu_auguria.sql +++ b/htdocs/core/menus/init_menu_auguria.sql @@ -15,7 +15,7 @@ insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, left insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('comptabilite|accounting|facture|don|tax|salaries|loan', '$conf->comptabilite->enabled || $conf->accounting->enabled || $conf->facture->enabled || $conf->don->enabled || $conf->tax->enabled || $conf->salaries->enabled || $conf->supplier_invoice->enabled || $conf->loan->enabled', 6__+MAX_llx_menu__, __HANDLER__, 'top', 'accountancy', '', 0, '/compta/index.php?mainmenu=accountancy&leftmenu=', 'MenuFinancial', -1, 'compta', '$user->rights->compta->resultat->lire || $user->rights->accounting->plancompte->lire || $user->rights->facture->lire|| $user->rights->don->lire || $user->rights->tax->charges->lire || $user->rights->salaries->read || $user->rights->loan->read', '', 2, 50, __ENTITY__); insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('banque|prelevement', '$conf->banque->enabled || $conf->prelevement->enabled', 14__+MAX_llx_menu__, __HANDLER__, 'top', 'bank', '', 0, '/compta/bank/index.php?mainmenu=bank&leftmenu=bank', 'MenuBankCash', -1, 'banks', '$user->rights->banque->lire || $user->rights->prelevement->bons->lire', '', 0, 60, __ENTITY__); insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('projet', '$conf->projet->enabled', 7__+MAX_llx_menu__, __HANDLER__, 'top', 'project', '', 0, '/projet/index.php?mainmenu=project&leftmenu=', 'Projects', -1, 'projects', '$user->rights->projet->lire', '', 2, 70, __ENTITY__); -insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('mailing|export|import|opensurvey', '$conf->mailing->enabled || $conf->export->enabled || $conf->import->enabled || $conf->opensurvey->enabled', 8__+MAX_llx_menu__, __HANDLER__, 'top', 'tools', '', 0, '/core/tools.php?mainmenu=tools&leftmenu=', 'Tools', -1, 'other', '$user->rights->mailing->lire || $user->rights->export->lire || $user->rights->import->run || $user->rights->opensurvey->read', '', 2, 90, __ENTITY__); +insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('mailing|export|import|opensurvey|resource', '$conf->mailing->enabled || $conf->export->enabled || $conf->import->enabled || $conf->opensurvey->enabled || $conf->resource->enabled', 8__+MAX_llx_menu__, __HANDLER__, 'top', 'tools', '', 0, '/core/tools.php?mainmenu=tools&leftmenu=', 'Tools', -1, 'other', '$user->rights->mailing->lire || $user->rights->export->lire || $user->rights->import->run || $user->rights->opensurvey->read || $user->rights->resource->read', '', 2, 90, __ENTITY__); insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('adherent', '$conf->adherent->enabled', 13__+MAX_llx_menu__, __HANDLER__, 'top', 'members', '', 0, '/adherents/index.php?mainmenu=members&leftmenu=', 'Members', -1, 'members', '$user->rights->adherent->lire', '', 2, 110, __ENTITY__); insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('hrm|holiday|deplacement|expensereport', '$conf->hrm->enabled || $conf->holiday->enabled || $conf->deplacement->enabled || $conf->expensereport->enabled', 15__+MAX_llx_menu__, __HANDLER__, 'top', 'hrm', '', 0, '/hrm/hrm.php?mainmenu=hrm&leftmenu=', 'HRM', -1, 'holiday', '$user->rights->hrm->employee->read || $user->rights->holiday->write || $user->rights->deplacement->lire || $user->rights->expensereport->lire', '', 0, 80, __ENTITY__); diff --git a/htdocs/install/mysql/data/llx_c_type_resource.sql b/htdocs/install/mysql/data/llx_c_type_resource.sql new file mode 100644 index 00000000000..8b7ca68ecf8 --- /dev/null +++ b/htdocs/install/mysql/data/llx_c_type_resource.sql @@ -0,0 +1,35 @@ +-- Copyright (C) 2001-2004 Rodolphe Quiedeville +-- Copyright (C) 2003 Jean-Louis Bergamo +-- Copyright (C) 2004-2009 Laurent Destailleur +-- Copyright (C) 2004 Benoit Mortier +-- Copyright (C) 2004 Guillaume Delecourt +-- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2007 Patrick Raguin +-- +-- 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 . +-- +-- + +-- +-- Ne pas placer de commentaire en fin de ligne, ce fichier est parsé lors +-- de l'install et tous les sigles '--' sont supprimés. +-- + +-- +-- Type resources +-- + +insert into llx_c_type_resource (code,label,active) values ('RES_ROOMS', 'Rooms', 1); +insert into llx_c_type_resource (code,label,active) values ('RES_CARS', 'Cars', 1); + From c242e53db6cc0306a109ab96b492c6a9b48e3e4c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Jul 2016 19:23:40 +0200 Subject: [PATCH 114/476] FIX #5523 --- htdocs/resource/add.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/resource/add.php b/htdocs/resource/add.php index cf13c79560f..70d1da95969 100644 --- a/htdocs/resource/add.php +++ b/htdocs/resource/add.php @@ -144,7 +144,7 @@ if (! $action) print ''; // Type - print ''.$langs->trans("ResourceType").''; + print ''.$langs->trans("ResourceType").''; print ''; $ret = $formresource->select_types_resource($object->fk_code_type_resource, 'fk_code_type_resource', '', 2, 1); print ''; @@ -157,7 +157,7 @@ if (! $action) print ''; print ''; require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; - $doleditor = new DolEditor($field, $$field, 160, '', '', false); + $doleditor = new DolEditor('description', $description, '', '200', 'dolibarr_notes', false); $doleditor->Create(); print ''; print ''; From 972baa34e748ed9d0c1836b5ab47b2a5d8d6d81c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Jul 2016 19:36:17 +0200 Subject: [PATCH 115/476] FIX #5512 --- htdocs/printing/index.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/htdocs/printing/index.php b/htdocs/printing/index.php index f788b89bfdb..4fd21e6abc6 100644 --- a/htdocs/printing/index.php +++ b/htdocs/printing/index.php @@ -1,5 +1,6 @@ + * Copyright (C) 2016 Laurent Destailleur * * 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 @@ -24,6 +25,20 @@ require '../main.inc.php'; include_once DOL_DOCUMENT_ROOT.'/core/modules/printing/modules_printing.php'; +$langs->load("printing"); + + +/* + * Actions + */ + +// None + + +/* + * View + */ + llxHeader("",$langs->trans("Printing")); print_barre_liste($langs->trans("Printing"), 0, $_SERVER["PHP_SELF"], '', '', '', ''.$langs->trans("Refresh").'', 0, 0, 'title_setup.png'); From 889b15689bc889470e28cb4c0d1408ad33a9a981 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Jul 2016 19:42:09 +0200 Subject: [PATCH 116/476] FIX #5510 --- htdocs/core/modules/modCron.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/modules/modCron.class.php b/htdocs/core/modules/modCron.class.php index 22e66431e4e..49a857b3562 100644 --- a/htdocs/core/modules/modCron.class.php +++ b/htdocs/core/modules/modCron.class.php @@ -135,7 +135,7 @@ class modCron extends DolibarrModules $this->menu[$r]=array( 'fk_menu'=>'fk_mainmenu=home,fk_leftmenu=admintools', // Use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode 'type'=>'left', // This is a Left menu entry 'titre'=>'CronList', - 'url'=>'/cron/list.php?status=-2', + 'url'=>'/cron/list.php?status=-2&leftmenu=admintools', 'langs'=>'cron', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. 'position'=>200, 'enabled'=>'$leftmenu==\'admintools\'', // 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. From 2a28d77eeb5d7fee611ca2edd26f646922bd0820 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Jul 2016 19:53:16 +0200 Subject: [PATCH 117/476] FIX #5465 - Fix type account_parent --- htdocs/install/mysql/data/llx_accounting.sql | 4306 ++++++++--------- .../tables/llx_accounting_account.key.sql | 4 +- .../mysql/tables/llx_accounting_account.sql | 2 +- 3 files changed, 2155 insertions(+), 2157 deletions(-) diff --git a/htdocs/install/mysql/data/llx_accounting.sql b/htdocs/install/mysql/data/llx_accounting.sql index 191cdee4712..16ceecfc4aa 100644 --- a/htdocs/install/mysql/data/llx_accounting.sql +++ b/htdocs/install/mysql/data/llx_accounting.sql @@ -36,115 +36,115 @@ delete from llx_accounting_system; INSERT INTO llx_accounting_system (rowid, pcg_version, label, active) VALUES (1,'PCG99-ABREGE', 'The simple accountancy french plan', 1); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 1,'PCG99-ABREGE','CAPIT', 'CAPITAL', '101', '1401', 'Capital', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 2,'PCG99-ABREGE','CAPIT', 'XXXXXX', '105', '1401', 'Ecarts de réévaluation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 3,'PCG99-ABREGE','CAPIT', 'XXXXXX', '1061', '1401', 'Réserve légale', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 4,'PCG99-ABREGE','CAPIT', 'XXXXXX', '1063', '1401', 'Réserves statutaires ou contractuelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 5,'PCG99-ABREGE','CAPIT', 'XXXXXX', '1064', '1401', 'Réserves réglementées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 6,'PCG99-ABREGE','CAPIT', 'XXXXXX', '1068', '1401', 'Autres réserves', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 7,'PCG99-ABREGE','CAPIT', 'XXXXXX', '108', '1401', 'Compte de l''exploitant', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 8,'PCG99-ABREGE','CAPIT', 'XXXXXX', '12', '1401', 'Résultat de l''exercice', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 9,'PCG99-ABREGE','CAPIT', 'XXXXXX', '145', '1401', 'Amortissements dérogatoires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 10,'PCG99-ABREGE','CAPIT', 'XXXXXX', '146', '1401', 'Provision spéciale de réévaluation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 11,'PCG99-ABREGE','CAPIT', 'XXXXXX', '147', '1401', 'Plus-values réinvesties', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 12,'PCG99-ABREGE','CAPIT', 'XXXXXX', '148', '1401', 'Autres provisions réglementées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 13,'PCG99-ABREGE','CAPIT', 'XXXXXX', '15', '1401', 'Provisions pour risques et charges', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 14,'PCG99-ABREGE','CAPIT', 'XXXXXX', '16', '1401', 'Emprunts et dettes assimilees', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 15,'PCG99-ABREGE','IMMO', 'XXXXXX', '20', '1402', 'Immobilisations incorporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 16,'PCG99-ABREGE','IMMO', 'XXXXXX', '201', '15', 'Frais d''établissement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 17,'PCG99-ABREGE','IMMO', 'XXXXXX', '206', '15', 'Droit au bail', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 18,'PCG99-ABREGE','IMMO', 'XXXXXX', '207', '15', 'Fonds commercial', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 19,'PCG99-ABREGE','IMMO', 'XXXXXX', '208', '15', 'Autres immobilisations incorporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 20,'PCG99-ABREGE','IMMO', 'XXXXXX', '21', '1402', 'Immobilisations corporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 21,'PCG99-ABREGE','IMMO', 'XXXXXX', '23', '1402', 'Immobilisations en cours', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 22,'PCG99-ABREGE','IMMO', 'XXXXXX', '27', '1402', 'Autres immobilisations financieres', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 23,'PCG99-ABREGE','IMMO', 'XXXXXX', '280', '1402', 'Amortissements des immobilisations incorporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 24,'PCG99-ABREGE','IMMO', 'XXXXXX', '281', '1402', 'Amortissements des immobilisations corporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 25,'PCG99-ABREGE','IMMO', 'XXXXXX', '290', '1402', 'Provisions pour dépréciation des immobilisations incorporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 26,'PCG99-ABREGE','IMMO', 'XXXXXX', '291', '1402', 'Provisions pour dépréciation des immobilisations corporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 27,'PCG99-ABREGE','IMMO', 'XXXXXX', '297', '1402', 'Provisions pour dépréciation des autres immobilisations financières', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 28,'PCG99-ABREGE','STOCK', 'XXXXXX', '31', '1403', 'Matieres premières', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 29,'PCG99-ABREGE','STOCK', 'XXXXXX', '32', '1403', 'Autres approvisionnements', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 30,'PCG99-ABREGE','STOCK', 'XXXXXX', '33', '1403', 'En-cours de production de biens', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 31,'PCG99-ABREGE','STOCK', 'XXXXXX', '34', '1403', 'En-cours de production de services', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 32,'PCG99-ABREGE','STOCK', 'XXXXXX', '35', '1403', 'Stocks de produits', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 33,'PCG99-ABREGE','STOCK', 'XXXXXX', '37', '1403', 'Stocks de marchandises', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 34,'PCG99-ABREGE','STOCK', 'XXXXXX', '391', '1403', 'Provisions pour dépréciation des matières premières', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 35,'PCG99-ABREGE','STOCK', 'XXXXXX', '392', '1403', 'Provisions pour dépréciation des autres approvisionnements', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 36,'PCG99-ABREGE','STOCK', 'XXXXXX', '393', '1403', 'Provisions pour dépréciation des en-cours de production de biens', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 37,'PCG99-ABREGE','STOCK', 'XXXXXX', '394', '1403', 'Provisions pour dépréciation des en-cours de production de services', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 38,'PCG99-ABREGE','STOCK', 'XXXXXX', '395', '1403', 'Provisions pour dépréciation des stocks de produits', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 39,'PCG99-ABREGE','STOCK', 'XXXXXX', '397', '1403', 'Provisions pour dépréciation des stocks de marchandises', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 40,'PCG99-ABREGE','TIERS', 'SUPPLIER','400', '1404', 'Fournisseurs et Comptes rattachés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 41,'PCG99-ABREGE','TIERS', 'XXXXXX', '409', '1404', 'Fournisseurs débiteurs', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 42,'PCG99-ABREGE','TIERS', 'CUSTOMER','410', '1404', 'Clients et Comptes rattachés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 43,'PCG99-ABREGE','TIERS', 'XXXXXX', '419', '1404', 'Clients créditeurs', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 44,'PCG99-ABREGE','TIERS', 'XXXXXX', '421', '1404', 'Personnel', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 45,'PCG99-ABREGE','TIERS', 'XXXXXX', '428', '1404', 'Personnel', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 46,'PCG99-ABREGE','TIERS', 'XXXXXX', '43', '1404', 'Sécurité sociale et autres organismes sociaux', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 47,'PCG99-ABREGE','TIERS', 'XXXXXX', '444', '1404', 'Etat - impôts sur bénéfice', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 48,'PCG99-ABREGE','TIERS', 'XXXXXX', '445', '1404', 'Etat - Taxes sur chiffre affaires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 49,'PCG99-ABREGE','TIERS', 'XXXXXX', '447', '1404', 'Autres impôts, taxes et versements assimilés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 50,'PCG99-ABREGE','TIERS', 'XXXXXX', '45', '1404', 'Groupe et associes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 51,'PCG99-ABREGE','TIERS', 'XXXXXX', '455', '50', 'Associés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 52,'PCG99-ABREGE','TIERS', 'XXXXXX', '46', '1404', 'Débiteurs divers et créditeurs divers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 53,'PCG99-ABREGE','TIERS', 'XXXXXX', '47', '1404', 'Comptes transitoires ou d''attente', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 54,'PCG99-ABREGE','TIERS', 'XXXXXX', '481', '1404', 'Charges à répartir sur plusieurs exercices', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 55,'PCG99-ABREGE','TIERS', 'XXXXXX', '486', '1404', 'Charges constatées d''avance', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 56,'PCG99-ABREGE','TIERS', 'XXXXXX', '487', '1404', 'Produits constatés d''avance', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 57,'PCG99-ABREGE','TIERS', 'XXXXXX', '491', '1404', 'Provisions pour dépréciation des comptes de clients', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 58,'PCG99-ABREGE','TIERS', 'XXXXXX', '496', '1404', 'Provisions pour dépréciation des comptes de débiteurs divers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 59,'PCG99-ABREGE','FINAN', 'XXXXXX', '50', '1405', 'Valeurs mobilières de placement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 60,'PCG99-ABREGE','FINAN', 'BANK', '51', '1405', 'Banques, établissements financiers et assimilés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 61,'PCG99-ABREGE','FINAN', 'CASH', '53', '1405', 'Caisse', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 62,'PCG99-ABREGE','FINAN', 'XXXXXX', '54', '1405', 'Régies d''avance et accréditifs', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 63,'PCG99-ABREGE','FINAN', 'XXXXXX', '58', '1405', 'Virements internes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 64,'PCG99-ABREGE','FINAN', 'XXXXXX', '590', '1405', 'Provisions pour dépréciation des valeurs mobilières de placement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 65,'PCG99-ABREGE','CHARGE','PRODUCT', '60', '1406', 'Achats', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 66,'PCG99-ABREGE','CHARGE','XXXXXX', '603', '65', 'Variations des stocks', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 67,'PCG99-ABREGE','CHARGE','SERVICE', '61', '1406', 'Services extérieurs', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 68,'PCG99-ABREGE','CHARGE','XXXXXX', '62', '1406', 'Autres services extérieurs', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 69,'PCG99-ABREGE','CHARGE','XXXXXX', '63', '1406', 'Impôts, taxes et versements assimiles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 70,'PCG99-ABREGE','CHARGE','XXXXXX', '641', '1406', 'Rémunérations du personnel', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 71,'PCG99-ABREGE','CHARGE','XXXXXX', '644', '1406', 'Rémunération du travail de l''exploitant', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 72,'PCG99-ABREGE','CHARGE','SOCIAL', '645', '1406', 'Charges de sécurité sociale et de prévoyance', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 73,'PCG99-ABREGE','CHARGE','XXXXXX', '646', '1406', 'Cotisations sociales personnelles de l''exploitant', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 74,'PCG99-ABREGE','CHARGE','XXXXXX', '65', '1406', 'Autres charges de gestion courante', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 75,'PCG99-ABREGE','CHARGE','XXXXXX', '66', '1406', 'Charges financières', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 76,'PCG99-ABREGE','CHARGE','XXXXXX', '67', '1406', 'Charges exceptionnelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 77,'PCG99-ABREGE','CHARGE','XXXXXX', '681', '1406', 'Dotations aux amortissements et aux provisions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 78,'PCG99-ABREGE','CHARGE','XXXXXX', '686', '1406', 'Dotations aux amortissements et aux provisions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 79,'PCG99-ABREGE','CHARGE','XXXXXX', '687', '1406', 'Dotations aux amortissements et aux provisions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 80,'PCG99-ABREGE','CHARGE','XXXXXX', '691', '1406', 'Participation des salariés aux résultats', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 81,'PCG99-ABREGE','CHARGE','XXXXXX', '695', '1406', 'Impôts sur les bénéfices', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 82,'PCG99-ABREGE','CHARGE','XXXXXX', '697', '1406', 'Imposition forfaitaire annuelle des sociétés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 83,'PCG99-ABREGE','CHARGE','XXXXXX', '699', '1406', 'Produits', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 84,'PCG99-ABREGE','PROD', 'PRODUCT', '701', '1407', 'Ventes de produits finis', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 85,'PCG99-ABREGE','PROD', 'SERVICE', '706', '1407', 'Prestations de services', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 86,'PCG99-ABREGE','PROD', 'PRODUCT', '707', '1407', 'Ventes de marchandises', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 87,'PCG99-ABREGE','PROD', 'PRODUCT', '708', '1407', 'Produits des activités annexes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 88,'PCG99-ABREGE','PROD', 'XXXXXX', '709', '1407', 'Rabais, remises et ristournes accordés par l''entreprise', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 89,'PCG99-ABREGE','PROD', 'XXXXXX', '713', '1407', 'Variation des stocks', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 90,'PCG99-ABREGE','PROD', 'XXXXXX', '72', '1407', 'Production immobilisée', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 91,'PCG99-ABREGE','PROD', 'XXXXXX', '73', '1407', 'Produits nets partiels sur opérations à long terme', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 92,'PCG99-ABREGE','PROD', 'XXXXXX', '74', '1407', 'Subventions d''exploitation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 93,'PCG99-ABREGE','PROD', 'XXXXXX', '75', '1407', 'Autres produits de gestion courante', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 94,'PCG99-ABREGE','PROD', 'XXXXXX', '753', '93', 'Jetons de présence et rémunérations d''administrateurs, gérants,...', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 95,'PCG99-ABREGE','PROD', 'XXXXXX', '754', '93', 'Ristournes perçues des coopératives', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 96,'PCG99-ABREGE','PROD', 'XXXXXX', '755', '93', 'Quotes-parts de résultat sur opérations faites en commun', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 97,'PCG99-ABREGE','PROD', 'XXXXXX', '76', '1407', 'Produits financiers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 98,'PCG99-ABREGE','PROD', 'XXXXXX', '77', '1407', 'Produits exceptionnels', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 99,'PCG99-ABREGE','PROD', 'XXXXXX', '781', '1407', 'Reprises sur amortissements et provisions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (100,'PCG99-ABREGE','PROD', 'XXXXXX', '786', '1407', 'Reprises sur provisions pour risques', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (101,'PCG99-ABREGE','PROD', 'XXXXXX', '787', '1407', 'Reprises sur provisions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (102,'PCG99-ABREGE','PROD', 'XXXXXX', '79', '1407', 'Transferts de charges', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1401,'PCG99-ABREGE','CAPIT', 'XXXXXX', '1', '0', 'Fonds propres, provisions pour risques et charges et dettes à plus d''un an', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1402,'PCG99-ABREGE','IMMO', 'XXXXXX', '2', '0', 'Frais d''établissement. Actifs immobilisés et créances à plus d''un an', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1403,'PCG99-ABREGE','STOCK', 'XXXXXX', '3', '0', 'Stock et commandes en cours d''exécution', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1404,'PCG99-ABREGE','TIERS', 'XXXXXX', '4', '0', 'Créances et dettes à un an au plus', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1405,'PCG99-ABREGE','FINAN', 'XXXXXX', '5', '0', 'Placement de trésorerie et de valeurs disponibles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1406,'PCG99-ABREGE','CHARGE','XXXXXX', '6', '0', 'Charges', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1407,'PCG99-ABREGE','PROD', 'XXXXXX', '7', '0', 'Produits', '1'); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 1,'PCG99-ABREGE','CAPIT', 'CAPITAL', '101', '1401', 'Capital', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 2,'PCG99-ABREGE','CAPIT', 'XXXXXX', '105', '1401', 'Ecarts de réévaluation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 3,'PCG99-ABREGE','CAPIT', 'XXXXXX', '1061', '1401', 'Réserve légale', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 4,'PCG99-ABREGE','CAPIT', 'XXXXXX', '1063', '1401', 'Réserves statutaires ou contractuelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 5,'PCG99-ABREGE','CAPIT', 'XXXXXX', '1064', '1401', 'Réserves réglementées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 6,'PCG99-ABREGE','CAPIT', 'XXXXXX', '1068', '1401', 'Autres réserves', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 7,'PCG99-ABREGE','CAPIT', 'XXXXXX', '108', '1401', 'Compte de l''exploitant', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 8,'PCG99-ABREGE','CAPIT', 'XXXXXX', '12', '1401', 'Résultat de l''exercice', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 9,'PCG99-ABREGE','CAPIT', 'XXXXXX', '145', '1401', 'Amortissements dérogatoires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 10,'PCG99-ABREGE','CAPIT', 'XXXXXX', '146', '1401', 'Provision spéciale de réévaluation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 11,'PCG99-ABREGE','CAPIT', 'XXXXXX', '147', '1401', 'Plus-values réinvesties', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 12,'PCG99-ABREGE','CAPIT', 'XXXXXX', '148', '1401', 'Autres provisions réglementées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 13,'PCG99-ABREGE','CAPIT', 'XXXXXX', '15', '1401', 'Provisions pour risques et charges', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 14,'PCG99-ABREGE','CAPIT', 'XXXXXX', '16', '1401', 'Emprunts et dettes assimilees', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 15,'PCG99-ABREGE','IMMO', 'XXXXXX', '20', '1402', 'Immobilisations incorporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 16,'PCG99-ABREGE','IMMO', 'XXXXXX', '201', '15', 'Frais d''établissement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 17,'PCG99-ABREGE','IMMO', 'XXXXXX', '206', '15', 'Droit au bail', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 18,'PCG99-ABREGE','IMMO', 'XXXXXX', '207', '15', 'Fonds commercial', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 19,'PCG99-ABREGE','IMMO', 'XXXXXX', '208', '15', 'Autres immobilisations incorporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 20,'PCG99-ABREGE','IMMO', 'XXXXXX', '21', '1402', 'Immobilisations corporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 21,'PCG99-ABREGE','IMMO', 'XXXXXX', '23', '1402', 'Immobilisations en cours', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 22,'PCG99-ABREGE','IMMO', 'XXXXXX', '27', '1402', 'Autres immobilisations financieres', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 23,'PCG99-ABREGE','IMMO', 'XXXXXX', '280', '1402', 'Amortissements des immobilisations incorporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 24,'PCG99-ABREGE','IMMO', 'XXXXXX', '281', '1402', 'Amortissements des immobilisations corporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 25,'PCG99-ABREGE','IMMO', 'XXXXXX', '290', '1402', 'Provisions pour dépréciation des immobilisations incorporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 26,'PCG99-ABREGE','IMMO', 'XXXXXX', '291', '1402', 'Provisions pour dépréciation des immobilisations corporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 27,'PCG99-ABREGE','IMMO', 'XXXXXX', '297', '1402', 'Provisions pour dépréciation des autres immobilisations financières', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 28,'PCG99-ABREGE','STOCK', 'XXXXXX', '31', '1403', 'Matieres premières', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 29,'PCG99-ABREGE','STOCK', 'XXXXXX', '32', '1403', 'Autres approvisionnements', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 30,'PCG99-ABREGE','STOCK', 'XXXXXX', '33', '1403', 'En-cours de production de biens', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 31,'PCG99-ABREGE','STOCK', 'XXXXXX', '34', '1403', 'En-cours de production de services', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 32,'PCG99-ABREGE','STOCK', 'XXXXXX', '35', '1403', 'Stocks de produits', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 33,'PCG99-ABREGE','STOCK', 'XXXXXX', '37', '1403', 'Stocks de marchandises', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 34,'PCG99-ABREGE','STOCK', 'XXXXXX', '391', '1403', 'Provisions pour dépréciation des matières premières', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 35,'PCG99-ABREGE','STOCK', 'XXXXXX', '392', '1403', 'Provisions pour dépréciation des autres approvisionnements', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 36,'PCG99-ABREGE','STOCK', 'XXXXXX', '393', '1403', 'Provisions pour dépréciation des en-cours de production de biens', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 37,'PCG99-ABREGE','STOCK', 'XXXXXX', '394', '1403', 'Provisions pour dépréciation des en-cours de production de services', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 38,'PCG99-ABREGE','STOCK', 'XXXXXX', '395', '1403', 'Provisions pour dépréciation des stocks de produits', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 39,'PCG99-ABREGE','STOCK', 'XXXXXX', '397', '1403', 'Provisions pour dépréciation des stocks de marchandises', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 40,'PCG99-ABREGE','TIERS', 'SUPPLIER','400', '1404', 'Fournisseurs et Comptes rattachés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 41,'PCG99-ABREGE','TIERS', 'XXXXXX', '409', '1404', 'Fournisseurs débiteurs', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 42,'PCG99-ABREGE','TIERS', 'CUSTOMER','410', '1404', 'Clients et Comptes rattachés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 43,'PCG99-ABREGE','TIERS', 'XXXXXX', '419', '1404', 'Clients créditeurs', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 44,'PCG99-ABREGE','TIERS', 'XXXXXX', '421', '1404', 'Personnel', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 45,'PCG99-ABREGE','TIERS', 'XXXXXX', '428', '1404', 'Personnel', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 46,'PCG99-ABREGE','TIERS', 'XXXXXX', '43', '1404', 'Sécurité sociale et autres organismes sociaux', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 47,'PCG99-ABREGE','TIERS', 'XXXXXX', '444', '1404', 'Etat - impôts sur bénéfice', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 48,'PCG99-ABREGE','TIERS', 'XXXXXX', '445', '1404', 'Etat - Taxes sur chiffre affaires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 49,'PCG99-ABREGE','TIERS', 'XXXXXX', '447', '1404', 'Autres impôts, taxes et versements assimilés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 50,'PCG99-ABREGE','TIERS', 'XXXXXX', '45', '1404', 'Groupe et associes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 51,'PCG99-ABREGE','TIERS', 'XXXXXX', '455', '50', 'Associés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 52,'PCG99-ABREGE','TIERS', 'XXXXXX', '46', '1404', 'Débiteurs divers et créditeurs divers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 53,'PCG99-ABREGE','TIERS', 'XXXXXX', '47', '1404', 'Comptes transitoires ou d''attente', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 54,'PCG99-ABREGE','TIERS', 'XXXXXX', '481', '1404', 'Charges à répartir sur plusieurs exercices', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 55,'PCG99-ABREGE','TIERS', 'XXXXXX', '486', '1404', 'Charges constatées d''avance', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 56,'PCG99-ABREGE','TIERS', 'XXXXXX', '487', '1404', 'Produits constatés d''avance', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 57,'PCG99-ABREGE','TIERS', 'XXXXXX', '491', '1404', 'Provisions pour dépréciation des comptes de clients', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 58,'PCG99-ABREGE','TIERS', 'XXXXXX', '496', '1404', 'Provisions pour dépréciation des comptes de débiteurs divers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 59,'PCG99-ABREGE','FINAN', 'XXXXXX', '50', '1405', 'Valeurs mobilières de placement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 60,'PCG99-ABREGE','FINAN', 'BANK', '51', '1405', 'Banques, établissements financiers et assimilés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 61,'PCG99-ABREGE','FINAN', 'CASH', '53', '1405', 'Caisse', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 62,'PCG99-ABREGE','FINAN', 'XXXXXX', '54', '1405', 'Régies d''avance et accréditifs', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 63,'PCG99-ABREGE','FINAN', 'XXXXXX', '58', '1405', 'Virements internes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 64,'PCG99-ABREGE','FINAN', 'XXXXXX', '590', '1405', 'Provisions pour dépréciation des valeurs mobilières de placement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 65,'PCG99-ABREGE','CHARGE','PRODUCT', '60', '1406', 'Achats', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 66,'PCG99-ABREGE','CHARGE','XXXXXX', '603', '65', 'Variations des stocks', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 67,'PCG99-ABREGE','CHARGE','SERVICE', '61', '1406', 'Services extérieurs', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 68,'PCG99-ABREGE','CHARGE','XXXXXX', '62', '1406', 'Autres services extérieurs', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 69,'PCG99-ABREGE','CHARGE','XXXXXX', '63', '1406', 'Impôts, taxes et versements assimiles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 70,'PCG99-ABREGE','CHARGE','XXXXXX', '641', '1406', 'Rémunérations du personnel', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 71,'PCG99-ABREGE','CHARGE','XXXXXX', '644', '1406', 'Rémunération du travail de l''exploitant', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 72,'PCG99-ABREGE','CHARGE','SOCIAL', '645', '1406', 'Charges de sécurité sociale et de prévoyance', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 73,'PCG99-ABREGE','CHARGE','XXXXXX', '646', '1406', 'Cotisations sociales personnelles de l''exploitant', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 74,'PCG99-ABREGE','CHARGE','XXXXXX', '65', '1406', 'Autres charges de gestion courante', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 75,'PCG99-ABREGE','CHARGE','XXXXXX', '66', '1406', 'Charges financières', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 76,'PCG99-ABREGE','CHARGE','XXXXXX', '67', '1406', 'Charges exceptionnelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 77,'PCG99-ABREGE','CHARGE','XXXXXX', '681', '1406', 'Dotations aux amortissements et aux provisions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 78,'PCG99-ABREGE','CHARGE','XXXXXX', '686', '1406', 'Dotations aux amortissements et aux provisions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 79,'PCG99-ABREGE','CHARGE','XXXXXX', '687', '1406', 'Dotations aux amortissements et aux provisions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 80,'PCG99-ABREGE','CHARGE','XXXXXX', '691', '1406', 'Participation des salariés aux résultats', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 81,'PCG99-ABREGE','CHARGE','XXXXXX', '695', '1406', 'Impôts sur les bénéfices', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 82,'PCG99-ABREGE','CHARGE','XXXXXX', '697', '1406', 'Imposition forfaitaire annuelle des sociétés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 83,'PCG99-ABREGE','CHARGE','XXXXXX', '699', '1406', 'Produits', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 84,'PCG99-ABREGE','PROD', 'PRODUCT', '701', '1407', 'Ventes de produits finis', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 85,'PCG99-ABREGE','PROD', 'SERVICE', '706', '1407', 'Prestations de services', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 86,'PCG99-ABREGE','PROD', 'PRODUCT', '707', '1407', 'Ventes de marchandises', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 87,'PCG99-ABREGE','PROD', 'PRODUCT', '708', '1407', 'Produits des activités annexes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 88,'PCG99-ABREGE','PROD', 'XXXXXX', '709', '1407', 'Rabais, remises et ristournes accordés par l''entreprise', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 89,'PCG99-ABREGE','PROD', 'XXXXXX', '713', '1407', 'Variation des stocks', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 90,'PCG99-ABREGE','PROD', 'XXXXXX', '72', '1407', 'Production immobilisée', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 91,'PCG99-ABREGE','PROD', 'XXXXXX', '73', '1407', 'Produits nets partiels sur opérations à long terme', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 92,'PCG99-ABREGE','PROD', 'XXXXXX', '74', '1407', 'Subventions d''exploitation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 93,'PCG99-ABREGE','PROD', 'XXXXXX', '75', '1407', 'Autres produits de gestion courante', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 94,'PCG99-ABREGE','PROD', 'XXXXXX', '753', '93', 'Jetons de présence et rémunérations d''administrateurs, gérants,...', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 95,'PCG99-ABREGE','PROD', 'XXXXXX', '754', '93', 'Ristournes perçues des coopératives', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 96,'PCG99-ABREGE','PROD', 'XXXXXX', '755', '93', 'Quotes-parts de résultat sur opérations faites en commun', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 97,'PCG99-ABREGE','PROD', 'XXXXXX', '76', '1407', 'Produits financiers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 98,'PCG99-ABREGE','PROD', 'XXXXXX', '77', '1407', 'Produits exceptionnels', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES ( 99,'PCG99-ABREGE','PROD', 'XXXXXX', '781', '1407', 'Reprises sur amortissements et provisions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (100,'PCG99-ABREGE','PROD', 'XXXXXX', '786', '1407', 'Reprises sur provisions pour risques', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (101,'PCG99-ABREGE','PROD', 'XXXXXX', '787', '1407', 'Reprises sur provisions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (102,'PCG99-ABREGE','PROD', 'XXXXXX', '79', '1407', 'Transferts de charges', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1401,'PCG99-ABREGE','CAPIT', 'XXXXXX', '1', '0', 'Fonds propres, provisions pour risques et charges et dettes à plus d''un an', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1402,'PCG99-ABREGE','IMMO', 'XXXXXX', '2', '0', 'Frais d''établissement. Actifs immobilisés et créances à plus d''un an', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1403,'PCG99-ABREGE','STOCK', 'XXXXXX', '3', '0', 'Stock et commandes en cours d''exécution', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1404,'PCG99-ABREGE','TIERS', 'XXXXXX', '4', '0', 'Créances et dettes à un an au plus', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1405,'PCG99-ABREGE','FINAN', 'XXXXXX', '5', '0', 'Placement de trésorerie et de valeurs disponibles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1406,'PCG99-ABREGE','CHARGE','XXXXXX', '6', '0', 'Charges', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1407,'PCG99-ABREGE','PROD', 'XXXXXX', '7', '0', 'Produits', 1); -- -- Descriptif des plans comptables FR PCG99-BASE @@ -152,2060 +152,2060 @@ INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype INSERT INTO llx_accounting_system (rowid, pcg_version, label, active) VALUES (2,'PCG99-BASE', 'The base accountancy french plan', 1); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (103,'PCG99-BASE','CAPIT', 'XXXXXX', '10','1501', 'Capital et réserves', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (104,'PCG99-BASE','CAPIT', 'CAPITAL', '101', '103', 'Capital', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (105,'PCG99-BASE','CAPIT', 'XXXXXX', '104', '103', 'Primes liées au capital social', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (106,'PCG99-BASE','CAPIT', 'XXXXXX', '105', '103', 'Ecarts de réévaluation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (107,'PCG99-BASE','CAPIT', 'XXXXXX', '106', '103', 'Réserves', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (108,'PCG99-BASE','CAPIT', 'XXXXXX', '107', '103', 'Ecart d''equivalence', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (109,'PCG99-BASE','CAPIT', 'XXXXXX', '108', '103', 'Compte de l''exploitant', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (110,'PCG99-BASE','CAPIT', 'XXXXXX', '109', '103', 'Actionnaires : capital souscrit - non appelé', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (111,'PCG99-BASE','CAPIT', 'XXXXXX', '11','1501', 'Report à nouveau (solde créditeur ou débiteur)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (112,'PCG99-BASE','CAPIT', 'XXXXXX', '110', '111', 'Report à nouveau (solde créditeur)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (113,'PCG99-BASE','CAPIT', 'XXXXXX', '119', '111', 'Report à nouveau (solde débiteur)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (114,'PCG99-BASE','CAPIT', 'XXXXXX', '12','1501', 'Résultat de l''exercice (bénéfice ou perte)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (115,'PCG99-BASE','CAPIT', 'XXXXXX', '120', '114', 'Résultat de l''exercice (bénéfice)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (116,'PCG99-BASE','CAPIT', 'XXXXXX', '129', '114', 'Résultat de l''exercice (perte)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (117,'PCG99-BASE','CAPIT', 'XXXXXX', '13','1501', 'Subventions d''investissement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (118,'PCG99-BASE','CAPIT', 'XXXXXX', '131', '117', 'Subventions d''équipement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (119,'PCG99-BASE','CAPIT', 'XXXXXX', '138', '117', 'Autres subventions d''investissement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (120,'PCG99-BASE','CAPIT', 'XXXXXX', '139', '117', 'Subventions d''investissement inscrites au compte de résultat', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (121,'PCG99-BASE','CAPIT', 'XXXXXX', '14','1501', 'Provisions réglementées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (122,'PCG99-BASE','CAPIT', 'XXXXXX', '142', '121', 'Provisions réglementées relatives aux immobilisations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (123,'PCG99-BASE','CAPIT', 'XXXXXX', '143', '121', 'Provisions réglementées relatives aux stocks', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (124,'PCG99-BASE','CAPIT', 'XXXXXX', '144', '121', 'Provisions réglementées relatives aux autres éléments de l''actif', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (125,'PCG99-BASE','CAPIT', 'XXXXXX', '145', '121', 'Amortissements dérogatoires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (126,'PCG99-BASE','CAPIT', 'XXXXXX', '146', '121', 'Provision spéciale de réévaluation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (127,'PCG99-BASE','CAPIT', 'XXXXXX', '147', '121', 'Plus-values réinvesties', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (128,'PCG99-BASE','CAPIT', 'XXXXXX', '148', '121', 'Autres provisions réglementées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (129,'PCG99-BASE','CAPIT', 'XXXXXX', '15','1501', 'Provisions pour risques et charges', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (130,'PCG99-BASE','CAPIT', 'XXXXXX', '151', '129', 'Provisions pour risques', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (131,'PCG99-BASE','CAPIT', 'XXXXXX', '153', '129', 'Provisions pour pensions et obligations similaires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (132,'PCG99-BASE','CAPIT', 'XXXXXX', '154', '129', 'Provisions pour restructurations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (133,'PCG99-BASE','CAPIT', 'XXXXXX', '155', '129', 'Provisions pour impôts', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (134,'PCG99-BASE','CAPIT', 'XXXXXX', '156', '129', 'Provisions pour renouvellement des immobilisations (entreprises concessionnaires)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (135,'PCG99-BASE','CAPIT', 'XXXXXX', '157', '129', 'Provisions pour charges à répartir sur plusieurs exercices', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (136,'PCG99-BASE','CAPIT', 'XXXXXX', '158', '129', 'Autres provisions pour charges', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (137,'PCG99-BASE','CAPIT', 'XXXXXX', '16','1501', 'Emprunts et dettes assimilees', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (138,'PCG99-BASE','CAPIT', 'XXXXXX', '161', '137', 'Emprunts obligataires convertibles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (139,'PCG99-BASE','CAPIT', 'XXXXXX', '163', '137', 'Autres emprunts obligataires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (140,'PCG99-BASE','CAPIT', 'XXXXXX', '164', '137', 'Emprunts auprès des établissements de crédit', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (141,'PCG99-BASE','CAPIT', 'XXXXXX', '165', '137', 'Dépôts et cautionnements reçus', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (142,'PCG99-BASE','CAPIT', 'XXXXXX', '166', '137', 'Participation des salariés aux résultats', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (143,'PCG99-BASE','CAPIT', 'XXXXXX', '167', '137', 'Emprunts et dettes assortis de conditions particulières', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (144,'PCG99-BASE','CAPIT', 'XXXXXX', '168', '137', 'Autres emprunts et dettes assimilées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (145,'PCG99-BASE','CAPIT', 'XXXXXX', '169', '137', 'Primes de remboursement des obligations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (146,'PCG99-BASE','CAPIT', 'XXXXXX', '17','1501', 'Dettes rattachées à des participations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (147,'PCG99-BASE','CAPIT', 'XXXXXX', '171', '146', 'Dettes rattachées à des participations (groupe)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (148,'PCG99-BASE','CAPIT', 'XXXXXX', '174', '146', 'Dettes rattachées à des participations (hors groupe)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (149,'PCG99-BASE','CAPIT', 'XXXXXX', '178', '146', 'Dettes rattachées à des sociétés en participation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (150,'PCG99-BASE','CAPIT', 'XXXXXX', '18','1501', 'Comptes de liaison des établissements et sociétés en participation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (151,'PCG99-BASE','CAPIT', 'XXXXXX', '181', '150', 'Comptes de liaison des établissements', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (152,'PCG99-BASE','CAPIT', 'XXXXXX', '186', '150', 'Biens et prestations de services échangés entre établissements (charges)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (153,'PCG99-BASE','CAPIT', 'XXXXXX', '187', '150', 'Biens et prestations de services échangés entre établissements (produits)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (154,'PCG99-BASE','CAPIT', 'XXXXXX', '188', '150', 'Comptes de liaison des sociétés en participation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (155,'PCG99-BASE','IMMO', 'XXXXXX', '20','1502', 'Immobilisations incorporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (156,'PCG99-BASE','IMMO', 'XXXXXX', '201', '155', 'Frais d''établissement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (157,'PCG99-BASE','IMMO', 'XXXXXX', '203', '155', 'Frais de recherche et de développement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (158,'PCG99-BASE','IMMO', 'XXXXXX', '205', '155', 'Concessions et droits similaires, brevets, licences, marques, procédés, logiciels, droits et valeurs similaires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (159,'PCG99-BASE','IMMO', 'XXXXXX', '206', '155', 'Droit au bail', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (160,'PCG99-BASE','IMMO', 'XXXXXX', '207', '155', 'Fonds commercial', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (161,'PCG99-BASE','IMMO', 'XXXXXX', '208', '155', 'Autres immobilisations incorporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (162,'PCG99-BASE','IMMO', 'XXXXXX', '21','1502', 'Immobilisations corporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (163,'PCG99-BASE','IMMO', 'XXXXXX', '211', '162', 'Terrains', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (164,'PCG99-BASE','IMMO', 'XXXXXX', '212', '162', 'Agencements et aménagements de terrains', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (165,'PCG99-BASE','IMMO', 'XXXXXX', '213', '162', 'Constructions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (166,'PCG99-BASE','IMMO', 'XXXXXX', '214', '162', 'Constructions sur sol d''autrui', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (167,'PCG99-BASE','IMMO', 'XXXXXX', '215', '162', 'Installations techniques, matériels et outillage industriels', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (168,'PCG99-BASE','IMMO', 'XXXXXX', '218', '162', 'Autres immobilisations corporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (169,'PCG99-BASE','IMMO', 'XXXXXX', '22','1502', 'Immobilisations mises en concession', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (170,'PCG99-BASE','IMMO', 'XXXXXX', '23','1502', 'Immobilisations en cours', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (171,'PCG99-BASE','IMMO', 'XXXXXX', '231', '170', 'Immobilisations corporelles en cours', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (172,'PCG99-BASE','IMMO', 'XXXXXX', '232', '170', 'Immobilisations incorporelles en cours', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (173,'PCG99-BASE','IMMO', 'XXXXXX', '237', '170', 'Avances et acomptes versés sur immobilisations incorporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (174,'PCG99-BASE','IMMO', 'XXXXXX', '238', '170', 'Avances et acomptes versés sur commandes d''immobilisations corporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (175,'PCG99-BASE','IMMO', 'XXXXXX', '25','1502', 'Parts dans des entreprises liées et créances sur des entreprises liées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (176,'PCG99-BASE','IMMO', 'XXXXXX', '26','1502', 'Participations et créances rattachées à des participations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (177,'PCG99-BASE','IMMO', 'XXXXXX', '261', '176', 'Titres de participation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (178,'PCG99-BASE','IMMO', 'XXXXXX', '266', '176', 'Autres formes de participation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (179,'PCG99-BASE','IMMO', 'XXXXXX', '267', '176', 'Créances rattachées à des participations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (180,'PCG99-BASE','IMMO', 'XXXXXX', '268', '176', 'Créances rattachées à des sociétés en participation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (181,'PCG99-BASE','IMMO', 'XXXXXX', '269', '176', 'Versements restant à effectuer sur titres de participation non libérés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (182,'PCG99-BASE','IMMO', 'XXXXXX', '27','1502', 'Autres immobilisations financieres', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (183,'PCG99-BASE','IMMO', 'XXXXXX', '271', '183', 'Titres immobilisés autres que les titres immobilisés de l''activité de portefeuille (droit de propriété)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (184,'PCG99-BASE','IMMO', 'XXXXXX', '272', '183', 'Titres immobilisés (droit de créance)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (185,'PCG99-BASE','IMMO', 'XXXXXX', '273', '183', 'Titres immobilisés de l''activité de portefeuille', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (186,'PCG99-BASE','IMMO', 'XXXXXX', '274', '183', 'Prêts', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (187,'PCG99-BASE','IMMO', 'XXXXXX', '275', '183', 'Dépôts et cautionnements versés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (188,'PCG99-BASE','IMMO', 'XXXXXX', '276', '183', 'Autres créances immobilisées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (189,'PCG99-BASE','IMMO', 'XXXXXX', '277', '183', '(Actions propres ou parts propres)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (190,'PCG99-BASE','IMMO', 'XXXXXX', '279', '183', 'Versements restant à effectuer sur titres immobilisés non libérés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (191,'PCG99-BASE','IMMO', 'XXXXXX', '28','1502', 'Amortissements des immobilisations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (192,'PCG99-BASE','IMMO', 'XXXXXX', '280', '191', 'Amortissements des immobilisations incorporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (193,'PCG99-BASE','IMMO', 'XXXXXX', '281', '191', 'Amortissements des immobilisations corporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (194,'PCG99-BASE','IMMO', 'XXXXXX', '282', '191', 'Amortissements des immobilisations mises en concession', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (195,'PCG99-BASE','IMMO', 'XXXXXX', '29','1502', 'Dépréciations des immobilisations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (196,'PCG99-BASE','IMMO', 'XXXXXX', '290', '195', 'Dépréciations des immobilisations incorporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (197,'PCG99-BASE','IMMO', 'XXXXXX', '291', '195', 'Dépréciations des immobilisations corporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (198,'PCG99-BASE','IMMO', 'XXXXXX', '292', '195', 'Dépréciations des immobilisations mises en concession', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (199,'PCG99-BASE','IMMO', 'XXXXXX', '293', '195', 'Dépréciations des immobilisations en cours', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (200,'PCG99-BASE','IMMO', 'XXXXXX', '296', '195', 'Provisions pour dépréciation des participations et créances rattachées à des participations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (201,'PCG99-BASE','IMMO', 'XXXXXX', '297', '195', 'Provisions pour dépréciation des autres immobilisations financières', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (202,'PCG99-BASE','STOCK', 'XXXXXX', '31','1503', 'Matières premières (et fournitures)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (203,'PCG99-BASE','STOCK', 'XXXXXX', '311', '202', 'Matières (ou groupe) A', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (204,'PCG99-BASE','STOCK', 'XXXXXX', '312', '202', 'Matières (ou groupe) B', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (205,'PCG99-BASE','STOCK', 'XXXXXX', '317', '202', 'Fournitures A, B, C,', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (206,'PCG99-BASE','STOCK', 'XXXXXX', '32','1503', 'Autres approvisionnements', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (207,'PCG99-BASE','STOCK', 'XXXXXX', '321', '206', 'Matières consommables', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (208,'PCG99-BASE','STOCK', 'XXXXXX', '322', '206', 'Fournitures consommables', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (209,'PCG99-BASE','STOCK', 'XXXXXX', '326', '206', 'Emballages', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (210,'PCG99-BASE','STOCK', 'XXXXXX', '33','1503', 'En-cours de production de biens', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (211,'PCG99-BASE','STOCK', 'XXXXXX', '331', '210', 'Produits en cours', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (212,'PCG99-BASE','STOCK', 'XXXXXX', '335', '210', 'Travaux en cours', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (213,'PCG99-BASE','STOCK', 'XXXXXX', '34','1503', 'En-cours de production de services', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (214,'PCG99-BASE','STOCK', 'XXXXXX', '341', '213', 'Etudes en cours', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (215,'PCG99-BASE','STOCK', 'XXXXXX', '345', '213', 'Prestations de services en cours', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (216,'PCG99-BASE','STOCK', 'XXXXXX', '35','1503', 'Stocks de produits', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (217,'PCG99-BASE','STOCK', 'XXXXXX', '351', '216', 'Produits intermédiaires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (218,'PCG99-BASE','STOCK', 'XXXXXX', '355', '216', 'Produits finis', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (219,'PCG99-BASE','STOCK', 'XXXXXX', '358', '216', 'Produits résiduels (ou matières de récupération)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (220,'PCG99-BASE','STOCK', 'XXXXXX', '37','1503', 'Stocks de marchandises', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (221,'PCG99-BASE','STOCK', 'XXXXXX', '371', '220', 'Marchandises (ou groupe) A', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (222,'PCG99-BASE','STOCK', 'XXXXXX', '372', '220', 'Marchandises (ou groupe) B', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (223,'PCG99-BASE','STOCK', 'XXXXXX', '39','1503', 'Provisions pour dépréciation des stocks et en-cours', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (224,'PCG99-BASE','STOCK', 'XXXXXX', '391', '223', 'Provisions pour dépréciation des matières premières', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (225,'PCG99-BASE','STOCK', 'XXXXXX', '392', '223', 'Provisions pour dépréciation des autres approvisionnements', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (226,'PCG99-BASE','STOCK', 'XXXXXX', '393', '223', 'Provisions pour dépréciation des en-cours de production de biens', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (227,'PCG99-BASE','STOCK', 'XXXXXX', '394', '223', 'Provisions pour dépréciation des en-cours de production de services', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (228,'PCG99-BASE','STOCK', 'XXXXXX', '395', '223', 'Provisions pour dépréciation des stocks de produits', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (229,'PCG99-BASE','STOCK', 'XXXXXX', '397', '223', 'Provisions pour dépréciation des stocks de marchandises', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (230,'PCG99-BASE','TIERS', 'XXXXXX', '40','1504', 'Fournisseurs et Comptes rattachés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (231,'PCG99-BASE','TIERS', 'XXXXXX', '400', '230', 'Fournisseurs et Comptes rattachés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (232,'PCG99-BASE','TIERS', 'SUPPLIER','401', '230', 'Fournisseurs', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (233,'PCG99-BASE','TIERS', 'XXXXXX', '403', '230', 'Fournisseurs - Effets à payer', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (234,'PCG99-BASE','TIERS', 'XXXXXX', '404', '230', 'Fournisseurs d''immobilisations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (235,'PCG99-BASE','TIERS', 'XXXXXX', '405', '230', 'Fournisseurs d''immobilisations - Effets à payer', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (236,'PCG99-BASE','TIERS', 'XXXXXX', '408', '230', 'Fournisseurs - Factures non parvenues', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (237,'PCG99-BASE','TIERS', 'XXXXXX', '409', '230', 'Fournisseurs débiteurs', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (238,'PCG99-BASE','TIERS', 'XXXXXX', '41','1504', 'Clients et comptes rattachés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (239,'PCG99-BASE','TIERS', 'XXXXXX', '410', '238', 'Clients et Comptes rattachés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (240,'PCG99-BASE','TIERS', 'CUSTOMER','411', '238', 'Clients', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (241,'PCG99-BASE','TIERS', 'XXXXXX', '413', '238', 'Clients - Effets à recevoir', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (242,'PCG99-BASE','TIERS', 'XXXXXX', '416', '238', 'Clients douteux ou litigieux', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (243,'PCG99-BASE','TIERS', 'XXXXXX', '418', '238', 'Clients - Produits non encore facturés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (244,'PCG99-BASE','TIERS', 'XXXXXX', '419', '238', 'Clients créditeurs', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (245,'PCG99-BASE','TIERS', 'XXXXXX', '42','1504', 'Personnel et comptes rattachés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (246,'PCG99-BASE','TIERS', 'XXXXXX', '421', '245', 'Personnel - Rémunérations dues', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (247,'PCG99-BASE','TIERS', 'XXXXXX', '422', '245', 'Comités d''entreprises, d''établissement, ...', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (248,'PCG99-BASE','TIERS', 'XXXXXX', '424', '245', 'Participation des salariés aux résultats', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (249,'PCG99-BASE','TIERS', 'XXXXXX', '425', '245', 'Personnel - Avances et acomptes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (250,'PCG99-BASE','TIERS', 'XXXXXX', '426', '245', 'Personnel - Dépôts', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (251,'PCG99-BASE','TIERS', 'XXXXXX', '427', '245', 'Personnel - Oppositions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (252,'PCG99-BASE','TIERS', 'XXXXXX', '428', '245', 'Personnel - Charges à payer et produits à recevoir', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (253,'PCG99-BASE','TIERS', 'XXXXXX', '43','1504', 'Sécurité sociale et autres organismes sociaux', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (254,'PCG99-BASE','TIERS', 'XXXXXX', '431', '253', 'Sécurité sociale', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (255,'PCG99-BASE','TIERS', 'XXXXXX', '437', '253', 'Autres organismes sociaux', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (256,'PCG99-BASE','TIERS', 'XXXXXX', '438', '253', 'Organismes sociaux - Charges à payer et produits à recevoir', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (257,'PCG99-BASE','TIERS', 'XXXXXX', '44','1504', 'État et autres collectivités publiques', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (258,'PCG99-BASE','TIERS', 'XXXXXX', '441', '257', 'État - Subventions à recevoir', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (259,'PCG99-BASE','TIERS', 'XXXXXX', '442', '257', 'Etat - Impôts et taxes recouvrables sur des tiers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (260,'PCG99-BASE','TIERS', 'XXXXXX', '443', '257', 'Opérations particulières avec l''Etat, les collectivités publiques, les organismes internationaux', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (261,'PCG99-BASE','TIERS', 'XXXXXX', '444', '257', 'Etat - Impôts sur les bénéfices', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (262,'PCG99-BASE','TIERS', 'XXXXXX', '445', '257', 'Etat - Taxes sur le chiffre d''affaires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (263,'PCG99-BASE','TIERS', 'XXXXXX', '446', '257', 'Obligations cautionnées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (264,'PCG99-BASE','TIERS', 'XXXXXX', '447', '257', 'Autres impôts, taxes et versements assimilés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (265,'PCG99-BASE','TIERS', 'XXXXXX', '448', '257', 'Etat - Charges à payer et produits à recevoir', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (266,'PCG99-BASE','TIERS', 'XXXXXX', '449', '257', 'Quotas d''émission à restituer à l''Etat', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (267,'PCG99-BASE','TIERS', 'XXXXXX', '45','1504', 'Groupe et associes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (268,'PCG99-BASE','TIERS', 'XXXXXX', '451', '267', 'Groupe', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (269,'PCG99-BASE','TIERS', 'XXXXXX', '455', '267', 'Associés - Comptes courants', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (270,'PCG99-BASE','TIERS', 'XXXXXX', '456', '267', 'Associés - Opérations sur le capital', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (271,'PCG99-BASE','TIERS', 'XXXXXX', '457', '267', 'Associés - Dividendes à payer', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (272,'PCG99-BASE','TIERS', 'XXXXXX', '458', '267', 'Associés - Opérations faites en commun et en G.I.E.', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (273,'PCG99-BASE','TIERS', 'XXXXXX', '46','1504', 'Débiteurs divers et créditeurs divers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (274,'PCG99-BASE','TIERS', 'XXXXXX', '462', '273', 'Créances sur cessions d''immobilisations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (275,'PCG99-BASE','TIERS', 'XXXXXX', '464', '273', 'Dettes sur acquisitions de valeurs mobilières de placement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (276,'PCG99-BASE','TIERS', 'XXXXXX', '465', '273', 'Créances sur cessions de valeurs mobilières de placement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (277,'PCG99-BASE','TIERS', 'XXXXXX', '467', '273', 'Autres comptes débiteurs ou créditeurs', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (278,'PCG99-BASE','TIERS', 'XXXXXX', '468', '273', 'Divers - Charges à payer et produits à recevoir', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (279,'PCG99-BASE','TIERS', 'XXXXXX', '47','1504', 'Comptes transitoires ou d''attente', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (280,'PCG99-BASE','TIERS', 'XXXXXX', '471', '279', 'Comptes d''attente', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (281,'PCG99-BASE','TIERS', 'XXXXXX', '476', '279', 'Différence de conversion - Actif', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (282,'PCG99-BASE','TIERS', 'XXXXXX', '477', '279', 'Différences de conversion - Passif', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (283,'PCG99-BASE','TIERS', 'XXXXXX', '478', '279', 'Autres comptes transitoires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (284,'PCG99-BASE','TIERS', 'XXXXXX', '48','1504', 'Comptes de régularisation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (285,'PCG99-BASE','TIERS', 'XXXXXX', '481', '284', 'Charges à répartir sur plusieurs exercices', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (286,'PCG99-BASE','TIERS', 'XXXXXX', '486', '284', 'Charges constatées d''avance', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (287,'PCG99-BASE','TIERS', 'XXXXXX', '487', '284', 'Produits constatés d''avance', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (288,'PCG99-BASE','TIERS', 'XXXXXX', '488', '284', 'Comptes de répartition périodique des charges et des produits', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (289,'PCG99-BASE','TIERS', 'XXXXXX', '489', '284', 'Quotas d''émission alloués par l''Etat', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (290,'PCG99-BASE','TIERS', 'XXXXXX', '49','1504', 'Provisions pour dépréciation des comptes de tiers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (291,'PCG99-BASE','TIERS', 'XXXXXX', '491', '290', 'Provisions pour dépréciation des comptes de clients', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (292,'PCG99-BASE','TIERS', 'XXXXXX', '495', '290', 'Provisions pour dépréciation des comptes du groupe et des associés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (293,'PCG99-BASE','TIERS', 'XXXXXX', '496', '290', 'Provisions pour dépréciation des comptes de débiteurs divers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (294,'PCG99-BASE','FINAN', 'XXXXXX', '50','1505', 'Valeurs mobilières de placement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (295,'PCG99-BASE','FINAN', 'XXXXXX', '501', '294', 'Parts dans des entreprises liées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (296,'PCG99-BASE','FINAN', 'XXXXXX', '502', '294', 'Actions propres', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (297,'PCG99-BASE','FINAN', 'XXXXXX', '503', '294', 'Actions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (298,'PCG99-BASE','FINAN', 'XXXXXX', '504', '294', 'Autres titres conférant un droit de propriété', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (299,'PCG99-BASE','FINAN', 'XXXXXX', '505', '294', 'Obligations et bons émis par la société et rachetés par elle', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (300,'PCG99-BASE','FINAN', 'XXXXXX', '506', '294', 'Obligations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (301,'PCG99-BASE','FINAN', 'XXXXXX', '507', '294', 'Bons du Trésor et bons de caisse à court terme', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (302,'PCG99-BASE','FINAN', 'XXXXXX', '508', '294', 'Autres valeurs mobilières de placement et autres créances assimilées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (303,'PCG99-BASE','FINAN', 'XXXXXX', '509', '294', 'Versements restant à effectuer sur valeurs mobilières de placement non libérées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (304,'PCG99-BASE','FINAN', 'XXXXXX', '51','1505', 'Banques, établissements financiers et assimilés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (305,'PCG99-BASE','FINAN', 'XXXXXX', '511', '304', 'Valeurs à l''encaissement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (306,'PCG99-BASE','FINAN', 'BANK', '512', '304', 'Banques', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (307,'PCG99-BASE','FINAN', 'XXXXXX', '514', '304', 'Chèques postaux', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (308,'PCG99-BASE','FINAN', 'XXXXXX', '515', '304', '"Caisses" du Trésor et des établissements publics', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (309,'PCG99-BASE','FINAN', 'XXXXXX', '516', '304', 'Sociétés de bourse', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (310,'PCG99-BASE','FINAN', 'XXXXXX', '517', '304', 'Autres organismes financiers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (311,'PCG99-BASE','FINAN', 'XXXXXX', '518', '304', 'Intérêts courus', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (312,'PCG99-BASE','FINAN', 'XXXXXX', '519', '304', 'Concours bancaires courants', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (313,'PCG99-BASE','FINAN', 'XXXXXX', '52','1505', 'Instruments de trésorerie', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (314,'PCG99-BASE','FINAN', 'CASH', '53','1505', 'Caisse', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (315,'PCG99-BASE','FINAN', 'XXXXXX', '531', '314', 'Caisse siège social', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (316,'PCG99-BASE','FINAN', 'XXXXXX', '532', '314', 'Caisse succursale (ou usine) A', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (317,'PCG99-BASE','FINAN', 'XXXXXX', '533', '314', 'Caisse succursale (ou usine) B', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (318,'PCG99-BASE','FINAN', 'XXXXXX', '54','1505', 'Régies d''avance et accréditifs', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (319,'PCG99-BASE','FINAN', 'XXXXXX', '58','1505', 'Virements internes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (320,'PCG99-BASE','FINAN', 'XXXXXX', '59','1505', 'Provisions pour dépréciation des comptes financiers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (321,'PCG99-BASE','FINAN', 'XXXXXX', '590', '320', 'Provisions pour dépréciation des valeurs mobilières de placement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (322,'PCG99-BASE','CHARGE','PRODUCT', '60','1506', 'Achats', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (323,'PCG99-BASE','CHARGE','XXXXXX', '601', '322', 'Achats stockés - Matières premières (et fournitures)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (324,'PCG99-BASE','CHARGE','XXXXXX', '602', '322', 'Achats stockés - Autres approvisionnements', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (325,'PCG99-BASE','CHARGE','XXXXXX', '603', '322', 'Variations des stocks (approvisionnements et marchandises)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (326,'PCG99-BASE','CHARGE','XXXXXX', '604', '322', 'Achats stockés - Matières premières (et fournitures)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (327,'PCG99-BASE','CHARGE','XXXXXX', '605', '322', 'Achats de matériel, équipements et travaux', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (328,'PCG99-BASE','CHARGE','XXXXXX', '606', '322', 'Achats non stockés de matière et fournitures', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (329,'PCG99-BASE','CHARGE','XXXXXX', '607', '322', 'Achats de marchandises', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (330,'PCG99-BASE','CHARGE','XXXXXX', '608', '322', '(Compte réservé, le cas échéant, à la récapitulation des frais accessoires incorporés aux achats)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (331,'PCG99-BASE','CHARGE','XXXXXX', '609', '322', 'Rabais, remises et ristournes obtenus sur achats', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (332,'PCG99-BASE','CHARGE','SERVICE', '61','1506', 'Services extérieurs', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (333,'PCG99-BASE','CHARGE','XXXXXX', '611', '332', 'Sous-traitance générale', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (334,'PCG99-BASE','CHARGE','XXXXXX', '612', '332', 'Redevances de crédit-bail', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (335,'PCG99-BASE','CHARGE','XXXXXX', '613', '332', 'Locations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (336,'PCG99-BASE','CHARGE','XXXXXX', '614', '332', 'Charges locatives et de copropriété', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (337,'PCG99-BASE','CHARGE','XXXXXX', '615', '332', 'Entretien et réparations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (338,'PCG99-BASE','CHARGE','XXXXXX', '616', '332', 'Primes d''assurances', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (339,'PCG99-BASE','CHARGE','XXXXXX', '617', '332', 'Etudes et recherches', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (340,'PCG99-BASE','CHARGE','XXXXXX', '618', '332', 'Divers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (341,'PCG99-BASE','CHARGE','XXXXXX', '619', '332', 'Rabais, remises et ristournes obtenus sur services extérieurs', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (342,'PCG99-BASE','CHARGE','XXXXXX', '62','1506', 'Autres services extérieurs', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (343,'PCG99-BASE','CHARGE','XXXXXX', '621', '342', 'Personnel extérieur à l''entreprise', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (344,'PCG99-BASE','CHARGE','XXXXXX', '622', '342', 'Rémunérations d''intermédiaires et honoraires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (345,'PCG99-BASE','CHARGE','XXXXXX', '623', '342', 'Publicité, publications, relations publiques', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (346,'PCG99-BASE','CHARGE','XXXXXX', '624', '342', 'Transports de biens et transports collectifs du personnel', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (347,'PCG99-BASE','CHARGE','XXXXXX', '625', '342', 'Déplacements, missions et réceptions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (348,'PCG99-BASE','CHARGE','XXXXXX', '626', '342', 'Frais postaux et de télécommunications', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (349,'PCG99-BASE','CHARGE','XXXXXX', '627', '342', 'Services bancaires et assimilés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (350,'PCG99-BASE','CHARGE','XXXXXX', '628', '342', 'Divers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (351,'PCG99-BASE','CHARGE','XXXXXX', '629', '342', 'Rabais, remises et ristournes obtenus sur autres services extérieurs', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (352,'PCG99-BASE','CHARGE','XXXXXX', '63','1506', 'Impôts, taxes et versements assimilés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (353,'PCG99-BASE','CHARGE','XXXXXX', '631', '352', 'Impôts, taxes et versements assimilés sur rémunérations (administrations des impôts)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (354,'PCG99-BASE','CHARGE','XXXXXX', '633', '352', 'Impôts, taxes et versements assimilés sur rémunérations (autres organismes)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (355,'PCG99-BASE','CHARGE','XXXXXX', '635', '352', 'Autres impôts, taxes et versements assimilés (administrations des impôts)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (356,'PCG99-BASE','CHARGE','XXXXXX', '637', '352', 'Autres impôts, taxes et versements assimilés (autres organismes)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (357,'PCG99-BASE','CHARGE','XXXXXX', '64','1506', 'Charges de personnel', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (358,'PCG99-BASE','CHARGE','XXXXXX', '641', '357', 'Rémunérations du personnel', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (359,'PCG99-BASE','CHARGE','XXXXXX', '644', '357', 'Rémunération du travail de l''exploitant', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (360,'PCG99-BASE','CHARGE','SOCIAL', '645', '357', 'Charges de sécurité sociale et de prévoyance', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (361,'PCG99-BASE','CHARGE','XXXXXX', '646', '357', 'Cotisations sociales personnelles de l''exploitant', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (362,'PCG99-BASE','CHARGE','XXXXXX', '647', '357', 'Autres charges sociales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (363,'PCG99-BASE','CHARGE','XXXXXX', '648', '357', 'Autres charges de personnel', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (364,'PCG99-BASE','CHARGE','XXXXXX', '65','1506', 'Autres charges de gestion courante', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (365,'PCG99-BASE','CHARGE','XXXXXX', '651', '364', 'Redevances pour concessions, brevets, licences, marques, procédés, logiciels, droits et valeurs similaires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (366,'PCG99-BASE','CHARGE','XXXXXX', '653', '364', 'Jetons de présence', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (367,'PCG99-BASE','CHARGE','XXXXXX', '654', '364', 'Pertes sur créances irrécouvrables', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (368,'PCG99-BASE','CHARGE','XXXXXX', '655', '364', 'Quote-part de résultat sur opérations faites en commun', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (369,'PCG99-BASE','CHARGE','XXXXXX', '658', '364', 'Charges diverses de gestion courante', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (370,'PCG99-BASE','CHARGE','XXXXXX', '66','1506', 'Charges financières', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (371,'PCG99-BASE','CHARGE','XXXXXX', '661', '370', 'Charges d''intérêts', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (372,'PCG99-BASE','CHARGE','XXXXXX', '664', '370', 'Pertes sur créances liées à des participations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (373,'PCG99-BASE','CHARGE','XXXXXX', '665', '370', 'Escomptes accordés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (374,'PCG99-BASE','CHARGE','XXXXXX', '666', '370', 'Pertes de change', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (375,'PCG99-BASE','CHARGE','XXXXXX', '667', '370', 'Charges nettes sur cessions de valeurs mobilières de placement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (376,'PCG99-BASE','CHARGE','XXXXXX', '668', '370', 'Autres charges financières', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (377,'PCG99-BASE','CHARGE','XXXXXX', '67','1506', 'Charges exceptionnelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (378,'PCG99-BASE','CHARGE','XXXXXX', '671', '377', 'Charges exceptionnelles sur opérations de gestion', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (379,'PCG99-BASE','CHARGE','XXXXXX', '672', '377', '(Compte à la disposition des entités pour enregistrer, en cours d''exercice, les charges sur exercices antérieurs)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (380,'PCG99-BASE','CHARGE','XXXXXX', '675', '377', 'Valeurs comptables des éléments d''actif cédés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (381,'PCG99-BASE','CHARGE','XXXXXX', '678', '377', 'Autres charges exceptionnelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (382,'PCG99-BASE','CHARGE','XXXXXX', '68','1506', 'Dotations aux amortissements et aux provisions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (383,'PCG99-BASE','CHARGE','XXXXXX', '681', '382', 'Dotations aux amortissements et aux provisions - Charges d''exploitation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (384,'PCG99-BASE','CHARGE','XXXXXX', '686', '382', 'Dotations aux amortissements et aux provisions - Charges financières', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (385,'PCG99-BASE','CHARGE','XXXXXX', '687', '382', 'Dotations aux amortissements et aux provisions - Charges exceptionnelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (386,'PCG99-BASE','CHARGE','XXXXXX', '69','1506', 'Participation des salariés - impôts sur les bénéfices et assimiles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (387,'PCG99-BASE','CHARGE','XXXXXX', '691', '386', 'Participation des salariés aux résultats', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (388,'PCG99-BASE','CHARGE','XXXXXX', '695', '386', 'Impôts sur les bénéfices', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (389,'PCG99-BASE','CHARGE','XXXXXX', '696', '386', 'Suppléments d''impôt sur les sociétés liés aux distributions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (390,'PCG99-BASE','CHARGE','XXXXXX', '697', '386', 'Imposition forfaitaire annuelle des sociétés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (391,'PCG99-BASE','CHARGE','XXXXXX', '698', '386', 'Intégration fiscale', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (392,'PCG99-BASE','CHARGE','XXXXXX', '699', '386', 'Produits - Reports en arrière des déficits', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (393,'PCG99-BASE','PROD', 'XXXXXX', '70','1507', 'Ventes de produits fabriqués, prestations de services, marchandises', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (394,'PCG99-BASE','PROD', 'PRODUCT', '701', '393', 'Ventes de produits finis', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (395,'PCG99-BASE','PROD', 'XXXXXX', '702', '393', 'Ventes de produits intermédiaires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (396,'PCG99-BASE','PROD', 'XXXXXX', '703', '393', 'Ventes de produits résiduels', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (397,'PCG99-BASE','PROD', 'XXXXXX', '704', '393', 'Travaux', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (398,'PCG99-BASE','PROD', 'XXXXXX', '705', '393', 'Etudes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (399,'PCG99-BASE','PROD', 'SERVICE', '706', '393', 'Prestations de services', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (400,'PCG99-BASE','PROD', 'PRODUCT', '707', '393', 'Ventes de marchandises', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (401,'PCG99-BASE','PROD', 'PRODUCT', '708', '393', 'Produits des activités annexes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (402,'PCG99-BASE','PROD', 'XXXXXX', '709', '393', 'Rabais, remises et ristournes accordés par l''entreprise', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (403,'PCG99-BASE','PROD', 'XXXXXX', '71','1507', 'Production stockée (ou déstockage)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (404,'PCG99-BASE','PROD', 'XXXXXX', '713', '403', 'Variation des stocks (en-cours de production, produits)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (405,'PCG99-BASE','PROD', 'XXXXXX', '72','1507', 'Production immobilisée', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (406,'PCG99-BASE','PROD', 'XXXXXX', '721', '405', 'Immobilisations incorporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (407,'PCG99-BASE','PROD', 'XXXXXX', '722', '405', 'Immobilisations corporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (408,'PCG99-BASE','PROD', 'XXXXXX', '74','1507', 'Subventions d''exploitation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (409,'PCG99-BASE','PROD', 'XXXXXX', '75','1507', 'Autres produits de gestion courante', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (410,'PCG99-BASE','PROD', 'XXXXXX', '751', '409', 'Redevances pour concessions, brevets, licences, marques, procédés, logiciels, droits et valeurs similaires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (411,'PCG99-BASE','PROD', 'XXXXXX', '752', '409', 'Revenus des immeubles non affectés à des activités professionnelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (412,'PCG99-BASE','PROD', 'XXXXXX', '753', '409', 'Jetons de présence et rémunérations d''administrateurs, gérants,...', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (413,'PCG99-BASE','PROD', 'XXXXXX', '754', '409', 'Ristournes perçues des coopératives (provenant des excédents)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (414,'PCG99-BASE','PROD', 'XXXXXX', '755', '409', 'Quotes-parts de résultat sur opérations faites en commun', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (415,'PCG99-BASE','PROD', 'XXXXXX', '758', '409', 'Produits divers de gestion courante', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (416,'PCG99-BASE','PROD', 'XXXXXX', '76','1507', 'Produits financiers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (417,'PCG99-BASE','PROD', 'XXXXXX', '761', '416', 'Produits de participations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (418,'PCG99-BASE','PROD', 'XXXXXX', '762', '416', 'Produits des autres immobilisations financières', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (419,'PCG99-BASE','PROD', 'XXXXXX', '763', '416', 'Revenus des autres créances', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (420,'PCG99-BASE','PROD', 'XXXXXX', '764', '416', 'Revenus des valeurs mobilières de placement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (421,'PCG99-BASE','PROD', 'XXXXXX', '765', '416', 'Escomptes obtenus', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (422,'PCG99-BASE','PROD', 'XXXXXX', '766', '416', 'Gains de change', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (423,'PCG99-BASE','PROD', 'XXXXXX', '767', '416', 'Produits nets sur cessions de valeurs mobilières de placement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (424,'PCG99-BASE','PROD', 'XXXXXX', '768', '416', 'Autres produits financiers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (425,'PCG99-BASE','PROD', 'XXXXXX', '77','1507', 'Produits exceptionnels', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (426,'PCG99-BASE','PROD', 'XXXXXX', '771', '425', 'Produits exceptionnels sur opérations de gestion', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (427,'PCG99-BASE','PROD', 'XXXXXX', '772', '425', '(Compte à la disposition des entités pour enregistrer, en cours d''exercice, les produits sur exercices antérieurs)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (428,'PCG99-BASE','PROD', 'XXXXXX', '775', '425', 'Produits des cessions d''éléments d''actif', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (429,'PCG99-BASE','PROD', 'XXXXXX', '777', '425', 'Quote-part des subventions d''investissement virée au résultat de l''exercice', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (430,'PCG99-BASE','PROD', 'XXXXXX', '778', '425', 'Autres produits exceptionnels', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (431,'PCG99-BASE','PROD', 'XXXXXX', '78','1507', 'Reprises sur amortissements et provisions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (432,'PCG99-BASE','PROD', 'XXXXXX', '781', '431', 'Reprises sur amortissements et provisions (à inscrire dans les produits d''exploitation)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (433,'PCG99-BASE','PROD', 'XXXXXX', '786', '431', 'Reprises sur provisions pour risques (à inscrire dans les produits financiers)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (434,'PCG99-BASE','PROD', 'XXXXXX', '787', '431', 'Reprises sur provisions (à inscrire dans les produits exceptionnels)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (435,'PCG99-BASE','PROD', 'XXXXXX', '79','1507', 'Transferts de charges', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (436,'PCG99-BASE','PROD', 'XXXXXX', '791', '435', 'Transferts de charges d''exploitation ', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (437,'PCG99-BASE','PROD', 'XXXXXX', '796', '435', 'Transferts de charges financières', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (438,'PCG99-BASE','PROD', 'XXXXXX', '797', '435', 'Transferts de charges exceptionnelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1501,'PCG99-BASE','CAPIT', 'XXXXXX', '1', '0', 'Fonds propres, provisions pour risques et charges et dettes à plus d''un an', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1502,'PCG99-BASE','IMMO', 'XXXXXX', '2', '0', 'Frais d''établissement. Actifs immobilisés et créances à plus d''un an', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1503,'PCG99-BASE','STOCK', 'XXXXXX', '3', '0', 'Stock et commandes en cours d''exécution', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1504,'PCG99-BASE','TIERS', 'XXXXXX', '4', '0', 'Créances et dettes à un an au plus', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1505,'PCG99-BASE','FINAN', 'XXXXXX', '5', '0', 'Placement de trésorerie et de valeurs disponibles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1506,'PCG99-BASE','CHARGE','XXXXXX', '6', '0', 'Charges', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1507,'PCG99-BASE','PROD', 'XXXXXX', '7', '0', 'Produits', '1'); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (103,'PCG99-BASE','CAPIT', 'XXXXXX', '10','1501', 'Capital et réserves', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (104,'PCG99-BASE','CAPIT', 'CAPITAL', '101', '103', 'Capital', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (105,'PCG99-BASE','CAPIT', 'XXXXXX', '104', '103', 'Primes liées au capital social', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (106,'PCG99-BASE','CAPIT', 'XXXXXX', '105', '103', 'Ecarts de réévaluation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (107,'PCG99-BASE','CAPIT', 'XXXXXX', '106', '103', 'Réserves', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (108,'PCG99-BASE','CAPIT', 'XXXXXX', '107', '103', 'Ecart d''equivalence', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (109,'PCG99-BASE','CAPIT', 'XXXXXX', '108', '103', 'Compte de l''exploitant', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (110,'PCG99-BASE','CAPIT', 'XXXXXX', '109', '103', 'Actionnaires : capital souscrit - non appelé', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (111,'PCG99-BASE','CAPIT', 'XXXXXX', '11','1501', 'Report à nouveau (solde créditeur ou débiteur)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (112,'PCG99-BASE','CAPIT', 'XXXXXX', '110', '111', 'Report à nouveau (solde créditeur)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (113,'PCG99-BASE','CAPIT', 'XXXXXX', '119', '111', 'Report à nouveau (solde débiteur)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (114,'PCG99-BASE','CAPIT', 'XXXXXX', '12','1501', 'Résultat de l''exercice (bénéfice ou perte)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (115,'PCG99-BASE','CAPIT', 'XXXXXX', '120', '114', 'Résultat de l''exercice (bénéfice)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (116,'PCG99-BASE','CAPIT', 'XXXXXX', '129', '114', 'Résultat de l''exercice (perte)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (117,'PCG99-BASE','CAPIT', 'XXXXXX', '13','1501', 'Subventions d''investissement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (118,'PCG99-BASE','CAPIT', 'XXXXXX', '131', '117', 'Subventions d''équipement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (119,'PCG99-BASE','CAPIT', 'XXXXXX', '138', '117', 'Autres subventions d''investissement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (120,'PCG99-BASE','CAPIT', 'XXXXXX', '139', '117', 'Subventions d''investissement inscrites au compte de résultat', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (121,'PCG99-BASE','CAPIT', 'XXXXXX', '14','1501', 'Provisions réglementées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (122,'PCG99-BASE','CAPIT', 'XXXXXX', '142', '121', 'Provisions réglementées relatives aux immobilisations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (123,'PCG99-BASE','CAPIT', 'XXXXXX', '143', '121', 'Provisions réglementées relatives aux stocks', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (124,'PCG99-BASE','CAPIT', 'XXXXXX', '144', '121', 'Provisions réglementées relatives aux autres éléments de l''actif', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (125,'PCG99-BASE','CAPIT', 'XXXXXX', '145', '121', 'Amortissements dérogatoires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (126,'PCG99-BASE','CAPIT', 'XXXXXX', '146', '121', 'Provision spéciale de réévaluation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (127,'PCG99-BASE','CAPIT', 'XXXXXX', '147', '121', 'Plus-values réinvesties', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (128,'PCG99-BASE','CAPIT', 'XXXXXX', '148', '121', 'Autres provisions réglementées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (129,'PCG99-BASE','CAPIT', 'XXXXXX', '15','1501', 'Provisions pour risques et charges', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (130,'PCG99-BASE','CAPIT', 'XXXXXX', '151', '129', 'Provisions pour risques', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (131,'PCG99-BASE','CAPIT', 'XXXXXX', '153', '129', 'Provisions pour pensions et obligations similaires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (132,'PCG99-BASE','CAPIT', 'XXXXXX', '154', '129', 'Provisions pour restructurations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (133,'PCG99-BASE','CAPIT', 'XXXXXX', '155', '129', 'Provisions pour impôts', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (134,'PCG99-BASE','CAPIT', 'XXXXXX', '156', '129', 'Provisions pour renouvellement des immobilisations (entreprises concessionnaires)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (135,'PCG99-BASE','CAPIT', 'XXXXXX', '157', '129', 'Provisions pour charges à répartir sur plusieurs exercices', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (136,'PCG99-BASE','CAPIT', 'XXXXXX', '158', '129', 'Autres provisions pour charges', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (137,'PCG99-BASE','CAPIT', 'XXXXXX', '16','1501', 'Emprunts et dettes assimilees', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (138,'PCG99-BASE','CAPIT', 'XXXXXX', '161', '137', 'Emprunts obligataires convertibles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (139,'PCG99-BASE','CAPIT', 'XXXXXX', '163', '137', 'Autres emprunts obligataires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (140,'PCG99-BASE','CAPIT', 'XXXXXX', '164', '137', 'Emprunts auprès des établissements de crédit', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (141,'PCG99-BASE','CAPIT', 'XXXXXX', '165', '137', 'Dépôts et cautionnements reçus', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (142,'PCG99-BASE','CAPIT', 'XXXXXX', '166', '137', 'Participation des salariés aux résultats', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (143,'PCG99-BASE','CAPIT', 'XXXXXX', '167', '137', 'Emprunts et dettes assortis de conditions particulières', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (144,'PCG99-BASE','CAPIT', 'XXXXXX', '168', '137', 'Autres emprunts et dettes assimilées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (145,'PCG99-BASE','CAPIT', 'XXXXXX', '169', '137', 'Primes de remboursement des obligations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (146,'PCG99-BASE','CAPIT', 'XXXXXX', '17','1501', 'Dettes rattachées à des participations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (147,'PCG99-BASE','CAPIT', 'XXXXXX', '171', '146', 'Dettes rattachées à des participations (groupe)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (148,'PCG99-BASE','CAPIT', 'XXXXXX', '174', '146', 'Dettes rattachées à des participations (hors groupe)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (149,'PCG99-BASE','CAPIT', 'XXXXXX', '178', '146', 'Dettes rattachées à des sociétés en participation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (150,'PCG99-BASE','CAPIT', 'XXXXXX', '18','1501', 'Comptes de liaison des établissements et sociétés en participation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (151,'PCG99-BASE','CAPIT', 'XXXXXX', '181', '150', 'Comptes de liaison des établissements', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (152,'PCG99-BASE','CAPIT', 'XXXXXX', '186', '150', 'Biens et prestations de services échangés entre établissements (charges)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (153,'PCG99-BASE','CAPIT', 'XXXXXX', '187', '150', 'Biens et prestations de services échangés entre établissements (produits)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (154,'PCG99-BASE','CAPIT', 'XXXXXX', '188', '150', 'Comptes de liaison des sociétés en participation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (155,'PCG99-BASE','IMMO', 'XXXXXX', '20','1502', 'Immobilisations incorporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (156,'PCG99-BASE','IMMO', 'XXXXXX', '201', '155', 'Frais d''établissement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (157,'PCG99-BASE','IMMO', 'XXXXXX', '203', '155', 'Frais de recherche et de développement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (158,'PCG99-BASE','IMMO', 'XXXXXX', '205', '155', 'Concessions et droits similaires, brevets, licences, marques, procédés, logiciels, droits et valeurs similaires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (159,'PCG99-BASE','IMMO', 'XXXXXX', '206', '155', 'Droit au bail', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (160,'PCG99-BASE','IMMO', 'XXXXXX', '207', '155', 'Fonds commercial', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (161,'PCG99-BASE','IMMO', 'XXXXXX', '208', '155', 'Autres immobilisations incorporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (162,'PCG99-BASE','IMMO', 'XXXXXX', '21','1502', 'Immobilisations corporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (163,'PCG99-BASE','IMMO', 'XXXXXX', '211', '162', 'Terrains', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (164,'PCG99-BASE','IMMO', 'XXXXXX', '212', '162', 'Agencements et aménagements de terrains', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (165,'PCG99-BASE','IMMO', 'XXXXXX', '213', '162', 'Constructions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (166,'PCG99-BASE','IMMO', 'XXXXXX', '214', '162', 'Constructions sur sol d''autrui', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (167,'PCG99-BASE','IMMO', 'XXXXXX', '215', '162', 'Installations techniques, matériels et outillage industriels', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (168,'PCG99-BASE','IMMO', 'XXXXXX', '218', '162', 'Autres immobilisations corporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (169,'PCG99-BASE','IMMO', 'XXXXXX', '22','1502', 'Immobilisations mises en concession', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (170,'PCG99-BASE','IMMO', 'XXXXXX', '23','1502', 'Immobilisations en cours', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (171,'PCG99-BASE','IMMO', 'XXXXXX', '231', '170', 'Immobilisations corporelles en cours', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (172,'PCG99-BASE','IMMO', 'XXXXXX', '232', '170', 'Immobilisations incorporelles en cours', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (173,'PCG99-BASE','IMMO', 'XXXXXX', '237', '170', 'Avances et acomptes versés sur immobilisations incorporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (174,'PCG99-BASE','IMMO', 'XXXXXX', '238', '170', 'Avances et acomptes versés sur commandes d''immobilisations corporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (175,'PCG99-BASE','IMMO', 'XXXXXX', '25','1502', 'Parts dans des entreprises liées et créances sur des entreprises liées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (176,'PCG99-BASE','IMMO', 'XXXXXX', '26','1502', 'Participations et créances rattachées à des participations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (177,'PCG99-BASE','IMMO', 'XXXXXX', '261', '176', 'Titres de participation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (178,'PCG99-BASE','IMMO', 'XXXXXX', '266', '176', 'Autres formes de participation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (179,'PCG99-BASE','IMMO', 'XXXXXX', '267', '176', 'Créances rattachées à des participations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (180,'PCG99-BASE','IMMO', 'XXXXXX', '268', '176', 'Créances rattachées à des sociétés en participation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (181,'PCG99-BASE','IMMO', 'XXXXXX', '269', '176', 'Versements restant à effectuer sur titres de participation non libérés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (182,'PCG99-BASE','IMMO', 'XXXXXX', '27','1502', 'Autres immobilisations financieres', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (183,'PCG99-BASE','IMMO', 'XXXXXX', '271', '183', 'Titres immobilisés autres que les titres immobilisés de l''activité de portefeuille (droit de propriété)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (184,'PCG99-BASE','IMMO', 'XXXXXX', '272', '183', 'Titres immobilisés (droit de créance)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (185,'PCG99-BASE','IMMO', 'XXXXXX', '273', '183', 'Titres immobilisés de l''activité de portefeuille', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (186,'PCG99-BASE','IMMO', 'XXXXXX', '274', '183', 'Prêts', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (187,'PCG99-BASE','IMMO', 'XXXXXX', '275', '183', 'Dépôts et cautionnements versés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (188,'PCG99-BASE','IMMO', 'XXXXXX', '276', '183', 'Autres créances immobilisées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (189,'PCG99-BASE','IMMO', 'XXXXXX', '277', '183', '(Actions propres ou parts propres)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (190,'PCG99-BASE','IMMO', 'XXXXXX', '279', '183', 'Versements restant à effectuer sur titres immobilisés non libérés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (191,'PCG99-BASE','IMMO', 'XXXXXX', '28','1502', 'Amortissements des immobilisations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (192,'PCG99-BASE','IMMO', 'XXXXXX', '280', '191', 'Amortissements des immobilisations incorporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (193,'PCG99-BASE','IMMO', 'XXXXXX', '281', '191', 'Amortissements des immobilisations corporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (194,'PCG99-BASE','IMMO', 'XXXXXX', '282', '191', 'Amortissements des immobilisations mises en concession', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (195,'PCG99-BASE','IMMO', 'XXXXXX', '29','1502', 'Dépréciations des immobilisations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (196,'PCG99-BASE','IMMO', 'XXXXXX', '290', '195', 'Dépréciations des immobilisations incorporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (197,'PCG99-BASE','IMMO', 'XXXXXX', '291', '195', 'Dépréciations des immobilisations corporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (198,'PCG99-BASE','IMMO', 'XXXXXX', '292', '195', 'Dépréciations des immobilisations mises en concession', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (199,'PCG99-BASE','IMMO', 'XXXXXX', '293', '195', 'Dépréciations des immobilisations en cours', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (200,'PCG99-BASE','IMMO', 'XXXXXX', '296', '195', 'Provisions pour dépréciation des participations et créances rattachées à des participations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (201,'PCG99-BASE','IMMO', 'XXXXXX', '297', '195', 'Provisions pour dépréciation des autres immobilisations financières', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (202,'PCG99-BASE','STOCK', 'XXXXXX', '31','1503', 'Matières premières (et fournitures)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (203,'PCG99-BASE','STOCK', 'XXXXXX', '311', '202', 'Matières (ou groupe) A', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (204,'PCG99-BASE','STOCK', 'XXXXXX', '312', '202', 'Matières (ou groupe) B', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (205,'PCG99-BASE','STOCK', 'XXXXXX', '317', '202', 'Fournitures A, B, C,', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (206,'PCG99-BASE','STOCK', 'XXXXXX', '32','1503', 'Autres approvisionnements', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (207,'PCG99-BASE','STOCK', 'XXXXXX', '321', '206', 'Matières consommables', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (208,'PCG99-BASE','STOCK', 'XXXXXX', '322', '206', 'Fournitures consommables', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (209,'PCG99-BASE','STOCK', 'XXXXXX', '326', '206', 'Emballages', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (210,'PCG99-BASE','STOCK', 'XXXXXX', '33','1503', 'En-cours de production de biens', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (211,'PCG99-BASE','STOCK', 'XXXXXX', '331', '210', 'Produits en cours', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (212,'PCG99-BASE','STOCK', 'XXXXXX', '335', '210', 'Travaux en cours', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (213,'PCG99-BASE','STOCK', 'XXXXXX', '34','1503', 'En-cours de production de services', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (214,'PCG99-BASE','STOCK', 'XXXXXX', '341', '213', 'Etudes en cours', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (215,'PCG99-BASE','STOCK', 'XXXXXX', '345', '213', 'Prestations de services en cours', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (216,'PCG99-BASE','STOCK', 'XXXXXX', '35','1503', 'Stocks de produits', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (217,'PCG99-BASE','STOCK', 'XXXXXX', '351', '216', 'Produits intermédiaires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (218,'PCG99-BASE','STOCK', 'XXXXXX', '355', '216', 'Produits finis', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (219,'PCG99-BASE','STOCK', 'XXXXXX', '358', '216', 'Produits résiduels (ou matières de récupération)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (220,'PCG99-BASE','STOCK', 'XXXXXX', '37','1503', 'Stocks de marchandises', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (221,'PCG99-BASE','STOCK', 'XXXXXX', '371', '220', 'Marchandises (ou groupe) A', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (222,'PCG99-BASE','STOCK', 'XXXXXX', '372', '220', 'Marchandises (ou groupe) B', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (223,'PCG99-BASE','STOCK', 'XXXXXX', '39','1503', 'Provisions pour dépréciation des stocks et en-cours', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (224,'PCG99-BASE','STOCK', 'XXXXXX', '391', '223', 'Provisions pour dépréciation des matières premières', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (225,'PCG99-BASE','STOCK', 'XXXXXX', '392', '223', 'Provisions pour dépréciation des autres approvisionnements', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (226,'PCG99-BASE','STOCK', 'XXXXXX', '393', '223', 'Provisions pour dépréciation des en-cours de production de biens', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (227,'PCG99-BASE','STOCK', 'XXXXXX', '394', '223', 'Provisions pour dépréciation des en-cours de production de services', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (228,'PCG99-BASE','STOCK', 'XXXXXX', '395', '223', 'Provisions pour dépréciation des stocks de produits', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (229,'PCG99-BASE','STOCK', 'XXXXXX', '397', '223', 'Provisions pour dépréciation des stocks de marchandises', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (230,'PCG99-BASE','TIERS', 'XXXXXX', '40','1504', 'Fournisseurs et Comptes rattachés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (231,'PCG99-BASE','TIERS', 'XXXXXX', '400', '230', 'Fournisseurs et Comptes rattachés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (232,'PCG99-BASE','TIERS', 'SUPPLIER','401', '230', 'Fournisseurs', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (233,'PCG99-BASE','TIERS', 'XXXXXX', '403', '230', 'Fournisseurs - Effets à payer', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (234,'PCG99-BASE','TIERS', 'XXXXXX', '404', '230', 'Fournisseurs d''immobilisations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (235,'PCG99-BASE','TIERS', 'XXXXXX', '405', '230', 'Fournisseurs d''immobilisations - Effets à payer', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (236,'PCG99-BASE','TIERS', 'XXXXXX', '408', '230', 'Fournisseurs - Factures non parvenues', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (237,'PCG99-BASE','TIERS', 'XXXXXX', '409', '230', 'Fournisseurs débiteurs', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (238,'PCG99-BASE','TIERS', 'XXXXXX', '41','1504', 'Clients et comptes rattachés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (239,'PCG99-BASE','TIERS', 'XXXXXX', '410', '238', 'Clients et Comptes rattachés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (240,'PCG99-BASE','TIERS', 'CUSTOMER','411', '238', 'Clients', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (241,'PCG99-BASE','TIERS', 'XXXXXX', '413', '238', 'Clients - Effets à recevoir', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (242,'PCG99-BASE','TIERS', 'XXXXXX', '416', '238', 'Clients douteux ou litigieux', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (243,'PCG99-BASE','TIERS', 'XXXXXX', '418', '238', 'Clients - Produits non encore facturés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (244,'PCG99-BASE','TIERS', 'XXXXXX', '419', '238', 'Clients créditeurs', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (245,'PCG99-BASE','TIERS', 'XXXXXX', '42','1504', 'Personnel et comptes rattachés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (246,'PCG99-BASE','TIERS', 'XXXXXX', '421', '245', 'Personnel - Rémunérations dues', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (247,'PCG99-BASE','TIERS', 'XXXXXX', '422', '245', 'Comités d''entreprises, d''établissement, ...', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (248,'PCG99-BASE','TIERS', 'XXXXXX', '424', '245', 'Participation des salariés aux résultats', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (249,'PCG99-BASE','TIERS', 'XXXXXX', '425', '245', 'Personnel - Avances et acomptes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (250,'PCG99-BASE','TIERS', 'XXXXXX', '426', '245', 'Personnel - Dépôts', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (251,'PCG99-BASE','TIERS', 'XXXXXX', '427', '245', 'Personnel - Oppositions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (252,'PCG99-BASE','TIERS', 'XXXXXX', '428', '245', 'Personnel - Charges à payer et produits à recevoir', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (253,'PCG99-BASE','TIERS', 'XXXXXX', '43','1504', 'Sécurité sociale et autres organismes sociaux', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (254,'PCG99-BASE','TIERS', 'XXXXXX', '431', '253', 'Sécurité sociale', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (255,'PCG99-BASE','TIERS', 'XXXXXX', '437', '253', 'Autres organismes sociaux', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (256,'PCG99-BASE','TIERS', 'XXXXXX', '438', '253', 'Organismes sociaux - Charges à payer et produits à recevoir', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (257,'PCG99-BASE','TIERS', 'XXXXXX', '44','1504', 'État et autres collectivités publiques', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (258,'PCG99-BASE','TIERS', 'XXXXXX', '441', '257', 'État - Subventions à recevoir', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (259,'PCG99-BASE','TIERS', 'XXXXXX', '442', '257', 'Etat - Impôts et taxes recouvrables sur des tiers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (260,'PCG99-BASE','TIERS', 'XXXXXX', '443', '257', 'Opérations particulières avec l''Etat, les collectivités publiques, les organismes internationaux', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (261,'PCG99-BASE','TIERS', 'XXXXXX', '444', '257', 'Etat - Impôts sur les bénéfices', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (262,'PCG99-BASE','TIERS', 'XXXXXX', '445', '257', 'Etat - Taxes sur le chiffre d''affaires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (263,'PCG99-BASE','TIERS', 'XXXXXX', '446', '257', 'Obligations cautionnées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (264,'PCG99-BASE','TIERS', 'XXXXXX', '447', '257', 'Autres impôts, taxes et versements assimilés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (265,'PCG99-BASE','TIERS', 'XXXXXX', '448', '257', 'Etat - Charges à payer et produits à recevoir', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (266,'PCG99-BASE','TIERS', 'XXXXXX', '449', '257', 'Quotas d''émission à restituer à l''Etat', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (267,'PCG99-BASE','TIERS', 'XXXXXX', '45','1504', 'Groupe et associes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (268,'PCG99-BASE','TIERS', 'XXXXXX', '451', '267', 'Groupe', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (269,'PCG99-BASE','TIERS', 'XXXXXX', '455', '267', 'Associés - Comptes courants', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (270,'PCG99-BASE','TIERS', 'XXXXXX', '456', '267', 'Associés - Opérations sur le capital', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (271,'PCG99-BASE','TIERS', 'XXXXXX', '457', '267', 'Associés - Dividendes à payer', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (272,'PCG99-BASE','TIERS', 'XXXXXX', '458', '267', 'Associés - Opérations faites en commun et en G.I.E.', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (273,'PCG99-BASE','TIERS', 'XXXXXX', '46','1504', 'Débiteurs divers et créditeurs divers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (274,'PCG99-BASE','TIERS', 'XXXXXX', '462', '273', 'Créances sur cessions d''immobilisations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (275,'PCG99-BASE','TIERS', 'XXXXXX', '464', '273', 'Dettes sur acquisitions de valeurs mobilières de placement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (276,'PCG99-BASE','TIERS', 'XXXXXX', '465', '273', 'Créances sur cessions de valeurs mobilières de placement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (277,'PCG99-BASE','TIERS', 'XXXXXX', '467', '273', 'Autres comptes débiteurs ou créditeurs', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (278,'PCG99-BASE','TIERS', 'XXXXXX', '468', '273', 'Divers - Charges à payer et produits à recevoir', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (279,'PCG99-BASE','TIERS', 'XXXXXX', '47','1504', 'Comptes transitoires ou d''attente', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (280,'PCG99-BASE','TIERS', 'XXXXXX', '471', '279', 'Comptes d''attente', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (281,'PCG99-BASE','TIERS', 'XXXXXX', '476', '279', 'Différence de conversion - Actif', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (282,'PCG99-BASE','TIERS', 'XXXXXX', '477', '279', 'Différences de conversion - Passif', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (283,'PCG99-BASE','TIERS', 'XXXXXX', '478', '279', 'Autres comptes transitoires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (284,'PCG99-BASE','TIERS', 'XXXXXX', '48','1504', 'Comptes de régularisation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (285,'PCG99-BASE','TIERS', 'XXXXXX', '481', '284', 'Charges à répartir sur plusieurs exercices', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (286,'PCG99-BASE','TIERS', 'XXXXXX', '486', '284', 'Charges constatées d''avance', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (287,'PCG99-BASE','TIERS', 'XXXXXX', '487', '284', 'Produits constatés d''avance', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (288,'PCG99-BASE','TIERS', 'XXXXXX', '488', '284', 'Comptes de répartition périodique des charges et des produits', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (289,'PCG99-BASE','TIERS', 'XXXXXX', '489', '284', 'Quotas d''émission alloués par l''Etat', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (290,'PCG99-BASE','TIERS', 'XXXXXX', '49','1504', 'Provisions pour dépréciation des comptes de tiers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (291,'PCG99-BASE','TIERS', 'XXXXXX', '491', '290', 'Provisions pour dépréciation des comptes de clients', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (292,'PCG99-BASE','TIERS', 'XXXXXX', '495', '290', 'Provisions pour dépréciation des comptes du groupe et des associés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (293,'PCG99-BASE','TIERS', 'XXXXXX', '496', '290', 'Provisions pour dépréciation des comptes de débiteurs divers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (294,'PCG99-BASE','FINAN', 'XXXXXX', '50','1505', 'Valeurs mobilières de placement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (295,'PCG99-BASE','FINAN', 'XXXXXX', '501', '294', 'Parts dans des entreprises liées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (296,'PCG99-BASE','FINAN', 'XXXXXX', '502', '294', 'Actions propres', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (297,'PCG99-BASE','FINAN', 'XXXXXX', '503', '294', 'Actions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (298,'PCG99-BASE','FINAN', 'XXXXXX', '504', '294', 'Autres titres conférant un droit de propriété', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (299,'PCG99-BASE','FINAN', 'XXXXXX', '505', '294', 'Obligations et bons émis par la société et rachetés par elle', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (300,'PCG99-BASE','FINAN', 'XXXXXX', '506', '294', 'Obligations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (301,'PCG99-BASE','FINAN', 'XXXXXX', '507', '294', 'Bons du Trésor et bons de caisse à court terme', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (302,'PCG99-BASE','FINAN', 'XXXXXX', '508', '294', 'Autres valeurs mobilières de placement et autres créances assimilées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (303,'PCG99-BASE','FINAN', 'XXXXXX', '509', '294', 'Versements restant à effectuer sur valeurs mobilières de placement non libérées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (304,'PCG99-BASE','FINAN', 'XXXXXX', '51','1505', 'Banques, établissements financiers et assimilés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (305,'PCG99-BASE','FINAN', 'XXXXXX', '511', '304', 'Valeurs à l''encaissement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (306,'PCG99-BASE','FINAN', 'BANK', '512', '304', 'Banques', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (307,'PCG99-BASE','FINAN', 'XXXXXX', '514', '304', 'Chèques postaux', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (308,'PCG99-BASE','FINAN', 'XXXXXX', '515', '304', '"Caisses" du Trésor et des établissements publics', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (309,'PCG99-BASE','FINAN', 'XXXXXX', '516', '304', 'Sociétés de bourse', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (310,'PCG99-BASE','FINAN', 'XXXXXX', '517', '304', 'Autres organismes financiers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (311,'PCG99-BASE','FINAN', 'XXXXXX', '518', '304', 'Intérêts courus', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (312,'PCG99-BASE','FINAN', 'XXXXXX', '519', '304', 'Concours bancaires courants', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (313,'PCG99-BASE','FINAN', 'XXXXXX', '52','1505', 'Instruments de trésorerie', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (314,'PCG99-BASE','FINAN', 'CASH', '53','1505', 'Caisse', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (315,'PCG99-BASE','FINAN', 'XXXXXX', '531', '314', 'Caisse siège social', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (316,'PCG99-BASE','FINAN', 'XXXXXX', '532', '314', 'Caisse succursale (ou usine) A', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (317,'PCG99-BASE','FINAN', 'XXXXXX', '533', '314', 'Caisse succursale (ou usine) B', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (318,'PCG99-BASE','FINAN', 'XXXXXX', '54','1505', 'Régies d''avance et accréditifs', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (319,'PCG99-BASE','FINAN', 'XXXXXX', '58','1505', 'Virements internes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (320,'PCG99-BASE','FINAN', 'XXXXXX', '59','1505', 'Provisions pour dépréciation des comptes financiers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (321,'PCG99-BASE','FINAN', 'XXXXXX', '590', '320', 'Provisions pour dépréciation des valeurs mobilières de placement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (322,'PCG99-BASE','CHARGE','PRODUCT', '60','1506', 'Achats', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (323,'PCG99-BASE','CHARGE','XXXXXX', '601', '322', 'Achats stockés - Matières premières (et fournitures)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (324,'PCG99-BASE','CHARGE','XXXXXX', '602', '322', 'Achats stockés - Autres approvisionnements', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (325,'PCG99-BASE','CHARGE','XXXXXX', '603', '322', 'Variations des stocks (approvisionnements et marchandises)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (326,'PCG99-BASE','CHARGE','XXXXXX', '604', '322', 'Achats stockés - Matières premières (et fournitures)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (327,'PCG99-BASE','CHARGE','XXXXXX', '605', '322', 'Achats de matériel, équipements et travaux', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (328,'PCG99-BASE','CHARGE','XXXXXX', '606', '322', 'Achats non stockés de matière et fournitures', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (329,'PCG99-BASE','CHARGE','XXXXXX', '607', '322', 'Achats de marchandises', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (330,'PCG99-BASE','CHARGE','XXXXXX', '608', '322', '(Compte réservé, le cas échéant, à la récapitulation des frais accessoires incorporés aux achats)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (331,'PCG99-BASE','CHARGE','XXXXXX', '609', '322', 'Rabais, remises et ristournes obtenus sur achats', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (332,'PCG99-BASE','CHARGE','SERVICE', '61','1506', 'Services extérieurs', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (333,'PCG99-BASE','CHARGE','XXXXXX', '611', '332', 'Sous-traitance générale', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (334,'PCG99-BASE','CHARGE','XXXXXX', '612', '332', 'Redevances de crédit-bail', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (335,'PCG99-BASE','CHARGE','XXXXXX', '613', '332', 'Locations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (336,'PCG99-BASE','CHARGE','XXXXXX', '614', '332', 'Charges locatives et de copropriété', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (337,'PCG99-BASE','CHARGE','XXXXXX', '615', '332', 'Entretien et réparations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (338,'PCG99-BASE','CHARGE','XXXXXX', '616', '332', 'Primes d''assurances', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (339,'PCG99-BASE','CHARGE','XXXXXX', '617', '332', 'Etudes et recherches', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (340,'PCG99-BASE','CHARGE','XXXXXX', '618', '332', 'Divers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (341,'PCG99-BASE','CHARGE','XXXXXX', '619', '332', 'Rabais, remises et ristournes obtenus sur services extérieurs', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (342,'PCG99-BASE','CHARGE','XXXXXX', '62','1506', 'Autres services extérieurs', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (343,'PCG99-BASE','CHARGE','XXXXXX', '621', '342', 'Personnel extérieur à l''entreprise', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (344,'PCG99-BASE','CHARGE','XXXXXX', '622', '342', 'Rémunérations d''intermédiaires et honoraires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (345,'PCG99-BASE','CHARGE','XXXXXX', '623', '342', 'Publicité, publications, relations publiques', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (346,'PCG99-BASE','CHARGE','XXXXXX', '624', '342', 'Transports de biens et transports collectifs du personnel', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (347,'PCG99-BASE','CHARGE','XXXXXX', '625', '342', 'Déplacements, missions et réceptions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (348,'PCG99-BASE','CHARGE','XXXXXX', '626', '342', 'Frais postaux et de télécommunications', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (349,'PCG99-BASE','CHARGE','XXXXXX', '627', '342', 'Services bancaires et assimilés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (350,'PCG99-BASE','CHARGE','XXXXXX', '628', '342', 'Divers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (351,'PCG99-BASE','CHARGE','XXXXXX', '629', '342', 'Rabais, remises et ristournes obtenus sur autres services extérieurs', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (352,'PCG99-BASE','CHARGE','XXXXXX', '63','1506', 'Impôts, taxes et versements assimilés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (353,'PCG99-BASE','CHARGE','XXXXXX', '631', '352', 'Impôts, taxes et versements assimilés sur rémunérations (administrations des impôts)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (354,'PCG99-BASE','CHARGE','XXXXXX', '633', '352', 'Impôts, taxes et versements assimilés sur rémunérations (autres organismes)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (355,'PCG99-BASE','CHARGE','XXXXXX', '635', '352', 'Autres impôts, taxes et versements assimilés (administrations des impôts)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (356,'PCG99-BASE','CHARGE','XXXXXX', '637', '352', 'Autres impôts, taxes et versements assimilés (autres organismes)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (357,'PCG99-BASE','CHARGE','XXXXXX', '64','1506', 'Charges de personnel', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (358,'PCG99-BASE','CHARGE','XXXXXX', '641', '357', 'Rémunérations du personnel', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (359,'PCG99-BASE','CHARGE','XXXXXX', '644', '357', 'Rémunération du travail de l''exploitant', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (360,'PCG99-BASE','CHARGE','SOCIAL', '645', '357', 'Charges de sécurité sociale et de prévoyance', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (361,'PCG99-BASE','CHARGE','XXXXXX', '646', '357', 'Cotisations sociales personnelles de l''exploitant', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (362,'PCG99-BASE','CHARGE','XXXXXX', '647', '357', 'Autres charges sociales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (363,'PCG99-BASE','CHARGE','XXXXXX', '648', '357', 'Autres charges de personnel', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (364,'PCG99-BASE','CHARGE','XXXXXX', '65','1506', 'Autres charges de gestion courante', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (365,'PCG99-BASE','CHARGE','XXXXXX', '651', '364', 'Redevances pour concessions, brevets, licences, marques, procédés, logiciels, droits et valeurs similaires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (366,'PCG99-BASE','CHARGE','XXXXXX', '653', '364', 'Jetons de présence', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (367,'PCG99-BASE','CHARGE','XXXXXX', '654', '364', 'Pertes sur créances irrécouvrables', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (368,'PCG99-BASE','CHARGE','XXXXXX', '655', '364', 'Quote-part de résultat sur opérations faites en commun', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (369,'PCG99-BASE','CHARGE','XXXXXX', '658', '364', 'Charges diverses de gestion courante', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (370,'PCG99-BASE','CHARGE','XXXXXX', '66','1506', 'Charges financières', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (371,'PCG99-BASE','CHARGE','XXXXXX', '661', '370', 'Charges d''intérêts', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (372,'PCG99-BASE','CHARGE','XXXXXX', '664', '370', 'Pertes sur créances liées à des participations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (373,'PCG99-BASE','CHARGE','XXXXXX', '665', '370', 'Escomptes accordés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (374,'PCG99-BASE','CHARGE','XXXXXX', '666', '370', 'Pertes de change', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (375,'PCG99-BASE','CHARGE','XXXXXX', '667', '370', 'Charges nettes sur cessions de valeurs mobilières de placement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (376,'PCG99-BASE','CHARGE','XXXXXX', '668', '370', 'Autres charges financières', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (377,'PCG99-BASE','CHARGE','XXXXXX', '67','1506', 'Charges exceptionnelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (378,'PCG99-BASE','CHARGE','XXXXXX', '671', '377', 'Charges exceptionnelles sur opérations de gestion', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (379,'PCG99-BASE','CHARGE','XXXXXX', '672', '377', '(Compte à la disposition des entités pour enregistrer, en cours d''exercice, les charges sur exercices antérieurs)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (380,'PCG99-BASE','CHARGE','XXXXXX', '675', '377', 'Valeurs comptables des éléments d''actif cédés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (381,'PCG99-BASE','CHARGE','XXXXXX', '678', '377', 'Autres charges exceptionnelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (382,'PCG99-BASE','CHARGE','XXXXXX', '68','1506', 'Dotations aux amortissements et aux provisions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (383,'PCG99-BASE','CHARGE','XXXXXX', '681', '382', 'Dotations aux amortissements et aux provisions - Charges d''exploitation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (384,'PCG99-BASE','CHARGE','XXXXXX', '686', '382', 'Dotations aux amortissements et aux provisions - Charges financières', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (385,'PCG99-BASE','CHARGE','XXXXXX', '687', '382', 'Dotations aux amortissements et aux provisions - Charges exceptionnelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (386,'PCG99-BASE','CHARGE','XXXXXX', '69','1506', 'Participation des salariés - impôts sur les bénéfices et assimiles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (387,'PCG99-BASE','CHARGE','XXXXXX', '691', '386', 'Participation des salariés aux résultats', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (388,'PCG99-BASE','CHARGE','XXXXXX', '695', '386', 'Impôts sur les bénéfices', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (389,'PCG99-BASE','CHARGE','XXXXXX', '696', '386', 'Suppléments d''impôt sur les sociétés liés aux distributions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (390,'PCG99-BASE','CHARGE','XXXXXX', '697', '386', 'Imposition forfaitaire annuelle des sociétés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (391,'PCG99-BASE','CHARGE','XXXXXX', '698', '386', 'Intégration fiscale', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (392,'PCG99-BASE','CHARGE','XXXXXX', '699', '386', 'Produits - Reports en arrière des déficits', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (393,'PCG99-BASE','PROD', 'XXXXXX', '70','1507', 'Ventes de produits fabriqués, prestations de services, marchandises', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (394,'PCG99-BASE','PROD', 'PRODUCT', '701', '393', 'Ventes de produits finis', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (395,'PCG99-BASE','PROD', 'XXXXXX', '702', '393', 'Ventes de produits intermédiaires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (396,'PCG99-BASE','PROD', 'XXXXXX', '703', '393', 'Ventes de produits résiduels', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (397,'PCG99-BASE','PROD', 'XXXXXX', '704', '393', 'Travaux', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (398,'PCG99-BASE','PROD', 'XXXXXX', '705', '393', 'Etudes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (399,'PCG99-BASE','PROD', 'SERVICE', '706', '393', 'Prestations de services', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (400,'PCG99-BASE','PROD', 'PRODUCT', '707', '393', 'Ventes de marchandises', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (401,'PCG99-BASE','PROD', 'PRODUCT', '708', '393', 'Produits des activités annexes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (402,'PCG99-BASE','PROD', 'XXXXXX', '709', '393', 'Rabais, remises et ristournes accordés par l''entreprise', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (403,'PCG99-BASE','PROD', 'XXXXXX', '71','1507', 'Production stockée (ou déstockage)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (404,'PCG99-BASE','PROD', 'XXXXXX', '713', '403', 'Variation des stocks (en-cours de production, produits)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (405,'PCG99-BASE','PROD', 'XXXXXX', '72','1507', 'Production immobilisée', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (406,'PCG99-BASE','PROD', 'XXXXXX', '721', '405', 'Immobilisations incorporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (407,'PCG99-BASE','PROD', 'XXXXXX', '722', '405', 'Immobilisations corporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (408,'PCG99-BASE','PROD', 'XXXXXX', '74','1507', 'Subventions d''exploitation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (409,'PCG99-BASE','PROD', 'XXXXXX', '75','1507', 'Autres produits de gestion courante', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (410,'PCG99-BASE','PROD', 'XXXXXX', '751', '409', 'Redevances pour concessions, brevets, licences, marques, procédés, logiciels, droits et valeurs similaires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (411,'PCG99-BASE','PROD', 'XXXXXX', '752', '409', 'Revenus des immeubles non affectés à des activités professionnelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (412,'PCG99-BASE','PROD', 'XXXXXX', '753', '409', 'Jetons de présence et rémunérations d''administrateurs, gérants,...', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (413,'PCG99-BASE','PROD', 'XXXXXX', '754', '409', 'Ristournes perçues des coopératives (provenant des excédents)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (414,'PCG99-BASE','PROD', 'XXXXXX', '755', '409', 'Quotes-parts de résultat sur opérations faites en commun', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (415,'PCG99-BASE','PROD', 'XXXXXX', '758', '409', 'Produits divers de gestion courante', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (416,'PCG99-BASE','PROD', 'XXXXXX', '76','1507', 'Produits financiers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (417,'PCG99-BASE','PROD', 'XXXXXX', '761', '416', 'Produits de participations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (418,'PCG99-BASE','PROD', 'XXXXXX', '762', '416', 'Produits des autres immobilisations financières', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (419,'PCG99-BASE','PROD', 'XXXXXX', '763', '416', 'Revenus des autres créances', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (420,'PCG99-BASE','PROD', 'XXXXXX', '764', '416', 'Revenus des valeurs mobilières de placement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (421,'PCG99-BASE','PROD', 'XXXXXX', '765', '416', 'Escomptes obtenus', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (422,'PCG99-BASE','PROD', 'XXXXXX', '766', '416', 'Gains de change', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (423,'PCG99-BASE','PROD', 'XXXXXX', '767', '416', 'Produits nets sur cessions de valeurs mobilières de placement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (424,'PCG99-BASE','PROD', 'XXXXXX', '768', '416', 'Autres produits financiers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (425,'PCG99-BASE','PROD', 'XXXXXX', '77','1507', 'Produits exceptionnels', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (426,'PCG99-BASE','PROD', 'XXXXXX', '771', '425', 'Produits exceptionnels sur opérations de gestion', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (427,'PCG99-BASE','PROD', 'XXXXXX', '772', '425', '(Compte à la disposition des entités pour enregistrer, en cours d''exercice, les produits sur exercices antérieurs)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (428,'PCG99-BASE','PROD', 'XXXXXX', '775', '425', 'Produits des cessions d''éléments d''actif', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (429,'PCG99-BASE','PROD', 'XXXXXX', '777', '425', 'Quote-part des subventions d''investissement virée au résultat de l''exercice', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (430,'PCG99-BASE','PROD', 'XXXXXX', '778', '425', 'Autres produits exceptionnels', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (431,'PCG99-BASE','PROD', 'XXXXXX', '78','1507', 'Reprises sur amortissements et provisions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (432,'PCG99-BASE','PROD', 'XXXXXX', '781', '431', 'Reprises sur amortissements et provisions (à inscrire dans les produits d''exploitation)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (433,'PCG99-BASE','PROD', 'XXXXXX', '786', '431', 'Reprises sur provisions pour risques (à inscrire dans les produits financiers)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (434,'PCG99-BASE','PROD', 'XXXXXX', '787', '431', 'Reprises sur provisions (à inscrire dans les produits exceptionnels)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (435,'PCG99-BASE','PROD', 'XXXXXX', '79','1507', 'Transferts de charges', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (436,'PCG99-BASE','PROD', 'XXXXXX', '791', '435', 'Transferts de charges d''exploitation ', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (437,'PCG99-BASE','PROD', 'XXXXXX', '796', '435', 'Transferts de charges financières', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (438,'PCG99-BASE','PROD', 'XXXXXX', '797', '435', 'Transferts de charges exceptionnelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1501,'PCG99-BASE','CAPIT', 'XXXXXX', '1', '0', 'Fonds propres, provisions pour risques et charges et dettes à plus d''un an', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1502,'PCG99-BASE','IMMO', 'XXXXXX', '2', '0', 'Frais d''établissement. Actifs immobilisés et créances à plus d''un an', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1503,'PCG99-BASE','STOCK', 'XXXXXX', '3', '0', 'Stock et commandes en cours d''exécution', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1504,'PCG99-BASE','TIERS', 'XXXXXX', '4', '0', 'Créances et dettes à un an au plus', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1505,'PCG99-BASE','FINAN', 'XXXXXX', '5', '0', 'Placement de trésorerie et de valeurs disponibles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1506,'PCG99-BASE','CHARGE','XXXXXX', '6', '0', 'Charges', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1507,'PCG99-BASE','PROD', 'XXXXXX', '7', '0', 'Produits', 1); -- -- Descriptif des plans comptables BE PCMN-BASE -- -INSERT INTO llx_accounting_system (rowid, pcg_version, label, active) VALUES (3, 'PCMN-BASE', 'The base accountancy belgium plan', '1'); +INSERT INTO llx_accounting_system (rowid, pcg_version, label, active) VALUES (3, 'PCMN-BASE', 'The base accountancy belgium plan', 1); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (439, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '10', '1351', 'Capital', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (440, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '100', '439', 'Capital souscrit ou capital personnel', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (441, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1000', '440', 'Capital non amorti', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (442, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1001', '440', 'Capital amorti', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (443, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '101', '439', 'Capital non appelé', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (444, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '109', '439', 'Compte de l''exploitant', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (445, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1090', '444', 'Opérations courantes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (446, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1091', '444', 'Impôts personnels', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (447, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1092', '444', 'Rémunérations et autres avantages', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (448, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '11', '1351', 'Primes d''émission', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (449, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '12', '1351', 'Plus-values de réévaluation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (450, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '120', '449', 'Plus-values de réévaluation sur immobilisations incorporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (451, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1200', '450', 'Plus-values de réévaluation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (452, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1201', '450', 'Reprises de réductions de valeur', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (453, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '121', '449', 'Plus-values de réévaluation sur immobilisations corporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (454, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1210', '453', 'Plus-values de réévaluation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (455, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1211', '453', 'Reprises de réductions de valeur', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (456, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '122', '449', 'Plus-values de réévaluation sur immobilisations financières', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (457, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1220', '456', 'Plus-values de réévaluation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (458, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1221', '456', 'Reprises de réductions de valeur', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (459, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '123', '449', 'Plus-values de réévaluation sur stocks', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (460, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '124', '449', 'Reprises de réductions de valeur sur placements de trésorerie', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (461, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '13', '1351', 'Réserve', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (462, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '130', '461', 'Réserve légale', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (463, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '131', '461', 'Réserves indisponibles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (464, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1310', '463', 'Réserve pour actions propres', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (465, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1311', '463', 'Autres réserves indisponibles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (466, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '132', '461', 'Réserves immunisées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (467, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '133', '461', 'Réserves disponibles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (468, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1330', '467', 'Réserve pour régularisation de dividendes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (469, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1331', '467', 'Réserve pour renouvellement des immobilisations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (470, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1332', '467', 'Réserve pour installations en faveur du personnel 1333 Réserves libres', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (471, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '14', '1351', 'Bénéfice reporté (ou perte reportée)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (472, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '15', '1351', 'Subsides en capital', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (473, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '150', '472', 'Montants obtenus', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (474, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '151', '472', 'Montants transférés aux résultats', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (475, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '16', '1351', 'Provisions pour risques et charges', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (476, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '160', '475', 'Provisions pour pensions et obligations similaires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (477, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '161', '475', 'Provisions pour charges fiscales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (478, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '162', '475', 'Provisions pour grosses réparations et gros entretiens', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (479, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '163', '475', 'à 169 Provisions pour autres risques et charges', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (480, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '164', '475', 'Provisions pour sûretés personnelles ou réelles constituées à l''appui de dettes et d''engagements de tiers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (481, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '165', '475', 'Provisions pour engagements relatifs à l''acquisition ou à la cession d''immobilisations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (482, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '166', '475', 'Provisions pour exécution de commandes passées ou reçues', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (483, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '167', '475', 'Provisions pour positions et marchés à terme en devises ou positions et marchés à terme en marchandises', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (484, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '168', '475', 'Provisions pour garanties techniques attachées aux ventes et prestations déjà effectuées par l''entreprise', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (485, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '169', '475', 'Provisions pour autres risques et charges', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (486, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1690', '485', 'Pour litiges en cours', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (487, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1691', '485', 'Pour amendes, doubles droits et pénalités', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (488, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1692', '485', 'Pour propre assureur', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (489, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1693', '485', 'Pour risques inhérents aux opérations de crédits à moyen ou long terme', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (490, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1695', '485', 'Provision pour charge de liquidation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (491, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1696', '485', 'Provision pour départ de personnel', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (492, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1699', '485', 'Pour risques divers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (493, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17', '1351', 'Dettes à plus d''un an', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (494, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '170', '493', 'Emprunts subordonnés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (495, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1700', '494', 'Convertibles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (496, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1701', '494', 'Non convertibles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (497, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '171', '493', 'Emprunts obligataires non subordonnés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (498, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1710', '498', 'Convertibles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (499, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1711', '498', 'Non convertibles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (500, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '172', '493', 'Dettes de location-financement et assimilés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (501, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1720', '500', 'Dettes de location-financement de biens immobiliers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (502, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1721', '500', 'Dettes de location-financement de biens mobiliers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (503, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1722', '500', 'Dettes sur droits réels sur immeubles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (504, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '173', '493', 'Etablissements de crédit', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (505, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1730', '504', 'Dettes en compte', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (506, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17300', '505', 'Banque A', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (507, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17301', '505', 'Banque B', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (508, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17302', '505', 'Banque C', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (509, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17303', '505', 'Banque D', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (510, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1731', '504', 'Promesses', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (511, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17310', '510', 'Banque A', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (512, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17311', '510', 'Banque B', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (513, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17312', '510', 'Banque C', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (514, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17313', '510', 'Banque D', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (515, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1732', '504', 'Crédits d''acceptation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (516, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17320', '515', 'Banque A', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (517, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17321', '515', 'Banque B', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (518, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17322', '515', 'Banque C', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (519, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17323', '515', 'Banque D', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (520, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '174', '493', 'Autres emprunts', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (521, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '175', '493', 'Dettes commerciales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (522, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1750', '521', 'Fournisseurs : dettes en compte', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (523, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17500', '522', 'Entreprises apparentées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (524, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '175000', '523', 'Entreprises liées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (525, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '175001', '523', 'Entreprises avec lesquelles il existe un lien de participation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (526, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17501', '522', 'Fournisseurs ordinaires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (527, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '175010', '526', 'Fournisseurs belges', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (528, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '175011', '526', 'Fournisseurs C.E.E.', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (529, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '175012', '526', 'Fournisseurs importation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (530, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1751', '521', 'Effets à payer', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (531, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17510', '530', 'Entreprises apparentées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (532, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '175100', '531', 'Entreprises liées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (533, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '175101', '531', 'Entreprises avec lesquelles il existe un lien de participation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (534, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17511', '530', 'Fournisseurs ordinaires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (535, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '175110', '534', 'Fournisseurs belges', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (536, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '175111', '534', 'Fournisseurs C.E.E.', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (537, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '175112', '534', 'Fournisseurs importation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (538, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '176', '493', 'Acomptes reçus sur commandes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (539, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '178', '493', 'Cautionnements reçus en numéraires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (540, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '179', '493', 'Dettes diverses', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (541, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1790', '540', 'Entreprises liées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (542, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1791', '540', 'Autres entreprises avec lesquelles il existe un lien de participation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (543, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1792', '540', 'Administrateurs, gérants et associés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (544, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1794', '540', 'Rentes viagères capitalisées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (545, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1798', '540', 'Dettes envers les coparticipants des associations momentanées et en participation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (546, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1799', '540', 'Autres dettes diverses', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (547, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '18', '1351', 'Comptes de liaison des établissements et succursales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (548, 'PCMN-BASE', 'IMMO', 'XXXXXX', '20', '1352', 'Frais d''établissement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (549, 'PCMN-BASE', 'IMMO', 'XXXXXX', '200', '548', 'Frais de constitution et d''augmentation de capital', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (550, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2000', '549', 'Frais de constitution et d''augmentation de capital', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (551, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2009', '549', 'Amortissements sur frais de constitution et d''augmentation de capital', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (552, 'PCMN-BASE', 'IMMO', 'XXXXXX', '201', '548', 'Frais d''émission d''emprunts et primes de remboursement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (553, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2010', '552', 'Agios sur emprunts et frais d''émission d''emprunts', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (554, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2019', '552', 'Amortissements sur agios sur emprunts et frais d''émission d''emprunts', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (555, 'PCMN-BASE', 'IMMO', 'XXXXXX', '202', '548', 'Autres frais d''établissement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (556, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2020', '555', 'Autres frais d''établissement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (557, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2029', '555', 'Amortissements sur autres frais d''établissement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (558, 'PCMN-BASE', 'IMMO', 'XXXXXX', '203', '548', 'Intérêts intercalaires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (559, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2030', '558', 'Intérêts intercalaires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (560, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2039', '558', 'Amortissements sur intérêts intercalaires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (561, 'PCMN-BASE', 'IMMO', 'XXXXXX', '204', '548', 'Frais de restructuration', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (562, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2040', '561', 'Coût des frais de restructuration', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (563, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2049', '561', 'Amortissements sur frais de restructuration', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (564, 'PCMN-BASE', 'IMMO', 'XXXXXX', '21', '1352', 'Immobilisations incorporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (565, 'PCMN-BASE', 'IMMO', 'XXXXXX', '210', '564', 'Frais de recherche et de développement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (566, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2100', '565', 'Frais de recherche et de mise au point', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (567, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2108', '565', 'Plus-values actées sur frais de recherche et de mise au point', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (568, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2109', '565', 'Amortissements sur frais de recherche et de mise au point', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (569, 'PCMN-BASE', 'IMMO', 'XXXXXX', '211', '564', 'Concessions, brevets, licences, savoir-faire, marque et droits similaires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (570, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2110', '569', 'Concessions, brevets, licences, marques, etc', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (571, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2118', '569', 'Plus-values actées sur concessions, etc', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (572, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2119', '569', 'Amortissements sur concessions, etc', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (573, 'PCMN-BASE', 'IMMO', 'XXXXXX', '212', '564', 'Goodwill', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (574, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2120', '573', 'Coût d''acquisition', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (575, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2128', '573', 'Plus-values actées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (576, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2129', '573', 'Amortissements sur goodwill', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (577, 'PCMN-BASE', 'IMMO', 'XXXXXX', '213', '564', 'Acomptes versés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (578, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22', '1352', 'Terrains et constructions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (579, 'PCMN-BASE', 'IMMO', 'XXXXXX', '220', '578', 'Terrains', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (580, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2200', '579', 'Terrains', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (581, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2201', '579', 'Frais d''acquisition sur terrains', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (582, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2208', '579', 'Plus-values actées sur terrains', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (583, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2209', '579', 'Amortissements et réductions de valeur', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (584, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22090', '583', 'Amortissements sur frais d''acquisition', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (585, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22091', '583', 'Réductions de valeur sur terrains', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (586, 'PCMN-BASE', 'IMMO', 'XXXXXX', '221', '578', 'Constructions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (587, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2210', '586', 'Bâtiments industriels', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (588, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2211', '586', 'Bâtiments administratifs et commerciaux', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (589, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2212', '586', 'Autres bâtiments d''exploitation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (590, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2213', '586', 'Voies de transport et ouvrages d''art', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (591, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2215', '586', 'Constructions sur sol d''autrui', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (592, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2216', '586', 'Frais d''acquisition sur constructions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (593, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2218', '586', 'Plus-values actées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (594, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22180', '593', 'Sur bâtiments industriels', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (595, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22181', '593', 'Sur bâtiments administratifs et commerciaux', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (596, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22182', '593', 'Sur autres bâtiments d''exploitation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (597, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22184', '593', 'Sur voies de transport et ouvrages d''art', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (598, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2219', '586', 'Amortissements sur constructions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (599, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22190', '598', 'Sur bâtiments industriels', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (600, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22191', '598', 'Sur bâtiments administratifs et commerciaux', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (601, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22192', '598', 'Sur autres bâtiments d''exploitation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (602, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22194', '598', 'Sur voies de transport et ouvrages d''art', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (603, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22195', '598', 'Sur constructions sur sol d''autrui', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (604, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22196', '598', 'Sur frais d''acquisition sur constructions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (605, 'PCMN-BASE', 'IMMO', 'XXXXXX', '222', '578', 'Terrains bâtis', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (606, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2220', '605', 'Valeur d''acquisition', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (607, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22200', '606', 'Bâtiments industriels', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (608, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22201', '606', 'Bâtiments administratifs et commerciaux', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (609, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22202', '606', 'Autres bâtiments d''exploitation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (610, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22203', '606', 'Voies de transport et ouvrages d''art', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (611, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22204', '606', 'Frais d''acquisition des terrains à bâtir', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (612, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2228', '605', 'Plus-values actées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (613, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22280', '612', 'Sur bâtiments industriels', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (614, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22281', '612', 'Sur bâtiments administratifs et commerciaux', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (615, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22282', '612', 'Sur autres bâtiments d''exploitation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (616, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22283', '612', 'Sur voies de transport et ouvrages d''art', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (617, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2229', '605', 'Amortissements sur terrains bâtis', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (618, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22290', '617', 'Sur bâtiments industriels', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (619, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22291', '617', 'Sur bâtiments administratifs et commerciaux', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (620, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22292', '617', 'Sur autres bâtiments d''exploitation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (621, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22293', '617', 'Sur voies de transport et ouvrages d''art', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (622, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22294', '617', 'Sur frais d''acquisition des terrains bâtis', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (623, 'PCMN-BASE', 'IMMO', 'XXXXXX', '223', '578', 'Autres droits réels sur des immeubles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (624, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2230', '623', 'Valeur d''acquisition', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (625, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2238', '623', 'Plus-values actées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (626, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2239', '623', 'Amortissements', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (627, 'PCMN-BASE', 'IMMO', 'XXXXXX', '23', '1352', 'Installations, machines et outillages', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (628, 'PCMN-BASE', 'IMMO', 'XXXXXX', '230', '627', 'Installations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (629, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2300', '628', 'Installations bâtiments industriels', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (630, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2301', '628', 'Installations bâtiments administratifs et commerciaux', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (631, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2302', '628', 'Installations bâtiments d''exploitation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (632, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2303', '628', 'Installations voies de transport et ouvrages d''art', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (633, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2300', '628', 'Installation d''eau', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (634, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2301', '628', 'Installation d''électricité', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (635, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2302', '628', 'Installation de vapeur', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (636, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2303', '628', 'Installation de gaz', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (637, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2304', '628', 'Installation de chauffage', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (638, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2305', '628', 'Installation de conditionnement d''air', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (639, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2306', '628', 'Installation de chargement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (640, 'PCMN-BASE', 'IMMO', 'XXXXXX', '231', '627', 'Machines', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (641, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2310', '640', 'Division A', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (642, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2311', '640', 'Division B', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (643, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2312', '640', 'Division C', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (644, 'PCMN-BASE', 'IMMO', 'XXXXXX', '237', '627', 'Outillage', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (645, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2370', '644', 'Division A', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (646, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2371', '644', 'Division B', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (647, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2372', '644', 'Division C', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (648, 'PCMN-BASE', 'IMMO', 'XXXXXX', '238', '627', 'Plus-values actées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (649, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2380', '648', 'Sur installations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (650, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2381', '648', 'Sur machines', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (651, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2382', '648', 'Sur outillage', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (652, 'PCMN-BASE', 'IMMO', 'XXXXXX', '239', '627', 'Amortissements', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (653, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2390', '652', 'Sur installations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (654, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2391', '652', 'Sur machines', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (655, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2392', '652', 'Sur outillage', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (656, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24', '1352', 'Mobilier et matériel roulant', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (657, 'PCMN-BASE', 'IMMO', 'XXXXXX', '240', '656', 'Mobilier', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (658, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2400', '656', 'Mobilier', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (659, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24000', '658', 'Mobilier des bâtiments industriels', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (660, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24001', '658', 'Mobilier des bâtiments administratifs et commerciaux', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (661, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24002', '658', 'Mobilier des autres bâtiments d''exploitation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (662, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24003', '658', 'Mobilier oeuvres sociales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (663, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2401', '657', 'Matériel de bureau et de service social', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (664, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24010', '663', 'Des bâtiments industriels', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (665, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24011', '663', 'Des bâtiments administratifs et commerciaux', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (666, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24012', '663', 'Des autres bâtiments d''exploitation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (667, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24013', '663', 'Des oeuvres sociales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (668, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2408', '657', 'Plus-values actées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (669, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24080', '668', 'Plus-values actées sur mobilier', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (670, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24081', '668', 'Plus-values actées sur matériel de bureau et service social', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (671, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2409', '657', 'Amortissements', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (672, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24090', '671', 'Amortissements sur mobilier', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (673, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24091', '671', 'Amortissements sur matériel de bureau et service social', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (674, 'PCMN-BASE', 'IMMO', 'XXXXXX', '241', '656', 'Matériel roulant', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (675, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2410', '674', 'Matériel automobile', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (676, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24100', '675', 'Voitures', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (677, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24105', '675', 'Camions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (678, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2411', '674', 'Matériel ferroviaire', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (679, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2412', '674', 'Matériel fluvial', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (680, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2413', '674', 'Matériel naval', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (681, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2414', '674', 'Matériel aérien', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (682, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2418', '674', 'Plus-values sur matériel roulant', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (683, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24180', '682', 'Plus-values sur matériel automobile', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (684, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24181', '682', 'Idem sur matériel ferroviaire', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (685, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24182', '682', 'Idem sur matériel fluvial', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (686, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24183', '682', 'Idem sur matériel naval', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (687, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24184', '682', 'Idem sur matériel aérien', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (688, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2419', '674', 'Amortissements sur matériel roulant', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (689, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24190', '688', 'Amortissements sur matériel automobile', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (690, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24191', '688', 'Idem sur matériel ferroviaire', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (691, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24192', '688', 'Idem sur matériel fluvial', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (692, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24193', '688', 'Idem sur matériel naval', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (693, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24194', '688', 'Idem sur matériel aérien', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (694, 'PCMN-BASE', 'IMMO', 'XXXXXX', '25', '1352', 'Immobilisation détenues en location-financement et droits similaires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (695, 'PCMN-BASE', 'IMMO', 'XXXXXX', '250', '694', 'Terrains et constructions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (696, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2500', '695', 'Terrains', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (697, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2501', '695', 'Constructions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (698, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2508', '695', 'Plus-values sur emphytéose, leasing et droits similaires : terrains et constructions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (699, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2509', '695', 'Amortissements et réductions de valeur sur terrains et constructions en leasing', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (700, 'PCMN-BASE', 'IMMO', 'XXXXXX', '251', '694', 'Installations, machines et outillage', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (701, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2510', '700', 'Installations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (702, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2511', '700', 'Machines', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (703, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2512', '700', 'Outillage', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (704, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2518', '700', 'Plus-values actées sur installations machines et outillage pris en leasing', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (705, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2519', '700', 'Amortissements sur installations machines et outillage pris en leasing', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (706, 'PCMN-BASE', 'IMMO', 'XXXXXX', '252', '694', 'Mobilier et matériel roulant', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (707, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2520', '706', 'Mobilier', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (708, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2521', '706', 'Matériel roulant', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (709, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2528', '706', 'Plus-values actées sur mobilier et matériel roulant en leasing', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (710, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2529', '706', 'Amortissements sur mobilier et matériel roulant en leasing', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (711, 'PCMN-BASE', 'IMMO', 'XXXXXX', '26', '1352', 'Autres immobilisations corporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (712, 'PCMN-BASE', 'IMMO', 'XXXXXX', '260', '711', 'Frais d''aménagements de locaux pris en location', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (713, 'PCMN-BASE', 'IMMO', 'XXXXXX', '261', '711', 'Maison d''habitation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (714, 'PCMN-BASE', 'IMMO', 'XXXXXX', '262', '711', 'Réserve immobilière', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (715, 'PCMN-BASE', 'IMMO', 'XXXXXX', '263', '711', 'Matériel d''emballage', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (716, 'PCMN-BASE', 'IMMO', 'XXXXXX', '264', '711', 'Emballages récupérables', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (717, 'PCMN-BASE', 'IMMO', 'XXXXXX', '268', '711', 'Plus-values actées sur autres immobilisations corporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (718, 'PCMN-BASE', 'IMMO', 'XXXXXX', '269', '711', 'Amortissements sur autres immobilisations corporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (719, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2690', '718', 'Amortissements sur frais d''aménagement des locaux pris en location', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (720, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2691', '718', 'Amortissements sur maison d''habitation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (721, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2692', '718', 'Amortissements sur réserve immobilière', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (722, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2693', '718', 'Amortissements sur matériel d''emballage', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (723, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2694', '718', 'Amortissements sur emballages récupérables', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (724, 'PCMN-BASE', 'IMMO', 'XXXXXX', '27', '1352', 'Immobilisations corporelles en cours et acomptes versés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (725, 'PCMN-BASE', 'IMMO', 'XXXXXX', '270', '724', 'Immobilisations en cours', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (726, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2700', '725', 'Constructions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (727, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2701', '725', 'Installations machines et outillage', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (728, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2702', '725', 'Mobilier et matériel roulant', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (729, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2703', '725', 'Autres immobilisations corporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (730, 'PCMN-BASE', 'IMMO', 'XXXXXX', '271', '724', 'Avances et acomptes versés sur immobilisations en cours', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (731, 'PCMN-BASE', 'IMMO', 'XXXXXX', '28', '1352', 'Immobilisations financières', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (732, 'PCMN-BASE', 'IMMO', 'XXXXXX', '280', '731', 'Participations dans des entreprises liées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (733, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2800', '732', 'Valeur d''acquisition (peut être subdivisé par participation)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (734, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2801', '732', 'Montants non appelés (idem)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (735, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2808', '732', 'Plus-values actées (idem)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (736, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2809', '732', 'Réductions de valeurs actées (idem)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (737, 'PCMN-BASE', 'IMMO', 'XXXXXX', '281', '731', 'Créances sur des entreprises liées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (738, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2810', '737', 'Créances en compte', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (739, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2811', '737', 'Effets à recevoir', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (740, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2812', '737', 'Titres à revenu fixes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (741, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2817', '737', 'Créances douteuses', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (742, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2819', '737', 'Réductions de valeurs actées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (743, 'PCMN-BASE', 'IMMO', 'XXXXXX', '282', '731', 'Participations dans des entreprises avec lesquelles il existe un lien de participation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (744, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2820', '743', 'Valeur d''acquisition (peut être subdivisé par participation)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (745, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2821', '743', 'Montants non appelés (idem)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (746, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2828', '743', 'Plus-values actées (idem)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (747, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2829', '743', 'Réductions de valeurs actées (idem)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (748, 'PCMN-BASE', 'IMMO', 'XXXXXX', '283', '731', 'Créances sur des entreprises avec lesquelles il existe un lien de participation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (749, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2830', '748', 'Créances en compte', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (750, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2831', '748', 'Effets à recevoir', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (751, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2832', '748', 'Titres à revenu fixe', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (752, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2837', '748', 'Créances douteuses', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (753, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2839', '748', 'Réductions de valeurs actées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (754, 'PCMN-BASE', 'IMMO', 'XXXXXX', '284', '731', 'Autres actions et parts', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (755, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2840', '754', 'Valeur d''acquisition', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (756, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2841', '754', 'Montants non appelés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (757, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2848', '754', 'Plus-values actées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (758, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2849', '754', 'Réductions de valeur actées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (759, 'PCMN-BASE', 'IMMO', 'XXXXXX', '285', '731', 'Autres créances', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (760, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2850', '759', 'Créances en compte', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (761, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2851', '759', 'Effets à recevoir', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (762, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2852', '759', 'Titres à revenu fixe', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (763, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2857', '759', 'Créances douteuses', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (764, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2859', '759', 'Réductions de valeur actées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (765, 'PCMN-BASE', 'IMMO', 'XXXXXX', '288', '731', 'Cautionnements versés en numéraires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (766, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2880', '765', 'Téléphone, téléfax, télex', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (767, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2881', '765', 'Gaz', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (768, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2882', '765', 'Eau', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (769, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2883', '765', 'Electricité', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (770, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2887', '765', 'Autres cautionnements versés en numéraires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (771, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29', '1352', 'Créances à plus d''un an', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (772, 'PCMN-BASE', 'IMMO', 'XXXXXX', '290', '771', 'Créances commerciales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (773, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2900', '772', 'Clients', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (774, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29000', '773', 'Créances en compte sur entreprises liées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (775, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29001', '773', 'Sur entreprises avec lesquelles il existe un lien de participation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (776, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29002', '773', 'Sur clients Belgique', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (777, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29003', '773', 'Sur clients C.E.E.', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (778, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29004', '773', 'Sur clients exportation hors C.E.E.', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (779, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29005', '773', 'Créances sur les coparticipants (associations momentanées)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (780, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2901', '772', 'Effets à recevoir', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (781, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29010', '780', 'Sur entreprises liées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (782, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29011', '780', 'Sur entreprises avec lesquelles il existe un lien de participation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (783, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29012', '780', 'Sur clients Belgique', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (784, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29013', '780', 'Sur clients C.E.E.', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (785, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29014', '780', 'Sur clients exportation hors C.E.E.', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (786, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2905', '772', 'Retenues sur garanties', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (787, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2906', '772', 'Acomptes versés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (788, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2907', '772', 'Créances douteuses (à ventiler comme clients 2900)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (789, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2909', '772', 'Réductions de valeur actées (à ventiler comme clients 2900)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (790, 'PCMN-BASE', 'IMMO', 'XXXXXX', '291', '771', 'Autres créances', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (791, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2910', '790', 'Créances en compte', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (792, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29100', '791', 'Sur entreprises liées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (793, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29101', '791', 'Sur entreprises avec lesquelles il existe un lien de participation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (794, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29102', '791', 'Sur autres débiteurs', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (795, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2911', '790', 'Effets à recevoir', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (796, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29110', '795', 'Sur entreprises liées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (797, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29111', '795', 'Sur entreprises avec lesquelles il existe un lien de participation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (798, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29112', '795', 'Sur autres débiteurs', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (799, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2912', '790', 'Créances résultant de la cession d''immobilisations données en leasing', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (800, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2917', '790', 'Créances douteuses', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (801, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2919', '790', 'Réductions de valeur actées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (802, 'PCMN-BASE', 'STOCK', 'XXXXXX', '30', '1353', 'Approvisionnements - matières premières', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (803, 'PCMN-BASE', 'STOCK', 'XXXXXX', '300', '802', 'Valeur d''acquisition', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (804, 'PCMN-BASE', 'STOCK', 'XXXXXX', '309', '802', 'Réductions de valeur actées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (805, 'PCMN-BASE', 'STOCK', 'XXXXXX', '31', '1353', 'Approvsionnements et fournitures', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (806, 'PCMN-BASE', 'STOCK', 'XXXXXX', '310', '805', 'Valeur d''acquisition', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (807, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3100', '806', 'Matières d''approvisionnement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (808, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3101', '806', 'Energie, charbon, coke, mazout, essence, propane', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (809, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3102', '806', 'Produits d''entretien', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (810, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3103', '806', 'Fournitures diverses et petit outillage', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (811, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3104', '806', 'Imprimés et fournitures de bureau', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (812, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3105', '806', 'Fournitures de services sociaux', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (813, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3106', '806', 'Emballages commerciaux', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (814, 'PCMN-BASE', 'STOCK', 'XXXXXX', '31060', '813', 'Emballages perdus', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (815, 'PCMN-BASE', 'STOCK', 'XXXXXX', '31061', '813', 'Emballages récupérables', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (816, 'PCMN-BASE', 'STOCK', 'XXXXXX', '319', '805', 'Réductions de valeur actées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (817, 'PCMN-BASE', 'STOCK', 'XXXXXX', '32', '1353', 'En cours de fabrication', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (818, 'PCMN-BASE', 'STOCK', 'XXXXXX', '320', '817', 'Valeur d''acquisition', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (819, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3200', '818', 'Produits semi-ouvrés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (820, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3201', '818', 'Produits en cours de fabrication', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (821, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3202', '818', 'Travaux en cours', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (822, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3205', '818', 'Déchets', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (823, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3206', '818', 'Rebuts', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (824, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3209', '818', 'Travaux en association momentanée', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (825, 'PCMN-BASE', 'STOCK', 'XXXXXX', '329', '817', 'Réductions de valeur actées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (826, 'PCMN-BASE', 'STOCK', 'XXXXXX', '33', '1353', 'Produits finis', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (827, 'PCMN-BASE', 'STOCK', 'XXXXXX', '330', '826', 'Valeur d''acquisition', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (828, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3300', '827', 'Produits finis', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (829, 'PCMN-BASE', 'STOCK', 'XXXXXX', '339', '826', 'Réductions de valeur actées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (830, 'PCMN-BASE', 'STOCK', 'XXXXXX', '34', '1353', 'Marchandises', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (831, 'PCMN-BASE', 'STOCK', 'XXXXXX', '340', '830', 'Valeur d''acquisition', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (832, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3400', '831', 'Groupe A', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (833, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3401', '831', 'Groupe B', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (834, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3402', '831', 'Groupe C', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (835, 'PCMN-BASE', 'STOCK', 'XXXXXX', '349', '830', 'Réductions de valeur actées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (836, 'PCMN-BASE', 'STOCK', 'XXXXXX', '35', '1353', 'Immeubles destinés à la vente', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (837, 'PCMN-BASE', 'STOCK', 'XXXXXX', '350', '836', 'Valeur d''acquisition', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (838, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3500', '837', 'Immeuble A', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (839, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3501', '837', 'Immeuble B', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (840, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3502', '837', 'Immeuble C', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (841, 'PCMN-BASE', 'STOCK', 'XXXXXX', '351', '836', 'Immeubles construits en vue de leur revente', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (842, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3510', '841', 'Immeuble A', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (843, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3511', '841', 'Immeuble B', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (844, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3512', '841', 'Immeuble C', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (845, 'PCMN-BASE', 'STOCK', 'XXXXXX', '359', '836', 'Réductions de valeurs actées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (846, 'PCMN-BASE', 'STOCK', 'XXXXXX', '36', '1353', 'Acomptes versés sur achats pour stocks', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (847, 'PCMN-BASE', 'STOCK', 'XXXXXX', '360', '846', 'Acomptes versés (à ventiler éventuellement par catégorie)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (848, 'PCMN-BASE', 'STOCK', 'XXXXXX', '369', '846', 'Réductions de valeur actées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (849, 'PCMN-BASE', 'STOCK', 'XXXXXX', '37', '1353', 'Commandes en cours d''exécution', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (850, 'PCMN-BASE', 'STOCK', 'XXXXXX', '370', '849', 'Valeur d''acquisition', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (851, 'PCMN-BASE', 'STOCK', 'XXXXXX', '371', '849', 'Bénéfice pris en compte', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (852, 'PCMN-BASE', 'STOCK', 'XXXXXX', '379', '849', 'Réductions de valeur actées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (853, 'PCMN-BASE', 'TIERS', 'XXXXXX', '40', '1354', 'Créances commerciales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (854, 'PCMN-BASE', 'TIERS', 'XXXXXX', '400', '853', 'Clients', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (855, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4007', '854', 'Rabais, remises et ristournes à accorder et autres notes de crédit à établir', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (856, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4008', '854', 'Créances résultant de livraisons de biens (associations momentanées)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (857, 'PCMN-BASE', 'TIERS', 'XXXXXX', '401', '853', 'Effets à recevoir', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (858, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4010', '857', 'Effets à recevoir', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (859, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4013', '857', 'Effets à l''encaissement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (860, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4015', '857', 'Effets à l''escompte', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (861, 'PCMN-BASE', 'TIERS', 'XXXXXX', '402', '853', 'Clients, créances courantes, entreprises apparentées, administrateurs et gérants', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (862, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4020', '861', 'Entreprises liées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (863, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4021', '861', 'Autres entreprises avec lesquelles il existe un lien de participation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (864, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4022', '861', 'Administrateurs et gérants d''entreprise', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (865, 'PCMN-BASE', 'TIERS', 'XXXXXX', '403', '853', 'Effets à recevoir sur entreprises apparentées et administrateurs et gérants', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (866, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4030', '865', 'Entreprises liées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (867, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4031', '865', 'Autres entreprises avec lesquelles il existe un lien de participation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (868, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4032', '865', 'Administrateurs et gérants de l''entreprise', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (869, 'PCMN-BASE', 'TIERS', 'XXXXXX', '404', '853', 'Produits à recevoir (factures à établir)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (870, 'PCMN-BASE', 'TIERS', 'XXXXXX', '405', '853', 'Clients : retenues sur garanties', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (871, 'PCMN-BASE', 'TIERS', 'XXXXXX', '406', '853', 'Acomptes versés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (872, 'PCMN-BASE', 'TIERS', 'XXXXXX', '407', '853', 'Créances douteuses', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (873, 'PCMN-BASE', 'TIERS', 'XXXXXX', '408', '853', 'Compensation clients', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (874, 'PCMN-BASE', 'TIERS', 'XXXXXX', '409', '853', 'Réductions de valeur actées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (875, 'PCMN-BASE', 'TIERS', 'XXXXXX', '41', '1354', 'Autres créances', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (876, 'PCMN-BASE', 'TIERS', 'XXXXXX', '410', '875', 'Capital appelé, non versé', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (877, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4100', '876', 'Appels de fonds', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (878, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4101', '876', 'Actionnaires défaillants', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (879, 'PCMN-BASE', 'TIERS', 'XXXXXX', '411', '875', 'T.V.A. à récupérer', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (880, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4110', '879', 'T.V.A. due', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (881, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4111', '879', 'T.V.A. déductible', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (882, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4112', '879', 'Compte courant administration T.V.A.', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (883, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4118', '879', 'Taxe d''égalisation due', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (884, 'PCMN-BASE', 'TIERS', 'XXXXXX', '412', '875', 'Impôts et versements fiscaux à récupérer', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (885, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4120', '884', 'Impôts belges sur le résultat', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (886, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4125', '884', 'Autres impôts belges', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (887, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4128', '884', 'Impôts étrangers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (888, 'PCMN-BASE', 'TIERS', 'XXXXXX', '414', '875', 'Produits à recevoir', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (889, 'PCMN-BASE', 'TIERS', 'XXXXXX', '416', '875', 'Créances diverses', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (890, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4160', '889', 'Associés (compte d''apport en société)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (891, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4161', '889', 'Avances et prêts au personnel', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (892, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4162', '889', 'Compte courant des associés en S.P.R.L.', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (893, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4163', '889', 'Compte courant des administrateurs et gérants', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (894, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4164', '889', 'Créances sur sociétés apparentées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (895, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4166', '889', 'Emballages et matériel à rendre', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (896, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4167', '889', 'Etat et établissements publics', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (897, 'PCMN-BASE', 'TIERS', 'XXXXXX', '41670', '896', 'Subsides à recevoir', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (898, 'PCMN-BASE', 'TIERS', 'XXXXXX', '41671', '896', 'Autres créances', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (899, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4168', '889', 'Rabais, ristournes et remises à obtenir et autres avoirs non encore reçus', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (900, 'PCMN-BASE', 'TIERS', 'XXXXXX', '417', '875', 'Créances douteuses', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (901, 'PCMN-BASE', 'TIERS', 'XXXXXX', '418', '875', 'Cautionnements versés en numéraires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (902, 'PCMN-BASE', 'TIERS', 'XXXXXX', '419', '875', 'Réductions de valeur actées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (903, 'PCMN-BASE', 'TIERS', 'XXXXXX', '42', '1354', 'Dettes à plus d''un an échéant dans l''année', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (904, 'PCMN-BASE', 'TIERS', 'XXXXXX', '420', '903', 'Emprunts subordonnés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (905, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4200', '904', 'Convertibles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (906, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4201', '904', 'Non convertibles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (907, 'PCMN-BASE', 'TIERS', 'XXXXXX', '421', '903', 'Emprunts obligataires non subordonnés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (908, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4210', '907', 'Convertibles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (909, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4211', '907', 'Non convertibles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (910, 'PCMN-BASE', 'TIERS', 'XXXXXX', '422', '903', 'Dettes de location-financement et assimilées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (911, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4220', '910', 'Financement de biens immobiliers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (912, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4221', '910', 'Financement de biens mobiliers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (913, 'PCMN-BASE', 'TIERS', 'XXXXXX', '423', '903', 'Etablissements de crédit', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (914, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4230', '913', 'Dettes en compte', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (915, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4231', '913', 'Promesses', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (916, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4232', '913', 'Crédits d''acceptation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (917, 'PCMN-BASE', 'TIERS', 'XXXXXX', '424', '903', 'Autres emprunts', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (918, 'PCMN-BASE', 'TIERS', 'XXXXXX', '425', '903', 'Dettes commerciales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (919, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4250', '918', 'Fournisseurs', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (920, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4251', '918', 'Effets à payer', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (921, 'PCMN-BASE', 'TIERS', 'XXXXXX', '426', '903', 'Cautionnements reçus en numéraires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (922, 'PCMN-BASE', 'TIERS', 'XXXXXX', '429', '903', 'Dettes diverses', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (923, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4290', '922', 'Entreprises liées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (924, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4291', '922', 'Entreprises avec lesquelles il existe un lien de participation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (925, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4292', '922', 'Administrateurs, gérants, associés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (926, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4299', '922', 'Autres dettes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (927, 'PCMN-BASE', 'TIERS', 'XXXXXX', '43', '1354', 'Dettes financières', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (928, 'PCMN-BASE', 'TIERS', 'XXXXXX', '430', '927', 'Etablissements de crédit. Emprunts en compte à terme fixe', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (929, 'PCMN-BASE', 'TIERS', 'XXXXXX', '431', '927', 'Etablissements de crédit. Promesses', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (930, 'PCMN-BASE', 'TIERS', 'XXXXXX', '432', '927', 'Etablissements de crédit. Crédits d''acceptation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (931, 'PCMN-BASE', 'TIERS', 'XXXXXX', '433', '927', 'Etablissements de crédit. Dettes en compte courant', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (932, 'PCMN-BASE', 'TIERS', 'XXXXXX', '439', '927', 'Autres emprunts', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (933, 'PCMN-BASE', 'TIERS', 'XXXXXX', '44', '1354', 'Dettes commerciales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (934, 'PCMN-BASE', 'TIERS', 'XXXXXX', '440', '933', 'Fournisseurs', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (935, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4400', '934', 'Entreprises apparentées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (936, 'PCMN-BASE', 'TIERS', 'XXXXXX', '44000', '935', 'Entreprises liées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (937, 'PCMN-BASE', 'TIERS', 'XXXXXX', '44001', '935', 'Entreprises avec lesquelles il existe un lien de participation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (938, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4401', '934', 'Fournisseurs ordinaires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (939, 'PCMN-BASE', 'TIERS', 'XXXXXX', '44010', '938', 'Fournisseurs belges', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (940, 'PCMN-BASE', 'TIERS', 'XXXXXX', '44011', '938', 'Fournisseurs CEE', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (941, 'PCMN-BASE', 'TIERS', 'XXXXXX', '44012', '938', 'Fournisseurs importation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (942, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4402', '934', 'Dettes envers les coparticipants (associations momentanées)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (943, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4403', '934', 'Fournisseurs - retenues de garanties', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (944, 'PCMN-BASE', 'TIERS', 'XXXXXX', '441', '933', 'Effets à payer', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (945, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4410', '944', 'Entreprises apparentées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (946, 'PCMN-BASE', 'TIERS', 'XXXXXX', '44100', '945', 'Entreprises liées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (947, 'PCMN-BASE', 'TIERS', 'XXXXXX', '44101', '945', 'Entreprises avec lesquelles il existe un lien de participation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (948, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4411', '944', 'Fournisseurs ordinaires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (949, 'PCMN-BASE', 'TIERS', 'XXXXXX', '44110', '948', 'Fournisseurs belges', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (950, 'PCMN-BASE', 'TIERS', 'XXXXXX', '44111', '948', 'Fournisseurs CEE', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (951, 'PCMN-BASE', 'TIERS', 'XXXXXX', '44112', '948', 'Fournisseurs importation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (952, 'PCMN-BASE', 'TIERS', 'XXXXXX', '444', '933', 'Factures à recevoir', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (953, 'PCMN-BASE', 'TIERS', 'XXXXXX', '446', '933', 'Acomptes reçus', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (954, 'PCMN-BASE', 'TIERS', 'XXXXXX', '448', '933', 'Compensations fournisseurs', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (955, 'PCMN-BASE', 'TIERS', 'XXXXXX', '45', '1354', 'Dettes fiscales, salariales et sociales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (956, 'PCMN-BASE', 'TIERS', 'XXXXXX', '450', '955', 'Dettes fiscales estimées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (957, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4501', '956', 'Impôts sur le résultat', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (958, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4505', '956', 'Autres impôts en Belgique', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (959, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4508', '956', 'Impôts à l''étranger', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (960, 'PCMN-BASE', 'TIERS', 'XXXXXX', '451', '955', 'T.V.A. à payer', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (961, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4510', '960', 'T.V.A. due', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (962, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4511', '960', 'T.V.A. déductible', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (963, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4512', '960', 'Compte courant administration T.V.A.', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (964, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4518', '960', 'Taxe d''égalisation due', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (965, 'PCMN-BASE', 'TIERS', 'XXXXXX', '452', '955', 'Impôts et taxes à payer', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (966, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4520', '965', 'Autres impôts sur le résultat', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (967, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4525', '965', 'Autres impôts et taxes en Belgique', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (968, 'PCMN-BASE', 'TIERS', 'XXXXXX', '45250', '967', 'Précompte immobilier', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (969, 'PCMN-BASE', 'TIERS', 'XXXXXX', '45251', '967', 'Impôts communaux à payer', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (970, 'PCMN-BASE', 'TIERS', 'XXXXXX', '45252', '967', 'Impôts provinciaux à payer', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (971, 'PCMN-BASE', 'TIERS', 'XXXXXX', '45253', '967', 'Autres impôts et taxes à payer', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (972, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4528', '965', 'Impôts et taxes à l''étranger', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (973, 'PCMN-BASE', 'TIERS', 'XXXXXX', '453', '955', 'Précomptes retenus', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (974, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4530', '973', 'Précompte professionnel retenu sur rémunérations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (975, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4531', '973', 'Précompte professionnel retenu sur tantièmes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (976, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4532', '973', 'Précompte mobilier retenu sur dividendes attribués', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (977, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4533', '973', 'Précompte mobilier retenu sur intérêts payés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (978, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4538', '973', 'Autres précomptes retenus', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (979, 'PCMN-BASE', 'TIERS', 'XXXXXX', '454', '955', 'Office National de la Sécurité Sociale', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (980, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4540', '979', 'Arriérés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (981, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4541', '979', '1er trimestre', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (982, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4542', '979', '2ème trimestre', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (983, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4543', '979', '3ème trimestre', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (984, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4544', '979', '4ème trimestre', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (985, 'PCMN-BASE', 'TIERS', 'XXXXXX', '455', '955', 'Rémunérations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (986, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4550', '985', 'Administrateurs, gérants et commissaires (non réviseurs)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (987, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4551', '985', 'Direction', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (988, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4552', '985', 'Employés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (989, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4553', '985', 'Ouvriers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (990, 'PCMN-BASE', 'TIERS', 'XXXXXX', '456', '955', 'Pécules de vacances', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (991, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4560', '990', 'Direction', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (992, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4561', '990', 'Employés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (993, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4562', '990', 'Ouvriers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (994, 'PCMN-BASE', 'TIERS', 'XXXXXX', '459', '955', 'Autres dettes sociales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (995, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4590', '994', 'Provision pour gratifications de fin d''année', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (996, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4591', '994', 'Départs de personnel', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (997, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4592', '994', 'Oppositions sur rémunérations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (998, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4593', '994', 'Assurances relatives au personnel', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (999, 'PCMN-BASE', 'TIERS', 'XXXXXX', '45930', '998', 'Assurance loi', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1000, 'PCMN-BASE', 'TIERS', 'XXXXXX', '45931', '998', 'Assurance salaire garanti', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1001, 'PCMN-BASE', 'TIERS', 'XXXXXX', '45932', '998', 'Assurance groupe', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1002, 'PCMN-BASE', 'TIERS', 'XXXXXX', '45933', '998', 'Assurances individuelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1003, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4594', '994', 'Caisse d''assurances sociales pour travailleurs indépendants', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1004, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4597', '994', 'Dettes et provisions sociales diverses', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1005, 'PCMN-BASE', 'TIERS', 'XXXXXX', '46', '1354', 'Acomptes reçus sur commande', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1006, 'PCMN-BASE', 'TIERS', 'XXXXXX', '47', '1354', 'Dettes découlant de l''affectation des résultats', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1007, 'PCMN-BASE', 'TIERS', 'XXXXXX', '470', '1006', 'Dividendes et tantièmes d''exercices antérieurs', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1008, 'PCMN-BASE', 'TIERS', 'XXXXXX', '471', '1006', 'Dividendes de l''exercice', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1009, 'PCMN-BASE', 'TIERS', 'XXXXXX', '472', '1006', 'Tantièmes de l''exercice', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1010, 'PCMN-BASE', 'TIERS', 'XXXXXX', '473', '1006', 'Autres allocataires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1011, 'PCMN-BASE', 'TIERS', 'XXXXXX', '48', '4', 'Dettes diverses', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1012, 'PCMN-BASE', 'TIERS', 'XXXXXX', '480', '1011', 'Obligations et coupons échus', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1013, 'PCMN-BASE', 'TIERS', 'XXXXXX', '481', '1011', 'Actionnaires - capital à rembourser', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1014, 'PCMN-BASE', 'TIERS', 'XXXXXX', '482', '1011', 'Participation du personnel à payer', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1015, 'PCMN-BASE', 'TIERS', 'XXXXXX', '483', '1011', 'Acomptes reçus d''autres tiers à moins d''un an', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1016, 'PCMN-BASE', 'TIERS', 'XXXXXX', '486', '1011', 'Emballages et matériel consignés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1017, 'PCMN-BASE', 'TIERS', 'XXXXXX', '488', '1011', 'Cautionnements reçus en numéraires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1018, 'PCMN-BASE', 'TIERS', 'XXXXXX', '489', '1011', 'Autres dettes diverses', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1019, 'PCMN-BASE', 'TIERS', 'XXXXXX', '49', '1354', 'Comptes de régularisation et compte d''attente', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1020, 'PCMN-BASE', 'TIERS', 'XXXXXX', '490', '1019', 'Charges à reporter (à subdiviser par catégorie de charges)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1021, 'PCMN-BASE', 'TIERS', 'XXXXXX', '491', '1019', 'Produits acquis', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1022, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4910', '1021', 'Produits d''exploitation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1023, 'PCMN-BASE', 'TIERS', 'XXXXXX', '49100', '1022', 'Ristournes et rabais à obtenir', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1024, 'PCMN-BASE', 'TIERS', 'XXXXXX', '49101', '1022', 'Commissions à obtenir', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1025, 'PCMN-BASE', 'TIERS', 'XXXXXX', '49102', '1022', 'Autres produits d''exploitation (redevances par exemple)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1026, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4911', '1021', 'Produits financiers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1027, 'PCMN-BASE', 'TIERS', 'XXXXXX', '49110', '1026', 'Intérêts courus et non échus sur prêts et débits', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1028, 'PCMN-BASE', 'TIERS', 'XXXXXX', '49111', '1026', 'Autres produits financiers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1029, 'PCMN-BASE', 'TIERS', 'XXXXXX', '492', '1019', 'Charges à imputer (à subdiviser par catégorie de charges)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1030, 'PCMN-BASE', 'TIERS', 'XXXXXX', '493', '1019', 'Produits à reporter', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1031, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4930', '1030', 'Produits d''exploitation à reporter', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1032, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4931', '1030', 'Produits financiers à reporter', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1033, 'PCMN-BASE', 'TIERS', 'XXXXXX', '499', '1019', 'Comptes d''attente', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1034, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4990', '1033', 'Compte d''attente', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1035, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4991', '1033', 'Compte de répartition périodique des charges', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1036, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4999', '1033', 'Transferts d''exercice', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1037, 'PCMN-BASE', 'FINAN', 'XXXXXX', '50', '1355', 'Actions propres', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1038, 'PCMN-BASE', 'FINAN', 'XXXXXX', '51', '1355', 'Actions et parts', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1039, 'PCMN-BASE', 'FINAN', 'XXXXXX', '510', '1038', 'Valeur d''acquisition', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1040, 'PCMN-BASE', 'FINAN', 'XXXXXX', '511', '1038', 'Montants non appelés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1041, 'PCMN-BASE', 'FINAN', 'XXXXXX', '519', '1038', 'Réductions de valeur actées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1042, 'PCMN-BASE', 'FINAN', 'XXXXXX', '52', '1355', 'Titres à revenus fixes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1043, 'PCMN-BASE', 'FINAN', 'XXXXXX', '520', '1042', 'Valeur d''acquisition', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1044, 'PCMN-BASE', 'FINAN', 'XXXXXX', '529', '1042', 'Réductions de valeur actées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1045, 'PCMN-BASE', 'FINAN', 'XXXXXX', '53', '1355', 'Dépots à terme', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1046, 'PCMN-BASE', 'FINAN', 'XXXXXX', '530', '1045', 'De plus d''un an', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1047, 'PCMN-BASE', 'FINAN', 'XXXXXX', '531', '1045', 'De plus d''un mois et à un an au plus', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1048, 'PCMN-BASE', 'FINAN', 'XXXXXX', '532', '1045', 'd''un mois au plus', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1049, 'PCMN-BASE', 'FINAN', 'XXXXXX', '539', '1045', 'Réductions de valeur actées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1050, 'PCMN-BASE', 'FINAN', 'XXXXXX', '54', '1355', 'Valeurs échues à l''encaissement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1051, 'PCMN-BASE', 'FINAN', 'XXXXXX', '540', '1050', 'Chèques à encaisser', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1052, 'PCMN-BASE', 'FINAN', 'XXXXXX', '541', '1050', 'Coupons à encaisser', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1053, 'PCMN-BASE', 'FINAN', 'XXXXXX', '55', '1355', 'Etablissements de crédit - Comptes ouverts auprès des divers établissements.', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1054, 'PCMN-BASE', 'FINAN', 'XXXXXX', '550', '1053', 'Comptes courants', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1055, 'PCMN-BASE', 'FINAN', 'XXXXXX', '551', '1053', 'Chèques émis', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1056, 'PCMN-BASE', 'FINAN', 'XXXXXX', '559', '1053', 'Réductions de valeur actées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1057, 'PCMN-BASE', 'FINAN', 'XXXXXX', '56', '1355', 'Office des chèques postaux', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1058, 'PCMN-BASE', 'FINAN', 'XXXXXX', '560', '1057', 'Compte courant', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1059, 'PCMN-BASE', 'FINAN', 'XXXXXX', '561', '1057', 'Chèques émis', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1060, 'PCMN-BASE', 'FINAN', 'XXXXXX', '57', '1355', 'Caisses', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1061, 'PCMN-BASE', 'FINAN', 'XXXXXX', '570', '1060', 'à 577 Caisses - espèces ( 0 - centrale ; 7 - succursales et agences)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1062, 'PCMN-BASE', 'FINAN', 'XXXXXX', '578', '1060', 'Caisses - timbres ( 0 - fiscaux ; 1 - postaux)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1063, 'PCMN-BASE', 'FINAN', 'XXXXXX', '58', '1355', 'Virements internes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1064, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '60', '1356', 'Approvisionnements et marchandises', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1065, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '600', '1064', 'Achats de matières premières', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1066, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '601', '1064', 'Achats de fournitures', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1067, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '602', '1064', 'Achats de services, travaux et études', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1068, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '603', '1064', 'Sous-traitances générales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1069, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '604', '1064', 'Achats de marchandises', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1070, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '605', '1064', 'Achats d''immeubles destinés à la revente', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1071, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '608', '1064', 'Remises , ristournes et rabais obtenus sur achats', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1072, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '609', '1064', 'Variations de stocks', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1073, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6090', '1072', 'De matières premières', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1074, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6091', '1072', 'De fournitures', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1075, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6094', '1072', 'De marchandises', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1076, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6095', '1072', 'd''immeubles destinés à la vente', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1077, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61', '1356', 'Services et biens divers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1078, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '610', '1077', 'Loyers et charges locatives', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1079, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6100', '1078', 'Loyers divers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1080, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6101', '1078', 'Charges locatives (assurances, frais de confort,etc)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1081, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '611', '1077', 'Entretien et réparation (fournitures et prestations)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1082, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '612', '1077', 'Fournitures faites à l''entreprise', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1083, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6120', '1082', 'Eau, gaz, électricité, vapeur', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1084, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61200', '1083', 'Eau', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1085, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61201', '1083', 'Gaz', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1086, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61202', '1083', 'Electricité', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1087, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61203', '1083', 'Vapeur', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1088, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6121', '1082', 'Téléphone, télégrammes, télex, téléfax, frais postaux', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1089, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61210', '1088', 'Téléphone', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1090, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61211', '1088', 'Télégrammes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1091, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61212', '1088', 'Télex et téléfax', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1092, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61213', '1088', 'Frais postaux', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1093, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6122', '1082', 'Livres, bibliothèque', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1094, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6123', '1082', 'Imprimés et fournitures de bureau (si non comptabilisé au 601)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1095, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '613', '1077', 'Rétributions de tiers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1096, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6130', '1095', 'Redevances et royalties', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1097, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61300', '1096', 'Redevances pour brevets, licences, marques et accessoires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1098, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61301', '1096', 'Autres redevances (procédés de fabrication)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1099, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6131', '1095', 'Assurances non relatives au personnel', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1100, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61310', '1099', 'Assurance incendie', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1101, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61311', '1099', 'Assurance vol', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1102, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61312', '1099', 'Assurance autos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1103, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61313', '1099', 'Assurance crédit', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1104, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61314', '1099', 'Assurances frais généraux', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1105, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6132', '1095', 'Divers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1106, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61320', '1105', 'Commissions aux tiers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1107, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61321', '1105', 'Honoraires d''avocats, d''experts, etc', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1108, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61322', '1105', 'Cotisations aux groupements professionnels', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1109, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61323', '1105', 'Dons, libéralités, etc', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1110, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61324', '1105', 'Frais de contentieux', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1111, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61325', '1105', 'Publications légales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1112, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6133', '1095', 'Transports et déplacements', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1113, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61330', '1112', 'Transports de personnel', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1114, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61331', '1112', 'Voyages, déplacements et représentations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1115, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6134', '1095', 'Personnel intérimaire', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1116, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '614', '1077', 'Annonces, publicité, propagande et documentation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1117, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6140', '1116', 'Annonces et insertions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1118, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6141', '1116', 'Catalogues et imprimés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1119, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6142', '1116', 'Echantillons', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1120, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6143', '1116', 'Foires et expositions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1121, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6144', '1116', 'Primes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1122, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6145', '1116', 'Cadeaux à la clientèle', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1123, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6146', '1116', 'Missions et réceptions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1124, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6147', '1116', 'Documentation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1125, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '615', '1077', 'Sous-traitants', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1126, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6150', '1125', 'Sous-traitants pour activités propres', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1127, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6151', '1125', 'Sous-traitants d''associations momentanées (coparticipants)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1128, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6152', '1125', 'Quote-part bénéficiaire des coparticipants', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1129, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '617', '1077', 'Personnel intérimaire et personnes mises à la disposition de l''entreprise', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1130, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '618', '1077', 'Rémunérations, primes pour assurances extralégales, pensions de retraite et de survie des administrateurs, gérants et associés actifs qui ne sont pas attribuées en vertu d''un contrat de travail', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1131, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '62', '1356', 'Rémunérations, charges sociales et pensions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1132, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '620', '1131', 'Rémunérations et avantages sociaux directs', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1133, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6200', '1132', 'Administrateurs ou gérants', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1134, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6201', '1132', 'Personnel de direction', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1135, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6202', '1132', 'Employés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1136, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6203', '1132', 'Ouvriers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1137, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6204', '1132', 'Autres membres du personnel', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1138, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '621', '1131', 'Cotisations patronales d''assurances sociales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1139, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6210', '1138', 'Sur salaires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1140, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6211', '1138', 'Sur appointements et commissions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1141, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '622', '1131', 'Primes patronales pour assurances extralégales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1142, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '623', '1131', 'Autres frais de personnel', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1143, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6230', '1142', 'Assurances du personnel', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1144, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '62300', '1143', 'Assurances loi, responsabilité civile, chemin du travail', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1145, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '62301', '1143', 'Assurance salaire garanti', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1146, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '62302', '1143', 'Assurances individuelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1147, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6231', '1142', 'Charges sociales diverses', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1148, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '62310', '1147', 'Jours fériés payés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1149, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '62311', '1147', 'Salaire hebdomadaire garanti', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1150, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '62312', '1147', 'Allocations familiales complémentaires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1151, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6232', '1142', 'Charges sociales des administrateurs, gérants et commissaires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1152, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '62320', '1151', 'Allocations familiales complémentaires pour non salariés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1153, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '62321', '1151', 'Lois sociales pour indépendants', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1154, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '62322', '1151', 'Divers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1155, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '624', '1131', 'Pensions de retraite et de survie', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1156, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6240', '1155', 'Administrateurs et gérants', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1157, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6241', '1155', 'Personnel', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1158, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '625', '1131', 'Provision pour pécule de vacances', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1159, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6250', '1158', 'Dotations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1160, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6251', '1158', 'Utilisations et reprises', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1161, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '63', '1356', 'Amortissements, réductions de valeur et provisions pour risques et charges', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1162, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '630', '1161', 'Dotations aux amortissements et aux réductions de valeur sur immobilisations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1163, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6300', '1162', 'Dotations aux amortissements sur frais d''établissement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1164, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6301', '1162', 'Dotations aux amortissements sur immobilisations incorporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1165, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6302', '1162', 'Dotations aux amortissements sur immobilisations corporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1166, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6308', '1162', 'Dotations aux réductions de valeur sur immobilisations incorporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1167, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6309', '1162', 'Dotations aux réductions de valeur sur immobilisations corporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1168, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '631', '1161', 'Réductions de valeur sur stocks', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1169, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6310', '1168', 'Dotations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1170, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6311', '1168', 'Reprises', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1171, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '632', '1161', 'Réductions de valeur sur commandes en cours d''exécution', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1172, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6320', '1171', 'Dotations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1173, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6321', '1171', 'Reprises', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1174, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '633', '1161', 'Réductions de valeur sur créances commerciales à plus d''un an', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1175, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6330', '1174', 'Dotations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1176, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6331', '1174', 'Reprises', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1177, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '634', '1161', 'Réductions de valeur sur créances commerciales à un an au plus', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1178, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6340', '1177', 'Dotations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1179, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6341', '1177', 'Reprises', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1180, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '635', '1161', 'Provisions pour pensions et obligations similaires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1181, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6350', '1180', 'Dotations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1182, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6351', '1180', 'Utilisations et reprises', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1183, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '636', '11613', 'Provisions pour grosses réparations et gros entretiens', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1184, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6360', '1183', 'Dotations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1185, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6361', '1183', 'Utilisations et reprises', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1186, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '637', '1161', 'Provisions pour autres risques et charges', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1187, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6370', '1186', 'Dotations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1188, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6371', '1186', 'Utilisations et reprises', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1189, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '64', '1356', 'Autres charges d''exploitation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1190, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '640', '1189', 'Charges fiscales d''exploitation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1191, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6400', '1190', 'Taxes et impôts directs', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1192, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '64000', '1191', 'Taxes sur autos et camions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1193, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6401', '1190', 'Taxes et impôts indirects', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1194, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '64010', '1193', 'Timbres fiscaux pris en charge par la firme', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1195, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '64011', '1193', 'Droits d''enregistrement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1196, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '64012', '1193', 'T.V.A. non déductible', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1197, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6402', '1190', 'Impôts provinciaux et communaux', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1198, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '64020', '1197', 'Taxe sur la force motrice', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1199, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '64021', '1197', 'Taxe sur le personnel occupé', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1200, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6403', '1190', 'Taxes diverses', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1201, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '641', '1189', 'Moins-values sur réalisations courantes d''immobilisations corporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1202, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '642', '1189', 'Moins-values sur réalisations de créances commerciales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1203, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '643', '1189', 'à 648 Charges d''exploitations diverses', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1204, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '649', '1189', 'Charges d''exploitation portées à l''actif au titre de restructuration', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1205, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '65', '1356', 'Charges financières', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1206, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '650', '1205', 'Charges des dettes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1207, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6500', '1206', 'Intérêts, commissions et frais afférents aux dettes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1208, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6501', '1206', 'Amortissements des agios et frais d''émission d''emprunts', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1209, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6502', '1206', 'Autres charges de dettes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1210, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6503', '1206', 'Intérêts intercalaires portés à l''actif', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1211, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '651', '1205', 'Réductions de valeur sur actifs circulants', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1212, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6510', '1211', 'Dotations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1213, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6511', '1211', 'Reprises', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1214, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '652', '1205', 'Moins-values sur réalisation d''actifs circulants', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1215, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '653', '1205', 'Charges d''escompte de créances', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1216, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '654', '1205', 'Différences de change', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1217, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '655', '1205', 'Ecarts de conversion des devises', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1218, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '656', '1205', 'Frais de banques, de chèques postaux', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1219, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '657', '1205', 'Commissions sur ouvertures de crédit, cautions et avals', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1220, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '658', '1205', 'Frais de vente des titres', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1221, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '66', '1356', 'Charges exceptionnelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1222, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '660', '1221', 'Amortissements et réductions de valeur exceptionnels', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1223, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6600', '1222', 'Sur frais d''établissement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1224, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6601', '1222', 'Sur immobilisations incorporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1225, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6602', '1222', 'Sur immobilisations corporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1226, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '661', '1221', 'Réductions de valeur sur immobilisations financières', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1227, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '662', '1221', 'Provisions pour risques et charges exceptionnels', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1228, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '663', '1221', 'Moins-values sur réalisation d''actifs immobilisés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1229, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6630', '1228', 'Sur immobilisations incorporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1230, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6631', '1228', 'Sur immobilisations corporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1231, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6632', '1228', 'Sur immobilisations détenues en location-financement et droits similaires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1232, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6633', '1228', 'Sur immobilisations financières', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1233, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6634', '1228', 'Sur immeubles acquis ou construits en vue de la revente', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1234, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '664', '1221', 'à 668 Autres charges exceptionnelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1235, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '664', '1221', 'Pénalités et amendes diverses', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1236, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '665', '1221', 'Différence de charge', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1237, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '669', '1221', 'Charges exceptionnelles transférées à l''actif en frais de restructuration', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1238, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '67', '1356', 'Impôts sur le résultat', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1239, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '670', '1238', 'Impôts belges sur le résultat de l''exercice', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1240, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6700', '1239', 'Impôts et précomptes dus ou versés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1241, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6701', '1239', 'Excédent de versements d''impôts et précomptes porté à l''actif', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1242, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6702', '1239', 'Charges fiscales estimées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1243, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '671', '1238', 'Impôts belges sur le résultat d''exercices antérieurs', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1244, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6710', '1243', 'Suppléments d''impôts dus ou versés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1245, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6711', '1243', 'Suppléments d''impôts estimés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1246, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6712', '1243', 'Provisions fiscales constituées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1247, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '672', '1238', 'Impôts étrangers sur le résultat de l''exercice', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1248, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '673', '1238', 'Impôts étrangers sur le résultat d''exercices antérieurs', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1249, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '68', '1356', 'Transferts aux réserves immunisées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1250, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '69', '1356', 'Affectation des résultats', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1251, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '690', '1250', 'Perte reportée de l''exercice précédent', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1252, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '691', '1250', 'Dotation à la réserve légale', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1253, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '692', '1250', 'Dotation aux autres réserves', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1254, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '693', '1250', 'Bénéfice à reporter', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1255, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '694', '1250', 'Rémunération du capital', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1256, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '695', '1250', 'Administrateurs ou gérants', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1257, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '696', '1250', 'Autres allocataires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1258, 'PCMN-BASE', 'PROD', 'XXXXXX', '70', '1357', 'Chiffre d''affaires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1260, 'PCMN-BASE', 'PROD', 'XXXXXX', '700', '1258', 'Ventes de marchandises', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1261, 'PCMN-BASE', 'PROD', 'XXXXXX', '7000', '1260', 'Ventes en Belgique', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1262, 'PCMN-BASE', 'PROD', 'XXXXXX', '7001', '1260', 'Ventes dans les pays membres de la C.E.E.', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1263, 'PCMN-BASE', 'PROD', 'XXXXXX', '7002', '1260', 'Ventes à l''exportation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1264, 'PCMN-BASE', 'PROD', 'XXXXXX', '701', '1258', 'Ventes de produits finis', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1265, 'PCMN-BASE', 'PROD', 'XXXXXX', '7010', '1264', 'Ventes en Belgique', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1266, 'PCMN-BASE', 'PROD', 'XXXXXX', '7011', '1264', 'Ventes dans les pays membres de la C.E.E.', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1267, 'PCMN-BASE', 'PROD', 'XXXXXX', '7012', '1264', 'Ventes à l''exportation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1268, 'PCMN-BASE', 'PROD', 'XXXXXX', '702', '1258', 'Ventes de déchets et rebuts', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1269, 'PCMN-BASE', 'PROD', 'XXXXXX', '7020', '1268', 'Ventes en Belgique', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1270, 'PCMN-BASE', 'PROD', 'XXXXXX', '7021', '1268', 'Ventes dans les pays membres de la C.E.E.', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1271, 'PCMN-BASE', 'PROD', 'XXXXXX', '7022', '1268', 'Ventes à l''exportation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1272, 'PCMN-BASE', 'PROD', 'XXXXXX', '703', '1258', 'Ventes d''emballages récupérables', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1273, 'PCMN-BASE', 'PROD', 'XXXXXX', '704', '1258', 'Facturations des travaux en cours (associations momentanées)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1274, 'PCMN-BASE', 'PROD', 'XXXXXX', '705', '1258', 'Prestations de services', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1275, 'PCMN-BASE', 'PROD', 'XXXXXX', '7050', '1274', 'Prestations de services en Belgique', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1276, 'PCMN-BASE', 'PROD', 'XXXXXX', '7051', '1274', 'Prestations de services dans les pays membres de la C.E.E.', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1277, 'PCMN-BASE', 'PROD', 'XXXXXX', '7052', '1274', 'Prestations de services en vue de l''exportation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1278, 'PCMN-BASE', 'PROD', 'XXXXXX', '706', '1258', 'Pénalités et dédits obtenus par l''entreprise', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1279, 'PCMN-BASE', 'PROD', 'XXXXXX', '708', '1258', 'Remises, ristournes et rabais accordés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1280, 'PCMN-BASE', 'PROD', 'XXXXXX', '7080', '1279', 'Sur ventes de marchandises', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1281, 'PCMN-BASE', 'PROD', 'XXXXXX', '7081', '1279', 'Sur ventes de produits finis', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1282, 'PCMN-BASE', 'PROD', 'XXXXXX', '7082', '1279', 'Sur ventes de déchets et rebuts', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1283, 'PCMN-BASE', 'PROD', 'XXXXXX', '7083', '1279', 'Sur prestations de services', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1284, 'PCMN-BASE', 'PROD', 'XXXXXX', '7084', '1279', 'Mali sur travaux facturés aux associations momentanées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1285, 'PCMN-BASE', 'PROD', 'XXXXXX', '71', '1357', 'Variation des stocks et des commandes en cours d''exécution', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1286, 'PCMN-BASE', 'PROD', 'XXXXXX', '712', '1285', 'Des en cours de fabrication', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1287, 'PCMN-BASE', 'PROD', 'XXXXXX', '713', '1285', 'Des produits finis', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1288, 'PCMN-BASE', 'PROD', 'XXXXXX', '715', '1285', 'Des immeubles construits destinés à la vente', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1289, 'PCMN-BASE', 'PROD', 'XXXXXX', '717', '1285', 'Des commandes en cours d''exécution', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1290, 'PCMN-BASE', 'PROD', 'XXXXXX', '7170', '1289', 'Commandes en cours - Coût de revient', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1291, 'PCMN-BASE', 'PROD', 'XXXXXX', '71700', '1290', 'Coût des commandes en cours d''exécution', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1292, 'PCMN-BASE', 'PROD', 'XXXXXX', '71701', '1290', 'Coût des travaux en cours des associations momentanées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1293, 'PCMN-BASE', 'PROD', 'XXXXXX', '7171', '1289', 'Bénéfices portés en compte sur commandes en cours', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1294, 'PCMN-BASE', 'PROD', 'XXXXXX', '71710', '1293', 'Sur commandes en cours d''exécution', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1295, 'PCMN-BASE', 'PROD', 'XXXXXX', '71711', '1293', 'Sur travaux en cours des associations momentanées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1296, 'PCMN-BASE', 'PROD', 'XXXXXX', '72', '1357', 'Production immobilisée', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1297, 'PCMN-BASE', 'PROD', 'XXXXXX', '720', '1296', 'En frais d''établissement', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1298, 'PCMN-BASE', 'PROD', 'XXXXXX', '721', '1296', 'En immobilisations incorporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1299, 'PCMN-BASE', 'PROD', 'XXXXXX', '722', '1296', 'En immobilisations corporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1300, 'PCMN-BASE', 'PROD', 'XXXXXX', '723', '1296', 'En immobilisations en cours', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1301, 'PCMN-BASE', 'PROD', 'XXXXXX', '74', '1357', 'Autres produits d''exploitation', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1302, 'PCMN-BASE', 'PROD', 'XXXXXX', '740', '1301', 'Subsides d''exploitation et montants compensatoires', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1303, 'PCMN-BASE', 'PROD', 'XXXXXX', '741', '1301', 'Plus-values sur réalisations courantes d''immobilisations corporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1304, 'PCMN-BASE', 'PROD', 'XXXXXX', '742', '1301', 'Plus-values sur réalisations de créances commerciales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1305, 'PCMN-BASE', 'PROD', 'XXXXXX', '743', '1301', 'à 749 Produits d''exploitation divers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1306, 'PCMN-BASE', 'PROD', 'XXXXXX', '743', '1301', 'Produits de services exploités dans l''intérêt du personnel', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1307, 'PCMN-BASE', 'PROD', 'XXXXXX', '744', '1301', 'Commissions et courtages', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1308, 'PCMN-BASE', 'PROD', 'XXXXXX', '745', '1301', 'Redevances pour brevets et licences', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1309, 'PCMN-BASE', 'PROD', 'XXXXXX', '746', '1301', 'Prestations de services (transports, études, etc)', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1310, 'PCMN-BASE', 'PROD', 'XXXXXX', '747', '1301', 'Revenus des immeubles affectés aux activités non professionnelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1311, 'PCMN-BASE', 'PROD', 'XXXXXX', '748', '1301', 'Locations diverses à caractère professionnel', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1312, 'PCMN-BASE', 'PROD', 'XXXXXX', '749', '1301', 'Produits divers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1313, 'PCMN-BASE', 'PROD', 'XXXXXX', '7490', '1312', 'Bonis sur reprises d''emballages consignés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1314, 'PCMN-BASE', 'PROD', 'XXXXXX', '7491', '1312', 'Bonis sur travaux en associations momentanées', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1315, 'PCMN-BASE', 'PROD', 'XXXXXX', '75', '1357', 'Produits financiers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1316, 'PCMN-BASE', 'PROD', 'XXXXXX', '750', '1315', 'Produits des immobilisations financières', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1317, 'PCMN-BASE', 'PROD', 'XXXXXX', '7500', '1316', 'Revenus des actions', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1318, 'PCMN-BASE', 'PROD', 'XXXXXX', '7501', '1316', 'Revenus des obligations', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1319, 'PCMN-BASE', 'PROD', 'XXXXXX', '7502', '1316', 'Revenus des créances à plus d''un an', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1320, 'PCMN-BASE', 'PROD', 'XXXXXX', '751', '1315', 'Produits des actifs circulants', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1321, 'PCMN-BASE', 'PROD', 'XXXXXX', '752', '1315', 'Plus-values sur réalisations d''actifs circulants', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1322, 'PCMN-BASE', 'PROD', 'XXXXXX', '753', '1315', 'Subsides en capital et en intérêts', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1323, 'PCMN-BASE', 'PROD', 'XXXXXX', '754', '1315', 'Différences de change', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1324, 'PCMN-BASE', 'PROD', 'XXXXXX', '755', '1315', 'Ecarts de conversion des devises', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1325, 'PCMN-BASE', 'PROD', 'XXXXXX', '756', '1315', 'à 759 Produits financiers divers', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1326, 'PCMN-BASE', 'PROD', 'XXXXXX', '756', '1315', 'Produits des autres créances', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1327, 'PCMN-BASE', 'PROD', 'XXXXXX', '757', '1315', 'Escomptes obtenus', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1328, 'PCMN-BASE', 'PROD', 'XXXXXX', '76', '1357', 'Produits exceptionnels', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1329, 'PCMN-BASE', 'PROD', 'XXXXXX', '760', '1328', 'Reprises d''amortissements et de réductions de valeur', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1330, 'PCMN-BASE', 'PROD', 'XXXXXX', '7600', '1329', 'Sur immobilisations incorporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1331, 'PCMN-BASE', 'PROD', 'XXXXXX', '7601', '1329', 'Sur immobilisations corporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1332, 'PCMN-BASE', 'PROD', 'XXXXXX', '761', '1328', 'Reprises de réductions de valeur sur immobilisations financières', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1333, 'PCMN-BASE', 'PROD', 'XXXXXX', '762', '1328', 'Reprises de provisions pour risques et charges exceptionnelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1334, 'PCMN-BASE', 'PROD', 'XXXXXX', '763', '1328', 'Plus-values sur réalisation d''actifs immobilisés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1335, 'PCMN-BASE', 'PROD', 'XXXXXX', '7630', '1334', 'Sur immobilisations incorporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1336, 'PCMN-BASE', 'PROD', 'XXXXXX', '7631', '1334', 'Sur immobilisations corporelles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1337, 'PCMN-BASE', 'PROD', 'XXXXXX', '7632', '1334', 'Sur immobilisations financières', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1338, 'PCMN-BASE', 'PROD', 'XXXXXX', '764', '1328', 'Autres produits exceptionnels', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1339, 'PCMN-BASE', 'PROD', 'XXXXXX', '77', '1357', 'Régularisations d''impôts et reprises de provisions fiscales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1340, 'PCMN-BASE', 'PROD', 'XXXXXX', '771', '1339', 'Impôts belges sur le résultat', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1341, 'PCMN-BASE', 'PROD', 'XXXXXX', '7710', '1340', 'Régularisations d''impôts dus ou versés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1342, 'PCMN-BASE', 'PROD', 'XXXXXX', '7711', '1340', 'Régularisations d''impôts estimés', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1343, 'PCMN-BASE', 'PROD', 'XXXXXX', '7712', '1340', 'Reprises de provisions fiscales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1344, 'PCMN-BASE', 'PROD', 'XXXXXX', '773', '1339', 'Impôts étrangers sur le résultat', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1345, 'PCMN-BASE', 'PROD', 'XXXXXX', '79', '1357', 'Affectation aux résultats', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1346, 'PCMN-BASE', 'PROD', 'XXXXXX', '790', '1345', 'Bénéfice reporté de l''exercice précédent', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1347, 'PCMN-BASE', 'PROD', 'XXXXXX', '791', '1345', 'Prélèvement sur le capital et les primes d''émission', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1348, 'PCMN-BASE', 'PROD', 'XXXXXX', '792', '1345', 'Prélèvement sur les réserves', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1349, 'PCMN-BASE', 'PROD', 'XXXXXX', '793', '1345', 'Perte à reporter', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1350, 'PCMN-BASE', 'PROD', 'XXXXXX', '794', '1345', 'Intervention d''associés (ou du propriétaire) dans la perte', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1351, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1', '0', 'Fonds propres, provisions pour risques et charges et dettes à plus d''un an', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1352, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2', '0', 'Frais d''établissement. Actifs immobilisés et créances à plus d''un an', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1353, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3', '0', 'Stock et commandes en cours d''exécution', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1354, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4', '0', 'Créances et dettes à un an au plus', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1355, 'PCMN-BASE', 'FINAN', 'XXXXXX', '5', '0', 'Placement de trésorerie et de valeurs disponibles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1356, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6', '0', 'Charges', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1357, 'PCMN-BASE', 'PROD', 'XXXXXX', '7', '0', 'Produits', '1'); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (439, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '10', '1351', 'Capital', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (440, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '100', '439', 'Capital souscrit ou capital personnel', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (441, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1000', '440', 'Capital non amorti', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (442, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1001', '440', 'Capital amorti', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (443, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '101', '439', 'Capital non appelé', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (444, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '109', '439', 'Compte de l''exploitant', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (445, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1090', '444', 'Opérations courantes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (446, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1091', '444', 'Impôts personnels', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (447, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1092', '444', 'Rémunérations et autres avantages', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (448, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '11', '1351', 'Primes d''émission', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (449, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '12', '1351', 'Plus-values de réévaluation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (450, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '120', '449', 'Plus-values de réévaluation sur immobilisations incorporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (451, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1200', '450', 'Plus-values de réévaluation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (452, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1201', '450', 'Reprises de réductions de valeur', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (453, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '121', '449', 'Plus-values de réévaluation sur immobilisations corporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (454, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1210', '453', 'Plus-values de réévaluation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (455, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1211', '453', 'Reprises de réductions de valeur', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (456, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '122', '449', 'Plus-values de réévaluation sur immobilisations financières', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (457, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1220', '456', 'Plus-values de réévaluation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (458, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1221', '456', 'Reprises de réductions de valeur', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (459, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '123', '449', 'Plus-values de réévaluation sur stocks', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (460, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '124', '449', 'Reprises de réductions de valeur sur placements de trésorerie', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (461, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '13', '1351', 'Réserve', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (462, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '130', '461', 'Réserve légale', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (463, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '131', '461', 'Réserves indisponibles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (464, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1310', '463', 'Réserve pour actions propres', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (465, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1311', '463', 'Autres réserves indisponibles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (466, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '132', '461', 'Réserves immunisées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (467, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '133', '461', 'Réserves disponibles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (468, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1330', '467', 'Réserve pour régularisation de dividendes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (469, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1331', '467', 'Réserve pour renouvellement des immobilisations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (470, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1332', '467', 'Réserve pour installations en faveur du personnel 1333 Réserves libres', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (471, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '14', '1351', 'Bénéfice reporté (ou perte reportée)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (472, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '15', '1351', 'Subsides en capital', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (473, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '150', '472', 'Montants obtenus', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (474, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '151', '472', 'Montants transférés aux résultats', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (475, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '16', '1351', 'Provisions pour risques et charges', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (476, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '160', '475', 'Provisions pour pensions et obligations similaires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (477, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '161', '475', 'Provisions pour charges fiscales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (478, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '162', '475', 'Provisions pour grosses réparations et gros entretiens', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (479, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '163', '475', 'à 169 Provisions pour autres risques et charges', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (480, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '164', '475', 'Provisions pour sûretés personnelles ou réelles constituées à l''appui de dettes et d''engagements de tiers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (481, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '165', '475', 'Provisions pour engagements relatifs à l''acquisition ou à la cession d''immobilisations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (482, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '166', '475', 'Provisions pour exécution de commandes passées ou reçues', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (483, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '167', '475', 'Provisions pour positions et marchés à terme en devises ou positions et marchés à terme en marchandises', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (484, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '168', '475', 'Provisions pour garanties techniques attachées aux ventes et prestations déjà effectuées par l''entreprise', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (485, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '169', '475', 'Provisions pour autres risques et charges', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (486, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1690', '485', 'Pour litiges en cours', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (487, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1691', '485', 'Pour amendes, doubles droits et pénalités', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (488, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1692', '485', 'Pour propre assureur', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (489, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1693', '485', 'Pour risques inhérents aux opérations de crédits à moyen ou long terme', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (490, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1695', '485', 'Provision pour charge de liquidation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (491, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1696', '485', 'Provision pour départ de personnel', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (492, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1699', '485', 'Pour risques divers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (493, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17', '1351', 'Dettes à plus d''un an', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (494, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '170', '493', 'Emprunts subordonnés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (495, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1700', '494', 'Convertibles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (496, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1701', '494', 'Non convertibles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (497, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '171', '493', 'Emprunts obligataires non subordonnés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (498, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1710', '498', 'Convertibles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (499, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1711', '498', 'Non convertibles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (500, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '172', '493', 'Dettes de location-financement et assimilés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (501, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1720', '500', 'Dettes de location-financement de biens immobiliers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (502, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1721', '500', 'Dettes de location-financement de biens mobiliers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (503, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1722', '500', 'Dettes sur droits réels sur immeubles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (504, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '173', '493', 'Etablissements de crédit', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (505, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1730', '504', 'Dettes en compte', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (506, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17300', '505', 'Banque A', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (507, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17301', '505', 'Banque B', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (508, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17302', '505', 'Banque C', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (509, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17303', '505', 'Banque D', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (510, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1731', '504', 'Promesses', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (511, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17310', '510', 'Banque A', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (512, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17311', '510', 'Banque B', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (513, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17312', '510', 'Banque C', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (514, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17313', '510', 'Banque D', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (515, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1732', '504', 'Crédits d''acceptation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (516, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17320', '515', 'Banque A', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (517, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17321', '515', 'Banque B', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (518, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17322', '515', 'Banque C', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (519, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17323', '515', 'Banque D', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (520, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '174', '493', 'Autres emprunts', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (521, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '175', '493', 'Dettes commerciales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (522, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1750', '521', 'Fournisseurs : dettes en compte', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (523, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17500', '522', 'Entreprises apparentées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (524, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '175000', '523', 'Entreprises liées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (525, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '175001', '523', 'Entreprises avec lesquelles il existe un lien de participation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (526, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17501', '522', 'Fournisseurs ordinaires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (527, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '175010', '526', 'Fournisseurs belges', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (528, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '175011', '526', 'Fournisseurs C.E.E.', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (529, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '175012', '526', 'Fournisseurs importation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (530, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1751', '521', 'Effets à payer', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (531, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17510', '530', 'Entreprises apparentées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (532, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '175100', '531', 'Entreprises liées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (533, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '175101', '531', 'Entreprises avec lesquelles il existe un lien de participation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (534, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '17511', '530', 'Fournisseurs ordinaires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (535, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '175110', '534', 'Fournisseurs belges', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (536, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '175111', '534', 'Fournisseurs C.E.E.', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (537, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '175112', '534', 'Fournisseurs importation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (538, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '176', '493', 'Acomptes reçus sur commandes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (539, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '178', '493', 'Cautionnements reçus en numéraires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (540, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '179', '493', 'Dettes diverses', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (541, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1790', '540', 'Entreprises liées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (542, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1791', '540', 'Autres entreprises avec lesquelles il existe un lien de participation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (543, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1792', '540', 'Administrateurs, gérants et associés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (544, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1794', '540', 'Rentes viagères capitalisées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (545, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1798', '540', 'Dettes envers les coparticipants des associations momentanées et en participation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (546, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1799', '540', 'Autres dettes diverses', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (547, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '18', '1351', 'Comptes de liaison des établissements et succursales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (548, 'PCMN-BASE', 'IMMO', 'XXXXXX', '20', '1352', 'Frais d''établissement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (549, 'PCMN-BASE', 'IMMO', 'XXXXXX', '200', '548', 'Frais de constitution et d''augmentation de capital', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (550, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2000', '549', 'Frais de constitution et d''augmentation de capital', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (551, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2009', '549', 'Amortissements sur frais de constitution et d''augmentation de capital', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (552, 'PCMN-BASE', 'IMMO', 'XXXXXX', '201', '548', 'Frais d''émission d''emprunts et primes de remboursement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (553, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2010', '552', 'Agios sur emprunts et frais d''émission d''emprunts', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (554, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2019', '552', 'Amortissements sur agios sur emprunts et frais d''émission d''emprunts', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (555, 'PCMN-BASE', 'IMMO', 'XXXXXX', '202', '548', 'Autres frais d''établissement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (556, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2020', '555', 'Autres frais d''établissement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (557, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2029', '555', 'Amortissements sur autres frais d''établissement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (558, 'PCMN-BASE', 'IMMO', 'XXXXXX', '203', '548', 'Intérêts intercalaires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (559, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2030', '558', 'Intérêts intercalaires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (560, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2039', '558', 'Amortissements sur intérêts intercalaires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (561, 'PCMN-BASE', 'IMMO', 'XXXXXX', '204', '548', 'Frais de restructuration', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (562, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2040', '561', 'Coût des frais de restructuration', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (563, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2049', '561', 'Amortissements sur frais de restructuration', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (564, 'PCMN-BASE', 'IMMO', 'XXXXXX', '21', '1352', 'Immobilisations incorporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (565, 'PCMN-BASE', 'IMMO', 'XXXXXX', '210', '564', 'Frais de recherche et de développement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (566, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2100', '565', 'Frais de recherche et de mise au point', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (567, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2108', '565', 'Plus-values actées sur frais de recherche et de mise au point', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (568, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2109', '565', 'Amortissements sur frais de recherche et de mise au point', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (569, 'PCMN-BASE', 'IMMO', 'XXXXXX', '211', '564', 'Concessions, brevets, licences, savoir-faire, marque et droits similaires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (570, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2110', '569', 'Concessions, brevets, licences, marques, etc', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (571, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2118', '569', 'Plus-values actées sur concessions, etc', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (572, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2119', '569', 'Amortissements sur concessions, etc', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (573, 'PCMN-BASE', 'IMMO', 'XXXXXX', '212', '564', 'Goodwill', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (574, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2120', '573', 'Coût d''acquisition', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (575, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2128', '573', 'Plus-values actées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (576, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2129', '573', 'Amortissements sur goodwill', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (577, 'PCMN-BASE', 'IMMO', 'XXXXXX', '213', '564', 'Acomptes versés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (578, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22', '1352', 'Terrains et constructions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (579, 'PCMN-BASE', 'IMMO', 'XXXXXX', '220', '578', 'Terrains', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (580, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2200', '579', 'Terrains', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (581, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2201', '579', 'Frais d''acquisition sur terrains', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (582, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2208', '579', 'Plus-values actées sur terrains', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (583, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2209', '579', 'Amortissements et réductions de valeur', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (584, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22090', '583', 'Amortissements sur frais d''acquisition', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (585, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22091', '583', 'Réductions de valeur sur terrains', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (586, 'PCMN-BASE', 'IMMO', 'XXXXXX', '221', '578', 'Constructions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (587, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2210', '586', 'Bâtiments industriels', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (588, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2211', '586', 'Bâtiments administratifs et commerciaux', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (589, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2212', '586', 'Autres bâtiments d''exploitation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (590, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2213', '586', 'Voies de transport et ouvrages d''art', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (591, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2215', '586', 'Constructions sur sol d''autrui', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (592, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2216', '586', 'Frais d''acquisition sur constructions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (593, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2218', '586', 'Plus-values actées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (594, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22180', '593', 'Sur bâtiments industriels', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (595, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22181', '593', 'Sur bâtiments administratifs et commerciaux', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (596, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22182', '593', 'Sur autres bâtiments d''exploitation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (597, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22184', '593', 'Sur voies de transport et ouvrages d''art', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (598, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2219', '586', 'Amortissements sur constructions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (599, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22190', '598', 'Sur bâtiments industriels', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (600, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22191', '598', 'Sur bâtiments administratifs et commerciaux', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (601, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22192', '598', 'Sur autres bâtiments d''exploitation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (602, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22194', '598', 'Sur voies de transport et ouvrages d''art', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (603, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22195', '598', 'Sur constructions sur sol d''autrui', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (604, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22196', '598', 'Sur frais d''acquisition sur constructions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (605, 'PCMN-BASE', 'IMMO', 'XXXXXX', '222', '578', 'Terrains bâtis', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (606, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2220', '605', 'Valeur d''acquisition', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (607, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22200', '606', 'Bâtiments industriels', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (608, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22201', '606', 'Bâtiments administratifs et commerciaux', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (609, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22202', '606', 'Autres bâtiments d''exploitation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (610, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22203', '606', 'Voies de transport et ouvrages d''art', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (611, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22204', '606', 'Frais d''acquisition des terrains à bâtir', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (612, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2228', '605', 'Plus-values actées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (613, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22280', '612', 'Sur bâtiments industriels', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (614, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22281', '612', 'Sur bâtiments administratifs et commerciaux', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (615, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22282', '612', 'Sur autres bâtiments d''exploitation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (616, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22283', '612', 'Sur voies de transport et ouvrages d''art', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (617, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2229', '605', 'Amortissements sur terrains bâtis', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (618, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22290', '617', 'Sur bâtiments industriels', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (619, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22291', '617', 'Sur bâtiments administratifs et commerciaux', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (620, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22292', '617', 'Sur autres bâtiments d''exploitation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (621, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22293', '617', 'Sur voies de transport et ouvrages d''art', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (622, 'PCMN-BASE', 'IMMO', 'XXXXXX', '22294', '617', 'Sur frais d''acquisition des terrains bâtis', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (623, 'PCMN-BASE', 'IMMO', 'XXXXXX', '223', '578', 'Autres droits réels sur des immeubles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (624, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2230', '623', 'Valeur d''acquisition', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (625, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2238', '623', 'Plus-values actées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (626, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2239', '623', 'Amortissements', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (627, 'PCMN-BASE', 'IMMO', 'XXXXXX', '23', '1352', 'Installations, machines et outillages', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (628, 'PCMN-BASE', 'IMMO', 'XXXXXX', '230', '627', 'Installations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (629, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2300', '628', 'Installations bâtiments industriels', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (630, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2301', '628', 'Installations bâtiments administratifs et commerciaux', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (631, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2302', '628', 'Installations bâtiments d''exploitation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (632, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2303', '628', 'Installations voies de transport et ouvrages d''art', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (633, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2300', '628', 'Installation d''eau', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (634, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2301', '628', 'Installation d''électricité', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (635, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2302', '628', 'Installation de vapeur', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (636, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2303', '628', 'Installation de gaz', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (637, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2304', '628', 'Installation de chauffage', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (638, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2305', '628', 'Installation de conditionnement d''air', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (639, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2306', '628', 'Installation de chargement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (640, 'PCMN-BASE', 'IMMO', 'XXXXXX', '231', '627', 'Machines', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (641, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2310', '640', 'Division A', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (642, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2311', '640', 'Division B', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (643, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2312', '640', 'Division C', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (644, 'PCMN-BASE', 'IMMO', 'XXXXXX', '237', '627', 'Outillage', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (645, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2370', '644', 'Division A', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (646, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2371', '644', 'Division B', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (647, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2372', '644', 'Division C', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (648, 'PCMN-BASE', 'IMMO', 'XXXXXX', '238', '627', 'Plus-values actées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (649, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2380', '648', 'Sur installations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (650, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2381', '648', 'Sur machines', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (651, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2382', '648', 'Sur outillage', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (652, 'PCMN-BASE', 'IMMO', 'XXXXXX', '239', '627', 'Amortissements', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (653, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2390', '652', 'Sur installations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (654, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2391', '652', 'Sur machines', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (655, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2392', '652', 'Sur outillage', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (656, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24', '1352', 'Mobilier et matériel roulant', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (657, 'PCMN-BASE', 'IMMO', 'XXXXXX', '240', '656', 'Mobilier', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (658, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2400', '656', 'Mobilier', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (659, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24000', '658', 'Mobilier des bâtiments industriels', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (660, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24001', '658', 'Mobilier des bâtiments administratifs et commerciaux', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (661, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24002', '658', 'Mobilier des autres bâtiments d''exploitation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (662, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24003', '658', 'Mobilier oeuvres sociales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (663, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2401', '657', 'Matériel de bureau et de service social', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (664, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24010', '663', 'Des bâtiments industriels', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (665, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24011', '663', 'Des bâtiments administratifs et commerciaux', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (666, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24012', '663', 'Des autres bâtiments d''exploitation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (667, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24013', '663', 'Des oeuvres sociales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (668, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2408', '657', 'Plus-values actées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (669, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24080', '668', 'Plus-values actées sur mobilier', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (670, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24081', '668', 'Plus-values actées sur matériel de bureau et service social', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (671, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2409', '657', 'Amortissements', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (672, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24090', '671', 'Amortissements sur mobilier', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (673, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24091', '671', 'Amortissements sur matériel de bureau et service social', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (674, 'PCMN-BASE', 'IMMO', 'XXXXXX', '241', '656', 'Matériel roulant', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (675, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2410', '674', 'Matériel automobile', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (676, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24100', '675', 'Voitures', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (677, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24105', '675', 'Camions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (678, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2411', '674', 'Matériel ferroviaire', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (679, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2412', '674', 'Matériel fluvial', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (680, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2413', '674', 'Matériel naval', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (681, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2414', '674', 'Matériel aérien', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (682, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2418', '674', 'Plus-values sur matériel roulant', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (683, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24180', '682', 'Plus-values sur matériel automobile', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (684, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24181', '682', 'Idem sur matériel ferroviaire', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (685, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24182', '682', 'Idem sur matériel fluvial', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (686, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24183', '682', 'Idem sur matériel naval', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (687, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24184', '682', 'Idem sur matériel aérien', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (688, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2419', '674', 'Amortissements sur matériel roulant', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (689, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24190', '688', 'Amortissements sur matériel automobile', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (690, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24191', '688', 'Idem sur matériel ferroviaire', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (691, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24192', '688', 'Idem sur matériel fluvial', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (692, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24193', '688', 'Idem sur matériel naval', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (693, 'PCMN-BASE', 'IMMO', 'XXXXXX', '24194', '688', 'Idem sur matériel aérien', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (694, 'PCMN-BASE', 'IMMO', 'XXXXXX', '25', '1352', 'Immobilisation détenues en location-financement et droits similaires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (695, 'PCMN-BASE', 'IMMO', 'XXXXXX', '250', '694', 'Terrains et constructions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (696, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2500', '695', 'Terrains', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (697, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2501', '695', 'Constructions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (698, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2508', '695', 'Plus-values sur emphytéose, leasing et droits similaires : terrains et constructions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (699, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2509', '695', 'Amortissements et réductions de valeur sur terrains et constructions en leasing', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (700, 'PCMN-BASE', 'IMMO', 'XXXXXX', '251', '694', 'Installations, machines et outillage', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (701, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2510', '700', 'Installations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (702, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2511', '700', 'Machines', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (703, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2512', '700', 'Outillage', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (704, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2518', '700', 'Plus-values actées sur installations machines et outillage pris en leasing', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (705, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2519', '700', 'Amortissements sur installations machines et outillage pris en leasing', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (706, 'PCMN-BASE', 'IMMO', 'XXXXXX', '252', '694', 'Mobilier et matériel roulant', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (707, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2520', '706', 'Mobilier', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (708, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2521', '706', 'Matériel roulant', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (709, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2528', '706', 'Plus-values actées sur mobilier et matériel roulant en leasing', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (710, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2529', '706', 'Amortissements sur mobilier et matériel roulant en leasing', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (711, 'PCMN-BASE', 'IMMO', 'XXXXXX', '26', '1352', 'Autres immobilisations corporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (712, 'PCMN-BASE', 'IMMO', 'XXXXXX', '260', '711', 'Frais d''aménagements de locaux pris en location', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (713, 'PCMN-BASE', 'IMMO', 'XXXXXX', '261', '711', 'Maison d''habitation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (714, 'PCMN-BASE', 'IMMO', 'XXXXXX', '262', '711', 'Réserve immobilière', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (715, 'PCMN-BASE', 'IMMO', 'XXXXXX', '263', '711', 'Matériel d''emballage', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (716, 'PCMN-BASE', 'IMMO', 'XXXXXX', '264', '711', 'Emballages récupérables', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (717, 'PCMN-BASE', 'IMMO', 'XXXXXX', '268', '711', 'Plus-values actées sur autres immobilisations corporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (718, 'PCMN-BASE', 'IMMO', 'XXXXXX', '269', '711', 'Amortissements sur autres immobilisations corporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (719, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2690', '718', 'Amortissements sur frais d''aménagement des locaux pris en location', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (720, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2691', '718', 'Amortissements sur maison d''habitation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (721, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2692', '718', 'Amortissements sur réserve immobilière', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (722, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2693', '718', 'Amortissements sur matériel d''emballage', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (723, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2694', '718', 'Amortissements sur emballages récupérables', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (724, 'PCMN-BASE', 'IMMO', 'XXXXXX', '27', '1352', 'Immobilisations corporelles en cours et acomptes versés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (725, 'PCMN-BASE', 'IMMO', 'XXXXXX', '270', '724', 'Immobilisations en cours', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (726, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2700', '725', 'Constructions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (727, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2701', '725', 'Installations machines et outillage', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (728, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2702', '725', 'Mobilier et matériel roulant', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (729, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2703', '725', 'Autres immobilisations corporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (730, 'PCMN-BASE', 'IMMO', 'XXXXXX', '271', '724', 'Avances et acomptes versés sur immobilisations en cours', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (731, 'PCMN-BASE', 'IMMO', 'XXXXXX', '28', '1352', 'Immobilisations financières', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (732, 'PCMN-BASE', 'IMMO', 'XXXXXX', '280', '731', 'Participations dans des entreprises liées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (733, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2800', '732', 'Valeur d''acquisition (peut être subdivisé par participation)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (734, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2801', '732', 'Montants non appelés (idem)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (735, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2808', '732', 'Plus-values actées (idem)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (736, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2809', '732', 'Réductions de valeurs actées (idem)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (737, 'PCMN-BASE', 'IMMO', 'XXXXXX', '281', '731', 'Créances sur des entreprises liées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (738, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2810', '737', 'Créances en compte', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (739, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2811', '737', 'Effets à recevoir', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (740, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2812', '737', 'Titres à revenu fixes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (741, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2817', '737', 'Créances douteuses', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (742, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2819', '737', 'Réductions de valeurs actées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (743, 'PCMN-BASE', 'IMMO', 'XXXXXX', '282', '731', 'Participations dans des entreprises avec lesquelles il existe un lien de participation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (744, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2820', '743', 'Valeur d''acquisition (peut être subdivisé par participation)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (745, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2821', '743', 'Montants non appelés (idem)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (746, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2828', '743', 'Plus-values actées (idem)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (747, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2829', '743', 'Réductions de valeurs actées (idem)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (748, 'PCMN-BASE', 'IMMO', 'XXXXXX', '283', '731', 'Créances sur des entreprises avec lesquelles il existe un lien de participation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (749, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2830', '748', 'Créances en compte', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (750, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2831', '748', 'Effets à recevoir', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (751, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2832', '748', 'Titres à revenu fixe', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (752, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2837', '748', 'Créances douteuses', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (753, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2839', '748', 'Réductions de valeurs actées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (754, 'PCMN-BASE', 'IMMO', 'XXXXXX', '284', '731', 'Autres actions et parts', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (755, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2840', '754', 'Valeur d''acquisition', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (756, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2841', '754', 'Montants non appelés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (757, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2848', '754', 'Plus-values actées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (758, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2849', '754', 'Réductions de valeur actées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (759, 'PCMN-BASE', 'IMMO', 'XXXXXX', '285', '731', 'Autres créances', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (760, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2850', '759', 'Créances en compte', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (761, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2851', '759', 'Effets à recevoir', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (762, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2852', '759', 'Titres à revenu fixe', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (763, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2857', '759', 'Créances douteuses', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (764, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2859', '759', 'Réductions de valeur actées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (765, 'PCMN-BASE', 'IMMO', 'XXXXXX', '288', '731', 'Cautionnements versés en numéraires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (766, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2880', '765', 'Téléphone, téléfax, télex', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (767, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2881', '765', 'Gaz', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (768, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2882', '765', 'Eau', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (769, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2883', '765', 'Electricité', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (770, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2887', '765', 'Autres cautionnements versés en numéraires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (771, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29', '1352', 'Créances à plus d''un an', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (772, 'PCMN-BASE', 'IMMO', 'XXXXXX', '290', '771', 'Créances commerciales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (773, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2900', '772', 'Clients', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (774, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29000', '773', 'Créances en compte sur entreprises liées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (775, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29001', '773', 'Sur entreprises avec lesquelles il existe un lien de participation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (776, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29002', '773', 'Sur clients Belgique', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (777, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29003', '773', 'Sur clients C.E.E.', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (778, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29004', '773', 'Sur clients exportation hors C.E.E.', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (779, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29005', '773', 'Créances sur les coparticipants (associations momentanées)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (780, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2901', '772', 'Effets à recevoir', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (781, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29010', '780', 'Sur entreprises liées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (782, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29011', '780', 'Sur entreprises avec lesquelles il existe un lien de participation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (783, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29012', '780', 'Sur clients Belgique', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (784, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29013', '780', 'Sur clients C.E.E.', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (785, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29014', '780', 'Sur clients exportation hors C.E.E.', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (786, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2905', '772', 'Retenues sur garanties', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (787, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2906', '772', 'Acomptes versés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (788, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2907', '772', 'Créances douteuses (à ventiler comme clients 2900)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (789, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2909', '772', 'Réductions de valeur actées (à ventiler comme clients 2900)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (790, 'PCMN-BASE', 'IMMO', 'XXXXXX', '291', '771', 'Autres créances', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (791, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2910', '790', 'Créances en compte', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (792, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29100', '791', 'Sur entreprises liées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (793, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29101', '791', 'Sur entreprises avec lesquelles il existe un lien de participation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (794, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29102', '791', 'Sur autres débiteurs', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (795, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2911', '790', 'Effets à recevoir', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (796, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29110', '795', 'Sur entreprises liées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (797, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29111', '795', 'Sur entreprises avec lesquelles il existe un lien de participation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (798, 'PCMN-BASE', 'IMMO', 'XXXXXX', '29112', '795', 'Sur autres débiteurs', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (799, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2912', '790', 'Créances résultant de la cession d''immobilisations données en leasing', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (800, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2917', '790', 'Créances douteuses', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (801, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2919', '790', 'Réductions de valeur actées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (802, 'PCMN-BASE', 'STOCK', 'XXXXXX', '30', '1353', 'Approvisionnements - matières premières', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (803, 'PCMN-BASE', 'STOCK', 'XXXXXX', '300', '802', 'Valeur d''acquisition', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (804, 'PCMN-BASE', 'STOCK', 'XXXXXX', '309', '802', 'Réductions de valeur actées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (805, 'PCMN-BASE', 'STOCK', 'XXXXXX', '31', '1353', 'Approvsionnements et fournitures', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (806, 'PCMN-BASE', 'STOCK', 'XXXXXX', '310', '805', 'Valeur d''acquisition', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (807, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3100', '806', 'Matières d''approvisionnement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (808, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3101', '806', 'Energie, charbon, coke, mazout, essence, propane', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (809, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3102', '806', 'Produits d''entretien', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (810, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3103', '806', 'Fournitures diverses et petit outillage', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (811, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3104', '806', 'Imprimés et fournitures de bureau', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (812, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3105', '806', 'Fournitures de services sociaux', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (813, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3106', '806', 'Emballages commerciaux', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (814, 'PCMN-BASE', 'STOCK', 'XXXXXX', '31060', '813', 'Emballages perdus', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (815, 'PCMN-BASE', 'STOCK', 'XXXXXX', '31061', '813', 'Emballages récupérables', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (816, 'PCMN-BASE', 'STOCK', 'XXXXXX', '319', '805', 'Réductions de valeur actées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (817, 'PCMN-BASE', 'STOCK', 'XXXXXX', '32', '1353', 'En cours de fabrication', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (818, 'PCMN-BASE', 'STOCK', 'XXXXXX', '320', '817', 'Valeur d''acquisition', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (819, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3200', '818', 'Produits semi-ouvrés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (820, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3201', '818', 'Produits en cours de fabrication', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (821, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3202', '818', 'Travaux en cours', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (822, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3205', '818', 'Déchets', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (823, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3206', '818', 'Rebuts', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (824, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3209', '818', 'Travaux en association momentanée', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (825, 'PCMN-BASE', 'STOCK', 'XXXXXX', '329', '817', 'Réductions de valeur actées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (826, 'PCMN-BASE', 'STOCK', 'XXXXXX', '33', '1353', 'Produits finis', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (827, 'PCMN-BASE', 'STOCK', 'XXXXXX', '330', '826', 'Valeur d''acquisition', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (828, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3300', '827', 'Produits finis', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (829, 'PCMN-BASE', 'STOCK', 'XXXXXX', '339', '826', 'Réductions de valeur actées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (830, 'PCMN-BASE', 'STOCK', 'XXXXXX', '34', '1353', 'Marchandises', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (831, 'PCMN-BASE', 'STOCK', 'XXXXXX', '340', '830', 'Valeur d''acquisition', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (832, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3400', '831', 'Groupe A', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (833, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3401', '831', 'Groupe B', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (834, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3402', '831', 'Groupe C', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (835, 'PCMN-BASE', 'STOCK', 'XXXXXX', '349', '830', 'Réductions de valeur actées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (836, 'PCMN-BASE', 'STOCK', 'XXXXXX', '35', '1353', 'Immeubles destinés à la vente', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (837, 'PCMN-BASE', 'STOCK', 'XXXXXX', '350', '836', 'Valeur d''acquisition', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (838, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3500', '837', 'Immeuble A', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (839, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3501', '837', 'Immeuble B', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (840, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3502', '837', 'Immeuble C', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (841, 'PCMN-BASE', 'STOCK', 'XXXXXX', '351', '836', 'Immeubles construits en vue de leur revente', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (842, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3510', '841', 'Immeuble A', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (843, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3511', '841', 'Immeuble B', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (844, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3512', '841', 'Immeuble C', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (845, 'PCMN-BASE', 'STOCK', 'XXXXXX', '359', '836', 'Réductions de valeurs actées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (846, 'PCMN-BASE', 'STOCK', 'XXXXXX', '36', '1353', 'Acomptes versés sur achats pour stocks', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (847, 'PCMN-BASE', 'STOCK', 'XXXXXX', '360', '846', 'Acomptes versés (à ventiler éventuellement par catégorie)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (848, 'PCMN-BASE', 'STOCK', 'XXXXXX', '369', '846', 'Réductions de valeur actées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (849, 'PCMN-BASE', 'STOCK', 'XXXXXX', '37', '1353', 'Commandes en cours d''exécution', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (850, 'PCMN-BASE', 'STOCK', 'XXXXXX', '370', '849', 'Valeur d''acquisition', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (851, 'PCMN-BASE', 'STOCK', 'XXXXXX', '371', '849', 'Bénéfice pris en compte', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (852, 'PCMN-BASE', 'STOCK', 'XXXXXX', '379', '849', 'Réductions de valeur actées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (853, 'PCMN-BASE', 'TIERS', 'XXXXXX', '40', '1354', 'Créances commerciales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (854, 'PCMN-BASE', 'TIERS', 'XXXXXX', '400', '853', 'Clients', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (855, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4007', '854', 'Rabais, remises et ristournes à accorder et autres notes de crédit à établir', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (856, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4008', '854', 'Créances résultant de livraisons de biens (associations momentanées)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (857, 'PCMN-BASE', 'TIERS', 'XXXXXX', '401', '853', 'Effets à recevoir', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (858, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4010', '857', 'Effets à recevoir', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (859, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4013', '857', 'Effets à l''encaissement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (860, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4015', '857', 'Effets à l''escompte', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (861, 'PCMN-BASE', 'TIERS', 'XXXXXX', '402', '853', 'Clients, créances courantes, entreprises apparentées, administrateurs et gérants', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (862, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4020', '861', 'Entreprises liées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (863, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4021', '861', 'Autres entreprises avec lesquelles il existe un lien de participation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (864, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4022', '861', 'Administrateurs et gérants d''entreprise', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (865, 'PCMN-BASE', 'TIERS', 'XXXXXX', '403', '853', 'Effets à recevoir sur entreprises apparentées et administrateurs et gérants', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (866, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4030', '865', 'Entreprises liées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (867, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4031', '865', 'Autres entreprises avec lesquelles il existe un lien de participation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (868, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4032', '865', 'Administrateurs et gérants de l''entreprise', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (869, 'PCMN-BASE', 'TIERS', 'XXXXXX', '404', '853', 'Produits à recevoir (factures à établir)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (870, 'PCMN-BASE', 'TIERS', 'XXXXXX', '405', '853', 'Clients : retenues sur garanties', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (871, 'PCMN-BASE', 'TIERS', 'XXXXXX', '406', '853', 'Acomptes versés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (872, 'PCMN-BASE', 'TIERS', 'XXXXXX', '407', '853', 'Créances douteuses', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (873, 'PCMN-BASE', 'TIERS', 'XXXXXX', '408', '853', 'Compensation clients', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (874, 'PCMN-BASE', 'TIERS', 'XXXXXX', '409', '853', 'Réductions de valeur actées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (875, 'PCMN-BASE', 'TIERS', 'XXXXXX', '41', '1354', 'Autres créances', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (876, 'PCMN-BASE', 'TIERS', 'XXXXXX', '410', '875', 'Capital appelé, non versé', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (877, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4100', '876', 'Appels de fonds', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (878, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4101', '876', 'Actionnaires défaillants', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (879, 'PCMN-BASE', 'TIERS', 'XXXXXX', '411', '875', 'T.V.A. à récupérer', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (880, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4110', '879', 'T.V.A. due', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (881, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4111', '879', 'T.V.A. déductible', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (882, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4112', '879', 'Compte courant administration T.V.A.', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (883, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4118', '879', 'Taxe d''égalisation due', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (884, 'PCMN-BASE', 'TIERS', 'XXXXXX', '412', '875', 'Impôts et versements fiscaux à récupérer', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (885, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4120', '884', 'Impôts belges sur le résultat', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (886, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4125', '884', 'Autres impôts belges', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (887, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4128', '884', 'Impôts étrangers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (888, 'PCMN-BASE', 'TIERS', 'XXXXXX', '414', '875', 'Produits à recevoir', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (889, 'PCMN-BASE', 'TIERS', 'XXXXXX', '416', '875', 'Créances diverses', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (890, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4160', '889', 'Associés (compte d''apport en société)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (891, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4161', '889', 'Avances et prêts au personnel', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (892, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4162', '889', 'Compte courant des associés en S.P.R.L.', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (893, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4163', '889', 'Compte courant des administrateurs et gérants', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (894, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4164', '889', 'Créances sur sociétés apparentées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (895, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4166', '889', 'Emballages et matériel à rendre', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (896, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4167', '889', 'Etat et établissements publics', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (897, 'PCMN-BASE', 'TIERS', 'XXXXXX', '41670', '896', 'Subsides à recevoir', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (898, 'PCMN-BASE', 'TIERS', 'XXXXXX', '41671', '896', 'Autres créances', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (899, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4168', '889', 'Rabais, ristournes et remises à obtenir et autres avoirs non encore reçus', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (900, 'PCMN-BASE', 'TIERS', 'XXXXXX', '417', '875', 'Créances douteuses', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (901, 'PCMN-BASE', 'TIERS', 'XXXXXX', '418', '875', 'Cautionnements versés en numéraires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (902, 'PCMN-BASE', 'TIERS', 'XXXXXX', '419', '875', 'Réductions de valeur actées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (903, 'PCMN-BASE', 'TIERS', 'XXXXXX', '42', '1354', 'Dettes à plus d''un an échéant dans l''année', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (904, 'PCMN-BASE', 'TIERS', 'XXXXXX', '420', '903', 'Emprunts subordonnés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (905, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4200', '904', 'Convertibles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (906, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4201', '904', 'Non convertibles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (907, 'PCMN-BASE', 'TIERS', 'XXXXXX', '421', '903', 'Emprunts obligataires non subordonnés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (908, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4210', '907', 'Convertibles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (909, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4211', '907', 'Non convertibles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (910, 'PCMN-BASE', 'TIERS', 'XXXXXX', '422', '903', 'Dettes de location-financement et assimilées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (911, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4220', '910', 'Financement de biens immobiliers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (912, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4221', '910', 'Financement de biens mobiliers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (913, 'PCMN-BASE', 'TIERS', 'XXXXXX', '423', '903', 'Etablissements de crédit', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (914, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4230', '913', 'Dettes en compte', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (915, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4231', '913', 'Promesses', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (916, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4232', '913', 'Crédits d''acceptation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (917, 'PCMN-BASE', 'TIERS', 'XXXXXX', '424', '903', 'Autres emprunts', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (918, 'PCMN-BASE', 'TIERS', 'XXXXXX', '425', '903', 'Dettes commerciales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (919, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4250', '918', 'Fournisseurs', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (920, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4251', '918', 'Effets à payer', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (921, 'PCMN-BASE', 'TIERS', 'XXXXXX', '426', '903', 'Cautionnements reçus en numéraires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (922, 'PCMN-BASE', 'TIERS', 'XXXXXX', '429', '903', 'Dettes diverses', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (923, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4290', '922', 'Entreprises liées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (924, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4291', '922', 'Entreprises avec lesquelles il existe un lien de participation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (925, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4292', '922', 'Administrateurs, gérants, associés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (926, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4299', '922', 'Autres dettes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (927, 'PCMN-BASE', 'TIERS', 'XXXXXX', '43', '1354', 'Dettes financières', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (928, 'PCMN-BASE', 'TIERS', 'XXXXXX', '430', '927', 'Etablissements de crédit. Emprunts en compte à terme fixe', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (929, 'PCMN-BASE', 'TIERS', 'XXXXXX', '431', '927', 'Etablissements de crédit. Promesses', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (930, 'PCMN-BASE', 'TIERS', 'XXXXXX', '432', '927', 'Etablissements de crédit. Crédits d''acceptation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (931, 'PCMN-BASE', 'TIERS', 'XXXXXX', '433', '927', 'Etablissements de crédit. Dettes en compte courant', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (932, 'PCMN-BASE', 'TIERS', 'XXXXXX', '439', '927', 'Autres emprunts', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (933, 'PCMN-BASE', 'TIERS', 'XXXXXX', '44', '1354', 'Dettes commerciales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (934, 'PCMN-BASE', 'TIERS', 'XXXXXX', '440', '933', 'Fournisseurs', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (935, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4400', '934', 'Entreprises apparentées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (936, 'PCMN-BASE', 'TIERS', 'XXXXXX', '44000', '935', 'Entreprises liées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (937, 'PCMN-BASE', 'TIERS', 'XXXXXX', '44001', '935', 'Entreprises avec lesquelles il existe un lien de participation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (938, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4401', '934', 'Fournisseurs ordinaires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (939, 'PCMN-BASE', 'TIERS', 'XXXXXX', '44010', '938', 'Fournisseurs belges', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (940, 'PCMN-BASE', 'TIERS', 'XXXXXX', '44011', '938', 'Fournisseurs CEE', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (941, 'PCMN-BASE', 'TIERS', 'XXXXXX', '44012', '938', 'Fournisseurs importation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (942, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4402', '934', 'Dettes envers les coparticipants (associations momentanées)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (943, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4403', '934', 'Fournisseurs - retenues de garanties', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (944, 'PCMN-BASE', 'TIERS', 'XXXXXX', '441', '933', 'Effets à payer', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (945, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4410', '944', 'Entreprises apparentées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (946, 'PCMN-BASE', 'TIERS', 'XXXXXX', '44100', '945', 'Entreprises liées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (947, 'PCMN-BASE', 'TIERS', 'XXXXXX', '44101', '945', 'Entreprises avec lesquelles il existe un lien de participation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (948, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4411', '944', 'Fournisseurs ordinaires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (949, 'PCMN-BASE', 'TIERS', 'XXXXXX', '44110', '948', 'Fournisseurs belges', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (950, 'PCMN-BASE', 'TIERS', 'XXXXXX', '44111', '948', 'Fournisseurs CEE', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (951, 'PCMN-BASE', 'TIERS', 'XXXXXX', '44112', '948', 'Fournisseurs importation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (952, 'PCMN-BASE', 'TIERS', 'XXXXXX', '444', '933', 'Factures à recevoir', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (953, 'PCMN-BASE', 'TIERS', 'XXXXXX', '446', '933', 'Acomptes reçus', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (954, 'PCMN-BASE', 'TIERS', 'XXXXXX', '448', '933', 'Compensations fournisseurs', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (955, 'PCMN-BASE', 'TIERS', 'XXXXXX', '45', '1354', 'Dettes fiscales, salariales et sociales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (956, 'PCMN-BASE', 'TIERS', 'XXXXXX', '450', '955', 'Dettes fiscales estimées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (957, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4501', '956', 'Impôts sur le résultat', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (958, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4505', '956', 'Autres impôts en Belgique', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (959, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4508', '956', 'Impôts à l''étranger', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (960, 'PCMN-BASE', 'TIERS', 'XXXXXX', '451', '955', 'T.V.A. à payer', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (961, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4510', '960', 'T.V.A. due', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (962, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4511', '960', 'T.V.A. déductible', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (963, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4512', '960', 'Compte courant administration T.V.A.', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (964, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4518', '960', 'Taxe d''égalisation due', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (965, 'PCMN-BASE', 'TIERS', 'XXXXXX', '452', '955', 'Impôts et taxes à payer', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (966, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4520', '965', 'Autres impôts sur le résultat', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (967, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4525', '965', 'Autres impôts et taxes en Belgique', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (968, 'PCMN-BASE', 'TIERS', 'XXXXXX', '45250', '967', 'Précompte immobilier', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (969, 'PCMN-BASE', 'TIERS', 'XXXXXX', '45251', '967', 'Impôts communaux à payer', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (970, 'PCMN-BASE', 'TIERS', 'XXXXXX', '45252', '967', 'Impôts provinciaux à payer', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (971, 'PCMN-BASE', 'TIERS', 'XXXXXX', '45253', '967', 'Autres impôts et taxes à payer', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (972, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4528', '965', 'Impôts et taxes à l''étranger', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (973, 'PCMN-BASE', 'TIERS', 'XXXXXX', '453', '955', 'Précomptes retenus', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (974, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4530', '973', 'Précompte professionnel retenu sur rémunérations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (975, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4531', '973', 'Précompte professionnel retenu sur tantièmes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (976, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4532', '973', 'Précompte mobilier retenu sur dividendes attribués', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (977, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4533', '973', 'Précompte mobilier retenu sur intérêts payés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (978, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4538', '973', 'Autres précomptes retenus', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (979, 'PCMN-BASE', 'TIERS', 'XXXXXX', '454', '955', 'Office National de la Sécurité Sociale', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (980, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4540', '979', 'Arriérés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (981, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4541', '979', '1er trimestre', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (982, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4542', '979', '2ème trimestre', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (983, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4543', '979', '3ème trimestre', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (984, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4544', '979', '4ème trimestre', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (985, 'PCMN-BASE', 'TIERS', 'XXXXXX', '455', '955', 'Rémunérations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (986, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4550', '985', 'Administrateurs, gérants et commissaires (non réviseurs)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (987, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4551', '985', 'Direction', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (988, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4552', '985', 'Employés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (989, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4553', '985', 'Ouvriers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (990, 'PCMN-BASE', 'TIERS', 'XXXXXX', '456', '955', 'Pécules de vacances', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (991, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4560', '990', 'Direction', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (992, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4561', '990', 'Employés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (993, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4562', '990', 'Ouvriers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (994, 'PCMN-BASE', 'TIERS', 'XXXXXX', '459', '955', 'Autres dettes sociales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (995, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4590', '994', 'Provision pour gratifications de fin d''année', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (996, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4591', '994', 'Départs de personnel', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (997, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4592', '994', 'Oppositions sur rémunérations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (998, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4593', '994', 'Assurances relatives au personnel', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (999, 'PCMN-BASE', 'TIERS', 'XXXXXX', '45930', '998', 'Assurance loi', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1000, 'PCMN-BASE', 'TIERS', 'XXXXXX', '45931', '998', 'Assurance salaire garanti', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1001, 'PCMN-BASE', 'TIERS', 'XXXXXX', '45932', '998', 'Assurance groupe', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1002, 'PCMN-BASE', 'TIERS', 'XXXXXX', '45933', '998', 'Assurances individuelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1003, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4594', '994', 'Caisse d''assurances sociales pour travailleurs indépendants', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1004, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4597', '994', 'Dettes et provisions sociales diverses', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1005, 'PCMN-BASE', 'TIERS', 'XXXXXX', '46', '1354', 'Acomptes reçus sur commande', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1006, 'PCMN-BASE', 'TIERS', 'XXXXXX', '47', '1354', 'Dettes découlant de l''affectation des résultats', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1007, 'PCMN-BASE', 'TIERS', 'XXXXXX', '470', '1006', 'Dividendes et tantièmes d''exercices antérieurs', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1008, 'PCMN-BASE', 'TIERS', 'XXXXXX', '471', '1006', 'Dividendes de l''exercice', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1009, 'PCMN-BASE', 'TIERS', 'XXXXXX', '472', '1006', 'Tantièmes de l''exercice', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1010, 'PCMN-BASE', 'TIERS', 'XXXXXX', '473', '1006', 'Autres allocataires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1011, 'PCMN-BASE', 'TIERS', 'XXXXXX', '48', '4', 'Dettes diverses', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1012, 'PCMN-BASE', 'TIERS', 'XXXXXX', '480', '1011', 'Obligations et coupons échus', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1013, 'PCMN-BASE', 'TIERS', 'XXXXXX', '481', '1011', 'Actionnaires - capital à rembourser', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1014, 'PCMN-BASE', 'TIERS', 'XXXXXX', '482', '1011', 'Participation du personnel à payer', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1015, 'PCMN-BASE', 'TIERS', 'XXXXXX', '483', '1011', 'Acomptes reçus d''autres tiers à moins d''un an', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1016, 'PCMN-BASE', 'TIERS', 'XXXXXX', '486', '1011', 'Emballages et matériel consignés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1017, 'PCMN-BASE', 'TIERS', 'XXXXXX', '488', '1011', 'Cautionnements reçus en numéraires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1018, 'PCMN-BASE', 'TIERS', 'XXXXXX', '489', '1011', 'Autres dettes diverses', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1019, 'PCMN-BASE', 'TIERS', 'XXXXXX', '49', '1354', 'Comptes de régularisation et compte d''attente', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1020, 'PCMN-BASE', 'TIERS', 'XXXXXX', '490', '1019', 'Charges à reporter (à subdiviser par catégorie de charges)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1021, 'PCMN-BASE', 'TIERS', 'XXXXXX', '491', '1019', 'Produits acquis', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1022, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4910', '1021', 'Produits d''exploitation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1023, 'PCMN-BASE', 'TIERS', 'XXXXXX', '49100', '1022', 'Ristournes et rabais à obtenir', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1024, 'PCMN-BASE', 'TIERS', 'XXXXXX', '49101', '1022', 'Commissions à obtenir', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1025, 'PCMN-BASE', 'TIERS', 'XXXXXX', '49102', '1022', 'Autres produits d''exploitation (redevances par exemple)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1026, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4911', '1021', 'Produits financiers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1027, 'PCMN-BASE', 'TIERS', 'XXXXXX', '49110', '1026', 'Intérêts courus et non échus sur prêts et débits', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1028, 'PCMN-BASE', 'TIERS', 'XXXXXX', '49111', '1026', 'Autres produits financiers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1029, 'PCMN-BASE', 'TIERS', 'XXXXXX', '492', '1019', 'Charges à imputer (à subdiviser par catégorie de charges)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1030, 'PCMN-BASE', 'TIERS', 'XXXXXX', '493', '1019', 'Produits à reporter', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1031, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4930', '1030', 'Produits d''exploitation à reporter', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1032, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4931', '1030', 'Produits financiers à reporter', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1033, 'PCMN-BASE', 'TIERS', 'XXXXXX', '499', '1019', 'Comptes d''attente', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1034, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4990', '1033', 'Compte d''attente', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1035, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4991', '1033', 'Compte de répartition périodique des charges', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1036, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4999', '1033', 'Transferts d''exercice', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1037, 'PCMN-BASE', 'FINAN', 'XXXXXX', '50', '1355', 'Actions propres', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1038, 'PCMN-BASE', 'FINAN', 'XXXXXX', '51', '1355', 'Actions et parts', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1039, 'PCMN-BASE', 'FINAN', 'XXXXXX', '510', '1038', 'Valeur d''acquisition', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1040, 'PCMN-BASE', 'FINAN', 'XXXXXX', '511', '1038', 'Montants non appelés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1041, 'PCMN-BASE', 'FINAN', 'XXXXXX', '519', '1038', 'Réductions de valeur actées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1042, 'PCMN-BASE', 'FINAN', 'XXXXXX', '52', '1355', 'Titres à revenus fixes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1043, 'PCMN-BASE', 'FINAN', 'XXXXXX', '520', '1042', 'Valeur d''acquisition', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1044, 'PCMN-BASE', 'FINAN', 'XXXXXX', '529', '1042', 'Réductions de valeur actées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1045, 'PCMN-BASE', 'FINAN', 'XXXXXX', '53', '1355', 'Dépots à terme', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1046, 'PCMN-BASE', 'FINAN', 'XXXXXX', '530', '1045', 'De plus d''un an', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1047, 'PCMN-BASE', 'FINAN', 'XXXXXX', '531', '1045', 'De plus d''un mois et à un an au plus', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1048, 'PCMN-BASE', 'FINAN', 'XXXXXX', '532', '1045', 'd''un mois au plus', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1049, 'PCMN-BASE', 'FINAN', 'XXXXXX', '539', '1045', 'Réductions de valeur actées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1050, 'PCMN-BASE', 'FINAN', 'XXXXXX', '54', '1355', 'Valeurs échues à l''encaissement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1051, 'PCMN-BASE', 'FINAN', 'XXXXXX', '540', '1050', 'Chèques à encaisser', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1052, 'PCMN-BASE', 'FINAN', 'XXXXXX', '541', '1050', 'Coupons à encaisser', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1053, 'PCMN-BASE', 'FINAN', 'XXXXXX', '55', '1355', 'Etablissements de crédit - Comptes ouverts auprès des divers établissements.', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1054, 'PCMN-BASE', 'FINAN', 'XXXXXX', '550', '1053', 'Comptes courants', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1055, 'PCMN-BASE', 'FINAN', 'XXXXXX', '551', '1053', 'Chèques émis', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1056, 'PCMN-BASE', 'FINAN', 'XXXXXX', '559', '1053', 'Réductions de valeur actées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1057, 'PCMN-BASE', 'FINAN', 'XXXXXX', '56', '1355', 'Office des chèques postaux', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1058, 'PCMN-BASE', 'FINAN', 'XXXXXX', '560', '1057', 'Compte courant', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1059, 'PCMN-BASE', 'FINAN', 'XXXXXX', '561', '1057', 'Chèques émis', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1060, 'PCMN-BASE', 'FINAN', 'XXXXXX', '57', '1355', 'Caisses', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1061, 'PCMN-BASE', 'FINAN', 'XXXXXX', '570', '1060', 'à 577 Caisses - espèces ( 0 - centrale ; 7 - succursales et agences)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1062, 'PCMN-BASE', 'FINAN', 'XXXXXX', '578', '1060', 'Caisses - timbres ( 0 - fiscaux ; 1 - postaux)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1063, 'PCMN-BASE', 'FINAN', 'XXXXXX', '58', '1355', 'Virements internes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1064, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '60', '1356', 'Approvisionnements et marchandises', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1065, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '600', '1064', 'Achats de matières premières', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1066, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '601', '1064', 'Achats de fournitures', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1067, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '602', '1064', 'Achats de services, travaux et études', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1068, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '603', '1064', 'Sous-traitances générales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1069, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '604', '1064', 'Achats de marchandises', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1070, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '605', '1064', 'Achats d''immeubles destinés à la revente', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1071, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '608', '1064', 'Remises , ristournes et rabais obtenus sur achats', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1072, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '609', '1064', 'Variations de stocks', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1073, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6090', '1072', 'De matières premières', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1074, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6091', '1072', 'De fournitures', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1075, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6094', '1072', 'De marchandises', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1076, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6095', '1072', 'd''immeubles destinés à la vente', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1077, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61', '1356', 'Services et biens divers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1078, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '610', '1077', 'Loyers et charges locatives', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1079, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6100', '1078', 'Loyers divers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1080, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6101', '1078', 'Charges locatives (assurances, frais de confort,etc)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1081, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '611', '1077', 'Entretien et réparation (fournitures et prestations)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1082, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '612', '1077', 'Fournitures faites à l''entreprise', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1083, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6120', '1082', 'Eau, gaz, électricité, vapeur', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1084, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61200', '1083', 'Eau', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1085, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61201', '1083', 'Gaz', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1086, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61202', '1083', 'Electricité', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1087, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61203', '1083', 'Vapeur', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1088, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6121', '1082', 'Téléphone, télégrammes, télex, téléfax, frais postaux', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1089, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61210', '1088', 'Téléphone', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1090, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61211', '1088', 'Télégrammes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1091, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61212', '1088', 'Télex et téléfax', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1092, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61213', '1088', 'Frais postaux', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1093, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6122', '1082', 'Livres, bibliothèque', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1094, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6123', '1082', 'Imprimés et fournitures de bureau (si non comptabilisé au 601)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1095, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '613', '1077', 'Rétributions de tiers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1096, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6130', '1095', 'Redevances et royalties', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1097, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61300', '1096', 'Redevances pour brevets, licences, marques et accessoires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1098, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61301', '1096', 'Autres redevances (procédés de fabrication)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1099, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6131', '1095', 'Assurances non relatives au personnel', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1100, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61310', '1099', 'Assurance incendie', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1101, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61311', '1099', 'Assurance vol', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1102, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61312', '1099', 'Assurance autos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1103, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61313', '1099', 'Assurance crédit', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1104, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61314', '1099', 'Assurances frais généraux', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1105, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6132', '1095', 'Divers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1106, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61320', '1105', 'Commissions aux tiers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1107, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61321', '1105', 'Honoraires d''avocats, d''experts, etc', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1108, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61322', '1105', 'Cotisations aux groupements professionnels', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1109, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61323', '1105', 'Dons, libéralités, etc', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1110, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61324', '1105', 'Frais de contentieux', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1111, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61325', '1105', 'Publications légales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1112, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6133', '1095', 'Transports et déplacements', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1113, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61330', '1112', 'Transports de personnel', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1114, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '61331', '1112', 'Voyages, déplacements et représentations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1115, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6134', '1095', 'Personnel intérimaire', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1116, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '614', '1077', 'Annonces, publicité, propagande et documentation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1117, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6140', '1116', 'Annonces et insertions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1118, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6141', '1116', 'Catalogues et imprimés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1119, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6142', '1116', 'Echantillons', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1120, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6143', '1116', 'Foires et expositions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1121, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6144', '1116', 'Primes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1122, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6145', '1116', 'Cadeaux à la clientèle', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1123, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6146', '1116', 'Missions et réceptions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1124, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6147', '1116', 'Documentation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1125, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '615', '1077', 'Sous-traitants', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1126, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6150', '1125', 'Sous-traitants pour activités propres', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1127, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6151', '1125', 'Sous-traitants d''associations momentanées (coparticipants)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1128, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6152', '1125', 'Quote-part bénéficiaire des coparticipants', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1129, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '617', '1077', 'Personnel intérimaire et personnes mises à la disposition de l''entreprise', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1130, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '618', '1077', 'Rémunérations, primes pour assurances extralégales, pensions de retraite et de survie des administrateurs, gérants et associés actifs qui ne sont pas attribuées en vertu d''un contrat de travail', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1131, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '62', '1356', 'Rémunérations, charges sociales et pensions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1132, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '620', '1131', 'Rémunérations et avantages sociaux directs', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1133, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6200', '1132', 'Administrateurs ou gérants', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1134, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6201', '1132', 'Personnel de direction', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1135, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6202', '1132', 'Employés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1136, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6203', '1132', 'Ouvriers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1137, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6204', '1132', 'Autres membres du personnel', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1138, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '621', '1131', 'Cotisations patronales d''assurances sociales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1139, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6210', '1138', 'Sur salaires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1140, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6211', '1138', 'Sur appointements et commissions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1141, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '622', '1131', 'Primes patronales pour assurances extralégales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1142, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '623', '1131', 'Autres frais de personnel', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1143, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6230', '1142', 'Assurances du personnel', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1144, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '62300', '1143', 'Assurances loi, responsabilité civile, chemin du travail', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1145, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '62301', '1143', 'Assurance salaire garanti', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1146, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '62302', '1143', 'Assurances individuelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1147, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6231', '1142', 'Charges sociales diverses', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1148, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '62310', '1147', 'Jours fériés payés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1149, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '62311', '1147', 'Salaire hebdomadaire garanti', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1150, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '62312', '1147', 'Allocations familiales complémentaires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1151, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6232', '1142', 'Charges sociales des administrateurs, gérants et commissaires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1152, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '62320', '1151', 'Allocations familiales complémentaires pour non salariés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1153, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '62321', '1151', 'Lois sociales pour indépendants', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1154, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '62322', '1151', 'Divers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1155, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '624', '1131', 'Pensions de retraite et de survie', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1156, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6240', '1155', 'Administrateurs et gérants', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1157, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6241', '1155', 'Personnel', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1158, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '625', '1131', 'Provision pour pécule de vacances', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1159, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6250', '1158', 'Dotations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1160, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6251', '1158', 'Utilisations et reprises', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1161, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '63', '1356', 'Amortissements, réductions de valeur et provisions pour risques et charges', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1162, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '630', '1161', 'Dotations aux amortissements et aux réductions de valeur sur immobilisations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1163, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6300', '1162', 'Dotations aux amortissements sur frais d''établissement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1164, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6301', '1162', 'Dotations aux amortissements sur immobilisations incorporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1165, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6302', '1162', 'Dotations aux amortissements sur immobilisations corporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1166, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6308', '1162', 'Dotations aux réductions de valeur sur immobilisations incorporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1167, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6309', '1162', 'Dotations aux réductions de valeur sur immobilisations corporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1168, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '631', '1161', 'Réductions de valeur sur stocks', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1169, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6310', '1168', 'Dotations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1170, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6311', '1168', 'Reprises', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1171, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '632', '1161', 'Réductions de valeur sur commandes en cours d''exécution', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1172, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6320', '1171', 'Dotations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1173, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6321', '1171', 'Reprises', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1174, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '633', '1161', 'Réductions de valeur sur créances commerciales à plus d''un an', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1175, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6330', '1174', 'Dotations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1176, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6331', '1174', 'Reprises', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1177, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '634', '1161', 'Réductions de valeur sur créances commerciales à un an au plus', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1178, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6340', '1177', 'Dotations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1179, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6341', '1177', 'Reprises', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1180, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '635', '1161', 'Provisions pour pensions et obligations similaires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1181, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6350', '1180', 'Dotations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1182, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6351', '1180', 'Utilisations et reprises', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1183, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '636', '11613', 'Provisions pour grosses réparations et gros entretiens', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1184, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6360', '1183', 'Dotations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1185, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6361', '1183', 'Utilisations et reprises', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1186, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '637', '1161', 'Provisions pour autres risques et charges', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1187, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6370', '1186', 'Dotations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1188, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6371', '1186', 'Utilisations et reprises', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1189, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '64', '1356', 'Autres charges d''exploitation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1190, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '640', '1189', 'Charges fiscales d''exploitation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1191, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6400', '1190', 'Taxes et impôts directs', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1192, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '64000', '1191', 'Taxes sur autos et camions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1193, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6401', '1190', 'Taxes et impôts indirects', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1194, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '64010', '1193', 'Timbres fiscaux pris en charge par la firme', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1195, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '64011', '1193', 'Droits d''enregistrement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1196, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '64012', '1193', 'T.V.A. non déductible', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1197, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6402', '1190', 'Impôts provinciaux et communaux', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1198, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '64020', '1197', 'Taxe sur la force motrice', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1199, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '64021', '1197', 'Taxe sur le personnel occupé', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1200, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6403', '1190', 'Taxes diverses', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1201, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '641', '1189', 'Moins-values sur réalisations courantes d''immobilisations corporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1202, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '642', '1189', 'Moins-values sur réalisations de créances commerciales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1203, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '643', '1189', 'à 648 Charges d''exploitations diverses', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1204, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '649', '1189', 'Charges d''exploitation portées à l''actif au titre de restructuration', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1205, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '65', '1356', 'Charges financières', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1206, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '650', '1205', 'Charges des dettes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1207, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6500', '1206', 'Intérêts, commissions et frais afférents aux dettes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1208, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6501', '1206', 'Amortissements des agios et frais d''émission d''emprunts', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1209, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6502', '1206', 'Autres charges de dettes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1210, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6503', '1206', 'Intérêts intercalaires portés à l''actif', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1211, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '651', '1205', 'Réductions de valeur sur actifs circulants', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1212, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6510', '1211', 'Dotations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1213, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6511', '1211', 'Reprises', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1214, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '652', '1205', 'Moins-values sur réalisation d''actifs circulants', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1215, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '653', '1205', 'Charges d''escompte de créances', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1216, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '654', '1205', 'Différences de change', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1217, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '655', '1205', 'Ecarts de conversion des devises', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1218, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '656', '1205', 'Frais de banques, de chèques postaux', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1219, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '657', '1205', 'Commissions sur ouvertures de crédit, cautions et avals', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1220, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '658', '1205', 'Frais de vente des titres', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1221, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '66', '1356', 'Charges exceptionnelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1222, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '660', '1221', 'Amortissements et réductions de valeur exceptionnels', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1223, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6600', '1222', 'Sur frais d''établissement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1224, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6601', '1222', 'Sur immobilisations incorporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1225, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6602', '1222', 'Sur immobilisations corporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1226, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '661', '1221', 'Réductions de valeur sur immobilisations financières', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1227, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '662', '1221', 'Provisions pour risques et charges exceptionnels', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1228, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '663', '1221', 'Moins-values sur réalisation d''actifs immobilisés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1229, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6630', '1228', 'Sur immobilisations incorporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1230, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6631', '1228', 'Sur immobilisations corporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1231, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6632', '1228', 'Sur immobilisations détenues en location-financement et droits similaires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1232, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6633', '1228', 'Sur immobilisations financières', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1233, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6634', '1228', 'Sur immeubles acquis ou construits en vue de la revente', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1234, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '664', '1221', 'à 668 Autres charges exceptionnelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1235, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '664', '1221', 'Pénalités et amendes diverses', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1236, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '665', '1221', 'Différence de charge', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1237, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '669', '1221', 'Charges exceptionnelles transférées à l''actif en frais de restructuration', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1238, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '67', '1356', 'Impôts sur le résultat', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1239, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '670', '1238', 'Impôts belges sur le résultat de l''exercice', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1240, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6700', '1239', 'Impôts et précomptes dus ou versés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1241, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6701', '1239', 'Excédent de versements d''impôts et précomptes porté à l''actif', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1242, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6702', '1239', 'Charges fiscales estimées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1243, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '671', '1238', 'Impôts belges sur le résultat d''exercices antérieurs', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1244, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6710', '1243', 'Suppléments d''impôts dus ou versés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1245, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6711', '1243', 'Suppléments d''impôts estimés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1246, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6712', '1243', 'Provisions fiscales constituées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1247, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '672', '1238', 'Impôts étrangers sur le résultat de l''exercice', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1248, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '673', '1238', 'Impôts étrangers sur le résultat d''exercices antérieurs', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1249, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '68', '1356', 'Transferts aux réserves immunisées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1250, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '69', '1356', 'Affectation des résultats', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1251, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '690', '1250', 'Perte reportée de l''exercice précédent', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1252, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '691', '1250', 'Dotation à la réserve légale', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1253, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '692', '1250', 'Dotation aux autres réserves', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1254, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '693', '1250', 'Bénéfice à reporter', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1255, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '694', '1250', 'Rémunération du capital', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1256, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '695', '1250', 'Administrateurs ou gérants', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1257, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '696', '1250', 'Autres allocataires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1258, 'PCMN-BASE', 'PROD', 'XXXXXX', '70', '1357', 'Chiffre d''affaires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1260, 'PCMN-BASE', 'PROD', 'XXXXXX', '700', '1258', 'Ventes de marchandises', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1261, 'PCMN-BASE', 'PROD', 'XXXXXX', '7000', '1260', 'Ventes en Belgique', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1262, 'PCMN-BASE', 'PROD', 'XXXXXX', '7001', '1260', 'Ventes dans les pays membres de la C.E.E.', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1263, 'PCMN-BASE', 'PROD', 'XXXXXX', '7002', '1260', 'Ventes à l''exportation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1264, 'PCMN-BASE', 'PROD', 'XXXXXX', '701', '1258', 'Ventes de produits finis', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1265, 'PCMN-BASE', 'PROD', 'XXXXXX', '7010', '1264', 'Ventes en Belgique', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1266, 'PCMN-BASE', 'PROD', 'XXXXXX', '7011', '1264', 'Ventes dans les pays membres de la C.E.E.', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1267, 'PCMN-BASE', 'PROD', 'XXXXXX', '7012', '1264', 'Ventes à l''exportation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1268, 'PCMN-BASE', 'PROD', 'XXXXXX', '702', '1258', 'Ventes de déchets et rebuts', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1269, 'PCMN-BASE', 'PROD', 'XXXXXX', '7020', '1268', 'Ventes en Belgique', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1270, 'PCMN-BASE', 'PROD', 'XXXXXX', '7021', '1268', 'Ventes dans les pays membres de la C.E.E.', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1271, 'PCMN-BASE', 'PROD', 'XXXXXX', '7022', '1268', 'Ventes à l''exportation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1272, 'PCMN-BASE', 'PROD', 'XXXXXX', '703', '1258', 'Ventes d''emballages récupérables', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1273, 'PCMN-BASE', 'PROD', 'XXXXXX', '704', '1258', 'Facturations des travaux en cours (associations momentanées)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1274, 'PCMN-BASE', 'PROD', 'XXXXXX', '705', '1258', 'Prestations de services', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1275, 'PCMN-BASE', 'PROD', 'XXXXXX', '7050', '1274', 'Prestations de services en Belgique', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1276, 'PCMN-BASE', 'PROD', 'XXXXXX', '7051', '1274', 'Prestations de services dans les pays membres de la C.E.E.', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1277, 'PCMN-BASE', 'PROD', 'XXXXXX', '7052', '1274', 'Prestations de services en vue de l''exportation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1278, 'PCMN-BASE', 'PROD', 'XXXXXX', '706', '1258', 'Pénalités et dédits obtenus par l''entreprise', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1279, 'PCMN-BASE', 'PROD', 'XXXXXX', '708', '1258', 'Remises, ristournes et rabais accordés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1280, 'PCMN-BASE', 'PROD', 'XXXXXX', '7080', '1279', 'Sur ventes de marchandises', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1281, 'PCMN-BASE', 'PROD', 'XXXXXX', '7081', '1279', 'Sur ventes de produits finis', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1282, 'PCMN-BASE', 'PROD', 'XXXXXX', '7082', '1279', 'Sur ventes de déchets et rebuts', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1283, 'PCMN-BASE', 'PROD', 'XXXXXX', '7083', '1279', 'Sur prestations de services', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1284, 'PCMN-BASE', 'PROD', 'XXXXXX', '7084', '1279', 'Mali sur travaux facturés aux associations momentanées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1285, 'PCMN-BASE', 'PROD', 'XXXXXX', '71', '1357', 'Variation des stocks et des commandes en cours d''exécution', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1286, 'PCMN-BASE', 'PROD', 'XXXXXX', '712', '1285', 'Des en cours de fabrication', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1287, 'PCMN-BASE', 'PROD', 'XXXXXX', '713', '1285', 'Des produits finis', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1288, 'PCMN-BASE', 'PROD', 'XXXXXX', '715', '1285', 'Des immeubles construits destinés à la vente', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1289, 'PCMN-BASE', 'PROD', 'XXXXXX', '717', '1285', 'Des commandes en cours d''exécution', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1290, 'PCMN-BASE', 'PROD', 'XXXXXX', '7170', '1289', 'Commandes en cours - Coût de revient', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1291, 'PCMN-BASE', 'PROD', 'XXXXXX', '71700', '1290', 'Coût des commandes en cours d''exécution', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1292, 'PCMN-BASE', 'PROD', 'XXXXXX', '71701', '1290', 'Coût des travaux en cours des associations momentanées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1293, 'PCMN-BASE', 'PROD', 'XXXXXX', '7171', '1289', 'Bénéfices portés en compte sur commandes en cours', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1294, 'PCMN-BASE', 'PROD', 'XXXXXX', '71710', '1293', 'Sur commandes en cours d''exécution', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1295, 'PCMN-BASE', 'PROD', 'XXXXXX', '71711', '1293', 'Sur travaux en cours des associations momentanées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1296, 'PCMN-BASE', 'PROD', 'XXXXXX', '72', '1357', 'Production immobilisée', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1297, 'PCMN-BASE', 'PROD', 'XXXXXX', '720', '1296', 'En frais d''établissement', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1298, 'PCMN-BASE', 'PROD', 'XXXXXX', '721', '1296', 'En immobilisations incorporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1299, 'PCMN-BASE', 'PROD', 'XXXXXX', '722', '1296', 'En immobilisations corporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1300, 'PCMN-BASE', 'PROD', 'XXXXXX', '723', '1296', 'En immobilisations en cours', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1301, 'PCMN-BASE', 'PROD', 'XXXXXX', '74', '1357', 'Autres produits d''exploitation', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1302, 'PCMN-BASE', 'PROD', 'XXXXXX', '740', '1301', 'Subsides d''exploitation et montants compensatoires', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1303, 'PCMN-BASE', 'PROD', 'XXXXXX', '741', '1301', 'Plus-values sur réalisations courantes d''immobilisations corporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1304, 'PCMN-BASE', 'PROD', 'XXXXXX', '742', '1301', 'Plus-values sur réalisations de créances commerciales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1305, 'PCMN-BASE', 'PROD', 'XXXXXX', '743', '1301', 'à 749 Produits d''exploitation divers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1306, 'PCMN-BASE', 'PROD', 'XXXXXX', '743', '1301', 'Produits de services exploités dans l''intérêt du personnel', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1307, 'PCMN-BASE', 'PROD', 'XXXXXX', '744', '1301', 'Commissions et courtages', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1308, 'PCMN-BASE', 'PROD', 'XXXXXX', '745', '1301', 'Redevances pour brevets et licences', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1309, 'PCMN-BASE', 'PROD', 'XXXXXX', '746', '1301', 'Prestations de services (transports, études, etc)', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1310, 'PCMN-BASE', 'PROD', 'XXXXXX', '747', '1301', 'Revenus des immeubles affectés aux activités non professionnelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1311, 'PCMN-BASE', 'PROD', 'XXXXXX', '748', '1301', 'Locations diverses à caractère professionnel', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1312, 'PCMN-BASE', 'PROD', 'XXXXXX', '749', '1301', 'Produits divers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1313, 'PCMN-BASE', 'PROD', 'XXXXXX', '7490', '1312', 'Bonis sur reprises d''emballages consignés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1314, 'PCMN-BASE', 'PROD', 'XXXXXX', '7491', '1312', 'Bonis sur travaux en associations momentanées', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1315, 'PCMN-BASE', 'PROD', 'XXXXXX', '75', '1357', 'Produits financiers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1316, 'PCMN-BASE', 'PROD', 'XXXXXX', '750', '1315', 'Produits des immobilisations financières', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1317, 'PCMN-BASE', 'PROD', 'XXXXXX', '7500', '1316', 'Revenus des actions', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1318, 'PCMN-BASE', 'PROD', 'XXXXXX', '7501', '1316', 'Revenus des obligations', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1319, 'PCMN-BASE', 'PROD', 'XXXXXX', '7502', '1316', 'Revenus des créances à plus d''un an', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1320, 'PCMN-BASE', 'PROD', 'XXXXXX', '751', '1315', 'Produits des actifs circulants', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1321, 'PCMN-BASE', 'PROD', 'XXXXXX', '752', '1315', 'Plus-values sur réalisations d''actifs circulants', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1322, 'PCMN-BASE', 'PROD', 'XXXXXX', '753', '1315', 'Subsides en capital et en intérêts', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1323, 'PCMN-BASE', 'PROD', 'XXXXXX', '754', '1315', 'Différences de change', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1324, 'PCMN-BASE', 'PROD', 'XXXXXX', '755', '1315', 'Ecarts de conversion des devises', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1325, 'PCMN-BASE', 'PROD', 'XXXXXX', '756', '1315', 'à 759 Produits financiers divers', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1326, 'PCMN-BASE', 'PROD', 'XXXXXX', '756', '1315', 'Produits des autres créances', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1327, 'PCMN-BASE', 'PROD', 'XXXXXX', '757', '1315', 'Escomptes obtenus', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1328, 'PCMN-BASE', 'PROD', 'XXXXXX', '76', '1357', 'Produits exceptionnels', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1329, 'PCMN-BASE', 'PROD', 'XXXXXX', '760', '1328', 'Reprises d''amortissements et de réductions de valeur', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1330, 'PCMN-BASE', 'PROD', 'XXXXXX', '7600', '1329', 'Sur immobilisations incorporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1331, 'PCMN-BASE', 'PROD', 'XXXXXX', '7601', '1329', 'Sur immobilisations corporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1332, 'PCMN-BASE', 'PROD', 'XXXXXX', '761', '1328', 'Reprises de réductions de valeur sur immobilisations financières', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1333, 'PCMN-BASE', 'PROD', 'XXXXXX', '762', '1328', 'Reprises de provisions pour risques et charges exceptionnelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1334, 'PCMN-BASE', 'PROD', 'XXXXXX', '763', '1328', 'Plus-values sur réalisation d''actifs immobilisés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1335, 'PCMN-BASE', 'PROD', 'XXXXXX', '7630', '1334', 'Sur immobilisations incorporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1336, 'PCMN-BASE', 'PROD', 'XXXXXX', '7631', '1334', 'Sur immobilisations corporelles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1337, 'PCMN-BASE', 'PROD', 'XXXXXX', '7632', '1334', 'Sur immobilisations financières', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1338, 'PCMN-BASE', 'PROD', 'XXXXXX', '764', '1328', 'Autres produits exceptionnels', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1339, 'PCMN-BASE', 'PROD', 'XXXXXX', '77', '1357', 'Régularisations d''impôts et reprises de provisions fiscales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1340, 'PCMN-BASE', 'PROD', 'XXXXXX', '771', '1339', 'Impôts belges sur le résultat', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1341, 'PCMN-BASE', 'PROD', 'XXXXXX', '7710', '1340', 'Régularisations d''impôts dus ou versés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1342, 'PCMN-BASE', 'PROD', 'XXXXXX', '7711', '1340', 'Régularisations d''impôts estimés', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1343, 'PCMN-BASE', 'PROD', 'XXXXXX', '7712', '1340', 'Reprises de provisions fiscales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1344, 'PCMN-BASE', 'PROD', 'XXXXXX', '773', '1339', 'Impôts étrangers sur le résultat', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1345, 'PCMN-BASE', 'PROD', 'XXXXXX', '79', '1357', 'Affectation aux résultats', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1346, 'PCMN-BASE', 'PROD', 'XXXXXX', '790', '1345', 'Bénéfice reporté de l''exercice précédent', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1347, 'PCMN-BASE', 'PROD', 'XXXXXX', '791', '1345', 'Prélèvement sur le capital et les primes d''émission', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1348, 'PCMN-BASE', 'PROD', 'XXXXXX', '792', '1345', 'Prélèvement sur les réserves', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1349, 'PCMN-BASE', 'PROD', 'XXXXXX', '793', '1345', 'Perte à reporter', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1350, 'PCMN-BASE', 'PROD', 'XXXXXX', '794', '1345', 'Intervention d''associés (ou du propriétaire) dans la perte', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1351, 'PCMN-BASE', 'CAPIT', 'XXXXXX', '1', '0', 'Fonds propres, provisions pour risques et charges et dettes à plus d''un an', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1352, 'PCMN-BASE', 'IMMO', 'XXXXXX', '2', '0', 'Frais d''établissement. Actifs immobilisés et créances à plus d''un an', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1353, 'PCMN-BASE', 'STOCK', 'XXXXXX', '3', '0', 'Stock et commandes en cours d''exécution', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1354, 'PCMN-BASE', 'TIERS', 'XXXXXX', '4', '0', 'Créances et dettes à un an au plus', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1355, 'PCMN-BASE', 'FINAN', 'XXXXXX', '5', '0', 'Placement de trésorerie et de valeurs disponibles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1356, 'PCMN-BASE', 'CHARGE', 'XXXXXX', '6', '0', 'Charges', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (1357, 'PCMN-BASE', 'PROD', 'XXXXXX', '7', '0', 'Produits', 1); -- -- Descriptif des plans comptables ES PCG08-PYME -- -INSERT INTO llx_accounting_system (rowid, pcg_version, label, active) VALUES (4, 'PCG08-PYME', 'The PYME accountancy spanish plan', '1'); +INSERT INTO llx_accounting_system (rowid, pcg_version, label, active) VALUES (4, 'PCG08-PYME', 'The PYME accountancy spanish plan', 1); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4001,'PCG08-PYME','FINANCIACION', 'XXXXXX', '1', '0', 'Financiación básica', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4002,'PCG08-PYME','ACTIVO', 'XXXXXX', '2', '0', 'Activo no corriente', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4003,'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '3', '0', 'Existencias', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4004,'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4', '0', 'Acreedores y deudores por operaciones comerciales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4005,'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5', '0', 'Cuentas financieras', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4006,'PCG08-PYME','COMPRAS_GASTOS','XXXXXX', '6', '0', 'Compras y gastos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4007,'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7', '0', 'Ventas e ingresos', '1'); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4001,'PCG08-PYME','FINANCIACION', 'XXXXXX', '1', '0', 'Financiación básica', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4002,'PCG08-PYME','ACTIVO', 'XXXXXX', '2', '0', 'Activo no corriente', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4003,'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '3', '0', 'Existencias', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4004,'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4', '0', 'Acreedores y deudores por operaciones comerciales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4005,'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5', '0', 'Cuentas financieras', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4006,'PCG08-PYME','COMPRAS_GASTOS','XXXXXX', '6', '0', 'Compras y gastos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4007,'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7', '0', 'Ventas e ingresos', 1); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4008, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '10', '4001', 'CAPITAL', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4009, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '100', '4008', 'Capital social', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4010, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '101', '4008', 'Fondo social', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4011, 'PCG08-PYME','FINANCIACION', 'CAPITAL', '102', '4008', 'Capital', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4012, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '103', '4008', 'Socios por desembolsos no exigidos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4013, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1030', '4012', 'Socios por desembolsos no exigidos capital social', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4014, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1034', '4012', 'Socios por desembolsos no exigidos capital pendiente de inscripción', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4015, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '104', '4008', 'Socios por aportaciones no dineradas pendientes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4016, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1040', '4015', 'Socios por aportaciones no dineradas pendientes capital social', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4017, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1044', '4015', 'Socios por aportaciones no dineradas pendientes capital pendiente de inscripción', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4018, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '108', '4008', 'Acciones o participaciones propias en situaciones especiales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4019, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '109', '4008', 'Acciones o participaciones propias para reducción de capital', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4020, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '11', '4001', 'Reservas y otros instrumentos de patrimonio', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4021, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '110', '4020', 'Prima de emisión o asunción', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4022, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '111', '4020', 'Otros instrumentos de patrimonio neto', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4023, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1110', '4022', 'Patrimonio neto por emisión de instrumentos financieros compuestos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4024, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1111', '4022', 'Resto de instrumentos de patrimoio neto', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4025, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '112', '4020', 'Reserva legal', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4026, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '113', '4020', 'Reservas voluntarias', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4027, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '114', '4020', 'Reservas especiales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4028, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1140', '4027', 'Reservas para acciones o participaciones de la sociedad dominante', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4029, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1141', '4027', 'Reservas estatutarias', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4030, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1142', '4027', 'Reservas por capital amortizado', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4031, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1143', '4027', 'Reservas por fondo de comercio', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4032, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1144', '4028', 'Reservas por acciones propias aceptadas en garantía', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4033, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '115', '4020', 'Reservas por pérdidas y ganancias actuariales y otros ajustes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4034, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '118', '4020', 'Aportaciones de socios o propietarios', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4035, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '119', '4020', 'Diferencias por ajuste del capital a euros', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4036, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '12', '4001', 'Resultados pendientes de aplicación', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4037, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '120', '4036', 'Remanente', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4038, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '121', '4036', 'Resultados negativos de ejercicios anteriores', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4039, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '129', '4036', 'Resultado del ejercicio', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4040, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '13', '4001', 'Subvenciones, donaciones y ajustes por cambio de valor', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4041, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '130', '4040', 'Subvenciones oficiales de capital', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4042, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '131', '4040', 'Donaciones y legados de capital', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4043, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '132', '4040', 'Otras subvenciones, donaciones y legados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4044, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '133', '4040', 'Ajustes por valoración en activos financieros disponibles para la venta', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4045, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '134', '4040', 'Operaciones de cobertura', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4046, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1340', '4045', 'Cobertura de flujos de efectivo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4047, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1341', '4045', 'Cobertura de una inversión neta en un negocio extranjero', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4048, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '135', '4040', 'Diferencias de conversión', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4049, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '136', '4040', 'Ajustes por valoración en activos no corrientes y grupos enajenables de elementos mantenidos para la venta', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4050, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '137', '4040', 'Ingresos fiscales a distribuir en varios ejercicios', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4051, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1370', '4050', 'Ingresos fiscales por diferencias permanentes a distribuir en varios ejercicios', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4052, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1371', '4050', 'Ingresos fiscales por deducciones y bonificaciones a distribuir en varios ejercicios', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4053, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '14', '4001', 'Provisiones', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4054, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '141', '4053', 'Provisión para impuestos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4055, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '142', '4053', 'Provisión para otras responsabilidades', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4056, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '143', '4053', 'Provisión por desmantelamiento, retiro o rehabilitación del inmovilizado', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4057, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '145', '4053', 'Provisión para actuaciones medioambientales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4058, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '15', '4001', 'Deudas a largo plazo con características especiales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4059, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '150', '4058', 'Acciones o participaciones a largo plazo consideradas como pasivos financieros', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4060, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '153', '4058', 'Desembolsos no exigidos por acciones o participaciones consideradas como pasivos financieros', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4061, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1533', '4060', 'Desembolsos no exigidos empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4062, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1534', '4060', 'Desembolsos no exigidos empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4063, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1535', '4060', 'Desembolsos no exigidos otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4064, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1536', '4060', 'Otros desembolsos no exigidos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4065, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '154', '4058', 'Aportaciones no dinerarias pendientes por acciones o participaciones consideradas como pasivos financieros', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4066, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1543', '4065', 'Aportaciones no dinerarias pendientes empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4067, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1544', '4065', 'Aportaciones no dinerarias pendientes empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4068, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1545', '4065', 'Aportaciones no dinerarias pendientes otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4069, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1546', '4065', 'Otras aportaciones no dinerarias pendientes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4070, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '16', '4001', 'Deudas a largo plazo con partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4071, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '160', '4070', 'Deudas a largo plazo con entidades de crédito vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4072, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1603', '4071', 'Deudas a largo plazo con entidades de crédito empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4073, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1604', '4071', 'Deudas a largo plazo con entidades de crédito empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4074, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1605', '4071', 'Deudas a largo plazo con otras entidades de crédito vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4075, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '161', '4070', 'Proveedores de inmovilizado a largo plazo partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4076, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1613', '4075', 'Proveedores de inmovilizado a largo plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4077, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1614', '4075', 'Proveedores de inmovilizado a largo plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4078, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1615', '4075', 'Proveedores de inmovilizado a largo plazo otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4079, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '162', '4070', 'Acreedores por arrendamiento financiero a largo plazo partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4080, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1623', '4079', 'Acreedores por arrendamiento financiero a largo plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4081, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1624', '4080', 'Acreedores por arrendamiento financiero a largo plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4082, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1625', '4080', 'Acreedores por arrendamiento financiero a largo plazo otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4083, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '163', '4070', 'Otras deudas a largo plazo con partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4084, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1633', '4083', 'Otras deudas a largo plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4085, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1634', '4083', 'Otras deudas a largo plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4086, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1635', '4083', 'Otras deudas a largo plazo otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4087, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '17', '4001', 'Deudas a largo plazo por préstamos recibidos empresitos y otros conceptos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4088, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '170', '4087', 'Deudas a largo plazo con entidades de crédito', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4089, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '171', '4087', 'Deudas a largo plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4090, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '172', '4087', 'Deudas a largo plazo transformables en suvbenciones donaciones y legados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4091, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '173', '4087', 'Proveedores de inmovilizado a largo plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4092, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '174', '4087', 'Acreedores por arrendamiento financiero a largo plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4093, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '175', '4087', 'Efectos a pagar a largo plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4094, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '176', '4087', 'Pasivos por derivados financieros a largo plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4095, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '177', '4087', 'Obligaciones y bonos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4096, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '179', '4087', 'Deudas representadas en otros valores negociables', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4097, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '18', '4001', 'Pasivos por fianzas garantias y otros conceptos a largo plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4098, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '180', '4097', 'Fianzas recibidas a largo plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4099, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '181', '4097', 'Anticipos recibidos por ventas o prestaciones de servicios a largo plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4100, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '185', '4097', 'Depositos recibidos a largo plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4101, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '19', '4001', 'Situaciones transitorias de financiación', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4102, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '190', '4101', 'Acciones o participaciones emitidas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4103, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '192', '4101', 'Suscriptores de acciones', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4104, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '194', '4101', 'Capital emitido pendiente de inscripción', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4105, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '195', '4101', 'Acciones o participaciones emitidas consideradas como pasivos financieros', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4106, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '197', '4101', 'Suscriptores de acciones consideradas como pasivos financieros', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4107, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '199', '4101', 'Acciones o participaciones emitidas consideradas como pasivos financieros pendientes de inscripción', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4108, 'PCG08-PYME','ACTIVO', 'XXXXXX', '20', '4002', 'Inmovilizaciones intangibles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4109, 'PCG08-PYME','ACTIVO', 'XXXXXX', '200', '4108', 'Investigación', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4110, 'PCG08-PYME','ACTIVO', 'XXXXXX', '201', '4108', 'Desarrollo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4111, 'PCG08-PYME','ACTIVO', 'XXXXXX', '202', '4108', 'Concesiones administrativas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4112, 'PCG08-PYME','ACTIVO', 'XXXXXX', '203', '4108', 'Propiedad industrial', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4113, 'PCG08-PYME','ACTIVO', 'XXXXXX', '205', '4108', 'Derechos de transpaso', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4114, 'PCG08-PYME','ACTIVO', 'XXXXXX', '206', '4108', 'Aplicaciones informáticas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4115, 'PCG08-PYME','ACTIVO', 'XXXXXX', '209', '4108', 'Anticipos para inmovilizaciones intangibles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4116, 'PCG08-PYME','ACTIVO', 'XXXXXX', '21', '4002', 'Inmovilizaciones materiales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4117, 'PCG08-PYME','ACTIVO', 'XXXXXX', '210', '4116', 'Terrenos y bienes naturales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4118, 'PCG08-PYME','ACTIVO', 'XXXXXX', '211', '4116', 'Construcciones', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4119, 'PCG08-PYME','ACTIVO', 'XXXXXX', '212', '4116', 'Instalaciones técnicas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4120, 'PCG08-PYME','ACTIVO', 'XXXXXX', '213', '4116', 'Maquinaria', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4121, 'PCG08-PYME','ACTIVO', 'XXXXXX', '214', '4116', 'Utillaje', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4122, 'PCG08-PYME','ACTIVO', 'XXXXXX', '215', '4116', 'Otras instalaciones', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4123, 'PCG08-PYME','ACTIVO', 'XXXXXX', '216', '4116', 'Mobiliario', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4124, 'PCG08-PYME','ACTIVO', 'XXXXXX', '217', '4116', 'Equipos para procesos de información', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4125, 'PCG08-PYME','ACTIVO', 'XXXXXX', '218', '4116', 'Elementos de transporte', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4126, 'PCG08-PYME','ACTIVO', 'XXXXXX', '219', '4116', 'Otro inmovilizado material', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4127, 'PCG08-PYME','ACTIVO', 'XXXXXX', '22', '4002', 'Inversiones inmobiliarias', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4128, 'PCG08-PYME','ACTIVO', 'XXXXXX', '220', '4127', 'Inversiones en terreons y bienes naturales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4129, 'PCG08-PYME','ACTIVO', 'XXXXXX', '221', '4127', 'Inversiones en construcciones', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4130, 'PCG08-PYME','ACTIVO', 'XXXXXX', '23', '4002', 'Inmovilizaciones materiales en curso', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4131, 'PCG08-PYME','ACTIVO', 'XXXXXX', '230', '4130', 'Adaptación de terrenos y bienes naturales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4132, 'PCG08-PYME','ACTIVO', 'XXXXXX', '231', '4130', 'Construcciones en curso', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4133, 'PCG08-PYME','ACTIVO', 'XXXXXX', '232', '4130', 'Instalaciones técnicas en montaje', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4134, 'PCG08-PYME','ACTIVO', 'XXXXXX', '233', '4130', 'Maquinaria en montaje', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4135, 'PCG08-PYME','ACTIVO', 'XXXXXX', '237', '4130', 'Equipos para procesos de información en montaje', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4136, 'PCG08-PYME','ACTIVO', 'XXXXXX', '239', '4130', 'Anticipos para inmovilizaciones materiales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4137, 'PCG08-PYME','ACTIVO', 'XXXXXX', '24', '4002', 'Inversiones financieras a largo plazo en partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4138, 'PCG08-PYME','ACTIVO', 'XXXXXX', '240', '4137', 'Participaciones a largo plazo en partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4139, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2403', '4138', 'Participaciones a largo plazo en empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4140, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2404', '4138', 'Participaciones a largo plazo en empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4141, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2405', '4138', 'Participaciones a largo plazo en otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4142, 'PCG08-PYME','ACTIVO', 'XXXXXX', '241', '4137', 'Valores representativos de deuda a largo plazo de partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4143, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2413', '4142', 'Valores representativos de deuda a largo plazo de empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4144, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2414', '4142', 'Valores representativos de deuda a largo plazo de empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4145, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2415', '4142', 'Valores representativos de deuda a largo plazo de otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4146, 'PCG08-PYME','ACTIVO', 'XXXXXX', '242', '4137', 'Créditos a largo plazo a partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4147, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2423', '4146', 'Créditos a largo plazo a empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4148, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2424', '4146', 'Créditos a largo plazo a empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4149, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2425', '4146', 'Créditos a largo plazo a otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4150, 'PCG08-PYME','ACTIVO', 'XXXXXX', '249', '4137', 'Desembolsos pendientes sobre participaciones a largo plazo en partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4151, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2493', '4150', 'Desembolsos pendientes sobre participaciones a largo plazo en empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4152, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2494', '4150', 'Desembolsos pendientes sobre participaciones a largo plazo en empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4153, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2495', '4150', 'Desembolsos pendientes sobre participaciones a largo plazo en otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4154, 'PCG08-PYME','ACTIVO', 'XXXXXX', '25', '4002', 'Otras inversiones financieras a largo plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4155, 'PCG08-PYME','ACTIVO', 'XXXXXX', '250', '4154', 'Inversiones financieras a largo plazo en instrumentos de patrimonio', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4156, 'PCG08-PYME','ACTIVO', 'XXXXXX', '251', '4154', 'Valores representativos de deuda a largo plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4157, 'PCG08-PYME','ACTIVO', 'XXXXXX', '252', '4154', 'Créditos a largo plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4158, 'PCG08-PYME','ACTIVO', 'XXXXXX', '253', '4154', 'Créditos a largo plazo por enajenación de inmovilizado', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4159, 'PCG08-PYME','ACTIVO', 'XXXXXX', '254', '4154', 'Créditos a largo plazo al personal', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4160, 'PCG08-PYME','ACTIVO', 'XXXXXX', '255', '4154', 'Activos por derivados financieros a largo plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4161, 'PCG08-PYME','ACTIVO', 'XXXXXX', '258', '4154', 'Imposiciones a largo plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4162, 'PCG08-PYME','ACTIVO', 'XXXXXX', '259', '4154', 'Desembolsos pendientes sobre participaciones en el patrimonio neto a largo plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4163, 'PCG08-PYME','ACTIVO', 'XXXXXX', '26', '4002', 'Fianzas y depósitos constituidos a largo plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4164, 'PCG08-PYME','ACTIVO', 'XXXXXX', '260', '4163', 'Fianzas constituidas a largo plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4165, 'PCG08-PYME','ACTIVO', 'XXXXXX', '261', '4163', 'Depósitos constituidos a largo plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4166, 'PCG08-PYME','ACTIVO', 'XXXXXX', '28', '4002', 'Amortización acumulada del inmovilizado', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4167, 'PCG08-PYME','ACTIVO', 'XXXXXX', '280', '4166', 'Amortización acumulado del inmovilizado intangible', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4168, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2800', '4167', 'Amortización acumulada de investigación', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4169, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2801', '4167', 'Amortización acumulada de desarrollo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4170, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2802', '4167', 'Amortización acumulada de concesiones administrativas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4171, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2803', '4167', 'Amortización acumulada de propiedad industrial', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4172, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2805', '4167', 'Amortización acumulada de derechos de transpaso', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4173, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2806', '4167', 'Amortización acumulada de aplicaciones informáticas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4174, 'PCG08-PYME','ACTIVO', 'XXXXXX', '281', '4166', 'Amortización acumulado del inmovilizado material', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4175, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2811', '4174', 'Amortización acumulada de construcciones', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4176, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2812', '4174', 'Amortización acumulada de instalaciones técnicas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4177, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2813', '4174', 'Amortización acumulada de maquinaria', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4178, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2814', '4174', 'Amortización acumulada de utillaje', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4179, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2815', '4174', 'Amortización acumulada de otras instalaciones', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4180, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2816', '4174', 'Amortización acumulada de mobiliario', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4181, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2817', '4174', 'Amortización acumulada de equipos para proceso de información', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4182, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2818', '4174', 'Amortización acumulada de elementos de transporte', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4183, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2819', '4175', 'Amortización acumulada de otro inmovilizado material', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4184, 'PCG08-PYME','ACTIVO', 'XXXXXX', '282', '4166', 'Amortización acumulada de las inversiones inmobiliarias', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4185, 'PCG08-PYME','ACTIVO', 'XXXXXX', '29', '4002', 'Deterioro de valor de activos no corrientes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4186, 'PCG08-PYME','ACTIVO', 'XXXXXX', '290', '4185', 'Deterioro de valor del inmovilizado intangible', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4187, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2900', '4186', 'Deterioro de valor de investigación', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4188, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2901', '4186', 'Deterioro de valor de desarrollo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4189, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2902', '4186', 'Deterioro de valor de concesiones administrativas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4190, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2903', '4186', 'Deterioro de valor de propiedad industrial', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4191, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2905', '4186', 'Deterioro de valor de derechos de transpaso', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4192, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2906', '4186', 'Deterioro de valor de aplicaciones informáticas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4193, 'PCG08-PYME','ACTIVO', 'XXXXXX', '291', '4185', 'Deterioro de valor del inmovilizado material', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4194, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2910', '4193', 'Deterioro de valor de terrenos y bienes naturales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4195, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2911', '4193', 'Deterioro de valor de construcciones', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4196, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2912', '4193', 'Deterioro de valor de instalaciones técnicas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4197, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2913', '4193', 'Deterioro de valor de maquinaria', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4198, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2914', '4193', 'Deterioro de valor de utillajes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4199, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2915', '4194', 'Deterioro de valor de otras instalaciones', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4200, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2916', '4194', 'Deterioro de valor de mobiliario', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4201, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2917', '4194', 'Deterioro de valor de equipos para proceso de información', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4202, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2918', '4194', 'Deterioro de valor de elementos de transporte', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4203, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2919', '4194', 'Deterioro de valor de otro inmovilizado material', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4204, 'PCG08-PYME','ACTIVO', 'XXXXXX', '292', '4185', 'Deterioro de valor de las inversiones inmobiliarias', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4205, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2920', '4204', 'Deterioro de valor de terrenos y bienes naturales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4206, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2921', '4204', 'Deterioro de valor de construcciones', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4207, 'PCG08-PYME','ACTIVO', 'XXXXXX', '293', '4185', 'Deterioro de valor de participaciones a largo plazo en partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4208, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2933', '4207', 'Deterioro de valor de participaciones a largo plazo en empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4209, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2934', '4207', 'Deterioro de valor de sobre participaciones a largo plazo en empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4210, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2935', '4207', 'Deterioro de valor de sobre participaciones a largo plazo en otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4211, 'PCG08-PYME','ACTIVO', 'XXXXXX', '294', '4185', 'Deterioro de valor de valores representativos de deuda a largo plazo en partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4212, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2943', '4211', 'Deterioro de valor de valores representativos de deuda a largo plazo en empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4213, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2944', '4211', 'Deterioro de valor de valores representativos de deuda a largo plazo en empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4214, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2945', '4211', 'Deterioro de valor de valores representativos de deuda a largo plazo en otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4215, 'PCG08-PYME','ACTIVO', 'XXXXXX', '295', '4185', 'Deterioro de valor de créditos a largo plazo a partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4216, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2953', '4215', 'Deterioro de valor de créditos a largo plazo a empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4217, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2954', '4215', 'Deterioro de valor de créditos a largo plazo a empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4218, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2955', '4215', 'Deterioro de valor de créditos a largo plazo a otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4219, 'PCG08-PYME','ACTIVO', 'XXXXXX', '296', '4185', 'Deterioro de valor de participaciones en el patrimonio netoa largo plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4220, 'PCG08-PYME','ACTIVO', 'XXXXXX', '297', '4185', 'Deterioro de valor de valores representativos de deuda a largo plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4221, 'PCG08-PYME','ACTIVO', 'XXXXXX', '298', '4185', 'Deterioro de valor de créditos a largo plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4222, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '30', '4003', 'Comerciales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4223, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '300', '4222', 'Mercaderías A', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4224, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '301', '4222', 'Mercaderías B', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4225, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '31', '4003', 'Materias primas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4226, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '310', '4225', 'Materias primas A', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4227, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '311', '4225', 'Materias primas B', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4228, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '32', '4003', 'Otros aprovisionamientos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4229, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '320', '4228', 'Elementos y conjuntos incorporables', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4230, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '321', '4228', 'Combustibles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4231, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '322', '4228', 'Repuestos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4232, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '325', '4228', 'Materiales diversos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4233, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '326', '4228', 'Embalajes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4234, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '327', '4228', 'Envases', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4235, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '328', '4229', 'Material de oficina', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4236, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '33', '4003', 'Productos en curso', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4237, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '330', '4236', 'Productos en curos A', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4238, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '331', '4236', 'Productos en curso B', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4239, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '34', '4003', 'Productos semiterminados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4240, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '340', '4239', 'Productos semiterminados A', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4241, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '341', '4239', 'Productos semiterminados B', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4242, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '35', '4003', 'Productos terminados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4243, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '350', '4242', 'Productos terminados A', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4244, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '351', '4242', 'Productos terminados B', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4245, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '36', '4003', 'Subproductos, residuos y materiales recuperados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4246, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '360', '4245', 'Subproductos A', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4247, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '361', '4245', 'Subproductos B', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4248, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '365', '4245', 'Residuos A', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4249, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '366', '4245', 'Residuos B', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4250, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '368', '4245', 'Materiales recuperados A', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4251, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '369', '4245', 'Materiales recuperados B', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4252, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '39', '4003', 'Deterioro de valor de las existencias', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4253, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '390', '4252', 'Deterioro de valor de las mercaderías', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4254, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '391', '4252', 'Deterioro de valor de las materias primas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4255, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '392', '4252', 'Deterioro de valor de otros aprovisionamientos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4256, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '393', '4252', 'Deterioro de valor de los productos en curso', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4257, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '394', '4252', 'Deterioro de valor de los productos semiterminados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4258, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '395', '4252', 'Deterioro de valor de los productos terminados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4259, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '396', '4252', 'Deterioro de valor de los subproductos, residuos y materiales recuperados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4260, 'PCG08-PYME','ACREEDORES_DEUDORES', 'PROVEEDORES', '40', '4004', 'Proveedores', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4261, 'PCG08-PYME','ACREEDORES_DEUDORES', 'PROVEEDORES', '400', '4260', 'Proveedores', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4262, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4000', '4261', 'Proveedores euros', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4263, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4004', '4261', 'Proveedores moneda extranjera', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4264, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4009', '4261', 'Proveedores facturas pendientes de recibir o formalizar', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4265, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '401', '4260', 'Proveedores efectos comerciales a pagar', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4266, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '403', '4260', 'Proveedores empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4267, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4030', '4266', 'Proveedores empresas del grupo euros', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4268, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4031', '4266', 'Efectos comerciales a pagar empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4269, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4034', '4266', 'Proveedores empresas del grupo moneda extranjera', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4270, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4036', '4266', 'Envases y embalajes a devolver a proveedores empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4271, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4039', '4266', 'Proveedores empresas del grupo facturas pendientes de recibir o de formalizar', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4272, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '404', '4260', 'Proveedores empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4273, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '405', '4260', 'Proveedores otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4274, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '406', '4260', 'Envases y embalajes a devolver a proveedores', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4275, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '407', '4260', 'Anticipos a proveedores', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4276, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '41', '4004', 'Acreedores varios', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4277, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '410', '4276', 'Acreedores por prestaciones de servicios', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4278, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4100', '4277', 'Acreedores por prestaciones de servicios euros', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4279, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4104', '4277', 'Acreedores por prestaciones de servicios moneda extranjera', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4280, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4109', '4277', 'Acreedores por prestaciones de servicios facturas pendientes de recibir o formalizar', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4281, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '411', '4276', 'Acreedores efectos comerciales a pagar', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4282, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '419', '4276', 'Acreedores por operaciones en común', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4283, 'PCG08-PYME','ACREEDORES_DEUDORES', 'CLIENTES', '43', '4004', 'Clientes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4284, 'PCG08-PYME','ACREEDORES_DEUDORES', 'CLIENTES', '430', '4283', 'Clientes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4285, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4300', '4284', 'Clientes euros', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4286, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4304', '4284', 'Clientes moneda extranjera', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4287, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4309', '4284', 'Clientes facturas pendientes de formalizar', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4288, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '431', '4283', 'Clientes efectos comerciales a cobrar', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4289, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4310', '4288', 'Efectos comerciales en cartera', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4290, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4311', '4288', 'Efectos comerciales descontados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4291, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4312', '4288', 'Efectos comerciales en gestión de cobro', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4292, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4315', '4288', 'Efectos comerciales impagados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4293, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '432', '4283', 'Clientes operaciones de factoring', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4294, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '433', '4283', 'Clientes empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4295, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4330', '4294', 'Clientes empresas del grupo euros', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4296, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4331', '4294', 'Efectos comerciales a cobrar empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4297, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4332', '4294', 'Clientes empresas del grupo operaciones de factoring', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4298, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4334', '4294', 'Clientes empresas del grupo moneda extranjera', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4299, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4336', '4294', 'Clientes empresas del grupo dudoso cobro', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4300, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4337', '4294', 'Envases y embalajes a devolver a clientes empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4301, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4339', '4294', 'Clientes empresas del grupo facturas pendientes de formalizar', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4302, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '434', '4283', 'Clientes empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4303, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '435', '4283', 'Clientes otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4304, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '436', '4283', 'Clientes de dudoso cobro', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4305, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '437', '4283', 'Envases y embalajes a devolver por clientes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4306, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '438', '4283', 'Anticipos de clientes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4307, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '44', '4004', 'Deudores varios', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4308, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '440', '4307', 'Deudores', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4309, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4400', '4308', 'Deudores euros', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4310, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4404', '4308', 'Deudores moneda extranjera', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4311, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4409', '4308', 'Deudores facturas pendientes de formalizar', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4312, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '441', '4307', 'Deudores efectos comerciales a cobrar', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4313, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4410', '4312', 'Deudores efectos comerciales en cartera', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4314, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4411', '4312', 'Deudores efectos comerciales descontados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4315, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4412', '4312', 'Deudores efectos comerciales en gestión de cobro', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4316, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4415', '4312', 'Deudores efectos comerciales impagados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4317, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '446', '4307', 'Deudores de dusoso cobro', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4318, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '449', '4307', 'Deudores por operaciones en común', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4319, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '46', '4004', 'Personal', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4320, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '460', '4319', 'Anticipos de renumeraciones', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4321, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '465', '4319', 'Renumeraciones pendientes de pago', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4322, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '47', '4004', 'Administraciones Públicas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4323, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '470', '4322', 'Hacienda Pública deudora por diversos conceptos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4324, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4700', '4323', 'Hacienda Pública deudora por IVA', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4325, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4708', '4323', 'Hacienda Pública deudora por subvenciones concedidas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4326, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4709', '4323', 'Hacienda Pública deudora por devolución de impuestos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4327, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '471', '4322', 'Organismos de la Seguridad Social deudores', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4328, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '472', '4322', 'Hacienda Pública IVA soportado', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4329, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '473', '4322', 'Hacienda Pública retenciones y pagos a cuenta', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4330, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '474', '4322', 'Activos por impuesto diferido', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4331, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4740', '4330', 'Activos por diferencias temporarias deducibles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4332, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4742', '4330', 'Derechos por deducciones y bonificaciones pendientes de aplicar', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4333, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4745', '4330', 'Crédito por pérdidasa compensar del ejercicio', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4334, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '475', '4322', 'Hacienda Pública acreedora por conceptos fiscales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4335, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4750', '4334', 'Hacienda Pública acreedora por IVA', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4336, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4751', '4334', 'Hacienda Pública acreedora por retenciones practicadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4337, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4752', '4334', 'Hacienda Pública acreedora por impuesto sobre sociedades', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4338, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4758', '4334', 'Hacienda Pública acreedora por subvenciones a integrar', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4339, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '476', '4322', 'Organismos de la Seguridad Social acreedores', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4340, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '477', '4322', 'Hacienda Pública IVA repercutido', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4341, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '479', '4322', 'Pasivos por diferencias temporarias imponibles', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4342, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '48', '4004', 'Ajustes por periodificación', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4343, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '480', '4342', 'Gastos anticipados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4344, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '485', '4342', 'Ingresos anticipados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4345, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '49', '4004', 'Deterioro de valor de créditos comerciales y provisiones a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4346, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '490', '4345', 'Deterioro de valor de créditos por operaciones comerciales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4347, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '493', '4345', 'Deterioro de valor de créditos por operaciones comerciales con partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4348, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4933', '4347', 'Deterioro de valor de créditos por operaciones comerciales con empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4349, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4934', '4347', 'Deterioro de valor de créditos por operaciones comerciales con empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4350, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4935', '4347', 'Deterioro de valor de créditos por operaciones comerciales con otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4351, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '499', '4345', 'Provisiones por operaciones comerciales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4352, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4994', '4351', 'Provisión para contratos anerosos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4353, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4999', '4351', 'Provisión para otras operaciones comerciales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4354, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '50', '4005', 'Emprésitos deudas con características especiales y otras emisiones análogas a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4355, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '500', '4354', 'Obligaciones y bonos a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4356, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '502', '4354', 'Acciones o participaciones a corto plazo consideradas como pasivos financieros', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4357, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '505', '4354', 'Deudas representadas en otros valores negociables a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4358, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '506', '4354', 'Intereses a corto plazo de emprésitos y otras emisiones analógicas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4359, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '507', '4354', 'Dividendos de acciones o participaciones consideradas como pasivos financieros', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4360, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '509', '4354', 'Valores negociables amortizados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4361, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5090', '4360', 'Obligaciones y bonos amortizados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4362, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5095', '4360', 'Otros valores negociables amortizados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4363, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '51', '4005', 'Deudas a corto plazo con partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4364, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '510', '4363', 'Deudas a corto plazo con entidades de crédito vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4365, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5103', '4364', 'Deudas a corto plazo con entidades de crédito empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4366, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5104', '4364', 'Deudas a corto plazo con entidades de crédito empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4367, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5105', '4364', 'Deudas a corto plazo con otras entidades de crédito vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4368, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '511', '4363', 'Proveedores de inmovilizado a corto plazo partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4369, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5113', '4368', 'Proveedores de inmovilizado a corto plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4370, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5114', '4368', 'Proveedores de inmovilizado a corto plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4371, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5115', '4368', 'Proveedores de inmovilizado a corto plazo otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4372, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '512', '4363', 'Acreedores por arrendamiento financiero a corto plazo partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4373, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5123', '4372', 'Acreedores por arrendamiento financiero a corto plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4374, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5124', '4372', 'Acreedores por arrendamiento financiero a corto plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4375, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5125', '4372', 'Acreedores por arrendamiento financiero a corto plazo otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4376, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '513', '4363', 'Otras deudas a corto plazo con partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4377, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5133', '4376', 'Otras deudas a corto plazo con empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4378, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5134', '4376', 'Otras deudas a corto plazo con empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4379, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5135', '4376', 'Otras deudas a corto plazo con partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4380, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '514', '4363', 'Intereses a corto plazo con partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4381, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5143', '4380', 'Intereses a corto plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4382, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5144', '4380', 'Intereses a corto plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4383, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5145', '4380', 'Intereses deudas a corto plazo partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4384, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '52', '4005', 'Deudas a corto plazo por préstamos recibidos y otros conceptos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4385, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '520', '4384', 'Deudas a corto plazo con entidades de crédito', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4386, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5200', '4385', 'Préstamos a corto plazo de entidades de crédito', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4387, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5201', '4385', 'Deudas a corto plazo por crédito dispuesto', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4388, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5208', '4385', 'Deudas por efectos descontados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4389, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5209', '4385', 'Deudas por operaciones de factoring', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4390, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '521', '4384', 'Deudas a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4391, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '522', '4384', 'Deudas a corto plazo transformables en subvenciones donaciones y legados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4392, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '523', '4384', 'Proveedores de inmovilizado a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4393, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '526', '4384', 'Dividendo activo a pagar', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4394, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '527', '4384', 'Intereses a corto plazo de deudas con entidades de crédito', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4395, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '528', '4384', 'Intereses a corto plazo de deudas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4396, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '529', '4384', 'Provisiones a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4397, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5291', '4396', 'Provisión a corto plazo para impuestos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4398, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5292', '4396', 'Provisión a corto plazo para otras responsabilidades', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4399, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5293', '4396', 'Provisión a corto plazo por desmantelamiento retiro o rehabilitación del inmovilizado', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4400, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5295', '4396', 'Provisión a corto plazo para actuaciones medioambientales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4401, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '53', '4005', 'Inversiones financieras a corto plazo en partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4402, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '530', '4401', 'Participaciones a corto plazo en partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4403, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5303', '4402', 'Participaciones a corto plazo en empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4404, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5304', '4402', 'Participaciones a corto plazo en empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4405, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5305', '4402', 'Participaciones a corto plazo en otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4406, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '531', '4401', 'Valores representativos de deuda a corto plazo de partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4407, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5313', '4406', 'Valores representativos de deuda a corto plazo de empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4408, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5314', '4406', 'Valores representativos de deuda a corto plazo de empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4409, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5315', '4406', 'Valores representativos de deuda a corto plazo de otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4410, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '532', '4401', 'Créditos a corto plazo a partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4411, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5323', '4410', 'Créditos a corto plazo a empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4412, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5324', '4410', 'Créditos a corto plazo a empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4413, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5325', '4410', 'Créditos a corto plazo a otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4414, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '533', '4401', 'Intereses a corto plazo de valores representativos de deuda de partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4415, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5333', '4414', 'Intereses a corto plazo de valores representativos de deuda en empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4416, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5334', '4414', 'Intereses a corto plazo de valores representativos de deuda en empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4417, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5335', '4414', 'Intereses a corto plazo de valores representativos de deuda en otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4418, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '534', '4401', 'Intereses a corto plazo de créditos a partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4419, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5343', '4418', 'Intereses a corto plazo de créditos a empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4420, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5344', '4418', 'Intereses a corto plazo de créditos a empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4421, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5345', '4418', 'Intereses a corto plazo de créditos a otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4422, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '535', '4401', 'Dividendo a cobrar de inversiones financieras en partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4423, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5353', '4422', 'Dividendo a cobrar de empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4424, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5354', '4422', 'Dividendo a cobrar de empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4425, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5355', '4422', 'Dividendo a cobrar de otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4426, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '539', '4401', 'Desembolsos pendientes sobre participaciones a corto plazo en partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4427, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5393', '4426', 'Desembolsos pendientes sobre participaciones a corto plazo en empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4428, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5394', '4426', 'Desembolsos pendientes sobre participaciones a corto plazo en empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4429, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5395', '4426', 'Desembolsos pendientes sobre participaciones a corto plazo en otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4430, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '54', '4005', 'Otras inversiones financieras a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4431, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '540', '4430', 'Inversiones financieras a corto plazo en instrumentos de patrimonio', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4432, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '541', '4430', 'Valores representativos de deuda a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4433, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '542', '4430', 'Créditos a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4434, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '543', '4430', 'Créditos a corto plazo por enejenación de inmovilizado', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4435, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '544', '4430', 'Créditos a corto plazo al personal', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4436, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '545', '4430', 'Dividendo a cobrar', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4437, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '546', '4430', 'Intereses a corto plazo de valores reprsentativos de deuda', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4438, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '547', '4430', 'Intereses a corto plazo de créditos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4439, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '548', '4430', 'Imposiciones a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4440, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '549', '4430', 'Desembolsos pendientes sobre participaciones en el patrimonio neto a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4441, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '55', '4005', 'Otras cuentas no bancarias', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4442, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '550', '4441', 'Titular de la explotación', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4443, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '551', '4441', 'Cuenta corriente con socios y administradores', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4444, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '552', '4441', 'Cuenta corriente otras personas y entidades vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4445, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5523', '4444', 'Cuenta corriente con empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4446, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5524', '4444', 'Cuenta corriente con empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4447, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5525', '4444', 'Cuenta corriente con otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4448, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '554', '4441', 'Cuenta corriente con uniones temporales de empresas y comunidades de bienes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4449, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '555', '4441', 'Partidas pendientes de aplicación', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4450, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '556', '4441', 'Desembolsos exigidos sobre participaciones en el patrimonio neto', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4451, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5563', '4450', 'Desembolsos exigidos sobre participaciones empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4452, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5564', '4450', 'Desembolsos exigidos sobre participaciones empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4453, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5565', '4450', 'Desembolsos exigidos sobre participaciones otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4454, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5566', '4450', 'Desembolsos exigidos sobre participaciones otras empresas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4455, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '557', '4441', 'Dividendo activo a cuenta', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4456, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '558', '4441', 'Socios por desembolsos exigidos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4457, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5580', '4456', 'Socios por desembolsos exigidos sobre acciones o participaciones ordinarias', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4458, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5585', '4456', 'Socios por desembolsos exigidos sobre acciones o participaciones consideradas como pasivos financieros', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4459, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '559', '4441', 'Derivados financieros a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4460, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5590', '4459', 'Activos por derivados financieros a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4461, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5595', '4459', 'Pasivos por derivados financieros a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4462, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '56', '4005', 'Finanzas y depósitos recibidos y constituidos a corto plazo y ajustes por periodificación', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4463, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '560', '4462', 'Finanzas recibidas a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4464, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '561', '4462', 'Depósitos recibidos a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4465, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '565', '4462', 'Finanzas constituidas a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4466, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '566', '4462', 'Depósitos constituidos a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4467, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '567', '4462', 'Intereses pagados por anticipado', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4468, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '568', '4462', 'Intereses cobrados a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4469, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '57', '4005', 'Tesorería', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4470, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'CAJA', '570', '4469', 'Caja euros', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4471, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '571', '4469', 'Caja moneda extranjera', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4472, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'BANCOS', '572', '4469', 'Bancos e instituciones de crédito cc vista euros', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4473, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '573', '4469', 'Bancos e instituciones de crédito cc vista moneda extranjera', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4474, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '574', '4469', 'Bancos e instituciones de crédito cuentas de ahorro euros', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4475, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '575', '4469', 'Bancos e instituciones de crédito cuentas de ahorro moneda extranjera', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4476, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '576', '4469', 'Inversiones a corto plazo de gran liquidez', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4477, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '59', '4005', 'Deterioro del valor de las inversiones financieras a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4478, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '593', '4477', 'Deterioro del valor de participaciones a corto plazo en partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4479, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5933', '4478', 'Deterioro del valor de participaciones a corto plazo en empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4480, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5934', '4478', 'Deterioro del valor de participaciones a corto plazo en empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4481, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5935', '4478', 'Deterioro del valor de participaciones a corto plazo en otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4482, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '594', '4477', 'Deterioro del valor de valores representativos de deuda a corto plazo en partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4483, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5943', '4482', 'Deterioro del valor de valores representativos de deuda a corto plazo en empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4484, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5944', '4482', 'Deterioro del valor de valores representativos de deuda a corto plazo en empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4485, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5945', '4482', 'Deterioro del valor de valores representativos de deuda a corto plazo en otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4486, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '595', '4477', 'Deterioro del valor de créditos a corto plazo en partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4487, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5953', '4486', 'Deterioro del valor de créditos a corto plazo en empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4488, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5954', '4486', 'Deterioro del valor de créditos a corto plazo en empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4489, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5955', '4486', 'Deterioro del valor de créditos a corto plazo en otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4490, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '596', '4477', 'Deterioro del valor de participaciones a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4491, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '597', '4477', 'Deterioro del valor de valores representativos de deuda a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4492, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '598', '4477', 'Deterioro de valor de créditos a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4493, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '60', '4006', 'Compras', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4494, 'PCG08-PYME','COMPRAS_GASTOS', 'COMPRAS', '600', '4493', 'Compras de mercaderías', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4495, 'PCG08-PYME','COMPRAS_GASTOS', 'COMPRAS', '601', '4493', 'Compras de materias primas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4496, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '602', '4493', 'Compras de otros aprovisionamientos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4497, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '606', '4493', 'Descuentos sobre compras por pronto pago', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4498, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6060', '4497', 'Descuentos sobre compras por pronto pago de mercaderías', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4499, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6061', '4497', 'Descuentos sobre compras por pronto pago de materias primas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4500, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6062', '4497', 'Descuentos sobre compras por pronto pago de otros aprovisionamientos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4501, 'PCG08-PYME','COMPRAS_GASTOS', 'COMPRAS', '607', '4493', 'Trabajos realizados por otras empresas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4502, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '608', '4493', 'Devoluciones de compras y operaciones similares', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4503, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6080', '4502', 'Devoluciones de compras de mercaderías', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4504, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6081', '4502', 'Devoluciones de compras de materias primas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4505, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6082', '4502', 'Devoluciones de compras de otros aprovisionamientos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4506, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '609', '4493', 'Rappels por compras', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4507, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6090', '4506', 'Rappels por compras de mercaderías', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4508, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6091', '4506', 'Rappels por compras de materias primas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4509, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6092', '4506', 'Rappels por compras de otros aprovisionamientos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4510, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '61', '4006', 'Variación de existencias', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4511, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '610', '4510', 'Variación de existencias de mercaderías', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4512, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '611', '4510', 'Variación de existencias de materias primas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4513, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '612', '4510', 'Variación de existencias de otros aprovisionamientos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4514, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '62', '4006', 'Servicios exteriores', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4515, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '620', '4514', 'Gastos en investigación y desarrollo del ejercicio', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4516, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '621', '4514', 'Arrendamientos y cánones', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4517, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '622', '4514', 'Reparaciones y conservación', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4518, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '623', '4514', 'Servicios profesionales independientes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4519, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '624', '4514', 'Transportes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4520, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '625', '4514', 'Primas de seguros', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4521, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '626', '4514', 'Servicios bancarios y similares', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4522, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '627', '4514', 'Publicidad, propaganda y relaciones públicas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4523, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '628', '4514', 'Suministros', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4524, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '629', '4514', 'Otros servicios', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4525, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '63', '4006', 'Tributos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4526, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '630', '4525', 'Impuesto sobre benecifios', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4527, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6300', '4526', 'Impuesto corriente', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4528, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6301', '4526', 'Impuesto diferido', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4529, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '631', '4525', 'Otros tributos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4530, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '633', '4525', 'Ajustes negativos en la imposición sobre beneficios', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4531, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '634', '4525', 'Ajustes negativos en la imposición indirecta', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4532, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6341', '4531', 'Ajustes negativos en IVA de activo corriente', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4533, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6342', '4531', 'Ajustes negativos en IVA de inversiones', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4534, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '636', '4525', 'Devolución de impuestos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4535, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '638', '4525', 'Ajustes positivos en la imposición sobre beneficios', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4536, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '639', '4525', 'Ajustes positivos en la imposición directa', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4537, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6391', '4536', 'Ajustes positivos en IVA de activo corriente', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4538, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6392', '4536', 'Ajustes positivos en IVA de inversiones', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4539, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '64', '4006', 'Gastos de personal', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4540, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '640', '4539', 'Sueldos y salarios', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4541, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '641', '4539', 'Indemnizaciones', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4542, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '642', '4539', 'Seguridad social a cargo de la empresa', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4543, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '649', '4539', 'Otros gastos sociales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4544, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '65', '4006', 'Otros gastos de gestión', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4545, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '650', '4544', 'Pérdidas de créditos comerciales incobrables', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4546, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '651', '4544', 'Resultados de operaciones en común', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4547, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6510', '4546', 'Beneficio transferido gestor', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4548, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6511', '4546', 'Pérdida soportada participe o asociado no gestor', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4549, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '659', '4544', 'Otras pérdidas en gestión corriente', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4550, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '66', '4006', 'Gastos financieros', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4551, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '660', '4550', 'Gastos financieros por actualización de provisiones', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4552, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '661', '4550', 'Intereses de obligaciones y bonos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4553, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6610', '4452', 'Intereses de obligaciones y bonos a largo plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4554, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6611', '4452', 'Intereses de obligaciones y bonos a largo plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4555, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6612', '4452', 'Intereses de obligaciones y bonos a largo plazo otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4556, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6613', '4452', 'Intereses de obligaciones y bonos a largo plazo otras empresas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4557, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6615', '4452', 'Intereses de obligaciones y bonos a corto plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4558, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6616', '4452', 'Intereses de obligaciones y bonos a corto plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4559, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6617', '4452', 'Intereses de obligaciones y bonos a corto plazo otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4560, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6618', '4452', 'Intereses de obligaciones y bonos a corto plazo otras empresas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4561, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '662', '4550', 'Intereses de deudas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4562, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6620', '4561', 'Intereses de deudas empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4563, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6621', '4561', 'Intereses de deudas empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4564, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6622', '4561', 'Intereses de deudas otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4565, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6623', '4561', 'Intereses de deudas con entidades de crédito', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4566, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6624', '4561', 'Intereses de deudas otras empresas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4567, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '663', '4550', 'Pérdidas por valorización de activos y pasivos financieros por su valor razonable', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4568, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '664', '4550', 'Gastos por dividendos de acciones o participaciones consideradas como pasivos financieros', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4569, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6640', '4568', 'Dividendos de pasivos empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4570, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6641', '4568', 'Dividendos de pasivos empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4571, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6642', '4568', 'Dividendos de pasivos otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4572, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6643', '4568', 'Dividendos de pasivos otras empresas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4573, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '665', '4550', 'Intereses por descuento de efectos y operaciones de factoring', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4574, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6650', '4573', 'Intereses por descuento de efectos en entidades de crédito del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4575, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6651', '4573', 'Intereses por descuento de efectos en entidades de crédito asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4576, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6652', '4573', 'Intereses por descuento de efectos en entidades de crédito vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4577, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6653', '4573', 'Intereses por descuento de efectos en otras entidades de crédito', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4578, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6654', '4573', 'Intereses por operaciones de factoring con entidades de crédito del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4579, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6655', '4573', 'Intereses por operaciones de factoring con entidades de crédito asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4580, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6656', '4573', 'Intereses por operaciones de factoring con otras entidades de crédito vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4581, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6657', '4573', 'Intereses por operaciones de factoring con otras entidades de crédito', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4582, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '666', '4550', 'Pérdidas en participaciones y valores representativos de deuda', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4583, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6660', '4582', 'Pérdidas en valores representativos de deuda a largo plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4584, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6661', '4582', 'Pérdidas en valores representativos de deuda a largo plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4585, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6662', '4582', 'Pérdidas en valores representativos de deuda a largo plazo otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4586, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6663', '4582', 'Pérdidas en participaciones y valores representativos de deuda a largo plazo otras empresas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4587, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6665', '4582', 'Pérdidas en participaciones y valores representativos de deuda a corto plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4588, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6666', '4582', 'Pérdidas en participaciones y valores representativos de deuda a corto plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4589, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6667', '4582', 'Pérdidas en valores representativos de deuda a corto plazo otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4590, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6668', '4582', 'Pérdidas en valores representativos de deuda a corto plazo otras empresas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4591, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '667', '4550', 'Pérdidas de créditos no comerciales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4592, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6670', '4591', 'Pérdidas de créditos a largo plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4593, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6671', '4591', 'Pérdidas de créditos a largo plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4594, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6672', '4591', 'Pérdidas de créditos a largo plazo otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4595, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6673', '4591', 'Pérdidas de créditos a largo plazo otras empresas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4596, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6675', '4591', 'Pérdidas de créditos a corto plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4597, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6676', '4591', 'Pérdidas de créditos a corto plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4598, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6677', '4591', 'Pérdidas de créditos a corto plazo otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4599, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6678', '4591', 'Pérdidas de créditos a corto plazo otras empresas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4600, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '668', '4550', 'Diferencias negativas de cambio', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4601, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '669', '4550', 'Otros gastos financieros', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4602, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '67', '4006', 'Pérdidas procedentes de activos no corrientes y gastos excepcionales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4603, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '670', '4602', 'Pérdidas procedentes del inmovilizado intangible', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4604, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '671', '4602', 'Pérdidas procedentes del inmovilizado material', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4605, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '672', '4602', 'Pérdidas procedentes de las inversiones inmobiliarias', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4607, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '673', '4602', 'Pérdidas procedentes de participaciones a largo plazo en partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4608, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6733', '4607', 'Pérdidas procedentes de participaciones a largo plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4609, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6734', '4607', 'Pérdidas procedentes de participaciones a largo plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4610, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6735', '4607', 'Pérdidas procedentes de participaciones a largo plazo otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4611, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '675', '4602', 'Pérdidas por operaciones con obligaciones propias', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4612, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '678', '4602', 'Gastos excepcionales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4613, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '68', '4006', 'Dotaciones para amortizaciones', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4614, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '680', '4613', 'Amortización del inmovilizado intangible', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4615, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '681', '4613', 'Amortización del inmovilizado material', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4616, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '682', '4613', 'Amortización de las inversiones inmobiliarias', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4617, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '69', '4006', 'Pérdidas por deterioro y otras dotaciones', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4618, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '690', '4617', 'Pérdidas por deterioro del inmovilizado intangible', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4619, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '691', '4617', 'Pérdidas por deterioro del inmovilizado material', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4620, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '692', '4617', 'Pérdidas por deterioro de las inversiones inmobiliarias', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4621, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '693', '4617', 'Pérdidas por deterioro de existencias', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4622, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6930', '4621', 'Pérdidas por deterioro de productos terminados y en curso de fabricación', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4623, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6931', '4621', 'Pérdidas por deterioro de mercaderías', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4624, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6932', '4621', 'Pérdidas por deterioro de materias primas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4625, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6933', '4621', 'Pérdidas por deterioro de otros aprovisionamientos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4626, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '694', '4617', 'Pérdidas por deterioro de créditos por operaciones comerciales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4627, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '695', '4617', 'Dotación a la provisión por operaciones comerciales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4628, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6954', '4627', 'Dotación a la provisión por contratos onerosos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4629, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6959', '4628', 'Dotación a la provisión para otras operaciones comerciales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4630, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '696', '4617', 'Pérdidas por deterioro de participaciones y valores representativos de deuda a largo plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4631, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6960', '4630', 'Pérdidas por deterioro de participaciones en instrumentos de patrimonio neto a largo plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4632, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6961', '4630', 'Pérdidas por deterioro de participaciones en instrumentos de patrimonio neto a largo plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4633, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6962', '4630', 'Pérdidas por deterioro de participaciones en instrumentos de patrimonio neto a largo plazo otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4634, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6963', '4630', 'Pérdidas por deterioro de participaciones en instrumentos de patrimonio neto a largo plazo otras empresas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4635, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6965', '4630', 'Pérdidas por deterioro en valores representativos de deuda a largo plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4636, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6966', '4630', 'Pérdidas por deterioro en valores representativos de deuda a largo plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4637, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6967', '4630', 'Pérdidas por deterioro en valores representativos de deuda a largo plazo otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4638, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6968', '4630', 'Pérdidas por deterioro en valores representativos de deuda a largo plazo otras empresas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4639, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '697', '4617', 'Pérdidas por deterioro de créditos a largo plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4640, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6970', '4639', 'Pérdidas por deterioro de créditos a largo plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4641, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6971', '4639', 'Pérdidas por deterioro de créditos a largo plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4642, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6972', '4639', 'Pérdidas por deterioro de créditos a largo plazo otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4643, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6973', '4639', 'Pérdidas por deterioro de créditos a largo plazo otras empresas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4644, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '698', '4617', 'Pérdidas por deterioro de participaciones y valores representativos de deuda a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4645, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6980', '4644', 'Pérdidas por deterioro de participaciones en instrumentos de patrimonio neto a corto plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4646, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6981', '4644', 'Pérdidas por deterioro de participaciones en instrumentos de patrimonio neto a corto plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4647, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6985', '4644', 'Pérdidas por deterioro en valores representativos de deuda a corto plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4648, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6986', '4644', 'Pérdidas por deterioro en valores representativos de deuda a corto plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4649, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6988', '4644', 'Pérdidas por deterioro en valores representativos de deuda a corto plazo de otras empresas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4650, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '699', '4617', 'Pérdidas por deterioro de crédito a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4651, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6990', '4650', 'Pérdidas por deterioro de crédito a corto plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4652, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6991', '4650', 'Pérdidas por deterioro de crédito a corto plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4653, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6992', '4650', 'Pérdidas por deterioro de crédito a corto plazo otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4654, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6993', '4650', 'Pérdidas por deterioro de crédito a corto plazo otras empresas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4655, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '70', '4007', 'Ventas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4656, 'PCG08-PYME','VENTAS_E_INGRESOS', 'VENTAS', '700', '4655', 'Ventas de mercaderías', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4657, 'PCG08-PYME','VENTAS_E_INGRESOS', 'VENTAS', '701', '4655', 'Ventas de productos terminados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4658, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '702', '4655', 'Ventas de productos semiterminados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4659, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '703', '4655', 'Ventas de subproductos y residuos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4660, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '704', '4655', 'Ventas de envases y embalajes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4661, 'PCG08-PYME','VENTAS_E_INGRESOS', 'VENTAS', '705', '4655', 'Prestaciones de servicios', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4662, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '706', '4655', 'Descuentos sobre ventas por pronto pago', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4663, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7060', '4662', 'Descuentos sobre ventas por pronto pago de mercaderías', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4664, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7061', '4662', 'Descuentos sobre ventas por pronto pago de productos terminados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4665, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7062', '4662', 'Descuentos sobre ventas por pronto pago de productos semiterminados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4666, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7063', '4662', 'Descuentos sobre ventas por pronto pago de subproductos y residuos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4667, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '708', '4655', 'Devoluciones de ventas y operacioes similares', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4668, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7080', '4667', 'Devoluciones de ventas de mercaderías', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4669, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7081', '4667', 'Devoluciones de ventas de productos terminados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4670, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7082', '4667', 'Devoluciones de ventas de productos semiterminados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4671, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7083', '4667', 'Devoluciones de ventas de subproductos y residuos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4672, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7084', '4667', 'Devoluciones de ventas de envases y embalajes', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4673, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '71', '4007', 'Variación de existencias', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4674, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '710', '4673', 'Variación de existencias de productos en curso', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4675, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '711', '4673', 'Variación de existencias de productos semiterminados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4676, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '712', '4673', 'Variación de existencias de productos terminados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4677, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '713', '4673', 'Variación de existencias de subproductos, residuos y materiales recuperados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4678, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '73', '4007', 'Trabajos realizados para la empresa', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4679, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '730', '4678', 'Trabajos realizados para el inmovilizado intangible', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4680, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '731', '4678', 'Trabajos realizados para el inmovilizado tangible', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4681, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '732', '4678', 'Trabajos realizados en inversiones inmobiliarias', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4682, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '733', '4678', 'Trabajos realizados para el inmovilizado material en curso', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4683, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '74', '4007', 'Subvenciones, donaciones y legados', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4684, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '740', '4683', 'Subvenciones, donaciones y legados a la explotación', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4685, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '746', '4683', 'Subvenciones, donaciones y legados de capital transferidos al resultado del ejercicio', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4686, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '747', '4683', 'Otras subvenciones, donaciones y legados transferidos al resultado del ejercicio', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4687, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '75', '4007', 'Otros ingresos de gestión', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4688, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '751', '4687', 'Resultados de operaciones en común', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4689, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7510', '4688', 'Pérdida transferida gestor', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4690, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7511', '4688', 'Beneficio atribuido participe o asociado no gestor', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4691, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '752', '4687', 'Ingreso por arrendamiento', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4692, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '753', '4687', 'Ingresos de propiedad industrial cedida en explotación', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4693, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '754', '4687', 'Ingresos por comisiones', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4694, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '755', '4687', 'Ingresos por servicios al personal', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4695, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '759', '4687', 'Ingresos por servicios diversos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4696, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '76', '4007', 'Ingresos financieros', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4697, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '760', '4696', 'Ingresos de participaciones en instrumentos de patrimonio', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4698, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7600', '4697', 'Ingresos de participaciones en instrumentos de patrimonio empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4699, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7601', '4697', 'Ingresos de participaciones en instrumentos de patrimonio empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4700, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7602', '4697', 'Ingresos de participaciones en instrumentos de patrimonio otras partes asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4701, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7603', '4697', 'Ingresos de participaciones en instrumentos de patrimonio otras empresas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4702, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '761', '4696', 'Ingresos de valores representativos de deuda', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4703, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7610', '4702', 'Ingresos de valores representativos de deuda empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4704, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7611', '4702', 'Ingresos de valores representativos de deuda empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4705, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7612', '4702', 'Ingresos de valores representativos de deuda otras partes asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4706, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7613', '4702', 'Ingresos de valores representativos de deuda otras empresas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4707, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '762', '4696', 'Ingresos de créditos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4708, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7620', '4707', 'Ingresos de créditos a largo plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4709, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '76200', '4708', 'Ingresos de crédito a largo plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4710, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '76201', '4708', 'Ingresos de crédito a largo plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4711, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '76202', '4708', 'Ingresos de crédito a largo plazo otras partes asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4712, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '76203', '4708', 'Ingresos de crédito a largo plazo otras empresas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4713, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7621', '4707', 'Ingresos de créditos a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4714, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '76210', '4713', 'Ingresos de crédito a corto plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4715, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '76211', '4713', 'Ingresos de crédito a corto plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4716, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '76212', '4713', 'Ingresos de crédito a corto plazo otras partes asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4717, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '76213', '4713', 'Ingresos de crédito a corto plazo otras empresas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4718, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '763', '4696', 'Beneficios por valorización de activos y pasivos financieros por su valor razonable', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4719, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '766', '4696', 'Beneficios en participaciones y valores representativos de deuda', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4720, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7660', '4719', 'Beneficios en participaciones y valores representativos de deuda a largo plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4721, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7661', '4719', 'Beneficios en participaciones y valores representativos de deuda a largo plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4722, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7662', '4719', 'Beneficios en participaciones y valores representativos de deuda a largo plazo otras partes asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4723, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7663', '4719', 'Beneficios en participaciones y valores representativos de deuda a largo plazo otras empresas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4724, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7665', '4719', 'Beneficios en participaciones y valores representativos de deuda a corto plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4725, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7666', '4719', 'Beneficios en participaciones y valores representativos de deuda a corto plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4726, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7667', '4719', 'Beneficios en participaciones y valores representativos de deuda a corto plazo otras partes asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4727, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7668', '4719', 'Beneficios en participaciones y valores representativos de deuda a corto plazo otras empresas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4728, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '768', '4696', 'Diferencias positivas de cambio', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4729, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '769', '4696', 'Otros ingresos financieros', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4730, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '77', '4007', 'Beneficios procedentes de activos no corrientes e ingresos excepcionales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4731, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '770', '4730', 'Beneficios procedentes del inmovilizado intangible', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4732, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '771', '4730', 'Beneficios procedentes del inmovilizado material', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4733, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '772', '4730', 'Beneficios procedentes de las inversiones inmobiliarias', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4734, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '773', '4730', 'Beneficios procedentes de participaciones a largo plazo en partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4735, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7733', '4734', 'Beneficios procedentes de participaciones a largo plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4736, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7734', '4734', 'Beneficios procedentes de participaciones a largo plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4737, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7735', '4734', 'Beneficios procedentes de participaciones a largo plazo otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4738, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '775', '4730', 'Beneficios por operaciones con obligaciones propias', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4739, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '778', '4730', 'Ingresos excepcionales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4741, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '79', '4007', 'Excesos y aplicaciones de provisiones y pérdidas por deterioro', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4742, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '790', '4741', 'Revisión del deterioro del inmovilizado intangible', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4743, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '791', '4741', 'Revisión del deterioro del inmovilizado material', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4744, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '792', '4741', 'Revisión del deterioro de las inversiones inmobiliarias', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4745, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '793', '4741', 'Revisión del deterioro de las existencias', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4746, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7930', '4745', 'Revisión del deterioro de productos terminados y en curso de fabricación', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4747, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7931', '4745', 'Revisión del deterioro de mercaderías', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4748, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7932', '4745', 'Revisión del deterioro de materias primas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4749, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7933', '4745', 'Revisión del deterioro de otros aprovisionamientos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4750, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '794', '4741', 'Revisión del deterioro de créditos por operaciones comerciales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4751, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '795', '4741', 'Exceso de provisiones', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4752, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7951', '4751', 'Exceso de provisión para impuestos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4753, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7952', '4751', 'Exceso de provisión para otras responsabilidades', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4755, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7954', '4751', 'Exceso de provisión para operaciones comerciales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4756, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '79544', '4755', 'Exceso de provisión por contratos onerosos', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4757, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '79549', '4755', 'Exceso de provisión para otras operaciones comerciales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4758, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7955', '4751', 'Exceso de provisión para actuaciones medioambienteales', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4759, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '796', '4741', 'Revisión del deterioro de participaciones y valores representativos de deuda a largo plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4760, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7960', '4759', 'Revisión del deterioro de participaciones en instrumentos de patrimonio neto a largo plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4761, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7961', '4759', 'Revisión del deterioro de participaciones en instrumentos de patrimonio neto a largo plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4762, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7962', '4759', 'Revisión del deterioro de participaciones en instrumentos de patrimonio neto a largo plazo otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4763, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7963', '4759', 'Revisión del deterioro de participaciones en instrumentos de patrimonio neto a largo plazo otras empresas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4764, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7965', '4759', 'Revisión del deterioro de valores representativos a largo plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4765, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7966', '4759', 'Revisión del deterioro de valores representativos a largo plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4766, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7967', '4759', 'Revisión del deterioro de valores representativos a largo otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4767, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7968', '4759', 'Revisión del deterioro de valores representativos a largo plazo otras empresas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4768, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '797', '4741', 'Revisión del deterioro de créditos a largo plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4769, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7970', '4768', 'Revisión del deterioro de créditos a largo plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4770, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7971', '4768', 'Revisión del deterioro de créditos a largo plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4771, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7972', '4768', 'Revisión del deterioro de créditos a largo plazo otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4772, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7973', '4768', 'Revisión del deterioro de créditos a largo plazo otras empresas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4773, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '798', '4741', 'Revisión del deterioro de participaciones y valores representativos de deuda a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4774, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7980', '4773', 'Revisión del deterioro de participaciones en instrumentos de patrimonio neto a corto plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4775, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7981', '4773', 'Revisión del deterioro de participaciones en instrumentos de patrimonio neto a corto plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4776, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7985', '4773', 'Revisión del deterioro de valores representativos de deuda a corto plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4777, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7986', '4773', 'Revisión del deterioro de valores representativos de deuda a corto plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4778, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7987', '4773', 'Revisión del deterioro de valores representativos de deuda a corto plazo otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4779, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7988', '4773', 'Revisión del deterioro de valores representativos de deuda a corto plazo otras empresas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4780, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '799', '4741', 'Revisión del deterioro de créditos a corto plazo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4781, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7990', '4780', 'Revisión del deterioro de créditos a corto plazo empresas del grupo', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4782, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7991', '4780', 'Revisión del deterioro de créditos a corto plazo empresas asociadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4783, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7992', '4780', 'Revisión del deterioro de créditos a corto plazo otras partes vinculadas', '1'); -INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4784, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7993', '4780', 'Revisión del deterioro de créditos a corto plazo otras empresas', '1'); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4008, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '10', '4001', 'CAPITAL', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4009, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '100', '4008', 'Capital social', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4010, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '101', '4008', 'Fondo social', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4011, 'PCG08-PYME','FINANCIACION', 'CAPITAL', '102', '4008', 'Capital', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4012, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '103', '4008', 'Socios por desembolsos no exigidos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4013, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1030', '4012', 'Socios por desembolsos no exigidos capital social', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4014, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1034', '4012', 'Socios por desembolsos no exigidos capital pendiente de inscripción', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4015, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '104', '4008', 'Socios por aportaciones no dineradas pendientes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4016, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1040', '4015', 'Socios por aportaciones no dineradas pendientes capital social', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4017, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1044', '4015', 'Socios por aportaciones no dineradas pendientes capital pendiente de inscripción', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4018, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '108', '4008', 'Acciones o participaciones propias en situaciones especiales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4019, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '109', '4008', 'Acciones o participaciones propias para reducción de capital', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4020, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '11', '4001', 'Reservas y otros instrumentos de patrimonio', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4021, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '110', '4020', 'Prima de emisión o asunción', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4022, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '111', '4020', 'Otros instrumentos de patrimonio neto', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4023, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1110', '4022', 'Patrimonio neto por emisión de instrumentos financieros compuestos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4024, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1111', '4022', 'Resto de instrumentos de patrimoio neto', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4025, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '112', '4020', 'Reserva legal', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4026, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '113', '4020', 'Reservas voluntarias', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4027, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '114', '4020', 'Reservas especiales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4028, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1140', '4027', 'Reservas para acciones o participaciones de la sociedad dominante', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4029, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1141', '4027', 'Reservas estatutarias', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4030, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1142', '4027', 'Reservas por capital amortizado', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4031, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1143', '4027', 'Reservas por fondo de comercio', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4032, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1144', '4028', 'Reservas por acciones propias aceptadas en garantía', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4033, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '115', '4020', 'Reservas por pérdidas y ganancias actuariales y otros ajustes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4034, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '118', '4020', 'Aportaciones de socios o propietarios', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4035, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '119', '4020', 'Diferencias por ajuste del capital a euros', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4036, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '12', '4001', 'Resultados pendientes de aplicación', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4037, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '120', '4036', 'Remanente', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4038, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '121', '4036', 'Resultados negativos de ejercicios anteriores', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4039, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '129', '4036', 'Resultado del ejercicio', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4040, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '13', '4001', 'Subvenciones, donaciones y ajustes por cambio de valor', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4041, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '130', '4040', 'Subvenciones oficiales de capital', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4042, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '131', '4040', 'Donaciones y legados de capital', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4043, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '132', '4040', 'Otras subvenciones, donaciones y legados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4044, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '133', '4040', 'Ajustes por valoración en activos financieros disponibles para la venta', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4045, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '134', '4040', 'Operaciones de cobertura', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4046, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1340', '4045', 'Cobertura de flujos de efectivo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4047, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1341', '4045', 'Cobertura de una inversión neta en un negocio extranjero', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4048, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '135', '4040', 'Diferencias de conversión', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4049, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '136', '4040', 'Ajustes por valoración en activos no corrientes y grupos enajenables de elementos mantenidos para la venta', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4050, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '137', '4040', 'Ingresos fiscales a distribuir en varios ejercicios', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4051, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1370', '4050', 'Ingresos fiscales por diferencias permanentes a distribuir en varios ejercicios', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4052, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1371', '4050', 'Ingresos fiscales por deducciones y bonificaciones a distribuir en varios ejercicios', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4053, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '14', '4001', 'Provisiones', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4054, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '141', '4053', 'Provisión para impuestos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4055, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '142', '4053', 'Provisión para otras responsabilidades', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4056, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '143', '4053', 'Provisión por desmantelamiento, retiro o rehabilitación del inmovilizado', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4057, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '145', '4053', 'Provisión para actuaciones medioambientales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4058, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '15', '4001', 'Deudas a largo plazo con características especiales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4059, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '150', '4058', 'Acciones o participaciones a largo plazo consideradas como pasivos financieros', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4060, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '153', '4058', 'Desembolsos no exigidos por acciones o participaciones consideradas como pasivos financieros', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4061, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1533', '4060', 'Desembolsos no exigidos empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4062, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1534', '4060', 'Desembolsos no exigidos empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4063, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1535', '4060', 'Desembolsos no exigidos otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4064, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1536', '4060', 'Otros desembolsos no exigidos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4065, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '154', '4058', 'Aportaciones no dinerarias pendientes por acciones o participaciones consideradas como pasivos financieros', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4066, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1543', '4065', 'Aportaciones no dinerarias pendientes empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4067, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1544', '4065', 'Aportaciones no dinerarias pendientes empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4068, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1545', '4065', 'Aportaciones no dinerarias pendientes otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4069, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1546', '4065', 'Otras aportaciones no dinerarias pendientes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4070, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '16', '4001', 'Deudas a largo plazo con partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4071, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '160', '4070', 'Deudas a largo plazo con entidades de crédito vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4072, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1603', '4071', 'Deudas a largo plazo con entidades de crédito empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4073, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1604', '4071', 'Deudas a largo plazo con entidades de crédito empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4074, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1605', '4071', 'Deudas a largo plazo con otras entidades de crédito vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4075, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '161', '4070', 'Proveedores de inmovilizado a largo plazo partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4076, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1613', '4075', 'Proveedores de inmovilizado a largo plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4077, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1614', '4075', 'Proveedores de inmovilizado a largo plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4078, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1615', '4075', 'Proveedores de inmovilizado a largo plazo otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4079, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '162', '4070', 'Acreedores por arrendamiento financiero a largo plazo partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4080, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1623', '4079', 'Acreedores por arrendamiento financiero a largo plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4081, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1624', '4080', 'Acreedores por arrendamiento financiero a largo plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4082, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1625', '4080', 'Acreedores por arrendamiento financiero a largo plazo otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4083, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '163', '4070', 'Otras deudas a largo plazo con partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4084, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1633', '4083', 'Otras deudas a largo plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4085, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1634', '4083', 'Otras deudas a largo plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4086, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '1635', '4083', 'Otras deudas a largo plazo otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4087, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '17', '4001', 'Deudas a largo plazo por préstamos recibidos empresitos y otros conceptos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4088, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '170', '4087', 'Deudas a largo plazo con entidades de crédito', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4089, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '171', '4087', 'Deudas a largo plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4090, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '172', '4087', 'Deudas a largo plazo transformables en suvbenciones donaciones y legados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4091, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '173', '4087', 'Proveedores de inmovilizado a largo plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4092, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '174', '4087', 'Acreedores por arrendamiento financiero a largo plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4093, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '175', '4087', 'Efectos a pagar a largo plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4094, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '176', '4087', 'Pasivos por derivados financieros a largo plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4095, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '177', '4087', 'Obligaciones y bonos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4096, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '179', '4087', 'Deudas representadas en otros valores negociables', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4097, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '18', '4001', 'Pasivos por fianzas garantias y otros conceptos a largo plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4098, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '180', '4097', 'Fianzas recibidas a largo plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4099, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '181', '4097', 'Anticipos recibidos por ventas o prestaciones de servicios a largo plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4100, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '185', '4097', 'Depositos recibidos a largo plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4101, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '19', '4001', 'Situaciones transitorias de financiación', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4102, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '190', '4101', 'Acciones o participaciones emitidas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4103, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '192', '4101', 'Suscriptores de acciones', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4104, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '194', '4101', 'Capital emitido pendiente de inscripción', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4105, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '195', '4101', 'Acciones o participaciones emitidas consideradas como pasivos financieros', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4106, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '197', '4101', 'Suscriptores de acciones consideradas como pasivos financieros', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4107, 'PCG08-PYME','FINANCIACION', 'XXXXXX', '199', '4101', 'Acciones o participaciones emitidas consideradas como pasivos financieros pendientes de inscripción', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4108, 'PCG08-PYME','ACTIVO', 'XXXXXX', '20', '4002', 'Inmovilizaciones intangibles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4109, 'PCG08-PYME','ACTIVO', 'XXXXXX', '200', '4108', 'Investigación', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4110, 'PCG08-PYME','ACTIVO', 'XXXXXX', '201', '4108', 'Desarrollo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4111, 'PCG08-PYME','ACTIVO', 'XXXXXX', '202', '4108', 'Concesiones administrativas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4112, 'PCG08-PYME','ACTIVO', 'XXXXXX', '203', '4108', 'Propiedad industrial', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4113, 'PCG08-PYME','ACTIVO', 'XXXXXX', '205', '4108', 'Derechos de transpaso', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4114, 'PCG08-PYME','ACTIVO', 'XXXXXX', '206', '4108', 'Aplicaciones informáticas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4115, 'PCG08-PYME','ACTIVO', 'XXXXXX', '209', '4108', 'Anticipos para inmovilizaciones intangibles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4116, 'PCG08-PYME','ACTIVO', 'XXXXXX', '21', '4002', 'Inmovilizaciones materiales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4117, 'PCG08-PYME','ACTIVO', 'XXXXXX', '210', '4116', 'Terrenos y bienes naturales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4118, 'PCG08-PYME','ACTIVO', 'XXXXXX', '211', '4116', 'Construcciones', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4119, 'PCG08-PYME','ACTIVO', 'XXXXXX', '212', '4116', 'Instalaciones técnicas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4120, 'PCG08-PYME','ACTIVO', 'XXXXXX', '213', '4116', 'Maquinaria', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4121, 'PCG08-PYME','ACTIVO', 'XXXXXX', '214', '4116', 'Utillaje', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4122, 'PCG08-PYME','ACTIVO', 'XXXXXX', '215', '4116', 'Otras instalaciones', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4123, 'PCG08-PYME','ACTIVO', 'XXXXXX', '216', '4116', 'Mobiliario', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4124, 'PCG08-PYME','ACTIVO', 'XXXXXX', '217', '4116', 'Equipos para procesos de información', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4125, 'PCG08-PYME','ACTIVO', 'XXXXXX', '218', '4116', 'Elementos de transporte', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4126, 'PCG08-PYME','ACTIVO', 'XXXXXX', '219', '4116', 'Otro inmovilizado material', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4127, 'PCG08-PYME','ACTIVO', 'XXXXXX', '22', '4002', 'Inversiones inmobiliarias', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4128, 'PCG08-PYME','ACTIVO', 'XXXXXX', '220', '4127', 'Inversiones en terreons y bienes naturales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4129, 'PCG08-PYME','ACTIVO', 'XXXXXX', '221', '4127', 'Inversiones en construcciones', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4130, 'PCG08-PYME','ACTIVO', 'XXXXXX', '23', '4002', 'Inmovilizaciones materiales en curso', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4131, 'PCG08-PYME','ACTIVO', 'XXXXXX', '230', '4130', 'Adaptación de terrenos y bienes naturales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4132, 'PCG08-PYME','ACTIVO', 'XXXXXX', '231', '4130', 'Construcciones en curso', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4133, 'PCG08-PYME','ACTIVO', 'XXXXXX', '232', '4130', 'Instalaciones técnicas en montaje', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4134, 'PCG08-PYME','ACTIVO', 'XXXXXX', '233', '4130', 'Maquinaria en montaje', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4135, 'PCG08-PYME','ACTIVO', 'XXXXXX', '237', '4130', 'Equipos para procesos de información en montaje', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4136, 'PCG08-PYME','ACTIVO', 'XXXXXX', '239', '4130', 'Anticipos para inmovilizaciones materiales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4137, 'PCG08-PYME','ACTIVO', 'XXXXXX', '24', '4002', 'Inversiones financieras a largo plazo en partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4138, 'PCG08-PYME','ACTIVO', 'XXXXXX', '240', '4137', 'Participaciones a largo plazo en partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4139, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2403', '4138', 'Participaciones a largo plazo en empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4140, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2404', '4138', 'Participaciones a largo plazo en empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4141, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2405', '4138', 'Participaciones a largo plazo en otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4142, 'PCG08-PYME','ACTIVO', 'XXXXXX', '241', '4137', 'Valores representativos de deuda a largo plazo de partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4143, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2413', '4142', 'Valores representativos de deuda a largo plazo de empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4144, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2414', '4142', 'Valores representativos de deuda a largo plazo de empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4145, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2415', '4142', 'Valores representativos de deuda a largo plazo de otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4146, 'PCG08-PYME','ACTIVO', 'XXXXXX', '242', '4137', 'Créditos a largo plazo a partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4147, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2423', '4146', 'Créditos a largo plazo a empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4148, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2424', '4146', 'Créditos a largo plazo a empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4149, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2425', '4146', 'Créditos a largo plazo a otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4150, 'PCG08-PYME','ACTIVO', 'XXXXXX', '249', '4137', 'Desembolsos pendientes sobre participaciones a largo plazo en partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4151, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2493', '4150', 'Desembolsos pendientes sobre participaciones a largo plazo en empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4152, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2494', '4150', 'Desembolsos pendientes sobre participaciones a largo plazo en empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4153, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2495', '4150', 'Desembolsos pendientes sobre participaciones a largo plazo en otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4154, 'PCG08-PYME','ACTIVO', 'XXXXXX', '25', '4002', 'Otras inversiones financieras a largo plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4155, 'PCG08-PYME','ACTIVO', 'XXXXXX', '250', '4154', 'Inversiones financieras a largo plazo en instrumentos de patrimonio', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4156, 'PCG08-PYME','ACTIVO', 'XXXXXX', '251', '4154', 'Valores representativos de deuda a largo plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4157, 'PCG08-PYME','ACTIVO', 'XXXXXX', '252', '4154', 'Créditos a largo plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4158, 'PCG08-PYME','ACTIVO', 'XXXXXX', '253', '4154', 'Créditos a largo plazo por enajenación de inmovilizado', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4159, 'PCG08-PYME','ACTIVO', 'XXXXXX', '254', '4154', 'Créditos a largo plazo al personal', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4160, 'PCG08-PYME','ACTIVO', 'XXXXXX', '255', '4154', 'Activos por derivados financieros a largo plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4161, 'PCG08-PYME','ACTIVO', 'XXXXXX', '258', '4154', 'Imposiciones a largo plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4162, 'PCG08-PYME','ACTIVO', 'XXXXXX', '259', '4154', 'Desembolsos pendientes sobre participaciones en el patrimonio neto a largo plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4163, 'PCG08-PYME','ACTIVO', 'XXXXXX', '26', '4002', 'Fianzas y depósitos constituidos a largo plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4164, 'PCG08-PYME','ACTIVO', 'XXXXXX', '260', '4163', 'Fianzas constituidas a largo plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4165, 'PCG08-PYME','ACTIVO', 'XXXXXX', '261', '4163', 'Depósitos constituidos a largo plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4166, 'PCG08-PYME','ACTIVO', 'XXXXXX', '28', '4002', 'Amortización acumulada del inmovilizado', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4167, 'PCG08-PYME','ACTIVO', 'XXXXXX', '280', '4166', 'Amortización acumulado del inmovilizado intangible', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4168, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2800', '4167', 'Amortización acumulada de investigación', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4169, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2801', '4167', 'Amortización acumulada de desarrollo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4170, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2802', '4167', 'Amortización acumulada de concesiones administrativas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4171, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2803', '4167', 'Amortización acumulada de propiedad industrial', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4172, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2805', '4167', 'Amortización acumulada de derechos de transpaso', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4173, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2806', '4167', 'Amortización acumulada de aplicaciones informáticas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4174, 'PCG08-PYME','ACTIVO', 'XXXXXX', '281', '4166', 'Amortización acumulado del inmovilizado material', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4175, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2811', '4174', 'Amortización acumulada de construcciones', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4176, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2812', '4174', 'Amortización acumulada de instalaciones técnicas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4177, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2813', '4174', 'Amortización acumulada de maquinaria', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4178, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2814', '4174', 'Amortización acumulada de utillaje', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4179, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2815', '4174', 'Amortización acumulada de otras instalaciones', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4180, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2816', '4174', 'Amortización acumulada de mobiliario', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4181, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2817', '4174', 'Amortización acumulada de equipos para proceso de información', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4182, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2818', '4174', 'Amortización acumulada de elementos de transporte', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4183, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2819', '4175', 'Amortización acumulada de otro inmovilizado material', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4184, 'PCG08-PYME','ACTIVO', 'XXXXXX', '282', '4166', 'Amortización acumulada de las inversiones inmobiliarias', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4185, 'PCG08-PYME','ACTIVO', 'XXXXXX', '29', '4002', 'Deterioro de valor de activos no corrientes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4186, 'PCG08-PYME','ACTIVO', 'XXXXXX', '290', '4185', 'Deterioro de valor del inmovilizado intangible', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4187, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2900', '4186', 'Deterioro de valor de investigación', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4188, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2901', '4186', 'Deterioro de valor de desarrollo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4189, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2902', '4186', 'Deterioro de valor de concesiones administrativas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4190, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2903', '4186', 'Deterioro de valor de propiedad industrial', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4191, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2905', '4186', 'Deterioro de valor de derechos de transpaso', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4192, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2906', '4186', 'Deterioro de valor de aplicaciones informáticas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4193, 'PCG08-PYME','ACTIVO', 'XXXXXX', '291', '4185', 'Deterioro de valor del inmovilizado material', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4194, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2910', '4193', 'Deterioro de valor de terrenos y bienes naturales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4195, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2911', '4193', 'Deterioro de valor de construcciones', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4196, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2912', '4193', 'Deterioro de valor de instalaciones técnicas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4197, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2913', '4193', 'Deterioro de valor de maquinaria', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4198, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2914', '4193', 'Deterioro de valor de utillajes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4199, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2915', '4194', 'Deterioro de valor de otras instalaciones', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4200, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2916', '4194', 'Deterioro de valor de mobiliario', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4201, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2917', '4194', 'Deterioro de valor de equipos para proceso de información', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4202, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2918', '4194', 'Deterioro de valor de elementos de transporte', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4203, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2919', '4194', 'Deterioro de valor de otro inmovilizado material', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4204, 'PCG08-PYME','ACTIVO', 'XXXXXX', '292', '4185', 'Deterioro de valor de las inversiones inmobiliarias', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4205, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2920', '4204', 'Deterioro de valor de terrenos y bienes naturales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4206, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2921', '4204', 'Deterioro de valor de construcciones', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4207, 'PCG08-PYME','ACTIVO', 'XXXXXX', '293', '4185', 'Deterioro de valor de participaciones a largo plazo en partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4208, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2933', '4207', 'Deterioro de valor de participaciones a largo plazo en empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4209, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2934', '4207', 'Deterioro de valor de sobre participaciones a largo plazo en empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4210, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2935', '4207', 'Deterioro de valor de sobre participaciones a largo plazo en otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4211, 'PCG08-PYME','ACTIVO', 'XXXXXX', '294', '4185', 'Deterioro de valor de valores representativos de deuda a largo plazo en partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4212, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2943', '4211', 'Deterioro de valor de valores representativos de deuda a largo plazo en empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4213, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2944', '4211', 'Deterioro de valor de valores representativos de deuda a largo plazo en empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4214, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2945', '4211', 'Deterioro de valor de valores representativos de deuda a largo plazo en otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4215, 'PCG08-PYME','ACTIVO', 'XXXXXX', '295', '4185', 'Deterioro de valor de créditos a largo plazo a partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4216, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2953', '4215', 'Deterioro de valor de créditos a largo plazo a empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4217, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2954', '4215', 'Deterioro de valor de créditos a largo plazo a empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4218, 'PCG08-PYME','ACTIVO', 'XXXXXX', '2955', '4215', 'Deterioro de valor de créditos a largo plazo a otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4219, 'PCG08-PYME','ACTIVO', 'XXXXXX', '296', '4185', 'Deterioro de valor de participaciones en el patrimonio netoa largo plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4220, 'PCG08-PYME','ACTIVO', 'XXXXXX', '297', '4185', 'Deterioro de valor de valores representativos de deuda a largo plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4221, 'PCG08-PYME','ACTIVO', 'XXXXXX', '298', '4185', 'Deterioro de valor de créditos a largo plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4222, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '30', '4003', 'Comerciales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4223, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '300', '4222', 'Mercaderías A', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4224, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '301', '4222', 'Mercaderías B', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4225, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '31', '4003', 'Materias primas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4226, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '310', '4225', 'Materias primas A', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4227, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '311', '4225', 'Materias primas B', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4228, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '32', '4003', 'Otros aprovisionamientos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4229, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '320', '4228', 'Elementos y conjuntos incorporables', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4230, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '321', '4228', 'Combustibles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4231, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '322', '4228', 'Repuestos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4232, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '325', '4228', 'Materiales diversos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4233, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '326', '4228', 'Embalajes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4234, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '327', '4228', 'Envases', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4235, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '328', '4229', 'Material de oficina', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4236, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '33', '4003', 'Productos en curso', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4237, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '330', '4236', 'Productos en curos A', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4238, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '331', '4236', 'Productos en curso B', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4239, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '34', '4003', 'Productos semiterminados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4240, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '340', '4239', 'Productos semiterminados A', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4241, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '341', '4239', 'Productos semiterminados B', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4242, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '35', '4003', 'Productos terminados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4243, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '350', '4242', 'Productos terminados A', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4244, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '351', '4242', 'Productos terminados B', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4245, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '36', '4003', 'Subproductos, residuos y materiales recuperados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4246, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '360', '4245', 'Subproductos A', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4247, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '361', '4245', 'Subproductos B', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4248, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '365', '4245', 'Residuos A', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4249, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '366', '4245', 'Residuos B', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4250, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '368', '4245', 'Materiales recuperados A', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4251, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '369', '4245', 'Materiales recuperados B', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4252, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '39', '4003', 'Deterioro de valor de las existencias', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4253, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '390', '4252', 'Deterioro de valor de las mercaderías', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4254, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '391', '4252', 'Deterioro de valor de las materias primas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4255, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '392', '4252', 'Deterioro de valor de otros aprovisionamientos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4256, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '393', '4252', 'Deterioro de valor de los productos en curso', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4257, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '394', '4252', 'Deterioro de valor de los productos semiterminados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4258, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '395', '4252', 'Deterioro de valor de los productos terminados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4259, 'PCG08-PYME','EXISTENCIAS', 'XXXXXX', '396', '4252', 'Deterioro de valor de los subproductos, residuos y materiales recuperados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4260, 'PCG08-PYME','ACREEDORES_DEUDORES', 'PROVEEDORES', '40', '4004', 'Proveedores', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4261, 'PCG08-PYME','ACREEDORES_DEUDORES', 'PROVEEDORES', '400', '4260', 'Proveedores', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4262, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4000', '4261', 'Proveedores euros', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4263, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4004', '4261', 'Proveedores moneda extranjera', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4264, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4009', '4261', 'Proveedores facturas pendientes de recibir o formalizar', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4265, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '401', '4260', 'Proveedores efectos comerciales a pagar', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4266, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '403', '4260', 'Proveedores empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4267, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4030', '4266', 'Proveedores empresas del grupo euros', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4268, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4031', '4266', 'Efectos comerciales a pagar empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4269, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4034', '4266', 'Proveedores empresas del grupo moneda extranjera', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4270, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4036', '4266', 'Envases y embalajes a devolver a proveedores empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4271, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4039', '4266', 'Proveedores empresas del grupo facturas pendientes de recibir o de formalizar', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4272, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '404', '4260', 'Proveedores empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4273, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '405', '4260', 'Proveedores otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4274, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '406', '4260', 'Envases y embalajes a devolver a proveedores', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4275, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '407', '4260', 'Anticipos a proveedores', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4276, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '41', '4004', 'Acreedores varios', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4277, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '410', '4276', 'Acreedores por prestaciones de servicios', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4278, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4100', '4277', 'Acreedores por prestaciones de servicios euros', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4279, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4104', '4277', 'Acreedores por prestaciones de servicios moneda extranjera', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4280, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4109', '4277', 'Acreedores por prestaciones de servicios facturas pendientes de recibir o formalizar', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4281, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '411', '4276', 'Acreedores efectos comerciales a pagar', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4282, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '419', '4276', 'Acreedores por operaciones en común', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4283, 'PCG08-PYME','ACREEDORES_DEUDORES', 'CLIENTES', '43', '4004', 'Clientes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4284, 'PCG08-PYME','ACREEDORES_DEUDORES', 'CLIENTES', '430', '4283', 'Clientes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4285, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4300', '4284', 'Clientes euros', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4286, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4304', '4284', 'Clientes moneda extranjera', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4287, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4309', '4284', 'Clientes facturas pendientes de formalizar', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4288, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '431', '4283', 'Clientes efectos comerciales a cobrar', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4289, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4310', '4288', 'Efectos comerciales en cartera', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4290, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4311', '4288', 'Efectos comerciales descontados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4291, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4312', '4288', 'Efectos comerciales en gestión de cobro', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4292, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4315', '4288', 'Efectos comerciales impagados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4293, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '432', '4283', 'Clientes operaciones de factoring', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4294, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '433', '4283', 'Clientes empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4295, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4330', '4294', 'Clientes empresas del grupo euros', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4296, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4331', '4294', 'Efectos comerciales a cobrar empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4297, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4332', '4294', 'Clientes empresas del grupo operaciones de factoring', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4298, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4334', '4294', 'Clientes empresas del grupo moneda extranjera', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4299, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4336', '4294', 'Clientes empresas del grupo dudoso cobro', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4300, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4337', '4294', 'Envases y embalajes a devolver a clientes empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4301, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4339', '4294', 'Clientes empresas del grupo facturas pendientes de formalizar', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4302, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '434', '4283', 'Clientes empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4303, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '435', '4283', 'Clientes otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4304, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '436', '4283', 'Clientes de dudoso cobro', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4305, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '437', '4283', 'Envases y embalajes a devolver por clientes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4306, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '438', '4283', 'Anticipos de clientes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4307, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '44', '4004', 'Deudores varios', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4308, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '440', '4307', 'Deudores', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4309, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4400', '4308', 'Deudores euros', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4310, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4404', '4308', 'Deudores moneda extranjera', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4311, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4409', '4308', 'Deudores facturas pendientes de formalizar', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4312, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '441', '4307', 'Deudores efectos comerciales a cobrar', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4313, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4410', '4312', 'Deudores efectos comerciales en cartera', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4314, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4411', '4312', 'Deudores efectos comerciales descontados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4315, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4412', '4312', 'Deudores efectos comerciales en gestión de cobro', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4316, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4415', '4312', 'Deudores efectos comerciales impagados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4317, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '446', '4307', 'Deudores de dusoso cobro', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4318, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '449', '4307', 'Deudores por operaciones en común', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4319, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '46', '4004', 'Personal', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4320, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '460', '4319', 'Anticipos de renumeraciones', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4321, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '465', '4319', 'Renumeraciones pendientes de pago', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4322, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '47', '4004', 'Administraciones Públicas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4323, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '470', '4322', 'Hacienda Pública deudora por diversos conceptos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4324, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4700', '4323', 'Hacienda Pública deudora por IVA', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4325, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4708', '4323', 'Hacienda Pública deudora por subvenciones concedidas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4326, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4709', '4323', 'Hacienda Pública deudora por devolución de impuestos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4327, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '471', '4322', 'Organismos de la Seguridad Social deudores', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4328, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '472', '4322', 'Hacienda Pública IVA soportado', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4329, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '473', '4322', 'Hacienda Pública retenciones y pagos a cuenta', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4330, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '474', '4322', 'Activos por impuesto diferido', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4331, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4740', '4330', 'Activos por diferencias temporarias deducibles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4332, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4742', '4330', 'Derechos por deducciones y bonificaciones pendientes de aplicar', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4333, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4745', '4330', 'Crédito por pérdidasa compensar del ejercicio', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4334, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '475', '4322', 'Hacienda Pública acreedora por conceptos fiscales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4335, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4750', '4334', 'Hacienda Pública acreedora por IVA', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4336, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4751', '4334', 'Hacienda Pública acreedora por retenciones practicadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4337, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4752', '4334', 'Hacienda Pública acreedora por impuesto sobre sociedades', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4338, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4758', '4334', 'Hacienda Pública acreedora por subvenciones a integrar', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4339, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '476', '4322', 'Organismos de la Seguridad Social acreedores', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4340, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '477', '4322', 'Hacienda Pública IVA repercutido', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4341, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '479', '4322', 'Pasivos por diferencias temporarias imponibles', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4342, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '48', '4004', 'Ajustes por periodificación', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4343, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '480', '4342', 'Gastos anticipados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4344, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '485', '4342', 'Ingresos anticipados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4345, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '49', '4004', 'Deterioro de valor de créditos comerciales y provisiones a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4346, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '490', '4345', 'Deterioro de valor de créditos por operaciones comerciales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4347, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '493', '4345', 'Deterioro de valor de créditos por operaciones comerciales con partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4348, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4933', '4347', 'Deterioro de valor de créditos por operaciones comerciales con empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4349, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4934', '4347', 'Deterioro de valor de créditos por operaciones comerciales con empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4350, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4935', '4347', 'Deterioro de valor de créditos por operaciones comerciales con otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4351, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '499', '4345', 'Provisiones por operaciones comerciales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4352, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4994', '4351', 'Provisión para contratos anerosos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4353, 'PCG08-PYME','ACREEDORES_DEUDORES', 'XXXXXX', '4999', '4351', 'Provisión para otras operaciones comerciales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4354, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '50', '4005', 'Emprésitos deudas con características especiales y otras emisiones análogas a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4355, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '500', '4354', 'Obligaciones y bonos a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4356, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '502', '4354', 'Acciones o participaciones a corto plazo consideradas como pasivos financieros', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4357, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '505', '4354', 'Deudas representadas en otros valores negociables a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4358, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '506', '4354', 'Intereses a corto plazo de emprésitos y otras emisiones analógicas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4359, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '507', '4354', 'Dividendos de acciones o participaciones consideradas como pasivos financieros', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4360, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '509', '4354', 'Valores negociables amortizados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4361, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5090', '4360', 'Obligaciones y bonos amortizados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4362, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5095', '4360', 'Otros valores negociables amortizados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4363, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '51', '4005', 'Deudas a corto plazo con partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4364, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '510', '4363', 'Deudas a corto plazo con entidades de crédito vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4365, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5103', '4364', 'Deudas a corto plazo con entidades de crédito empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4366, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5104', '4364', 'Deudas a corto plazo con entidades de crédito empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4367, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5105', '4364', 'Deudas a corto plazo con otras entidades de crédito vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4368, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '511', '4363', 'Proveedores de inmovilizado a corto plazo partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4369, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5113', '4368', 'Proveedores de inmovilizado a corto plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4370, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5114', '4368', 'Proveedores de inmovilizado a corto plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4371, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5115', '4368', 'Proveedores de inmovilizado a corto plazo otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4372, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '512', '4363', 'Acreedores por arrendamiento financiero a corto plazo partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4373, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5123', '4372', 'Acreedores por arrendamiento financiero a corto plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4374, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5124', '4372', 'Acreedores por arrendamiento financiero a corto plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4375, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5125', '4372', 'Acreedores por arrendamiento financiero a corto plazo otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4376, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '513', '4363', 'Otras deudas a corto plazo con partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4377, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5133', '4376', 'Otras deudas a corto plazo con empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4378, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5134', '4376', 'Otras deudas a corto plazo con empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4379, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5135', '4376', 'Otras deudas a corto plazo con partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4380, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '514', '4363', 'Intereses a corto plazo con partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4381, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5143', '4380', 'Intereses a corto plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4382, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5144', '4380', 'Intereses a corto plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4383, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5145', '4380', 'Intereses deudas a corto plazo partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4384, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '52', '4005', 'Deudas a corto plazo por préstamos recibidos y otros conceptos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4385, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '520', '4384', 'Deudas a corto plazo con entidades de crédito', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4386, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5200', '4385', 'Préstamos a corto plazo de entidades de crédito', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4387, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5201', '4385', 'Deudas a corto plazo por crédito dispuesto', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4388, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5208', '4385', 'Deudas por efectos descontados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4389, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5209', '4385', 'Deudas por operaciones de factoring', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4390, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '521', '4384', 'Deudas a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4391, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '522', '4384', 'Deudas a corto plazo transformables en subvenciones donaciones y legados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4392, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '523', '4384', 'Proveedores de inmovilizado a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4393, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '526', '4384', 'Dividendo activo a pagar', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4394, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '527', '4384', 'Intereses a corto plazo de deudas con entidades de crédito', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4395, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '528', '4384', 'Intereses a corto plazo de deudas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4396, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '529', '4384', 'Provisiones a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4397, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5291', '4396', 'Provisión a corto plazo para impuestos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4398, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5292', '4396', 'Provisión a corto plazo para otras responsabilidades', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4399, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5293', '4396', 'Provisión a corto plazo por desmantelamiento retiro o rehabilitación del inmovilizado', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4400, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5295', '4396', 'Provisión a corto plazo para actuaciones medioambientales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4401, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '53', '4005', 'Inversiones financieras a corto plazo en partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4402, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '530', '4401', 'Participaciones a corto plazo en partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4403, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5303', '4402', 'Participaciones a corto plazo en empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4404, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5304', '4402', 'Participaciones a corto plazo en empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4405, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5305', '4402', 'Participaciones a corto plazo en otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4406, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '531', '4401', 'Valores representativos de deuda a corto plazo de partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4407, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5313', '4406', 'Valores representativos de deuda a corto plazo de empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4408, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5314', '4406', 'Valores representativos de deuda a corto plazo de empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4409, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5315', '4406', 'Valores representativos de deuda a corto plazo de otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4410, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '532', '4401', 'Créditos a corto plazo a partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4411, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5323', '4410', 'Créditos a corto plazo a empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4412, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5324', '4410', 'Créditos a corto plazo a empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4413, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5325', '4410', 'Créditos a corto plazo a otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4414, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '533', '4401', 'Intereses a corto plazo de valores representativos de deuda de partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4415, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5333', '4414', 'Intereses a corto plazo de valores representativos de deuda en empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4416, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5334', '4414', 'Intereses a corto plazo de valores representativos de deuda en empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4417, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5335', '4414', 'Intereses a corto plazo de valores representativos de deuda en otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4418, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '534', '4401', 'Intereses a corto plazo de créditos a partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4419, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5343', '4418', 'Intereses a corto plazo de créditos a empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4420, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5344', '4418', 'Intereses a corto plazo de créditos a empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4421, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5345', '4418', 'Intereses a corto plazo de créditos a otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4422, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '535', '4401', 'Dividendo a cobrar de inversiones financieras en partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4423, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5353', '4422', 'Dividendo a cobrar de empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4424, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5354', '4422', 'Dividendo a cobrar de empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4425, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5355', '4422', 'Dividendo a cobrar de otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4426, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '539', '4401', 'Desembolsos pendientes sobre participaciones a corto plazo en partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4427, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5393', '4426', 'Desembolsos pendientes sobre participaciones a corto plazo en empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4428, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5394', '4426', 'Desembolsos pendientes sobre participaciones a corto plazo en empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4429, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5395', '4426', 'Desembolsos pendientes sobre participaciones a corto plazo en otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4430, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '54', '4005', 'Otras inversiones financieras a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4431, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '540', '4430', 'Inversiones financieras a corto plazo en instrumentos de patrimonio', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4432, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '541', '4430', 'Valores representativos de deuda a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4433, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '542', '4430', 'Créditos a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4434, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '543', '4430', 'Créditos a corto plazo por enejenación de inmovilizado', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4435, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '544', '4430', 'Créditos a corto plazo al personal', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4436, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '545', '4430', 'Dividendo a cobrar', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4437, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '546', '4430', 'Intereses a corto plazo de valores reprsentativos de deuda', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4438, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '547', '4430', 'Intereses a corto plazo de créditos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4439, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '548', '4430', 'Imposiciones a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4440, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '549', '4430', 'Desembolsos pendientes sobre participaciones en el patrimonio neto a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4441, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '55', '4005', 'Otras cuentas no bancarias', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4442, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '550', '4441', 'Titular de la explotación', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4443, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '551', '4441', 'Cuenta corriente con socios y administradores', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4444, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '552', '4441', 'Cuenta corriente otras personas y entidades vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4445, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5523', '4444', 'Cuenta corriente con empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4446, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5524', '4444', 'Cuenta corriente con empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4447, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5525', '4444', 'Cuenta corriente con otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4448, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '554', '4441', 'Cuenta corriente con uniones temporales de empresas y comunidades de bienes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4449, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '555', '4441', 'Partidas pendientes de aplicación', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4450, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '556', '4441', 'Desembolsos exigidos sobre participaciones en el patrimonio neto', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4451, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5563', '4450', 'Desembolsos exigidos sobre participaciones empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4452, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5564', '4450', 'Desembolsos exigidos sobre participaciones empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4453, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5565', '4450', 'Desembolsos exigidos sobre participaciones otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4454, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5566', '4450', 'Desembolsos exigidos sobre participaciones otras empresas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4455, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '557', '4441', 'Dividendo activo a cuenta', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4456, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '558', '4441', 'Socios por desembolsos exigidos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4457, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5580', '4456', 'Socios por desembolsos exigidos sobre acciones o participaciones ordinarias', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4458, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5585', '4456', 'Socios por desembolsos exigidos sobre acciones o participaciones consideradas como pasivos financieros', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4459, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '559', '4441', 'Derivados financieros a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4460, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5590', '4459', 'Activos por derivados financieros a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4461, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5595', '4459', 'Pasivos por derivados financieros a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4462, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '56', '4005', 'Finanzas y depósitos recibidos y constituidos a corto plazo y ajustes por periodificación', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4463, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '560', '4462', 'Finanzas recibidas a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4464, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '561', '4462', 'Depósitos recibidos a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4465, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '565', '4462', 'Finanzas constituidas a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4466, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '566', '4462', 'Depósitos constituidos a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4467, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '567', '4462', 'Intereses pagados por anticipado', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4468, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '568', '4462', 'Intereses cobrados a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4469, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '57', '4005', 'Tesorería', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4470, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'CAJA', '570', '4469', 'Caja euros', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4471, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '571', '4469', 'Caja moneda extranjera', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4472, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'BANCOS', '572', '4469', 'Bancos e instituciones de crédito cc vista euros', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4473, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '573', '4469', 'Bancos e instituciones de crédito cc vista moneda extranjera', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4474, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '574', '4469', 'Bancos e instituciones de crédito cuentas de ahorro euros', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4475, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '575', '4469', 'Bancos e instituciones de crédito cuentas de ahorro moneda extranjera', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4476, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '576', '4469', 'Inversiones a corto plazo de gran liquidez', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4477, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '59', '4005', 'Deterioro del valor de las inversiones financieras a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4478, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '593', '4477', 'Deterioro del valor de participaciones a corto plazo en partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4479, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5933', '4478', 'Deterioro del valor de participaciones a corto plazo en empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4480, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5934', '4478', 'Deterioro del valor de participaciones a corto plazo en empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4481, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5935', '4478', 'Deterioro del valor de participaciones a corto plazo en otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4482, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '594', '4477', 'Deterioro del valor de valores representativos de deuda a corto plazo en partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4483, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5943', '4482', 'Deterioro del valor de valores representativos de deuda a corto plazo en empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4484, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5944', '4482', 'Deterioro del valor de valores representativos de deuda a corto plazo en empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4485, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5945', '4482', 'Deterioro del valor de valores representativos de deuda a corto plazo en otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4486, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '595', '4477', 'Deterioro del valor de créditos a corto plazo en partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4487, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5953', '4486', 'Deterioro del valor de créditos a corto plazo en empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4488, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5954', '4486', 'Deterioro del valor de créditos a corto plazo en empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4489, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '5955', '4486', 'Deterioro del valor de créditos a corto plazo en otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4490, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '596', '4477', 'Deterioro del valor de participaciones a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4491, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '597', '4477', 'Deterioro del valor de valores representativos de deuda a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4492, 'PCG08-PYME','CUENTAS_FINANCIERAS', 'XXXXXX', '598', '4477', 'Deterioro de valor de créditos a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4493, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '60', '4006', 'Compras', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4494, 'PCG08-PYME','COMPRAS_GASTOS', 'COMPRAS', '600', '4493', 'Compras de mercaderías', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4495, 'PCG08-PYME','COMPRAS_GASTOS', 'COMPRAS', '601', '4493', 'Compras de materias primas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4496, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '602', '4493', 'Compras de otros aprovisionamientos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4497, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '606', '4493', 'Descuentos sobre compras por pronto pago', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4498, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6060', '4497', 'Descuentos sobre compras por pronto pago de mercaderías', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4499, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6061', '4497', 'Descuentos sobre compras por pronto pago de materias primas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4500, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6062', '4497', 'Descuentos sobre compras por pronto pago de otros aprovisionamientos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4501, 'PCG08-PYME','COMPRAS_GASTOS', 'COMPRAS', '607', '4493', 'Trabajos realizados por otras empresas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4502, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '608', '4493', 'Devoluciones de compras y operaciones similares', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4503, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6080', '4502', 'Devoluciones de compras de mercaderías', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4504, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6081', '4502', 'Devoluciones de compras de materias primas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4505, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6082', '4502', 'Devoluciones de compras de otros aprovisionamientos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4506, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '609', '4493', 'Rappels por compras', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4507, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6090', '4506', 'Rappels por compras de mercaderías', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4508, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6091', '4506', 'Rappels por compras de materias primas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4509, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6092', '4506', 'Rappels por compras de otros aprovisionamientos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4510, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '61', '4006', 'Variación de existencias', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4511, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '610', '4510', 'Variación de existencias de mercaderías', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4512, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '611', '4510', 'Variación de existencias de materias primas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4513, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '612', '4510', 'Variación de existencias de otros aprovisionamientos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4514, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '62', '4006', 'Servicios exteriores', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4515, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '620', '4514', 'Gastos en investigación y desarrollo del ejercicio', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4516, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '621', '4514', 'Arrendamientos y cánones', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4517, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '622', '4514', 'Reparaciones y conservación', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4518, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '623', '4514', 'Servicios profesionales independientes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4519, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '624', '4514', 'Transportes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4520, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '625', '4514', 'Primas de seguros', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4521, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '626', '4514', 'Servicios bancarios y similares', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4522, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '627', '4514', 'Publicidad, propaganda y relaciones públicas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4523, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '628', '4514', 'Suministros', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4524, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '629', '4514', 'Otros servicios', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4525, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '63', '4006', 'Tributos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4526, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '630', '4525', 'Impuesto sobre benecifios', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4527, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6300', '4526', 'Impuesto corriente', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4528, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6301', '4526', 'Impuesto diferido', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4529, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '631', '4525', 'Otros tributos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4530, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '633', '4525', 'Ajustes negativos en la imposición sobre beneficios', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4531, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '634', '4525', 'Ajustes negativos en la imposición indirecta', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4532, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6341', '4531', 'Ajustes negativos en IVA de activo corriente', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4533, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6342', '4531', 'Ajustes negativos en IVA de inversiones', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4534, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '636', '4525', 'Devolución de impuestos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4535, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '638', '4525', 'Ajustes positivos en la imposición sobre beneficios', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4536, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '639', '4525', 'Ajustes positivos en la imposición directa', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4537, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6391', '4536', 'Ajustes positivos en IVA de activo corriente', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4538, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6392', '4536', 'Ajustes positivos en IVA de inversiones', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4539, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '64', '4006', 'Gastos de personal', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4540, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '640', '4539', 'Sueldos y salarios', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4541, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '641', '4539', 'Indemnizaciones', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4542, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '642', '4539', 'Seguridad social a cargo de la empresa', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4543, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '649', '4539', 'Otros gastos sociales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4544, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '65', '4006', 'Otros gastos de gestión', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4545, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '650', '4544', 'Pérdidas de créditos comerciales incobrables', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4546, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '651', '4544', 'Resultados de operaciones en común', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4547, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6510', '4546', 'Beneficio transferido gestor', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4548, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6511', '4546', 'Pérdida soportada participe o asociado no gestor', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4549, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '659', '4544', 'Otras pérdidas en gestión corriente', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4550, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '66', '4006', 'Gastos financieros', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4551, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '660', '4550', 'Gastos financieros por actualización de provisiones', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4552, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '661', '4550', 'Intereses de obligaciones y bonos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4553, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6610', '4452', 'Intereses de obligaciones y bonos a largo plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4554, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6611', '4452', 'Intereses de obligaciones y bonos a largo plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4555, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6612', '4452', 'Intereses de obligaciones y bonos a largo plazo otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4556, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6613', '4452', 'Intereses de obligaciones y bonos a largo plazo otras empresas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4557, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6615', '4452', 'Intereses de obligaciones y bonos a corto plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4558, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6616', '4452', 'Intereses de obligaciones y bonos a corto plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4559, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6617', '4452', 'Intereses de obligaciones y bonos a corto plazo otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4560, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6618', '4452', 'Intereses de obligaciones y bonos a corto plazo otras empresas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4561, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '662', '4550', 'Intereses de deudas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4562, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6620', '4561', 'Intereses de deudas empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4563, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6621', '4561', 'Intereses de deudas empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4564, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6622', '4561', 'Intereses de deudas otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4565, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6623', '4561', 'Intereses de deudas con entidades de crédito', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4566, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6624', '4561', 'Intereses de deudas otras empresas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4567, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '663', '4550', 'Pérdidas por valorización de activos y pasivos financieros por su valor razonable', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4568, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '664', '4550', 'Gastos por dividendos de acciones o participaciones consideradas como pasivos financieros', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4569, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6640', '4568', 'Dividendos de pasivos empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4570, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6641', '4568', 'Dividendos de pasivos empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4571, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6642', '4568', 'Dividendos de pasivos otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4572, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6643', '4568', 'Dividendos de pasivos otras empresas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4573, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '665', '4550', 'Intereses por descuento de efectos y operaciones de factoring', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4574, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6650', '4573', 'Intereses por descuento de efectos en entidades de crédito del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4575, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6651', '4573', 'Intereses por descuento de efectos en entidades de crédito asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4576, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6652', '4573', 'Intereses por descuento de efectos en entidades de crédito vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4577, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6653', '4573', 'Intereses por descuento de efectos en otras entidades de crédito', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4578, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6654', '4573', 'Intereses por operaciones de factoring con entidades de crédito del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4579, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6655', '4573', 'Intereses por operaciones de factoring con entidades de crédito asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4580, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6656', '4573', 'Intereses por operaciones de factoring con otras entidades de crédito vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4581, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6657', '4573', 'Intereses por operaciones de factoring con otras entidades de crédito', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4582, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '666', '4550', 'Pérdidas en participaciones y valores representativos de deuda', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4583, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6660', '4582', 'Pérdidas en valores representativos de deuda a largo plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4584, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6661', '4582', 'Pérdidas en valores representativos de deuda a largo plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4585, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6662', '4582', 'Pérdidas en valores representativos de deuda a largo plazo otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4586, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6663', '4582', 'Pérdidas en participaciones y valores representativos de deuda a largo plazo otras empresas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4587, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6665', '4582', 'Pérdidas en participaciones y valores representativos de deuda a corto plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4588, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6666', '4582', 'Pérdidas en participaciones y valores representativos de deuda a corto plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4589, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6667', '4582', 'Pérdidas en valores representativos de deuda a corto plazo otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4590, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6668', '4582', 'Pérdidas en valores representativos de deuda a corto plazo otras empresas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4591, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '667', '4550', 'Pérdidas de créditos no comerciales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4592, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6670', '4591', 'Pérdidas de créditos a largo plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4593, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6671', '4591', 'Pérdidas de créditos a largo plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4594, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6672', '4591', 'Pérdidas de créditos a largo plazo otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4595, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6673', '4591', 'Pérdidas de créditos a largo plazo otras empresas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4596, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6675', '4591', 'Pérdidas de créditos a corto plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4597, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6676', '4591', 'Pérdidas de créditos a corto plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4598, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6677', '4591', 'Pérdidas de créditos a corto plazo otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4599, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6678', '4591', 'Pérdidas de créditos a corto plazo otras empresas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4600, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '668', '4550', 'Diferencias negativas de cambio', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4601, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '669', '4550', 'Otros gastos financieros', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4602, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '67', '4006', 'Pérdidas procedentes de activos no corrientes y gastos excepcionales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4603, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '670', '4602', 'Pérdidas procedentes del inmovilizado intangible', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4604, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '671', '4602', 'Pérdidas procedentes del inmovilizado material', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4605, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '672', '4602', 'Pérdidas procedentes de las inversiones inmobiliarias', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4607, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '673', '4602', 'Pérdidas procedentes de participaciones a largo plazo en partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4608, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6733', '4607', 'Pérdidas procedentes de participaciones a largo plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4609, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6734', '4607', 'Pérdidas procedentes de participaciones a largo plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4610, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6735', '4607', 'Pérdidas procedentes de participaciones a largo plazo otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4611, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '675', '4602', 'Pérdidas por operaciones con obligaciones propias', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4612, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '678', '4602', 'Gastos excepcionales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4613, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '68', '4006', 'Dotaciones para amortizaciones', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4614, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '680', '4613', 'Amortización del inmovilizado intangible', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4615, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '681', '4613', 'Amortización del inmovilizado material', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4616, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '682', '4613', 'Amortización de las inversiones inmobiliarias', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4617, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '69', '4006', 'Pérdidas por deterioro y otras dotaciones', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4618, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '690', '4617', 'Pérdidas por deterioro del inmovilizado intangible', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4619, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '691', '4617', 'Pérdidas por deterioro del inmovilizado material', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4620, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '692', '4617', 'Pérdidas por deterioro de las inversiones inmobiliarias', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4621, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '693', '4617', 'Pérdidas por deterioro de existencias', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4622, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6930', '4621', 'Pérdidas por deterioro de productos terminados y en curso de fabricación', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4623, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6931', '4621', 'Pérdidas por deterioro de mercaderías', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4624, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6932', '4621', 'Pérdidas por deterioro de materias primas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4625, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6933', '4621', 'Pérdidas por deterioro de otros aprovisionamientos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4626, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '694', '4617', 'Pérdidas por deterioro de créditos por operaciones comerciales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4627, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '695', '4617', 'Dotación a la provisión por operaciones comerciales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4628, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6954', '4627', 'Dotación a la provisión por contratos onerosos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4629, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6959', '4628', 'Dotación a la provisión para otras operaciones comerciales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4630, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '696', '4617', 'Pérdidas por deterioro de participaciones y valores representativos de deuda a largo plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4631, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6960', '4630', 'Pérdidas por deterioro de participaciones en instrumentos de patrimonio neto a largo plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4632, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6961', '4630', 'Pérdidas por deterioro de participaciones en instrumentos de patrimonio neto a largo plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4633, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6962', '4630', 'Pérdidas por deterioro de participaciones en instrumentos de patrimonio neto a largo plazo otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4634, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6963', '4630', 'Pérdidas por deterioro de participaciones en instrumentos de patrimonio neto a largo plazo otras empresas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4635, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6965', '4630', 'Pérdidas por deterioro en valores representativos de deuda a largo plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4636, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6966', '4630', 'Pérdidas por deterioro en valores representativos de deuda a largo plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4637, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6967', '4630', 'Pérdidas por deterioro en valores representativos de deuda a largo plazo otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4638, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6968', '4630', 'Pérdidas por deterioro en valores representativos de deuda a largo plazo otras empresas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4639, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '697', '4617', 'Pérdidas por deterioro de créditos a largo plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4640, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6970', '4639', 'Pérdidas por deterioro de créditos a largo plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4641, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6971', '4639', 'Pérdidas por deterioro de créditos a largo plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4642, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6972', '4639', 'Pérdidas por deterioro de créditos a largo plazo otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4643, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6973', '4639', 'Pérdidas por deterioro de créditos a largo plazo otras empresas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4644, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '698', '4617', 'Pérdidas por deterioro de participaciones y valores representativos de deuda a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4645, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6980', '4644', 'Pérdidas por deterioro de participaciones en instrumentos de patrimonio neto a corto plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4646, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6981', '4644', 'Pérdidas por deterioro de participaciones en instrumentos de patrimonio neto a corto plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4647, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6985', '4644', 'Pérdidas por deterioro en valores representativos de deuda a corto plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4648, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6986', '4644', 'Pérdidas por deterioro en valores representativos de deuda a corto plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4649, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6988', '4644', 'Pérdidas por deterioro en valores representativos de deuda a corto plazo de otras empresas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4650, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '699', '4617', 'Pérdidas por deterioro de crédito a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4651, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6990', '4650', 'Pérdidas por deterioro de crédito a corto plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4652, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6991', '4650', 'Pérdidas por deterioro de crédito a corto plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4653, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6992', '4650', 'Pérdidas por deterioro de crédito a corto plazo otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4654, 'PCG08-PYME','COMPRAS_GASTOS', 'XXXXXX', '6993', '4650', 'Pérdidas por deterioro de crédito a corto plazo otras empresas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4655, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '70', '4007', 'Ventas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4656, 'PCG08-PYME','VENTAS_E_INGRESOS', 'VENTAS', '700', '4655', 'Ventas de mercaderías', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4657, 'PCG08-PYME','VENTAS_E_INGRESOS', 'VENTAS', '701', '4655', 'Ventas de productos terminados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4658, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '702', '4655', 'Ventas de productos semiterminados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4659, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '703', '4655', 'Ventas de subproductos y residuos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4660, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '704', '4655', 'Ventas de envases y embalajes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4661, 'PCG08-PYME','VENTAS_E_INGRESOS', 'VENTAS', '705', '4655', 'Prestaciones de servicios', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4662, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '706', '4655', 'Descuentos sobre ventas por pronto pago', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4663, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7060', '4662', 'Descuentos sobre ventas por pronto pago de mercaderías', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4664, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7061', '4662', 'Descuentos sobre ventas por pronto pago de productos terminados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4665, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7062', '4662', 'Descuentos sobre ventas por pronto pago de productos semiterminados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4666, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7063', '4662', 'Descuentos sobre ventas por pronto pago de subproductos y residuos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4667, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '708', '4655', 'Devoluciones de ventas y operacioes similares', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4668, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7080', '4667', 'Devoluciones de ventas de mercaderías', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4669, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7081', '4667', 'Devoluciones de ventas de productos terminados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4670, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7082', '4667', 'Devoluciones de ventas de productos semiterminados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4671, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7083', '4667', 'Devoluciones de ventas de subproductos y residuos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4672, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7084', '4667', 'Devoluciones de ventas de envases y embalajes', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4673, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '71', '4007', 'Variación de existencias', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4674, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '710', '4673', 'Variación de existencias de productos en curso', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4675, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '711', '4673', 'Variación de existencias de productos semiterminados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4676, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '712', '4673', 'Variación de existencias de productos terminados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4677, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '713', '4673', 'Variación de existencias de subproductos, residuos y materiales recuperados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4678, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '73', '4007', 'Trabajos realizados para la empresa', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4679, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '730', '4678', 'Trabajos realizados para el inmovilizado intangible', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4680, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '731', '4678', 'Trabajos realizados para el inmovilizado tangible', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4681, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '732', '4678', 'Trabajos realizados en inversiones inmobiliarias', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4682, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '733', '4678', 'Trabajos realizados para el inmovilizado material en curso', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4683, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '74', '4007', 'Subvenciones, donaciones y legados', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4684, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '740', '4683', 'Subvenciones, donaciones y legados a la explotación', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4685, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '746', '4683', 'Subvenciones, donaciones y legados de capital transferidos al resultado del ejercicio', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4686, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '747', '4683', 'Otras subvenciones, donaciones y legados transferidos al resultado del ejercicio', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4687, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '75', '4007', 'Otros ingresos de gestión', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4688, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '751', '4687', 'Resultados de operaciones en común', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4689, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7510', '4688', 'Pérdida transferida gestor', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4690, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7511', '4688', 'Beneficio atribuido participe o asociado no gestor', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4691, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '752', '4687', 'Ingreso por arrendamiento', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4692, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '753', '4687', 'Ingresos de propiedad industrial cedida en explotación', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4693, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '754', '4687', 'Ingresos por comisiones', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4694, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '755', '4687', 'Ingresos por servicios al personal', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4695, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '759', '4687', 'Ingresos por servicios diversos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4696, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '76', '4007', 'Ingresos financieros', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4697, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '760', '4696', 'Ingresos de participaciones en instrumentos de patrimonio', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4698, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7600', '4697', 'Ingresos de participaciones en instrumentos de patrimonio empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4699, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7601', '4697', 'Ingresos de participaciones en instrumentos de patrimonio empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4700, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7602', '4697', 'Ingresos de participaciones en instrumentos de patrimonio otras partes asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4701, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7603', '4697', 'Ingresos de participaciones en instrumentos de patrimonio otras empresas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4702, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '761', '4696', 'Ingresos de valores representativos de deuda', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4703, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7610', '4702', 'Ingresos de valores representativos de deuda empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4704, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7611', '4702', 'Ingresos de valores representativos de deuda empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4705, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7612', '4702', 'Ingresos de valores representativos de deuda otras partes asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4706, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7613', '4702', 'Ingresos de valores representativos de deuda otras empresas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4707, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '762', '4696', 'Ingresos de créditos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4708, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7620', '4707', 'Ingresos de créditos a largo plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4709, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '76200', '4708', 'Ingresos de crédito a largo plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4710, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '76201', '4708', 'Ingresos de crédito a largo plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4711, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '76202', '4708', 'Ingresos de crédito a largo plazo otras partes asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4712, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '76203', '4708', 'Ingresos de crédito a largo plazo otras empresas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4713, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7621', '4707', 'Ingresos de créditos a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4714, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '76210', '4713', 'Ingresos de crédito a corto plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4715, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '76211', '4713', 'Ingresos de crédito a corto plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4716, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '76212', '4713', 'Ingresos de crédito a corto plazo otras partes asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4717, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '76213', '4713', 'Ingresos de crédito a corto plazo otras empresas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4718, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '763', '4696', 'Beneficios por valorización de activos y pasivos financieros por su valor razonable', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4719, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '766', '4696', 'Beneficios en participaciones y valores representativos de deuda', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4720, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7660', '4719', 'Beneficios en participaciones y valores representativos de deuda a largo plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4721, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7661', '4719', 'Beneficios en participaciones y valores representativos de deuda a largo plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4722, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7662', '4719', 'Beneficios en participaciones y valores representativos de deuda a largo plazo otras partes asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4723, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7663', '4719', 'Beneficios en participaciones y valores representativos de deuda a largo plazo otras empresas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4724, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7665', '4719', 'Beneficios en participaciones y valores representativos de deuda a corto plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4725, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7666', '4719', 'Beneficios en participaciones y valores representativos de deuda a corto plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4726, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7667', '4719', 'Beneficios en participaciones y valores representativos de deuda a corto plazo otras partes asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4727, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7668', '4719', 'Beneficios en participaciones y valores representativos de deuda a corto plazo otras empresas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4728, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '768', '4696', 'Diferencias positivas de cambio', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4729, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '769', '4696', 'Otros ingresos financieros', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4730, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '77', '4007', 'Beneficios procedentes de activos no corrientes e ingresos excepcionales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4731, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '770', '4730', 'Beneficios procedentes del inmovilizado intangible', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4732, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '771', '4730', 'Beneficios procedentes del inmovilizado material', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4733, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '772', '4730', 'Beneficios procedentes de las inversiones inmobiliarias', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4734, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '773', '4730', 'Beneficios procedentes de participaciones a largo plazo en partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4735, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7733', '4734', 'Beneficios procedentes de participaciones a largo plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4736, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7734', '4734', 'Beneficios procedentes de participaciones a largo plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4737, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7735', '4734', 'Beneficios procedentes de participaciones a largo plazo otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4738, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '775', '4730', 'Beneficios por operaciones con obligaciones propias', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4739, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '778', '4730', 'Ingresos excepcionales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4741, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '79', '4007', 'Excesos y aplicaciones de provisiones y pérdidas por deterioro', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4742, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '790', '4741', 'Revisión del deterioro del inmovilizado intangible', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4743, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '791', '4741', 'Revisión del deterioro del inmovilizado material', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4744, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '792', '4741', 'Revisión del deterioro de las inversiones inmobiliarias', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4745, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '793', '4741', 'Revisión del deterioro de las existencias', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4746, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7930', '4745', 'Revisión del deterioro de productos terminados y en curso de fabricación', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4747, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7931', '4745', 'Revisión del deterioro de mercaderías', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4748, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7932', '4745', 'Revisión del deterioro de materias primas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4749, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7933', '4745', 'Revisión del deterioro de otros aprovisionamientos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4750, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '794', '4741', 'Revisión del deterioro de créditos por operaciones comerciales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4751, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '795', '4741', 'Exceso de provisiones', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4752, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7951', '4751', 'Exceso de provisión para impuestos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4753, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7952', '4751', 'Exceso de provisión para otras responsabilidades', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4755, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7954', '4751', 'Exceso de provisión para operaciones comerciales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4756, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '79544', '4755', 'Exceso de provisión por contratos onerosos', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4757, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '79549', '4755', 'Exceso de provisión para otras operaciones comerciales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4758, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7955', '4751', 'Exceso de provisión para actuaciones medioambienteales', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4759, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '796', '4741', 'Revisión del deterioro de participaciones y valores representativos de deuda a largo plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4760, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7960', '4759', 'Revisión del deterioro de participaciones en instrumentos de patrimonio neto a largo plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4761, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7961', '4759', 'Revisión del deterioro de participaciones en instrumentos de patrimonio neto a largo plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4762, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7962', '4759', 'Revisión del deterioro de participaciones en instrumentos de patrimonio neto a largo plazo otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4763, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7963', '4759', 'Revisión del deterioro de participaciones en instrumentos de patrimonio neto a largo plazo otras empresas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4764, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7965', '4759', 'Revisión del deterioro de valores representativos a largo plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4765, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7966', '4759', 'Revisión del deterioro de valores representativos a largo plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4766, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7967', '4759', 'Revisión del deterioro de valores representativos a largo otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4767, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7968', '4759', 'Revisión del deterioro de valores representativos a largo plazo otras empresas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4768, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '797', '4741', 'Revisión del deterioro de créditos a largo plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4769, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7970', '4768', 'Revisión del deterioro de créditos a largo plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4770, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7971', '4768', 'Revisión del deterioro de créditos a largo plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4771, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7972', '4768', 'Revisión del deterioro de créditos a largo plazo otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4772, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7973', '4768', 'Revisión del deterioro de créditos a largo plazo otras empresas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4773, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '798', '4741', 'Revisión del deterioro de participaciones y valores representativos de deuda a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4774, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7980', '4773', 'Revisión del deterioro de participaciones en instrumentos de patrimonio neto a corto plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4775, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7981', '4773', 'Revisión del deterioro de participaciones en instrumentos de patrimonio neto a corto plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4776, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7985', '4773', 'Revisión del deterioro de valores representativos de deuda a corto plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4777, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7986', '4773', 'Revisión del deterioro de valores representativos de deuda a corto plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4778, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7987', '4773', 'Revisión del deterioro de valores representativos de deuda a corto plazo otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4779, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7988', '4773', 'Revisión del deterioro de valores representativos de deuda a corto plazo otras empresas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4780, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '799', '4741', 'Revisión del deterioro de créditos a corto plazo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4781, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7990', '4780', 'Revisión del deterioro de créditos a corto plazo empresas del grupo', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4782, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7991', '4780', 'Revisión del deterioro de créditos a corto plazo empresas asociadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4783, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7992', '4780', 'Revisión del deterioro de créditos a corto plazo otras partes vinculadas', 1); +INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (4784, 'PCG08-PYME','VENTAS_E_INGRESOS', 'XXXXXX', '7993', '4780', 'Revisión del deterioro de créditos a corto plazo otras empresas', 1); diff --git a/htdocs/install/mysql/tables/llx_accounting_account.key.sql b/htdocs/install/mysql/tables/llx_accounting_account.key.sql index d9f635275b2..93da3526e62 100644 --- a/htdocs/install/mysql/tables/llx_accounting_account.key.sql +++ b/htdocs/install/mysql/tables/llx_accounting_account.key.sql @@ -1,6 +1,6 @@ -- ============================================================================ -- Copyright (C) 2003 Rodolphe Quiedeville --- Copyright (C) 2005-2006 Laurent Destailleur +-- Copyright (C) 2005-2016 Laurent Destailleur -- -- 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 @@ -21,8 +21,6 @@ ALTER TABLE llx_accounting_account ADD INDEX idx_accounting_account_fk_pcg_version (fk_pcg_version); ALTER TABLE llx_accounting_account ADD INDEX idx_accounting_account_account_number (account_number); ---ALTER TABLE llx_accounting_account ADD CONSTRAINT fk_accounting_account_fk_account_number FOREIGN KEY (fk_account_number) REFERENCES llx_accounting_account (account_number); - -- This keys are created into foreign table after creation of foreign index --ALTER TABLE llx_accounting_account ADD CONSTRAINT fk_accounting_account_fk_pcg_version FOREIGN KEY (fk_pcg_version) REFERENCES llx_accounting_system (pcg_version); diff --git a/htdocs/install/mysql/tables/llx_accounting_account.sql b/htdocs/install/mysql/tables/llx_accounting_account.sql index 51346cc63f6..1d85db2cc48 100644 --- a/htdocs/install/mysql/tables/llx_accounting_account.sql +++ b/htdocs/install/mysql/tables/llx_accounting_account.sql @@ -29,7 +29,7 @@ create table llx_accounting_account pcg_type varchar(20) NOT NULL, pcg_subtype varchar(20) NOT NULL, account_number varchar(32) NOT NULL, - account_parent integer DEFAULT 0, -- Hierarchic parent + account_parent varchar(32) DEFAULT '', -- Hierarchic parent label varchar(255) NOT NULL, fk_accounting_category integer DEFAULT 0, fk_user_author integer DEFAULT NULL, From fb8f0ed657bd1c8d4391cfa8005aa2b7984facb7 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Jul 2016 20:05:22 +0200 Subject: [PATCH 118/476] FIX #5503 --- htdocs/compta/bank/account.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/compta/bank/account.php b/htdocs/compta/bank/account.php index 67af1a773a0..3eb4764bb11 100644 --- a/htdocs/compta/bank/account.php +++ b/htdocs/compta/bank/account.php @@ -734,7 +734,7 @@ if ($id > 0 || ! empty($ref)) { $banklinestatic->fetch($links[$key]['url_id']); $bankstatic->id=$banklinestatic->fk_account; - $bankstatic->label=$banklinestatic->bank_account_label; + $bankstatic->label=$banklinestatic->bank_account_ref; print ' ('.$langs->trans("TransferFrom").' '; print $bankstatic->getNomUrl(1,'transactions'); print ' '.$langs->trans("toward").' '; @@ -752,7 +752,7 @@ if ($id > 0 || ! empty($ref)) print ' '.$langs->trans("toward").' '; $banklinestatic->fetch($links[$key]['url_id']); $bankstatic->id=$banklinestatic->fk_account; - $bankstatic->label=$banklinestatic->bank_account_label; + $bankstatic->label=$banklinestatic->bank_account_ref; print $bankstatic->getNomUrl(1,'transactions'); print ')'; } From 0334b58a4b5274f7e8bd016b2951fe9fc4f5854a Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 27 Jul 2016 20:24:30 +0200 Subject: [PATCH 119/476] Hide feature not yet validated to be ready for a stable 4.0 --- htdocs/admin/commande.php | 5 +++++ htdocs/admin/propal.php | 2 ++ htdocs/comm/propal/card.php | 4 ++-- htdocs/supplier_proposal/card.php | 4 ++-- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/htdocs/admin/commande.php b/htdocs/admin/commande.php index eabf4e13e48..d91e58ee711 100644 --- a/htdocs/admin/commande.php +++ b/htdocs/admin/commande.php @@ -602,6 +602,8 @@ print "\n"; print ''; // Shippable Icon in List +/* Kept as hidden feature for the moment, result seems bugged. +Whet is definition of "shippable" according to all different STOCK_CALCULATE_... options ? $var=!$var; print ""; print ''.$langs->trans("ShippableOrderIconInList").''; @@ -617,6 +619,8 @@ if (!empty($conf->global->SHIPPABLE_ORDER_ICON_IN_LIST)) { print ''; print ''; +/* Seems to be not so used. So kept hidden for the moment to avoid dangerous options inflation. +/* // Ask for payment bank during order if ($conf->banque->enabled) { @@ -676,6 +680,7 @@ else print ''; print $langs->trans("WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER").' '.$langs->trans('NotAvailable').''; } +*/ print ''; print '
'; diff --git a/htdocs/admin/propal.php b/htdocs/admin/propal.php index b4f1fe67e0b..57c5560a185 100644 --- a/htdocs/admin/propal.php +++ b/htdocs/admin/propal.php @@ -606,6 +606,7 @@ print '' print "\n"; print ''; +/* Seems to be not so used. So kept hidden for the moment to avoid dangerous options inflation. if ($conf->banque->enabled) { $var=!$var; @@ -634,6 +635,7 @@ else print ''; print $langs->trans("BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL").' '.$langs->trans('NotAvailable').''; } +*/ print ''; diff --git a/htdocs/comm/propal/card.php b/htdocs/comm/propal/card.php index cd1734ff0a5..2f040b4610d 100644 --- a/htdocs/comm/propal/card.php +++ b/htdocs/comm/propal/card.php @@ -1356,7 +1356,7 @@ if ($action == 'create') print ''; // Bank Account - if (! empty($conf->global->BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL) && $conf->banque->enabled) { + if (! empty($conf->global->BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL) && ! empty($conf->banque->enabled)) { print '' . $langs->trans('BankAccount') . ''; $form->select_comptes($fk_account, 'fk_account', 0, '', 1); print ''; @@ -2001,7 +2001,7 @@ if ($action == 'create') print ''; } - if (! empty($conf->global->BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL) && $conf->banque->enabled) + if (! empty($conf->global->BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL) && ! empty($conf->banque->enabled)) { // Bank Account print ''; diff --git a/htdocs/supplier_proposal/card.php b/htdocs/supplier_proposal/card.php index 3e7871b2c4a..f56daac29ec 100644 --- a/htdocs/supplier_proposal/card.php +++ b/htdocs/supplier_proposal/card.php @@ -1085,7 +1085,7 @@ if ($action == 'create') print ''; // Bank Account - if (! empty($conf->global->BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL) && $conf->banque->enabled) { + if (! empty($conf->global->BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL) && ! empty($conf->banque->enabled)) { print '' . $langs->trans('BankAccount') . ''; $form->select_comptes(GETPOST('fk_account')>0 ? GETPOST('fk_account','int') : $fk_account, 'fk_account', 0, '', 1); print ''; @@ -1537,7 +1537,7 @@ if ($action == 'create') print ''; } - if (! empty($conf->global->BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL) && $conf->banque->enabled) + if (! empty($conf->global->BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL) && ! empty($conf->banque->enabled)) { // Bank Account print ''; From 457a48c9ac090ccb660ad2c7e620456d0219a50c Mon Sep 17 00:00:00 2001 From: BENKE Charlie Date: Wed, 27 Jul 2016 22:17:25 +0200 Subject: [PATCH 120/476] Bad folders name (repeat /receipts 2 times) --- htdocs/compta/prelevement/class/bonprelevement.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/compta/prelevement/class/bonprelevement.class.php b/htdocs/compta/prelevement/class/bonprelevement.class.php index e130f1b726f..a3279c3feaa 100644 --- a/htdocs/compta/prelevement/class/bonprelevement.class.php +++ b/htdocs/compta/prelevement/class/bonprelevement.class.php @@ -920,7 +920,7 @@ class BonPrelevement extends CommonObject $dir=$conf->prelevement->dir_output.'/receipts'; if (! is_dir($dir)) dol_mkdir($dir); - $this->filename = $dir.'/receipts/'.$ref.'.xml'; + $this->filename = $dir.$ref.'.xml'; // Create withdraw receipt in database $sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_bons ("; From c1c44ce9964ad831a606a39a3b9bf4d34d93ab3e Mon Sep 17 00:00:00 2001 From: BENKE Charlie Date: Wed, 27 Jul 2016 22:24:48 +0200 Subject: [PATCH 121/476] Update bonprelevement.class.php --- htdocs/compta/prelevement/class/bonprelevement.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/compta/prelevement/class/bonprelevement.class.php b/htdocs/compta/prelevement/class/bonprelevement.class.php index a3279c3feaa..d881954dd81 100644 --- a/htdocs/compta/prelevement/class/bonprelevement.class.php +++ b/htdocs/compta/prelevement/class/bonprelevement.class.php @@ -920,7 +920,7 @@ class BonPrelevement extends CommonObject $dir=$conf->prelevement->dir_output.'/receipts'; if (! is_dir($dir)) dol_mkdir($dir); - $this->filename = $dir.$ref.'.xml'; + $this->filename = $dir.'/'.$ref.'.xml'; // Create withdraw receipt in database $sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_bons ("; From c7a70fd5a3a7b21d4e94fa84a3eea6ee8d6cee27 Mon Sep 17 00:00:00 2001 From: BENKE Charlie Date: Wed, 27 Jul 2016 22:32:17 +0200 Subject: [PATCH 122/476] suffix left on url --- htdocs/compta/prelevement/factures.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/compta/prelevement/factures.php b/htdocs/compta/prelevement/factures.php index a7df114ae6f..1727bc16224 100644 --- a/htdocs/compta/prelevement/factures.php +++ b/htdocs/compta/prelevement/factures.php @@ -94,7 +94,7 @@ if ($prev_id) print '
'; print $langs->trans("WithdrawalFile").''; - $relativepath = 'receipts/'.$bon->ref; + $relativepath = 'receipts/'.$bon->ref.'.xml'; print ''.$relativepath.''; print '
'; From a3dea2c64819f05898da55da788fde0b4f57b2fc Mon Sep 17 00:00:00 2001 From: BENKE Charlie Date: Wed, 27 Jul 2016 22:32:42 +0200 Subject: [PATCH 123/476] Update fiche-rejet.php --- htdocs/compta/prelevement/fiche-rejet.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/compta/prelevement/fiche-rejet.php b/htdocs/compta/prelevement/fiche-rejet.php index d520abccbcf..de6d368afd7 100644 --- a/htdocs/compta/prelevement/fiche-rejet.php +++ b/htdocs/compta/prelevement/fiche-rejet.php @@ -93,7 +93,7 @@ if ($prev_id) print '
'; print $langs->trans("WithdrawalFile").''; - $relativepath = 'receipts/'.$bon->ref; + $relativepath = 'receipts/'.$bon->ref.'.xml'; print ''.$relativepath.''; print '
'; From 3e13877f3c921f3952a4a45d7286e42bfd31f2e3 Mon Sep 17 00:00:00 2001 From: BENKE Charlie Date: Wed, 27 Jul 2016 22:32:58 +0200 Subject: [PATCH 124/476] Update fiche-stat.php --- htdocs/compta/prelevement/fiche-stat.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/compta/prelevement/fiche-stat.php b/htdocs/compta/prelevement/fiche-stat.php index c2316578130..10320a85544 100644 --- a/htdocs/compta/prelevement/fiche-stat.php +++ b/htdocs/compta/prelevement/fiche-stat.php @@ -91,7 +91,7 @@ if ($prev_id) print '
'; print $langs->trans("WithdrawalFile").''; - $relativepath = 'receipts/'.$bon->ref; + $relativepath = 'receipts/'.$bon->ref.'.xml'; print ''.$relativepath.''; print '
'; From dfa33bf17333c988332322fe8971051fbb455e3f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 28 Jul 2016 10:09:13 +0200 Subject: [PATCH 125/476] Fix men unot visible --- htdocs/core/menus/init_menu_auguria.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/menus/init_menu_auguria.sql b/htdocs/core/menus/init_menu_auguria.sql index e27ca3e596a..27600b23660 100644 --- a/htdocs/core/menus/init_menu_auguria.sql +++ b/htdocs/core/menus/init_menu_auguria.sql @@ -15,7 +15,7 @@ insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, left insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('comptabilite|accounting|facture|don|tax|salaries|loan', '$conf->comptabilite->enabled || $conf->accounting->enabled || $conf->facture->enabled || $conf->don->enabled || $conf->tax->enabled || $conf->salaries->enabled || $conf->supplier_invoice->enabled || $conf->loan->enabled', 6__+MAX_llx_menu__, __HANDLER__, 'top', 'accountancy', '', 0, '/compta/index.php?mainmenu=accountancy&leftmenu=', 'MenuFinancial', -1, 'compta', '$user->rights->compta->resultat->lire || $user->rights->accounting->plancompte->lire || $user->rights->facture->lire|| $user->rights->don->lire || $user->rights->tax->charges->lire || $user->rights->salaries->read || $user->rights->loan->read', '', 2, 50, __ENTITY__); insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('banque|prelevement', '$conf->banque->enabled || $conf->prelevement->enabled', 14__+MAX_llx_menu__, __HANDLER__, 'top', 'bank', '', 0, '/compta/bank/index.php?mainmenu=bank&leftmenu=bank', 'MenuBankCash', -1, 'banks', '$user->rights->banque->lire || $user->rights->prelevement->bons->lire', '', 0, 60, __ENTITY__); insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('projet', '$conf->projet->enabled', 7__+MAX_llx_menu__, __HANDLER__, 'top', 'project', '', 0, '/projet/index.php?mainmenu=project&leftmenu=', 'Projects', -1, 'projects', '$user->rights->projet->lire', '', 2, 70, __ENTITY__); -insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('mailing|export|import|opensurvey', '$conf->mailing->enabled || $conf->export->enabled || $conf->import->enabled || $conf->opensurvey->enabled', 8__+MAX_llx_menu__, __HANDLER__, 'top', 'tools', '', 0, '/core/tools.php?mainmenu=tools&leftmenu=', 'Tools', -1, 'other', '$user->rights->mailing->lire || $user->rights->export->lire || $user->rights->import->run || $user->rights->opensurvey->read', '', 2, 90, __ENTITY__); +insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('mailing|export|import|opensurvey|resource', '$conf->mailing->enabled || $conf->export->enabled || $conf->import->enabled || $conf->opensurvey->enabled || $conf->resource->enabled', 8__+MAX_llx_menu__, __HANDLER__, 'top', 'tools', '', 0, '/core/tools.php?mainmenu=tools&leftmenu=', 'Tools', -1, 'other', '$user->rights->mailing->lire || $user->rights->export->lire || $user->rights->import->run || $user->rights->opensurvey->read', '', 2, 90, __ENTITY__); insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('adherent', '$conf->adherent->enabled', 13__+MAX_llx_menu__, __HANDLER__, 'top', 'members', '', 0, '/adherents/index.php?mainmenu=members&leftmenu=', 'Members', -1, 'members', '$user->rights->adherent->lire', '', 2, 110, __ENTITY__); insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('hrm|holiday|deplacement|expensereport', '$conf->hrm->enabled || $conf->holiday->enabled || $conf->deplacement->enabled || $conf->expensereport->enabled', 15__+MAX_llx_menu__, __HANDLER__, 'top', 'hrm', '', 0, '/hrm/index.php?mainmenu=hrm&leftmenu=', 'HRM', -1, 'holiday', '$user->rights->hrm->employee->read || $user->rights->holiday->write || $user->rights->deplacement->lire || $user->rights->expensereport->lire', '', 0, 80, __ENTITY__); From 463a130a6087eb6faf883eddb0960bae1210699f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 28 Jul 2016 11:53:06 +0200 Subject: [PATCH 126/476] FIX #5457 --- htdocs/fourn/facture/list.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/fourn/facture/list.php b/htdocs/fourn/facture/list.php index c2c6c1cca3b..8ffd81c8ea4 100644 --- a/htdocs/fourn/facture/list.php +++ b/htdocs/fourn/facture/list.php @@ -270,7 +270,7 @@ llxHeader('',$langs->trans("SuppliersInvoices"),'EN:Suppliers_Invoices|FR:Factur $sql = "SELECT"; if ($sall || $search_product_category > 0) $sql = 'SELECT DISTINCT'; $sql.= " f.rowid as facid, f.ref, f.ref_supplier, f.datef, f.date_lim_reglement as datelimite,"; -$sql.= " f.total_ht, f.total_ttc, f.paye as paye, f.fk_statut as fk_statut, f.libelle as label,"; +$sql.= " f.total_ht, f.total_ttc, f.total_tva as total_vat, f.paye as paye, f.fk_statut as fk_statut, f.libelle as label,"; $sql.= ' s.rowid as socid, s.nom as name, s.town, s.zip, s.fk_pays, s.client, s.code_client, '; $sql.= " typent.code as typent_code,"; $sql.= " state.code_departement as state_code, state.nom as state_name,"; From 01417b89c3b83a61b69e9b70546c75eb6c4d947c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 28 Jul 2016 12:17:00 +0200 Subject: [PATCH 127/476] FIX Bad position of parameters on llxHeader (so online help not visible) --- htdocs/margin/tabs/productMargins.php | 9 ++++++--- htdocs/product/composition/card.php | 6 +++++- htdocs/product/document.php | 6 +++++- htdocs/product/fournisseurs.php | 6 +++++- htdocs/product/index.php | 3 ++- htdocs/product/info.php | 10 ++++++---- htdocs/product/popuprop.php | 10 +++------- htdocs/product/price.php | 7 ++++++- htdocs/product/reassort.php | 8 ++++---- htdocs/product/reassortlot.php | 5 ++--- htdocs/product/traduction.php | 6 +++++- 11 files changed, 49 insertions(+), 27 deletions(-) diff --git a/htdocs/margin/tabs/productMargins.php b/htdocs/margin/tabs/productMargins.php index e4a349382b0..369d226414a 100644 --- a/htdocs/margin/tabs/productMargins.php +++ b/htdocs/margin/tabs/productMargins.php @@ -65,12 +65,15 @@ $invoicestatic=new Facture($db); $form = new Form($db); - if ($id > 0 || ! empty($ref)) { - $result = $object->fetch($id, $ref); + $result = $object->fetch($id, $ref); + + $helpurl=''; + if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; + if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; - llxHeader("","",$langs->trans("CardProduct".$object->type)); + llxHeader("", $langs->trans("CardProduct".$object->type), $help_url); /* * En mode visu diff --git a/htdocs/product/composition/card.php b/htdocs/product/composition/card.php index 15e44f8602d..1aa03bd79b8 100644 --- a/htdocs/product/composition/card.php +++ b/htdocs/product/composition/card.php @@ -133,6 +133,10 @@ else if($action==='save_composed_product') * View */ +$helpurl=''; +if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; +if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; + $product_fourn = new ProductFournisseur($db); $productstatic = new Product($db); $form = new Form($db); @@ -176,7 +180,7 @@ if ($action == 'search') //print $sql; -llxHeader("","",$langs->trans("CardProduct".$object->type)); +llxHeader("", $langs->trans("CardProduct".$object->type), $helpurl); $head=product_prepare_head($object); $titre=$langs->trans("CardProduct".$object->type); diff --git a/htdocs/product/document.php b/htdocs/product/document.php index 97925bff99c..259ffae5913 100644 --- a/htdocs/product/document.php +++ b/htdocs/product/document.php @@ -166,7 +166,11 @@ if ($action=='filemerge') $form = new Form($db); -llxHeader("","",$langs->trans("CardProduct".$object->type)); +$helpurl=''; +if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; +if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; + +llxHeader("", $langs->trans("CardProduct".$object->type), $help_url); if ($object->id) diff --git a/htdocs/product/fournisseurs.php b/htdocs/product/fournisseurs.php index c51bf7fae01..3eb08370aba 100644 --- a/htdocs/product/fournisseurs.php +++ b/htdocs/product/fournisseurs.php @@ -274,13 +274,17 @@ if (empty($reshook)) * view */ +$helpurl=''; +if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; +if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; + $form = new Form($db); if ($id > 0 || $ref) { if ($action <> 're-edit') { - llxHeader("","",$langs->trans("CardProduct".$object->type)); + llxHeader("", $langs->trans("CardProduct".$object->type), $helpurl); } if ($result) diff --git a/htdocs/product/index.php b/htdocs/product/index.php index ab0bf36df6e..d78e1f28f95 100644 --- a/htdocs/product/index.php +++ b/htdocs/product/index.php @@ -49,6 +49,7 @@ $product_static = new Product($db); */ $transAreaType = $langs->trans("ProductsAndServicesArea"); + $helpurl=''; if (! isset($_GET["type"])) { @@ -66,7 +67,7 @@ if ((isset($_GET["type"]) && $_GET["type"] == 1) || empty($conf->product->enable $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; } -llxHeader("",$langs->trans("ProductsAndServices"),$helpurl); +llxHeader("", $langs->trans("ProductsAndServices"), $helpurl); $linkback=""; print load_fiche_titre($transAreaType,$linkback,'title_products.png'); diff --git a/htdocs/product/info.php b/htdocs/product/info.php index 51510b518a6..71f1908e434 100644 --- a/htdocs/product/info.php +++ b/htdocs/product/info.php @@ -56,13 +56,15 @@ if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'e * View */ -$form=new Form($b); - -$title=$langs->trans("Product"); $helpurl=''; if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; -llxHeader('',$title,$help_url); + +$title=$langs->trans("Product"); + +$form=new Form($b); + +llxHeader('', $title, $help_url); if ($id > 0 || $ref) { diff --git a/htdocs/product/popuprop.php b/htdocs/product/popuprop.php index ee04299cd4c..52ed6c9c969 100644 --- a/htdocs/product/popuprop.php +++ b/htdocs/product/popuprop.php @@ -61,23 +61,19 @@ $helpurl=''; if ($type == '0') { $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; - //$title=$langs->trans("StatisticsOfProducts"); - $title=$langs->trans("Statistics"); } else if ($type == '1') { $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; - //$title=$langs->trans("StatisticsOfServices"); - $title=$langs->trans("Statistics"); } else { $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; - //$title=$langs->trans("StatisticsOfProductsOrServices"); - $title=$langs->trans("Statistics"); } +$title=$langs->trans("Statistics"); -llxHeader('','',$helpurl); + +llxHeader('', $title, $helpurl); print load_fiche_titre($title, $mesg,'title_products.png'); diff --git a/htdocs/product/price.php b/htdocs/product/price.php index 694297b5b2f..c645d76062e 100644 --- a/htdocs/product/price.php +++ b/htdocs/product/price.php @@ -618,7 +618,12 @@ if (! empty($id) || ! empty($ref)) // fetch updated prices $object->fetch($id, $ref); } -llxHeader("", "", $langs->trans("CardProduct" . $object->type)); + +$helpurl=''; +if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; +if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; + +llxHeader("", $langs->trans("CardProduct" . $object->type), $hepl_url); $head = product_prepare_head($object); $titre = $langs->trans("CardProduct" . $object->type); diff --git a/htdocs/product/reassort.php b/htdocs/product/reassort.php index 56dcc876d3e..e2a64887269 100644 --- a/htdocs/product/reassort.php +++ b/htdocs/product/reassort.php @@ -101,10 +101,13 @@ if (! empty($conf->global->STOCK_CALCULATE_ON_SHIPMENT) || ! empty($conf->global // None + /* * View */ +$helpurl='EN:Module_Stocks_En|FR:Module_Stock|ES:Módulo_Stocks'; + $form=new Form($db); $htmlother=new FormOther($db); @@ -184,9 +187,6 @@ if ($resql) exit; } - $helpurl=''; - $helpurl='EN:Module_Stocks_En|FR:Module_Stock|ES:Módulo_Stocks'; - if (isset($type)) { if ($type==1) { $texte = $langs->trans("Services"); } @@ -197,7 +197,7 @@ if ($resql) $texte.=' ('.$langs->trans("Stocks").')'; - llxHeader("",$texte,$helpurl); + llxHeader("", $texte, $helpurl); if ($sref || $snom || $sall || GETPOST('search')) { diff --git a/htdocs/product/reassortlot.php b/htdocs/product/reassortlot.php index f7d5e60ca72..81a7e7b800d 100644 --- a/htdocs/product/reassortlot.php +++ b/htdocs/product/reassortlot.php @@ -100,6 +100,8 @@ if (! empty($_POST["button_removefilter_x"])) * View */ +$helpurl='EN:Module_Stocks_En|FR:Module_Stock|ES:Módulo_Stocks'; + $form=new Form($db); $htmlother=new FormOther($db); @@ -192,9 +194,6 @@ if ($resql) exit; } - $helpurl=''; - $helpurl='EN:Module_Stocks_En|FR:Module_Stock|ES:Módulo_Stocks'; - if (isset($type)) { if ($type==1) { $texte = $langs->trans("Services"); } diff --git a/htdocs/product/traduction.php b/htdocs/product/traduction.php index d83dfd238c7..0460eca7c4c 100644 --- a/htdocs/product/traduction.php +++ b/htdocs/product/traduction.php @@ -163,7 +163,11 @@ $result = $object->fetch($id,$ref); * View */ -llxHeader("","",$langs->trans("Translation")); +$helpurl=''; +if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; +if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; + +llxHeader("", $langs->trans("Translation"), $help_url); $form = new Form($db); $formadmin=new FormAdmin($db); From e5d0258f330fcba50b5a2920450abf1558faa801 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 28 Jul 2016 12:22:23 +0200 Subject: [PATCH 128/476] Fix missing css --- htdocs/product/composition/card.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/product/composition/card.php b/htdocs/product/composition/card.php index 15e44f8602d..19c7837b954 100644 --- a/htdocs/product/composition/card.php +++ b/htdocs/product/composition/card.php @@ -195,7 +195,7 @@ if ($id > 0 || ! empty($ref)) dol_banner_tab($object, 'ref', $linkback, ($user->societe_id?0:1), 'ref'); - print ''; + print '
'; // Nature if($object->type!=Product::TYPE_SERVICE) From 629271cf85c5c661274a6171a687a53cc7cfbded Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 28 Jul 2016 12:17:00 +0200 Subject: [PATCH 129/476] FIX Bad position of parameters on llxHeader (so online help not visible) --- htdocs/margin/tabs/productMargins.php | 9 ++++++--- htdocs/product/composition/card.php | 6 +++++- htdocs/product/document.php | 6 +++++- htdocs/product/fournisseurs.php | 6 +++++- htdocs/product/index.php | 3 ++- htdocs/product/info.php | 10 ++++++---- htdocs/product/popuprop.php | 10 +++------- htdocs/product/price.php | 7 ++++++- htdocs/product/reassort.php | 8 ++++---- htdocs/product/reassortlot.php | 5 ++--- htdocs/product/traduction.php | 6 +++++- 11 files changed, 49 insertions(+), 27 deletions(-) diff --git a/htdocs/margin/tabs/productMargins.php b/htdocs/margin/tabs/productMargins.php index e4a349382b0..369d226414a 100644 --- a/htdocs/margin/tabs/productMargins.php +++ b/htdocs/margin/tabs/productMargins.php @@ -65,12 +65,15 @@ $invoicestatic=new Facture($db); $form = new Form($db); - if ($id > 0 || ! empty($ref)) { - $result = $object->fetch($id, $ref); + $result = $object->fetch($id, $ref); + + $helpurl=''; + if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; + if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; - llxHeader("","",$langs->trans("CardProduct".$object->type)); + llxHeader("", $langs->trans("CardProduct".$object->type), $help_url); /* * En mode visu diff --git a/htdocs/product/composition/card.php b/htdocs/product/composition/card.php index 19c7837b954..a65adb1c4b3 100644 --- a/htdocs/product/composition/card.php +++ b/htdocs/product/composition/card.php @@ -133,6 +133,10 @@ else if($action==='save_composed_product') * View */ +$helpurl=''; +if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; +if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; + $product_fourn = new ProductFournisseur($db); $productstatic = new Product($db); $form = new Form($db); @@ -176,7 +180,7 @@ if ($action == 'search') //print $sql; -llxHeader("","",$langs->trans("CardProduct".$object->type)); +llxHeader("", $langs->trans("CardProduct".$object->type), $helpurl); $head=product_prepare_head($object); $titre=$langs->trans("CardProduct".$object->type); diff --git a/htdocs/product/document.php b/htdocs/product/document.php index 97925bff99c..259ffae5913 100644 --- a/htdocs/product/document.php +++ b/htdocs/product/document.php @@ -166,7 +166,11 @@ if ($action=='filemerge') $form = new Form($db); -llxHeader("","",$langs->trans("CardProduct".$object->type)); +$helpurl=''; +if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; +if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; + +llxHeader("", $langs->trans("CardProduct".$object->type), $help_url); if ($object->id) diff --git a/htdocs/product/fournisseurs.php b/htdocs/product/fournisseurs.php index c51bf7fae01..3eb08370aba 100644 --- a/htdocs/product/fournisseurs.php +++ b/htdocs/product/fournisseurs.php @@ -274,13 +274,17 @@ if (empty($reshook)) * view */ +$helpurl=''; +if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; +if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; + $form = new Form($db); if ($id > 0 || $ref) { if ($action <> 're-edit') { - llxHeader("","",$langs->trans("CardProduct".$object->type)); + llxHeader("", $langs->trans("CardProduct".$object->type), $helpurl); } if ($result) diff --git a/htdocs/product/index.php b/htdocs/product/index.php index 47a4add2447..a0306af338e 100644 --- a/htdocs/product/index.php +++ b/htdocs/product/index.php @@ -49,6 +49,7 @@ $product_static = new Product($db); */ $transAreaType = $langs->trans("ProductsAndServicesArea"); + $helpurl=''; if (! isset($_GET["type"])) { @@ -66,7 +67,7 @@ if ((isset($_GET["type"]) && $_GET["type"] == 1) || empty($conf->product->enable $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; } -llxHeader("",$langs->trans("ProductsAndServices"),$helpurl); +llxHeader("", $langs->trans("ProductsAndServices"), $helpurl); $linkback=""; print load_fiche_titre($transAreaType,$linkback,'title_products.png'); diff --git a/htdocs/product/info.php b/htdocs/product/info.php index 51510b518a6..71f1908e434 100644 --- a/htdocs/product/info.php +++ b/htdocs/product/info.php @@ -56,13 +56,15 @@ if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'e * View */ -$form=new Form($b); - -$title=$langs->trans("Product"); $helpurl=''; if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; -llxHeader('',$title,$help_url); + +$title=$langs->trans("Product"); + +$form=new Form($b); + +llxHeader('', $title, $help_url); if ($id > 0 || $ref) { diff --git a/htdocs/product/popuprop.php b/htdocs/product/popuprop.php index ee04299cd4c..52ed6c9c969 100644 --- a/htdocs/product/popuprop.php +++ b/htdocs/product/popuprop.php @@ -61,23 +61,19 @@ $helpurl=''; if ($type == '0') { $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; - //$title=$langs->trans("StatisticsOfProducts"); - $title=$langs->trans("Statistics"); } else if ($type == '1') { $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; - //$title=$langs->trans("StatisticsOfServices"); - $title=$langs->trans("Statistics"); } else { $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; - //$title=$langs->trans("StatisticsOfProductsOrServices"); - $title=$langs->trans("Statistics"); } +$title=$langs->trans("Statistics"); -llxHeader('','',$helpurl); + +llxHeader('', $title, $helpurl); print load_fiche_titre($title, $mesg,'title_products.png'); diff --git a/htdocs/product/price.php b/htdocs/product/price.php index 694297b5b2f..c645d76062e 100644 --- a/htdocs/product/price.php +++ b/htdocs/product/price.php @@ -618,7 +618,12 @@ if (! empty($id) || ! empty($ref)) // fetch updated prices $object->fetch($id, $ref); } -llxHeader("", "", $langs->trans("CardProduct" . $object->type)); + +$helpurl=''; +if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; +if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; + +llxHeader("", $langs->trans("CardProduct" . $object->type), $hepl_url); $head = product_prepare_head($object); $titre = $langs->trans("CardProduct" . $object->type); diff --git a/htdocs/product/reassort.php b/htdocs/product/reassort.php index 56dcc876d3e..e2a64887269 100644 --- a/htdocs/product/reassort.php +++ b/htdocs/product/reassort.php @@ -101,10 +101,13 @@ if (! empty($conf->global->STOCK_CALCULATE_ON_SHIPMENT) || ! empty($conf->global // None + /* * View */ +$helpurl='EN:Module_Stocks_En|FR:Module_Stock|ES:Módulo_Stocks'; + $form=new Form($db); $htmlother=new FormOther($db); @@ -184,9 +187,6 @@ if ($resql) exit; } - $helpurl=''; - $helpurl='EN:Module_Stocks_En|FR:Module_Stock|ES:Módulo_Stocks'; - if (isset($type)) { if ($type==1) { $texte = $langs->trans("Services"); } @@ -197,7 +197,7 @@ if ($resql) $texte.=' ('.$langs->trans("Stocks").')'; - llxHeader("",$texte,$helpurl); + llxHeader("", $texte, $helpurl); if ($sref || $snom || $sall || GETPOST('search')) { diff --git a/htdocs/product/reassortlot.php b/htdocs/product/reassortlot.php index f7d5e60ca72..81a7e7b800d 100644 --- a/htdocs/product/reassortlot.php +++ b/htdocs/product/reassortlot.php @@ -100,6 +100,8 @@ if (! empty($_POST["button_removefilter_x"])) * View */ +$helpurl='EN:Module_Stocks_En|FR:Module_Stock|ES:Módulo_Stocks'; + $form=new Form($db); $htmlother=new FormOther($db); @@ -192,9 +194,6 @@ if ($resql) exit; } - $helpurl=''; - $helpurl='EN:Module_Stocks_En|FR:Module_Stock|ES:Módulo_Stocks'; - if (isset($type)) { if ($type==1) { $texte = $langs->trans("Services"); } diff --git a/htdocs/product/traduction.php b/htdocs/product/traduction.php index d83dfd238c7..0460eca7c4c 100644 --- a/htdocs/product/traduction.php +++ b/htdocs/product/traduction.php @@ -163,7 +163,11 @@ $result = $object->fetch($id,$ref); * View */ -llxHeader("","",$langs->trans("Translation")); +$helpurl=''; +if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; +if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; + +llxHeader("", $langs->trans("Translation"), $help_url); $form = new Form($db); $formadmin=new FormAdmin($db); From aae2086adad38a1445e9bcd48b0a45f57e290ac8 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 28 Jul 2016 13:53:17 +0200 Subject: [PATCH 130/476] Move notes on dedicated tabs like other elements. Rename also the note available into translation tab into "other" to avoid confusion because it was not the same usage. --- htdocs/core/class/commonobject.class.php | 14 +++- htdocs/core/lib/product.lib.php | 30 +++---- htdocs/core/tpl/notes.tpl.php | 21 ++--- htdocs/product/card.php | 61 +++++++++------ htdocs/product/class/product.class.php | 71 +++++++++-------- htdocs/product/note.php | 99 ++++++++++++++++++++++++ htdocs/product/traduction.php | 59 +++++++------- 7 files changed, 242 insertions(+), 113 deletions(-) create mode 100644 htdocs/product/note.php diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 25b593ce120..7d7d1af898f 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -1229,6 +1229,9 @@ abstract class CommonObject $this->db->begin(); + // Special case + if ($table == 'product' && $field == 'note_private') $field='note'; + $sql = "UPDATE ".MAIN_DB_PREFIX.$table." SET "; if ($format == 'text') $sql.= $field." = '".$this->db->escape($value)."'"; else if ($format == 'date') $sql.= $field." = '".$this->db->idate($value)."'"; @@ -2112,7 +2115,10 @@ abstract class CommonObject dol_syslog(get_class($this)."::update_note Parameter suffix must be empty, '_private' or '_public'", LOG_ERR); return -2; } - + // Special cas + //var_dump($this->table_element);exit; + if ($this->table_element == 'product') $suffix=''; + $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; $sql.= " SET note".$suffix." = ".(!empty($note)?("'".$this->db->escape($note)."'"):"NULL"); $sql.= " WHERE rowid =". $this->id; @@ -2122,7 +2128,11 @@ abstract class CommonObject { if ($suffix == '_public') $this->note_public = $note; else if ($suffix == '_private') $this->note_private = $note; - else $this->note = $note; + else + { + $this->note = $note; // deprecated + $this->note_private = $note; + } return 1; } else diff --git a/htdocs/core/lib/product.lib.php b/htdocs/core/lib/product.lib.php index be46f28c498..096a1efbe99 100644 --- a/htdocs/core/lib/product.lib.php +++ b/htdocs/core/lib/product.lib.php @@ -65,18 +65,6 @@ function product_prepare_head($object) $h++; } } - - // Show category tab - /* No more required. Replaced with new multiselect component - if (! empty($conf->categorie->enabled) && $user->rights->categorie->lire) - { - require_once DOL_DOCUMENT_ROOT . '/categories/class/categorie.class.php'; - $type = Categorie::TYPE_PRODUCT; - $head[$h][0] = DOL_URL_ROOT."/categories/categorie.php?id=".$object->id.'&type='.$type; - $head[$h][1] = $langs->trans('Categories'); - $head[$h][2] = 'category'; - $h++; - }*/ // Multilangs if (! empty($conf->global->MAIN_MULTILANGS)) @@ -123,12 +111,18 @@ function product_prepare_head($object) // $this->tabs = array('entity:-tabname); to remove a tab complete_head_from_modules($conf,$langs,$object,$head,$h,'product'); - /* Merged into the Join files tab - $head[$h][0] = DOL_URL_ROOT."/product/photos.php?id=".$object->id; - $head[$h][1] = $langs->trans("Photos"); - $head[$h][2] = 'photos'; - $h++; - */ + // Notes + if (empty($conf->global->MAIN_DISABLE_NOTES_TAB)) + { + $nbNote = 0; + if(!empty($object->note_private)) $nbNote++; + if(!empty($object->note_public)) $nbNote++; + $head[$h][0] = DOL_URL_ROOT.'/product/note.php?id='.$object->id; + $head[$h][1] = $langs->trans('Notes'); + if ($nbNote > 0) $head[$h][1].= ' '.$nbNote.''; + $head[$h][2] = 'note'; + $h++; + } // Attachments require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; diff --git a/htdocs/core/tpl/notes.tpl.php b/htdocs/core/tpl/notes.tpl.php index 61832720d0e..901756f9bfb 100644 --- a/htdocs/core/tpl/notes.tpl.php +++ b/htdocs/core/tpl/notes.tpl.php @@ -50,16 +50,17 @@ if (! empty($conf->global->MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES)) } // Special cases -if ($module == 'propal') { $permission=$user->rights->propale->creer;} +if ($module == 'propal') { $permission=$user->rights->propale->creer;} elseif ($module == 'supplier_proposal') { $permission=$user->rights->supplier_proposal->creer;} -elseif ($module == 'fichinter') { $permission=$user->rights->ficheinter->creer;} -elseif ($module == 'project') { $permission=$user->rights->projet->creer;} -elseif ($module == 'project_task') { $permission=$user->rights->projet->creer;} -elseif ($module == 'invoice_supplier') { $permission=$user->rights->fournisseur->facture->creer;} -elseif ($module == 'order_supplier') { $permission=$user->rights->fournisseur->commande->creer;} -elseif ($module == 'societe') { $permission=$user->rights->societe->creer;} -elseif ($module == 'contact') { $permission=$user->rights->societe->creer;} -elseif ($module == 'shipping') { $permission=$user->rights->expedition->creer;} +elseif ($module == 'fichinter') { $permission=$user->rights->ficheinter->creer;} +elseif ($module == 'project') { $permission=$user->rights->projet->creer;} +elseif ($module == 'project_task') { $permission=$user->rights->projet->creer;} +elseif ($module == 'invoice_supplier') { $permission=$user->rights->fournisseur->facture->creer;} +elseif ($module == 'order_supplier') { $permission=$user->rights->fournisseur->commande->creer;} +elseif ($module == 'societe') { $permission=$user->rights->societe->creer;} +elseif ($module == 'contact') { $permission=$user->rights->societe->creer;} +elseif ($module == 'shipping') { $permission=$user->rights->expedition->creer;} +elseif ($module == 'product') { $permission=$user->rights->produit->creer;} //else dol_print_error('','Bad value '.$module.' for param module'); if (! empty($conf->global->FCKEDITOR_ENABLE_SOCIETE)) $typeofdata='ckeditor:dolibarr_notes:100%:200::1:12:100'; // Rem: This var is for all notes, not only thirdparties note. @@ -69,10 +70,12 @@ else $typeofdata='textarea:12:100';
+
>editfieldkey("NotePublic", $note_public, $value_public, $object, $permission, $typeofdata, $moreparam); ?>
editfieldval("NotePublic", $note_public, $value_public, $object, $permission, $typeofdata, '', null, null, $moreparam); ?>
+ societe_id)) { ?>
>editfieldkey("NotePrivate", $note_private, $value_private, $object, $permission, $typeofdata, $moreparam); ?>
diff --git a/htdocs/product/card.php b/htdocs/product/card.php index 7f338c6dc06..2ff5e2b5b43 100644 --- a/htdocs/product/card.php +++ b/htdocs/product/card.php @@ -94,6 +94,7 @@ if ($id > 0 || ! empty($ref)) else $upload_dirold = $conf->service->multidir_output[$object->entity].'/'.substr(substr("000".$object->id, -2),1,1).'/'.substr(substr("000".$object->id, -2),0,1).'/'.$object->id."/photos"; } } + $modulepart='product'; // Get object canvas (By default, this is not defined, so standard usage of dolibarr) @@ -285,7 +286,8 @@ if (empty($reshook)) $object->description = dol_htmlcleanlastbr(GETPOST('desc')); $object->url = GETPOST('url'); - $object->note = dol_htmlcleanlastbr(GETPOST('note')); + $object->note_private = dol_htmlcleanlastbr(GETPOST('note_private')); + $object->note = $object->note_private; // deprecated $object->customcode = GETPOST('customcode'); $object->country_id = GETPOST('country_id'); $object->duration_value = $duration_value; @@ -371,7 +373,11 @@ if (empty($reshook)) $object->label = GETPOST('label'); $object->description = dol_htmlcleanlastbr(GETPOST('desc')); $object->url = GETPOST('url'); - $object->note = dol_htmlcleanlastbr(GETPOST('note')); + if (! empty($conf->global->MAIN_DISABLE_NOTES_TAB)) + { + $object->note_private = dol_htmlcleanlastbr(GETPOST('note_private')); + $object->note = $object->note_private; + } $object->customcode = GETPOST('customcode'); $object->country_id = GETPOST('country_id'); $object->status = GETPOST('statut'); @@ -1063,14 +1069,17 @@ else } // Note (private, no output on invoices, propales...) - print '
"; - + //if (! empty($conf->global->MAIN_DISABLE_NOTES_TAB)) available in create mode + //{ + print '"; + //} + if($conf->categorie->enabled) { // Categories print '"; } - // Note - print '"; - + // Note private + if (! empty($conf->global->MAIN_DISABLE_NOTES_TAB)) + { + print '"; + } + print '
'.$langs->trans("NoteNotVisibleOnBill").''; - - // We use dolibarr_details as type of DolEditor here, because we must not accept images as description is included into PDF and not accepted by TCPDF. - $doleditor = new DolEditor('note', GETPOST('note'), '', 140, 'dolibarr_details', '', false, true, $conf->global->FCKEDITOR_ENABLE_PRODUCTDESC, 8, '80%'); - $doleditor->Create(); - - print "
'.$langs->trans("NoteNotVisibleOnBill").''; + + // We use dolibarr_details as type of DolEditor here, because we must not accept images as description is included into PDF and not accepted by TCPDF. + $doleditor = new DolEditor('note_private', GETPOST('note_private'), '', 140, 'dolibarr_details', '', false, true, $conf->global->FCKEDITOR_ENABLE_PRODUCTDESC, 8, '80%'); + $doleditor->Create(); + + print "
'.$langs->trans("Categories").''; @@ -1382,14 +1391,17 @@ else print "
'.$langs->trans("NoteNotVisibleOnBill").''; - - $doleditor = new DolEditor('note', $object->note, '', 140, 'dolibarr_notes', '', false, true, $conf->global->FCKEDITOR_ENABLE_PRODUCTDESC, 4, 80); - $doleditor->Create(); - - print "
'.$langs->trans("NoteNotVisibleOnBill").''; + + $doleditor = new DolEditor('note_private', $object->note_private, '', 140, 'dolibarr_notes', '', false, true, $conf->global->FCKEDITOR_ENABLE_PRODUCTDESC, 4, 80); + $doleditor->Create(); + + print "
'; print '
'; @@ -1695,11 +1707,14 @@ else print ""; } - // Note - print ' '."\n"; - print ''.$langs->trans("Note").''.(dol_textishtml($object->note)?$object->note:dol_nl2br($object->note,1,true)).''."\n"; - print ' '."\n"; - + // Note private + if (! empty($conf->global->MAIN_DISABLE_NOTES_TAB)) + { + print ' '."\n"; + print ''.$langs->trans("NotePrivate").''.(dol_textishtml($object->note_private)?$object->note_private:dol_nl2br($object->note_private,1,true)).''."\n"; + print ' '."\n"; + } + print "\n"; print '
'; diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index f3f03c65ac6..0a9962ecd7b 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -1014,13 +1014,12 @@ class Product extends CommonObject /** * Update or add a translation for a product * - * @param User $user Object user making update - * - * @return int <0 if KO, >0 if OK + * @param User $user Object user making update + * @return int <0 if KO, >0 if OK */ function setMultiLangs($user) { - global $langs; + global $conf, $langs; $langs_available = $langs->get_available_languages(DOL_DOCUMENT_ROOT, 0, 2); $current_lang = $langs->getDefaultLang(); @@ -1039,17 +1038,21 @@ class Product extends CommonObject if ($this->db->num_rows($result)) // if there is already a description line for this language { $sql2 = "UPDATE ".MAIN_DB_PREFIX."product_lang"; - $sql2.= " SET label='".$this->db->escape($this->label)."',"; - $sql2.= " description='".$this->db->escape($this->description)."',"; - $sql2.= " note='".$this->db->escape($this->note)."'"; + $sql2.= " SET "; + $sql2.= " label='".$this->db->escape($this->label)."',"; + $sql2.= " description='".$this->db->escape($this->description)."'"; + if (! empty($conf->global->PRODUCT_USE_OTHER_FIELD_IN_TRANSLATION)) $sql2.= ", note='".$this->db->escape($this->note)."'"; $sql2.= " WHERE fk_product=".$this->id." AND lang='".$key."'"; } else { - $sql2 = "INSERT INTO ".MAIN_DB_PREFIX."product_lang (fk_product, lang, label, description, note)"; - $sql2.= " VALUES(".$this->id.",'".$key."','". $this->db->escape($this->label); - $sql2.= "','".$this->db->escape($this->description); - $sql2.= "','".$this->db->escape($this->note)."')"; + $sql2 = "INSERT INTO ".MAIN_DB_PREFIX."product_lang (fk_product, lang, label, description"; + if (! empty($conf->global->PRODUCT_USE_OTHER_FIELD_IN_TRANSLATION)) $sql2.=", note"; + $sql2.= ")"; + $sql2.= " VALUES(".$this->id.",'".$key."','". $this->db->escape($this->label)."',"; + $sql2.= " '".$this->db->escape($this->description)."'"; + if (! empty($conf->global->PRODUCT_USE_OTHER_FIELD_IN_TRANSLATION)) $sql2.= ", '".$this->db->escape($this->note)."'"; + $sql2.= ")"; } dol_syslog(get_class($this).'::setMultiLangs key = current_lang = '.$key); if (! $this->db->query($sql2)) @@ -1070,26 +1073,31 @@ class Product extends CommonObject if ($this->db->num_rows($result)) // if there is already a description line for this language { $sql2 = "UPDATE ".MAIN_DB_PREFIX."product_lang"; - $sql2.= " SET label='".$this->db->escape($this->multilangs["$key"]["label"])."',"; - $sql2.= " description='".$this->db->escape($this->multilangs["$key"]["description"])."',"; - $sql2.= " note='".$this->db->escape($this->multilangs["$key"]["note"])."'"; + $sql2.= " SET "; + $sql2.= " label='".$this->db->escape($this->multilangs["$key"]["label"])."',"; + $sql2.= " description='".$this->db->escape($this->multilangs["$key"]["description"])."'"; + if (! empty($conf->global->PRODUCT_USE_OTHER_FIELD_IN_TRANSLATION)) $sql2.= ", note='".$this->db->escape($this->multilangs["$key"]["note"])."'"; $sql2.= " WHERE fk_product=".$this->id." AND lang='".$key."'"; } else { - $sql2 = "INSERT INTO ".MAIN_DB_PREFIX."product_lang (fk_product, lang, label, description, note)"; - $sql2.= " VALUES(".$this->id.",'".$key."','". $this->db->escape($this->multilangs["$key"]["label"]); - $sql2.= "','".$this->db->escape($this->multilangs["$key"]["description"]); - $sql2.= "','".$this->db->escape($this->multilangs["$key"]["note"])."')"; + $sql2 = "INSERT INTO ".MAIN_DB_PREFIX."product_lang (fk_product, lang, label, description"; + if (! empty($conf->global->PRODUCT_USE_OTHER_FIELD_IN_TRANSLATION)) $sql2.=", note"; + $sql2.= ")"; + $sql2.= " VALUES(".$this->id.",'".$key."','". $this->db->escape($this->multilangs["$key"]["label"])."',"; + $sql2.= " '".$this->db->escape($this->multilangs["$key"]["description"])."'"; + if (! empty($conf->global->PRODUCT_USE_OTHER_FIELD_IN_TRANSLATION)) $sql2.= ", '".$this->db->escape($this->note)."'"; + $sql2.= ")"; } - // on ne sauvegarde pas des champs vides - if ( $this->multilangs["$key"]["label"] || $this->multilangs["$key"]["description"] || $this->multilangs["$key"]["note"] ) - dol_syslog(get_class($this).'::setMultiLangs key = '.$key); - if (! $this->db->query($sql2)) + // We do not save if main fields are empty + if ($this->multilangs["$key"]["label"] || $this->multilangs["$key"]["description"]) { - $this->error=$this->db->lasterror(); - return -1; + if (! $this->db->query($sql2)) + { + $this->error=$this->db->lasterror(); + return -1; + } } } else @@ -1211,7 +1219,7 @@ class Product extends CommonObject $current_lang = $langs->getDefaultLang(); - $sql = "SELECT lang, label, description, note"; + $sql = "SELECT lang, label, description, note as other"; $sql.= " FROM ".MAIN_DB_PREFIX."product_lang"; $sql.= " WHERE fk_product=".$this->id; @@ -1225,12 +1233,11 @@ class Product extends CommonObject { $this->label = $obj->label; $this->description = $obj->description; - $this->note = $obj->note; - + $this->other = $obj->other; } $this->multilangs["$obj->lang"]["label"] = $obj->label; $this->multilangs["$obj->lang"]["description"] = $obj->description; - $this->multilangs["$obj->lang"]["note"] = $obj->note; + $this->multilangs["$obj->lang"]["other"] = $obj->other; } return 1; } @@ -1640,7 +1647,7 @@ class Product extends CommonObject return -1; } - $sql = "SELECT rowid, ref, ref_ext, label, description, url, note, customcode, fk_country, price, price_ttc,"; + $sql = "SELECT rowid, ref, ref_ext, label, description, url, note as note_private, customcode, fk_country, price, price_ttc,"; $sql.= " price_min, price_min_ttc, price_base_type, cost_price, default_vat_code, tva_tx, recuperableonly as tva_npr, localtax1_tx, localtax2_tx, localtax1_type, localtax2_type, tosell,"; $sql.= " tobuy, fk_product_type, duration, seuil_stock_alerte, canvas,"; $sql.= " weight, weight_units, length, length_units, surface, surface_units, volume, volume_units, barcode, fk_barcode_type, finished,"; @@ -1669,8 +1676,9 @@ class Product extends CommonObject $this->label = $obj->label; $this->description = $obj->description; $this->url = $obj->url; - $this->note = $obj->note; - + $this->note_private = $obj->note_private; + $this->note = $obj->note_private; // deprecated + $this->type = $obj->fk_product_type; $this->status = $obj->tosell; $this->status_buy = $obj->tobuy; @@ -1739,7 +1747,6 @@ class Product extends CommonObject $extralabels=$extrafields->fetch_name_optionals_label($this->table_element,true); $this->fetch_optionals($this->id,$extralabels); - // multilangs if (! empty($conf->global->MAIN_MULTILANGS)) $this->getMultiLangs(); diff --git a/htdocs/product/note.php b/htdocs/product/note.php new file mode 100644 index 00000000000..ef53946460f --- /dev/null +++ b/htdocs/product/note.php @@ -0,0 +1,99 @@ + + * Copyright (C) 2004-2011 Laurent Destailleur + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2010 Juanjo Menent + * Copyright (C) 2013 Florian Henry + * Copyright (C) 2015 Marcos García + * + * 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 . + */ + +/** + * \file htdocs/product/note.php + * \brief Tab for notes on products + * \ingroup societe + */ + +require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; + +$action = GETPOST('action'); + +$langs->load("companies"); + +// Security check +$id = GETPOST('id')?GETPOST('id','int'):GETPOST('socid','int'); +if ($user->societe_id) $id=$user->societe_id; +$result = restrictedArea($user, 'societe', $id, '&societe'); + +$object = new Product($db); +if ($id > 0) $object->fetch($id); + +$permissionnote=$user->rights->produit->creer; // Used by the include of actions_setnotes.inc.php + + +/* + * Actions + */ + +include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once + + +/* + * View + */ + +$helpurl=''; +if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; +if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; + +$form = new Form($db); + +llxHeader('', $langs->trans("ThirdParty").' - '.$langs->trans("Notes"), $help_url); + +if ($id > 0) +{ + /* + * Affichage onglets + */ + if (! empty($conf->notification->enabled)) $langs->load("mails"); + + $head = product_prepare_head($object); + $titre=$langs->trans("CardProduct".$object->type); + $picto=($object->type==Product::TYPE_SERVICE?'service':'product'); + + dol_fiche_head($head, 'note', $titre, 0, $picto); + + + print '
'; + print ''; + + dol_banner_tab($object, 'socid', '', ($user->societe_id?0:1), 'rowid', 'nom'); + + print '
'; + + print '
'; + //$colwidth='25'; + $cssclass='titlefield'; + include DOL_DOCUMENT_ROOT.'/core/tpl/notes.tpl.php'; + + + dol_fiche_end(); +} + +llxFooter(); +$db->close(); + diff --git a/htdocs/product/traduction.php b/htdocs/product/traduction.php index 0460eca7c4c..5ff7dfff7ae 100644 --- a/htdocs/product/traduction.php +++ b/htdocs/product/traduction.php @@ -77,13 +77,13 @@ $cancel != $langs->trans("Cancel") && { $object->label = $_POST["libelle"]; $object->description = dol_htmlcleanlastbr($_POST["desc"]); - $object->note = dol_htmlcleanlastbr($_POST["note"]); + $object->other = dol_htmlcleanlastbr($_POST["other"]); } else { - $object->multilangs[$_POST["forcelangprod"]]["label"] = $_POST["libelle"]; + $object->multilangs[$_POST["forcelangprod"]]["label"] = $_POST["libelle"]; $object->multilangs[$_POST["forcelangprod"]]["description"] = dol_htmlcleanlastbr($_POST["desc"]); - $object->multilangs[$_POST["forcelangprod"]]["note"] = dol_htmlcleanlastbr($_POST["note"]); + $object->multilangs[$_POST["forcelangprod"]]["other"] = dol_htmlcleanlastbr($_POST["other"]); } // sauvegarde en base @@ -113,13 +113,13 @@ $cancel != $langs->trans("Cancel") && { $object->label = $_POST["libelle-".$key]; $object->description = dol_htmlcleanlastbr($_POST["desc-".$key]); - $object->note = dol_htmlcleanlastbr($_POST["note-".$key]); + $object->other = dol_htmlcleanlastbr($_POST["other-".$key]); } else { $object->multilangs[$key]["label"] = $_POST["libelle-".$key]; $object->multilangs[$key]["description"] = dol_htmlcleanlastbr($_POST["desc-".$key]); - $object->multilangs[$key]["note"] = dol_htmlcleanlastbr($_POST["note-".$key]); + $object->multilangs[$key]["other"] = dol_htmlcleanlastbr($_POST["other-".$key]); } } @@ -201,18 +201,17 @@ if ($action == 'edit') print "
".($s?$s.' ':'')." ".$langs->trans('Language_'.$key).": ".''.img_delete('', '')."
"; print ''; - print ''; - print ''; + print ''; - print ''; print '
'.$langs->trans('Label').'
'.$langs->trans('Description').''; - + print '
'.$langs->trans('Label').'
'.$langs->trans('Description').''; $doleditor = new DolEditor("desc-$key", $object->multilangs[$key]["description"], '', 160, 'dolibarr_notes', '', false, true, $conf->global->FCKEDITOR_ENABLE_PRODUCTDESC, 3, 80); $doleditor->Create(); - print '
'.$langs->trans('Note').''; - - $doleditor = new DolEditor("note-$key", $object->multilangs[$key]["note"], '', 160, 'dolibarr_notes', '', false, true, $conf->global->FCKEDITOR_ENABLE_PRODUCTDESC, 3, 80); - $doleditor->Create(); - + if (! empty($conf->global->PRODUCT_USE_OTHER_FIELD_IN_TRANSLATION)) + { + print '
'.$langs->trans('Other').' ('.$langs->trans("NotUsed").')'; + $doleditor = new DolEditor("other-$key", $object->multilangs[$key]["other"], '', 160, 'dolibarr_notes', '', false, true, $conf->global->FCKEDITOR_ENABLE_PRODUCTDESC, 3, 80); + $doleditor->Create(); + } print '
'; } @@ -246,9 +245,12 @@ else $s=picto_from_langcode($key); print "
".($s?$s.' ':'')." ".$langs->trans('Language_'.$key).": ".''.img_delete('', '')."
"; print ''; - print ''; - print ''; - print ''; + print ''; + print ''; + if (! empty($conf->global->PRODUCT_USE_OTHER_FIELD_IN_TRANSLATION)) + { + print ''; + } print '
'.$langs->trans('Label').''.$object->multilangs[$key]["label"].'
'.$langs->trans('Description').''.$object->multilangs[$key]["description"].'
'.$langs->trans('Note').''.$object->multilangs[$key]["note"].'
'.$langs->trans('Label').''.$object->multilangs[$key]["label"].'
'.$langs->trans('Description').''.$object->multilangs[$key]["description"].'
'.$langs->trans('Other').' ('.$langs->trans("NotUsed").')'.$object->multilangs[$key]["other"].'
'; } } @@ -293,23 +295,22 @@ if ($action == 'add' && ($user->rights->produit->creer || $user->rights->service print ''; print ''; - print ''; - print ''; - print ''; + print ''; - print ''; - print ''; + // Other field (not used) + if (! empty($conf->global->PRODUCT_USE_OTHER_FIELD_IN_TRANSLATION)) + { + print ''; + } print '
'.$langs->trans('Language').''; + print '
'.$langs->trans('Language').''; print $formadmin->select_language('','forcelangprod',0,$object->multilangs,1); print '
'.$langs->trans('Label').'
'.$langs->trans('Description').''; - + print '
'.$langs->trans('Label').'
'.$langs->trans('Description').''; $doleditor = new DolEditor('desc', '', '', 160, 'dolibarr_notes', '', false, true, $conf->global->FCKEDITOR_ENABLE_PRODUCTDESC, 3, 80); $doleditor->Create(); - print '
'.$langs->trans('Note').''; - - $doleditor = new DolEditor('note', '', '', 160, 'dolibarr_notes', '', false, true, $conf->global->FCKEDITOR_ENABLE_PRODUCTDESC, 3, 80); - $doleditor->Create(); - - print '
'.$langs->trans('Other').' ('.$langs->trans("NotUsed").''; + $doleditor = new DolEditor('other', '', '', 160, 'dolibarr_notes', '', false, true, $conf->global->FCKEDITOR_ENABLE_PRODUCTDESC, 3, 80); + $doleditor->Create(); + print '
'; print '
'; From 3639d30389ee63e965f18a224f1e6e839ffeb734 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 28 Jul 2016 14:07:59 +0200 Subject: [PATCH 131/476] FIX Error is not returned --- htdocs/fourn/class/fournisseur.commande.class.php | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index 145b17d4323..9dc8c49fe90 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -1496,6 +1496,7 @@ class CommandeFournisseur extends CommonOrder else { $this->error=$this->line->error; + $this->errors=$this->line->errors; dol_syslog(get_class($this)."::addline error=".$this->error, LOG_ERR); $this->db->rollback(); return -1; From 801da08c76b3d9545cbf479cba35bd8e5e4372db Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 28 Jul 2016 14:10:43 +0200 Subject: [PATCH 132/476] FIX syntax error sql due to multicurrency --- htdocs/fourn/class/fournisseur.commande.class.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index 9dc8c49fe90..29670e28dc8 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -2873,7 +2873,15 @@ class CommandeFournisseurLigne extends CommonOrderLine if (empty($this->fk_parent_line)) $this->fk_parent_line=0; if (empty($this->pa_ht)) $this->pa_ht=0; - + // Multicurrency + if (!empty($this->multicurrency_code)) list($this->fk_multicurrency,$this->multicurrency_tx) = MultiCurrency::getIdAndTxFromCode($this->db, $this->multicurrency_code); + if (empty($this->fk_multicurrency)) + { + $this->multicurrency_code = $conf->currency; + $this->fk_multicurrency = 0; + $this->multicurrency_tx = 1; + } + // Check parameters if ($this->product_type < 0) return -1; From d619a641ceb740c938c4f219f7e78036abd404ef Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 28 Jul 2016 14:11:41 +0200 Subject: [PATCH 133/476] Fix regression (empty log were output) --- htdocs/core/lib/functions.lib.php | 93 ++++++++++++++++--------------- 1 file changed, 47 insertions(+), 46 deletions(-) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index c53b06fc3f7..a7cef4c64c3 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -602,9 +602,8 @@ function dol_strtoupper($utf8_string) * This function works only if syslog module is enabled. * This must not use any call to other function calling dol_syslog (avoid infinite loop). * - * @param string $message Line to log. + * @param string $message Line to log. ''=Show nothing * @param int $level Log level - * 0=Show nothing * On Windows LOG_ERR=4, LOG_WARNING=5, LOG_NOTICE=LOG_INFO=6, LOG_DEBUG=6 si define_syslog_variables ou PHP 5.3+, 7 si dolibarr * On Linux LOG_ERR=3, LOG_WARNING=4, LOG_INFO=6, LOG_DEBUG=7 * @param int $ident 1=Increase ident of 1, -1=Decrease ident of 1 @@ -619,52 +618,54 @@ function dol_syslog($message, $level = LOG_INFO, $ident = 0, $suffixinfilename=' // If syslog module enabled if (empty($conf->syslog->enabled)) return; - // Test log level - $logLevels = array(LOG_EMERG, LOG_ALERT, LOG_CRIT, LOG_ERR, LOG_WARNING, LOG_NOTICE, LOG_INFO, LOG_DEBUG); - if (!in_array($level, $logLevels, true)) + if (! empty($message)) { - throw new Exception('Incorrect log level'); + // Test log level + $logLevels = array(LOG_EMERG, LOG_ALERT, LOG_CRIT, LOG_ERR, LOG_WARNING, LOG_NOTICE, LOG_INFO, LOG_DEBUG); + if (!in_array($level, $logLevels, true)) + { + throw new Exception('Incorrect log level'); + } + if ($level > $conf->global->SYSLOG_LEVEL) return; + + // If adding log inside HTML page is required + if (! empty($_REQUEST['logtohtml']) && (! empty($conf->global->MAIN_ENABLE_LOG_TO_HTML) || ! empty($conf->global->MAIN_LOGTOHTML))) // MAIN_LOGTOHTML kept for backward compatibility + { + $conf->logbuffer[] = dol_print_date(time(),"%Y-%m-%d %H:%M:%S")." ".$message; + } + + //TODO: Remove this. MAIN_ENABLE_LOG_INLINE_HTML should be deprecated and use a log handler dedicated to HTML output + // If enable html log tag enabled and url parameter log defined, we show output log on HTML comments + if (! empty($conf->global->MAIN_ENABLE_LOG_INLINE_HTML) && ! empty($_GET["log"])) + { + print "\n\n\n"; + } + + $data = array( + 'message' => $message, + 'script' => (isset($_SERVER['PHP_SELF'])? basename($_SERVER['PHP_SELF'],'.php') : false), + 'level' => $level, + 'user' => ((is_object($user) && $user->id) ? $user->login : false), + 'ip' => false + ); + + if (! empty($_SERVER["REMOTE_ADDR"])) $data['ip'] = $_SERVER['REMOTE_ADDR']; + // This is when PHP session is ran inside a web server but not inside a client request (example: init code of apache) + else if (! empty($_SERVER['SERVER_ADDR'])) $data['ip'] = $_SERVER['SERVER_ADDR']; + // This is when PHP session is ran outside a web server, like from Windows command line (Not always defined, but useful if OS defined it). + else if (! empty($_SERVER['COMPUTERNAME'])) $data['ip'] = $_SERVER['COMPUTERNAME'].(empty($_SERVER['USERNAME'])?'':'@'.$_SERVER['USERNAME']); + // This is when PHP session is ran outside a web server, like from Linux command line (Not always defined, but usefull if OS defined it). + else if (! empty($_SERVER['LOGNAME'])) $data['ip'] = '???@'.$_SERVER['LOGNAME']; + // Loop on each log handler and send output + foreach ($conf->loghandlers as $loghandlerinstance) + { + if ($restricttologhandler && $loghandlerinstance->code != $restricttologhandler) continue; + $loghandlerinstance->export($data,$suffixinfilename); + } + unset($data); } - if ($level > $conf->global->SYSLOG_LEVEL) return; - - // If adding log inside HTML page is required - if (! empty($_REQUEST['logtohtml']) && (! empty($conf->global->MAIN_ENABLE_LOG_TO_HTML) || ! empty($conf->global->MAIN_LOGTOHTML))) // MAIN_LOGTOHTML kept for backward compatibility - { - $conf->logbuffer[] = dol_print_date(time(),"%Y-%m-%d %H:%M:%S")." ".$message; - } - - //TODO: Remove this. MAIN_ENABLE_LOG_INLINE_HTML should be deprecated and use a log handler dedicated to HTML output - // If enable html log tag enabled and url parameter log defined, we show output log on HTML comments - if (! empty($conf->global->MAIN_ENABLE_LOG_INLINE_HTML) && ! empty($_GET["log"])) - { - print "\n\n\n"; - } - - $data = array( - 'message' => $message, - 'script' => (isset($_SERVER['PHP_SELF'])? basename($_SERVER['PHP_SELF'],'.php') : false), - 'level' => $level, - 'user' => ((is_object($user) && $user->id) ? $user->login : false), - 'ip' => false - ); - - if (! empty($_SERVER["REMOTE_ADDR"])) $data['ip'] = $_SERVER['REMOTE_ADDR']; - // This is when PHP session is ran inside a web server but not inside a client request (example: init code of apache) - else if (! empty($_SERVER['SERVER_ADDR'])) $data['ip'] = $_SERVER['SERVER_ADDR']; - // This is when PHP session is ran outside a web server, like from Windows command line (Not always defined, but useful if OS defined it). - else if (! empty($_SERVER['COMPUTERNAME'])) $data['ip'] = $_SERVER['COMPUTERNAME'].(empty($_SERVER['USERNAME'])?'':'@'.$_SERVER['USERNAME']); - // This is when PHP session is ran outside a web server, like from Linux command line (Not always defined, but usefull if OS defined it). - else if (! empty($_SERVER['LOGNAME'])) $data['ip'] = '???@'.$_SERVER['LOGNAME']; - // Loop on each log handler and send output - foreach ($conf->loghandlers as $loghandlerinstance) - { - if ($restricttologhandler && $loghandlerinstance->code != $restricttologhandler) continue; - $loghandlerinstance->export($data,$suffixinfilename); - } - unset($data); - if (! empty($ident)) { From e8b5fc5d06c6aaa5a32d90733153865600e43a35 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 28 Jul 2016 14:37:36 +0200 Subject: [PATCH 134/476] Fix css to add bold border must be forced only when not previously done --- htdocs/core/tpl/objectline_create.tpl.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/core/tpl/objectline_create.tpl.php b/htdocs/core/tpl/objectline_create.tpl.php index c8bae6140c1..7ed5770e4c9 100644 --- a/htdocs/core/tpl/objectline_create.tpl.php +++ b/htdocs/core/tpl/objectline_create.tpl.php @@ -51,8 +51,8 @@ if (in_array($object->element,array('propal', 'supplier_proposal','facture','fac ?> - - +lines) == 0); ?> + global->MAIN_VIEW_LINE_NUMBER) ? ' colspan="2"' : ''); ?>>
trans('AddNewLine'); ?>trans("FreeZone"); ?> From 00118610bbb5f2cb32dc1992b51b67d4ec80134f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 28 Jul 2016 15:29:46 +0200 Subject: [PATCH 135/476] A fix to make editinplace working better --- htdocs/comm/propal/card.php | 4 ++-- htdocs/core/class/html.form.class.php | 12 ++++++------ htdocs/core/js/editinplace.js | 13 +++++++++++++ htdocs/core/tpl/objectline_create.tpl.php | 13 +++++++++---- 4 files changed, 30 insertions(+), 12 deletions(-) diff --git a/htdocs/comm/propal/card.php b/htdocs/comm/propal/card.php index 2f040b4610d..56e001b355b 100644 --- a/htdocs/comm/propal/card.php +++ b/htdocs/comm/propal/card.php @@ -1836,9 +1836,9 @@ if ($action == 'create') // Delivery date $langs->load('deliveries'); print ''; - print $form->editfieldkey($langs->trans('DeliveryDate'), 'date_livraison', $object->date_livraison, $object, $user->rights->propal->creer); + print $form->editfieldkey($langs->trans('DeliveryDate'), 'date_livraison', $object->date_livraison, $object, $user->rights->propal->creer, 'datepicker'); print ''; - print $form->editfieldval($langs->trans('DeliveryDate'), 'date_livraison', $object->date_livraison, $object, $user->rights->propal->creer, 'day'); + print $form->editfieldval($langs->trans('DeliveryDate'), 'date_livraison', $object->date_livraison, $object, $user->rights->propal->creer, 'datepicker'); print ''; print ''; diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 11da96beb60..6601912b404 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -74,10 +74,10 @@ class Form * * @param string $text Text of label or key to translate * @param string $htmlname Name of select field ('edit' prefix will be added) - * @param string $preselected Value to show/edit (not used in this function) + * @param string $preselected Value to show/edit (not used in this function) * @param object $object Object * @param boolean $perm Permission to allow button to edit parameter. Set it to 0 to have a not edited field. - * @param string $typeofdata Type of data ('string' by default, 'email', 'amount:99', 'numeric:99', 'text' or 'textarea:rows:cols', 'day' or 'datepicker', 'ckeditor:dolibarr_zzz:width:height:savemethod:1:rows:cols', 'select;xxx[:class]'...) + * @param string $typeofdata Type of data ('string' by default, 'email', 'amount:99', 'numeric:99', 'text' or 'textarea:rows:cols', 'datepicker' ('day' do not work, don't know why), 'ckeditor:dolibarr_zzz:width:height:savemethod:1:rows:cols', 'select;xxx[:class]'...) * @param string $moreparam More param to add on a href URL* * @param int $fieldrequired 1 if we want to show field as mandatory using the fieldrequired CSS. * @return string HTML edit field @@ -129,7 +129,7 @@ class Form * @param string $value Value to show/edit * @param object $object Object * @param boolean $perm Permission to allow button to edit parameter - * @param string $typeofdata Type of data ('string' by default, 'email', 'amount:99', 'numeric:99', 'text' or 'textarea:rows:cols', 'day' or 'datepicker', 'dayhour' or 'datepickerhour', 'ckeditor:dolibarr_zzz:width:height:savemethod:toolbarstartexpanded:rows:cols', 'select:xxx'...) + * @param string $typeofdata Type of data ('string' by default, 'email', 'amount:99', 'numeric:99', 'text' or 'textarea:rows:cols', 'datepicker' ('day' do not work, don't know why), 'dayhour' or 'datepickerhour', 'ckeditor:dolibarr_zzz:width:height:savemethod:toolbarstartexpanded:rows:cols', 'select:xxx'...) * @param string $editvalue When in edit mode, use this value as $value instead of value (for example, you can provide here a formated price instead of value). Use '' to use same than $value * @param object $extObject External object * @param mixed $custommsg String or Array of custom messages : eg array('success' => 'MyMessage', 'error' => 'MyMessage') @@ -254,7 +254,7 @@ class Form * @param string $value Value to show/edit * @param string $htmlname DIV ID (field name) * @param int $condition Condition to edit - * @param string $inputType Type of input ('string', 'numeric', 'datepicker', 'textarea:rows:cols', 'ckeditor:dolibarr_zzz:width:height:?:1:rows:cols', 'select:xxx') + * @param string $inputType Type of input ('string', 'numeric', 'datepicker' ('day' do not work, don't know why), 'textarea:rows:cols', 'ckeditor:dolibarr_zzz:width:height:?:1:rows:cols', 'select:xxx') * @param string $editvalue When in edit mode, use this value as $value instead of value * @param object $extObject External object * @param mixed $custommsg String or Array of custom messages : eg array('success' => 'MyMessage', 'error' => 'MyMessage') @@ -269,7 +269,7 @@ class Form // Check parameters if ($inputType == 'textarea') $value = dol_nl2br($value); else if (preg_match('/^numeric/',$inputType)) $value = price($value); - else if ($inputType == 'datepicker') $value = dol_print_date($value, 'day'); + else if ($inputType == 'day' || $inputType == 'datepicker') $value = dol_print_date($value, 'day'); if ($condition) { @@ -302,7 +302,7 @@ class Form if (! empty($tmp[2])) $savemethod=$tmp[2]; $out.= ''."\n"; } - else if ((preg_match('/^datepicker/',$inputType)) || (preg_match('/^datehourpicker/',$inputType))) + else if ((preg_match('/^day$/',$inputType)) || (preg_match('/^datepicker/',$inputType)) || (preg_match('/^datehourpicker/',$inputType))) { $tmp=explode(':',$inputType); $inputType=$tmp[0]; diff --git a/htdocs/core/js/editinplace.js b/htdocs/core/js/editinplace.js index 7607ba6f885..830aec5cd13 100644 --- a/htdocs/core/js/editinplace.js +++ b/htdocs/core/js/editinplace.js @@ -53,9 +53,11 @@ $(document).ready(function() { }); $('.editkey_textarea').hover( function () { + console.log("We are hover (entry) an editkey_textarea"); $('#viewval_' + $(this).attr('id')).addClass("viewval_hover"); }, function () { + console.log("We are no more hover (exit) an editkey_textarea"); $('#viewval_' + $(this).attr('id')).removeClass("viewval_hover"); } ); @@ -104,9 +106,11 @@ $(document).ready(function() { }); $('.editkey_ckeditor').hover( function () { + console.log("We are hover (entry) an editkey_ckeditor"); $('#viewval_' + $(this).attr('id')).addClass("viewval_hover"); }, function () { + console.log("We are no more hover (exit) an editkey_ckeditor"); $('#viewval_' + $(this).attr('id')).removeClass("viewval_hover"); } ); @@ -145,9 +149,11 @@ $(document).ready(function() { }); $('.editkey_string').hover( function () { + console.log("We are hover (entry) an editkey_string"); $('#viewval_' + $(this).attr('id')).addClass("viewval_hover"); }, function () { + console.log("We are no more hover an editkey_string"); $('#viewval_' + $(this).attr('id')).removeClass("viewval_hover"); } ); @@ -186,9 +192,11 @@ $(document).ready(function() { }); $('.editkey_numeric').hover( function () { + console.log("We are hover an editkey_numeric"); $( '#viewval_' + $(this).attr('id') ).addClass("viewval_hover"); }, function () { + console.log("We are no more hover (exit) an editkey_textarea"); $( '#viewval_' + $(this).attr('id') ).removeClass("viewval_hover"); } ); @@ -227,9 +235,11 @@ $(document).ready(function() { }); $('.editkey_datepicker').hover( function () { + console.log("We are hover (entry) editkey_datepicker"); $('#viewval_' + $(this).attr('id')).addClass("viewval_hover"); }, function () { + console.log("We are no more hover (exit) an editkey_datepicker"); $('#viewval_' + $(this).attr('id')).removeClass("viewval_hover"); } ); @@ -270,9 +280,11 @@ $(document).ready(function() { }); $('.editkey_select').hover( function () { + console.log("We are hover (entry) an editkey_select"); $('#viewval_' + $(this).attr('id')).addClass("viewval_hover"); }, function () { + console.log("We are no more hover (exit) an editkey_select"); $('#viewval_' + $(this).attr('id')).removeClass("viewval_hover"); } ); @@ -316,6 +328,7 @@ $(document).ready(function() { }); $('.editkey_autocomplete').hover( function () { + console.log("We are no more hover (exit) an editkey_autocomplete"); $('#viewval_' + $(this).attr('id')).addClass("viewval_hover"); }, function () { diff --git a/htdocs/core/tpl/objectline_create.tpl.php b/htdocs/core/tpl/objectline_create.tpl.php index 7ed5770e4c9..323c07146fc 100644 --- a/htdocs/core/tpl/objectline_create.tpl.php +++ b/htdocs/core/tpl/objectline_create.tpl.php @@ -51,8 +51,11 @@ if (in_array($object->element,array('propal', 'supplier_proposal','facture','fac ?> -lines) == 0); ?> - +lines) == 0); +if ($nolinesbefore) { +?> + global->MAIN_VIEW_LINE_NUMBER) ? ' colspan="2"' : ''); ?>>
trans('AddNewLine'); ?>trans("FreeZone"); ?> @@ -100,8 +103,10 @@ if (in_array($object->element,array('propal', 'supplier_proposal','facture','fac ?>   - -> + + global->MAIN_VIEW_LINE_NUMBER)) { $coldisplay=2; } From b47e6e452072244f1973904e49cdebaba84bbc1e Mon Sep 17 00:00:00 2001 From: Sergio Sanchis Climent Date: Thu, 28 Jul 2016 15:58:45 +0200 Subject: [PATCH 136/476] FIX #5544 Disabled Contact still appear in lists to send emails --- htdocs/societe/class/societe.class.php | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index e9b77836d3c..9f48f7c0541 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -1936,12 +1936,24 @@ class Societe extends CommonObject { global $langs; - $contact_emails = $this->contact_property_array('email'); + $contact_emails = $this->contact_property_array('email',1); if ($this->email && $addthirdparty) { - if (empty($this->name)) $this->name=$this->nom; - // TODO: Tester si email non deja present dans tableau contact - $contact_emails['thirdparty']=$langs->trans("ThirdParty").': '.dol_trunc($this->name,16)." <".$this->email.">"; + $exist = 0; + foreach($contact_emails as $contacts){ + if($exist ===0){ + $contacts = str_replace('>','',$contacts); + $contacts = explode ('<',$contacts); + if($contacts[1]===$this->email){ + $exist = 1; + } + } + } + if($exist ===0){ + if (empty($this->name)) $this->name=$this->nom; + $contact_emails['thirdparty']=$langs->trans("ThirdParty").': '.dol_trunc($this->name,16)." <".$this->email.">"; + } + } return $contact_emails; } From c13c15188b7cfe96270762256921ef82453403c6 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Thu, 28 Jul 2016 16:44:08 +0200 Subject: [PATCH 137/476] FIX: incoterms do not output into crabe invoice PDF --- .../core/modules/facture/doc/pdf_crabe.modules.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php index a2fa413b9e8..cc7fda3b06c 100644 --- a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php +++ b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php @@ -167,7 +167,7 @@ class pdf_crabe extends ModelePDFFactures function write_file($object,$outputlangs,$srctemplatepath='',$hidedetails=0,$hidedesc=0,$hideref=0) { global $user,$langs,$conf,$mysoc,$db,$hookmanager; - + if (! is_object($outputlangs)) $outputlangs=$langs; // For backward compatibility with FPDF, force output charset to ISO, because FPDF expect text to be encoded in ISO if (! empty($conf->global->MAIN_USE_FPDF)) $outputlangs->charset_output='ISO-8859-1'; @@ -252,7 +252,7 @@ class pdf_crabe extends ModelePDFFactures // Set nblignes with the new facture lines content after hook $nblignes = count($object->lines); - + // Create pdf instance $pdf=pdf_getInstance($this->format); $default_font_size = pdf_getPDFFontSize($outputlangs); // Must be after pdf_getInstance @@ -337,6 +337,10 @@ class pdf_crabe extends ModelePDFFactures $height_incoterms = 0; if ($conf->incoterm->enabled) { + if (is_object($object->thirdparty)) + { + $object->fk_incoterms=$object->thirdparty->fk_incoterms; + } $desc_incoterms = $object->getIncotermsForPDF(); if ($desc_incoterms) { @@ -550,7 +554,7 @@ class pdf_crabe extends ModelePDFFactures } else { $tvaligne = $sign * $object->lines[$i]->total_tva; } - + $localtax1ligne=$object->lines[$i]->total_localtax1; $localtax2ligne=$object->lines[$i]->total_localtax2; $localtax1_rate=$object->lines[$i]->localtax1_tx; @@ -1557,7 +1561,7 @@ class pdf_crabe extends ModelePDFFactures $posy=!empty($conf->global->MAIN_PDF_USE_ISO_LOCATION) ? 40 : 42; $posx=$this->marge_gauche; if (! empty($conf->global->MAIN_INVERT_SENDER_RECIPIENT)) $posx=$this->page_largeur-$this->marge_droite-80; - + $hautcadre=!empty($conf->global->MAIN_PDF_USE_ISO_LOCATION) ? 38 : 40; $widthrecbox=!empty($conf->global->MAIN_PDF_USE_ISO_LOCATION) ? 92 : 82; From 7b72965315cf0f5e3fbd6f55ad20668e52f59ae2 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Thu, 28 Jul 2016 16:48:16 +0200 Subject: [PATCH 138/476] FIX incoterms --- htdocs/core/modules/facture/doc/pdf_crabe.modules.php | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php index cc7fda3b06c..ff8a73c527d 100644 --- a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php +++ b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php @@ -340,6 +340,7 @@ class pdf_crabe extends ModelePDFFactures if (is_object($object->thirdparty)) { $object->fk_incoterms=$object->thirdparty->fk_incoterms; + $object->location_incoterms=$object->thirdparty->location_incoterms; } $desc_incoterms = $object->getIncotermsForPDF(); if ($desc_incoterms) From 5bc51a3439cc1ecdf865e8865943faa02dac8f4e Mon Sep 17 00:00:00 2001 From: Ferran Marcet Date: Thu, 28 Jul 2016 16:56:23 +0200 Subject: [PATCH 139/476] FIX: Can't create withdrawal document --- htdocs/compta/prelevement/class/bonprelevement.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/compta/prelevement/class/bonprelevement.class.php b/htdocs/compta/prelevement/class/bonprelevement.class.php index 131efda6e34..0a933c64275 100644 --- a/htdocs/compta/prelevement/class/bonprelevement.class.php +++ b/htdocs/compta/prelevement/class/bonprelevement.class.php @@ -3,7 +3,7 @@ * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2010-2015 Juanjo Menent * Copyright (C) 2010-2014 Laurent Destailleur - * Copyright (C) 2014 Ferran Marcet + * Copyright (C) 2014-2016 Ferran Marcet * * 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 @@ -919,7 +919,7 @@ class BonPrelevement extends CommonObject $dir=$conf->prelevement->dir_output.'/receipts'; if (! is_dir($dir)) dol_mkdir($dir); - $this->filename = $dir.'/receipts/'.$ref.'.xml'; + $this->filename = $dir.$ref.'.xml'; // Create withdraw receipt in database $sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_bons ("; From 9ca7f2cb66da96b015eb092d30f7c2895b966f9d Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 28 Jul 2016 19:02:23 +0200 Subject: [PATCH 140/476] Better support for option MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN (on by default). --- htdocs/commande/card.php | 27 +----- htdocs/commande/class/commande.class.php | 74 +++++++------- htdocs/compta/facture.php | 34 +------ htdocs/compta/facture/class/facture.class.php | 73 ++++++++------ htdocs/contrat/card.php | 25 ----- htdocs/contrat/class/contrat.class.php | 96 ++++++++++++++----- htdocs/contrat/contact.php | 2 +- htdocs/core/class/commonobject.class.php | 14 ++- htdocs/core/class/conf.class.php | 3 + htdocs/theme/eldy/style.css.php | 3 + htdocs/theme/md/style.css.php | 5 +- htdocs/user/class/user.class.php | 16 ++-- 12 files changed, 186 insertions(+), 186 deletions(-) diff --git a/htdocs/commande/card.php b/htdocs/commande/card.php index 81f101359f8..48e0919e7a0 100644 --- a/htdocs/commande/card.php +++ b/htdocs/commande/card.php @@ -376,32 +376,7 @@ if (empty($reshook)) $error++; } - // Now we create same links to contact than the ones found on origin object - if (! empty($conf->global->MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN)) - { - $originforcontact = $object->origin; - $originidforcontact = $object->origin_id; - if ($originforcontact == 'shipping') // shipment and order share the same contacts. If creating from shipment we take data of order - { - $originforcontact=$srcobject->origin; - $originidforcontact=$srcobject->origin_id; - } - $sqlcontact = "SELECT code, fk_socpeople FROM ".MAIN_DB_PREFIX."element_contact as ec, ".MAIN_DB_PREFIX."c_type_contact as ctc"; - $sqlcontact.= " WHERE element_id = ".$originidforcontact." AND ec.fk_c_type_contact = ctc.rowid AND ctc.element = '".$originforcontact."'"; - - $resqlcontact = $db->query($sqlcontact); - if ($resqlcontact) - { - while($objcontact = $db->fetch_object($resqlcontact)) - { - //print $objcontact->code.'-'.$objcontact->fk_socpeople."\n"; - $object->add_contact($objcontact->fk_socpeople, $objcontact->code); - } - } - else dol_print_error($resqlcontact); - } - - // Hooks + // Hooks $parameters = array('objFrom' => $srcobject); $reshook = $hookmanager->executeHooks('createFrom', $parameters, $object, $action); // Note that $action and $object may have been // modified by hook diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php index 523efb99cae..dbb815bb663 100644 --- a/htdocs/commande/class/commande.class.php +++ b/htdocs/commande/class/commande.class.php @@ -879,30 +879,40 @@ class Commande extends CommonOrder $error++; } - // TODO mutualiser - if ($origin == 'propal' && $origin_id) + if (! empty($conf->global->MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN)) { - // On recupere les differents contact interne et externe - $prop = new Propal($this->db); - $prop->fetch($origin_id); - - // We get ids of sales representatives of proposal - $this->userid = $prop->getIdcontact('internal', 'SALESREPFOLL'); - - if ($this->userid) - { - //On passe le commercial suivi propale en commercial suivi commande - $this->add_contact($this->userid[0], 'SALESREPFOLL', 'internal'); - } - - // We get ids of customer follower of proposal - $this->contactid = $prop->getIdcontact('external', 'CUSTOMER'); - - if ($this->contactid) - { - //On passe le contact client suivi propale en contact client suivi commande - $this->add_contact($this->contactid[0], 'CUSTOMER', 'external'); - } + $originforcontact = $origin; + $originidforcontact = $origin_id; + if ($originforcontact == 'shipping') // shipment and order share the same contacts. If creating from shipment we take data of order + { + require_once DOL_DOCUMENT_ROOT . '/expedition/class/expedition.class.php'; + $exp = new Expedition($db); + $exp->fetch($origin_id); + $exp->fetchObjectLinked(); + if (count($exp->linkedObjectsIds['commande']) > 0) + { + foreach ($exp->linkedObjectsIds['commande'] as $key => $value) + { + $originforcontact = 'commande'; + $originidforcontact = $value->id; + break; // We take first one + } + } + } + + $sqlcontact = "SELECT ctc.code, ctc.source, ec.fk_socpeople FROM ".MAIN_DB_PREFIX."element_contact as ec, ".MAIN_DB_PREFIX."c_type_contact as ctc"; + $sqlcontact.= " WHERE element_id = ".$originidforcontact." AND ec.fk_c_type_contact = ctc.rowid AND ctc.element = '".$originforcontact."'"; + + $resqlcontact = $this->db->query($sqlcontact); + if ($resqlcontact) + { + while($objcontact = $this->db->fetch_object($resqlcontact)) + { + //print $objcontact->code.'-'.$objcontact->source.'-'.$objcontact->fk_socpeople."\n"; + $this->add_contact($objcontact->fk_socpeople, $objcontact->code, $objcontact->source); // May failed because of duplicate key or because code of contact type does not exists for new object + } + } + else dol_print_error($resqlcontact); } } } @@ -910,22 +920,8 @@ class Commande extends CommonOrder if (! $error) { - //$action='create'; - - // Actions on extra fields (by external module or standard code) - // TODO le hook fait double emploi avec le trigger !! - /*$hookmanager->initHooks(array('orderdao')); - $parameters=array('socid'=>$this->id); - $reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks - if (empty($reshook)) - { - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used - {*/ - $result=$this->insertExtraFields(); - if ($result < 0) $error++; - /* } - } - else if ($reshook < 0) $error++;*/ + $result=$this->insertExtraFields(); + if ($result < 0) $error++; } if (! $error && ! $notrigger) diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php index b6e7fc463e1..68d0d1b5567 100644 --- a/htdocs/compta/facture.php +++ b/htdocs/compta/facture.php @@ -864,7 +864,7 @@ if (empty($reshook)) } } - // Standard invoice or Deposit invoice created from a Predefined template invoice + // Standard invoice or Deposit invoice, created from a Predefined template invoice if (($_POST['type'] == Facture::TYPE_STANDARD || $_POST['type'] == Facture::TYPE_DEPOSIT) && GETPOST('fac_rec') > 0) { $dateinvoice = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']); @@ -904,6 +904,7 @@ if (empty($reshook)) $object->fac_rec = GETPOST('fac_rec'); $id = $object->create($user); + var_dump('ggg'); } } @@ -1011,8 +1012,8 @@ if (empty($reshook)) $object->linked_objects = array_merge($object->linked_objects, $_POST['other_linked_objects']); } - $id = $object->create($user); - + $id = $object->create($user); // This include class to add_object_linked() and add add_contact() + if ($id > 0) { dol_include_once('/' . $element . '/class/' . $subelement . '.class.php'); @@ -1183,32 +1184,7 @@ if (empty($reshook)) $error ++; } } - - // Now we create same links to contact than the ones found on origin object - if (! empty($conf->global->MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN)) - { - $originforcontact = $object->origin; - $originidforcontact = $object->origin_id; - if ($originforcontact == 'shipping') // shipment and order share the same contacts. If creating from shipment we take data of order - { - $originforcontact=$srcobject->origin; - $originidforcontact=$srcobject->origin_id; - } - $sqlcontact = "SELECT code, fk_socpeople FROM ".MAIN_DB_PREFIX."element_contact as ec, ".MAIN_DB_PREFIX."c_type_contact as ctc"; - $sqlcontact.= " WHERE element_id = ".$originidforcontact." AND ec.fk_c_type_contact = ctc.rowid AND ctc.element = '".$originforcontact."'"; - - $resqlcontact = $db->query($sqlcontact); - if ($resqlcontact) - { - while($objcontact = $db->fetch_object($resqlcontact)) - { - //print $objcontact->code.'-'.$objcontact->fk_socpeople."\n"; - $object->add_contact($objcontact->fk_socpeople, $objcontact->code); - } - } - else dol_print_error($resqlcontact); - } - + // Hooks $parameters = array('objFrom' => $srcobject); $reshook = $hookmanager->executeHooks('createFrom', $parameters, $object, $action); // Note that $action and $object may have been diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php index c88648900cc..1cc4abce751 100644 --- a/htdocs/compta/facture/class/facture.class.php +++ b/htdocs/compta/facture/class/facture.class.php @@ -408,30 +408,40 @@ class Facture extends CommonInvoice $error++; } - // TODO mutualiser - if ($origin == 'commande') + if (! empty($conf->global->MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN)) { - // On recupere les differents contact interne et externe - $order = new Commande($this->db); - $order->id = $origin_id; - - // On recupere le commercial suivi propale - $this->userid = $order->getIdcontact('internal', 'SALESREPFOLL'); - - if ($this->userid) - { - //On passe le commercial suivi commande en commercial suivi paiement - $this->add_contact($this->userid[0], 'SALESREPFOLL', 'internal'); - } - - // On recupere le contact client facturation commande - $this->contactid = $order->getIdcontact('external', 'BILLING'); - - if ($this->contactid) - { - //On passe le contact client facturation commande en contact client facturation - $this->add_contact($this->contactid[0], 'BILLING', 'external'); - } + $originforcontact = $origin; + $originidforcontact = $origin_id; + if ($originforcontact == 'shipping') // shipment and order share the same contacts. If creating from shipment we take data of order + { + require_once DOL_DOCUMENT_ROOT . '/expedition/class/expedition.class.php'; + $exp = new Expedition($db); + $exp->fetch($origin_id); + $exp->fetchObjectLinked(); + if (count($exp->linkedObjectsIds['commande']) > 0) + { + foreach ($exp->linkedObjectsIds['commande'] as $key => $value) + { + $originforcontact = 'commande'; + $originidforcontact = $value->id; + break; // We take first one + } + } + } + + $sqlcontact = "SELECT ctc.code, ctc.source, ec.fk_socpeople FROM ".MAIN_DB_PREFIX."element_contact as ec, ".MAIN_DB_PREFIX."c_type_contact as ctc"; + $sqlcontact.= " WHERE element_id = ".$originidforcontact." AND ec.fk_c_type_contact = ctc.rowid AND ctc.element = '".$originforcontact."'"; + + $resqlcontact = $this->db->query($sqlcontact); + if ($resqlcontact) + { + while($objcontact = $this->db->fetch_object($resqlcontact)) + { + //print $objcontact->code.'-'.$objcontact->source.'-'.$objcontact->fk_socpeople."\n"; + $this->add_contact($objcontact->fk_socpeople, $objcontact->code, $objcontact->source); // May failed because of duplicate key or because code of contact type does not exists for new object + } + } + else dol_print_error($resqlcontact); } } } @@ -595,21 +605,22 @@ class Facture extends CommonInvoice // Actions on extra fields (by external module or standard code) // TODO le hook fait double emploi avec le trigger !! + /* $hookmanager->initHooks(array('invoicedao')); $parameters=array('invoiceid'=>$this->id); $reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks if (empty($reshook)) { if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used - { - $result=$this->insertExtraFields(); - if ($result < 0) - { - $error++; - } - } + {*/ + if (! $error) + { + $result=$this->insertExtraFields(); + if ($result < 0) $error++; } - else if ($reshook < 0) $error++; + /*} + } + else if ($reshook < 0) $error++;*/ // Call trigger $result=$this->call_trigger('BILL_CREATE',$user); diff --git a/htdocs/contrat/card.php b/htdocs/contrat/card.php index 5a9c8a267ea..0f7ffb8c72f 100644 --- a/htdocs/contrat/card.php +++ b/htdocs/contrat/card.php @@ -368,31 +368,6 @@ if (empty($reshook)) $error++; } - // Now we create same links to contact than the ones found on origin object - if (! empty($conf->global->MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN)) - { - $originforcontact = $object->origin; - $originidforcontact = $object->origin_id; - if ($originforcontact == 'shipping') // shipment and order share the same contacts. If creating from shipment we take data of order - { - $originforcontact=$srcobject->origin; - $originidforcontact=$srcobject->origin_id; - } - $sqlcontact = "SELECT code, fk_socpeople FROM ".MAIN_DB_PREFIX."element_contact as ec, ".MAIN_DB_PREFIX."c_type_contact as ctc"; - $sqlcontact.= " WHERE element_id = ".$originidforcontact." AND ec.fk_c_type_contact = ctc.rowid AND ctc.element = '".$originforcontact."'"; - - $resqlcontact = $db->query($sqlcontact); - if ($resqlcontact) - { - while($objcontact = $db->fetch_object($resqlcontact)) - { - //print $objcontact->code.'-'.$objcontact->fk_socpeople."\n"; - $object->add_contact($objcontact->fk_socpeople, $objcontact->code); - } - } - else dol_print_error($resqlcontact); - } - // Hooks $parameters = array('objFrom' => $srcobject); $reshook = $hookmanager->executeHooks('createFrom', $parameters, $object, $action); // Note that $action and $object may have been diff --git a/htdocs/contrat/class/contrat.class.php b/htdocs/contrat/class/contrat.class.php index e08d148064b..578a1888ecb 100644 --- a/htdocs/contrat/class/contrat.class.php +++ b/htdocs/contrat/class/contrat.class.php @@ -957,27 +957,87 @@ class Contrat extends CommonObject } } + if (! $error) + { + if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + { + $result=$this->insertExtraFields(); + if ($result < 0) + { + $error++; + } + } + } + // Insert contacts commerciaux ('SALESREPSIGN','contrat') - $result=$this->add_contact($this->commercial_signature_id,'SALESREPSIGN','internal'); - if ($result < 0) $error++; + if (! $error) + { + $result=$this->add_contact($this->commercial_signature_id,'SALESREPSIGN','internal'); + if ($result < 0) $error++; + } // Insert contacts commerciaux ('SALESREPFOLL','contrat') - $result=$this->add_contact($this->commercial_suivi_id,'SALESREPFOLL','internal'); - if ($result < 0) $error++; - + if (! $error) + { + $result=$this->add_contact($this->commercial_suivi_id,'SALESREPFOLL','internal'); + if ($result < 0) $error++; + } if (! $error) { - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used - { - $result=$this->insertExtraFields(); - if ($result < 0) - { - $error++; - } - } - } + // Add object linked + if (is_array($this->linked_objects) && ! empty($this->linked_objects)) + { + foreach($this->linked_objects as $origin => $origin_id) + { + $ret = $this->add_object_linked($origin, $origin_id); + if (! $ret) + { + dol_print_error($this->db); + $error++; + } + + if (! empty($conf->global->MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN)) + { + $originforcontact = $origin; + $originidforcontact = $origin_id; + if ($originforcontact == 'shipping') // shipment and order share the same contacts. If creating from shipment we take data of order + { + require_once DOL_DOCUMENT_ROOT . '/expedition/class/expedition.class.php'; + $exp = new Expedition($db); + $exp->fetch($origin_id); + $exp->fetchObjectLinked(); + if (count($exp->linkedObjectsIds['commande']) > 0) + { + foreach ($exp->linkedObjectsIds['commande'] as $key => $value) + { + $originforcontact = 'commande'; + $originidforcontact = $value->id; + break; // We take first one + } + } + } + + $sqlcontact = "SELECT ctc.code, ctc.source, ec.fk_socpeople FROM ".MAIN_DB_PREFIX."element_contact as ec, ".MAIN_DB_PREFIX."c_type_contact as ctc"; + $sqlcontact.= " WHERE element_id = ".$originidforcontact." AND ec.fk_c_type_contact = ctc.rowid AND ctc.element = '".$originforcontact."'"; + + $resqlcontact = $this->db->query($sqlcontact); + if ($resqlcontact) + { + while($objcontact = $this->db->fetch_object($resqlcontact)) + { + if ($objcontact->source == 'internal' && in_array($objcontact->code, array('SALESREPSIGN', 'SALESREPFOLL'))) continue; // ignore this, already forced previously + //print $objcontact->code.'-'.$objcontact->source.'-'.$objcontact->fk_socpeople."\n"; + $this->add_contact($objcontact->fk_socpeople, $objcontact->code, $objcontact->source); // May failed because of duplicate key or because code of contact type does not exists for new object + } + } + else dol_print_error($resqlcontact); + } + } + } + } + if (! $error) { // Call trigger @@ -987,19 +1047,12 @@ class Contrat extends CommonObject if (! $error) { - // Add linked object - if (! $error && $this->origin && $this->origin_id) - { - $ret = $this->add_object_linked(); - if (! $ret) dol_print_error($this->db); - } $this->db->commit(); return $this->id; } else { dol_syslog(get_class($this)."::create - 30 - ".$this->error, LOG_ERR); - $this->db->rollback(); return -3; } @@ -1008,7 +1061,6 @@ class Contrat extends CommonObject { $this->error="Failed to add contact"; dol_syslog(get_class($this)."::create - 20 - ".$this->error, LOG_ERR); - $this->db->rollback(); return -2; } diff --git a/htdocs/contrat/contact.php b/htdocs/contrat/contact.php index cd070f6078d..f5c8ab2cafa 100644 --- a/htdocs/contrat/contact.php +++ b/htdocs/contrat/contact.php @@ -156,7 +156,7 @@ if ($id > 0 || ! empty($ref)) else print $langs->trans("CompanyHasNoRelativeDiscount"); $absolute_discount=$object->thirdparty->getAvailableDiscounts(); print '. '; - if ($absolute_discount) print $langs->trans("CompanyHasAbsoluteDiscount",$absolute_discount,$langs->trans("Currency".$conf->currency)); + if ($absolute_discount) print $langs->trans("CompanyHasAbsoluteDiscount",price($absolute_discount),$langs->trans("Currency".$conf->currency)); else print $langs->trans("CompanyHasNoAbsoluteDiscount"); print '.'; print ''; diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 7d7d1af898f..d3eff2f8173 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -541,7 +541,7 @@ abstract class CommonObject * Add a link between element $this->element and a contact * * @param int $fk_socpeople Id of thirdparty contact (if source = 'external') or id of user (if souce = 'internal') to link - * @param int $type_contact Type of contact (code or id). Must be if or code found into table llx_c_type_contact. For example: SALESREPFOLL + * @param int $type_contact Type of contact (code or id). Must be id or code found into table llx_c_type_contact. For example: SALESREPFOLL * @param string $source external=Contact extern (llx_socpeople), internal=Contact intern (llx_user) * @param int $notrigger Disable all triggers * @return int <0 if KO, >0 if OK @@ -551,7 +551,7 @@ abstract class CommonObject global $user,$langs; - dol_syslog(get_class($this)."::add_contact $fk_socpeople, $type_contact, $source"); + dol_syslog(get_class($this)."::add_contact $fk_socpeople, $type_contact, $source, $notrigger"); // Check parameters if ($fk_socpeople <= 0) @@ -587,10 +587,17 @@ abstract class CommonObject if ($resql) { $obj = $this->db->fetch_object($resql); - $id_type_contact=$obj->rowid; + if ($obj) $id_type_contact=$obj->rowid; } } + if ($id_type_contact == 0) + { + $this->error='CODE_NOT_VALID_FOR_THIS_ELEMENT'; + dol_syslog("CODE_NOT_VALID_FOR_THIS_ELEMENT"); + return -3; + } + $datecreate = dol_now(); $this->db->begin(); @@ -602,7 +609,6 @@ abstract class CommonObject $sql.= "'".$this->db->idate($datecreate)."'"; $sql.= ", 4, '". $id_type_contact . "' "; $sql.= ")"; - dol_syslog(get_class($this)."::add_contact", LOG_DEBUG); $resql=$this->db->query($sql); if ($resql) diff --git a/htdocs/core/class/conf.class.php b/htdocs/core/class/conf.class.php index 4002f437ede..e30b0fbd478 100644 --- a/htdocs/core/class/conf.class.php +++ b/htdocs/core/class/conf.class.php @@ -481,6 +481,9 @@ class Conf // Default max file size for upload $this->maxfilesize = (empty($this->global->MAIN_UPLOAD_DOC) ? 0 : $this->global->MAIN_UPLOAD_DOC * 1024); + // By default, we propagate contacts + if (! isset($this->global->MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN)) $this->global->MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN='*'; // Can be also '*' or '^(BILLING|SHIPPING|CUSTOMER|.*)$' (regex not yet implemented) + // Define list of limited modules if (! isset($this->global->MAIN_MODULES_FOR_EXTERNAL)) $this->global->MAIN_MODULES_FOR_EXTERNAL='user,supplier_proposal,facture,categorie,commande,fournisseur,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda,adherent'; // '' means 'all'. Note that contact is added here as it should be a module later. diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index 7453a6b1b2f..0331ce6efda 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -830,6 +830,9 @@ div.ficheaddleft { div.ficheaddleft tr.liste_titre:first-child td table.nobordernopadding td { padding: 0 0 0 0; } +div.nopadding { + padding: 0 !important; +} .containercenter { display : table; diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php index d28e9c59dac..d5e7fbb0246 100644 --- a/htdocs/theme/md/style.css.php +++ b/htdocs/theme/md/style.css.php @@ -866,9 +866,12 @@ div.ficheaddleft { } /* For table into table into card */ -div.ficheaddleft tr.liste_titre:first-child td table.nobordernopadding td { +div.ficheaddleft tr.liste_titre:first-child td table.nobordernopadding td, div.nopadding { padding: 0 0 0 0; } +div.nopadding { + padding: 0 !important; +} table.noborder tr.liste_titre td { padding: 3px !important; diff --git a/htdocs/user/class/user.class.php b/htdocs/user/class/user.class.php index d10585fe12d..6e843f61e5a 100644 --- a/htdocs/user/class/user.class.php +++ b/htdocs/user/class/user.class.php @@ -2023,22 +2023,22 @@ class User extends CommonObject $reshook=$hookmanager->executeHooks('getnomurltooltip',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks if ($reshook > 0) $linkclose = $hookmanager->resPrint; - $link.=$linkclose.'>'; + $link.=$linkclose.'>'; $linkend=''; - //if ($withpictoimg == -1) $result.='
'; + //if ($withpictoimg == -1) $result.='
'; $result.=$link; - if ($withpictoimg) - { - $paddafterimage=''; + if ($withpictoimg) + { + $paddafterimage=''; if (abs($withpictoimg) == 1) $paddafterimage='style="padding-right: 3px;"'; - if ($withpictoimg > 0) $picto='
'.img_object('', 'user', $paddafterimage.' '.($notooltip?'':'class="classfortooltip"')).'
'; - else $picto='
'.Form::showphoto('userphoto', $this, 0, 0, 0, 'loginphoto', 'mini', 0, 1).'
'; + if ($withpictoimg > 0) $picto='
'.img_object('', 'user', $paddafterimage.' '.($notooltip?'':'class="classfortooltip"')).'
'; + else $picto='
'.Form::showphoto('userphoto', $this, 0, 0, 0, 'loginphoto', 'mini', 0, 1).'
'; $result.=$picto; } if (abs($withpictoimg) != 2) { - if (empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) $result.='
'; + if (empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) $result.='
'; if ($mode == 'login') $result.=dol_trunc($this->login, $maxlen); else $result.=$this->getFullName($langs,'',($mode == 'firstname' ? 2 : -1),$maxlen); if (empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) $result.='
'; From 25a3f8a8fdf69199eab0475e1fe1ea8e606ee837 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 28 Jul 2016 20:00:56 +0200 Subject: [PATCH 141/476] Fix condition does not match workflow described into page https://wiki.dolibarr.org/index.php/Module_Expense_Reports --- htdocs/expensereport/card.php | 95 ++++++++++++----------------------- 1 file changed, 32 insertions(+), 63 deletions(-) diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php index afb4fdacc6e..8f6dbd43d10 100644 --- a/htdocs/expensereport/card.php +++ b/htdocs/expensereport/card.php @@ -682,6 +682,10 @@ if ($action == "confirm_cancel" && GETPOST('confirm')=="yes" && GETPOST('detail_ setEventMessages($object->error, $object->errors, 'errors'); } } + else + { + setEventMessages($langs->transnoentitiesnoconv("OnlyOwnerCanCancel"), '', 'errors'); // Should not happened + } } if ($action == "confirm_brouillonner" && GETPOST('confirm')=="yes" && $id > 0 && $user->rights->expensereport->creer) @@ -1904,12 +1908,6 @@ if ($action != 'create' && $action != 'edit') { print 'id.'">'.$langs->trans('ValidateAndSubmit').''; } - - if ($user->rights->expensereport->supprimer) - { - // Delete - print 'id.'">'.$langs->trans('Delete').''; - } } } @@ -1929,12 +1927,6 @@ if ($action != 'create' && $action != 'edit') //print ''.$langs->trans('BROUILLONNER').''; // Enregistrer depuis le statut "Refusée" print 'id.'">'.$langs->trans('ValidateAndSubmit').''; - - if ($user->rights->expensereport->supprimer) - { - // Delete - print 'id.'">'.$langs->trans('Delete').''; - } } } @@ -1976,23 +1968,18 @@ if ($action != 'create' && $action != 'edit') // Cancel print 'id.'">'.$langs->trans('Cancel').''; } - - if($user->rights->expensereport->supprimer) - { - // Delete - print 'id.'">'.$langs->trans('Delete').''; - } } + + // If status is Appoved + // -------------------- + if ($user->rights->expensereport->approve && $object->fk_statut == 5) { print 'id.'">'.$langs->trans('Deny').''; } - /* Si l'état est "A payer" - * ET user à droit de "to_paid" - * Afficher : "Annuler" / "Payer" / "Supprimer" - */ + // If bank module is used if ($user->rights->expensereport->to_paid && ! empty($conf->banque->enabled) && $object->fk_statut == 5) { // Pay @@ -2006,59 +1993,41 @@ if ($action != 'create' && $action != 'edit') } } + // If bank module is not used if (($user->rights->expensereport->to_paid || empty($conf->banque->enabled)) && $object->fk_statut == 5) { if ((round($remaintopay) == 0 || empty($conf->banque->enabled)) && $object->paid == 0) { print '"; } - - // Cancel - if ($user->id == $object->fk_user_author || $user->id == $object->fk_user_valid) - { - print 'id.'">'.$langs->trans('Cancel').''; - } - - // Delete - if($user->rights->expensereport->supprimer) - { - print 'id.'">'.$langs->trans('Delete').''; - } } - - /* Si l'état est "Payée" - * ET user à droit "approve" - * ET user à droit "to_paid" - * Afficher : "Annuler" - */ - if ($user->rights->expensereport->approve && $user->rights->expensereport->to_paid && $object->fk_statut==6) + + if ($user->rights->expensereport->creer && ($user->id == $object->fk_user_author || $user->id == $object->fk_user_valid) && $object->fk_statut == 5) { - // Cancel - print 'id.'">'.$langs->trans('Cancel').''; - if($user->rights->expensereport->supprimer) - { - // Delete - print 'id.'">'.$langs->trans('Delete').''; - } + // Cancel + print 'id.'">'.$langs->trans('Cancel').''; } - - /* Si l'état est "Annulée" - * ET user à droit "supprimer" - * Afficher : "Supprimer" - */ - if ($user->rights->expensereport->supprimer && $object->fk_statut==4) + + // TODO Replace this. It should be SetUnpaid and should go back to status unpaid not canceled. + if (($user->rights->expensereport->approve || $user->rights->expensereport->to_paid) && $object->fk_statut == 6) { - - if ($user->id == $object->fk_user_author || $user->id == $object->fk_user_valid) - { - // Brouillonner - print 'id.'">'.$langs->trans('ReOpen').''; - } - - // Delete + // Cancel + print 'id.'">'.$langs->trans('Cancel').''; + } + + + /* If draft, validated, cancel, and user can create, he can always delete its card before it is approved */ + if ($user->rights->expensereport->creer && $user->id == $object->fk_user_author && $object->fk_statut <= 4) + { + // Delete print 'id.'">'.$langs->trans('Delete').''; - } + else if($user->rights->expensereport->supprimer && $object->fk_statut != 6) + { + // Delete + print 'id.'">'.$langs->trans('Delete').''; + } + } print '
'; From 80ac99e9b16369bb7033610a09b7ebb88b57969f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 28 Jul 2016 23:50:17 +0200 Subject: [PATCH 142/476] Fix missing field into response --- htdocs/compta/facture/class/facture.class.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php index 8eaf544dad9..3e50b92f543 100644 --- a/htdocs/compta/facture/class/facture.class.php +++ b/htdocs/compta/facture/class/facture.class.php @@ -2849,9 +2849,10 @@ class Facture extends CommonInvoice $field2='fk_paiementfourn'; } - $sql = 'SELECT pf.amount, pf.multicurrency_amount, p.fk_paiement, p.datep, t.code'; + $sql = 'SELECT pf.amount, pf.multicurrency_amount, p.fk_paiement, p.datep, p.num_paiement as num, t.code'; $sql.= ' FROM '.MAIN_DB_PREFIX.$table.' as pf, '.MAIN_DB_PREFIX.$table2.' as p, '.MAIN_DB_PREFIX.'c_paiement as t'; $sql.= ' WHERE pf.'.$field.' = '.$this->id; + //$sql.= ' WHERE pf.'.$field.' = 1'; $sql.= ' AND pf.'.$field2.' = p.rowid'; $sql.= ' AND p.fk_paiement = t.id'; if ($filtertype) $sql.=" AND t.code='PRE'"; @@ -2865,7 +2866,7 @@ class Facture extends CommonInvoice while ($i < $num) { $obj = $this->db->fetch_object($resql); - $retarray[]=array('amount'=>$obj->amount,'type'=>$obj->code, 'date'=>$obj->datep); + $retarray[]=array('amount'=>$obj->amount,'type'=>$obj->code, 'date'=>$obj->datep, 'num'=>$obj->num); $i++; } $this->db->free($resql); From 74a9bbbf38822e64d33dbb002d3f1e2967612667 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 28 Jul 2016 23:51:09 +0200 Subject: [PATCH 143/476] FIX private property can't be read when building pdf --- htdocs/core/lib/pdf.lib.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index 1d238ed231d..3bba7dcdf89 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -319,14 +319,16 @@ function pdfGetHeightForHtmlContent(&$pdf, $htmlcontent) { for ($page=$start_page; $page <= $end_page; ++$page) { $pdf->setPage($page); + $tmpm=$pdf->getMargins(); + $tMargin = $tmpm['top']; if ($page == $start_page) { // first page - $height = $pdf->h - $start_y - $pdf->bMargin; + $height = $pdf->getPageHeight() - $start_y - $pdf->getBreakMargin(); } elseif ($page == $end_page) { // last page - $height = $end_y - $pdf->tMargin; + $height = $end_y - $tMargin; } else { - $height = $pdf->h - $pdf->tMargin - $pdf->bMargin; + $height = $pdf->getPageHeight() - $tMargin - $pdf->getBreakMargin(); } } } @@ -949,7 +951,7 @@ function pdf_pagefoot(&$pdf,$outputlangs,$paramfreetext,$fromcompany,$marge_bass if ($line) // Free text { //$line="eee
\nfdsfsdf
\nghfghg
"; - if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) // by default + if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) { $width=20000; $align='L'; // By default, ask a manual break: We use a large value 20000, to not have automatic wrap. This make user understand, he need to add CR on its text. if (! empty($conf->global->MAIN_USE_AUTOWRAP_ON_FREETEXT)) { From 5d97ce038b2202929eaec2e1745e18184d692294 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 28 Jul 2016 23:58:13 +0200 Subject: [PATCH 144/476] Fix page break when using a large html footer. --- .../commande/doc/pdf_einstein.modules.php | 15 +++--- .../modules/facture/doc/pdf_crabe.modules.php | 14 ++++-- .../modules/propale/doc/pdf_azur.modules.php | 47 ++++++++++--------- 3 files changed, 45 insertions(+), 31 deletions(-) diff --git a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php index 9cde59181af..78057d82605 100644 --- a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php @@ -36,7 +36,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php'; /** - * Classe permettant de generer les commandes au modele Einstein + * Classe to generate PDF orders with template Einstein */ class pdf_einstein extends ModelePDFCommandes { @@ -173,7 +173,7 @@ class pdf_einstein extends ModelePDFCommandes { $object->fetch_thirdparty(); - $deja_regle = ""; + $deja_regle = 0; // Definition of $dir and $file if ($object->specimen) @@ -213,11 +213,12 @@ class pdf_einstein extends ModelePDFCommandes // Create pdf instance $pdf=pdf_getInstance($this->format); $default_font_size = pdf_getPDFFontSize($outputlangs); // Must be after pdf_getInstance - $heightforinfotot = 50; // Height reserved to output the info and total part + $pdf->SetAutoPageBreak(1,0); + + $heightforinfotot = 40; // Height reserved to output the info and total part $heightforfreetext= (isset($conf->global->MAIN_PDF_FREETEXT_HEIGHT)?$conf->global->MAIN_PDF_FREETEXT_HEIGHT:5); // Height reserved to output the free text on last page $heightforfooter = $this->marge_basse + 8; // Height reserved to output the footer (value include bottom margin) - $pdf->SetAutoPageBreak(1,0); - + if (class_exists('TCPDF')) { $pdf->setPrintHeader(false); @@ -552,11 +553,13 @@ class pdf_einstein extends ModelePDFCommandes $posy=$this->_tableau_tot($pdf, $object, $deja_regle, $bottomlasttab, $outputlangs); // Affiche zone versements + /* if ($deja_regle) { $posy=$this->_tableau_versements($pdf, $object, $posy, $outputlangs); } - + */ + // Pied de page $this->_pagefoot($pdf,$object,$outputlangs); if (method_exists($pdf,'AliasNbPages')) $pdf->AliasNbPages(); diff --git a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php index c86699cded9..c49de2a2b55 100644 --- a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php +++ b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php @@ -251,15 +251,17 @@ class pdf_crabe extends ModelePDFFactures // Set nblignes with the new facture lines content after hook $nblignes = count($object->lines); + $nbpayments = count($object->getListOfPayments()); // Create pdf instance $pdf=pdf_getInstance($this->format); $default_font_size = pdf_getPDFFontSize($outputlangs); // Must be after pdf_getInstance - $heightforinfotot = 50; // Height reserved to output the info and total part + $pdf->SetAutoPageBreak(1,0); + + $heightforinfotot = 50+(4*$nbpayments); // Height reserved to output the info and total part and payment part $heightforfreetext= (isset($conf->global->MAIN_PDF_FREETEXT_HEIGHT)?$conf->global->MAIN_PDF_FREETEXT_HEIGHT:5); // Height reserved to output the free text on last page $heightforfooter = $this->marge_basse + 8; // Height reserved to output the footer (value include bottom margin) - $pdf->SetAutoPageBreak(1,0); - + if (class_exists('TCPDF')) { $pdf->setPrintHeader(false); @@ -746,6 +748,7 @@ class pdf_crabe extends ModelePDFFactures $pdf->SetFont('','', $default_font_size - 4); + // Loop on each deposits and credit notes included $sql = "SELECT re.rowid, re.amount_ht, re.amount_tva, re.amount_ttc,"; $sql.= " re.description, re.fk_facture_source,"; @@ -790,12 +793,15 @@ class pdf_crabe extends ModelePDFFactures } // Loop on each payment - $sql = "SELECT p.datep as date, p.fk_paiement as type, p.num_paiement as num, pf.amount as amount,"; + // TODO Call getListOfPaymentsgetListOfPayments instead of hard coded sql + $sql = "SELECT p.datep as date, p.fk_paiement, p.num_paiement as num, pf.amount as amount,"; $sql.= " cp.code"; $sql.= " FROM ".MAIN_DB_PREFIX."paiement_facture as pf, ".MAIN_DB_PREFIX."paiement as p"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_paiement as cp ON p.fk_paiement = cp.id"; $sql.= " WHERE pf.fk_paiement = p.rowid AND pf.fk_facture = ".$object->id; + //$sql.= " WHERE pf.fk_paiement = p.rowid AND pf.fk_facture = 1"; $sql.= " ORDER BY p.datep"; + $resql=$this->db->query($sql); if ($resql) { diff --git a/htdocs/core/modules/propale/doc/pdf_azur.modules.php b/htdocs/core/modules/propale/doc/pdf_azur.modules.php index d1f8a4e8f20..380b7276ae4 100644 --- a/htdocs/core/modules/propale/doc/pdf_azur.modules.php +++ b/htdocs/core/modules/propale/doc/pdf_azur.modules.php @@ -91,8 +91,8 @@ class pdf_azur extends ModelePDFPropales $this->option_condreg = 1; // Affiche conditions reglement $this->option_codeproduitservice = 1; // Affiche code produit-service $this->option_multilang = 1; // Dispo en plusieurs langues - $this->option_escompte = 1; // Affiche si il y a eu escompte - $this->option_credit_note = 1; // Support credit notes + $this->option_escompte = 0; // Affiche si il y a eu escompte + $this->option_credit_note = 0; // Support credit notes $this->option_freetext = 1; // Support add of a personalised text $this->option_draft_watermark = 1; //Support add of a watermark on drafts @@ -230,7 +230,7 @@ class pdf_azur extends ModelePDFPropales { $object->fetch_thirdparty(); - // $deja_regle = 0; + $deja_regle = 0; // Definition of $dir and $file if ($object->specimen) @@ -270,11 +270,8 @@ class pdf_azur extends ModelePDFPropales // Create pdf instance $pdf=pdf_getInstance($this->format); $default_font_size = pdf_getPDFFontSize($outputlangs); // Must be after pdf_getInstance - $heightforinfotot = 50; // Height reserved to output the info and total part - $heightforfreetext= (isset($conf->global->MAIN_PDF_FREETEXT_HEIGHT)?$conf->global->MAIN_PDF_FREETEXT_HEIGHT:5); // Height reserved to output the free text on last page - $heightforfooter = $this->marge_basse + 8; // Height reserved to output the footer (value include bottom margin) - $pdf->SetAutoPageBreak(1,0); - + $pdf->SetAutoPageBreak(1,0); + if (class_exists('TCPDF')) { $pdf->setPrintHeader(false); @@ -323,12 +320,20 @@ class pdf_azur extends ModelePDFPropales $pdf->AddPage(); if (! empty($tplidx)) $pdf->useTemplate($tplidx); $pagenb++; + + $heightforinfotot = 40; // Height reserved to output the info and total part + $heightforsignature = empty($conf->global->PROPAL_DISABLE_SIGNATURE)?(pdfGetHeightForHtmlContent($pdf, $outputlangs->transnoentities("ProposalCustomerSignature"))+10):0; + $heightforfreetext= (isset($conf->global->MAIN_PDF_FREETEXT_HEIGHT)?$conf->global->MAIN_PDF_FREETEXT_HEIGHT:5); // Height reserved to output the free text on last page + $heightforfooter = $this->marge_basse + 8; // Height reserved to output the footer (value include bottom margin) + //print $heightforinfotot + $heightforsignature + $heightforfreetext + $heightforfooter;exit; + $this->_pagehead($pdf, $object, 1, $outputlangs); $pdf->SetFont('','', $default_font_size - 1); $pdf->MultiCell(0, 3, ''); // Set interline to 3 $pdf->SetTextColor(0,0,0); - $tab_top = 90; + + $tab_top = 90; $tab_top_newpage = (empty($conf->global->MAIN_PDF_DONOTREPEAT_HEAD)?42:10); $tab_height = 130; $tab_height_newpage = 150; @@ -406,7 +411,7 @@ class pdf_azur extends ModelePDFPropales if (! empty($realpatharray[$i])) $imglinesize=pdf_getSizeForImage($realpatharray[$i]); $pdf->setTopMargin($tab_top_newpage); - $pdf->setPageOrientation('', 1, $heightforfooter+$heightforfreetext+$heightforinfotot); // The only function to edit the bottom margin of current page to set it. + $pdf->setPageOrientation('', 1, $heightforfooter+$heightforfreetext+$heightforsignature+$heightforinfotot); // The only function to edit the bottom margin of current page to set it. $pageposbefore=$pdf->getPage(); $showpricebeforepagebreak=1; @@ -414,7 +419,7 @@ class pdf_azur extends ModelePDFPropales $posYAfterDescription=0; // We start with Photo of product line - if (isset($imglinesize['width']) && isset($imglinesize['height']) && ($curY + $imglinesize['height']) > ($this->page_hauteur-($heightforfooter+$heightforfreetext+$heightforinfotot))) // If photo too high, we moved completely on new page + if (isset($imglinesize['width']) && isset($imglinesize['height']) && ($curY + $imglinesize['height']) > ($this->page_hauteur-($heightforfooter+$heightforfreetext+$heightforsignature+$heightforinfotot))) // If photo too high, we moved completely on new page { $pdf->AddPage('','',true); if (! empty($tplidx)) $pdf->useTemplate($tplidx); @@ -436,9 +441,10 @@ class pdf_azur extends ModelePDFPropales // Description of product line $curX = $this->posxdesc-1; + $showpricebeforepagebreak=1; + $pdf->startTransaction(); pdf_writelinedesc($pdf,$object,$i,$outputlangs,$this->posxpicture-$curX,3,$curX,$curY,$hideref,$hidedesc); - $pageposafter=$pdf->getPage(); if ($pageposafter > $pageposbefore) // There is a pagebreak { @@ -451,7 +457,7 @@ class pdf_azur extends ModelePDFPropales $pageposafter=$pdf->getPage(); $posyafter=$pdf->GetY(); //var_dump($posyafter); var_dump(($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))); exit; - if ($posyafter > ($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))) // There is no space left for total+free text + if ($posyafter > ($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforsignature+$heightforinfotot))) // There is no space left for total+free text { if ($i == ($nblignes-1)) // No more lines, and no space left to show total, so we create a new page { @@ -624,13 +630,13 @@ class pdf_azur extends ModelePDFPropales // Show square if ($pagenb == 1) { - $this->_tableau($pdf, $tab_top, $this->page_hauteur - $tab_top - $heightforinfotot - $heightforfreetext - $heightforfooter, 0, $outputlangs, 0, 0, $object->multicurrency_code); - $bottomlasttab=$this->page_hauteur - $heightforinfotot - $heightforfreetext - $heightforfooter + 1; + $this->_tableau($pdf, $tab_top, $this->page_hauteur - $tab_top - $heightforinfotot - $heightforfreetext - $heightforsignature - $heightforfooter, 0, $outputlangs, 0, 0, $object->multicurrency_code); + $bottomlasttab=$this->page_hauteur - $heightforinfotot - $heightforfreetext - $heightforsignature - $heightforfooter + 1; } else { - $this->_tableau($pdf, $tab_top_newpage, $this->page_hauteur - $tab_top_newpage - $heightforinfotot - $heightforfreetext - $heightforfooter, 0, $outputlangs, 1, 0, $object->multicurrency_code); - $bottomlasttab=$this->page_hauteur - $heightforinfotot - $heightforfreetext - $heightforfooter + 1; + $this->_tableau($pdf, $tab_top_newpage, $this->page_hauteur - $tab_top_newpage - $heightforinfotot - $heightforfreetext - $heightforsignature - $heightforfooter, 0, $outputlangs, 1, 0, $object->multicurrency_code); + $bottomlasttab=$this->page_hauteur - $heightforinfotot - $heightforfreetext - $heightforsignature - $heightforfooter + 1; } // Affiche zone infos @@ -765,7 +771,7 @@ class pdf_azur extends ModelePDFPropales /** * Show payments table * - * @param PDF $pdf Object PDF + * @param TCPDF $pdf Object PDF * @param Object $object Object proposal * @param int $posy Position y in PDF * @param Translate $outputlangs Object langs for output @@ -780,7 +786,7 @@ class pdf_azur extends ModelePDFPropales /** * Show miscellaneous information (payment mode, payment term, ...) * - * @param PDF $pdf Object PDF + * @param TCPDF $pdf Object PDF * @param Object $object Object to show * @param int $posy Y * @param Translate $outputlangs Langs object @@ -1581,7 +1587,6 @@ class pdf_azur extends ModelePDFPropales $default_font_size = pdf_getPDFFontSize($outputlangs); $tab_top = $posy + 4; $tab_hl = 4; - $pdf->SetFont('','', $default_font_size - 1); $posx = 120; $largcol = ($this->page_largeur - $this->marge_droite - $posx); @@ -1594,7 +1599,7 @@ class pdf_azur extends ModelePDFPropales $pdf->MultiCell($largcol, $tab_hl, $outputlangs->transnoentities("ProposalCustomerSignature"), 0, 'L', 1); $pdf->SetXY($posx, $tab_top + $tab_hl); - $pdf->MultiCell($largcol, $tab_hl*6, '', 1, 'R'); + $pdf->MultiCell($largcol, $tab_hl*3, '', 1, 'R'); return ($tab_hl*7); } From 4e8e7f8e05703e6073738892e6ef886ce13ea6d8 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 29 Jul 2016 02:28:51 +0200 Subject: [PATCH 145/476] NEW New REST API explorer. Can create invoice and orders with lines. --- htdocs/api/class/api.class.php | 11 +++- htdocs/commande/class/api_orders.class.php | 15 +++-- htdocs/commande/class/commande.class.php | 56 +++++++++------- htdocs/compta/facture.php | 52 --------------- .../facture/class/api_invoices.class.php | 23 +++++-- htdocs/compta/facture/class/facture.class.php | 65 ++++++++++--------- 6 files changed, 100 insertions(+), 122 deletions(-) diff --git a/htdocs/api/class/api.class.php b/htdocs/api/class/api.class.php index 00621fdeb59..550fd790d5e 100644 --- a/htdocs/api/class/api.class.php +++ b/htdocs/api/class/api.class.php @@ -86,8 +86,11 @@ class DolibarrApi function _cleanObjectDatas($object) { // Remove $db object property for object - unset($object->db); - + unset($object->db); + + // Remove linkedObjects. We should already have linkedObjectIds that avoid huge responses + unset($object->linkedObjects); + // Remove the $oldcopy property because it is not supported by the JSON // encoder. The following error is generated when trying to serialize // it: "Error encoding/decoding JSON: Type is not supported" @@ -109,13 +112,15 @@ class DolibarrApi } // If object has linked objects, remove $db property + /* if(isset($object->linkedObjects) && count($object->linkedObjects) > 0) { foreach($object->linkedObjects as $type_object => $linked_object) { foreach($linked_object as $object2clean) { $this->_cleanObjectDatas($object2clean); } } - } + }*/ + return $object; } diff --git a/htdocs/commande/class/api_orders.class.php b/htdocs/commande/class/api_orders.class.php index 1f560775b7b..b4c540d6c57 100644 --- a/htdocs/commande/class/api_orders.class.php +++ b/htdocs/commande/class/api_orders.class.php @@ -156,7 +156,7 @@ class Orders extends DolibarrApi throw new RestException(503, 'Error when retrieve commande list'); } if( ! count($obj_ret)) { - throw new RestException(404, 'No commande found'); + throw new RestException(404, 'No order found'); } return $obj_ret; } @@ -178,15 +178,16 @@ class Orders extends DolibarrApi foreach($request_data as $field => $value) { $this->commande->$field = $value; } - if (isset($request_data["lines"])) { + /*if (isset($request_data["lines"])) { $lines = array(); foreach ($request_data["lines"] as $line) { array_push($lines, (object) $line); } $this->commande->lines = $lines; - } - if(! $this->commande->create(DolibarrApiAccess::$user) ) { - throw new RestException(500, "Error while creating order"); + }*/ + if ($this->commande->create(DolibarrApiAccess::$user) <= 0) { + $errormsg = $this->commande->error; + throw new RestException(500, $errormsg ? $errormsg : "Error while creating order"); } return $this->commande->id; @@ -208,7 +209,7 @@ class Orders extends DolibarrApi $result = $this->commande->fetch($id); if( ! $result ) { - throw new RestException(404, 'Commande not found'); + throw new RestException(404, 'Order not found'); } if( ! DolibarrApi::_checkAccessToResource('commande',$this->commande->id)) { @@ -239,7 +240,7 @@ class Orders extends DolibarrApi $result = $this->commande->fetch($id); if( ! $result ) { - throw new RestException(404, 'Commande not found'); + throw new RestException(404, 'Order not found'); } if( ! DolibarrApi::_checkAccessToResource('commande',$this->commande->id)) { diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php index dbb815bb663..5396625fcb5 100644 --- a/htdocs/commande/class/commande.class.php +++ b/htdocs/commande/class/commande.class.php @@ -693,8 +693,8 @@ class Commande extends CommonOrder * Note that this->ref can be set or empty. If empty, we will use "(PROV)" * * @param User $user Objet user that make creation - * @param int $notrigger Disable all triggers - * @return int <0 if KO, >0 if OK + * @param int $notrigger Disable all triggers + * @return int <0 if KO, >0 if OK */ function create($user, $notrigger=0) { @@ -808,37 +808,43 @@ class Commande extends CommonOrder */ for ($i=0;$i<$num;$i++) { + $line = $this->lines[$i]; + + // Test and convert into object this->lines[$i]. When coming from REST API, we may still have an array + //if (! is_object($line)) $line=json_decode(json_encode($line), FALSE); // convert recursively array into object. + if (! is_object($line)) $line = (object) $line; + // Reset fk_parent_line for no child products and special product - if (($this->lines[$i]->product_type != 9 && empty($this->lines[$i]->fk_parent_line)) || $this->lines[$i]->product_type == 9) { + if (($line->product_type != 9 && empty($line->fk_parent_line)) || $line->product_type == 9) { $fk_parent_line = 0; } $result = $this->addline( - $this->lines[$i]->desc, - $this->lines[$i]->subprice, - $this->lines[$i]->qty, - $this->lines[$i]->tva_tx, - $this->lines[$i]->localtax1_tx, - $this->lines[$i]->localtax2_tx, - $this->lines[$i]->fk_product, - $this->lines[$i]->remise_percent, - $this->lines[$i]->info_bits, - $this->lines[$i]->fk_remise_except, + $line->desc, + $line->subprice, + $line->qty, + $line->tva_tx, + $line->localtax1_tx, + $line->localtax2_tx, + $line->fk_product, + $line->remise_percent, + $line->info_bits, + $line->fk_remise_except, 'HT', 0, - $this->lines[$i]->date_start, - $this->lines[$i]->date_end, - $this->lines[$i]->product_type, - $this->lines[$i]->rang, - $this->lines[$i]->special_code, + $line->date_start, + $line->date_end, + $line->product_type, + $line->rang, + $line->special_code, $fk_parent_line, - $this->lines[$i]->fk_fournprice, - $this->lines[$i]->pa_ht, - $this->lines[$i]->label, - $this->lines[$i]->array_options, - $this->lines[$i]->fk_unit, + $line->fk_fournprice, + $line->pa_ht, + $line->label, + $line->array_options, + $line->fk_unit, $this->element, - $this->lines[$i]->id + $line->id ); if ($result < 0) { @@ -851,7 +857,7 @@ class Commande extends CommonOrder return -1; } // Defined the new fk_parent_line - if ($result > 0 && $this->lines[$i]->product_type == 9) { + if ($result > 0 && $line->product_type == 9) { $fk_parent_line = $result; } } diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php index 68d0d1b5567..ce07251aa95 100644 --- a/htdocs/compta/facture.php +++ b/htdocs/compta/facture.php @@ -2520,58 +2520,6 @@ if ($action == 'create') print '' . $langs->trans('MulticurrencyTotalTTC') . '' . price($objectsrc->multicurrency_total_ttc) . ""; } } - else - { - // Show deprecated optional form to add product line here - if (! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) { - print ''; - - // Zone de choix des produits predefinis a la creation - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - if (! empty($conf->service->enabled)) { - print ''; - } - print ''; - for($i = 1; $i <= $NBLINES; $i ++) { - print ''; - print ''; - print ''; - print ''; - print ''; - // Si le module service est actif, on propose des dates de debut et fin a la ligne - if (! empty($conf->service->enabled)) { - print ''; - } - print "\n"; - } - - print '
' . $langs->trans('ProductsAndServices') . '' . $langs->trans('Qty') . '' . $langs->trans('ReductionShort') . '     ' . $langs->trans('ServiceLimitedDuration') . '
'; - // multiprix - if (! empty($conf->global->PRODUIT_MULTIPRICES)) - $form->select_produits('', 'idprod' . $i, '', $conf->product->limit_size, $soc->price_level); - else - $form->select_produits('', 'idprod' . $i, '', $conf->product->limit_size); - print '% '; - print ''; - print ''; - print '
'; - print $langs->trans('From') . ' '; - print ''; - print $form->select_date('', 'date_start' . $i, $usehm, $usehm, 1, "add", 1, 0, 1); - print '
'; - print $langs->trans('to') . ' '; - print ''; - print $form->select_date('', 'date_end' . $i, $usehm, $usehm, 1, "add", 1, 0, 1); - print '
'; - print '
'; - print ''; - } - } print "\n"; diff --git a/htdocs/compta/facture/class/api_invoices.class.php b/htdocs/compta/facture/class/api_invoices.class.php index 8fc6274b1a6..e14ed12dce3 100644 --- a/htdocs/compta/facture/class/api_invoices.class.php +++ b/htdocs/compta/facture/class/api_invoices.class.php @@ -68,7 +68,7 @@ class Invoices extends DolibarrApi $result = $this->invoice->fetch($id); if( ! $result ) { - throw new RestException(404, 'Facture not found'); + throw new RestException(404, 'Invoice not found'); } if( ! DolibarrApi::_checkAccessToResource('facture',$this->invoice->id)) { @@ -128,6 +128,7 @@ class Invoices extends DolibarrApi $sql .= " AND sc.fk_user = ".$search_sale; } + // TODO remove this, useless for WS $nbtotalofrecords = 0; if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { @@ -178,7 +179,7 @@ class Invoices extends DolibarrApi function post($request_data = NULL) { if(! DolibarrApiAccess::$user->rights->facture->creer) { - throw new RestException(401); + throw new RestException(401, "Insuffisant rights"); } // Check mandatory fields $result = $this->_validate($request_data); @@ -189,8 +190,18 @@ class Invoices extends DolibarrApi if(! array_keys($request_data,'date')) { $this->invoice->date = dol_now(); } - if( ! $this->invoice->create(DolibarrApiAccess::$user)) { - throw new RestException(500); + /* We keep lines as an array + if (isset($request_data["lines"])) { + $lines = array(); + foreach ($request_data["lines"] as $line) { + array_push($lines, (object) $line); + } + $this->invoice->lines = $lines; + }*/ + + if ($this->invoice->create(DolibarrApiAccess::$user) <= 0) { + $errormsg = $this->invoice->error; + throw new RestException(500, $errormsg ? $errormsg : "Error while creating order"); } return $this->invoice->id; } @@ -210,7 +221,7 @@ class Invoices extends DolibarrApi $result = $this->invoice->fetch($id); if( ! $result ) { - throw new RestException(404, 'Facture not found'); + throw new RestException(404, 'Invoice not found'); } if( ! DolibarrApi::_checkAccessToResource('facture',$this->invoice->id)) { @@ -240,7 +251,7 @@ class Invoices extends DolibarrApi } $result = $this->invoice->fetch($id); if( ! $result ) { - throw new RestException(404, 'Facture not found'); + throw new RestException(404, 'Invoice not found'); } if( ! DolibarrApi::_checkAccessToResource('facture',$this->facture->id)) { diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php index 1cc4abce751..d8f290e82a1 100644 --- a/htdocs/compta/facture/class/facture.class.php +++ b/htdocs/compta/facture/class/facture.class.php @@ -449,7 +449,7 @@ class Facture extends CommonInvoice /* * Insert lines of invoices into database */ - if (count($this->lines) && is_object($this->lines[0])) // If this->lines is array on InvoiceLines (preferred mode) + if (count($this->lines) && is_object($this->lines[0])) // If this->lines is array of InvoiceLines (preferred mode) { $fk_parent_line = 0; @@ -483,49 +483,56 @@ class Facture extends CommonInvoice } } } - else // If this->lines is not object of invoice lines + else // If this->lines is an array of invoice line arrays { $fk_parent_line = 0; dol_syslog("There is ".count($this->lines)." lines that are array lines"); + foreach ($this->lines as $i => $val) { - if (($this->lines[$i]->info_bits & 0x01) == 0) // We keep only lines with first bit = 0 + $line = $this->lines[$i]; + + // Test and convert into object this->lines[$i]. When coming from REST API, we may still have an array + //if (! is_object($line)) $line=json_decode(json_encode($line), FALSE); // convert recursively array into object. + if (! is_object($line)) $line = (object) $line; + + if (($line->info_bits & 0x01) == 0) // We keep only lines with first bit = 0 { // Reset fk_parent_line for no child products and special product - if (($this->lines[$i]->product_type != 9 && empty($this->lines[$i]->fk_parent_line)) || $this->lines[$i]->product_type == 9) { + if (($line->product_type != 9 && empty($line->fk_parent_line)) || $line->product_type == 9) { $fk_parent_line = 0; } $result = $this->addline( - $this->lines[$i]->desc, - $this->lines[$i]->subprice, - $this->lines[$i]->qty, - $this->lines[$i]->tva_tx, - $this->lines[$i]->localtax1_tx, - $this->lines[$i]->localtax2_tx, - $this->lines[$i]->fk_product, - $this->lines[$i]->remise_percent, - $this->lines[$i]->date_start, - $this->lines[$i]->date_end, - $this->lines[$i]->fk_code_ventilation, - $this->lines[$i]->info_bits, - $this->lines[$i]->fk_remise_except, + $line->desc, + $line->subprice, + $line->qty, + $line->tva_tx, + $line->localtax1_tx, + $line->localtax2_tx, + $line->fk_product, + $line->remise_percent, + $line->date_start, + $line->date_end, + $line->fk_code_ventilation, + $line->info_bits, + $line->fk_remise_except, 'HT', 0, - $this->lines[$i]->product_type, - $this->lines[$i]->rang, - $this->lines[$i]->special_code, + $line->product_type, + $line->rang, + $line->special_code, $this->element, - $this->lines[$i]->id, + $line->id, $fk_parent_line, - $this->lines[$i]->fk_fournprice, - $this->lines[$i]->pa_ht, - $this->lines[$i]->label, - $this->lines[$i]->array_options, - $this->lines[$i]->situation_percent, - $this->lines[$i]->fk_prev_id, - $this->lines[$i]->fk_unit + $line->fk_fournprice, + $line->pa_ht, + $line->label, + $line->array_options, + $line->situation_percent, + $line->fk_prev_id, + $line->fk_unit ); if ($result < 0) { @@ -536,7 +543,7 @@ class Facture extends CommonInvoice } // Defined the new fk_parent_line - if ($result > 0 && $this->lines[$i]->product_type == 9) { + if ($result > 0 && $line->product_type == 9) { $fk_parent_line = $result; } } From 7b04dc9760c0bf664594e8770d516e135f306ffa Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 29 Jul 2016 02:35:01 +0200 Subject: [PATCH 146/476] Reduce log verbosity when using API REST explorer --- htdocs/api/admin/explorer.php | 6 +++--- htdocs/api/index.php | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/htdocs/api/admin/explorer.php b/htdocs/api/admin/explorer.php index d15010c36eb..c83d759dcd6 100644 --- a/htdocs/api/admin/explorer.php +++ b/htdocs/api/admin/explorer.php @@ -59,7 +59,7 @@ foreach ($modulesdir as $dir) /* * Search available module */ - dol_syslog("Scan directory ".$dir." for API modules"); + //dol_syslog("Scan directory ".$dir." for API modules"); $handle=@opendir(dol_osencode($dir)); if (is_resource($handle)) @@ -111,7 +111,7 @@ foreach ($modulesdir as $dir) require_once $dir_part.$file_searched; if (class_exists($classname)) { - dol_syslog("Found deprecated API classname=".$classname); + dol_syslog("Found deprecated API classname=".$classname." into ".$dir); $api->r->addAPIClass($classname, ''); } } @@ -121,7 +121,7 @@ foreach ($modulesdir as $dir) require_once $dir_part.$file_searched; if (class_exists($classname)) { - dol_syslog("Found API classname=".$classname); + dol_syslog("Found API classname=".$classname." into ".$dir); $listofapis[] = $classname; } } diff --git a/htdocs/api/index.php b/htdocs/api/index.php index b165a8b1c76..63fb8783530 100644 --- a/htdocs/api/index.php +++ b/htdocs/api/index.php @@ -73,7 +73,7 @@ foreach ($modulesdir as $dir) /* * Search available module */ - dol_syslog("Scan directory ".$dir." for API modules"); + //dol_syslog("Scan directory ".$dir." for API modules"); $handle=@opendir(dol_osencode($dir)); if (is_resource($handle)) @@ -119,7 +119,7 @@ foreach ($modulesdir as $dir) require_once $dir_part.$file_searched; if (class_exists($classname)) { - dol_syslog("Found deprecated API classname=".$classname); + dol_syslog("Found deprecated API classname=".$classname." into ".$dir); $api->r->addAPIClass($classname, ''); } } @@ -129,7 +129,7 @@ foreach ($modulesdir as $dir) require_once $dir_part.$file_searched; if (class_exists($classname)) { - dol_syslog("Found API classname=".$classname); + dol_syslog("Found API classname=".$classname." into ".$dir); $listofapis[] = $classname; } } From 20144c98832cfc52b0530757604d9d5d25330115 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Fri, 29 Jul 2016 07:32:55 +0200 Subject: [PATCH 147/476] FIX Accountancy - Problem with the manage of the zero at the end of an accounting account in dolibarr for somes countries. Add an option. --- htdocs/accountancy/admin/card.php | 24 ++++++++++++++++++++++-- htdocs/accountancy/admin/index.php | 28 ++++++++++++++++++++++++++++ htdocs/langs/en_US/accountancy.lang | 1 + 3 files changed, 51 insertions(+), 2 deletions(-) diff --git a/htdocs/accountancy/admin/card.php b/htdocs/accountancy/admin/card.php index 0d927b7305b..1dcb2a533de 100644 --- a/htdocs/accountancy/admin/card.php +++ b/htdocs/accountancy/admin/card.php @@ -58,7 +58,17 @@ if ($action == 'add') { $obj = $db->fetch_object($result); // Clean code - $account_number = clean_account(GETPOST('account_number')); // Accounting account without zero on the right + + // To manage zero or not at the end of the accounting account + if($conf->global->ACCOUNTING_MANAGE_ZERO == 1) + { + $account_number = GETPOST('account_number'); + } + else + { + $account_number = clean_account(GETPOST('account_number')); + } + if (GETPOST('account_category') <= 0) { $account_parent = ''; } else { @@ -98,7 +108,17 @@ if ($action == 'add') { $obj = $db->fetch_object($result2); // Clean code - $account_number = clean_account(GETPOST('account_number')); // Accounting account without zero on the right + + // To manage zero or not at the end of the accounting account + if($conf->global->ACCOUNTING_MANAGE_ZERO == 1) + { + $account_number = GETPOST('account_number'); + } + else + { + $account_number = clean_account(GETPOST('account_number')); + } + if (GETPOST('account_category') <= 0) { $account_parent = ''; } else { diff --git a/htdocs/accountancy/admin/index.php b/htdocs/accountancy/admin/index.php index 7c85212ccb8..b019872da6e 100644 --- a/htdocs/accountancy/admin/index.php +++ b/htdocs/accountancy/admin/index.php @@ -130,6 +130,7 @@ if ($action == 'update') { } } +// TO DO Mutualize code for yes/no constants if ($action == 'setlistsorttodo') { $setlistsorttodo = GETPOST('value', 'int'); $res = dolibarr_set_const($db, "ACCOUNTING_LIST_SORT_VENTILATION_TODO", $setlistsorttodo, 'yesno', 0, '', $conf->entity); @@ -155,6 +156,18 @@ if ($action == 'setlistsortdone') { } } +if ($action == 'setmanagezero') { + $setmanagezero = GETPOST('value', 'int'); + $res = dolibarr_set_const($db, "ACCOUNTING_MANAGE_ZERO", $setmanagezero, 'yesno', 0, '', $conf->entity); + if (! $res > 0) + $error ++; + if (! $error) { + setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); + } else { + setEventMessages($langs->trans("Error"), null, 'mesgs'); + } +} + /* * View */ @@ -286,6 +299,7 @@ foreach ( $list_account as $key ) { print ''; } +// TO DO Mutualize code for yes/no constants $var = ! $var; print ""; print '' . $langs->trans("ACCOUNTING_LIST_SORT_VENTILATION_TODO") . ''; @@ -314,6 +328,20 @@ if (! empty($conf->global->ACCOUNTING_LIST_SORT_VENTILATION_DONE)) { } print ''; +$var = ! $var; +print ""; +print '' . $langs->trans("ACCOUNTING_MANAGE_ZERO") . ''; +if (! empty($conf->global->ACCOUNTING_MANAGE_ZERO)) { + print ''; + print img_picto($langs->trans("Activated"), 'switch_on'); + print ''; +} else { + print ''; + print img_picto($langs->trans("Disabled"), 'switch_off'); + print ''; +} +print ''; + print "\n"; dol_fiche_end(); diff --git a/htdocs/langs/en_US/accountancy.lang b/htdocs/langs/en_US/accountancy.lang index 9a12afd3953..a663d683fe3 100644 --- a/htdocs/langs/en_US/accountancy.lang +++ b/htdocs/langs/en_US/accountancy.lang @@ -56,6 +56,7 @@ ACCOUNTING_LENGTH_DESCRIPTION=Length for displaying product & services descripti ACCOUNTING_LENGTH_DESCRIPTION_ACCOUNT=Length for displaying product & services account description form in listings (Best = 50) ACCOUNTING_LENGTH_GACCOUNT=Length of the general accounts ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts +ACCOUNTING_MANAGE_ZERO=Manage the zero at the end of an accounting account. Needed by some countries. Disable by default. Be careful with the function of length of the accounts. ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal From 834c10a1f4393158e4574a7cdec7ffc623a6eca8 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 29 Jul 2016 11:06:03 +0200 Subject: [PATCH 148/476] Fix css --- htdocs/comm/card.php | 6 +++--- htdocs/theme/eldy/style.css.php | 2 +- htdocs/theme/md/style.css.php | 10 +++++++++- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/htdocs/comm/card.php b/htdocs/comm/card.php index 8ead3188ae7..39e4ae13f60 100644 --- a/htdocs/comm/card.php +++ b/htdocs/comm/card.php @@ -377,7 +377,7 @@ if ($id > 0) print ''.img_edit($langs->trans("Modify")).''; } print ''; - print ''.($object->remise_percent?''.$object->remise_percent.'%':$langs->trans("DiscountNone")).''; + print ''.($object->remise_percent?''.$object->remise_percent.'%':'').''; print ''; // Absolute discounts (Discounts-Drawbacks-Rebates) @@ -396,7 +396,7 @@ if ($id > 0) $amount_discount=$object->getAvailableDiscounts(); if ($amount_discount < 0) dol_print_error($db,$object->error); if ($amount_discount > 0) print ''.price($amount_discount,1,$langs,1,-1,-1,$conf->currency).''; - else print $langs->trans("DiscountNone"); + //else print $langs->trans("DiscountNone"); print ''; print ''; @@ -408,7 +408,7 @@ if ($id > 0) print ''; $limit_field_type = (! empty($conf->global->MAIN_USE_JQUERY_JEDITABLE)) ? 'numeric' : 'amount'; print $form->editfieldval("OutstandingBill",'outstanding_limit',$object->outstanding_limit,$object,$user->rights->societe->creer,$limit_field_type,($object->outstanding_limit != '' ? price($object->outstanding_limit) : '')); - if (empty($object->outstanding_limit)) print $langs->trans("NoLimit"); + //if (empty($object->outstanding_limit)) print $langs->trans("NoLimit"); print ''; print ''; diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index 0331ce6efda..9a074172ae1 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -2324,7 +2324,7 @@ table.liste, table.noborder, table.formdoc, div.noborder { } .liste_titre_add td, .liste_titre_add .tagtd { - border-top-width: 1px; + border-top-width: 2px; border-top-color: rgb(); border-top-style: solid; } diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php index d5e7fbb0246..12e4e3d722f 100644 --- a/htdocs/theme/md/style.css.php +++ b/htdocs/theme/md/style.css.php @@ -2223,11 +2223,12 @@ table.liste, table.noborder, table.formdoc, div.noborder { -webkit-border-radius: 0.1em; border-radius: 0.1em; } +/* #tablelines tr.liste_titre:first-child td, form.formnoborder, tr.liste_titre.trnoborder td { border-top-width: 1px; border-top-color: rgb(); border-top-style: solid; -} +}*/ table.noborder tr, div.noborder form { border-top-color: #FEFEFE; @@ -2241,6 +2242,13 @@ table.noborder tr, div.noborder form { min-height: 26px; } +.liste_titre_add td, .liste_titre_add .tagtd +{ + border-top-width: 2px; + border-top-color: rgb(); + border-top-style: solid; +} + table.liste th, table.noborder th, table.noborder tr.liste_titre td { padding: 8px 2px 8px 3px; /* t r b l */ } From 606efb37fb8fa01c99eb45cbbb3f00e087e404a2 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 29 Jul 2016 11:06:20 +0200 Subject: [PATCH 149/476] Update test conf --- test/soapui/Dolibarr-soapui-project.xml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/test/soapui/Dolibarr-soapui-project.xml b/test/soapui/Dolibarr-soapui-project.xml index c81b1ac8e1f..b5de27fbf31 100755 --- a/test/soapui/Dolibarr-soapui-project.xml +++ b/test/soapui/Dolibarr-soapui-project.xml @@ -225,7 +225,7 @@ -]]>http://schemas.xmlsoap.org/wsdl/http://localhostdolibarr/dolibarr_new/webservices/server_invoice.phphttp://localhost/dolibarrnew/webservices/server_invoice.php<xml-fragment/>UTF-8http://localhost/dolibarrnew/webservices/server_invoice.php +]]>http://schemas.xmlsoap.org/wsdl/http://localhostgit/dolibarr_dev/htdocs/webservices/server_invoice.phphttp://localhost/dolibarrnew/webservices/server_invoice.php<xml-fragment/>UTF-8http://localhost/dolibarrnew/webservices/server_invoice.php @@ -324,7 +324,7 @@ -]]>UTF-8http://localhostdolibarr/dolibarr_new/webservices/server_invoice.php +]]>UTF-8http://localhostgit/dolibarr_dev/htdocs/webservices/server_invoice.php @@ -383,7 +383,7 @@ -]]>UTF-8http://localhostdolibarr/dolibarr_new/webservices/server_invoice.php +]]>UTF-8http://localhostgit/dolibarr_dev/htdocs/webservices/server_invoice.php @@ -442,7 +442,7 @@ -]]><xml-fragment/>UTF-8http://localhostdolibarr/dolibarr_new/webservices/server_invoice.php +]]><xml-fragment/>UTF-8http://localhostgit/dolibarr_dev/htdocs/webservices/server_invoice.php @@ -532,7 +532,7 @@ -]]><xml-fragment/>UTF-8http://localhostdolibarr/dolibarr_new/webservices/server_invoice.php +]]><xml-fragment/>UTF-8http://localhostgit/dolibarr_dev/htdocs/webservices/server_invoice.php @@ -584,7 +584,7 @@ -]]>UTF-8http://localhostdolibarr/dolibarr_new/webservices/server_invoice.php +]]>UTF-8http://localhostgit/dolibarr_dev/htdocs/webservices/server_invoice.php @@ -616,7 +616,7 @@ 4 -]]>UTF-8http://localhostdolibarr/dolibarr_new/webservices/server_invoice.php +]]>UTF-8http://localhostgit/dolibarr_dev/htdocs/webservices/server_invoice.php From 537a51b3676b30f1c5dbf3e908f440ec14ded484 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 29 Jul 2016 11:19:16 +0200 Subject: [PATCH 150/476] Finally, better without the test --- htdocs/societe/class/societe.class.php | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index 9f48f7c0541..3282d8a9eba 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -1939,21 +1939,8 @@ class Societe extends CommonObject $contact_emails = $this->contact_property_array('email',1); if ($this->email && $addthirdparty) { - $exist = 0; - foreach($contact_emails as $contacts){ - if($exist ===0){ - $contacts = str_replace('>','',$contacts); - $contacts = explode ('<',$contacts); - if($contacts[1]===$this->email){ - $exist = 1; - } - } - } - if($exist ===0){ - if (empty($this->name)) $this->name=$this->nom; - $contact_emails['thirdparty']=$langs->trans("ThirdParty").': '.dol_trunc($this->name,16)." <".$this->email.">"; - } - + if (empty($this->name)) $this->name=$this->nom; + $contact_emails['thirdparty']=$langs->trans("ThirdParty").': '.dol_trunc($this->name,16)." <".$this->email.">"; } return $contact_emails; } From 86c2ced714d59dcd83beb29f055e4d8216481c74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcos=20Garci=CC=81a=20de=20La=20Fuente?= Date: Fri, 29 Jul 2016 11:53:24 +0200 Subject: [PATCH 151/476] Missing $user variable --- htdocs/commande/class/commande.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php index 003f3fab255..7c4176edac8 100644 --- a/htdocs/commande/class/commande.class.php +++ b/htdocs/commande/class/commande.class.php @@ -3071,7 +3071,7 @@ class Commande extends CommonOrder */ function getNomUrl($withpicto=0,$option=0,$max=0,$short=0) { - global $conf, $langs; + global $conf, $langs, $user; $result=''; From 2a4afb8195cb1e07bed5194731954bb1e6681f2b Mon Sep 17 00:00:00 2001 From: Sergio Sanchis Climent Date: Fri, 29 Jul 2016 15:13:12 +0200 Subject: [PATCH 152/476] FIX Notice: Trying to get property of non-object when update 3.9 -> 4.0 --- htdocs/core/modules/modFacture.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/core/modules/modFacture.class.php b/htdocs/core/modules/modFacture.class.php index 1d035ccc8ec..8a6d537eb7a 100644 --- a/htdocs/core/modules/modFacture.class.php +++ b/htdocs/core/modules/modFacture.class.php @@ -218,7 +218,7 @@ class modFacture extends DolibarrModules $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_extrafields as extra3 on p.rowid = extra3.fk_object'; $this->export_sql_end[$r] .=' WHERE f.fk_soc = s.rowid AND f.rowid = fd.fk_facture'; $this->export_sql_end[$r] .=' AND f.entity IN ('.getEntity('facture',1).')'; - if(!$user->rights->societe->client->voir) $this->export_sql_end[$r] .=' AND sc.fk_user = '.$user->id; + if(isset($user) && empty($user->rights->societe->client->voir)) $this->export_sql_end[$r] .=' AND sc.fk_user = '.$user->id; $r++; $this->export_code[$r]=$this->rights_class.'_'.$r; @@ -248,7 +248,7 @@ class modFacture extends DolibarrModules $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'bank_account as ba ON ba.rowid = b.fk_account'; $this->export_sql_end[$r] .=' WHERE f.fk_soc = s.rowid'; $this->export_sql_end[$r] .=' AND f.entity IN ('.getEntity('facture',1).')'; - if (empty($user->rights->societe->client->voir)) $this->export_sql_end[$r] .=' AND sc.fk_user = '.$user->id; + if (isset($user) && empty($user->rights->societe->client->voir)) $this->export_sql_end[$r] .=' AND sc.fk_user = '.$user->id; $r++; } From 27243069cb911df4021b1e0e99535274b77675a3 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 12 Jul 2016 20:07:53 +0200 Subject: [PATCH 153/476] FIX #5535 bad dependency. Conflicts: htdocs/fourn/facture/list.php --- htdocs/core/modules/modProductBatch.class.php | 2 +- htdocs/fourn/facture/list.php | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/htdocs/core/modules/modProductBatch.class.php b/htdocs/core/modules/modProductBatch.class.php index 5557104c7f6..7eefc6ebd94 100644 --- a/htdocs/core/modules/modProductBatch.class.php +++ b/htdocs/core/modules/modProductBatch.class.php @@ -69,7 +69,7 @@ class modProductBatch extends DolibarrModules $this->config_page_url = array(); // Dependencies - $this->depends = array("modProduct","modStock","modExpedition","modSupplier"); // List of modules id that must be enabled if this module is enabled. modExpedition is required to manage batch exit (by manual stock decrease on shipment), modSupplier to manage batch entry (after supplier order). + $this->depends = array("modProduct","modStock","modExpedition","modFournisseur"); // List of modules id that must be enabled if this module is enabled. modExpedition is required to manage batch exit (by manual stock decrease on shipment), modSupplier to manage batch entry (after supplier order). $this->requiredby = array(); // List of modules id to disable if this one is disabled $this->phpmin = array(5,0); // Minimum version of PHP required by module $this->need_dolibarr_version = array(3,0); // Minimum version of Dolibarr required by module diff --git a/htdocs/fourn/facture/list.php b/htdocs/fourn/facture/list.php index 05d3886ffd0..7c0e278398e 100644 --- a/htdocs/fourn/facture/list.php +++ b/htdocs/fourn/facture/list.php @@ -296,6 +296,7 @@ if ($resql) print ''; print ''; + print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"fac.ref,fac.rowid","",$param,"",$sortfield,$sortorder); if (empty($conf->global->SUPPLIER_INVOICE_HIDE_REF_SUPPLIER)) print_liste_field_titre($langs->trans("RefSupplier"),$_SERVER["PHP_SELF"],"ref_supplier","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"],"fac.datef,fac.rowid","",$param,'align="center"',$sortfield,$sortorder); From b3cdb1f163a7d7f9a3478e5c9610a516b5c157ab Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 29 Jul 2016 16:21:28 +0200 Subject: [PATCH 154/476] FIX tag for date rfc in odt substitution --- htdocs/core/class/commondocgenerator.class.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/core/class/commondocgenerator.class.php b/htdocs/core/class/commondocgenerator.class.php index 5804ab4cf9f..a38b4cf59d9 100644 --- a/htdocs/core/class/commondocgenerator.class.php +++ b/htdocs/core/class/commondocgenerator.class.php @@ -430,7 +430,7 @@ abstract class CommonDocGenerator 'line_fulldesc'=>doc_getlinedesc($line,$outputlangs), 'line_product_ref'=>$line->product_ref, 'line_product_label'=>$line->product_label, - 'line_product_type'=>$line->product_type, + 'line_product_type'=>$line->product_type, 'line_desc'=>$line->desc, 'line_vatrate'=>vatrate($line->tva_tx,true,$line->info_bits), 'line_up'=>price2num($line->subprice), @@ -444,9 +444,9 @@ abstract class CommonDocGenerator 'line_price_ttc_locale'=>price($line->total_ttc, 0, $outputlangs), 'line_price_vat_locale'=>price($line->total_tva, 0, $outputlangs), 'line_date_start'=>$line->date_start, - 'line_date_start_rfc'=>dol_print_date($line->date_start,'rfc'), + 'line_date_start_rfc'=>dol_print_date($line->date_start,'dayrfc'), 'line_date_end'=>$line->date_end, - 'line_date_end_rfc'=>dol_print_date($line->date_end,'rfc') + 'line_date_end_rfc'=>dol_print_date($line->date_end,'dayrfc') ); // Retrieve extrafields From 9fabfe029bb125c183ba1709a396738918dd05c2 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 29 Jul 2016 16:31:29 +0200 Subject: [PATCH 155/476] Remove debug logs --- htdocs/includes/odtphp/odf.php | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/htdocs/includes/odtphp/odf.php b/htdocs/includes/odtphp/odf.php index 33a960e91ca..d052482845c 100644 --- a/htdocs/includes/odtphp/odf.php +++ b/htdocs/includes/odtphp/odf.php @@ -314,23 +314,24 @@ IMG; // If value is true (not 0 nor false nor null nor empty string) if ($value) { - dol_syslog("Var ".$key." is defined, we remove the IF, ELSE and ENDIF "); - $sav=$this->contentXml; + //dol_syslog("Var ".$key." is defined, we remove the IF, ELSE and ENDIF "); + //$sav=$this->contentXml; // Remove the IF tag $this->contentXml = str_replace('[!-- IF '.$key.' --]', '', $this->contentXml); // Remove everything between the ELSE tag (if it exists) and the ENDIF tag $reg = '@(\[!--\sELSE\s' . $key . '\s--\](.*))?\[!--\sENDIF\s' . $key . '\s--\]@smU'; // U modifier = all quantifiers are non-greedy $this->contentXml = preg_replace($reg, '', $this->contentXml); - if ($sav != $this->contentXml) + /*if ($sav != $this->contentXml) { dol_syslog("We found a IF and it was processed"); - } + //var_dump($sav);exit; + }*/ } // Else the value is false, then two cases: no ELSE and we're done, or there is at least one place where there is an ELSE clause, then we replace it else { - dol_syslog("Var ".$key." is not defined, we remove the IF, ELSE and ENDIF "); - $sav=$this->contentXml; + //dol_syslog("Var ".$key." is not defined, we remove the IF, ELSE and ENDIF "); + //$sav=$this->contentXml; // Find all conditional blocks for this variable: from IF to ELSE and to ENDIF $reg = '@\[!--\sIF\s' . $key . '\s--\](.*)(\[!--\sELSE\s' . $key . '\s--\](.*))?\[!--\sENDIF\s' . $key . '\s--\]@smU'; // U modifier = all quantifiers are non-greedy preg_match_all($reg, $this->contentXml, $matches, PREG_SET_ORDER); @@ -339,11 +340,11 @@ IMG; } // Cleanup the other conditional blocks (all the others where there were no ELSE clause, we can just remove them altogether) $this->contentXml = preg_replace($reg, '', $this->contentXml); - if ($sav != $this->contentXml) + /*if ($sav != $this->contentXml) { dol_syslog("We found a IF and it was processed"); //var_dump($sav);exit; - } + }*/ } } From 0c456add1352a1c7272b1e94464ed17a8ea34981 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 29 Jul 2016 16:33:31 +0200 Subject: [PATCH 156/476] A more complete example of odt template --- .../doctemplates/orders/template_order.odt | Bin 20018 -> 20174 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/htdocs/install/doctemplates/orders/template_order.odt b/htdocs/install/doctemplates/orders/template_order.odt index eb21fae85954fa993aea7aad80f8ce3c32036eea..b9f5162316d8591210d22fe93963c8fab43593a0 100644 GIT binary patch delta 17015 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 H2l@X1?8z`R From 45e38efdfaee3baa1266067b6c3ac424ad8d58f5 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 29 Jul 2016 17:20:14 +0200 Subject: [PATCH 157/476] FIX #5473 --- htdocs/don/card.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/don/card.php b/htdocs/don/card.php index cc27b1bcfd1..9e17e6f0849 100644 --- a/htdocs/don/card.php +++ b/htdocs/don/card.php @@ -713,7 +713,7 @@ if (! empty($id) && $action != 'edit') print ''; } - if (($object->statut == 0 || $object->statut == 1) && $remaintopay == 0 && $object->paye == 0) + if (($object->statut == 0 || $object->statut == 1) && $remaintopay == 0 && $object->paid == 0) { print '"; } From a7b21db21049b56bcda7226a6be72d5c27efb13f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 29 Jul 2016 17:22:02 +0200 Subject: [PATCH 158/476] Fix code is not mandatory on vat table --- htdocs/admin/dict.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/htdocs/admin/dict.php b/htdocs/admin/dict.php index 353389c98a8..825a3aae22c 100644 --- a/htdocs/admin/dict.php +++ b/htdocs/admin/dict.php @@ -596,7 +596,9 @@ if (GETPOST('actionadd') || GETPOST('actionmodify')) if ($value == 'color' && empty($_POST['color'])) continue; if ($value == 'formula' && empty($_POST['formula'])) continue; if ((! isset($_POST[$value]) || $_POST[$value]=='') - && (! in_array($listfield[$f], array('decalage','module','accountancy_code','accountancy_code_sell','accountancy_code_buy'))) // Fields that are not mandatory + && (! in_array($listfield[$f], array('decalage','module','accountancy_code','accountancy_code_sell','accountancy_code_buy')) // Fields that are not mandatory + && (! ($id == 10 && $listfield[$f] == 'code')) // Code is mandatory fir table 10 + ) ) { $ok=0; From 69247afd06361d287fb2cedf51db44bf2b49b2a8 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 29 Jul 2016 17:26:24 +0200 Subject: [PATCH 159/476] FIX #4447 --- htdocs/compta/prelevement/fiche-stat.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/compta/prelevement/fiche-stat.php b/htdocs/compta/prelevement/fiche-stat.php index 0e9174ef034..9d70bc76a4e 100644 --- a/htdocs/compta/prelevement/fiche-stat.php +++ b/htdocs/compta/prelevement/fiche-stat.php @@ -141,7 +141,7 @@ if ($prev_id) print price($row[0]); print ''; print "\n"; From eafaa6f4ddea3f3e04e3c5e8ba637af70b9080f2 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 29 Jul 2016 17:30:33 +0200 Subject: [PATCH 160/476] Fix doxygen --- htdocs/core/modules/modDocumentGeneration.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/modules/modDocumentGeneration.class.php b/htdocs/core/modules/modDocumentGeneration.class.php index 0648eb8bf0b..909f1d5f5e8 100644 --- a/htdocs/core/modules/modDocumentGeneration.class.php +++ b/htdocs/core/modules/modDocumentGeneration.class.php @@ -20,7 +20,7 @@ /** * \defgroup document Module mass mailings * \brief Module pour gerer des generations de documents - * \file htdocs/core/modules/modDocument.class.php + * \file htdocs/core/modules/modDocumentGeneration.class.php * \ingroup document * \brief Fichier de description et activation du module Generation document */ From 45d354ad82e7692e3f8b47507702761ea0f54d77 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 29 Jul 2016 22:58:39 +0200 Subject: [PATCH 161/476] Fix variable names MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN... --- htdocs/core/modules/commande/doc/pdf_einstein.modules.php | 6 +++--- htdocs/core/modules/facture/doc/pdf_crabe.modules.php | 6 +++--- htdocs/core/modules/propale/doc/pdf_azur.modules.php | 6 +++--- .../modules/supplier_proposal/doc/pdf_aurore.modules.php | 2 +- htdocs/filefunc.inc.php | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php index 78057d82605..e753c12e2ea 100644 --- a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php @@ -402,7 +402,7 @@ class pdf_einstein extends ModelePDFCommandes $pdf->SetFont('','', $default_font_size - 1); // On repositionne la police par defaut // VAT Rate - if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT)) + if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT) && empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN)) { $vat_rate = pdf_getlinevatrate($object, $i, $outputlangs, $hidedetails); $pdf->SetXY($this->posxtva, $curY); @@ -842,7 +842,7 @@ class pdf_einstein extends ModelePDFCommandes if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT)) { $tvaisnull=((! empty($this->tva) && count($this->tva) == 1 && isset($this->tva['0.000']) && is_float($this->tva['0.000'])) ? true : false); - if (! empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_ISNULL) && $tvaisnull) + if (! empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_IFNULL) && $tvaisnull) { // Nothing to do } @@ -1106,7 +1106,7 @@ class pdf_einstein extends ModelePDFCommandes $pdf->MultiCell(108,2, $outputlangs->transnoentities("Designation"),'','L'); } - if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT)) + if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT) && empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN)) { $pdf->line($this->posxtva-1, $tab_top, $this->posxtva-1, $tab_top + $tab_height); if (empty($hidetop)) diff --git a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php index 1593dd5eee5..37e3c0f08d4 100644 --- a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php +++ b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php @@ -491,7 +491,7 @@ class pdf_crabe extends ModelePDFFactures $pdf->SetFont('','', $default_font_size - 1); // On repositionne la police par defaut // VAT Rate - if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT)) + if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT) && empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN)) { $vat_rate = pdf_getlinevatrate($object, $i, $outputlangs, $hidedetails); $pdf->SetXY($this->posxtva, $curY); @@ -1048,7 +1048,7 @@ class pdf_crabe extends ModelePDFFactures if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT)) { $tvaisnull=((! empty($this->tva) && count($this->tva) == 1 && isset($this->tva['0.000']) && is_float($this->tva['0.000'])) ? true : false); - if (! empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_ISNULL) && $tvaisnull) + if (! empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_IFNULL) && $tvaisnull) { // Nothing to do } @@ -1358,7 +1358,7 @@ class pdf_crabe extends ModelePDFFactures } } - if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT)) + if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT) && empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN)) { $pdf->line($this->posxtva-1, $tab_top, $this->posxtva-1, $tab_top + $tab_height); if (empty($hidetop)) diff --git a/htdocs/core/modules/propale/doc/pdf_azur.modules.php b/htdocs/core/modules/propale/doc/pdf_azur.modules.php index 380b7276ae4..35efaf55824 100644 --- a/htdocs/core/modules/propale/doc/pdf_azur.modules.php +++ b/htdocs/core/modules/propale/doc/pdf_azur.modules.php @@ -494,7 +494,7 @@ class pdf_azur extends ModelePDFPropales $pdf->SetFont('','', $default_font_size - 1); // On repositionne la police par defaut // VAT Rate - if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT)) + if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT) && empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN)) { $vat_rate = pdf_getlinevatrate($object, $i, $outputlangs, $hidedetails); $pdf->SetXY($this->posxtva, $curY); @@ -1008,7 +1008,7 @@ class pdf_azur extends ModelePDFPropales if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT)) { $tvaisnull=((! empty($this->tva) && count($this->tva) == 1 && isset($this->tva['0.000']) && is_float($this->tva['0.000'])) ? true : false); - if (! empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_ISNULL) && $tvaisnull) + if (! empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_IFNULL) && $tvaisnull) { // Nothing to do } @@ -1298,7 +1298,7 @@ class pdf_azur extends ModelePDFPropales } } - if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT)) + if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT) && empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN)) { $pdf->line($this->posxtva-1, $tab_top, $this->posxtva-1, $tab_top + $tab_height); if (empty($hidetop)) diff --git a/htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php b/htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php index 2a6a442582c..3497d7cf96f 100644 --- a/htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php +++ b/htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php @@ -850,7 +850,7 @@ class pdf_aurore extends ModelePDFSupplierProposal if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT)) { $tvaisnull=((! empty($this->tva) && count($this->tva) == 1 && isset($this->tva['0.000']) && is_float($this->tva['0.000'])) ? true : false); - if (! empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_ISNULL) && $tvaisnull) + if (! empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_IFNULL) && $tvaisnull) { // Nothing to do } diff --git a/htdocs/filefunc.inc.php b/htdocs/filefunc.inc.php index 9009b0c89fe..f96d5248343 100644 --- a/htdocs/filefunc.inc.php +++ b/htdocs/filefunc.inc.php @@ -31,7 +31,7 @@ */ if (! defined('DOL_APPLICATION_TITLE')) define('DOL_APPLICATION_TITLE','Dolibarr'); -if (! defined('DOL_VERSION')) define('DOL_VERSION','4.0.0-rc'); +if (! defined('DOL_VERSION')) define('DOL_VERSION','4.0.0-rc2'); if (! defined('EURO')) define('EURO',chr(128)); From ff9d6ce02a935fd311562363c6d37801fed88e26 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 29 Jul 2016 23:02:40 +0200 Subject: [PATCH 162/476] Fix missing translation --- htdocs/langs/en_US/admin.lang | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 07f96066d82..87288cd5d4d 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -383,7 +383,8 @@ EnableFileCache=Enable file cache ShowDetailsInPDFPageFoot=Add more details into footer of PDF files, like your company address, or manager names (to complete professional ids, company capital and VAT number). NoDetails=No more details in footer DisplayCompanyInfo=Display company address -DisplayCompanyInfoAndManagers=Display company and manager names +DisplayCompanyManagers=Display manager names +DisplayCompanyInfoAndManagers=Display company address and manager names EnableAndSetupModuleCron=If you want to have this recurring invoice beeing generated automatically, module *%s* must be enabled and correctly setup. Otherwise, generation of invoices must be done manually from this template with button *Create*. Note that even if you enabled automatic generation, you can still safely launch manual generation. Duplicates generation for same period are not possible. ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. ModuleCompanyCodePanicum=Return an empty accountancy code. From 3c3df0c4f6294516244fea446d3ad258142c3af8 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Fri, 29 Jul 2016 23:52:49 +0200 Subject: [PATCH 163/476] Fix Presentation --- htdocs/compta/salaries/index.php | 4 ++-- htdocs/expensereport/card.php | 25 +++++++++++-------------- htdocs/societe/project.php | 4 ++-- htdocs/societe/rib.php | 12 ++++++------ 4 files changed, 21 insertions(+), 24 deletions(-) diff --git a/htdocs/compta/salaries/index.php b/htdocs/compta/salaries/index.php index 98278ad374c..f279e97b478 100644 --- a/htdocs/compta/salaries/index.php +++ b/htdocs/compta/salaries/index.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2011-2016 Alexandre Spangaro * Copyright (C) 2015-2016 Laurent Destailleur * Copyright (C) 2015 Jean-François Ferry * @@ -221,7 +221,7 @@ if ($result) } print '
'; - print '"; + print '"; print ""; print "
'; - print round($row[0]/$bon->amount*100,2)." %"; + if ($bon->amount) print round($row[0]/$bon->amount*100,2)." %"; print '
'.$langs->trans("Total").''.price($total,0,$outputlangs,1,-1,-1,$conf->currency)."'.price($total)."
"; diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php index 8f6dbd43d10..25688bf6e6e 100644 --- a/htdocs/expensereport/card.php +++ b/htdocs/expensereport/card.php @@ -1786,24 +1786,21 @@ else if (($object->fk_statut==0 || $object->fk_statut==99) && $action != 'editline' && $user->rights->expensereport->creer) { print ''; - print ''; - //print ''.$langs->trans('Date').''; + print ''.$langs->trans('Date').''; if (! empty($conf->projet->enabled)) print ''.$langs->trans('Project').''; print ''.$langs->trans('Type').''; print ''.$langs->trans('Description').''; - print ''.$langs->trans('VAT').''; - print ''.$langs->trans('PriceUTTC').''; - print ''.$langs->trans('Qty').''; + print ''.$langs->trans('VAT').''; + print ''.$langs->trans('PriceUTTC').''; + print ''.$langs->trans('Qty').''; print ''; print ''; print ''; - print ''; - // Select date - print ''; + print ''; $form->select_date($date?$date:-1,'date'); print ''; @@ -1826,29 +1823,29 @@ else print ''; // Select VAT - print ''; + print ''; $defaultvat=-1; if (! empty($conf->global->EXPENSEREPORT_NO_DEFAULT_VAT)) $conf->global->MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS = 'none'; print $form->load_tva('vatrate', ($vatrate!=''?$vatrate:$defaultvat), $mysoc, '', 0, 0, '', false); print ''; // Unit price - print ''; + print ''; print ''; print ''; // Quantity - print ''; + print ''; print ''; print ''; if ($action != 'editline') { - print ''; - print ''; + print ''; + print ''; } - print ''; + print ''; print ''; } // Fin si c'est payé/validé diff --git a/htdocs/societe/project.php b/htdocs/societe/project.php index 6746cf8c522..707fe21a010 100644 --- a/htdocs/societe/project.php +++ b/htdocs/societe/project.php @@ -94,7 +94,7 @@ if ($socid) if ($object->client) { - print ''; + print ''; print $langs->trans('CustomerCode').''; print $object->code_client; if ($object->check_codeclient() <> 0) print ' ('.$langs->trans("WrongCustomerCode").')'; @@ -103,7 +103,7 @@ if ($socid) if ($object->fournisseur) { - print ''; + print ''; print $langs->trans('SupplierCode').''; print $object->code_fournisseur; if ($object->check_codefournisseur() <> 0) print ' ('.$langs->trans("WrongSupplierCode").')'; diff --git a/htdocs/societe/rib.php b/htdocs/societe/rib.php index 0d8cdcc1264..436a979ab3f 100644 --- a/htdocs/societe/rib.php +++ b/htdocs/societe/rib.php @@ -521,7 +521,7 @@ if ($socid && $action == 'create' && $user->rights->societe->creer) print '
'; print ''; - print ''; + print ''; print ''; print ''; @@ -586,12 +586,12 @@ if ($socid && $action == 'create' && $user->rights->societe->creer) print '
'.$langs->trans("LabelRIB").'
'.$langs->trans("LabelRIB").'
'.$langs->trans("Bank").'
'; // RUM - print ''; - print ''; + print ''; + print ''; // FRSTRECUR - print ''; - print ''; + print ''; + print ''; print '
'.$langs->trans("RUM").''.$langs->trans("RUMWillBeGenerated").'
'.$langs->trans("RUM").''.$langs->trans("RUMWillBeGenerated").'
'.$langs->trans("WithdrawMode").'
'.$langs->trans("WithdrawMode").'
'; } @@ -600,7 +600,7 @@ if ($socid && $action == 'create' && $user->rights->societe->creer) dol_fiche_end(); - print '
'; + print '
'; print ''; print '     '; print ''; From 5b4c215526862f8ef308b0fabd847fb9740d7761 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 30 Jul 2016 10:31:56 +0200 Subject: [PATCH 164/476] Fix size of field too small and bad translation --- htdocs/admin/prelevement.php | 2 +- htdocs/compta/facture/prelevement.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/admin/prelevement.php b/htdocs/admin/prelevement.php index b131009ab88..1a021996163 100644 --- a/htdocs/admin/prelevement.php +++ b/htdocs/admin/prelevement.php @@ -141,7 +141,7 @@ print ''; // ICS print ''.$langs->trans("ICS").''; print ''; -print ''; +print ''; print ''; //User diff --git a/htdocs/compta/facture/prelevement.php b/htdocs/compta/facture/prelevement.php index 0fa260bbe34..73c8a208295 100644 --- a/htdocs/compta/facture/prelevement.php +++ b/htdocs/compta/facture/prelevement.php @@ -509,7 +509,7 @@ if ($object->id > 0) { if ($num == 0) { - if ($object->statut > Facture::STATUS_DRAFT) print ''.$langs->trans("MakeWithdrawRequest").''; + if ($object->statut > Facture::STATUS_DRAFT) print ''.$langs->trans("MakeWithdrawRequest").''; else print ''.$langs->trans("MakeWithdrawRequest").''; } else print ''.$langs->trans("MakeWithdrawRequest").''; From b630f0b7107d31a028c86fa798eb58d580cbfdeb Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 30 Jul 2016 11:30:19 +0200 Subject: [PATCH 165/476] Fix use https and not http --- build/doxygen/doxygen_footer.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/doxygen/doxygen_footer.html b/build/doxygen/doxygen_footer.html index 410e57e8c2a..a6d5bdfb293 100644 --- a/build/doxygen/doxygen_footer.html +++ b/build/doxygen/doxygen_footer.html @@ -19,7 +19,7 @@ File added into doxygen generated documentation +for $projectname by Doxygen $doxygenversion @@ -32,7 +32,7 @@ google_ad_width = 468; google_ad_height = 60; //--> - +

From 7a72b9bb09bac280b0869ed2d63211cedb47ad37 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 30 Jul 2016 11:40:55 +0200 Subject: [PATCH 166/476] Use https links --- htdocs/core/doxygen.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/htdocs/core/doxygen.php b/htdocs/core/doxygen.php index fd92572836e..543586079ae 100644 --- a/htdocs/core/doxygen.php +++ b/htdocs/core/doxygen.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2008-2016 Laurent Destailleur * Copyright (C) 2009 Regis Houssin * * This program is free software; you can redistribute it and/or modify @@ -25,9 +25,12 @@ * This is source documentation for Dolibarr ERP/CRM.
* This documentation can be built or updated running the script dolibarr-doxygen-build.pl or from Eclipse with Doxygen plugin.
*
- * Dolibarr official web site: www.dolibarr.org
+ * Dolibarr official web site: www.dolibarr.org
*
* Dolibarr french portal: www.dolibarr.fr
* Dolibarr spanish portal: www.dolibarr.es
+ * Dolibarr italian portal: www.dolibarr.it
+ * Dolibarr greek portal: www.dolibarr.gr
+ * Dolibarr german portal: www.dolibarr.de
*
*/ From b3dab8a6f7904f09c637b73d2d868ecd2fb6637e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 30 Jul 2016 11:56:22 +0200 Subject: [PATCH 167/476] Better translation --- htdocs/langs/en_US/admin.lang | 2 +- htdocs/langs/en_US/companies.lang | 2 +- htdocs/langs/en_US/salaries.lang | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 87288cd5d4d..76778ae7375 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -1256,7 +1256,7 @@ LDAPFieldCompanyExample=Example : o LDAPFieldSid=SID LDAPFieldSidExample=Example : objectsid LDAPFieldEndLastSubscription=Date of subscription end -LDAPFieldTitle=Post/Function +LDAPFieldTitle=Job position LDAPFieldTitleExample=Example: title LDAPSetupNotComplete=LDAP setup not complete (go on others tabs) LDAPNoUserOrPasswordProvidedAccessIsReadOnly=No administrator or password provided. LDAP access will be anonymous and in read only mode. diff --git a/htdocs/langs/en_US/companies.lang b/htdocs/langs/en_US/companies.lang index f153fa68eee..a52e5fc8172 100644 --- a/htdocs/langs/en_US/companies.lang +++ b/htdocs/langs/en_US/companies.lang @@ -47,7 +47,7 @@ CivilityCode=Civility code RegisteredOffice=Registered office Lastname=Last name Firstname=First name -PostOrFunction=Post/Function +PostOrFunction=Job position UserTitle=Title Address=Address State=State/Province diff --git a/htdocs/langs/en_US/salaries.lang b/htdocs/langs/en_US/salaries.lang index da177410860..68407482edb 100644 --- a/htdocs/langs/en_US/salaries.lang +++ b/htdocs/langs/en_US/salaries.lang @@ -7,8 +7,8 @@ NewSalaryPayment=New salary payment SalaryPayment=Salary payment SalariesPayments=Salaries payments ShowSalaryPayment=Show salary payment -THM=Average hourly price -TJM=Average daily price +THM=Average hourly rate +TJM=Average daily rate CurrentSalary=Current salary THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used TJMDescription=This value is currently as information only and is not used for any calculation From ceb6199e87fa72660bf38fb8ca996ad745f64fbd Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 30 Jul 2016 12:31:32 +0200 Subject: [PATCH 168/476] Fix default numbering module of customer code was not enabled. --- htdocs/core/modules/modSociete.class.php | 2 +- htdocs/societe/rib.php | 32 ++++++++++++------------ 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/htdocs/core/modules/modSociete.class.php b/htdocs/core/modules/modSociete.class.php index baf680f0352..a8c1bc5bad8 100644 --- a/htdocs/core/modules/modSociete.class.php +++ b/htdocs/core/modules/modSociete.class.php @@ -77,7 +77,7 @@ class modSociete extends DolibarrModules $this->const[$r][0] = "SOCIETE_CODECLIENT_ADDON"; $this->const[$r][1] = "chaine"; - $this->const[$r][2] = "mod_codeclient_leopard"; + $this->const[$r][2] = "mod_codeclient_monkey"; $this->const[$r][3] = 'Module to control third parties codes'; $this->const[$r][4] = 0; $r++; diff --git a/htdocs/societe/rib.php b/htdocs/societe/rib.php index 0d8cdcc1264..58693b59d5b 100644 --- a/htdocs/societe/rib.php +++ b/htdocs/societe/rib.php @@ -424,7 +424,7 @@ if ($socid && $action == 'edit' && $user->rights->societe->creer) print '
'; print ''; - print ''; + print ''; print ''; print ''; @@ -456,22 +456,22 @@ if ($socid && $action == 'edit' && $user->rights->societe->creer) } // IBAN - print ''; + print ''; print ''; - print ''; + print ''; print ''; - print '"; - print ''; + print ''; print ''; print "\n"; - print '"; @@ -487,11 +487,11 @@ if ($socid && $action == 'edit' && $user->rights->societe->creer) if (empty($account->rum)) $account->rum = $prelevement->buildRumNumber($object->code_client, $account->datec, $account->id); // RUM - print ''; + print ''; print ''; // FRSTRECUR - print ''; + print ''; print ''; print '
'.$langs->trans("LabelRIB").'
'.$langs->trans("LabelRIB").'
'.$langs->trans("BankName").'
'.$langs->trans("IBAN").'
'.$langs->trans("IBAN").'
'.$langs->trans("BIC").'
'.$langs->trans("BIC").'
'.$langs->trans("BankAccountDomiciliation").''; + print '
'.$langs->trans("BankAccountDomiciliation").''; print '
'.$langs->trans("BankAccountOwner").'
'.$langs->trans("BankAccountOwner").'
'.$langs->trans("BankAccountOwnerAddress").''; + print '
'.$langs->trans("BankAccountOwnerAddress").''; print "
'.$langs->trans("RUM").'
'.$langs->trans("RUM").''.$account->rum.'
'.$langs->trans("WithdrawMode").'
'.$langs->trans("WithdrawMode").'
'; @@ -521,7 +521,7 @@ if ($socid && $action == 'create' && $user->rights->societe->creer) print '
'; print ''; - print ''; + print ''; print ''; print ''; @@ -557,22 +557,22 @@ if ($socid && $action == 'create' && $user->rights->societe->creer) } // IBAN - print ''; + print ''; print ''; - print ''; + print ''; print ''; - print '"; - print ''; + print ''; print ''; print "\n"; - print '"; @@ -586,11 +586,11 @@ if ($socid && $action == 'create' && $user->rights->societe->creer) print '
'.$langs->trans("LabelRIB").'
'.$langs->trans("LabelRIB").'
'.$langs->trans("Bank").'
'.$langs->trans("IBAN").'
'.$langs->trans("IBAN").'
'.$langs->trans("BIC").'
'.$langs->trans("BIC").'
'.$langs->trans("BankAccountDomiciliation").''; + print '
'.$langs->trans("BankAccountDomiciliation").''; print '
'.$langs->trans("BankAccountOwner").'
'.$langs->trans("BankAccountOwner").'
'.$langs->trans("BankAccountOwnerAddress").''; + print '
'.$langs->trans("BankAccountOwnerAddress").''; print '
'; // RUM - print ''; + print ''; print ''; // FRSTRECUR - print ''; + print ''; print ''; print '
'.$langs->trans("RUM").'
'.$langs->trans("RUM").''.$langs->trans("RUMWillBeGenerated").'
'.$langs->trans("WithdrawMode").'
'.$langs->trans("WithdrawMode").'
'; From e3f0ab9109822c3dd66e41f249a844deecfbb2a0 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 30 Jul 2016 14:05:39 +0200 Subject: [PATCH 169/476] Fix tag was not visible --- dev/initdata/README | 2 +- dev/initdemo/initdemo.sh | 36 +++++++++++++++++------------------- htdocs/categories/index.php | 9 +++++++-- 3 files changed, 25 insertions(+), 22 deletions(-) diff --git a/dev/initdata/README b/dev/initdata/README index 1db130dfe3e..97f5f0d3cd7 100644 --- a/dev/initdata/README +++ b/dev/initdata/README @@ -2,4 +2,4 @@ README ------ Scripts in this directory can be used to load or purge data of a database instance. -WARNING: This may erase data. +WARNING: Some of this script may delete definitely data. diff --git a/dev/initdemo/initdemo.sh b/dev/initdemo/initdemo.sh index 10dc671e09d..5e24b7f3816 100755 --- a/dev/initdemo/initdemo.sh +++ b/dev/initdemo/initdemo.sh @@ -15,7 +15,7 @@ export mydir=`echo "$0" | sed -e 's/initdemo.sh//'`; -if [ "x$mydir" = "x" ] +if [ "x$mydir" = 'x' -o "x$mydir" = 'x./' ] then export mydir="." fi @@ -132,24 +132,7 @@ then exit;; esac - # ---------------------------- chemin d'acces du repertoire documents - #DIALOG=${DIALOG=dialog} - #fichtemp=`tempfile 2>/dev/null` || fichtemp=/tmp/test$$ - #trap "rm -f $fichtemp" 0 1 2 5 15 - #$DIALOG --title "Init Dolibarr with demo values" --clear \ - # --inputbox "Full path to documents directory (ex: /var/www/dolibarr/documents)- no / at end :" 16 55 2> $fichtemp - - #valret=$? - - #case $valret in - # 0) - #docs=`cat $fichtemp`;; - # 1) - #exit;; - # 255) - #exit;; - #esac - + # ---------------------------- confirmation DIALOG=${DIALOG=dialog} $DIALOG --title "Init Dolibarr with demo values" --clear \ @@ -177,6 +160,21 @@ echo "mysql -P$port -u$admin -p***** $base < $mydir/$dumpfile" mysql -P$port -u$admin $passwd $base < $mydir/$dumpfile export res=$? + +# ---------------------------- copy demo files +export documentdir=`cat $mydir/../../htdocs/conf/conf.php | grep '^\$dolibarr_main_data_root' | sed -e 's/$dolibarr_main_data_root=//' | sed -e 's/;//' | sed -e "s/'//g" ` +if [ "x$documentdir" != "x" ] +then + echo cp -pr $mydir/documents_demo/* "$documentdir/" + cp -pr $mydir/documents_demo/* "$documentdir/" + echo cp -pr $mydir/../../htdocs/install/doctemplates/* "$documentdir/doctemplates/" + cp -pr $mydir/../../htdocs/install/doctemplates/* "$documentdir/doctemplates/" +else + echo Detection of documents directory failed so demo files were not copied. +fi + + + if [ "x$res" = "x0" ] then echo "Success, file successfully loaded." diff --git a/htdocs/categories/index.php b/htdocs/categories/index.php index f7102bc44e2..a2c7186933e 100644 --- a/htdocs/categories/index.php +++ b/htdocs/categories/index.php @@ -1,7 +1,7 @@ * Copyright (C) 2005 Eric Seigne - * Copyright (C) 2006-2015 Laurent Destailleur + * Copyright (C) 2006-2016 Laurent Destailleur * Copyright (C) 2007 Patrick Raguin * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2015 Raphaël Doursenaud @@ -118,9 +118,14 @@ if ($catname || $id > 0) $categstatic->ref=$cat->label; $categstatic->label=$cat->label; $categstatic->type=$cat->type; + $categstatic->color=$cat->color; + print 'color?' style="background: #'.$categstatic->color.';"':' style="background: #aaa"').'>'; print $categstatic->getNomUrl(1,''); + print ''; + print "\n"; + print "\t\t"; + print $cat->description; print "\n"; - print "\t\t".$cat->description."\n"; print "\t\n"; } print ""; From a6147ee73b6894d4bd867753dccee96cf0d229c9 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 30 Jul 2016 14:49:29 +0200 Subject: [PATCH 170/476] Miscellaneous fixes --- htdocs/contact/card.php | 2 +- htdocs/core/lib/functions.lib.php | 12 ++++++------ htdocs/langs/en_US/companies.lang | 3 ++- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/htdocs/contact/card.php b/htdocs/contact/card.php index 77a951eef06..512beec77ef 100644 --- a/htdocs/contact/card.php +++ b/htdocs/contact/card.php @@ -548,7 +548,7 @@ else } else { print ''; - print $form->select_company($socid,'socid','',1); + print $form->select_company($socid,'socid','','SelectThirdParty'); print ''; } } diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 54658f531c7..b550246dd6f 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -1009,26 +1009,26 @@ function dol_format_address($object,$withcountry=0,$sep="\n",$outputlangs='') global $conf,$langs; $ret=''; - $countriesusingstate=array('AU','US','IN','GB','ES','UK','TR'); // See also MAIN_FORCE_STATE_INTO_ADDRESS + $countriesusingstate=array('AU','CA','US','IN','GB','ES','UK','TR'); // See also MAIN_FORCE_STATE_INTO_ADDRESS // Address $ret .= $object->address; // Zip/Town/State - if (in_array($object->country_code,array('US','AU')) || ! empty($conf->global->MAIN_FORCE_STATE_INTO_ADDRESS)) // US: title firstname name \n address lines \n town, state, zip \n country + if (in_array($object->country_code,array('AU', 'CA', 'US')) || ! empty($conf->global->MAIN_FORCE_STATE_INTO_ADDRESS)) // US: title firstname name \n address lines \n town, state, zip \n country { $ret .= ($ret ? $sep : '' ).$object->town; if ($object->state) { - $ret.=", ".$object->state; + $ret.=($ret?", ":'').$object->state; } - if ($object->zip) $ret .= ', '.$object->zip; + if ($object->zip) $ret .= ($ret?", ":'').$object->zip; } else if (in_array($object->country_code,array('GB','UK'))) // UK: title firstname name \n address lines \n town state \n zip \n country { $ret .= ($ret ? $sep : '' ).$object->town; if ($object->state) { - $ret.=", ".$object->state; + $ret.=($ret?", ":'').$object->state; } if ($object->zip) $ret .= ($ret ? $sep : '' ).$object->zip; } @@ -5603,7 +5603,7 @@ function natural_search($fields, $value, $mode=0, $nofirstand=0) * * @param string $file Original filename (full or relative path) * @param string $extName Extension to differenciate thumb file name ('', '_small', '_mini') - * @param string $extImgTarget Force image extension for thumbs. Use '' to keep same extension than original image. Use '.png' for generated thumb files. + * @param string $extImgTarget Force image extension for thumbs. Use '' to keep same extension than original image (default). * @return string New file name (full or relative path, including the thumbs/) */ function getImageFileNameForSize($file, $extName, $extImgTarget='') diff --git a/htdocs/langs/en_US/companies.lang b/htdocs/langs/en_US/companies.lang index a52e5fc8172..b80562833b2 100644 --- a/htdocs/langs/en_US/companies.lang +++ b/htdocs/langs/en_US/companies.lang @@ -64,7 +64,7 @@ Chat=Chat PhonePro=Prof. phone PhonePerso=Pers. phone PhoneMobile=Mobile -No_Email=Don't send mass e-mailings +No_Email=Refuse mass e-mailings Fax=Fax Zip=Zip Code Town=City @@ -294,6 +294,7 @@ ContactForProposals=Proposal's contact ContactForContracts=Contract's contact ContactForInvoices=Invoice's contact NoContactForAnyOrder=This contact is not a contact for any order +NoContactForAnyOrderOrShipments=This contact is not a contact for any order or shipment NoContactForAnyProposal=This contact is not a contact for any commercial proposal NoContactForAnyContract=This contact is not a contact for any contract NoContactForAnyInvoice=This contact is not a contact for any invoice From d60ac77ad39886edaa242206f1d2ae64cd109485 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 30 Jul 2016 15:49:27 +0200 Subject: [PATCH 171/476] NEW The autofill zip/town table option is on by default. --- htdocs/core/class/conf.class.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/htdocs/core/class/conf.class.php b/htdocs/core/class/conf.class.php index e30b0fbd478..e9c2b597398 100644 --- a/htdocs/core/class/conf.class.php +++ b/htdocs/core/class/conf.class.php @@ -484,6 +484,9 @@ class Conf // By default, we propagate contacts if (! isset($this->global->MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN)) $this->global->MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN='*'; // Can be also '*' or '^(BILLING|SHIPPING|CUSTOMER|.*)$' (regex not yet implemented) + // By default, we use the zip town autofill + if (! isset($conf->global->MAIN_USE_ZIPTOWN_DICTIONNARY)) $conf->global->MAIN_USE_ZIPTOWN_DICTIONNARY=1; + // Define list of limited modules if (! isset($this->global->MAIN_MODULES_FOR_EXTERNAL)) $this->global->MAIN_MODULES_FOR_EXTERNAL='user,supplier_proposal,facture,categorie,commande,fournisseur,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda,adherent'; // '' means 'all'. Note that contact is added here as it should be a module later. From 7678940e50d53e6d4a2b4a6e03dd5ee530ff5610 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 30 Jul 2016 15:51:27 +0200 Subject: [PATCH 172/476] Fix refresh cache value of nb of files into a dir into ECM module --- dev/initdemo/initdemo.sh | 4 ++++ htdocs/ecm/class/ecmdirectory.class.php | 13 ++++++++++--- htdocs/ecm/docmine.php | 10 ++++++++-- htdocs/ecm/index.php | 3 +++ htdocs/ecm/tpl/enablefiletreeajax.tpl.php | 1 + 5 files changed, 26 insertions(+), 5 deletions(-) diff --git a/dev/initdemo/initdemo.sh b/dev/initdemo/initdemo.sh index 5e24b7f3816..497d3abbf50 100755 --- a/dev/initdemo/initdemo.sh +++ b/dev/initdemo/initdemo.sh @@ -169,6 +169,10 @@ then cp -pr $mydir/documents_demo/* "$documentdir/" echo cp -pr $mydir/../../htdocs/install/doctemplates/* "$documentdir/doctemplates/" cp -pr $mydir/../../htdocs/install/doctemplates/* "$documentdir/doctemplates/" + mkdir -p "$documentdir/ecm/Administrative documents" + mkdir -p "$documentdir/ecm/Images" + echo cp -pr $mydir/../../doc/images/* "$documentdir/ecm/Images" + cp -pr $mydir/../../doc/images/* "$documentdir/ecm/Images" else echo Detection of documents directory failed so demo files were not copied. fi diff --git a/htdocs/ecm/class/ecmdirectory.class.php b/htdocs/ecm/class/ecmdirectory.class.php index 99b1441e658..c16cfe62e7c 100644 --- a/htdocs/ecm/class/ecmdirectory.class.php +++ b/htdocs/ecm/class/ecmdirectory.class.php @@ -239,14 +239,15 @@ class EcmDirectory // extends CommonObject /** * Update cache of nb of documents into database * - * @param string $sign '+' or '-' + * @param string $value '+' or '-' or new number * @return int <0 if KO, >0 if OK */ - function changeNbOfFiles($sign) + function changeNbOfFiles($value) { // Update request $sql = "UPDATE ".MAIN_DB_PREFIX."ecm_directories SET"; - $sql.= " cachenbofdoc = cachenbofdoc ".$sign." 1"; + if (preg_match('/[0-9]+/', $value)) $sql.= " cachenbofdoc = ".(int) $value; + else $sql.= " cachenbofdoc = cachenbofdoc ".$value." 1"; $sql.= " WHERE rowid = ".$this->id; dol_syslog(get_class($this)."::changeNbOfFiles", LOG_DEBUG); @@ -256,6 +257,12 @@ class EcmDirectory // extends CommonObject $this->error="Error ".$this->db->lasterror(); return -1; } + else + { + if (preg_match('/[0-9]+/', $value)) $this->cachenbofdoc = (int) $value; + else if ($value == '+') $this->cachenbofdoc++; + else if ($value == '-') $this->cachenbofdoc--; + } return 1; } diff --git a/htdocs/ecm/docmine.php b/htdocs/ecm/docmine.php index ae4e6c6b08c..17e1a1a4308 100644 --- a/htdocs/ecm/docmine.php +++ b/htdocs/ecm/docmine.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2008-2016 Laurent Destailleur * * 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 @@ -272,7 +272,13 @@ print ''.$langs->trans("ECMDirectoryForFiles").''; print '/ecm/'.$relativepath; print ''; print ''.$langs->trans("ECMNbOfDocs").''; -print count($filearray); +$nbofiles=count($filearray); +print $nbofiles; +// Test if nb is same than in cache +if ($nbofiles != $ecmdir->cachenbofdoc) +{ + $ecmdir->changeNbOfFiles((string) $nbofiles); +} print ''; print ''.$langs->trans("TotalSizeOfAttachedFiles").''; print dol_print_size($totalsize); diff --git a/htdocs/ecm/index.php b/htdocs/ecm/index.php index 896db6f0b85..115ccd52f8b 100644 --- a/htdocs/ecm/index.php +++ b/htdocs/ecm/index.php @@ -201,8 +201,11 @@ if ($action == 'confirm_deletesection' && GETPOST('confirm') == 'yes') } // Refresh directory view +// This refresh list of dirs, not list of files (for preformance reason). List of files is refresh only if dir was not synchronized. +// To refresh content of dir with cache, just open the dir in edit mode. if ($action == 'refreshmanual') { + $ecmdirtmp = new EcmDirectory($db); // This part of code is same than into file ecm/ajax/ecmdatabase.php TODO Remove duplicate diff --git a/htdocs/ecm/tpl/enablefiletreeajax.tpl.php b/htdocs/ecm/tpl/enablefiletreeajax.tpl.php index 7b2145d0f93..bbcbb7090a4 100644 --- a/htdocs/ecm/tpl/enablefiletreeajax.tpl.php +++ b/htdocs/ecm/tpl/enablefiletreeajax.tpl.php @@ -50,6 +50,7 @@ $(document).ready(function() { ); $('#refreshbutton').click( function() { + console.log("Click on refreshbutton"); $.pleaseBePatient("trans('PleaseBePatient'); ?>"); $.get( "", { action: "build", From 857de646071d19ac51011923da1b95763bb6924b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 30 Jul 2016 16:41:10 +0200 Subject: [PATCH 173/476] Fix multicurrency --- dev/initdemo/updatedemo.php | 165 ++++++++++++++++++++++++++++++ htdocs/comm/propal/card.php | 2 +- htdocs/commande/card.php | 2 +- htdocs/compta/facture.php | 2 +- htdocs/fourn/commande/card.php | 2 +- htdocs/fourn/facture/card.php | 2 +- htdocs/langs/en_US/main.lang | 1 + htdocs/supplier_proposal/card.php | 4 +- 8 files changed, 173 insertions(+), 7 deletions(-) create mode 100755 dev/initdemo/updatedemo.php diff --git a/dev/initdemo/updatedemo.php b/dev/initdemo/updatedemo.php new file mode 100755 index 00000000000..feabbe9ac6c --- /dev/null +++ b/dev/initdemo/updatedemo.php @@ -0,0 +1,165 @@ +#!/usr/bin/env php + + * + * 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 2 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 . + * or see http://www.gnu.org/ + * + * Get a distant dump file and load it into a mysql database + */ + +$sapi_type = php_sapi_name(); +$script_file = basename(__FILE__); +$path=dirname(__FILE__).'/'; + +// Test if batch mode +if (substr($sapi_type, 0, 3) == 'cgi') { + echo "Error: You are using PHP for CGI. To execute ".$script_file." from command line, you must use PHP for CLI mode.\n"; + exit; +} + +// Global variables +$error=0; + +$confirm=isset($argv[1])?$argv[1]:''; + +// Include Dolibarr environment +$res=0; +if (! $res && file_exists($path."../../master.inc.php")) $res=@include($path."../../master.inc.php"); +if (! $res && file_exists($path."../../htdocs/master.inc.php")) $res=@include($path."../../htdocs/master.inc.php"); +if (! $res && file_exists("../master.inc.php")) $res=@include("../master.inc.php"); +if (! $res && file_exists("../../master.inc.php")) $res=@include("../../master.inc.php"); +if (! $res && file_exists("../../../master.inc.php")) $res=@include("../../../master.inc.php"); +if (! $res && preg_match('/\/nltechno([^\/]*)\//',$_SERVER["PHP_SELF"],$reg)) $res=@include($path."../../../dolibarr".$reg[1]."/htdocs/master.inc.php"); // Used on dev env only +if (! $res && preg_match('/\/nltechno([^\/]*)\//',$_SERVER["PHP_SELF"],$reg)) $res=@include("../../../dolibarr".$reg[1]."/htdocs/master.inc.php"); // Used on dev env only +if (! $res) die ("Failed to include master.inc.php file\n"); +include_once(DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'); + + +/* + * Main + */ + +if (empty($confirm)) +{ + print "Usage: $script_file confirm\n"; + print "Return code: 0 if success, <>0 if error\n"; + exit(-1); +} + + +$tmp=dol_getdate(dol_now()); + + + +$year=2010; +$currentyear=$tmp['year']; +while ($year < ($currentyear - 1)) // We want to keep 2 years of data +{ + $delta=($currentyear - $year); + + print "Correct proposal for year ".$year." and move them to current year ".$currentyear."\n"; + $sql="select rowid from ".MAIN_DB_PREFIX."propal where datep between '".$year."-01-01' and '".$year."-12-31'"; + $resql = $db->query($sql); + if ($resql) + { + $num = $db->num_rows($resql); + $i=0; + while ($i < $num) + { + $obj=$db->fetch_object($resql); + if ($obj) + { + print "."; + + $sql2="UPDATE ".MAIN_DB_PREFIX."propal set "; + $sql2.= "datep = DATE_ADD(datep, INTERVAL ".$delta." YEAR),"; + $sql2.= "fin_validite = DATE_ADD(fin_validite, INTERVAL ".$delta." YEAR),"; + $sql2.= "date_valid = DATE_ADD(date_valid, INTERVAL ".$delta." YEAR),"; + $sql2.= "date_cloture = DATE_ADD(date_cloture, INTERVAL ".$delta." YEAR)"; + $sql2.=" WHERE rowid = ".$obj->rowid; + //print $sql2."\n"; + + $resql2 = $db->query($sql2); + if (! $resql2) dol_print_error($db); + } + $i++; + } + } + else dol_print_error($db); + + print "Correct order for year ".$year." and move them to current year ".$currentyear."\n"; + $sql="select rowid from ".MAIN_DB_PREFIX."commande where date_commande between '".$year."-01-01' and '".$year."-12-31'"; + $resql = $db->query($sql); + if ($resql) + { + $num = $db->num_rows($resql); + $i=0; + while ($i < $num) + { + $obj=$db->fetch_object($resql); + if ($obj) + { + print "."; + + $sql2="UPDATE ".MAIN_DB_PREFIX."commande set "; + $sql2.= "date_commande = DATE_ADD(date_commande, INTERVAL ".$delta." YEAR),"; + $sql2.= "date_valid = DATE_ADD(date_valid, INTERVAL ".$delta." YEAR),"; + $sql2.= "date_cloture = DATE_ADD(date_cloture, INTERVAL ".$delta." YEAR)"; + $sql2.=" WHERE rowid = ".$obj->rowid; + //print $sql2."\n"; + + $resql2 = $db->query($sql2); + if (! $resql2) dol_print_error($db); + } + $i++; + } + } + else dol_print_error($db); + + print "Correct invoice for year ".$year." and move them to current year ".$currentyear."\n"; + $sql="select rowid from ".MAIN_DB_PREFIX."facture where datef between '".$year."-01-01' and '".$year."-12-31'"; + $resql = $db->query($sql); + if ($resql) + { + $num = $db->num_rows($resql); + $i=0; + while ($i < $num) + { + $obj=$db->fetch_object($resql); + if ($obj) + { + print "."; + + $sql2="UPDATE ".MAIN_DB_PREFIX."facture set "; + $sql2.= "datef = DATE_ADD(datef, INTERVAL ".$delta." YEAR),"; + $sql2.= "date_valid = DATE_ADD(date_valid, INTERVAL ".$delta." YEAR),"; + $sql2.= "date_lim_reglement = DATE_ADD(date_lim_reglement, INTERVAL ".$delta." YEAR)"; + $sql2.=" WHERE rowid = ".$obj->rowid; + //print $sql2."\n"; + + $resql2 = $db->query($sql2); + if (! $resql2) dol_print_error($db); + } + $i++; + } + } + else dol_print_error($db); + + $year++; +} + +print "\n"; + +exit(0); diff --git a/htdocs/comm/propal/card.php b/htdocs/comm/propal/card.php index 2f040b4610d..b09ce43af96 100644 --- a/htdocs/comm/propal/card.php +++ b/htdocs/comm/propal/card.php @@ -1939,7 +1939,7 @@ if ($action == 'create') print ''; print ''; print ''; if ($action != 'editmulticurrencyrate' && ! empty($object->brouillon)) print ''; diff --git a/htdocs/commande/card.php b/htdocs/commande/card.php index 81f101359f8..bf1925ed061 100644 --- a/htdocs/commande/card.php +++ b/htdocs/commande/card.php @@ -2208,7 +2208,7 @@ if ($action == 'create' && $user->rights->commande->creer) print ''; print '
'; - print fieldLabel('Rate','multicurrency_tx'); + print fieldLabel('CurrencyRate','multicurrency_tx'); print 'id . '">' . img_edit($langs->transnoentitiesnoconv('SetMultiCurrencyCode'), 1) . '
'; print ''; if ($action != 'editmulticurrencyrate' && ! empty($object->brouillon)) print ''; diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php index 5af6240fa9e..f9c02522a87 100644 --- a/htdocs/compta/facture.php +++ b/htdocs/compta/facture.php @@ -3559,7 +3559,7 @@ else if ($id > 0 || ! empty($ref)) print ''; print ''; diff --git a/htdocs/holiday/card.php b/htdocs/holiday/card.php index 9b3494c762f..4c6aeb99110 100644 --- a/htdocs/holiday/card.php +++ b/htdocs/holiday/card.php @@ -794,7 +794,7 @@ if (empty($id) || $action == 'add' || $action == 'request' || $action == 'create // User print ''; - print ''; + print ''; print ''; + print ''; print ''; // Ref customer - print ''; } llxFooter(); From 54df49aebe275d40d4e5a8ccace85f9f78e6770c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 2 Aug 2016 13:36:16 +0200 Subject: [PATCH 223/476] Fix strict sql --- htdocs/product/reassort.php | 6 ++-- htdocs/product/stock/replenish.php | 50 +++++++++++++++++++----------- 2 files changed, 35 insertions(+), 21 deletions(-) diff --git a/htdocs/product/reassort.php b/htdocs/product/reassort.php index e2a64887269..4106b4ef936 100644 --- a/htdocs/product/reassort.php +++ b/htdocs/product/reassort.php @@ -113,7 +113,7 @@ $htmlother=new FormOther($db); $title=$langs->trans("ProductsAndServices"); -$sql = 'SELECT p.rowid, p.ref, p.label, p.barcode, p.price, p.price_ttc, p.price_base_type,p.entity,'; +$sql = 'SELECT p.rowid, p.ref, p.label, p.barcode, p.price, p.price_ttc, p.price_base_type, p.entity,'; $sql.= ' p.fk_product_type, p.tms as datem,'; $sql.= ' p.duration, p.tosell as statut, p.tobuy, p.seuil_stock_alerte, p.desiredstock,'; $sql.= ' SUM(s.reel) as stock_physique'; @@ -167,7 +167,7 @@ if ($search_categ) { $sql .= " AND cp.fk_categorie = ".$db->escape($search_categ); } -$sql.= " GROUP BY p.rowid, p.ref, p.label, p.barcode, p.price, p.price_ttc, p.price_base_type,"; +$sql.= " GROUP BY p.rowid, p.ref, p.label, p.barcode, p.price, p.price_ttc, p.price_base_type, p.entity,"; $sql.= " p.fk_product_type, p.tms, p.duration, p.tosell, p.tobuy, p.seuil_stock_alerte, p.desiredstock"; if ($toolowstock) $sql.= " HAVING SUM(".$db->ifsql('s.reel IS NULL', '0', 's.reel').") < p.seuil_stock_alerte"; // Not used yet $sql.= $db->order($sortfield,$sortorder); @@ -278,7 +278,7 @@ if ($resql) } } - if ($virtualdiffersfromphysical) print_liste_field_titre($langs->trans("VirtualStock"),$_SERVER["PHP_SELF"], "stock_theorique",$param,"",'align="right"',$sortfield,$sortorder); + if ($virtualdiffersfromphysical) print_liste_field_titre($langs->trans("VirtualStock"),$_SERVER["PHP_SELF"], "",$param,"",'align="right"',$sortfield,$sortorder); print_liste_field_titre(''); print_liste_field_titre($langs->trans("Status").' ('.$langs->trans("Sell").')',$_SERVER["PHP_SELF"], "p.tosell",$param,"",'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Status").' ('.$langs->trans("Buy").')',$_SERVER["PHP_SELF"], "p.tobuy",$param,"",'align="right"',$sortfield,$sortorder); diff --git a/htdocs/product/stock/replenish.php b/htdocs/product/stock/replenish.php index 25dd6728df8..ebd9f63f127 100644 --- a/htdocs/product/stock/replenish.php +++ b/htdocs/product/stock/replenish.php @@ -114,7 +114,7 @@ if ($action == 'order' && isset($_POST['valid'])) $supplierpriceid = GETPOST('fourn'.$i, 'int'); //get all the parameters needed to create a line $qty = GETPOST('tobuy'.$i, 'int'); - $desc = GETPOST('desc'.$i, 'alpha'); + //$desc = GETPOST('desc'.$i, 'alpha'); $sql = 'SELECT fk_product, fk_soc, ref_fourn'; $sql .= ', tva_tx, unitprice FROM '; $sql .= MAIN_DB_PREFIX . 'product_fournisseur_price'; @@ -128,8 +128,20 @@ if ($action == 'order' && isset($_POST['valid'])) $obj = $db->fetch_object($resql); $line = new CommandeFournisseurLigne($db); $line->qty = $qty; - $line->desc = $desc; $line->fk_product = $obj->fk_product; + + $product = new Product($db); + $product->fetch($obj->fk_product); + if (! empty($conf->global->MAIN_MULTILANGS)) + { + $product->getMultiLangs(); + } + $line->desc = $product->description; + if (! empty($conf->global->MAIN_MULTILANGS)) + { + // TODO Get desc in language of thirdparty + } + $line->tva_tx = $obj->tva_tx; $line->subprice = $obj->unitprice; $line->total_ht = $obj->unitprice * $qty; @@ -241,7 +253,7 @@ $form = new Form($db); $title = $langs->trans('Status'); -$sql = 'SELECT p.rowid, p.ref, p.label,p.description, p.price,'; +$sql = 'SELECT p.rowid, p.ref, p.label, p.description, p.price,'; $sql.= ' p.price_ttc, p.price_base_type,p.fk_product_type,'; $sql.= ' p.tms as datem, p.duration, p.tobuy,'; $sql.= ' p.desiredstock, p.seuil_stock_alerte as alertstock,'; @@ -280,7 +292,7 @@ if ($snom) { } $sql.= ' AND p.tobuy = 1'; if (!empty($canvas)) $sql .= ' AND p.canvas = "' . $db->escape($canvas) . '"'; -$sql.= ' GROUP BY p.rowid, p.ref, p.label, p.price'; +$sql.= ' GROUP BY p.rowid, p.ref, p.label, p.description, p.price'; $sql.= ', p.price_ttc, p.price_base_type,p.fk_product_type, p.tms'; $sql.= ', p.duration, p.tobuy'; $sql.= ', p.desiredstock, p.seuil_stock_alerte'; @@ -459,20 +471,20 @@ print_liste_field_titre($langs->trans('Supplier'), $_SERVER["PHP_SELF"], '', $pa print "\n"; // Lignes des champs de filtre -print ''. -''. -''. -''; +print ''; +print ''; +print ''; +print ''; if (!empty($conf->service->enabled) && $type == 1) print ''; -print ''. - ''. - ''. - ''. - ''; - print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; print ''; $prod = new Product($db); @@ -558,7 +570,9 @@ while ($i < ($limit ? min($num, $limit) : $num)) print ''; - print ''; + print ''; if (!empty($conf->service->enabled) && $type == 1) { From 86f576f8d3c47155efec223f6a0565707cf9a774 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 2 Aug 2016 13:45:35 +0200 Subject: [PATCH 224/476] Fix strict sql --- htdocs/compta/facture/list.php | 2 +- htdocs/contrat/list.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/compta/facture/list.php b/htdocs/compta/facture/list.php index 67e3d0aabc9..86792d077a5 100644 --- a/htdocs/compta/facture/list.php +++ b/htdocs/compta/facture/list.php @@ -761,7 +761,7 @@ $sql.=$hookmanager->resPrint; if (! $sall) { - $sql.= ' GROUP BY f.rowid, f.facnumber, ref_client, f.type, f.note_private, f.note_public, f.increment, f.total, f.tva, f.total_ttc,'; + $sql.= ' GROUP BY f.rowid, f.facnumber, ref_client, f.type, f.note_private, f.note_public, f.increment, fk_mode_reglement, f.total, f.tva, f.total_ttc,'; $sql.= ' f.datef, f.date_lim_reglement,'; $sql.= ' f.paye, f.fk_statut,'; $sql.= ' f.datec, f.tms,'; diff --git a/htdocs/contrat/list.php b/htdocs/contrat/list.php index 8e81c63c0ee..cd0c934ead2 100644 --- a/htdocs/contrat/list.php +++ b/htdocs/contrat/list.php @@ -172,7 +172,7 @@ if ($sall) { $sql .= natural_search(array_keys($fieldstosearchall), $sall); } if ($search_user > 0) $sql.= " AND ec.fk_c_type_contact = tc.rowid AND tc.element='contrat' AND tc.source='internal' AND ec.element_id = c.rowid AND ec.fk_socpeople = ".$search_user; -$sql.= " GROUP BY c.rowid, c.ref, c.datec, c.date_contrat, c.statut, c.ref_supplier, s.nom, s.rowid"; +$sql.= " GROUP BY c.rowid, c.ref, c.datec, c.date_contrat, c.statut, c.ref_customer, c.ref_supplier, s.nom, s.rowid"; $totalnboflines=0; $result=$db->query($sql); if ($result) From cc219099098343326a6ed2bca5329ce743a7f942 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 2 Aug 2016 14:33:46 +0200 Subject: [PATCH 225/476] Fix dol_include_once could not work to get external url of a module --- htdocs/core/lib/functions.lib.php | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index de31fe2d0b9..3a4021653cc 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -333,7 +333,7 @@ function dol_include_once($relpath, $classname='') * Return path of url or filesystem. Return alternate root if exists * * @param string $path Relative path to file (if mode=0) or relative url (if mode=1). Ie: mydir/myfile, ../myfile - * @param int $type 0=Used for a Filesystem path, 1=Used for an URL path (output relative), 2=Used for an URL path (output full path) + * @param int $type 0=Used for a Filesystem path, 1=Used for an URL path (output relative), 2=Used for an URL path (output full path using same host that current url), 3=Used for an URL path (output full path using host defined into $dolibarr_main_url_root of conf file) * @return string Full filesystem path (if mode=0), Full url path (if mode=1) */ function dol_buildpath($path, $type=0) @@ -364,6 +364,8 @@ function dol_buildpath($path, $type=0) $res=''; if ($type == 1) $res = DOL_URL_ROOT.'/'.$path; // Standard value if ($type == 2) $res = DOL_MAIN_URL_ROOT.'/'.$path; // Standard value + if ($type == 3) $res = DOL_URL_ROOT.'/'.$path; + foreach ($conf->file->dol_document_root as $key => $dirroot) // ex: array(["main"]=>"/home/main/htdocs", ["alt0"]=>"/home/dirmod/htdocs", ...) { if ($key == 'main') continue; @@ -379,7 +381,18 @@ function dol_buildpath($path, $type=0) } if ($type == 2) { - $res=(preg_match('/^http/i',$conf->file->dol_url_root[$key])?'':DOL_MAIN_URL_ROOT).$conf->file->dol_url_root[$key].'/'.$path; + $res=(preg_match('/^http/i',$conf->file->dol_url_root[$key])?'':DOL_MAIN_URL_ROOT).$conf->file->dol_url_root[$key].'/'.$path; + } + if ($type == 3) + { + global $dolibarr_main_url_root; + + // Define $urlwithroot + $urlwithouturlroot=preg_replace('/'.preg_quote(DOL_URL_ROOT,'/').'$/i','',trim($dolibarr_main_url_root)); + $urlwithroot=$urlwithouturlroot.DOL_URL_ROOT; // This is to use external domain name found into config file + //$urlwithroot=DOL_MAIN_URL_ROOT; // This is to use same domain name than current + + $res=(preg_match('/^http/i',$conf->file->dol_url_root[$key])?'':$urlwithroot).$conf->file->dol_url_root[$key].'/'.$path; } break; } From 5144f21c6ce0a6c49c5b4769cd1cca36c22f651d Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Tue, 2 Aug 2016 15:36:00 +0200 Subject: [PATCH 226/476] FIX php Strict --- htdocs/core/modules/barcode/mod_barcode_product_standard.php | 4 ++-- htdocs/core/modules/barcode/modules_barcode.class.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/htdocs/core/modules/barcode/mod_barcode_product_standard.php b/htdocs/core/modules/barcode/mod_barcode_product_standard.php index aeb7ea4cd8f..12f4fb96545 100644 --- a/htdocs/core/modules/barcode/mod_barcode_product_standard.php +++ b/htdocs/core/modules/barcode/mod_barcode_product_standard.php @@ -278,7 +278,7 @@ class mod_barcode_product_standard extends ModeleNumRefBarCode } dol_syslog(get_class($this).'::verif_syntax codefortest='.$codefortest." typefortest=".$typefortest); - + $newcodefortest=$codefortest; // Special case, if mask is on 12 digits instead of 13, we remove last char into code to test @@ -290,7 +290,7 @@ class mod_barcode_product_standard extends ModeleNumRefBarCode dol_syslog(get_class($this).'::verif_syntax newcodefortest='.$newcodefortest); } } - + $result=check_value($mask,$newcodefortest); return $result; diff --git a/htdocs/core/modules/barcode/modules_barcode.class.php b/htdocs/core/modules/barcode/modules_barcode.class.php index d03302f36b7..43924165901 100644 --- a/htdocs/core/modules/barcode/modules_barcode.class.php +++ b/htdocs/core/modules/barcode/modules_barcode.class.php @@ -87,11 +87,11 @@ abstract class ModeleNumRefBarCode /** * Return next value available * - * @param Societe $objsoc Object thirdparty + * @param Societe $objproduct Object Product * @param int $type Type * @return string Value */ - function getNextValue($objsoc=0,$type=-1) + function getNextValue($objproduct,$type='') { global $langs; return $langs->trans("Function_getNextValue_InModuleNotWorking"); From 75b909ce9348a622ee311a09701db0140a50489c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 2 Aug 2016 16:55:32 +0200 Subject: [PATCH 227/476] Fix missing transaction in update_perso function --- htdocs/contact/class/contact.class.php | 25 ++++++++++++++++++++++++- htdocs/contact/perso.php | 17 +++++++++++------ 2 files changed, 35 insertions(+), 7 deletions(-) diff --git a/htdocs/contact/class/contact.class.php b/htdocs/contact/class/contact.class.php index 259918c5aa9..1edb0b1d3c3 100644 --- a/htdocs/contact/class/contact.class.php +++ b/htdocs/contact/class/contact.class.php @@ -474,13 +474,16 @@ class Contact extends CommonObject * * @param int $id Id of contact * @param User $user User asking to change alert or birthday + * @param int $notrigger 0=no, 1=yes * @return int <0 if KO, >=0 if OK */ - function update_perso($id, $user=null) + function update_perso($id, $user=null, $notrigger=0) { $error=0; $result=false; + $this->db->begin(); + // Mis a jour contact $sql = "UPDATE ".MAIN_DB_PREFIX."socpeople SET"; $sql.= " birthday=".($this->birthday ? "'".$this->db->idate($this->birthday)."'" : "null"); @@ -531,6 +534,26 @@ class Contact extends CommonObject } } + if (! $error && ! $notrigger) + { + // Call trigger + $result=$this->call_trigger('CONTACT_MODIFY',$user); + if ($result < 0) { $error++; } + // End call triggers + } + + if (! $error) + { + $this->db->commit(); + return 1; + } + else + { + dol_syslog(get_class($this)."::update Error ".$this->error,LOG_ERR); + $this->db->rollback(); + return -$error; + } + return $result; } diff --git a/htdocs/contact/perso.php b/htdocs/contact/perso.php index da70bc3e007..5feafcbb6b3 100644 --- a/htdocs/contact/perso.php +++ b/htdocs/contact/perso.php @@ -135,11 +135,9 @@ $object->fetch($id, $user); $head = contact_prepare_head($object); -dol_fiche_head($head, 'perso', $title, 0, 'contact'); - if ($action == 'edit') { - /* + /* * Fiche en mode edition */ @@ -148,6 +146,8 @@ if ($action == 'edit') print ''; print ''; + dol_fiche_head($head, 'perso', $title, 0, 'contact'); + print '
'; - print fieldLabel('Rate','multicurrency_tx'); + print fieldLabel('CurrencyRate','multicurrency_tx'); print 'id . '">' . img_edit($langs->transnoentitiesnoconv('SetMultiCurrencyCode'), 1) . '
'; print ''; if ($action != 'editmulticurrencyrate' && ! empty($object->brouillon)) print ''; diff --git a/htdocs/fourn/commande/card.php b/htdocs/fourn/commande/card.php index fa93be5020d..500b240fa16 100644 --- a/htdocs/fourn/commande/card.php +++ b/htdocs/fourn/commande/card.php @@ -1865,7 +1865,7 @@ elseif (! empty($object->id)) print ''; print '"; print ''; @@ -187,7 +187,7 @@ print ''; print '"; print ''; diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index 761ce42e0f5..570dab7e959 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -603,6 +603,12 @@ div.myavailability { .minwidth300 { min-width: 300px; } .minwidth400 { min-width: 400px; } .minwidth500 { min-width: 500px; } +.minwidth50imp { min-width: 50px !important; } +.minwidth100imp { min-width: 100px !important; } +.minwidth200imp { min-width: 200px !important; } +.minwidth300imp { min-width: 300px !important; } +.minwidth400imp { min-width: 400px !important; } +.minwidth500imp { min-width: 500px !important; } .maxwidth100 { max-width: 100px; } .maxwidth150 { max-width: 150px; } .maxwidth200 { max-width: 200px; } @@ -619,6 +625,22 @@ div.myavailability { { .titlefield { width: 30% !important; } .titlefieldcreate { width: 30% !important; } + .minwidth50imp { min-width: 50px !important; } + .minwidth100imp { min-width: 100px !important; } + .minwidth200imp { min-width: 200px !important; } + .minwidth300imp { min-width: 300px !important; } + .minwidth400imp { min-width: 300px !important; } + .minwidth500imp { min-width: 300px !important; } +} + +@media only screen and (max-width: 960px) +{ + .minwidth50imp { min-width: 50px !important; } + .minwidth100imp { min-width: 50px !important; } + .minwidth200imp { min-width: 100px !important; } + .minwidth300imp { min-width: 100px !important; } + .minwidth400imp { min-width: 100px !important; } + .minwidth500imp { min-width: 100px !important; } } /* Force values for small screen */ @@ -631,6 +653,12 @@ div.myavailability { .maxwidth200onsmartphone { max-width: 200px; } .maxwidth300onsmartphone { max-width: 300px; } .maxwidth400onsmartphone { max-width: 400px; } + .minwidth50imp { min-width: 50px !important; } + .minwidth100imp { min-width: 50px !important; } + .minwidth200imp { min-width: 50px !important; } + .minwidth300imp { min-width: 50px !important; } + .minwidth400imp { min-width: 50px !important; } + .minwidth500imp { min-width: 50px !important; } .titlefield { width: auto; } .titlefieldcreate { width: auto; } } diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php index 2789f5c1e36..157beca791f 100644 --- a/htdocs/theme/md/style.css.php +++ b/htdocs/theme/md/style.css.php @@ -601,6 +601,12 @@ div.myavailability { .minwidth300 { min-width: 300px; } .minwidth400 { min-width: 400px; } .minwidth500 { min-width: 500px; } +.minwidth50imp { min-width: 50px !important; } +.minwidth100imp { min-width: 100px !important; } +.minwidth200imp { min-width: 200px !important; } +.minwidth300imp { min-width: 300px !important; } +.minwidth400imp { min-width: 400px !important; } +.minwidth500imp { min-width: 500px !important; } .maxwidth100 { max-width: 100px; } .maxwidth150 { max-width: 150px; } .maxwidth200 { max-width: 200px; } @@ -617,6 +623,22 @@ div.myavailability { { .titlefield { width: 30% !important; } .titlefieldcreate { width: 30% !important; } + .minwidth50imp { min-width: 50px !important; } + .minwidth100imp { min-width: 100px !important; } + .minwidth200imp { min-width: 200px !important; } + .minwidth300imp { min-width: 300px !important; } + .minwidth400imp { min-width: 300px !important; } + .minwidth500imp { min-width: 300px !important; } +} + +@media only screen and (max-width: 960px) +{ + .minwidth50imp { min-width: 50px !important; } + .minwidth100imp { min-width: 50px !important; } + .minwidth200imp { min-width: 100px !important; } + .minwidth300imp { min-width: 100px !important; } + .minwidth400imp { min-width: 100px !important; } + .minwidth500imp { min-width: 100px !important; } } /* Force values for small screen */ @@ -629,6 +651,12 @@ div.myavailability { .maxwidth200onsmartphone { max-width: 200px; } .maxwidth300onsmartphone { max-width: 300px; } .maxwidth400onsmartphone { max-width: 400px; } + .minwidth50imp { min-width: 50px !important; } + .minwidth100imp { min-width: 50px !important; } + .minwidth200imp { min-width: 50px !important; } + .minwidth300imp { min-width: 50px !important; } + .minwidth400imp { min-width: 50px !important; } + .minwidth500imp { min-width: 50px !important; } .titlefield { width: auto; } .titlefieldcreate { width: auto; } } From ee7023422a7cd2db4ef9c375457332ddccb79b0d Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 31 Jul 2016 23:19:01 +0200 Subject: [PATCH 195/476] Update dump --- dev/initdemo/mysqldump_dolibarr_4.0.0.sql | 62 +++++++++++------------ 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/dev/initdemo/mysqldump_dolibarr_4.0.0.sql b/dev/initdemo/mysqldump_dolibarr_4.0.0.sql index b23c709cbd2..e8580cdff28 100644 --- a/dev/initdemo/mysqldump_dolibarr_4.0.0.sql +++ b/dev/initdemo/mysqldump_dolibarr_4.0.0.sql @@ -231,7 +231,7 @@ CREATE TABLE `llx_actioncomm` ( KEY `idx_actioncomm_fk_contact` (`fk_contact`), KEY `idx_actioncomm_fk_element` (`fk_element`), KEY `idx_actioncomm_code` (`code`) -) ENGINE=InnoDB AUTO_INCREMENT=234 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=239 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -240,7 +240,7 @@ CREATE TABLE `llx_actioncomm` ( LOCK TABLES `llx_actioncomm` WRITE; /*!40000 ALTER TABLE `llx_actioncomm` DISABLE KEYS */; -INSERT INTO `llx_actioncomm` VALUES (1,NULL,1,'2010-07-08 14:21:44','2010-07-08 14:21:44',50,NULL,'Company AAA and Co added into Dolibarr','2010-07-08 14:21:44','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Company AAA and Co added into Dolibarr\nAuthor: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(2,NULL,1,'2010-07-08 14:23:48','2010-07-08 14:23:48',50,NULL,'Company Belin SARL added into Dolibarr','2010-07-08 14:23:48','2014-12-21 12:50:33',1,NULL,NULL,2,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Company Belin SARL added into Dolibarr\nAuthor: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(3,NULL,1,'2010-07-08 22:42:12','2010-07-08 22:42:12',50,NULL,'Company Spanish Comp added into Dolibarr','2010-07-08 22:42:12','2014-12-21 12:50:33',1,NULL,NULL,3,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Company Spanish Comp added into Dolibarr\nAuthor: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(4,NULL,1,'2010-07-08 22:48:18','2010-07-08 22:48:18',50,NULL,'Company Prospector Vaalen added into Dolibarr','2010-07-08 22:48:18','2014-12-21 12:50:33',1,NULL,NULL,4,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Company Prospector Vaalen added into Dolibarr\nAuthor: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(5,NULL,1,'2010-07-08 23:22:57','2010-07-08 23:22:57',50,NULL,'Company NoCountry Co added into Dolibarr','2010-07-08 23:22:57','2014-12-21 12:50:33',1,NULL,NULL,5,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Company NoCountry Co added into Dolibarr\nAuthor: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(6,NULL,1,'2010-07-09 00:15:09','2010-07-09 00:15:09',50,NULL,'Company Swiss customer added into Dolibarr','2010-07-09 00:15:09','2014-12-21 12:50:33',1,NULL,NULL,6,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Company Swiss customer added into Dolibarr\nAuthor: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(7,NULL,1,'2010-07-09 01:24:26','2010-07-09 01:24:26',50,NULL,'Company Generic customer added into Dolibarr','2010-07-09 01:24:26','2014-12-21 12:50:33',1,NULL,NULL,7,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Company Generic customer added into Dolibarr\nAuthor: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(8,NULL,1,'2010-07-10 14:54:27','2010-07-10 14:54:27',50,NULL,'Société Client salon ajoutée dans Dolibarr','2010-07-10 14:54:27','2014-12-21 12:50:33',1,NULL,NULL,8,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Société Client salon ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(9,NULL,1,'2010-07-10 14:54:44','2010-07-10 14:54:44',50,NULL,'Société Client salon invidivdu ajoutée dans Doliba','2010-07-10 14:54:44','2014-12-21 12:50:33',1,NULL,NULL,9,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Société Client salon invidivdu ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(10,NULL,1,'2010-07-10 14:56:10','2010-07-10 14:56:10',50,NULL,'Facture FA1007-0001 validée dans Dolibarr','2010-07-10 14:56:10','2014-12-21 12:50:33',1,NULL,NULL,9,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Facture FA1007-0001 validée dans Dolibarr\nAuteur: admin',1,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(11,NULL,1,'2010-07-10 14:58:53','2010-07-10 14:58:53',50,NULL,'Facture FA1007-0001 validée dans Dolibarr','2010-07-10 14:58:53','2014-12-21 12:50:33',1,NULL,NULL,9,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Facture FA1007-0001 validée dans Dolibarr\nAuteur: admin',1,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(12,NULL,1,'2010-07-10 15:00:55','2010-07-10 15:00:55',50,NULL,'Facture FA1007-0001 passée à payée dans Dolibarr','2010-07-10 15:00:55','2014-12-21 12:50:33',1,NULL,NULL,9,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Facture FA1007-0001 passée à payée dans Dolibarr\nAuteur: admin',1,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(13,NULL,1,'2010-07-10 15:13:08','2010-07-10 15:13:08',50,NULL,'Société Smith Vick ajoutée dans Dolibarr','2010-07-10 15:13:08','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Société Smith Vick ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(14,NULL,1,'2010-07-10 15:21:00','2010-07-10 16:21:00',5,NULL,'RDV avec mon chef','2010-07-10 15:21:48','2010-07-10 13:21:48',1,NULL,NULL,NULL,NULL,0,1,NULL,NULL,0,0,1,0,'',3600,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(15,NULL,1,'2010-07-10 18:18:16','2010-07-10 18:18:16',50,NULL,'Contrat CONTRAT1 validé dans Dolibarr','2010-07-10 18:18:16','2014-12-21 12:50:33',1,NULL,NULL,2,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Contrat CONTRAT1 validé dans Dolibarr\nAuteur: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(16,NULL,1,'2010-07-10 18:35:57','2010-07-10 18:35:57',50,NULL,'Société Mon client ajoutée dans Dolibarr','2010-07-10 18:35:57','2014-12-21 12:50:33',1,NULL,NULL,11,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Société Mon client ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(17,NULL,1,'2010-07-11 16:18:08','2010-07-11 16:18:08',50,NULL,'Société Dupont Alain ajoutée dans Dolibarr','2010-07-11 16:18:08','2014-12-21 12:50:33',1,NULL,NULL,12,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Société Dupont Alain ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(18,NULL,1,'2010-07-11 17:11:00','2010-07-11 17:17:00',5,NULL,'Rendez-vous','2010-07-11 17:11:22','2010-07-11 15:11:22',1,NULL,NULL,NULL,NULL,0,1,NULL,NULL,0,0,1,0,'gfgdfgdf',360,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(19,NULL,1,'2010-07-11 17:13:20','2010-07-11 17:13:20',50,NULL,'Société Vendeur de chips ajoutée dans Dolibarr','2010-07-11 17:13:20','2014-12-21 12:50:33',1,NULL,NULL,13,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Société Vendeur de chips ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(20,NULL,1,'2010-07-11 17:15:42','2010-07-11 17:15:42',50,NULL,'Commande CF1007-0001 validée','2010-07-11 17:15:42','2014-12-21 12:50:33',1,NULL,NULL,13,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Commande CF1007-0001 validée\nAuteur: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(21,NULL,1,'2010-07-11 18:47:33','2010-07-11 18:47:33',50,NULL,'Commande CF1007-0002 validée','2010-07-11 18:47:33','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Commande CF1007-0002 validée\nAuteur: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(22,NULL,1,'2010-07-18 11:36:18','2010-07-18 11:36:18',50,NULL,'Proposition PR1007-0003 validée','2010-07-18 11:36:18','2014-12-21 12:50:33',1,NULL,NULL,4,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Proposition PR1007-0003 validée\nAuteur: admin',3,'propal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(23,NULL,1,'2011-07-18 20:49:58','2011-07-18 20:49:58',50,NULL,'Invoice FA1007-0002 validated in Dolibarr','2011-07-18 20:49:58','2014-12-21 12:50:33',1,NULL,NULL,2,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1007-0002 validated in Dolibarr\nAuthor: admin',2,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(24,NULL,1,'2011-07-28 01:37:00',NULL,1,NULL,'Phone call','2011-07-28 01:37:48','2011-07-27 23:37:48',1,NULL,NULL,NULL,2,0,1,NULL,NULL,0,0,1,-1,'',NULL,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(25,NULL,1,'2011-08-01 02:31:24','2011-08-01 02:31:24',50,NULL,'Company mmm added into Dolibarr','2011-08-01 02:31:24','2014-12-21 12:50:33',1,NULL,NULL,15,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Company mmm added into Dolibarr\nAuthor: admin',15,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(26,NULL,1,'2011-08-01 02:31:43','2011-08-01 02:31:43',50,NULL,'Company ppp added into Dolibarr','2011-08-01 02:31:43','2014-12-21 12:50:33',1,NULL,NULL,16,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Company ppp added into Dolibarr\nAuthor: admin',16,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(27,NULL,1,'2011-08-01 02:41:26','2011-08-01 02:41:26',50,NULL,'Company aaa added into Dolibarr','2011-08-01 02:41:26','2014-12-21 12:50:33',1,NULL,NULL,17,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Company aaa added into Dolibarr\nAuthor: admin',17,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(28,NULL,1,'2011-08-01 03:34:11','2011-08-01 03:34:11',50,NULL,'Invoice FA1108-0003 validated in Dolibarr','2011-08-01 03:34:11','2014-12-21 12:50:33',1,NULL,NULL,7,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0003 validated in Dolibarr\nAuthor: admin',5,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(29,NULL,1,'2011-08-01 03:34:11','2011-08-01 03:34:11',50,NULL,'Invoice FA1108-0003 validated in Dolibarr','2011-08-01 03:34:11','2014-12-21 12:50:33',1,NULL,NULL,7,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0003 changed to paid in Dolibarr\nAuthor: admin',5,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(30,NULL,1,'2011-08-06 20:33:54','2011-08-06 20:33:54',50,NULL,'Invoice FA1108-0004 validated in Dolibarr','2011-08-06 20:33:54','2014-12-21 12:50:33',1,NULL,NULL,7,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0004 validated in Dolibarr\nAuthor: admin',6,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(31,NULL,1,'2011-08-06 20:33:54','2011-08-06 20:33:54',50,NULL,'Invoice FA1108-0004 validated in Dolibarr','2011-08-06 20:33:54','2014-12-21 12:50:33',1,NULL,NULL,7,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0004 changed to paid in Dolibarr\nAuthor: admin',6,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(38,NULL,1,'2011-08-08 02:41:55','2011-08-08 02:41:55',50,NULL,'Invoice FA1108-0005 validated in Dolibarr','2011-08-08 02:41:55','2014-12-21 12:50:33',1,NULL,NULL,2,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0005 validated in Dolibarr\nAuthor: admin',8,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(40,NULL,1,'2011-08-08 02:53:40','2011-08-08 02:53:40',50,NULL,'Invoice FA1108-0005 changed to paid in Dolibarr','2011-08-08 02:53:40','2014-12-21 12:50:33',1,NULL,NULL,2,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0005 changed to paid in Dolibarr\nAuthor: admin',8,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(41,NULL,1,'2011-08-08 02:54:05','2011-08-08 02:54:05',50,NULL,'Invoice FA1007-0002 changed to paid in Dolibarr','2011-08-08 02:54:05','2014-12-21 12:50:33',1,NULL,NULL,2,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1007-0002 changed to paid in Dolibarr\nAuthor: admin',2,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(42,NULL,1,'2011-08-08 02:55:04','2011-08-08 02:55:04',50,NULL,'Invoice FA1107-0006 validated in Dolibarr','2011-08-08 02:55:04','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1107-0006 validated in Dolibarr\nAuthor: admin',3,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(43,NULL,1,'2011-08-08 02:55:26','2011-08-08 02:55:26',50,NULL,'Invoice FA1108-0007 validated in Dolibarr','2011-08-08 02:55:26','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0007 validated in Dolibarr\nAuthor: admin',9,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(44,NULL,1,'2011-08-08 02:55:58','2011-08-08 02:55:58',50,NULL,'Invoice FA1107-0006 changed to paid in Dolibarr','2011-08-08 02:55:58','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1107-0006 changed to paid in Dolibarr\nAuthor: admin',3,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(45,NULL,1,'2011-08-08 03:04:22','2011-08-08 03:04:22',50,NULL,'Order CO1108-0001 validated','2011-08-08 03:04:22','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Order CO1108-0001 validated\nAuthor: admin',5,'order',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(46,NULL,1,'2011-08-08 13:59:09','2011-08-08 13:59:09',50,NULL,'Order CO1107-0002 validated','2011-08-08 13:59:10','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Order CO1107-0002 validated\nAuthor: admin',1,'order',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(47,NULL,1,'2011-08-08 14:24:18','2011-08-08 14:24:18',50,NULL,'Proposal PR1007-0001 validated','2011-08-08 14:24:18','2014-12-21 12:50:33',1,NULL,NULL,2,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposal PR1007-0001 validated\nAuthor: admin',1,'propal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(48,NULL,1,'2011-08-08 14:24:24','2011-08-08 14:24:24',50,NULL,'Proposal PR1108-0004 validated','2011-08-08 14:24:24','2014-12-21 12:50:33',1,NULL,NULL,17,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposal PR1108-0004 validated\nAuthor: admin',4,'propal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(49,NULL,1,'2011-08-08 15:04:37','2011-08-08 15:04:37',50,NULL,'Order CF1108-0003 validated','2011-08-08 15:04:37','2014-12-21 12:50:33',1,NULL,NULL,17,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Order CF1108-0003 validated\nAuthor: admin',6,'order_supplier',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(50,NULL,1,'2012-12-08 17:56:47','2012-12-08 17:56:47',40,NULL,'Facture AV1212-0001 validée dans Dolibarr','2012-12-08 17:56:47','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture AV1212-0001 validée dans Dolibarr\nAuteur: admin',10,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(51,NULL,1,'2012-12-08 17:57:11','2012-12-08 17:57:11',40,NULL,'Facture AV1212-0001 validée dans Dolibarr','2012-12-08 17:57:11','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture AV1212-0001 validée dans Dolibarr\nAuteur: admin',10,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(52,NULL,1,'2012-12-08 17:58:27','2012-12-08 17:58:27',40,NULL,'Facture FA1212-0008 validée dans Dolibarr','2012-12-08 17:58:27','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1212-0008 validée dans Dolibarr\nAuteur: admin',11,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(53,NULL,1,'2012-12-08 18:20:49','2012-12-08 18:20:49',40,NULL,'Facture AV1212-0002 validée dans Dolibarr','2012-12-08 18:20:49','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture AV1212-0002 validée dans Dolibarr\nAuteur: admin',12,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(54,NULL,1,'2012-12-09 18:35:07','2012-12-09 18:35:07',40,NULL,'Facture AV1212-0002 passée à payée dans Dolibarr','2012-12-09 18:35:07','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture AV1212-0002 passée à payée dans Dolibarr\nAuteur: admin',12,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(55,NULL,1,'2012-12-09 20:14:42','2012-12-09 20:14:42',40,NULL,'Société doe john ajoutée dans Dolibarr','2012-12-09 20:14:42','2014-12-21 12:50:33',1,NULL,NULL,18,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Société doe john ajoutée dans Dolibarr\nAuteur: admin',18,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(56,NULL,1,'2012-12-12 18:54:19','2012-12-12 18:54:19',40,NULL,'Facture FA1212-0009 validée dans Dolibarr','2012-12-12 18:54:19','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1212-0009 validée dans Dolibarr\nAuteur: admin',55,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(121,NULL,1,'2012-12-06 10:00:00',NULL,50,NULL,'aaab','2012-12-21 17:48:08','2012-12-21 16:54:07',3,1,NULL,NULL,NULL,0,3,NULL,NULL,1,0,1,-1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(122,NULL,1,'2012-12-21 18:09:52','2012-12-21 18:09:52',40,NULL,'Facture client FA1007-0001 envoyée par EMail','2012-12-21 18:09:52','2014-12-21 12:50:33',1,NULL,NULL,9,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Mail envoyé par Firstname SuperAdminName à laurent@destailleur.fr.\nSujet du mail: Envoi facture FA1007-0001\nCorps du mail:\nVeuillez trouver ci-joint la facture FA1007-0001\r\n\r\nVous pouvez cliquer sur le lien sécurisé ci-dessous pour effectuer votre paiement via Paypal\r\n\r\nhttp://localhost/dolibarrnew/public/paypal/newpayment.php?source=invoice&ref=FA1007-0001&securekey=50c82fab36bb3b6aa83e2a50691803b2\r\n\r\nCordialement',1,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(123,NULL,1,'2013-01-06 13:13:57','2013-01-06 13:13:57',40,NULL,'Facture 16 validée dans Dolibarr','2013-01-06 13:13:57','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture 16 validée dans Dolibarr\nAuteur: admin',16,'invoice_supplier',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(124,NULL,1,'2013-01-12 12:23:05','2013-01-12 12:23:05',40,NULL,'Patient aaa ajouté','2013-01-12 12:23:05','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Patient aaa ajouté\nAuteur: admin',19,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(125,NULL,1,'2013-01-12 12:52:20','2013-01-12 12:52:20',40,NULL,'Patient pppoo ajouté','2013-01-12 12:52:20','2014-12-21 12:50:33',1,NULL,NULL,20,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Patient pppoo ajouté\nAuteur: admin',20,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(127,NULL,1,'2013-01-19 18:22:48','2013-01-19 18:22:48',40,NULL,'Facture FS1301-0001 validée dans Dolibarr','2013-01-19 18:22:48','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FS1301-0001 validée dans Dolibarr\nAuteur: admin',148,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(128,NULL,1,'2013-01-19 18:31:10','2013-01-19 18:31:10',40,NULL,'Facture FA6801-0010 validée dans Dolibarr','2013-01-19 18:31:10','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA6801-0010 validée dans Dolibarr\nAuteur: admin',150,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(129,NULL,1,'2013-01-19 18:31:10','2013-01-19 18:31:10',40,NULL,'Facture FA6801-0010 passée à payée dans Dolibarr','2013-01-19 18:31:10','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA6801-0010 passée à payée dans Dolibarr\nAuteur: admin',150,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(130,NULL,1,'2013-01-19 18:31:58','2013-01-19 18:31:58',40,NULL,'Facture FS1301-0002 validée dans Dolibarr','2013-01-19 18:31:58','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FS1301-0002 validée dans Dolibarr\nAuteur: admin',151,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(131,NULL,1,'2013-01-19 18:31:58','2013-01-19 18:31:58',40,NULL,'Facture FS1301-0002 passée à payée dans Dolibarr','2013-01-19 18:31:58','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FS1301-0002 passée à payée dans Dolibarr\nAuteur: admin',151,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(132,NULL,1,'2013-01-23 15:07:54','2013-01-23 15:07:54',50,NULL,'Consultation 24 saisie (aaa)','2013-01-23 15:07:54','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Consultation 24 saisie (aaa)\nAuteur: admin',24,'cabinetmed_cons',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(133,NULL,1,'2013-01-23 16:56:58','2013-01-23 16:56:58',40,NULL,'Patient pa ajouté','2013-01-23 16:56:58','2014-12-21 12:50:33',1,NULL,NULL,21,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Patient pa ajouté\nAuteur: admin',21,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(134,NULL,1,'2013-01-23 17:34:00',NULL,50,NULL,'bbcv','2013-01-23 17:35:21','2013-01-23 16:35:21',1,NULL,1,2,NULL,0,1,NULL,NULL,0,0,1,-1,'',NULL,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(135,NULL,1,'2013-02-12 15:54:00','2013-02-12 15:54:00',40,NULL,'Facture FA1212-0011 validée dans Dolibarr','2013-02-12 15:54:37','2014-12-21 12:50:33',1,1,NULL,7,NULL,0,1,NULL,1,0,0,1,50,NULL,NULL,NULL,'Facture FA1212-0011 validée dans Dolibarr
\r\nAuteur: admin',13,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(136,NULL,1,'2013-02-12 17:06:51','2013-02-12 17:06:51',40,NULL,'Commande CO1107-0003 validée','2013-02-12 17:06:51','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Commande CO1107-0003 validée\nAuteur: admin',2,'order',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(137,NULL,1,'2013-02-17 16:22:10','2013-02-17 16:22:10',40,NULL,'Proposition PR1302-0009 validée','2013-02-17 16:22:10','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposition PR1302-0009 validée\nAuteur: admin',9,'propal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(138,NULL,1,'2013-02-17 16:27:00','2013-02-17 16:27:00',40,NULL,'Facture FA1302-0012 validée dans Dolibarr','2013-02-17 16:27:00','2014-12-21 12:50:33',1,NULL,NULL,18,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1302-0012 validée dans Dolibarr\nAuteur: admin',152,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(139,NULL,1,'2013-02-17 16:27:29','2013-02-17 16:27:29',40,NULL,'Proposition PR1302-0010 validée','2013-02-17 16:27:29','2014-12-21 12:50:33',1,NULL,NULL,18,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposition PR1302-0010 validée\nAuteur: admin',11,'propal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(140,NULL,1,'2013-02-17 18:27:56','2013-02-17 18:27:56',40,NULL,'Commande CO1107-0004 validée','2013-02-17 18:27:56','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Commande CO1107-0004 validée\nAuteur: admin',3,'order',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(141,NULL,1,'2013-02-17 18:38:14','2013-02-17 18:38:14',40,NULL,'Commande CO1302-0005 validée','2013-02-17 18:38:14','2014-12-21 12:50:33',1,NULL,NULL,18,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Commande CO1302-0005 validée\nAuteur: admin',7,'order',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(142,NULL,1,'2013-02-26 22:57:50','2013-02-26 22:57:50',40,NULL,'Company pppp added into Dolibarr','2013-02-26 22:57:50','2014-12-21 12:50:33',1,NULL,NULL,22,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Company pppp added into Dolibarr\nAuthor: admin',22,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(143,NULL,1,'2013-02-26 22:58:13','2013-02-26 22:58:13',40,NULL,'Company ttttt added into Dolibarr','2013-02-26 22:58:13','2014-12-21 12:50:33',1,NULL,NULL,23,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Company ttttt added into Dolibarr\nAuthor: admin',23,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(144,NULL,1,'2013-02-27 10:00:00','2013-02-27 19:20:00',5,NULL,'Rendez-vous','2013-02-27 19:20:53','2013-02-27 18:20:53',1,NULL,NULL,NULL,NULL,0,1,NULL,1,0,0,1,-1,'',33600,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(145,NULL,1,'2013-02-27 19:28:00',NULL,2,NULL,'fdsfsd','2013-02-27 19:28:48','2013-02-27 18:29:53',1,1,NULL,NULL,NULL,0,1,NULL,1,0,0,1,-1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(146,NULL,1,'2013-03-06 10:05:07','2013-03-06 10:05:07',40,NULL,'Contrat (PROV3) validé dans Dolibarr','2013-03-06 10:05:07','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Contrat (PROV3) validé dans Dolibarr\nAuteur: admin',3,'contract',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(147,NULL,1,'2013-03-06 16:43:37','2013-03-06 16:43:37',40,NULL,'Facture FA1307-0013 validée dans Dolibarr','2013-03-06 16:43:37','2014-12-21 12:50:33',1,NULL,NULL,12,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1307-0013 validée dans Dolibarr\nAuteur: admin',158,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(148,NULL,1,'2013-03-06 16:44:12','2013-03-06 16:44:12',40,NULL,'Facture FA1407-0014 validée dans Dolibarr','2013-03-06 16:44:12','2014-12-21 12:50:33',1,NULL,NULL,12,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1407-0014 validée dans Dolibarr\nAuteur: admin',159,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(149,NULL,1,'2013-03-06 16:47:48','2013-03-06 16:47:48',40,NULL,'Facture FA1507-0015 validée dans Dolibarr','2013-03-06 16:47:48','2014-12-21 12:50:33',1,NULL,NULL,12,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1507-0015 validée dans Dolibarr\nAuteur: admin',160,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(150,NULL,1,'2013-03-06 16:48:16','2013-03-06 16:48:16',40,NULL,'Facture FA1607-0016 validée dans Dolibarr','2013-03-06 16:48:16','2014-12-21 12:50:33',1,NULL,NULL,12,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1607-0016 validée dans Dolibarr\nAuteur: admin',161,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(151,NULL,1,'2013-03-06 17:13:59','2013-03-06 17:13:59',40,NULL,'Société smith smith ajoutée dans Dolibarr','2013-03-06 17:13:59','2014-12-21 12:50:33',1,NULL,NULL,24,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Société smith smith ajoutée dans Dolibarr\nAuteur: admin',24,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(152,NULL,1,'2013-03-08 10:02:22','2013-03-08 10:02:22',40,NULL,'Proposition (PROV12) validée dans Dolibarr','2013-03-08 10:02:22','2014-12-21 12:50:33',1,NULL,NULL,23,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposition (PROV12) validée dans Dolibarr\nAuteur: admin',12,'propal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(203,NULL,1,'2013-03-09 19:39:27','2013-03-09 19:39:27',40,'AC_ORDER_SUPPLIER_VALIDATE','Commande CF1303-0004 validée','2013-03-09 19:39:27','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Commande CF1303-0004 validée\nAuteur: admin',13,'order_supplier',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(204,NULL,1,'2013-03-10 15:47:37','2013-03-10 15:47:37',40,'AC_COMPANY_CREATE','Patient créé','2013-03-10 15:47:37','2014-12-21 12:50:33',1,NULL,NULL,25,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Patient créé\nAuteur: admin',25,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(205,NULL,1,'2013-03-10 15:57:32','2013-03-10 15:57:32',40,'AC_COMPANY_CREATE','Tiers créé','2013-03-10 15:57:32','2014-12-21 12:50:33',1,NULL,NULL,26,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Tiers créé\nAuteur: admin',26,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(206,NULL,1,'2013-03-10 15:58:28','2013-03-10 15:58:28',40,'AC_BILL_VALIDATE','Facture FA1303-0017 validée','2013-03-10 15:58:28','2014-12-21 12:50:33',1,NULL,NULL,26,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1303-0017 validée\nAuteur: admin',208,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(207,NULL,1,'2013-03-19 09:38:10','2013-03-19 09:38:10',40,'AC_BILL_VALIDATE','Facture FA1303-0018 validée','2013-03-19 09:38:10','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1303-0018 validée\nAuteur: admin',209,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(208,NULL,1,'2013-03-20 14:30:11','2013-03-20 14:30:11',40,'AC_BILL_VALIDATE','Facture FA1107-0019 validée','2013-03-20 14:30:11','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1107-0019 validée\nAuteur: admin',210,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(209,NULL,1,'2013-03-22 09:40:25','2013-03-22 09:40:25',40,'AC_BILL_VALIDATE','Facture FA1303-0020 validée','2013-03-22 09:40:25','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1303-0020 validée\nAuteur: admin',211,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(210,NULL,1,'2013-03-23 17:16:25','2013-03-23 17:16:25',40,'AC_BILL_VALIDATE','Facture FA1303-0020 validée','2013-03-23 17:16:25','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1303-0020 validée\nAuteur: admin',211,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(211,NULL,1,'2013-03-23 18:08:27','2013-03-23 18:08:27',40,'AC_BILL_VALIDATE','Facture FA1307-0013 validée','2013-03-23 18:08:27','2014-12-21 12:50:33',1,NULL,NULL,12,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1307-0013 validée\nAuteur: admin',158,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(212,NULL,1,'2013-03-24 15:54:00','2013-03-24 15:54:00',40,'AC_BILL_VALIDATE','Facture FA1212-0021 validée','2013-03-24 15:54:00','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1212-0021 validée\nAuteur: admin',32,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(213,NULL,1,'2013-11-07 01:02:39','2013-11-07 01:02:39',40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:02:39','2014-12-21 12:50:33',1,NULL,NULL,27,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',27,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(214,NULL,1,'2013-11-07 01:05:22','2013-11-07 01:05:22',40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:05:22','2014-12-21 12:50:33',1,NULL,NULL,28,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',28,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(215,NULL,1,'2013-11-07 01:07:07','2013-11-07 01:07:07',40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:07:07','2014-12-21 12:50:33',1,NULL,NULL,29,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',29,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(216,NULL,1,'2013-11-07 01:07:58','2013-11-07 01:07:58',40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:07:58','2014-12-21 12:50:33',1,NULL,NULL,30,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',30,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(217,NULL,1,'2013-11-07 01:10:09','2013-11-07 01:10:09',40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:10:09','2014-12-21 12:50:33',1,NULL,NULL,31,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',31,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(218,NULL,1,'2013-11-07 01:15:57','2013-11-07 01:15:57',40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:15:57','2014-12-21 12:50:33',1,NULL,NULL,32,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',32,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(219,NULL,1,'2013-11-07 01:16:51','2013-11-07 01:16:51',40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:16:51','2014-12-21 12:50:33',1,NULL,NULL,33,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',33,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(220,NULL,1,'2014-03-02 17:24:04','2014-03-02 17:24:04',40,'AC_BILL_VALIDATE','Invoice FA1302-0022 validated','2014-03-02 17:24:04','2014-12-21 12:50:33',1,NULL,NULL,18,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1302-0022 validated\nAuthor: admin',157,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(221,NULL,1,'2014-03-02 17:24:28','2014-03-02 17:24:28',40,'AC_BILL_VALIDATE','Invoice FA1303-0020 validated','2014-03-02 17:24:28','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1303-0020 validated\nAuthor: admin',211,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(222,NULL,1,'2014-03-05 10:00:00','2014-03-05 10:00:00',5,NULL,'RDV John','2014-03-02 19:54:48','2014-03-02 18:55:29',1,1,NULL,NULL,NULL,0,1,0,NULL,0,0,1,-1,NULL,NULL,NULL,'gfdgdfgdf',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(223,NULL,1,'2014-03-13 10:00:00','2014-03-17 00:00:00',50,NULL,'Congress','2014-03-02 19:55:11','2014-03-02 18:55:11',1,NULL,NULL,NULL,NULL,0,1,0,NULL,0,0,1,-1,'',309600,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(224,NULL,1,'2014-03-14 10:00:00',NULL,1,NULL,'Call john','2014-03-02 19:55:56','2014-03-02 18:55:56',1,NULL,NULL,NULL,NULL,0,1,0,NULL,0,0,1,0,'',NULL,NULL,'tttt',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(225,NULL,1,'2014-03-02 20:11:31','2014-03-02 20:11:31',40,'AC_BILL_UNVALIDATE','Invoice FA1303-0020 go back to draft status','2014-03-02 20:11:31','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1303-0020 go back to draft status\nAuthor: admin',211,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(226,NULL,1,'2014-03-02 20:13:39','2014-03-02 20:13:39',40,'AC_BILL_VALIDATE','Invoice FA1303-0020 validated','2014-03-02 20:13:39','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1303-0020 validated\nAuthor: admin',211,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(227,NULL,1,'2014-03-03 19:20:10','2014-03-03 19:20:10',40,'AC_BILL_VALIDATE','Invoice FA1212-0023 validated','2014-03-03 19:20:10','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1212-0023 validated\nAuthor: admin',33,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(228,NULL,1,'2014-03-03 19:20:25','2014-03-03 19:20:25',40,'AC_BILL_CANCEL','Invoice FA1212-0023 canceled in Dolibarr','2014-03-03 19:20:25','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1212-0023 canceled in Dolibarr\nAuthor: admin',33,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(229,NULL,1,'2014-03-03 19:20:56','2014-03-03 19:20:56',40,'AC_BILL_VALIDATE','Invoice AV1403-0003 validated','2014-03-03 19:20:56','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Invoice AV1403-0003 validated\nAuthor: admin',212,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(230,NULL,1,'2014-03-03 19:21:29','2014-03-03 19:21:29',40,'AC_BILL_UNVALIDATE','Invoice AV1403-0003 go back to draft status','2014-03-03 19:21:29','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Invoice AV1403-0003 go back to draft status\nAuthor: admin',212,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(231,NULL,1,'2014-03-03 19:22:16','2014-03-03 19:22:16',40,'AC_BILL_VALIDATE','Invoice AV1303-0003 validated','2014-03-03 19:22:16','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Invoice AV1303-0003 validated\nAuthor: admin',213,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(232,NULL,1,'2016-01-22 18:54:39','2016-01-22 18:54:39',40,'AC_OTH_AUTO','Invoice 16 validated','2016-01-22 18:54:39','2016-01-22 17:54:39',12,NULL,NULL,1,NULL,0,12,0,NULL,0,0,1,-1,'',NULL,NULL,'Invoice 16 validated\nAuthor: admin',16,'invoice_supplier',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(233,NULL,1,'2016-01-22 18:54:46','2016-01-22 18:54:46',40,'AC_OTH_AUTO','Invoice 16 validated','2016-01-22 18:54:46','2016-01-22 17:54:46',12,NULL,NULL,1,NULL,0,12,0,NULL,0,0,1,-1,'',NULL,NULL,'Invoice 16 validated\nAuthor: admin',16,'invoice_supplier',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO `llx_actioncomm` VALUES (1,NULL,1,'2010-07-08 14:21:44','2010-07-08 14:21:44',50,NULL,'Company AAA and Co added into Dolibarr','2010-07-08 14:21:44','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Company AAA and Co added into Dolibarr\nAuthor: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(2,NULL,1,'2010-07-08 14:23:48','2010-07-08 14:23:48',50,NULL,'Company Belin SARL added into Dolibarr','2010-07-08 14:23:48','2014-12-21 12:50:33',1,NULL,NULL,2,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Company Belin SARL added into Dolibarr\nAuthor: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(3,NULL,1,'2010-07-08 22:42:12','2010-07-08 22:42:12',50,NULL,'Company Spanish Comp added into Dolibarr','2010-07-08 22:42:12','2014-12-21 12:50:33',1,NULL,NULL,3,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Company Spanish Comp added into Dolibarr\nAuthor: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(4,NULL,1,'2010-07-08 22:48:18','2010-07-08 22:48:18',50,NULL,'Company Prospector Vaalen added into Dolibarr','2010-07-08 22:48:18','2014-12-21 12:50:33',1,NULL,NULL,4,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Company Prospector Vaalen added into Dolibarr\nAuthor: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(5,NULL,1,'2010-07-08 23:22:57','2010-07-08 23:22:57',50,NULL,'Company NoCountry Co added into Dolibarr','2010-07-08 23:22:57','2014-12-21 12:50:33',1,NULL,NULL,5,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Company NoCountry Co added into Dolibarr\nAuthor: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(6,NULL,1,'2010-07-09 00:15:09','2010-07-09 00:15:09',50,NULL,'Company Swiss customer added into Dolibarr','2010-07-09 00:15:09','2014-12-21 12:50:33',1,NULL,NULL,6,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Company Swiss customer added into Dolibarr\nAuthor: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(7,NULL,1,'2010-07-09 01:24:26','2010-07-09 01:24:26',50,NULL,'Company Generic customer added into Dolibarr','2010-07-09 01:24:26','2014-12-21 12:50:33',1,NULL,NULL,7,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Company Generic customer added into Dolibarr\nAuthor: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(8,NULL,1,'2010-07-10 14:54:27','2010-07-10 14:54:27',50,NULL,'Société Client salon ajoutée dans Dolibarr','2010-07-10 14:54:27','2014-12-21 12:50:33',1,NULL,NULL,8,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Société Client salon ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(9,NULL,1,'2010-07-10 14:54:44','2010-07-10 14:54:44',50,NULL,'Société Client salon invidivdu ajoutée dans Doliba','2010-07-10 14:54:44','2014-12-21 12:50:33',1,NULL,NULL,9,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Société Client salon invidivdu ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(10,NULL,1,'2010-07-10 14:56:10','2010-07-10 14:56:10',50,NULL,'Facture FA1007-0001 validée dans Dolibarr','2010-07-10 14:56:10','2014-12-21 12:50:33',1,NULL,NULL,9,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Facture FA1007-0001 validée dans Dolibarr\nAuteur: admin',1,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(11,NULL,1,'2010-07-10 14:58:53','2010-07-10 14:58:53',50,NULL,'Facture FA1007-0001 validée dans Dolibarr','2010-07-10 14:58:53','2014-12-21 12:50:33',1,NULL,NULL,9,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Facture FA1007-0001 validée dans Dolibarr\nAuteur: admin',1,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(12,NULL,1,'2010-07-10 15:00:55','2010-07-10 15:00:55',50,NULL,'Facture FA1007-0001 passée à payée dans Dolibarr','2010-07-10 15:00:55','2014-12-21 12:50:33',1,NULL,NULL,9,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Facture FA1007-0001 passée à payée dans Dolibarr\nAuteur: admin',1,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(13,NULL,1,'2010-07-10 15:13:08','2010-07-10 15:13:08',50,NULL,'Société Smith Vick ajoutée dans Dolibarr','2010-07-10 15:13:08','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Société Smith Vick ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(14,NULL,1,'2010-07-10 15:21:00','2010-07-10 16:21:00',5,NULL,'RDV avec mon chef','2010-07-10 15:21:48','2010-07-10 13:21:48',1,NULL,NULL,NULL,NULL,0,1,NULL,NULL,0,0,1,0,'',3600,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(15,NULL,1,'2010-07-10 18:18:16','2010-07-10 18:18:16',50,NULL,'Contrat CONTRAT1 validé dans Dolibarr','2010-07-10 18:18:16','2014-12-21 12:50:33',1,NULL,NULL,2,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Contrat CONTRAT1 validé dans Dolibarr\nAuteur: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(16,NULL,1,'2010-07-10 18:35:57','2010-07-10 18:35:57',50,NULL,'Société Mon client ajoutée dans Dolibarr','2010-07-10 18:35:57','2014-12-21 12:50:33',1,NULL,NULL,11,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Société Mon client ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(17,NULL,1,'2010-07-11 16:18:08','2010-07-11 16:18:08',50,NULL,'Société Dupont Alain ajoutée dans Dolibarr','2010-07-11 16:18:08','2014-12-21 12:50:33',1,NULL,NULL,12,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Société Dupont Alain ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(18,NULL,1,'2010-07-11 17:11:00','2010-07-11 17:17:00',5,NULL,'Rendez-vous','2010-07-11 17:11:22','2010-07-11 15:11:22',1,NULL,NULL,NULL,NULL,0,1,NULL,NULL,0,0,1,0,'gfgdfgdf',360,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(19,NULL,1,'2010-07-11 17:13:20','2010-07-11 17:13:20',50,NULL,'Société Vendeur de chips ajoutée dans Dolibarr','2010-07-11 17:13:20','2014-12-21 12:50:33',1,NULL,NULL,13,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Société Vendeur de chips ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(20,NULL,1,'2010-07-11 17:15:42','2010-07-11 17:15:42',50,NULL,'Commande CF1007-0001 validée','2010-07-11 17:15:42','2014-12-21 12:50:33',1,NULL,NULL,13,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Commande CF1007-0001 validée\nAuteur: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(21,NULL,1,'2010-07-11 18:47:33','2010-07-11 18:47:33',50,NULL,'Commande CF1007-0002 validée','2010-07-11 18:47:33','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Commande CF1007-0002 validée\nAuteur: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(22,NULL,1,'2010-07-18 11:36:18','2010-07-18 11:36:18',50,NULL,'Proposition PR1007-0003 validée','2010-07-18 11:36:18','2014-12-21 12:50:33',1,NULL,NULL,4,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Proposition PR1007-0003 validée\nAuteur: admin',3,'propal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(23,NULL,1,'2011-07-18 20:49:58','2011-07-18 20:49:58',50,NULL,'Invoice FA1007-0002 validated in Dolibarr','2011-07-18 20:49:58','2014-12-21 12:50:33',1,NULL,NULL,2,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1007-0002 validated in Dolibarr\nAuthor: admin',2,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(24,NULL,1,'2011-07-28 01:37:00',NULL,1,NULL,'Phone call','2011-07-28 01:37:48','2011-07-27 23:37:48',1,NULL,NULL,NULL,2,0,1,NULL,NULL,0,0,1,-1,'',NULL,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(25,NULL,1,'2011-08-01 02:31:24','2011-08-01 02:31:24',50,NULL,'Company mmm added into Dolibarr','2011-08-01 02:31:24','2014-12-21 12:50:33',1,NULL,NULL,15,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Company mmm added into Dolibarr\nAuthor: admin',15,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(26,NULL,1,'2011-08-01 02:31:43','2011-08-01 02:31:43',50,NULL,'Company ppp added into Dolibarr','2011-08-01 02:31:43','2014-12-21 12:50:33',1,NULL,NULL,16,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Company ppp added into Dolibarr\nAuthor: admin',16,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(27,NULL,1,'2011-08-01 02:41:26','2011-08-01 02:41:26',50,NULL,'Company aaa added into Dolibarr','2011-08-01 02:41:26','2014-12-21 12:50:33',1,NULL,NULL,17,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Company aaa added into Dolibarr\nAuthor: admin',17,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(28,NULL,1,'2011-08-01 03:34:11','2011-08-01 03:34:11',50,NULL,'Invoice FA1108-0003 validated in Dolibarr','2011-08-01 03:34:11','2014-12-21 12:50:33',1,NULL,NULL,7,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0003 validated in Dolibarr\nAuthor: admin',5,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(29,NULL,1,'2011-08-01 03:34:11','2011-08-01 03:34:11',50,NULL,'Invoice FA1108-0003 validated in Dolibarr','2011-08-01 03:34:11','2014-12-21 12:50:33',1,NULL,NULL,7,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0003 changed to paid in Dolibarr\nAuthor: admin',5,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(30,NULL,1,'2011-08-06 20:33:54','2011-08-06 20:33:54',50,NULL,'Invoice FA1108-0004 validated in Dolibarr','2011-08-06 20:33:54','2014-12-21 12:50:33',1,NULL,NULL,7,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0004 validated in Dolibarr\nAuthor: admin',6,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(31,NULL,1,'2011-08-06 20:33:54','2011-08-06 20:33:54',50,NULL,'Invoice FA1108-0004 validated in Dolibarr','2011-08-06 20:33:54','2014-12-21 12:50:33',1,NULL,NULL,7,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0004 changed to paid in Dolibarr\nAuthor: admin',6,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(38,NULL,1,'2011-08-08 02:41:55','2011-08-08 02:41:55',50,NULL,'Invoice FA1108-0005 validated in Dolibarr','2011-08-08 02:41:55','2014-12-21 12:50:33',1,NULL,NULL,2,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0005 validated in Dolibarr\nAuthor: admin',8,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(40,NULL,1,'2011-08-08 02:53:40','2011-08-08 02:53:40',50,NULL,'Invoice FA1108-0005 changed to paid in Dolibarr','2011-08-08 02:53:40','2014-12-21 12:50:33',1,NULL,NULL,2,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0005 changed to paid in Dolibarr\nAuthor: admin',8,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(41,NULL,1,'2011-08-08 02:54:05','2011-08-08 02:54:05',50,NULL,'Invoice FA1007-0002 changed to paid in Dolibarr','2011-08-08 02:54:05','2014-12-21 12:50:33',1,NULL,NULL,2,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1007-0002 changed to paid in Dolibarr\nAuthor: admin',2,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(42,NULL,1,'2011-08-08 02:55:04','2011-08-08 02:55:04',50,NULL,'Invoice FA1107-0006 validated in Dolibarr','2011-08-08 02:55:04','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1107-0006 validated in Dolibarr\nAuthor: admin',3,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(43,NULL,1,'2011-08-08 02:55:26','2011-08-08 02:55:26',50,NULL,'Invoice FA1108-0007 validated in Dolibarr','2011-08-08 02:55:26','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0007 validated in Dolibarr\nAuthor: admin',9,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(44,NULL,1,'2011-08-08 02:55:58','2011-08-08 02:55:58',50,NULL,'Invoice FA1107-0006 changed to paid in Dolibarr','2011-08-08 02:55:58','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1107-0006 changed to paid in Dolibarr\nAuthor: admin',3,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(45,NULL,1,'2011-08-08 03:04:22','2011-08-08 03:04:22',50,NULL,'Order CO1108-0001 validated','2011-08-08 03:04:22','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Order CO1108-0001 validated\nAuthor: admin',5,'order',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(46,NULL,1,'2011-08-08 13:59:09','2011-08-08 13:59:09',50,NULL,'Order CO1107-0002 validated','2011-08-08 13:59:10','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Order CO1107-0002 validated\nAuthor: admin',1,'order',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(47,NULL,1,'2011-08-08 14:24:18','2011-08-08 14:24:18',50,NULL,'Proposal PR1007-0001 validated','2011-08-08 14:24:18','2014-12-21 12:50:33',1,NULL,NULL,2,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposal PR1007-0001 validated\nAuthor: admin',1,'propal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(48,NULL,1,'2011-08-08 14:24:24','2011-08-08 14:24:24',50,NULL,'Proposal PR1108-0004 validated','2011-08-08 14:24:24','2014-12-21 12:50:33',1,NULL,NULL,17,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposal PR1108-0004 validated\nAuthor: admin',4,'propal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(49,NULL,1,'2011-08-08 15:04:37','2011-08-08 15:04:37',50,NULL,'Order CF1108-0003 validated','2011-08-08 15:04:37','2014-12-21 12:50:33',1,NULL,NULL,17,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Order CF1108-0003 validated\nAuthor: admin',6,'order_supplier',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(50,NULL,1,'2012-12-08 17:56:47','2012-12-08 17:56:47',40,NULL,'Facture AV1212-0001 validée dans Dolibarr','2012-12-08 17:56:47','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture AV1212-0001 validée dans Dolibarr\nAuteur: admin',10,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(51,NULL,1,'2012-12-08 17:57:11','2012-12-08 17:57:11',40,NULL,'Facture AV1212-0001 validée dans Dolibarr','2012-12-08 17:57:11','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture AV1212-0001 validée dans Dolibarr\nAuteur: admin',10,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(52,NULL,1,'2012-12-08 17:58:27','2012-12-08 17:58:27',40,NULL,'Facture FA1212-0008 validée dans Dolibarr','2012-12-08 17:58:27','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1212-0008 validée dans Dolibarr\nAuteur: admin',11,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(53,NULL,1,'2012-12-08 18:20:49','2012-12-08 18:20:49',40,NULL,'Facture AV1212-0002 validée dans Dolibarr','2012-12-08 18:20:49','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture AV1212-0002 validée dans Dolibarr\nAuteur: admin',12,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(54,NULL,1,'2012-12-09 18:35:07','2012-12-09 18:35:07',40,NULL,'Facture AV1212-0002 passée à payée dans Dolibarr','2012-12-09 18:35:07','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture AV1212-0002 passée à payée dans Dolibarr\nAuteur: admin',12,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(55,NULL,1,'2012-12-09 20:14:42','2012-12-09 20:14:42',40,NULL,'Société doe john ajoutée dans Dolibarr','2012-12-09 20:14:42','2014-12-21 12:50:33',1,NULL,NULL,18,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Société doe john ajoutée dans Dolibarr\nAuteur: admin',18,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(56,NULL,1,'2012-12-12 18:54:19','2012-12-12 18:54:19',40,NULL,'Facture FA1212-0009 validée dans Dolibarr','2012-12-12 18:54:19','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1212-0009 validée dans Dolibarr\nAuteur: admin',55,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(121,NULL,1,'2012-12-06 10:00:00',NULL,50,NULL,'aaab','2012-12-21 17:48:08','2012-12-21 16:54:07',3,1,NULL,NULL,NULL,0,3,NULL,NULL,1,0,1,-1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(122,NULL,1,'2012-12-21 18:09:52','2012-12-21 18:09:52',40,NULL,'Facture client FA1007-0001 envoyée par EMail','2012-12-21 18:09:52','2014-12-21 12:50:33',1,NULL,NULL,9,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Mail envoyé par Firstname SuperAdminName à laurent@destailleur.fr.\nSujet du mail: Envoi facture FA1007-0001\nCorps du mail:\nVeuillez trouver ci-joint la facture FA1007-0001\r\n\r\nVous pouvez cliquer sur le lien sécurisé ci-dessous pour effectuer votre paiement via Paypal\r\n\r\nhttp://localhost/dolibarrnew/public/paypal/newpayment.php?source=invoice&ref=FA1007-0001&securekey=50c82fab36bb3b6aa83e2a50691803b2\r\n\r\nCordialement',1,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(123,NULL,1,'2013-01-06 13:13:57','2013-01-06 13:13:57',40,NULL,'Facture 16 validée dans Dolibarr','2013-01-06 13:13:57','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture 16 validée dans Dolibarr\nAuteur: admin',16,'invoice_supplier',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(124,NULL,1,'2013-01-12 12:23:05','2013-01-12 12:23:05',40,NULL,'Patient aaa ajouté','2013-01-12 12:23:05','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Patient aaa ajouté\nAuteur: admin',19,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(125,NULL,1,'2013-01-12 12:52:20','2013-01-12 12:52:20',40,NULL,'Patient pppoo ajouté','2013-01-12 12:52:20','2014-12-21 12:50:33',1,NULL,NULL,20,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Patient pppoo ajouté\nAuteur: admin',20,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(127,NULL,1,'2013-01-19 18:22:48','2013-01-19 18:22:48',40,NULL,'Facture FS1301-0001 validée dans Dolibarr','2013-01-19 18:22:48','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FS1301-0001 validée dans Dolibarr\nAuteur: admin',148,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(128,NULL,1,'2013-01-19 18:31:10','2013-01-19 18:31:10',40,NULL,'Facture FA6801-0010 validée dans Dolibarr','2013-01-19 18:31:10','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA6801-0010 validée dans Dolibarr\nAuteur: admin',150,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(129,NULL,1,'2013-01-19 18:31:10','2013-01-19 18:31:10',40,NULL,'Facture FA6801-0010 passée à payée dans Dolibarr','2013-01-19 18:31:10','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA6801-0010 passée à payée dans Dolibarr\nAuteur: admin',150,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(130,NULL,1,'2013-01-19 18:31:58','2013-01-19 18:31:58',40,NULL,'Facture FS1301-0002 validée dans Dolibarr','2013-01-19 18:31:58','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FS1301-0002 validée dans Dolibarr\nAuteur: admin',151,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(131,NULL,1,'2013-01-19 18:31:58','2013-01-19 18:31:58',40,NULL,'Facture FS1301-0002 passée à payée dans Dolibarr','2013-01-19 18:31:58','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FS1301-0002 passée à payée dans Dolibarr\nAuteur: admin',151,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(132,NULL,1,'2013-01-23 15:07:54','2013-01-23 15:07:54',50,NULL,'Consultation 24 saisie (aaa)','2013-01-23 15:07:54','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Consultation 24 saisie (aaa)\nAuteur: admin',24,'cabinetmed_cons',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(133,NULL,1,'2013-01-23 16:56:58','2013-01-23 16:56:58',40,NULL,'Patient pa ajouté','2013-01-23 16:56:58','2014-12-21 12:50:33',1,NULL,NULL,21,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Patient pa ajouté\nAuteur: admin',21,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(134,NULL,1,'2013-01-23 17:34:00',NULL,50,NULL,'bbcv','2013-01-23 17:35:21','2013-01-23 16:35:21',1,NULL,1,2,NULL,0,1,NULL,NULL,0,0,1,-1,'',NULL,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(135,NULL,1,'2013-02-12 15:54:00','2013-02-12 15:54:00',40,NULL,'Facture FA1212-0011 validée dans Dolibarr','2013-02-12 15:54:37','2014-12-21 12:50:33',1,1,NULL,7,NULL,0,1,NULL,1,0,0,1,50,NULL,NULL,NULL,'Facture FA1212-0011 validée dans Dolibarr
\r\nAuteur: admin',13,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(136,NULL,1,'2013-02-12 17:06:51','2013-02-12 17:06:51',40,NULL,'Commande CO1107-0003 validée','2013-02-12 17:06:51','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Commande CO1107-0003 validée\nAuteur: admin',2,'order',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(137,NULL,1,'2013-02-17 16:22:10','2013-02-17 16:22:10',40,NULL,'Proposition PR1302-0009 validée','2013-02-17 16:22:10','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposition PR1302-0009 validée\nAuteur: admin',9,'propal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(138,NULL,1,'2013-02-17 16:27:00','2013-02-17 16:27:00',40,NULL,'Facture FA1302-0012 validée dans Dolibarr','2013-02-17 16:27:00','2014-12-21 12:50:33',1,NULL,NULL,18,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1302-0012 validée dans Dolibarr\nAuteur: admin',152,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(139,NULL,1,'2013-02-17 16:27:29','2013-02-17 16:27:29',40,NULL,'Proposition PR1302-0010 validée','2013-02-17 16:27:29','2014-12-21 12:50:33',1,NULL,NULL,18,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposition PR1302-0010 validée\nAuteur: admin',11,'propal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(140,NULL,1,'2013-02-17 18:27:56','2013-02-17 18:27:56',40,NULL,'Commande CO1107-0004 validée','2013-02-17 18:27:56','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Commande CO1107-0004 validée\nAuteur: admin',3,'order',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(141,NULL,1,'2013-02-17 18:38:14','2013-02-17 18:38:14',40,NULL,'Commande CO1302-0005 validée','2013-02-17 18:38:14','2014-12-21 12:50:33',1,NULL,NULL,18,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Commande CO1302-0005 validée\nAuteur: admin',7,'order',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(142,NULL,1,'2013-02-26 22:57:50','2013-02-26 22:57:50',40,NULL,'Company pppp added into Dolibarr','2013-02-26 22:57:50','2014-12-21 12:50:33',1,NULL,NULL,22,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Company pppp added into Dolibarr\nAuthor: admin',22,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(143,NULL,1,'2013-02-26 22:58:13','2013-02-26 22:58:13',40,NULL,'Company ttttt added into Dolibarr','2013-02-26 22:58:13','2014-12-21 12:50:33',1,NULL,NULL,23,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Company ttttt added into Dolibarr\nAuthor: admin',23,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(144,NULL,1,'2013-02-27 10:00:00','2013-02-27 19:20:00',5,NULL,'Rendez-vous','2013-02-27 19:20:53','2013-02-27 18:20:53',1,NULL,NULL,NULL,NULL,0,1,NULL,1,0,0,1,-1,'',33600,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(145,NULL,1,'2013-02-27 19:28:00',NULL,2,NULL,'fdsfsd','2013-02-27 19:28:48','2013-02-27 18:29:53',1,1,NULL,NULL,NULL,0,1,NULL,1,0,0,1,-1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(146,NULL,1,'2013-03-06 10:05:07','2013-03-06 10:05:07',40,NULL,'Contrat (PROV3) validé dans Dolibarr','2013-03-06 10:05:07','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Contrat (PROV3) validé dans Dolibarr\nAuteur: admin',3,'contract',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(147,NULL,1,'2013-03-06 16:43:37','2013-03-06 16:43:37',40,NULL,'Facture FA1307-0013 validée dans Dolibarr','2013-03-06 16:43:37','2014-12-21 12:50:33',1,NULL,NULL,12,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1307-0013 validée dans Dolibarr\nAuteur: admin',158,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(148,NULL,1,'2013-03-06 16:44:12','2013-03-06 16:44:12',40,NULL,'Facture FA1407-0014 validée dans Dolibarr','2013-03-06 16:44:12','2014-12-21 12:50:33',1,NULL,NULL,12,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1407-0014 validée dans Dolibarr\nAuteur: admin',159,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(149,NULL,1,'2013-03-06 16:47:48','2013-03-06 16:47:48',40,NULL,'Facture FA1507-0015 validée dans Dolibarr','2013-03-06 16:47:48','2014-12-21 12:50:33',1,NULL,NULL,12,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1507-0015 validée dans Dolibarr\nAuteur: admin',160,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(150,NULL,1,'2013-03-06 16:48:16','2013-03-06 16:48:16',40,NULL,'Facture FA1607-0016 validée dans Dolibarr','2013-03-06 16:48:16','2014-12-21 12:50:33',1,NULL,NULL,12,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1607-0016 validée dans Dolibarr\nAuteur: admin',161,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(151,NULL,1,'2013-03-06 17:13:59','2013-03-06 17:13:59',40,NULL,'Société smith smith ajoutée dans Dolibarr','2013-03-06 17:13:59','2014-12-21 12:50:33',1,NULL,NULL,24,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Société smith smith ajoutée dans Dolibarr\nAuteur: admin',24,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(152,NULL,1,'2013-03-08 10:02:22','2013-03-08 10:02:22',40,NULL,'Proposition (PROV12) validée dans Dolibarr','2013-03-08 10:02:22','2014-12-21 12:50:33',1,NULL,NULL,23,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposition (PROV12) validée dans Dolibarr\nAuteur: admin',12,'propal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(203,NULL,1,'2013-03-09 19:39:27','2013-03-09 19:39:27',40,'AC_ORDER_SUPPLIER_VALIDATE','Commande CF1303-0004 validée','2013-03-09 19:39:27','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Commande CF1303-0004 validée\nAuteur: admin',13,'order_supplier',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(204,NULL,1,'2013-03-10 15:47:37','2013-03-10 15:47:37',40,'AC_COMPANY_CREATE','Patient créé','2013-03-10 15:47:37','2014-12-21 12:50:33',1,NULL,NULL,25,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Patient créé\nAuteur: admin',25,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(205,NULL,1,'2013-03-10 15:57:32','2013-03-10 15:57:32',40,'AC_COMPANY_CREATE','Tiers créé','2013-03-10 15:57:32','2014-12-21 12:50:33',1,NULL,NULL,26,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Tiers créé\nAuteur: admin',26,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(206,NULL,1,'2013-03-10 15:58:28','2013-03-10 15:58:28',40,'AC_BILL_VALIDATE','Facture FA1303-0017 validée','2013-03-10 15:58:28','2014-12-21 12:50:33',1,NULL,NULL,26,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1303-0017 validée\nAuteur: admin',208,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(207,NULL,1,'2013-03-19 09:38:10','2013-03-19 09:38:10',40,'AC_BILL_VALIDATE','Facture FA1303-0018 validée','2013-03-19 09:38:10','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1303-0018 validée\nAuteur: admin',209,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(208,NULL,1,'2013-03-20 14:30:11','2013-03-20 14:30:11',40,'AC_BILL_VALIDATE','Facture FA1107-0019 validée','2013-03-20 14:30:11','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1107-0019 validée\nAuteur: admin',210,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(209,NULL,1,'2013-03-22 09:40:25','2013-03-22 09:40:25',40,'AC_BILL_VALIDATE','Facture FA1303-0020 validée','2013-03-22 09:40:25','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1303-0020 validée\nAuteur: admin',211,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(210,NULL,1,'2013-03-23 17:16:25','2013-03-23 17:16:25',40,'AC_BILL_VALIDATE','Facture FA1303-0020 validée','2013-03-23 17:16:25','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1303-0020 validée\nAuteur: admin',211,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(211,NULL,1,'2013-03-23 18:08:27','2013-03-23 18:08:27',40,'AC_BILL_VALIDATE','Facture FA1307-0013 validée','2013-03-23 18:08:27','2014-12-21 12:50:33',1,NULL,NULL,12,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1307-0013 validée\nAuteur: admin',158,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(212,NULL,1,'2013-03-24 15:54:00','2013-03-24 15:54:00',40,'AC_BILL_VALIDATE','Facture FA1212-0021 validée','2013-03-24 15:54:00','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1212-0021 validée\nAuteur: admin',32,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(213,NULL,1,'2013-11-07 01:02:39','2013-11-07 01:02:39',40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:02:39','2014-12-21 12:50:33',1,NULL,NULL,27,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',27,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(214,NULL,1,'2013-11-07 01:05:22','2013-11-07 01:05:22',40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:05:22','2014-12-21 12:50:33',1,NULL,NULL,28,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',28,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(215,NULL,1,'2013-11-07 01:07:07','2013-11-07 01:07:07',40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:07:07','2014-12-21 12:50:33',1,NULL,NULL,29,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',29,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(216,NULL,1,'2013-11-07 01:07:58','2013-11-07 01:07:58',40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:07:58','2014-12-21 12:50:33',1,NULL,NULL,30,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',30,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(217,NULL,1,'2013-11-07 01:10:09','2013-11-07 01:10:09',40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:10:09','2014-12-21 12:50:33',1,NULL,NULL,31,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',31,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(218,NULL,1,'2013-11-07 01:15:57','2013-11-07 01:15:57',40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:15:57','2014-12-21 12:50:33',1,NULL,NULL,32,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',32,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(219,NULL,1,'2013-11-07 01:16:51','2013-11-07 01:16:51',40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:16:51','2014-12-21 12:50:33',1,NULL,NULL,33,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',33,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(220,NULL,1,'2014-03-02 17:24:04','2014-03-02 17:24:04',40,'AC_BILL_VALIDATE','Invoice FA1302-0022 validated','2014-03-02 17:24:04','2014-12-21 12:50:33',1,NULL,NULL,18,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1302-0022 validated\nAuthor: admin',157,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(221,NULL,1,'2014-03-02 17:24:28','2014-03-02 17:24:28',40,'AC_BILL_VALIDATE','Invoice FA1303-0020 validated','2014-03-02 17:24:28','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1303-0020 validated\nAuthor: admin',211,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(222,NULL,1,'2014-03-05 10:00:00','2014-03-05 10:00:00',5,NULL,'RDV John','2014-03-02 19:54:48','2014-03-02 18:55:29',1,1,NULL,NULL,NULL,0,1,0,NULL,0,0,1,-1,NULL,NULL,NULL,'gfdgdfgdf',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(223,NULL,1,'2014-03-13 10:00:00','2014-03-17 00:00:00',50,NULL,'Congress','2014-03-02 19:55:11','2014-03-02 18:55:11',1,NULL,NULL,NULL,NULL,0,1,0,NULL,0,0,1,-1,'',309600,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(224,NULL,1,'2014-03-14 10:00:00',NULL,1,NULL,'Call john','2014-03-02 19:55:56','2014-03-02 18:55:56',1,NULL,NULL,NULL,NULL,0,1,0,NULL,0,0,1,0,'',NULL,NULL,'tttt',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(225,NULL,1,'2014-03-02 20:11:31','2014-03-02 20:11:31',40,'AC_BILL_UNVALIDATE','Invoice FA1303-0020 go back to draft status','2014-03-02 20:11:31','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1303-0020 go back to draft status\nAuthor: admin',211,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(226,NULL,1,'2014-03-02 20:13:39','2014-03-02 20:13:39',40,'AC_BILL_VALIDATE','Invoice FA1303-0020 validated','2014-03-02 20:13:39','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1303-0020 validated\nAuthor: admin',211,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(227,NULL,1,'2014-03-03 19:20:10','2014-03-03 19:20:10',40,'AC_BILL_VALIDATE','Invoice FA1212-0023 validated','2014-03-03 19:20:10','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1212-0023 validated\nAuthor: admin',33,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(228,NULL,1,'2014-03-03 19:20:25','2014-03-03 19:20:25',40,'AC_BILL_CANCEL','Invoice FA1212-0023 canceled in Dolibarr','2014-03-03 19:20:25','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1212-0023 canceled in Dolibarr\nAuthor: admin',33,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(229,NULL,1,'2014-03-03 19:20:56','2014-03-03 19:20:56',40,'AC_BILL_VALIDATE','Invoice AV1403-0003 validated','2014-03-03 19:20:56','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Invoice AV1403-0003 validated\nAuthor: admin',212,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(230,NULL,1,'2014-03-03 19:21:29','2014-03-03 19:21:29',40,'AC_BILL_UNVALIDATE','Invoice AV1403-0003 go back to draft status','2014-03-03 19:21:29','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Invoice AV1403-0003 go back to draft status\nAuthor: admin',212,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(231,NULL,1,'2014-03-03 19:22:16','2014-03-03 19:22:16',40,'AC_BILL_VALIDATE','Invoice AV1303-0003 validated','2014-03-03 19:22:16','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Invoice AV1303-0003 validated\nAuthor: admin',213,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(232,NULL,1,'2016-01-22 18:54:39','2016-01-22 18:54:39',40,'AC_OTH_AUTO','Invoice 16 validated','2016-01-22 18:54:39','2016-01-22 17:54:39',12,NULL,NULL,1,NULL,0,12,0,NULL,0,0,1,-1,'',NULL,NULL,'Invoice 16 validated\nAuthor: admin',16,'invoice_supplier',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(233,NULL,1,'2016-01-22 18:54:46','2016-01-22 18:54:46',40,'AC_OTH_AUTO','Invoice 16 validated','2016-01-22 18:54:46','2016-01-22 17:54:46',12,NULL,NULL,1,NULL,0,12,0,NULL,0,0,1,-1,'',NULL,NULL,'Invoice 16 validated\nAuthor: admin',16,'invoice_supplier',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(234,NULL,1,'2016-07-05 10:00:00','2016-07-05 11:19:00',5,'AC_RDV','Meeting with my boss','2016-07-31 18:19:48','2016-07-31 14:19:48',12,NULL,NULL,NULL,NULL,0,12,1,NULL,0,0,1,-1,'',4740,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(235,NULL,1,'2016-07-13 00:00:00','2016-07-14 23:59:59',50,'AC_OTH','Trip at Las Vegas','2016-07-31 18:20:36','2016-07-31 14:20:36',12,NULL,4,NULL,2,0,12,1,NULL,0,1,1,-1,'',172799,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(236,NULL,1,'2016-07-29 10:00:00',NULL,4,'AC_EMAIL','Remind to send an email','2016-07-31 18:21:04','2016-07-31 14:21:04',12,NULL,NULL,NULL,NULL,0,4,0,NULL,0,0,1,-1,'',NULL,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(237,NULL,1,'2016-07-01 10:00:00',NULL,1,'AC_TEL','Phone call with Mr Vaalen','2016-07-31 18:22:04','2016-07-31 14:22:04',12,NULL,6,4,NULL,0,13,0,NULL,0,0,1,-1,'',NULL,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(238,NULL,1,'2016-08-02 10:00:00','2016-08-02 12:00:00',5,'AC_RDV','Meeting on radium','2016-08-01 01:15:50','2016-07-31 21:15:50',12,NULL,8,10,10,0,12,1,NULL,0,0,1,-1,'',7200,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); /*!40000 ALTER TABLE `llx_actioncomm` ENABLE KEYS */; UNLOCK TABLES; @@ -288,7 +288,7 @@ CREATE TABLE `llx_actioncomm_resources` ( PRIMARY KEY (`rowid`), UNIQUE KEY `uk_actioncomm_resources` (`fk_actioncomm`,`element_type`,`fk_element`), KEY `idx_actioncomm_resources_fk_element` (`fk_element`) -) ENGINE=InnoDB AUTO_INCREMENT=112 DEFAULT CHARSET=latin1; +) ENGINE=InnoDB AUTO_INCREMENT=121 DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -297,7 +297,7 @@ CREATE TABLE `llx_actioncomm_resources` ( LOCK TABLES `llx_actioncomm_resources` WRITE; /*!40000 ALTER TABLE `llx_actioncomm_resources` DISABLE KEYS */; -INSERT INTO `llx_actioncomm_resources` VALUES (1,1,'user',1,NULL,NULL,1),(2,2,'user',1,NULL,NULL,1),(3,3,'user',1,NULL,NULL,1),(4,4,'user',1,NULL,NULL,1),(5,5,'user',1,NULL,NULL,1),(6,6,'user',1,NULL,NULL,1),(7,7,'user',1,NULL,NULL,1),(8,8,'user',1,NULL,NULL,1),(9,9,'user',1,NULL,NULL,1),(10,10,'user',1,NULL,NULL,1),(11,11,'user',1,NULL,NULL,1),(12,12,'user',1,NULL,NULL,1),(13,13,'user',1,NULL,NULL,1),(14,14,'user',1,NULL,NULL,1),(15,15,'user',1,NULL,NULL,1),(16,16,'user',1,NULL,NULL,1),(17,17,'user',1,NULL,NULL,1),(18,18,'user',1,NULL,NULL,1),(19,19,'user',1,NULL,NULL,1),(20,20,'user',1,NULL,NULL,1),(21,21,'user',1,NULL,NULL,1),(22,22,'user',1,NULL,NULL,1),(23,23,'user',1,NULL,NULL,1),(24,24,'user',1,NULL,NULL,1),(25,25,'user',1,NULL,NULL,1),(26,26,'user',1,NULL,NULL,1),(27,27,'user',1,NULL,NULL,1),(28,28,'user',1,NULL,NULL,1),(29,29,'user',1,NULL,NULL,1),(30,30,'user',1,NULL,NULL,1),(31,31,'user',1,NULL,NULL,1),(32,38,'user',1,NULL,NULL,1),(33,40,'user',1,NULL,NULL,1),(34,41,'user',1,NULL,NULL,1),(35,42,'user',1,NULL,NULL,1),(36,43,'user',1,NULL,NULL,1),(37,44,'user',1,NULL,NULL,1),(38,45,'user',1,NULL,NULL,1),(39,46,'user',1,NULL,NULL,1),(40,47,'user',1,NULL,NULL,1),(41,48,'user',1,NULL,NULL,1),(42,49,'user',1,NULL,NULL,1),(43,50,'user',1,NULL,NULL,1),(44,51,'user',1,NULL,NULL,1),(45,52,'user',1,NULL,NULL,1),(46,53,'user',1,NULL,NULL,1),(47,54,'user',1,NULL,NULL,1),(48,55,'user',1,NULL,NULL,1),(49,56,'user',1,NULL,NULL,1),(50,121,'user',3,NULL,NULL,1),(51,122,'user',1,NULL,NULL,1),(52,123,'user',1,NULL,NULL,1),(53,124,'user',1,NULL,NULL,1),(54,125,'user',1,NULL,NULL,1),(55,127,'user',1,NULL,NULL,1),(56,128,'user',1,NULL,NULL,1),(57,129,'user',1,NULL,NULL,1),(58,130,'user',1,NULL,NULL,1),(59,131,'user',1,NULL,NULL,1),(60,132,'user',1,NULL,NULL,1),(61,133,'user',1,NULL,NULL,1),(62,134,'user',1,NULL,NULL,1),(63,135,'user',1,NULL,NULL,1),(64,136,'user',1,NULL,NULL,1),(65,137,'user',1,NULL,NULL,1),(66,138,'user',1,NULL,NULL,1),(67,139,'user',1,NULL,NULL,1),(68,140,'user',1,NULL,NULL,1),(69,141,'user',1,NULL,NULL,1),(70,142,'user',1,NULL,NULL,1),(71,143,'user',1,NULL,NULL,1),(72,144,'user',1,NULL,NULL,1),(73,145,'user',1,NULL,NULL,1),(74,146,'user',1,NULL,NULL,1),(75,147,'user',1,NULL,NULL,1),(76,148,'user',1,NULL,NULL,1),(77,149,'user',1,NULL,NULL,1),(78,150,'user',1,NULL,NULL,1),(79,151,'user',1,NULL,NULL,1),(80,152,'user',1,NULL,NULL,1),(81,203,'user',1,NULL,NULL,1),(82,204,'user',1,NULL,NULL,1),(83,205,'user',1,NULL,NULL,1),(84,206,'user',1,NULL,NULL,1),(85,207,'user',1,NULL,NULL,1),(86,208,'user',1,NULL,NULL,1),(87,209,'user',1,NULL,NULL,1),(88,210,'user',1,NULL,NULL,1),(89,211,'user',1,NULL,NULL,1),(90,212,'user',1,NULL,NULL,1),(91,213,'user',1,NULL,NULL,1),(92,214,'user',1,NULL,NULL,1),(93,215,'user',1,NULL,NULL,1),(94,216,'user',1,NULL,NULL,1),(95,217,'user',1,NULL,NULL,1),(96,218,'user',1,NULL,NULL,1),(97,219,'user',1,NULL,NULL,1),(98,220,'user',1,NULL,NULL,1),(99,221,'user',1,NULL,NULL,1),(100,222,'user',1,NULL,NULL,1),(101,223,'user',1,NULL,NULL,1),(102,224,'user',1,NULL,NULL,1),(103,225,'user',1,NULL,NULL,1),(104,226,'user',1,NULL,NULL,1),(105,227,'user',1,NULL,NULL,1),(106,228,'user',1,NULL,NULL,1),(107,229,'user',1,NULL,NULL,1),(108,230,'user',1,NULL,NULL,1),(109,231,'user',1,NULL,NULL,1),(110,232,'user',12,'0',0,0),(111,233,'user',12,'0',0,0); +INSERT INTO `llx_actioncomm_resources` VALUES (1,1,'user',1,NULL,NULL,1),(2,2,'user',1,NULL,NULL,1),(3,3,'user',1,NULL,NULL,1),(4,4,'user',1,NULL,NULL,1),(5,5,'user',1,NULL,NULL,1),(6,6,'user',1,NULL,NULL,1),(7,7,'user',1,NULL,NULL,1),(8,8,'user',1,NULL,NULL,1),(9,9,'user',1,NULL,NULL,1),(10,10,'user',1,NULL,NULL,1),(11,11,'user',1,NULL,NULL,1),(12,12,'user',1,NULL,NULL,1),(13,13,'user',1,NULL,NULL,1),(14,14,'user',1,NULL,NULL,1),(15,15,'user',1,NULL,NULL,1),(16,16,'user',1,NULL,NULL,1),(17,17,'user',1,NULL,NULL,1),(18,18,'user',1,NULL,NULL,1),(19,19,'user',1,NULL,NULL,1),(20,20,'user',1,NULL,NULL,1),(21,21,'user',1,NULL,NULL,1),(22,22,'user',1,NULL,NULL,1),(23,23,'user',1,NULL,NULL,1),(24,24,'user',1,NULL,NULL,1),(25,25,'user',1,NULL,NULL,1),(26,26,'user',1,NULL,NULL,1),(27,27,'user',1,NULL,NULL,1),(28,28,'user',1,NULL,NULL,1),(29,29,'user',1,NULL,NULL,1),(30,30,'user',1,NULL,NULL,1),(31,31,'user',1,NULL,NULL,1),(32,38,'user',1,NULL,NULL,1),(33,40,'user',1,NULL,NULL,1),(34,41,'user',1,NULL,NULL,1),(35,42,'user',1,NULL,NULL,1),(36,43,'user',1,NULL,NULL,1),(37,44,'user',1,NULL,NULL,1),(38,45,'user',1,NULL,NULL,1),(39,46,'user',1,NULL,NULL,1),(40,47,'user',1,NULL,NULL,1),(41,48,'user',1,NULL,NULL,1),(42,49,'user',1,NULL,NULL,1),(43,50,'user',1,NULL,NULL,1),(44,51,'user',1,NULL,NULL,1),(45,52,'user',1,NULL,NULL,1),(46,53,'user',1,NULL,NULL,1),(47,54,'user',1,NULL,NULL,1),(48,55,'user',1,NULL,NULL,1),(49,56,'user',1,NULL,NULL,1),(50,121,'user',3,NULL,NULL,1),(51,122,'user',1,NULL,NULL,1),(52,123,'user',1,NULL,NULL,1),(53,124,'user',1,NULL,NULL,1),(54,125,'user',1,NULL,NULL,1),(55,127,'user',1,NULL,NULL,1),(56,128,'user',1,NULL,NULL,1),(57,129,'user',1,NULL,NULL,1),(58,130,'user',1,NULL,NULL,1),(59,131,'user',1,NULL,NULL,1),(60,132,'user',1,NULL,NULL,1),(61,133,'user',1,NULL,NULL,1),(62,134,'user',1,NULL,NULL,1),(63,135,'user',1,NULL,NULL,1),(64,136,'user',1,NULL,NULL,1),(65,137,'user',1,NULL,NULL,1),(66,138,'user',1,NULL,NULL,1),(67,139,'user',1,NULL,NULL,1),(68,140,'user',1,NULL,NULL,1),(69,141,'user',1,NULL,NULL,1),(70,142,'user',1,NULL,NULL,1),(71,143,'user',1,NULL,NULL,1),(72,144,'user',1,NULL,NULL,1),(73,145,'user',1,NULL,NULL,1),(74,146,'user',1,NULL,NULL,1),(75,147,'user',1,NULL,NULL,1),(76,148,'user',1,NULL,NULL,1),(77,149,'user',1,NULL,NULL,1),(78,150,'user',1,NULL,NULL,1),(79,151,'user',1,NULL,NULL,1),(80,152,'user',1,NULL,NULL,1),(81,203,'user',1,NULL,NULL,1),(82,204,'user',1,NULL,NULL,1),(83,205,'user',1,NULL,NULL,1),(84,206,'user',1,NULL,NULL,1),(85,207,'user',1,NULL,NULL,1),(86,208,'user',1,NULL,NULL,1),(87,209,'user',1,NULL,NULL,1),(88,210,'user',1,NULL,NULL,1),(89,211,'user',1,NULL,NULL,1),(90,212,'user',1,NULL,NULL,1),(91,213,'user',1,NULL,NULL,1),(92,214,'user',1,NULL,NULL,1),(93,215,'user',1,NULL,NULL,1),(94,216,'user',1,NULL,NULL,1),(95,217,'user',1,NULL,NULL,1),(96,218,'user',1,NULL,NULL,1),(97,219,'user',1,NULL,NULL,1),(98,220,'user',1,NULL,NULL,1),(99,221,'user',1,NULL,NULL,1),(100,222,'user',1,NULL,NULL,1),(101,223,'user',1,NULL,NULL,1),(102,224,'user',1,NULL,NULL,1),(103,225,'user',1,NULL,NULL,1),(104,226,'user',1,NULL,NULL,1),(105,227,'user',1,NULL,NULL,1),(106,228,'user',1,NULL,NULL,1),(107,229,'user',1,NULL,NULL,1),(108,230,'user',1,NULL,NULL,1),(109,231,'user',1,NULL,NULL,1),(110,232,'user',12,'0',0,0),(111,233,'user',12,'0',0,0),(112,234,'user',12,'0',0,1),(113,235,'user',12,'0',0,1),(114,236,'user',4,'0',0,0),(115,237,'user',13,'0',0,0),(116,237,'user',16,'0',0,0),(117,237,'user',18,'0',0,0),(118,238,'user',12,'0',0,1),(119,238,'user',3,'0',0,1),(120,238,'user',10,'0',0,1); /*!40000 ALTER TABLE `llx_actioncomm_resources` ENABLE KEYS */; UNLOCK TABLES; @@ -1024,7 +1024,7 @@ CREATE TABLE `llx_c_barcode_type` ( `example` varchar(16) NOT NULL, PRIMARY KEY (`rowid`), UNIQUE KEY `uk_c_barcode_type` (`code`,`entity`) -) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -1174,7 +1174,7 @@ CREATE TABLE `llx_c_departements` ( KEY `idx_departements_fk_region` (`fk_region`), CONSTRAINT `fk_departements_code_region` FOREIGN KEY (`fk_region`) REFERENCES `llx_c_regions` (`code_region`), CONSTRAINT `fk_departements_fk_region` FOREIGN KEY (`fk_region`) REFERENCES `llx_c_regions` (`code_region`) -) ENGINE=InnoDB AUTO_INCREMENT=2171 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=2049 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -1374,7 +1374,7 @@ CREATE TABLE `llx_c_forme_juridique` ( `position` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`rowid`), UNIQUE KEY `uk_c_forme_juridique` (`code`) -) ENGINE=InnoDB AUTO_INCREMENT=100231 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=100216 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -1405,7 +1405,7 @@ CREATE TABLE `llx_c_holiday_types` ( `active` int(11) DEFAULT '1', PRIMARY KEY (`rowid`), UNIQUE KEY `uk_c_holiday_types` (`code`) -) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -1887,7 +1887,7 @@ CREATE TABLE `llx_c_regions` ( UNIQUE KEY `uk_code_region` (`code_region`), KEY `idx_c_regions_fk_pays` (`fk_pays`), CONSTRAINT `fk_c_regions_fk_pays` FOREIGN KEY (`fk_pays`) REFERENCES `llx_c_pays` (`rowid`) -) ENGINE=InnoDB AUTO_INCREMENT=23354 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=23344 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -2788,7 +2788,7 @@ CREATE TABLE `llx_commande_fournisseur_dispatch` ( `sellby` date DEFAULT NULL, PRIMARY KEY (`rowid`), KEY `idx_commande_fournisseur_dispatch_fk_commande` (`fk_commande`) -) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -3049,7 +3049,7 @@ CREATE TABLE `llx_const` ( `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`rowid`), UNIQUE KEY `uk_const` (`name`,`entity`) -) ENGINE=InnoDB AUTO_INCREMENT=5813 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=5815 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -3058,7 +3058,7 @@ CREATE TABLE `llx_const` ( LOCK TABLES `llx_const` WRITE; /*!40000 ALTER TABLE `llx_const` DISABLE KEYS */; -INSERT INTO `llx_const` VALUES (5,'SYSLOG_LEVEL',0,'7','chaine',0,'Level of debug info to show','2010-07-08 11:17:57'),(8,'MAIN_UPLOAD_DOC',0,'2048','chaine',0,'Max size for file upload (0 means no upload allowed)','2010-07-08 11:17:57'),(9,'MAIN_SEARCHFORM_SOCIETE',0,'1','yesno',0,'Show form for quick company search','2010-07-08 11:17:57'),(10,'MAIN_SEARCHFORM_CONTACT',0,'1','yesno',0,'Show form for quick contact search','2010-07-08 11:17:57'),(11,'MAIN_SEARCHFORM_PRODUITSERVICE',0,'1','yesno',0,'Show form for quick product search','2010-07-08 11:17:58'),(12,'MAIN_SEARCHFORM_ADHERENT',0,'1','yesno',0,'Show form for quick member search','2010-07-08 11:17:58'),(16,'MAIN_SIZE_LISTE_LIMIT',0,'25','chaine',0,'Longueur maximum des listes','2010-07-08 11:17:58'),(17,'MAIN_SHOW_WORKBOARD',0,'1','yesno',0,'Affichage tableau de bord de travail Dolibarr','2010-07-08 11:17:58'),(29,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',1,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2010-07-08 11:17:58'),(33,'SOCIETE_NOLIST_COURRIER',0,'1','yesno',0,'Liste les fichiers du repertoire courrier','2010-07-08 11:17:58'),(36,'ADHERENT_MAIL_REQUIRED',1,'1','yesno',0,'EMail required to create a new member','2010-07-08 11:17:58'),(37,'ADHERENT_MAIL_FROM',1,'adherents@domain.com','chaine',0,'Sender EMail for automatic emails','2010-07-08 11:17:58'),(38,'ADHERENT_MAIL_RESIL',1,'Your subscription has been resiliated.\r\nWe hope to see you soon again','texte',0,'Mail resiliation','2010-07-08 11:17:58'),(39,'ADHERENT_MAIL_VALID',1,'Your subscription has been validated.\r\nThis is a remind of your personal information :\r\n\r\n%INFOS%\r\n\r\n','texte',0,'Mail de validation','2010-07-08 11:17:59'),(40,'ADHERENT_MAIL_COTIS',1,'Hello %PRENOM%,\r\nThanks for your subscription.\r\nThis email confirms that your subscription has been received and processed.\r\n\r\n','texte',0,'Mail de validation de cotisation','2010-07-08 11:17:59'),(41,'ADHERENT_MAIL_VALID_SUBJECT',1,'Your subscription has been validated','chaine',0,'Sujet du mail de validation','2010-07-08 11:17:59'),(42,'ADHERENT_MAIL_RESIL_SUBJECT',1,'Resiliating your subscription','chaine',0,'Sujet du mail de resiliation','2010-07-08 11:17:59'),(43,'ADHERENT_MAIL_COTIS_SUBJECT',1,'Receipt of your subscription','chaine',0,'Sujet du mail de validation de cotisation','2010-07-08 11:17:59'),(44,'MAILING_EMAIL_FROM',1,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2010-07-08 11:17:59'),(45,'ADHERENT_USE_MAILMAN',1,'0','yesno',0,'Utilisation de Mailman','2010-07-08 11:17:59'),(46,'ADHERENT_MAILMAN_UNSUB_URL',1,'http://lists.domain.com/cgi-bin/mailman/admin/%LISTE%/members?adminpw=%MAILMAN_ADMINPW%&user=%EMAIL%','chaine',0,'Url de desinscription aux listes mailman','2010-07-08 11:17:59'),(47,'ADHERENT_MAILMAN_URL',1,'http://lists.domain.com/cgi-bin/mailman/admin/%LISTE%/members?adminpw=%MAILMAN_ADMINPW%&send_welcome_msg_to_this_batch=1&subscribees=%EMAIL%','chaine',0,'Url pour les inscriptions mailman','2010-07-08 11:17:59'),(48,'ADHERENT_MAILMAN_LISTS',1,'test-test,test-test2','chaine',0,'Listes auxquelles inscrire les nouveaux adherents','2010-07-08 11:17:59'),(49,'ADHERENT_MAILMAN_ADMINPW',1,'','chaine',0,'Mot de passe Admin des liste mailman','2010-07-08 11:17:59'),(50,'ADHERENT_MAILMAN_SERVER',1,'lists.domain.com','chaine',0,'Serveur hebergeant les interfaces d Admin des listes mailman','2010-07-08 11:17:59'),(51,'ADHERENT_MAILMAN_LISTS_COTISANT',1,'','chaine',0,'Liste(s) auxquelles les nouveaux cotisants sont inscris automatiquement','2010-07-08 11:17:59'),(52,'ADHERENT_USE_SPIP',1,'0','yesno',0,'Utilisation de SPIP ?','2010-07-08 11:17:59'),(53,'ADHERENT_USE_SPIP_AUTO',1,'0','yesno',0,'Utilisation de SPIP automatiquement','2010-07-08 11:17:59'),(54,'ADHERENT_SPIP_USER',1,'user','chaine',0,'user spip','2010-07-08 11:17:59'),(55,'ADHERENT_SPIP_PASS',1,'pass','chaine',0,'Pass de connection','2010-07-08 11:17:59'),(56,'ADHERENT_SPIP_SERVEUR',1,'localhost','chaine',0,'serveur spip','2010-07-08 11:17:59'),(57,'ADHERENT_SPIP_DB',1,'spip','chaine',0,'db spip','2010-07-08 11:17:59'),(58,'ADHERENT_CARD_HEADER_TEXT',1,'%ANNEE%','chaine',0,'Texte imprime sur le haut de la carte adherent','2010-07-08 11:17:59'),(59,'ADHERENT_CARD_FOOTER_TEXT',1,'Association AZERTY','chaine',0,'Texte imprime sur le bas de la carte adherent','2010-07-08 11:17:59'),(61,'FCKEDITOR_ENABLE_USER',1,'1','yesno',0,'Activation fckeditor sur notes utilisateurs','2010-07-08 11:17:59'),(62,'FCKEDITOR_ENABLE_SOCIETE',1,'1','yesno',0,'Activation fckeditor sur notes societe','2010-07-08 11:17:59'),(63,'FCKEDITOR_ENABLE_PRODUCTDESC',1,'1','yesno',0,'Activation fckeditor sur notes produits','2010-07-08 11:17:59'),(64,'FCKEDITOR_ENABLE_MEMBER',1,'1','yesno',0,'Activation fckeditor sur notes adherent','2010-07-08 11:17:59'),(65,'FCKEDITOR_ENABLE_MAILING',1,'1','yesno',0,'Activation fckeditor sur emailing','2010-07-08 11:17:59'),(67,'DON_ADDON_MODEL',1,'html_cerfafr','chaine',0,'','2010-07-08 11:18:00'),(68,'PROPALE_ADDON',1,'mod_propale_marbre','chaine',0,'','2010-07-08 11:18:00'),(69,'PROPALE_ADDON_PDF',1,'azur','chaine',0,'','2010-07-08 11:18:00'),(70,'COMMANDE_ADDON',1,'mod_commande_marbre','chaine',0,'','2010-07-08 11:18:00'),(71,'COMMANDE_ADDON_PDF',1,'einstein','chaine',0,'','2010-07-08 11:18:00'),(72,'COMMANDE_SUPPLIER_ADDON',1,'mod_commande_fournisseur_muguet','chaine',0,'','2010-07-08 11:18:00'),(73,'COMMANDE_SUPPLIER_ADDON_PDF',1,'muscadet','chaine',0,'','2010-07-08 11:18:00'),(74,'EXPEDITION_ADDON',1,'enlevement','chaine',0,'','2010-07-08 11:18:00'),(76,'FICHEINTER_ADDON',1,'pacific','chaine',0,'','2010-07-08 11:18:00'),(77,'FICHEINTER_ADDON_PDF',1,'soleil','chaine',0,'','2010-07-08 11:18:00'),(79,'FACTURE_ADDON_PDF',1,'crabe','chaine',0,'','2010-07-08 11:18:00'),(80,'PROPALE_VALIDITY_DURATION',1,'15','chaine',0,'Durée de validitée des propales','2010-07-08 11:18:00'),(230,'COMPANY_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/thirdparties','chaine',0,NULL,'2010-07-08 11:26:20'),(238,'LIVRAISON_ADDON_PDF',1,'typhon','chaine',0,'Nom du gestionnaire de generation des commandes en PDF','2010-07-08 11:26:27'),(239,'LIVRAISON_ADDON_NUMBER',1,'mod_livraison_jade','chaine',0,'Nom du gestionnaire de numerotation des bons de livraison','2013-03-20 13:17:36'),(242,'MAIN_SUBMODULE_EXPEDITION',1,'1','chaine',0,'','2010-07-08 11:26:34'),(245,'FACTURE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/invoices','chaine',0,NULL,'2010-07-08 11:28:53'),(249,'DON_FORM',1,'fsfe.fr.php','chaine',0,'Nom du gestionnaire de formulaire de dons','2010-07-08 11:29:00'),(253,'ADHERENT_BANK_USE_AUTO',1,'','yesno',0,'Insertion automatique des cotisation dans le compte banquaire','2010-07-08 11:29:05'),(254,'ADHERENT_BANK_ACCOUNT',1,'','chaine',0,'ID du Compte banquaire utilise','2010-07-08 11:29:05'),(255,'ADHERENT_BANK_CATEGORIE',1,'','chaine',0,'ID de la categorie banquaire des cotisations','2010-07-08 11:29:05'),(256,'ADHERENT_ETIQUETTE_TYPE',1,'L7163','chaine',0,'Type d etiquette (pour impression de planche d etiquette)','2010-07-08 11:29:05'),(269,'PROJECT_ADDON_PDF',1,'baleine','chaine',0,'Nom du gestionnaire de generation des projets en PDF','2010-07-08 11:29:33'),(270,'PROJECT_ADDON',1,'mod_project_simple','chaine',0,'Nom du gestionnaire de numerotation des projets','2010-07-08 11:29:33'),(368,'STOCK_USERSTOCK_AUTOCREATE',1,'1','chaine',0,'','2010-07-08 22:44:59'),(369,'EXPEDITION_ADDON_PDF',1,'merou','chaine',0,'','2010-07-08 22:58:07'),(370,'MAIN_SUBMODULE_LIVRAISON',1,'1','chaine',0,'','2010-07-08 23:00:29'),(377,'FACTURE_ADDON',1,'mod_facture_terre','chaine',0,'','2010-07-08 23:08:12'),(380,'ADHERENT_CARD_TEXT',1,'%TYPE% n° %ID%\r\n%PRENOM% %NOM%\r\n<%EMAIL%>\r\n%ADRESSE%\r\n%CP% %VILLE%\r\n%PAYS%','',0,'Texte imprime sur la carte adherent','2010-07-08 23:14:46'),(381,'ADHERENT_CARD_TEXT_RIGHT',1,'aaa','',0,'','2010-07-08 23:14:55'),(384,'PRODUIT_SOUSPRODUITS',1,'1','chaine',0,'','2010-07-08 23:22:12'),(385,'PRODUIT_USE_SEARCH_TO_SELECT',1,'1','chaine',0,'','2010-07-08 23:22:19'),(386,'STOCK_CALCULATE_ON_SHIPMENT',1,'1','chaine',0,'','2010-07-08 23:23:21'),(387,'STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER',1,'1','chaine',0,'','2010-07-08 23:23:26'),(392,'MAIN_AGENDA_XCAL_EXPORTKEY',1,'dolibarr','chaine',0,'','2010-07-08 23:27:50'),(393,'MAIN_AGENDA_EXPORT_PAST_DELAY',1,'100','chaine',0,'','2010-07-08 23:27:50'),(610,'CASHDESK_ID_THIRDPARTY',1,'7','chaine',0,'','2010-07-11 17:08:18'),(611,'CASHDESK_ID_BANKACCOUNT_CASH',1,'3','chaine',0,'','2010-07-11 17:08:18'),(612,'CASHDESK_ID_BANKACCOUNT_CHEQUE',1,'1','chaine',0,'','2010-07-11 17:08:18'),(613,'CASHDESK_ID_BANKACCOUNT_CB',1,'1','chaine',0,'','2010-07-11 17:08:18'),(614,'CASHDESK_ID_WAREHOUSE',1,'2','chaine',0,'','2010-07-11 17:08:18'),(660,'LDAP_USER_DN',1,'ou=users,dc=my-domain,dc=com','chaine',0,NULL,'2010-07-18 10:25:27'),(661,'LDAP_GROUP_DN',1,'ou=groups,dc=my-domain,dc=com','chaine',0,NULL,'2010-07-18 10:25:27'),(662,'LDAP_FILTER_CONNECTION',1,'&(objectClass=user)(objectCategory=person)','chaine',0,NULL,'2010-07-18 10:25:27'),(663,'LDAP_FIELD_LOGIN',1,'uid','chaine',0,NULL,'2010-07-18 10:25:27'),(664,'LDAP_FIELD_FULLNAME',1,'cn','chaine',0,NULL,'2010-07-18 10:25:27'),(665,'LDAP_FIELD_NAME',1,'sn','chaine',0,NULL,'2010-07-18 10:25:27'),(666,'LDAP_FIELD_FIRSTNAME',1,'givenname','chaine',0,NULL,'2010-07-18 10:25:27'),(667,'LDAP_FIELD_MAIL',1,'mail','chaine',0,NULL,'2010-07-18 10:25:27'),(668,'LDAP_FIELD_PHONE',1,'telephonenumber','chaine',0,NULL,'2010-07-18 10:25:27'),(669,'LDAP_FIELD_FAX',1,'facsimiletelephonenumber','chaine',0,NULL,'2010-07-18 10:25:27'),(670,'LDAP_FIELD_MOBILE',1,'mobile','chaine',0,NULL,'2010-07-18 10:25:27'),(671,'LDAP_SERVER_TYPE',1,'openldap','chaine',0,'','2010-07-18 10:25:46'),(672,'LDAP_SERVER_PROTOCOLVERSION',1,'3','chaine',0,'','2010-07-18 10:25:47'),(673,'LDAP_SERVER_HOST',1,'localhost','chaine',0,'','2010-07-18 10:25:47'),(674,'LDAP_SERVER_PORT',1,'389','chaine',0,'','2010-07-18 10:25:47'),(675,'LDAP_SERVER_USE_TLS',1,'0','chaine',0,'','2010-07-18 10:25:47'),(676,'LDAP_SYNCHRO_ACTIVE',1,'dolibarr2ldap','chaine',0,'','2010-07-18 10:25:47'),(677,'LDAP_CONTACT_ACTIVE',1,'1','chaine',0,'','2010-07-18 10:25:47'),(678,'LDAP_MEMBER_ACTIVE',1,'1','chaine',0,'','2010-07-18 10:25:47'),(974,'MAIN_MODULE_WORKFLOW_TRIGGERS',1,'1','chaine',0,NULL,'2011-07-18 18:02:20'),(975,'WORKFLOW_PROPAL_AUTOCREATE_ORDER',1,'1','chaine',0,'','2011-07-18 18:02:24'),(979,'PRELEVEMENT_USER',1,'1','chaine',0,'','2011-07-18 18:05:50'),(980,'PRELEVEMENT_NUMERO_NATIONAL_EMETTEUR',1,'1234567','chaine',0,'','2011-07-18 18:05:50'),(981,'PRELEVEMENT_ID_BANKACCOUNT',1,'1','chaine',0,'','2011-07-18 18:05:50'),(983,'FACTURE_RIB_NUMBER',1,'1','chaine',0,'','2011-07-18 18:35:14'),(984,'FACTURE_CHQ_NUMBER',1,'1','chaine',0,'','2011-07-18 18:35:14'),(1016,'GOOGLE_DUPLICATE_INTO_GCAL',1,'1','chaine',0,'','2011-07-18 21:40:20'),(1152,'SOCIETE_CODECLIENT_ADDON',1,'mod_codeclient_monkey','chaine',0,'','2011-07-29 20:50:02'),(1231,'MAIN_UPLOAD_DOC',1,'2048','chaine',0,'','2011-07-29 21:04:00'),(1234,'MAIN_UMASK',1,'0664','chaine',0,'','2011-07-29 21:04:11'),(1240,'MAIN_LOGEVENTS_USER_LOGIN',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1241,'MAIN_LOGEVENTS_USER_LOGIN_FAILED',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1242,'MAIN_LOGEVENTS_USER_LOGOUT',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1243,'MAIN_LOGEVENTS_USER_CREATE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1244,'MAIN_LOGEVENTS_USER_MODIFY',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1245,'MAIN_LOGEVENTS_USER_NEW_PASSWORD',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1246,'MAIN_LOGEVENTS_USER_ENABLEDISABLE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1247,'MAIN_LOGEVENTS_USER_DELETE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1248,'MAIN_LOGEVENTS_GROUP_CREATE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1249,'MAIN_LOGEVENTS_GROUP_MODIFY',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1250,'MAIN_LOGEVENTS_GROUP_DELETE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1251,'MAIN_BOXES_MAXLINES',1,'5','',0,'','2011-07-29 21:05:42'),(1482,'EXPEDITION_ADDON_NUMBER',1,'mod_expedition_safor','chaine',0,'Nom du gestionnaire de numerotation des expeditions','2011-08-05 17:53:11'),(1490,'CONTRACT_ADDON',1,'mod_contract_serpis','chaine',0,'Nom du gestionnaire de numerotation des contrats','2011-08-05 18:11:58'),(1677,'COMMANDE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/orders','chaine',0,NULL,'2012-12-08 13:11:02'),(1698,'PRODUCT_CODEPRODUCT_ADDON',1,'mod_codeproduct_leopard','yesno',0,'Module to control product codes','2012-12-08 13:11:25'),(1719,'ACCOUNTING_USEDICTTOEDIT',1,'1','chaine',1,'','2012-12-08 13:15:00'),(1724,'PROPALE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/proposals','chaine',0,NULL,'2012-12-08 13:17:14'),(1730,'OPENSTREETMAP_ENABLE_MAPS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1731,'OPENSTREETMAP_ENABLE_MAPS_CONTACTS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1732,'OPENSTREETMAP_ENABLE_MAPS_MEMBERS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1733,'OPENSTREETMAP_MAPS_ZOOM_LEVEL',1,'15','chaine',0,'','2012-12-08 13:22:47'),(1737,'MAIN_INFO_SOCIETE_COUNTRY',2,'1:FR:France','chaine',0,'','2013-02-26 21:56:28'),(1738,'MAIN_INFO_SOCIETE_NOM',2,'aaa','chaine',0,'','2012-12-08 14:08:14'),(1739,'MAIN_INFO_SOCIETE_STATE',2,'0','chaine',0,'','2013-02-27 14:20:27'),(1740,'MAIN_MONNAIE',2,'EUR','chaine',0,'','2012-12-08 14:08:14'),(1741,'MAIN_LANG_DEFAULT',2,'auto','chaine',0,'','2012-12-08 14:08:14'),(1742,'MAIN_MAIL_EMAIL_FROM',2,'dolibarr-robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2012-12-08 14:08:14'),(1743,'MAIN_MENU_STANDARD',2,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs internes','2013-02-11 19:43:54'),(1744,'MAIN_MENUFRONT_STANDARD',2,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs externes','2013-02-11 19:43:54'),(1745,'MAIN_MENU_SMARTPHONE',2,'iphone_backoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs internes','2012-12-08 14:08:14'),(1746,'MAIN_MENUFRONT_SMARTPHONE',2,'iphone_frontoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs externes','2012-12-08 14:08:14'),(1747,'MAIN_THEME',2,'eldy','chaine',0,'Default theme','2012-12-08 14:08:14'),(1748,'MAIN_DELAY_ACTIONS_TODO',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur actions planifiées non réalisées','2012-12-08 14:08:14'),(1749,'MAIN_DELAY_ORDERS_TO_PROCESS',2,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes clients non traitées','2012-12-08 14:08:14'),(1750,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes fournisseurs non traitées','2012-12-08 14:08:14'),(1751,'MAIN_DELAY_PROPALS_TO_CLOSE',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales à cloturer','2012-12-08 14:08:14'),(1752,'MAIN_DELAY_PROPALS_TO_BILL',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales non facturées','2012-12-08 14:08:14'),(1753,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures client impayées','2012-12-08 14:08:14'),(1754,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',2,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures fournisseur impayées','2012-12-08 14:08:14'),(1755,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',2,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2012-12-08 14:08:14'),(1756,'MAIN_DELAY_RUNNING_SERVICES',2,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services expirés','2012-12-08 14:08:14'),(1757,'MAIN_DELAY_MEMBERS',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur cotisations adhérent en retard','2012-12-08 14:08:14'),(1758,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',2,'62','chaine',0,'Tolérance de retard avant alerte (en jours) sur rapprochements bancaires à faire','2012-12-08 14:08:14'),(1759,'MAILING_EMAIL_FROM',2,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2012-12-08 14:08:14'),(1760,'MAIN_INFO_SOCIETE_COUNTRY',3,'1:FR:France','chaine',0,'','2013-02-26 21:56:28'),(1761,'MAIN_INFO_SOCIETE_NOM',3,'bbb','chaine',0,'','2012-12-08 14:08:20'),(1762,'MAIN_INFO_SOCIETE_STATE',3,'0','chaine',0,'','2013-02-27 14:20:27'),(1763,'MAIN_MONNAIE',3,'EUR','chaine',0,'','2012-12-08 14:08:20'),(1764,'MAIN_LANG_DEFAULT',3,'auto','chaine',0,'','2012-12-08 14:08:20'),(1765,'MAIN_MAIL_EMAIL_FROM',3,'dolibarr-robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2012-12-08 14:08:20'),(1766,'MAIN_MENU_STANDARD',3,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs internes','2013-02-11 19:43:54'),(1767,'MAIN_MENUFRONT_STANDARD',3,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs externes','2013-02-11 19:43:54'),(1768,'MAIN_MENU_SMARTPHONE',3,'iphone_backoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs internes','2012-12-08 14:08:20'),(1769,'MAIN_MENUFRONT_SMARTPHONE',3,'iphone_frontoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs externes','2012-12-08 14:08:20'),(1770,'MAIN_THEME',3,'eldy','chaine',0,'Default theme','2012-12-08 14:08:20'),(1771,'MAIN_DELAY_ACTIONS_TODO',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur actions planifiées non réalisées','2012-12-08 14:08:20'),(1772,'MAIN_DELAY_ORDERS_TO_PROCESS',3,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes clients non traitées','2012-12-08 14:08:20'),(1773,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes fournisseurs non traitées','2012-12-08 14:08:20'),(1774,'MAIN_DELAY_PROPALS_TO_CLOSE',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales à cloturer','2012-12-08 14:08:20'),(1775,'MAIN_DELAY_PROPALS_TO_BILL',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales non facturées','2012-12-08 14:08:20'),(1776,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures client impayées','2012-12-08 14:08:20'),(1777,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',3,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures fournisseur impayées','2012-12-08 14:08:20'),(1778,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',3,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2012-12-08 14:08:20'),(1779,'MAIN_DELAY_RUNNING_SERVICES',3,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services expirés','2012-12-08 14:08:20'),(1780,'MAIN_DELAY_MEMBERS',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur cotisations adhérent en retard','2012-12-08 14:08:20'),(1781,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',3,'62','chaine',0,'Tolérance de retard avant alerte (en jours) sur rapprochements bancaires à faire','2012-12-08 14:08:20'),(1782,'MAILING_EMAIL_FROM',3,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2012-12-08 14:08:20'),(1803,'SYSLOG_FILE',1,'DOL_DATA_ROOT/dolibarr.log','chaine',0,'','2012-12-08 14:15:08'),(1804,'SYSLOG_HANDLERS',1,'[\"mod_syslog_file\"]','chaine',0,'','2012-12-08 14:15:08'),(1805,'MAIN_MODULE_SKINCOLOREDITOR',3,'1',NULL,0,NULL,'2012-12-08 14:35:40'),(1806,'MAIN_MODULE_SKINCOLOREDITOR_TABS_0',3,'user:+tabskincoloreditors:ColorEditor:skincoloreditor@skincoloreditor:/skincoloreditor/usercolors.php?id=__ID__','chaine',0,NULL,'2012-12-08 14:35:40'),(1922,'PAYPAL_API_SANDBOX',1,'1','chaine',0,'','2012-12-12 12:11:05'),(1923,'PAYPAL_API_USER',1,'seller_1355312017_biz_api1.nltechno.com','chaine',0,'','2012-12-12 12:11:05'),(1924,'PAYPAL_API_PASSWORD',1,'1355312040','chaine',0,'','2012-12-12 12:11:05'),(1925,'PAYPAL_API_SIGNATURE',1,'AXqqdsWBzvfn0q5iNmbuiDv1y.3EAXIMWyl4C5KvDReR9HDwwAd6dQ4Q','chaine',0,'','2012-12-12 12:11:05'),(1926,'PAYPAL_API_INTEGRAL_OR_PAYPALONLY',1,'integral','chaine',0,'','2012-12-12 12:11:05'),(1927,'PAYPAL_SECURITY_TOKEN',1,'50c82fab36bb3b6aa83e2a50691803b2','chaine',0,'','2012-12-12 12:11:05'),(1928,'PAYPAL_SECURITY_TOKEN_UNIQUE',1,'0','chaine',0,'','2012-12-12 12:11:05'),(1929,'PAYPAL_ADD_PAYMENT_URL',1,'1','chaine',0,'','2012-12-12 12:11:05'),(1980,'MAIN_PDF_FORMAT',1,'EUA4','chaine',0,'','2012-12-12 19:58:05'),(1981,'MAIN_PROFID1_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1982,'MAIN_PROFID2_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1983,'MAIN_PROFID3_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1984,'MAIN_PROFID4_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1985,'MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1990,'MAIN_SMS_SENDMODE',1,'ovh','chaine',0,'This is to enable OVH SMS engine','2012-12-17 21:19:01'),(2040,'MAIN_MAIL_SMTP_PORT',1,'465','chaine',0,'','2015-07-19 13:41:06'),(2041,'MAIN_MAIL_SMTP_SERVER',1,'smtp.mail.com','chaine',0,'','2015-07-19 13:41:06'),(2044,'MAIN_MAIL_EMAIL_TLS',1,'1','chaine',0,'','2015-07-19 13:41:06'),(2251,'FCKEDITOR_TEST',1,'Test
\r\n\"\"fdfs','chaine',0,'','2012-12-19 19:12:24'),(2293,'SYSTEMTOOLS_MYSQLDUMP',1,'/usr/bin/mysqldump','chaine',0,'','2012-12-27 02:02:00'),(2835,'MAIN_USE_CONNECT_TIMEOUT',1,'10','chaine',0,'','2013-01-16 19:28:50'),(2836,'MAIN_USE_RESPONSE_TIMEOUT',1,'30','chaine',0,'','2013-01-16 19:28:50'),(2837,'MAIN_PROXY_USE',1,'0','chaine',0,'','2013-01-16 19:28:50'),(2838,'MAIN_PROXY_HOST',1,'localhost','chaine',0,'','2013-01-16 19:28:50'),(2839,'MAIN_PROXY_PORT',1,'8080','chaine',0,'','2013-01-16 19:28:50'),(2840,'MAIN_PROXY_USER',1,'aaa','chaine',0,'','2013-01-16 19:28:50'),(2841,'MAIN_PROXY_PASS',1,'bbb','chaine',0,'','2013-01-16 19:28:50'),(2848,'OVHSMS_NICK',1,'BN196-OVH','chaine',0,'','2013-01-16 19:32:36'),(2849,'OVHSMS_PASS',1,'bigone-10','chaine',0,'','2013-01-16 19:32:36'),(2850,'OVHSMS_SOAPURL',1,'https://www.ovh.com/soapi/soapi-re-1.55.wsdl','chaine',0,'','2013-01-16 19:32:36'),(2854,'THEME_ELDY_RGB',1,'bfbf00','chaine',0,'','2013-01-18 10:02:53'),(2855,'THEME_ELDY_ENABLE_PERSONALIZED',1,'0','chaine',0,'','2013-01-18 10:02:55'),(2858,'MAIN_SESSION_TIMEOUT',1,'2000','chaine',0,'','2013-01-19 17:01:53'),(2862,'TICKET_ADDON',1,'mod_ticket_avenc','chaine',0,'Nom du gestionnaire de numerotation des tickets','2013-01-19 17:16:10'),(2867,'FACSIM_ADDON',1,'mod_facsim_alcoy','chaine',0,'','2013-01-19 17:16:25'),(2868,'POS_SERVICES',1,'0','chaine',0,'','2013-01-19 17:16:51'),(2869,'POS_USE_TICKETS',1,'1','chaine',0,'','2013-01-19 17:16:51'),(2870,'POS_MAX_TTC',1,'100','chaine',0,'','2013-01-19 17:16:51'),(3190,'MAIN_MODULE_HOLIDAY',2,'1',NULL,0,NULL,'2013-02-01 08:52:34'),(3191,'MAIN_MODULE_HOLIDAY_TABS_0',2,'user:+paidholidays:CPTitreMenu:holiday:$user->rights->holiday->write:/holiday/index.php?mainmenu=holiday&id=__ID__','chaine',0,NULL,'2013-02-01 08:52:34'),(3195,'INVOICE_SUPPLIER_ADDON_PDF',1,'canelle','chaine',0,'','2013-02-10 19:50:27'),(3199,'MAIN_FORCE_RELOAD_PAGE',1,'1','chaine',0,NULL,'2013-02-12 16:22:55'),(3217,'MAIN_PDF_TITLE_BACKGROUND_COLOR',1,'240,240,240','chaine',1,'','2013-02-13 15:18:02'),(3223,'OVH_THIRDPARTY_IMPORT',1,'2','chaine',0,'','2013-02-13 16:20:18'),(3241,'COMPANY_USE_SEARCH_TO_SELECT',1,'2','chaine',0,'','2013-02-17 14:33:39'),(3409,'AGENDA_USE_EVENT_TYPE',1,'1','chaine',0,'','2013-02-27 18:12:24'),(3886,'MAIN_REMOVE_INSTALL_WARNING',1,'1','chaine',1,'','2013-03-02 18:32:50'),(4013,'MAIN_DELAY_ACTIONS_TODO',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4014,'MAIN_DELAY_PROPALS_TO_CLOSE',1,'31','chaine',0,'','2013-03-06 08:59:12'),(4015,'MAIN_DELAY_PROPALS_TO_BILL',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4016,'MAIN_DELAY_ORDERS_TO_PROCESS',1,'2','chaine',0,'','2013-03-06 08:59:12'),(4017,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',1,'31','chaine',0,'','2013-03-06 08:59:12'),(4018,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4019,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',1,'2','chaine',0,'','2013-03-06 08:59:12'),(4020,'MAIN_DELAY_RUNNING_SERVICES',1,'-15','chaine',0,'','2013-03-06 08:59:12'),(4021,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',1,'62','chaine',0,'','2013-03-06 08:59:13'),(4022,'MAIN_DELAY_MEMBERS',1,'31','chaine',0,'','2013-03-06 08:59:13'),(4023,'MAIN_DISABLE_METEO',1,'0','chaine',0,'','2013-03-06 08:59:13'),(4044,'ADHERENT_VAT_FOR_SUBSCRIPTIONS',1,'0','',0,'','2013-03-06 16:06:38'),(4047,'ADHERENT_BANK_USE',1,'bankviainvoice','',0,'','2013-03-06 16:12:30'),(4049,'PHPSANE_SCANIMAGE',1,'/usr/bin/scanimage','chaine',0,'','2013-03-06 21:54:13'),(4050,'PHPSANE_PNMTOJPEG',1,'/usr/bin/pnmtojpeg','chaine',0,'','2013-03-06 21:54:13'),(4051,'PHPSANE_PNMTOTIFF',1,'/usr/bin/pnmtotiff','chaine',0,'','2013-03-06 21:54:13'),(4052,'PHPSANE_OCR',1,'/usr/bin/gocr','chaine',0,'','2013-03-06 21:54:13'),(4548,'ECM_AUTO_TREE_ENABLED',1,'1','chaine',0,'','2013-03-10 15:57:21'),(4579,'MAIN_MODULE_AGENDA',2,'1',NULL,0,NULL,'2013-03-13 15:29:19'),(4580,'MAIN_AGENDA_ACTIONAUTO_COMPANY_CREATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4581,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4582,'MAIN_AGENDA_ACTIONAUTO_PROPAL_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4583,'MAIN_AGENDA_ACTIONAUTO_PROPAL_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4584,'MAIN_AGENDA_ACTIONAUTO_ORDER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4585,'MAIN_AGENDA_ACTIONAUTO_ORDER_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4586,'MAIN_AGENDA_ACTIONAUTO_BILL_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4587,'MAIN_AGENDA_ACTIONAUTO_BILL_PAYED',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4588,'MAIN_AGENDA_ACTIONAUTO_BILL_CANCEL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4589,'MAIN_AGENDA_ACTIONAUTO_BILL_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4590,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4591,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4592,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4593,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4594,'MAIN_AGENDA_ACTIONAUTO_BILL_UNVALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4595,'MAIN_MODULE_GOOGLE',2,'1',NULL,0,NULL,'2013-03-13 15:29:47'),(4596,'MAIN_MODULE_GOOGLE_TABS_0',2,'agenda:+gcal:MenuAgendaGoogle:google@google:$conf->google->enabled && $conf->global->GOOGLE_ENABLE_AGENDA:/google/index.php','chaine',0,NULL,'2013-03-13 15:29:47'),(4597,'MAIN_MODULE_GOOGLE_TABS_1',2,'user:+gsetup:GoogleUserConf:google@google:$conf->google->enabled && $conf->global->GOOGLE_DUPLICATE_INTO_GCAL:/google/admin/google_calsync_user.php?id=__ID__','chaine',0,NULL,'2013-03-13 15:29:47'),(4598,'MAIN_MODULE_GOOGLE_TRIGGERS',2,'1','chaine',0,NULL,'2013-03-13 15:29:47'),(4599,'MAIN_MODULE_GOOGLE_HOOKS',2,'[\"toprightmenu\"]','chaine',0,NULL,'2013-03-13 15:29:47'),(4688,'GOOGLE_ENABLE_AGENDA',2,'1','chaine',0,'','2013-03-13 15:36:29'),(4689,'GOOGLE_AGENDA_NAME1',2,'eldy','chaine',0,'','2013-03-13 15:36:29'),(4690,'GOOGLE_AGENDA_SRC1',2,'eldy10@mail.com','chaine',0,'','2013-03-13 15:36:29'),(4691,'GOOGLE_AGENDA_COLOR1',2,'BE6D00','chaine',0,'','2013-03-13 15:36:29'),(4692,'GOOGLE_AGENDA_COLOR2',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4693,'GOOGLE_AGENDA_COLOR3',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4694,'GOOGLE_AGENDA_COLOR4',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4695,'GOOGLE_AGENDA_COLOR5',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4696,'GOOGLE_AGENDA_TIMEZONE',2,'Europe/Paris','chaine',0,'','2013-03-13 15:36:29'),(4697,'GOOGLE_AGENDA_NB',2,'5','chaine',0,'','2013-03-13 15:36:29'),(4698,'MAIN_DISABLE_ALL_MAILS',1,'0','chaine',0,'','2013-03-13 17:22:24'),(4699,'MAIN_MAIL_SENDMODE',1,'mail','chaine',0,'','2015-07-19 13:41:06'),(4700,'MAIN_MAIL_SMTPS_ID',1,'eldy10@mail.com','chaine',0,'','2015-07-19 13:41:06'),(4701,'MAIN_MAIL_SMTPS_PW',1,'bidonge','chaine',0,'','2015-07-19 13:41:06'),(4711,'GOOGLE_ENABLE_AGENDA',1,'1','chaine',0,'','2013-03-13 19:37:38'),(4712,'GOOGLE_AGENDA_NAME1',1,'asso master','chaine',0,'','2013-03-13 19:37:38'),(4713,'GOOGLE_AGENDA_SRC1',1,'assodolibarr@mail.com','chaine',0,'','2013-03-13 19:37:38'),(4714,'GOOGLE_AGENDA_COLOR1',1,'1B887A','chaine',0,'','2013-03-13 19:37:38'),(4715,'GOOGLE_AGENDA_COLOR2',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4716,'GOOGLE_AGENDA_COLOR3',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4717,'GOOGLE_AGENDA_COLOR4',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4718,'GOOGLE_AGENDA_COLOR5',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4719,'GOOGLE_AGENDA_TIMEZONE',1,'Europe/Paris','chaine',0,'','2013-03-13 19:37:38'),(4720,'GOOGLE_AGENDA_NB',1,'5','chaine',0,'','2013-03-13 19:37:38'),(4725,'SOCIETE_CODECLIENT_ADDON',2,'mod_codeclient_leopard','chaine',0,'Module to control third parties codes','2013-03-13 20:21:35'),(4726,'SOCIETE_CODECOMPTA_ADDON',2,'mod_codecompta_panicum','chaine',0,'Module to control third parties codes','2013-03-13 20:21:35'),(4727,'SOCIETE_FISCAL_MONTH_START',2,'','chaine',0,'Mettre le numero du mois du debut d\\\'annee fiscale, ex: 9 pour septembre','2013-03-13 20:21:35'),(4728,'MAIN_SEARCHFORM_SOCIETE',2,'1','yesno',0,'Show form for quick company search','2013-03-13 20:21:35'),(4729,'MAIN_SEARCHFORM_CONTACT',2,'1','yesno',0,'Show form for quick contact search','2013-03-13 20:21:35'),(4730,'COMPANY_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/thirdparties','chaine',0,NULL,'2013-03-13 20:21:35'),(4743,'MAIN_MODULE_CLICKTODIAL',2,'1',NULL,0,NULL,'2013-03-13 20:30:28'),(4744,'MAIN_MODULE_NOTIFICATION',2,'1',NULL,0,NULL,'2013-03-13 20:30:34'),(4745,'MAIN_MODULE_WEBSERVICES',2,'1',NULL,0,NULL,'2013-03-13 20:30:41'),(4746,'MAIN_MODULE_PROPALE',2,'1',NULL,0,NULL,'2013-03-13 20:32:38'),(4747,'PROPALE_ADDON_PDF',2,'azur','chaine',0,'Nom du gestionnaire de generation des propales en PDF','2013-03-13 20:32:38'),(4748,'PROPALE_ADDON',2,'mod_propale_marbre','chaine',0,'Nom du gestionnaire de numerotation des propales','2013-03-13 20:32:38'),(4749,'PROPALE_VALIDITY_DURATION',2,'15','chaine',0,'Duration of validity of business proposals','2013-03-13 20:32:38'),(4750,'PROPALE_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/proposals','chaine',0,NULL,'2013-03-13 20:32:38'),(4752,'MAIN_MODULE_TAX',2,'1',NULL,0,NULL,'2013-03-13 20:32:47'),(4753,'MAIN_MODULE_DON',2,'1',NULL,0,NULL,'2013-03-13 20:32:54'),(4754,'DON_ADDON_MODEL',2,'html_cerfafr','chaine',0,'Nom du gestionnaire de generation de recu de dons','2013-03-13 20:32:54'),(4755,'POS_USE_TICKETS',2,'1','chaine',0,'','2013-03-13 20:33:09'),(4756,'POS_MAX_TTC',2,'100','chaine',0,'','2013-03-13 20:33:09'),(4757,'MAIN_MODULE_POS',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4758,'TICKET_ADDON',2,'mod_ticket_avenc','chaine',0,'Nom du gestionnaire de numerotation des tickets','2013-03-13 20:33:09'),(4759,'MAIN_MODULE_BANQUE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4760,'MAIN_MODULE_FACTURE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4761,'FACTURE_ADDON_PDF',2,'crabe','chaine',0,'Name of PDF model of invoice','2013-03-13 20:33:09'),(4762,'FACTURE_ADDON',2,'mod_facture_terre','chaine',0,'Name of numbering numerotation rules of invoice','2013-03-13 20:33:09'),(4763,'FACTURE_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/invoices','chaine',0,NULL,'2013-03-13 20:33:09'),(4764,'MAIN_MODULE_SOCIETE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4765,'MAIN_MODULE_PRODUCT',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4766,'PRODUCT_CODEPRODUCT_ADDON',2,'mod_codeproduct_leopard','chaine',0,'Module to control product codes','2013-03-13 20:33:09'),(4767,'MAIN_SEARCHFORM_PRODUITSERVICE',2,'1','yesno',0,'Show form for quick product search','2013-03-13 20:33:09'),(4772,'FACSIM_ADDON',2,'mod_facsim_alcoy','chaine',0,'','2013-03-13 20:33:32'),(4773,'MAIN_MODULE_MAILING',2,'1',NULL,0,NULL,'2013-03-13 20:33:37'),(4774,'MAIN_MODULE_OPENSURVEY',2,'1',NULL,0,NULL,'2013-03-13 20:33:42'),(4782,'AGENDA_USE_EVENT_TYPE',2,'1','chaine',0,'','2013-03-13 20:53:36'),(4884,'AGENDA_DISABLE_EXT',2,'1','chaine',0,'','2013-03-13 22:03:40'),(4928,'COMMANDE_SUPPLIER_ADDON_NUMBER',1,'mod_commande_fournisseur_muguet','chaine',0,'Nom du gestionnaire de numerotation des commandes fournisseur','2013-03-22 09:24:29'),(4929,'INVOICE_SUPPLIER_ADDON_NUMBER',1,'mod_facture_fournisseur_cactus','chaine',0,'Nom du gestionnaire de numerotation des factures fournisseur','2013-03-22 09:24:29'),(5001,'MAIN_CRON_KEY',0,'bc54582fe30d5d4a830c6f582ec28810','chaine',0,'','2013-03-23 17:54:53'),(5009,'CRON_KEY',0,'2c2e755c20be2014098f629865598006','chaine',0,'','2013-03-23 18:06:24'),(5075,'MAIN_MENU_STANDARD',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5076,'MAIN_MENU_SMARTPHONE',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5077,'MAIN_MENUFRONT_STANDARD',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5078,'MAIN_MENUFRONT_SMARTPHONE',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5139,'SOCIETE_ADD_REF_IN_LIST',1,'','yesno',0,'Display customer ref into select list','2013-09-08 23:06:08'),(5150,'PROJECT_TASK_ADDON_PDF',1,'','chaine',0,'Name of PDF/ODT tasks manager class','2013-09-08 23:06:14'),(5151,'PROJECT_TASK_ADDON',1,'mod_task_simple','chaine',0,'Name of Numbering Rule task manager class','2013-09-08 23:06:14'),(5152,'PROJECT_TASK_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/tasks','chaine',0,'','2013-09-08 23:06:14'),(5195,'GOOGLE_DUPLICATE_INTO_THIRDPARTIES',1,'1','chaine',0,'','2013-11-07 00:02:34'),(5196,'GOOGLE_DUPLICATE_INTO_CONTACTS',1,'0','chaine',0,'','2013-11-07 00:02:34'),(5197,'GOOGLE_DUPLICATE_INTO_MEMBERS',1,'0','chaine',0,'','2013-11-07 00:02:34'),(5198,'GOOGLE_CONTACT_LOGIN',1,'eldy10@mail.com','chaine',0,'','2013-11-07 00:02:34'),(5199,'GOOGLE_CONTACT_PASSWORD',1,'bidonge','chaine',0,'','2013-11-07 00:02:34'),(5200,'GOOGLE_TAG_PREFIX',1,'Dolibarr (Thirdparties)','chaine',0,'','2013-11-07 00:02:34'),(5201,'GOOGLE_TAG_PREFIX_CONTACTS',1,'Dolibarr (Contacts/Addresses)','chaine',0,'','2013-11-07 00:02:34'),(5202,'GOOGLE_TAG_PREFIX_MEMBERS',1,'Dolibarr (Members)','chaine',0,'','2013-11-07 00:02:34'),(5239,'BOOKMARKS_SHOW_IN_MENU',1,'10','chaine',0,'','2014-03-02 15:42:26'),(5271,'DONATION_ART200',1,'','yesno',0,'Option Française - Eligibilité Art200 du CGI','2014-12-21 12:51:28'),(5272,'DONATION_ART238',1,'','yesno',0,'Option Française - Eligibilité Art238 bis du CGI','2014-12-21 12:51:28'),(5273,'DONATION_ART885',1,'','yesno',0,'Option Française - Eligibilité Art885-0 V bis du CGI','2014-12-21 12:51:28'),(5274,'DONATION_MESSAGE',1,'Thank you','chaine',0,'Message affiché sur le récépissé de versements ou dons','2014-12-21 12:51:28'),(5288,'DONATION_ACCOUNTINGACCOUNT',1,'7581','chaine',0,'Compte comptable de remise des versements ou dons','2015-07-19 13:41:21'),(5317,'INVOICE_CAN_ALWAYS_BE_REMOVED',1,'1','chaine',1,'','2015-10-03 09:25:30'),(5338,'MAIN_LANG_DEFAULT',1,'en_US','chaine',0,'','2015-10-03 10:11:33'),(5339,'MAIN_MULTILANGS',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5340,'MAIN_SIZE_LISTE_LIMIT',1,'25','chaine',0,'','2015-10-03 10:11:33'),(5341,'MAIN_DISABLE_JAVASCRIPT',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5342,'MAIN_BUTTON_HIDE_UNAUTHORIZED',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5343,'MAIN_START_WEEK',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5344,'MAIN_DEFAULT_WORKING_DAYS',1,'1-5','chaine',0,'','2015-10-03 10:11:33'),(5345,'MAIN_DEFAULT_WORKING_HOURS',1,'9-18','chaine',0,'','2015-10-03 10:11:33'),(5346,'MAIN_SHOW_LOGO',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5347,'MAIN_FIRSTNAME_NAME_POSITION',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5348,'MAIN_THEME',1,'eldy','chaine',0,'','2015-10-03 10:11:33'),(5349,'MAIN_SEARCHFORM_CONTACT',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5350,'MAIN_SEARCHFORM_SOCIETE',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5351,'MAIN_SEARCHFORM_PRODUITSERVICE',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5352,'MAIN_SEARCHFORM_PRODUITSERVICE_SUPPLIER',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5353,'MAIN_SEARCHFORM_ADHERENT',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5354,'MAIN_SEARCHFORM_PROJECT',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5355,'MAIN_HELPCENTER_DISABLELINK',0,'1','chaine',0,'','2015-10-03 10:11:33'),(5356,'MAIN_HOME',1,'__(NoteSomeFeaturesAreDisabled)__
\r\n
\r\n__(SomeTranslationAreUncomplete)__
','chaine',0,'','2015-10-03 10:11:33'),(5357,'MAIN_HELP_DISABLELINK',0,'0','chaine',0,'','2015-10-03 10:11:33'),(5358,'MAIN_BUGTRACK_ENABLELINK',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5359,'THEME_ELDY_USE_HOVER',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5394,'FCKEDITOR_ENABLE_DETAILS',1,'1','yesno',0,'WYSIWIG for products details lines for all entities','2015-11-04 15:27:44'),(5395,'FCKEDITOR_ENABLE_USERSIGN',1,'1','yesno',0,'WYSIWIG for user signature','2015-11-04 15:27:44'),(5396,'FCKEDITOR_ENABLE_MAIL',1,'1','yesno',0,'WYSIWIG for products details lines for all entities','2015-11-04 15:27:44'),(5398,'CATEGORIE_RECURSIV_ADD',1,'','yesno',0,'Affect parent categories','2015-11-04 15:27:46'),(5403,'MAIN_MODULE_FCKEDITOR',1,'1',NULL,0,NULL,'2015-11-04 15:41:40'),(5404,'MAIN_MODULE_CATEGORIE',1,'1',NULL,0,NULL,'2015-11-04 15:41:43'),(5415,'EXPEDITION_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/shipment','chaine',0,NULL,'2015-11-15 22:38:28'),(5416,'LIVRAISON_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/delivery','chaine',0,NULL,'2015-11-15 22:38:28'),(5419,'MAIN_MODULE_CASHDESK',1,'1',NULL,0,NULL,'2015-11-15 22:38:33'),(5426,'MAIN_MODULE_PROJET',1,'1',NULL,0,NULL,'2015-11-15 22:38:44'),(5427,'PROJECT_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/projects','chaine',0,NULL,'2015-11-15 22:38:44'),(5428,'PROJECT_USE_OPPORTUNIES',1,'1','chaine',0,NULL,'2015-11-15 22:38:44'),(5430,'MAIN_MODULE_EXPORT',1,'1',NULL,0,NULL,'2015-11-15 22:38:56'),(5431,'MAIN_MODULE_IMPORT',1,'1',NULL,0,NULL,'2015-11-15 22:38:58'),(5432,'MAIN_MODULE_MAILING',1,'1',NULL,0,NULL,'2015-11-15 22:39:00'),(5433,'MAIN_MODULE_EXPENSEREPORT',1,'1',NULL,0,NULL,'2015-11-15 22:39:05'),(5434,'EXPENSEREPORT_ADDON_PDF',1,'standard','chaine',0,'Name of manager to build PDF expense reports documents','2015-11-15 22:39:05'),(5435,'MAIN_MODULE_SALARIES',1,'1',NULL,0,NULL,'2015-11-15 22:39:08'),(5436,'SALARIES_ACCOUNTING_ACCOUNT_PAYMENT',1,'421','chaine',0,NULL,'2015-11-15 22:39:08'),(5437,'SALARIES_ACCOUNTING_ACCOUNT_CHARGE',1,'641','chaine',0,NULL,'2015-11-15 22:39:08'),(5440,'MAIN_MODULE_ADHERENT',1,'1',NULL,0,NULL,'2015-11-15 22:39:17'),(5441,'ADHERENT_ETIQUETTE_TEXT',1,'%FULLNAME%\n%ADDRESS%\n%ZIP% %TOWN%\n%COUNTRY%','texte',0,'Text to print on member address sheets','2015-11-15 22:39:17'),(5442,'MAIN_MODULE_TAX',1,'1',NULL,0,NULL,'2015-11-15 22:39:22'),(5443,'MAIN_MODULE_PRELEVEMENT',1,'1',NULL,0,NULL,'2015-11-15 22:39:33'),(5449,'MAIN_MODULE_COMPTABILITE',1,'1',NULL,0,NULL,'2015-11-15 22:39:46'),(5452,'MAIN_MODULE_BANQUE',1,'1',NULL,0,NULL,'2015-11-15 22:39:46'),(5453,'MAIN_MODULE_CONTRAT',1,'1',NULL,0,NULL,'2015-11-15 22:39:52'),(5455,'MAIN_MODULE_FICHEINTER',1,'1',NULL,0,NULL,'2015-11-15 22:39:56'),(5458,'MAIN_MODULE_BOOKMARK',1,'1',NULL,0,NULL,'2015-11-15 22:40:51'),(5459,'MAIN_MODULE_PAYPAL',1,'1',NULL,0,NULL,'2015-11-15 22:41:02'),(5460,'MAIN_MODULE_MARGIN',1,'1',NULL,0,NULL,'2015-11-15 22:41:47'),(5461,'MAIN_MODULE_MARGIN_TABS_0',1,'product:+margin:Margins:margins:$user->rights->margins->liretous:/margin/tabs/productMargins.php?id=__ID__','chaine',0,NULL,'2015-11-15 22:41:47'),(5462,'MAIN_MODULE_MARGIN_TABS_1',1,'thirdparty:+margin:Margins:margins:empty($user->societe_id) && $user->rights->margins->liretous && ($object->client > 0):/margin/tabs/thirdpartyMargins.php?socid=__ID__','chaine',0,NULL,'2015-11-15 22:41:47'),(5463,'MAIN_MODULE_PROPALE',1,'1',NULL,0,NULL,'2015-11-15 22:41:47'),(5483,'GENBARCODE_BARCODETYPE_THIRDPARTY',1,'6','chaine',0,'','2016-01-16 15:49:43'),(5484,'PRODUIT_DEFAULT_BARCODE_TYPE',1,'2','chaine',0,'','2016-01-16 15:49:46'),(5539,'PRODUCT_USE_OLD_PATH_FOR_PHOTO',0,'0','chaine',1,'Use old path for products images','2016-01-22 13:34:23'),(5540,'MAIN_SOAP_DEBUG',1,'0','chaine',1,'','2016-01-22 13:34:57'),(5541,'MODULE_GOOGLE_DEBUG',1,'0','chaine',1,'','2016-01-22 13:34:57'),(5543,'MAIN_MAIL_DEBUG',1,'1','chaine',1,'','2016-01-22 13:35:24'),(5548,'MAIN_MODULE_ECM',1,'1',NULL,0,NULL,'2016-01-22 17:26:43'),(5551,'MAIN_MODULE_HOLIDAY',1,'1',NULL,0,NULL,'2016-01-22 17:26:43'),(5552,'MAIN_MODULE_HOLIDAY_TABS_0',1,'user:+paidholidays:CPTitreMenu:holiday:$user->rights->holiday->read:/holiday/list.php?mainmenu=holiday&id=__ID__','chaine',0,NULL,'2016-01-22 17:26:43'),(5555,'MAIN_MODULE_SERVICE',1,'1',NULL,0,NULL,'2016-01-22 17:26:43'),(5560,'MAILING_LIMIT_SENDBYWEB',0,'25','chaine',1,'Number of targets to defined packet size when sending mass email','2016-01-22 17:28:18'),(5561,'SYSLOG_HANDLERS',0,'[\"mod_syslog_file\"]','chaine',0,'Which logger to use','2016-01-22 17:28:18'),(5562,'SYSLOG_FILE',0,'DOL_DATA_ROOT/dolibarr.log','chaine',0,'Directory where to write log file','2016-01-22 17:28:18'),(5568,'MAIN_MAIL_EMAIL_FROM',1,'robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2016-01-22 17:28:18'),(5586,'MAIN_DELAY_EXPENSEREPORTS_TO_PAY',1,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur les notes de frais impayées','2016-01-22 17:28:18'),(5587,'MAIN_FIX_FOR_BUGGED_MTA',1,'1','chaine',1,'Set constant to fix email ending from PHP with some linux ike system','2016-01-22 17:28:18'),(5589,'MAIN_MODULE_USER',0,'1',NULL,0,NULL,'2016-01-22 17:28:42'),(5590,'MAIN_VERSION_LAST_INSTALL',0,'3.8.3','chaine',0,'Dolibarr version when install','2016-01-22 17:28:42'),(5604,'MAIN_INFO_SOCIETE_LOGO',1,'mybigcompany.png','chaine',0,'','2016-01-22 17:33:49'),(5605,'MAIN_INFO_SOCIETE_LOGO_SMALL',1,'mybigcompany_small.png','chaine',0,'','2016-01-22 17:33:49'),(5606,'MAIN_INFO_SOCIETE_LOGO_MINI',1,'mybigcompany_mini.png','chaine',0,'','2016-01-22 17:33:49'),(5612,'MAIN_ENABLE_LOG_TO_HTML',0,'0','chaine',1,'If this option is set to 1, it is possible to see log output at end of HTML sources by adding paramater logtohtml=1 on URL','2016-03-13 10:54:45'),(5614,'MAIN_SIZE_SHORTLISTE_LIMIT',1,'4','chaine',0,'Longueur maximum des listes courtes (fiche client)','2016-03-13 10:54:46'),(5622,'MAIN_MODULE_BARCODE',1,'1',NULL,0,NULL,'2016-07-30 11:12:59'),(5623,'MAIN_MODULE_FACTURE',1,'1',NULL,0,NULL,'2016-07-30 11:12:59'),(5624,'MAIN_VERSION_LAST_UPGRADE',0,'4.0.0-rc2','chaine',0,'Dolibarr version for last upgrade','2016-07-30 11:13:02'),(5626,'MAIN_MODULE_SUPPLIERPROPOSAL',1,'1',NULL,0,NULL,'2016-07-30 11:13:20'),(5627,'SUPPLIER_PROPOSAL_ADDON_PDF',1,'aurore','chaine',0,'Name of submodule to generate PDF for supplier quotation request','2016-07-30 11:13:20'),(5628,'SUPPLIER_PROPOSAL_ADDON',1,'mod_supplier_proposal_marbre','chaine',0,'Name of submodule to number supplier quotation request','2016-07-30 11:13:20'),(5629,'SUPPLIER_PROPOSAL_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/supplier_proposal','chaine',0,NULL,'2016-07-30 11:13:20'),(5632,'MAIN_MODULE_RESOURCE',1,'1',NULL,0,NULL,'2016-07-30 11:13:32'),(5633,'MAIN_MODULE_API',1,'1',NULL,0,NULL,'2016-07-30 11:13:54'),(5634,'MAIN_MODULE_WEBSERVICES',1,'1',NULL,0,NULL,'2016-07-30 11:13:56'),(5635,'WEBSERVICES_KEY',1,'dolibarrkey','chaine',0,'','2016-07-30 11:14:04'),(5636,'MAIN_MODULE_CRON',1,'1',NULL,0,NULL,'2016-07-30 11:14:25'),(5637,'MAIN_MODULE_SYSLOG',0,'1',NULL,0,NULL,'2016-07-30 11:14:27'),(5638,'MAIN_MODULE_EXTERNALRSS',1,'1',NULL,0,NULL,'2016-07-30 11:15:04'),(5639,'EXTERNAL_RSS_TITLE_1',1,'Dolibarr.org News','chaine',0,'','2016-07-30 11:15:25'),(5640,'EXTERNAL_RSS_URLRSS_1',1,'https://www.dolibarr.org/rss','chaine',0,'','2016-07-30 11:15:25'),(5641,'MAIN_MODULE_DON',1,'1',NULL,0,NULL,'2016-07-30 11:16:22'),(5642,'SOCIETE_CODECOMPTA_ADDON',1,'mod_codecompta_aquarium','chaine',0,'','2016-07-30 11:16:42'),(5680,'MAIN_INFO_SOCIETE_COUNTRY',1,'14:CA:Canada','chaine',0,'','2016-07-30 11:19:05'),(5681,'MAIN_INFO_SOCIETE_NOM',1,'MyBigCompany','chaine',0,'','2016-07-30 11:19:05'),(5682,'MAIN_INFO_SOCIETE_ADDRESS',1,'21 Jump street','chaine',0,'','2016-07-30 11:19:05'),(5683,'MAIN_INFO_SOCIETE_TOWN',1,'MyTown','chaine',0,'','2016-07-30 11:19:05'),(5684,'MAIN_INFO_SOCIETE_ZIP',1,'75500','chaine',0,'','2016-07-30 11:19:05'),(5685,'MAIN_INFO_SOCIETE_STATE',1,'1514','chaine',0,'','2016-07-30 11:19:05'),(5686,'MAIN_MONNAIE',1,'EUR','chaine',0,'','2016-07-30 11:19:05'),(5687,'MAIN_INFO_SOCIETE_TEL',1,'09123123','chaine',0,'','2016-07-30 11:19:05'),(5688,'MAIN_INFO_SOCIETE_FAX',1,'09123124','chaine',0,'','2016-07-30 11:19:05'),(5689,'MAIN_INFO_SOCIETE_MAIL',1,'myemail@mybigcompany.com','chaine',0,'','2016-07-30 11:19:05'),(5690,'MAIN_INFO_SOCIETE_WEB',1,'http://www.dolibarr.org','chaine',0,'','2016-07-30 11:19:05'),(5691,'MAIN_INFO_SOCIETE_NOTE',1,'This is note about my company','chaine',0,'','2016-07-30 11:19:05'),(5692,'MAIN_INFO_SOCIETE_GENCOD',1,'1234567890','chaine',0,'','2016-07-30 11:19:05'),(5693,'MAIN_INFO_SOCIETE_MANAGERS',1,'Zack Zeceo','chaine',0,'','2016-07-30 11:19:05'),(5694,'MAIN_INFO_CAPITAL',1,'10000','chaine',0,'','2016-07-30 11:19:05'),(5695,'MAIN_INFO_SOCIETE_FORME_JURIDIQUE',1,'0','chaine',0,'','2016-07-30 11:19:05'),(5696,'MAIN_INFO_SIREN',1,'123456','chaine',0,'','2016-07-30 11:19:05'),(5697,'MAIN_INFO_TVAINTRA',1,'FR1234567','chaine',0,'','2016-07-30 11:19:05'),(5698,'MAIN_INFO_SOCIETE_OBJECT',1,'A company demo to show how Dolibarr ERP CRM is wonderfull','chaine',0,'','2016-07-30 11:19:05'),(5699,'SOCIETE_FISCAL_MONTH_START',1,'1','chaine',0,'','2016-07-30 11:19:05'),(5700,'FACTURE_TVAOPTION',1,'1','chaine',0,'','2016-07-30 11:19:05'),(5701,'FACTURE_LOCAL_TAX1_OPTION',1,'localtax1on','chaine',0,'','2016-07-30 11:19:05'),(5702,'MAIN_INFO_VALUE_LOCALTAX1',1,'0','chaine',0,'','2016-07-30 11:19:05'),(5703,'MAIN_INFO_LOCALTAX_CALC1',1,'0','chaine',0,'','2016-07-30 11:19:05'),(5704,'PROJECT_USE_OPPORTUNITIES',1,'1','chaine',0,'','2016-07-30 11:19:17'),(5707,'CASHDESK_NO_DECREASE_STOCK',1,'1','chaine',0,'','2016-07-30 13:38:11'),(5708,'MAIN_MODULE_PRODUCTBATCH',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5710,'MAIN_MODULE_STOCK',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5711,'MAIN_MODULE_PRODUCT',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5712,'MAIN_MODULE_EXPEDITION',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5713,'MAIN_MODULE_COMMANDE',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5715,'MAIN_MODULE_FOURNISSEUR',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5716,'MAIN_MODULE_SOCIETE',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5765,'MAIN_MODULE_AGENDA',1,'1',NULL,0,NULL,'2016-07-30 15:42:32'),(5766,'MAIN_AGENDA_ACTIONAUTO_COMPANY_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5767,'MAIN_AGENDA_ACTIONAUTO_COMPANY_CREATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5768,'MAIN_AGENDA_ACTIONAUTO_PROPAL_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5769,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLOSE_SIGNED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5770,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLOSE_REFUSED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5771,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5772,'MAIN_AGENDA_ACTIONAUTO_PROPAL_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5773,'MAIN_AGENDA_ACTIONAUTO_ORDER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5774,'MAIN_AGENDA_ACTIONAUTO_ORDER_CLOSE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5775,'MAIN_AGENDA_ACTIONAUTO_ORDER_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5776,'MAIN_AGENDA_ACTIONAUTO_ORDER_CANCEL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5777,'MAIN_AGENDA_ACTIONAUTO_ORDER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5778,'MAIN_AGENDA_ACTIONAUTO_BILL_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5779,'MAIN_AGENDA_ACTIONAUTO_BILL_PAYED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5780,'MAIN_AGENDA_ACTIONAUTO_BILL_CANCEL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5781,'MAIN_AGENDA_ACTIONAUTO_BILL_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5782,'MAIN_AGENDA_ACTIONAUTO_BILL_UNVALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5783,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5784,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_APPROVE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5785,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_SUBMIT',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5786,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_RECEIVE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5787,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_REFUSE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5788,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5789,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5790,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5791,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_UNVALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5792,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_PAYED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5793,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5794,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_CANCELED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5795,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5796,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5797,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5798,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_CLASSIFY_UNBILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5799,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_REOPEN',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5800,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5801,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5802,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5803,'MAIN_AGENDA_ACTIONAUTO_MEMBER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5804,'MAIN_AGENDA_ACTIONAUTO_MEMBER_SUBSCRIPTION',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5805,'MAIN_AGENDA_ACTIONAUTO_MEMBER_RESILIATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5806,'MAIN_AGENDA_ACTIONAUTO_MEMBER_MODIFY',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5807,'MAIN_AGENDA_ACTIONAUTO_MEMBER_DELETE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5808,'MARGIN_TYPE',1,'costprice','chaine',0,'','2016-07-30 16:32:18'),(5809,'DISPLAY_MARGIN_RATES',1,'1','chaine',0,'','2016-07-30 16:32:20'),(5810,'MAIN_FEATURES_LEVEL',0,'0','chaine',1,'Level of features to show (0=stable only, 1=stable+experimental, 2=stable+experimental+development','2016-07-30 18:36:15'),(5812,'MAIN_MODULE_OPENSURVEY',1,'1',NULL,0,NULL,'2016-07-30 19:04:07'); +INSERT INTO `llx_const` VALUES (5,'SYSLOG_LEVEL',0,'7','chaine',0,'Level of debug info to show','2010-07-08 11:17:57'),(8,'MAIN_UPLOAD_DOC',0,'2048','chaine',0,'Max size for file upload (0 means no upload allowed)','2010-07-08 11:17:57'),(9,'MAIN_SEARCHFORM_SOCIETE',0,'1','yesno',0,'Show form for quick company search','2010-07-08 11:17:57'),(10,'MAIN_SEARCHFORM_CONTACT',0,'1','yesno',0,'Show form for quick contact search','2010-07-08 11:17:57'),(11,'MAIN_SEARCHFORM_PRODUITSERVICE',0,'1','yesno',0,'Show form for quick product search','2010-07-08 11:17:58'),(12,'MAIN_SEARCHFORM_ADHERENT',0,'1','yesno',0,'Show form for quick member search','2010-07-08 11:17:58'),(16,'MAIN_SIZE_LISTE_LIMIT',0,'25','chaine',0,'Longueur maximum des listes','2010-07-08 11:17:58'),(17,'MAIN_SHOW_WORKBOARD',0,'1','yesno',0,'Affichage tableau de bord de travail Dolibarr','2010-07-08 11:17:58'),(29,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',1,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2010-07-08 11:17:58'),(33,'SOCIETE_NOLIST_COURRIER',0,'1','yesno',0,'Liste les fichiers du repertoire courrier','2010-07-08 11:17:58'),(36,'ADHERENT_MAIL_REQUIRED',1,'1','yesno',0,'EMail required to create a new member','2010-07-08 11:17:58'),(37,'ADHERENT_MAIL_FROM',1,'adherents@domain.com','chaine',0,'Sender EMail for automatic emails','2010-07-08 11:17:58'),(38,'ADHERENT_MAIL_RESIL',1,'Your subscription has been resiliated.\r\nWe hope to see you soon again','texte',0,'Mail resiliation','2010-07-08 11:17:58'),(39,'ADHERENT_MAIL_VALID',1,'Your subscription has been validated.\r\nThis is a remind of your personal information :\r\n\r\n%INFOS%\r\n\r\n','texte',0,'Mail de validation','2010-07-08 11:17:59'),(40,'ADHERENT_MAIL_COTIS',1,'Hello %PRENOM%,\r\nThanks for your subscription.\r\nThis email confirms that your subscription has been received and processed.\r\n\r\n','texte',0,'Mail de validation de cotisation','2010-07-08 11:17:59'),(41,'ADHERENT_MAIL_VALID_SUBJECT',1,'Your subscription has been validated','chaine',0,'Sujet du mail de validation','2010-07-08 11:17:59'),(42,'ADHERENT_MAIL_RESIL_SUBJECT',1,'Resiliating your subscription','chaine',0,'Sujet du mail de resiliation','2010-07-08 11:17:59'),(43,'ADHERENT_MAIL_COTIS_SUBJECT',1,'Receipt of your subscription','chaine',0,'Sujet du mail de validation de cotisation','2010-07-08 11:17:59'),(44,'MAILING_EMAIL_FROM',1,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2010-07-08 11:17:59'),(45,'ADHERENT_USE_MAILMAN',1,'0','yesno',0,'Utilisation de Mailman','2010-07-08 11:17:59'),(46,'ADHERENT_MAILMAN_UNSUB_URL',1,'http://lists.domain.com/cgi-bin/mailman/admin/%LISTE%/members?adminpw=%MAILMAN_ADMINPW%&user=%EMAIL%','chaine',0,'Url de desinscription aux listes mailman','2010-07-08 11:17:59'),(47,'ADHERENT_MAILMAN_URL',1,'http://lists.domain.com/cgi-bin/mailman/admin/%LISTE%/members?adminpw=%MAILMAN_ADMINPW%&send_welcome_msg_to_this_batch=1&subscribees=%EMAIL%','chaine',0,'Url pour les inscriptions mailman','2010-07-08 11:17:59'),(48,'ADHERENT_MAILMAN_LISTS',1,'test-test,test-test2','chaine',0,'Listes auxquelles inscrire les nouveaux adherents','2010-07-08 11:17:59'),(49,'ADHERENT_MAILMAN_ADMINPW',1,'','chaine',0,'Mot de passe Admin des liste mailman','2010-07-08 11:17:59'),(50,'ADHERENT_MAILMAN_SERVER',1,'lists.domain.com','chaine',0,'Serveur hebergeant les interfaces d Admin des listes mailman','2010-07-08 11:17:59'),(51,'ADHERENT_MAILMAN_LISTS_COTISANT',1,'','chaine',0,'Liste(s) auxquelles les nouveaux cotisants sont inscris automatiquement','2010-07-08 11:17:59'),(52,'ADHERENT_USE_SPIP',1,'0','yesno',0,'Utilisation de SPIP ?','2010-07-08 11:17:59'),(53,'ADHERENT_USE_SPIP_AUTO',1,'0','yesno',0,'Utilisation de SPIP automatiquement','2010-07-08 11:17:59'),(54,'ADHERENT_SPIP_USER',1,'user','chaine',0,'user spip','2010-07-08 11:17:59'),(55,'ADHERENT_SPIP_PASS',1,'pass','chaine',0,'Pass de connection','2010-07-08 11:17:59'),(56,'ADHERENT_SPIP_SERVEUR',1,'localhost','chaine',0,'serveur spip','2010-07-08 11:17:59'),(57,'ADHERENT_SPIP_DB',1,'spip','chaine',0,'db spip','2010-07-08 11:17:59'),(58,'ADHERENT_CARD_HEADER_TEXT',1,'%ANNEE%','chaine',0,'Texte imprime sur le haut de la carte adherent','2010-07-08 11:17:59'),(59,'ADHERENT_CARD_FOOTER_TEXT',1,'Association AZERTY','chaine',0,'Texte imprime sur le bas de la carte adherent','2010-07-08 11:17:59'),(61,'FCKEDITOR_ENABLE_USER',1,'1','yesno',0,'Activation fckeditor sur notes utilisateurs','2010-07-08 11:17:59'),(62,'FCKEDITOR_ENABLE_SOCIETE',1,'1','yesno',0,'Activation fckeditor sur notes societe','2010-07-08 11:17:59'),(63,'FCKEDITOR_ENABLE_PRODUCTDESC',1,'1','yesno',0,'Activation fckeditor sur notes produits','2010-07-08 11:17:59'),(64,'FCKEDITOR_ENABLE_MEMBER',1,'1','yesno',0,'Activation fckeditor sur notes adherent','2010-07-08 11:17:59'),(65,'FCKEDITOR_ENABLE_MAILING',1,'1','yesno',0,'Activation fckeditor sur emailing','2010-07-08 11:17:59'),(67,'DON_ADDON_MODEL',1,'html_cerfafr','chaine',0,'','2010-07-08 11:18:00'),(68,'PROPALE_ADDON',1,'mod_propale_marbre','chaine',0,'','2010-07-08 11:18:00'),(69,'PROPALE_ADDON_PDF',1,'azur','chaine',0,'','2010-07-08 11:18:00'),(70,'COMMANDE_ADDON',1,'mod_commande_marbre','chaine',0,'','2010-07-08 11:18:00'),(71,'COMMANDE_ADDON_PDF',1,'einstein','chaine',0,'','2010-07-08 11:18:00'),(72,'COMMANDE_SUPPLIER_ADDON',1,'mod_commande_fournisseur_muguet','chaine',0,'','2010-07-08 11:18:00'),(73,'COMMANDE_SUPPLIER_ADDON_PDF',1,'muscadet','chaine',0,'','2010-07-08 11:18:00'),(74,'EXPEDITION_ADDON',1,'enlevement','chaine',0,'','2010-07-08 11:18:00'),(76,'FICHEINTER_ADDON',1,'pacific','chaine',0,'','2010-07-08 11:18:00'),(77,'FICHEINTER_ADDON_PDF',1,'soleil','chaine',0,'','2010-07-08 11:18:00'),(79,'FACTURE_ADDON_PDF',1,'crabe','chaine',0,'','2010-07-08 11:18:00'),(80,'PROPALE_VALIDITY_DURATION',1,'15','chaine',0,'Durée de validitée des propales','2010-07-08 11:18:00'),(230,'COMPANY_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/thirdparties','chaine',0,NULL,'2010-07-08 11:26:20'),(238,'LIVRAISON_ADDON_PDF',1,'typhon','chaine',0,'Nom du gestionnaire de generation des commandes en PDF','2010-07-08 11:26:27'),(239,'LIVRAISON_ADDON_NUMBER',1,'mod_livraison_jade','chaine',0,'Nom du gestionnaire de numerotation des bons de livraison','2013-03-20 13:17:36'),(242,'MAIN_SUBMODULE_EXPEDITION',1,'1','chaine',0,'','2010-07-08 11:26:34'),(245,'FACTURE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/invoices','chaine',0,NULL,'2010-07-08 11:28:53'),(249,'DON_FORM',1,'fsfe.fr.php','chaine',0,'Nom du gestionnaire de formulaire de dons','2010-07-08 11:29:00'),(253,'ADHERENT_BANK_USE_AUTO',1,'','yesno',0,'Insertion automatique des cotisation dans le compte banquaire','2010-07-08 11:29:05'),(254,'ADHERENT_BANK_ACCOUNT',1,'','chaine',0,'ID du Compte banquaire utilise','2010-07-08 11:29:05'),(255,'ADHERENT_BANK_CATEGORIE',1,'','chaine',0,'ID de la categorie banquaire des cotisations','2010-07-08 11:29:05'),(256,'ADHERENT_ETIQUETTE_TYPE',1,'L7163','chaine',0,'Type d etiquette (pour impression de planche d etiquette)','2010-07-08 11:29:05'),(269,'PROJECT_ADDON_PDF',1,'baleine','chaine',0,'Nom du gestionnaire de generation des projets en PDF','2010-07-08 11:29:33'),(270,'PROJECT_ADDON',1,'mod_project_simple','chaine',0,'Nom du gestionnaire de numerotation des projets','2010-07-08 11:29:33'),(368,'STOCK_USERSTOCK_AUTOCREATE',1,'1','chaine',0,'','2010-07-08 22:44:59'),(369,'EXPEDITION_ADDON_PDF',1,'merou','chaine',0,'','2010-07-08 22:58:07'),(370,'MAIN_SUBMODULE_LIVRAISON',1,'1','chaine',0,'','2010-07-08 23:00:29'),(377,'FACTURE_ADDON',1,'mod_facture_terre','chaine',0,'','2010-07-08 23:08:12'),(380,'ADHERENT_CARD_TEXT',1,'%TYPE% n° %ID%\r\n%PRENOM% %NOM%\r\n<%EMAIL%>\r\n%ADRESSE%\r\n%CP% %VILLE%\r\n%PAYS%','',0,'Texte imprime sur la carte adherent','2010-07-08 23:14:46'),(381,'ADHERENT_CARD_TEXT_RIGHT',1,'aaa','',0,'','2010-07-08 23:14:55'),(384,'PRODUIT_SOUSPRODUITS',1,'1','chaine',0,'','2010-07-08 23:22:12'),(385,'PRODUIT_USE_SEARCH_TO_SELECT',1,'1','chaine',0,'','2010-07-08 23:22:19'),(386,'STOCK_CALCULATE_ON_SHIPMENT',1,'1','chaine',0,'','2010-07-08 23:23:21'),(387,'STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER',1,'1','chaine',0,'','2010-07-08 23:23:26'),(392,'MAIN_AGENDA_XCAL_EXPORTKEY',1,'dolibarr','chaine',0,'','2010-07-08 23:27:50'),(393,'MAIN_AGENDA_EXPORT_PAST_DELAY',1,'100','chaine',0,'','2010-07-08 23:27:50'),(610,'CASHDESK_ID_THIRDPARTY',1,'7','chaine',0,'','2010-07-11 17:08:18'),(611,'CASHDESK_ID_BANKACCOUNT_CASH',1,'3','chaine',0,'','2010-07-11 17:08:18'),(612,'CASHDESK_ID_BANKACCOUNT_CHEQUE',1,'1','chaine',0,'','2010-07-11 17:08:18'),(613,'CASHDESK_ID_BANKACCOUNT_CB',1,'1','chaine',0,'','2010-07-11 17:08:18'),(614,'CASHDESK_ID_WAREHOUSE',1,'2','chaine',0,'','2010-07-11 17:08:18'),(660,'LDAP_USER_DN',1,'ou=users,dc=my-domain,dc=com','chaine',0,NULL,'2010-07-18 10:25:27'),(661,'LDAP_GROUP_DN',1,'ou=groups,dc=my-domain,dc=com','chaine',0,NULL,'2010-07-18 10:25:27'),(662,'LDAP_FILTER_CONNECTION',1,'&(objectClass=user)(objectCategory=person)','chaine',0,NULL,'2010-07-18 10:25:27'),(663,'LDAP_FIELD_LOGIN',1,'uid','chaine',0,NULL,'2010-07-18 10:25:27'),(664,'LDAP_FIELD_FULLNAME',1,'cn','chaine',0,NULL,'2010-07-18 10:25:27'),(665,'LDAP_FIELD_NAME',1,'sn','chaine',0,NULL,'2010-07-18 10:25:27'),(666,'LDAP_FIELD_FIRSTNAME',1,'givenname','chaine',0,NULL,'2010-07-18 10:25:27'),(667,'LDAP_FIELD_MAIL',1,'mail','chaine',0,NULL,'2010-07-18 10:25:27'),(668,'LDAP_FIELD_PHONE',1,'telephonenumber','chaine',0,NULL,'2010-07-18 10:25:27'),(669,'LDAP_FIELD_FAX',1,'facsimiletelephonenumber','chaine',0,NULL,'2010-07-18 10:25:27'),(670,'LDAP_FIELD_MOBILE',1,'mobile','chaine',0,NULL,'2010-07-18 10:25:27'),(671,'LDAP_SERVER_TYPE',1,'openldap','chaine',0,'','2010-07-18 10:25:46'),(672,'LDAP_SERVER_PROTOCOLVERSION',1,'3','chaine',0,'','2010-07-18 10:25:47'),(673,'LDAP_SERVER_HOST',1,'localhost','chaine',0,'','2010-07-18 10:25:47'),(674,'LDAP_SERVER_PORT',1,'389','chaine',0,'','2010-07-18 10:25:47'),(675,'LDAP_SERVER_USE_TLS',1,'0','chaine',0,'','2010-07-18 10:25:47'),(676,'LDAP_SYNCHRO_ACTIVE',1,'dolibarr2ldap','chaine',0,'','2010-07-18 10:25:47'),(677,'LDAP_CONTACT_ACTIVE',1,'1','chaine',0,'','2010-07-18 10:25:47'),(678,'LDAP_MEMBER_ACTIVE',1,'1','chaine',0,'','2010-07-18 10:25:47'),(974,'MAIN_MODULE_WORKFLOW_TRIGGERS',1,'1','chaine',0,NULL,'2011-07-18 18:02:20'),(975,'WORKFLOW_PROPAL_AUTOCREATE_ORDER',1,'1','chaine',0,'','2011-07-18 18:02:24'),(979,'PRELEVEMENT_USER',1,'1','chaine',0,'','2011-07-18 18:05:50'),(980,'PRELEVEMENT_NUMERO_NATIONAL_EMETTEUR',1,'1234567','chaine',0,'','2011-07-18 18:05:50'),(981,'PRELEVEMENT_ID_BANKACCOUNT',1,'1','chaine',0,'','2011-07-18 18:05:50'),(983,'FACTURE_RIB_NUMBER',1,'1','chaine',0,'','2011-07-18 18:35:14'),(984,'FACTURE_CHQ_NUMBER',1,'1','chaine',0,'','2011-07-18 18:35:14'),(1016,'GOOGLE_DUPLICATE_INTO_GCAL',1,'1','chaine',0,'','2011-07-18 21:40:20'),(1152,'SOCIETE_CODECLIENT_ADDON',1,'mod_codeclient_monkey','chaine',0,'','2011-07-29 20:50:02'),(1231,'MAIN_UPLOAD_DOC',1,'2048','chaine',0,'','2011-07-29 21:04:00'),(1234,'MAIN_UMASK',1,'0664','chaine',0,'','2011-07-29 21:04:11'),(1240,'MAIN_LOGEVENTS_USER_LOGIN',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1241,'MAIN_LOGEVENTS_USER_LOGIN_FAILED',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1242,'MAIN_LOGEVENTS_USER_LOGOUT',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1243,'MAIN_LOGEVENTS_USER_CREATE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1244,'MAIN_LOGEVENTS_USER_MODIFY',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1245,'MAIN_LOGEVENTS_USER_NEW_PASSWORD',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1246,'MAIN_LOGEVENTS_USER_ENABLEDISABLE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1247,'MAIN_LOGEVENTS_USER_DELETE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1248,'MAIN_LOGEVENTS_GROUP_CREATE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1249,'MAIN_LOGEVENTS_GROUP_MODIFY',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1250,'MAIN_LOGEVENTS_GROUP_DELETE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1251,'MAIN_BOXES_MAXLINES',1,'5','',0,'','2011-07-29 21:05:42'),(1482,'EXPEDITION_ADDON_NUMBER',1,'mod_expedition_safor','chaine',0,'Nom du gestionnaire de numerotation des expeditions','2011-08-05 17:53:11'),(1490,'CONTRACT_ADDON',1,'mod_contract_serpis','chaine',0,'Nom du gestionnaire de numerotation des contrats','2011-08-05 18:11:58'),(1677,'COMMANDE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/orders','chaine',0,NULL,'2012-12-08 13:11:02'),(1698,'PRODUCT_CODEPRODUCT_ADDON',1,'mod_codeproduct_leopard','yesno',0,'Module to control product codes','2012-12-08 13:11:25'),(1719,'ACCOUNTING_USEDICTTOEDIT',1,'1','chaine',1,'','2012-12-08 13:15:00'),(1724,'PROPALE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/proposals','chaine',0,NULL,'2012-12-08 13:17:14'),(1730,'OPENSTREETMAP_ENABLE_MAPS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1731,'OPENSTREETMAP_ENABLE_MAPS_CONTACTS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1732,'OPENSTREETMAP_ENABLE_MAPS_MEMBERS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1733,'OPENSTREETMAP_MAPS_ZOOM_LEVEL',1,'15','chaine',0,'','2012-12-08 13:22:47'),(1737,'MAIN_INFO_SOCIETE_COUNTRY',2,'1:FR:France','chaine',0,'','2013-02-26 21:56:28'),(1738,'MAIN_INFO_SOCIETE_NOM',2,'aaa','chaine',0,'','2012-12-08 14:08:14'),(1739,'MAIN_INFO_SOCIETE_STATE',2,'0','chaine',0,'','2013-02-27 14:20:27'),(1740,'MAIN_MONNAIE',2,'EUR','chaine',0,'','2012-12-08 14:08:14'),(1741,'MAIN_LANG_DEFAULT',2,'auto','chaine',0,'','2012-12-08 14:08:14'),(1742,'MAIN_MAIL_EMAIL_FROM',2,'dolibarr-robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2012-12-08 14:08:14'),(1743,'MAIN_MENU_STANDARD',2,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs internes','2013-02-11 19:43:54'),(1744,'MAIN_MENUFRONT_STANDARD',2,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs externes','2013-02-11 19:43:54'),(1745,'MAIN_MENU_SMARTPHONE',2,'iphone_backoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs internes','2012-12-08 14:08:14'),(1746,'MAIN_MENUFRONT_SMARTPHONE',2,'iphone_frontoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs externes','2012-12-08 14:08:14'),(1747,'MAIN_THEME',2,'eldy','chaine',0,'Default theme','2012-12-08 14:08:14'),(1748,'MAIN_DELAY_ACTIONS_TODO',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur actions planifiées non réalisées','2012-12-08 14:08:14'),(1749,'MAIN_DELAY_ORDERS_TO_PROCESS',2,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes clients non traitées','2012-12-08 14:08:14'),(1750,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes fournisseurs non traitées','2012-12-08 14:08:14'),(1751,'MAIN_DELAY_PROPALS_TO_CLOSE',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales à cloturer','2012-12-08 14:08:14'),(1752,'MAIN_DELAY_PROPALS_TO_BILL',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales non facturées','2012-12-08 14:08:14'),(1753,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures client impayées','2012-12-08 14:08:14'),(1754,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',2,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures fournisseur impayées','2012-12-08 14:08:14'),(1755,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',2,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2012-12-08 14:08:14'),(1756,'MAIN_DELAY_RUNNING_SERVICES',2,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services expirés','2012-12-08 14:08:14'),(1757,'MAIN_DELAY_MEMBERS',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur cotisations adhérent en retard','2012-12-08 14:08:14'),(1758,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',2,'62','chaine',0,'Tolérance de retard avant alerte (en jours) sur rapprochements bancaires à faire','2012-12-08 14:08:14'),(1759,'MAILING_EMAIL_FROM',2,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2012-12-08 14:08:14'),(1760,'MAIN_INFO_SOCIETE_COUNTRY',3,'1:FR:France','chaine',0,'','2013-02-26 21:56:28'),(1761,'MAIN_INFO_SOCIETE_NOM',3,'bbb','chaine',0,'','2012-12-08 14:08:20'),(1762,'MAIN_INFO_SOCIETE_STATE',3,'0','chaine',0,'','2013-02-27 14:20:27'),(1763,'MAIN_MONNAIE',3,'EUR','chaine',0,'','2012-12-08 14:08:20'),(1764,'MAIN_LANG_DEFAULT',3,'auto','chaine',0,'','2012-12-08 14:08:20'),(1765,'MAIN_MAIL_EMAIL_FROM',3,'dolibarr-robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2012-12-08 14:08:20'),(1766,'MAIN_MENU_STANDARD',3,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs internes','2013-02-11 19:43:54'),(1767,'MAIN_MENUFRONT_STANDARD',3,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs externes','2013-02-11 19:43:54'),(1768,'MAIN_MENU_SMARTPHONE',3,'iphone_backoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs internes','2012-12-08 14:08:20'),(1769,'MAIN_MENUFRONT_SMARTPHONE',3,'iphone_frontoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs externes','2012-12-08 14:08:20'),(1770,'MAIN_THEME',3,'eldy','chaine',0,'Default theme','2012-12-08 14:08:20'),(1771,'MAIN_DELAY_ACTIONS_TODO',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur actions planifiées non réalisées','2012-12-08 14:08:20'),(1772,'MAIN_DELAY_ORDERS_TO_PROCESS',3,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes clients non traitées','2012-12-08 14:08:20'),(1773,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes fournisseurs non traitées','2012-12-08 14:08:20'),(1774,'MAIN_DELAY_PROPALS_TO_CLOSE',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales à cloturer','2012-12-08 14:08:20'),(1775,'MAIN_DELAY_PROPALS_TO_BILL',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales non facturées','2012-12-08 14:08:20'),(1776,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures client impayées','2012-12-08 14:08:20'),(1777,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',3,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures fournisseur impayées','2012-12-08 14:08:20'),(1778,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',3,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2012-12-08 14:08:20'),(1779,'MAIN_DELAY_RUNNING_SERVICES',3,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services expirés','2012-12-08 14:08:20'),(1780,'MAIN_DELAY_MEMBERS',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur cotisations adhérent en retard','2012-12-08 14:08:20'),(1781,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',3,'62','chaine',0,'Tolérance de retard avant alerte (en jours) sur rapprochements bancaires à faire','2012-12-08 14:08:20'),(1782,'MAILING_EMAIL_FROM',3,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2012-12-08 14:08:20'),(1803,'SYSLOG_FILE',1,'DOL_DATA_ROOT/dolibarr.log','chaine',0,'','2012-12-08 14:15:08'),(1804,'SYSLOG_HANDLERS',1,'[\"mod_syslog_file\"]','chaine',0,'','2012-12-08 14:15:08'),(1805,'MAIN_MODULE_SKINCOLOREDITOR',3,'1',NULL,0,NULL,'2012-12-08 14:35:40'),(1806,'MAIN_MODULE_SKINCOLOREDITOR_TABS_0',3,'user:+tabskincoloreditors:ColorEditor:skincoloreditor@skincoloreditor:/skincoloreditor/usercolors.php?id=__ID__','chaine',0,NULL,'2012-12-08 14:35:40'),(1922,'PAYPAL_API_SANDBOX',1,'1','chaine',0,'','2012-12-12 12:11:05'),(1923,'PAYPAL_API_USER',1,'seller_1355312017_biz_api1.nltechno.com','chaine',0,'','2012-12-12 12:11:05'),(1924,'PAYPAL_API_PASSWORD',1,'1355312040','chaine',0,'','2012-12-12 12:11:05'),(1925,'PAYPAL_API_SIGNATURE',1,'AXqqdsWBzvfn0q5iNmbuiDv1y.3EAXIMWyl4C5KvDReR9HDwwAd6dQ4Q','chaine',0,'','2012-12-12 12:11:05'),(1926,'PAYPAL_API_INTEGRAL_OR_PAYPALONLY',1,'integral','chaine',0,'','2012-12-12 12:11:05'),(1927,'PAYPAL_SECURITY_TOKEN',1,'50c82fab36bb3b6aa83e2a50691803b2','chaine',0,'','2012-12-12 12:11:05'),(1928,'PAYPAL_SECURITY_TOKEN_UNIQUE',1,'0','chaine',0,'','2012-12-12 12:11:05'),(1929,'PAYPAL_ADD_PAYMENT_URL',1,'1','chaine',0,'','2012-12-12 12:11:05'),(1980,'MAIN_PDF_FORMAT',1,'EUA4','chaine',0,'','2012-12-12 19:58:05'),(1981,'MAIN_PROFID1_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1982,'MAIN_PROFID2_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1983,'MAIN_PROFID3_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1984,'MAIN_PROFID4_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1985,'MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1990,'MAIN_SMS_SENDMODE',1,'ovh','chaine',0,'This is to enable OVH SMS engine','2012-12-17 21:19:01'),(2040,'MAIN_MAIL_SMTP_PORT',1,'465','chaine',0,'','2015-07-19 13:41:06'),(2041,'MAIN_MAIL_SMTP_SERVER',1,'smtp.mail.com','chaine',0,'','2015-07-19 13:41:06'),(2044,'MAIN_MAIL_EMAIL_TLS',1,'1','chaine',0,'','2015-07-19 13:41:06'),(2251,'FCKEDITOR_TEST',1,'Test
\r\n\"\"fdfs','chaine',0,'','2012-12-19 19:12:24'),(2293,'SYSTEMTOOLS_MYSQLDUMP',1,'/usr/bin/mysqldump','chaine',0,'','2012-12-27 02:02:00'),(2835,'MAIN_USE_CONNECT_TIMEOUT',1,'10','chaine',0,'','2013-01-16 19:28:50'),(2836,'MAIN_USE_RESPONSE_TIMEOUT',1,'30','chaine',0,'','2013-01-16 19:28:50'),(2837,'MAIN_PROXY_USE',1,'0','chaine',0,'','2013-01-16 19:28:50'),(2838,'MAIN_PROXY_HOST',1,'localhost','chaine',0,'','2013-01-16 19:28:50'),(2839,'MAIN_PROXY_PORT',1,'8080','chaine',0,'','2013-01-16 19:28:50'),(2840,'MAIN_PROXY_USER',1,'aaa','chaine',0,'','2013-01-16 19:28:50'),(2841,'MAIN_PROXY_PASS',1,'bbb','chaine',0,'','2013-01-16 19:28:50'),(2848,'OVHSMS_NICK',1,'BN196-OVH','chaine',0,'','2013-01-16 19:32:36'),(2849,'OVHSMS_PASS',1,'bigone-10','chaine',0,'','2013-01-16 19:32:36'),(2850,'OVHSMS_SOAPURL',1,'https://www.ovh.com/soapi/soapi-re-1.55.wsdl','chaine',0,'','2013-01-16 19:32:36'),(2854,'THEME_ELDY_RGB',1,'bfbf00','chaine',0,'','2013-01-18 10:02:53'),(2855,'THEME_ELDY_ENABLE_PERSONALIZED',1,'0','chaine',0,'','2013-01-18 10:02:55'),(2858,'MAIN_SESSION_TIMEOUT',1,'2000','chaine',0,'','2013-01-19 17:01:53'),(2862,'TICKET_ADDON',1,'mod_ticket_avenc','chaine',0,'Nom du gestionnaire de numerotation des tickets','2013-01-19 17:16:10'),(2867,'FACSIM_ADDON',1,'mod_facsim_alcoy','chaine',0,'','2013-01-19 17:16:25'),(2868,'POS_SERVICES',1,'0','chaine',0,'','2013-01-19 17:16:51'),(2869,'POS_USE_TICKETS',1,'1','chaine',0,'','2013-01-19 17:16:51'),(2870,'POS_MAX_TTC',1,'100','chaine',0,'','2013-01-19 17:16:51'),(3190,'MAIN_MODULE_HOLIDAY',2,'1',NULL,0,NULL,'2013-02-01 08:52:34'),(3191,'MAIN_MODULE_HOLIDAY_TABS_0',2,'user:+paidholidays:CPTitreMenu:holiday:$user->rights->holiday->write:/holiday/index.php?mainmenu=holiday&id=__ID__','chaine',0,NULL,'2013-02-01 08:52:34'),(3195,'INVOICE_SUPPLIER_ADDON_PDF',1,'canelle','chaine',0,'','2013-02-10 19:50:27'),(3199,'MAIN_FORCE_RELOAD_PAGE',1,'1','chaine',0,NULL,'2013-02-12 16:22:55'),(3217,'MAIN_PDF_TITLE_BACKGROUND_COLOR',1,'240,240,240','chaine',1,'','2013-02-13 15:18:02'),(3223,'OVH_THIRDPARTY_IMPORT',1,'2','chaine',0,'','2013-02-13 16:20:18'),(3241,'COMPANY_USE_SEARCH_TO_SELECT',1,'2','chaine',0,'','2013-02-17 14:33:39'),(3409,'AGENDA_USE_EVENT_TYPE',1,'1','chaine',0,'','2013-02-27 18:12:24'),(3886,'MAIN_REMOVE_INSTALL_WARNING',1,'1','chaine',1,'','2013-03-02 18:32:50'),(4013,'MAIN_DELAY_ACTIONS_TODO',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4014,'MAIN_DELAY_PROPALS_TO_CLOSE',1,'31','chaine',0,'','2013-03-06 08:59:12'),(4015,'MAIN_DELAY_PROPALS_TO_BILL',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4016,'MAIN_DELAY_ORDERS_TO_PROCESS',1,'2','chaine',0,'','2013-03-06 08:59:12'),(4017,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',1,'31','chaine',0,'','2013-03-06 08:59:12'),(4018,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4019,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',1,'2','chaine',0,'','2013-03-06 08:59:12'),(4020,'MAIN_DELAY_RUNNING_SERVICES',1,'-15','chaine',0,'','2013-03-06 08:59:12'),(4021,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',1,'62','chaine',0,'','2013-03-06 08:59:13'),(4022,'MAIN_DELAY_MEMBERS',1,'31','chaine',0,'','2013-03-06 08:59:13'),(4023,'MAIN_DISABLE_METEO',1,'0','chaine',0,'','2013-03-06 08:59:13'),(4044,'ADHERENT_VAT_FOR_SUBSCRIPTIONS',1,'0','',0,'','2013-03-06 16:06:38'),(4047,'ADHERENT_BANK_USE',1,'bankviainvoice','',0,'','2013-03-06 16:12:30'),(4049,'PHPSANE_SCANIMAGE',1,'/usr/bin/scanimage','chaine',0,'','2013-03-06 21:54:13'),(4050,'PHPSANE_PNMTOJPEG',1,'/usr/bin/pnmtojpeg','chaine',0,'','2013-03-06 21:54:13'),(4051,'PHPSANE_PNMTOTIFF',1,'/usr/bin/pnmtotiff','chaine',0,'','2013-03-06 21:54:13'),(4052,'PHPSANE_OCR',1,'/usr/bin/gocr','chaine',0,'','2013-03-06 21:54:13'),(4548,'ECM_AUTO_TREE_ENABLED',1,'1','chaine',0,'','2013-03-10 15:57:21'),(4579,'MAIN_MODULE_AGENDA',2,'1',NULL,0,NULL,'2013-03-13 15:29:19'),(4580,'MAIN_AGENDA_ACTIONAUTO_COMPANY_CREATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4581,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4582,'MAIN_AGENDA_ACTIONAUTO_PROPAL_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4583,'MAIN_AGENDA_ACTIONAUTO_PROPAL_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4584,'MAIN_AGENDA_ACTIONAUTO_ORDER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4585,'MAIN_AGENDA_ACTIONAUTO_ORDER_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4586,'MAIN_AGENDA_ACTIONAUTO_BILL_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4587,'MAIN_AGENDA_ACTIONAUTO_BILL_PAYED',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4588,'MAIN_AGENDA_ACTIONAUTO_BILL_CANCEL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4589,'MAIN_AGENDA_ACTIONAUTO_BILL_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4590,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4591,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4592,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4593,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4594,'MAIN_AGENDA_ACTIONAUTO_BILL_UNVALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4595,'MAIN_MODULE_GOOGLE',2,'1',NULL,0,NULL,'2013-03-13 15:29:47'),(4596,'MAIN_MODULE_GOOGLE_TABS_0',2,'agenda:+gcal:MenuAgendaGoogle:google@google:$conf->google->enabled && $conf->global->GOOGLE_ENABLE_AGENDA:/google/index.php','chaine',0,NULL,'2013-03-13 15:29:47'),(4597,'MAIN_MODULE_GOOGLE_TABS_1',2,'user:+gsetup:GoogleUserConf:google@google:$conf->google->enabled && $conf->global->GOOGLE_DUPLICATE_INTO_GCAL:/google/admin/google_calsync_user.php?id=__ID__','chaine',0,NULL,'2013-03-13 15:29:47'),(4598,'MAIN_MODULE_GOOGLE_TRIGGERS',2,'1','chaine',0,NULL,'2013-03-13 15:29:47'),(4599,'MAIN_MODULE_GOOGLE_HOOKS',2,'[\"toprightmenu\"]','chaine',0,NULL,'2013-03-13 15:29:47'),(4688,'GOOGLE_ENABLE_AGENDA',2,'1','chaine',0,'','2013-03-13 15:36:29'),(4689,'GOOGLE_AGENDA_NAME1',2,'eldy','chaine',0,'','2013-03-13 15:36:29'),(4690,'GOOGLE_AGENDA_SRC1',2,'eldy10@mail.com','chaine',0,'','2013-03-13 15:36:29'),(4691,'GOOGLE_AGENDA_COLOR1',2,'BE6D00','chaine',0,'','2013-03-13 15:36:29'),(4692,'GOOGLE_AGENDA_COLOR2',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4693,'GOOGLE_AGENDA_COLOR3',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4694,'GOOGLE_AGENDA_COLOR4',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4695,'GOOGLE_AGENDA_COLOR5',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4696,'GOOGLE_AGENDA_TIMEZONE',2,'Europe/Paris','chaine',0,'','2013-03-13 15:36:29'),(4697,'GOOGLE_AGENDA_NB',2,'5','chaine',0,'','2013-03-13 15:36:29'),(4698,'MAIN_DISABLE_ALL_MAILS',1,'0','chaine',0,'','2013-03-13 17:22:24'),(4699,'MAIN_MAIL_SENDMODE',1,'mail','chaine',0,'','2015-07-19 13:41:06'),(4700,'MAIN_MAIL_SMTPS_ID',1,'eldy10@mail.com','chaine',0,'','2015-07-19 13:41:06'),(4701,'MAIN_MAIL_SMTPS_PW',1,'bidonge','chaine',0,'','2015-07-19 13:41:06'),(4711,'GOOGLE_ENABLE_AGENDA',1,'1','chaine',0,'','2013-03-13 19:37:38'),(4712,'GOOGLE_AGENDA_NAME1',1,'asso master','chaine',0,'','2013-03-13 19:37:38'),(4713,'GOOGLE_AGENDA_SRC1',1,'assodolibarr@mail.com','chaine',0,'','2013-03-13 19:37:38'),(4714,'GOOGLE_AGENDA_COLOR1',1,'1B887A','chaine',0,'','2013-03-13 19:37:38'),(4715,'GOOGLE_AGENDA_COLOR2',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4716,'GOOGLE_AGENDA_COLOR3',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4717,'GOOGLE_AGENDA_COLOR4',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4718,'GOOGLE_AGENDA_COLOR5',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4719,'GOOGLE_AGENDA_TIMEZONE',1,'Europe/Paris','chaine',0,'','2013-03-13 19:37:38'),(4720,'GOOGLE_AGENDA_NB',1,'5','chaine',0,'','2013-03-13 19:37:38'),(4725,'SOCIETE_CODECLIENT_ADDON',2,'mod_codeclient_leopard','chaine',0,'Module to control third parties codes','2013-03-13 20:21:35'),(4726,'SOCIETE_CODECOMPTA_ADDON',2,'mod_codecompta_panicum','chaine',0,'Module to control third parties codes','2013-03-13 20:21:35'),(4727,'SOCIETE_FISCAL_MONTH_START',2,'','chaine',0,'Mettre le numero du mois du debut d\\\'annee fiscale, ex: 9 pour septembre','2013-03-13 20:21:35'),(4728,'MAIN_SEARCHFORM_SOCIETE',2,'1','yesno',0,'Show form for quick company search','2013-03-13 20:21:35'),(4729,'MAIN_SEARCHFORM_CONTACT',2,'1','yesno',0,'Show form for quick contact search','2013-03-13 20:21:35'),(4730,'COMPANY_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/thirdparties','chaine',0,NULL,'2013-03-13 20:21:35'),(4743,'MAIN_MODULE_CLICKTODIAL',2,'1',NULL,0,NULL,'2013-03-13 20:30:28'),(4744,'MAIN_MODULE_NOTIFICATION',2,'1',NULL,0,NULL,'2013-03-13 20:30:34'),(4745,'MAIN_MODULE_WEBSERVICES',2,'1',NULL,0,NULL,'2013-03-13 20:30:41'),(4746,'MAIN_MODULE_PROPALE',2,'1',NULL,0,NULL,'2013-03-13 20:32:38'),(4747,'PROPALE_ADDON_PDF',2,'azur','chaine',0,'Nom du gestionnaire de generation des propales en PDF','2013-03-13 20:32:38'),(4748,'PROPALE_ADDON',2,'mod_propale_marbre','chaine',0,'Nom du gestionnaire de numerotation des propales','2013-03-13 20:32:38'),(4749,'PROPALE_VALIDITY_DURATION',2,'15','chaine',0,'Duration of validity of business proposals','2013-03-13 20:32:38'),(4750,'PROPALE_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/proposals','chaine',0,NULL,'2013-03-13 20:32:38'),(4752,'MAIN_MODULE_TAX',2,'1',NULL,0,NULL,'2013-03-13 20:32:47'),(4753,'MAIN_MODULE_DON',2,'1',NULL,0,NULL,'2013-03-13 20:32:54'),(4754,'DON_ADDON_MODEL',2,'html_cerfafr','chaine',0,'Nom du gestionnaire de generation de recu de dons','2013-03-13 20:32:54'),(4755,'POS_USE_TICKETS',2,'1','chaine',0,'','2013-03-13 20:33:09'),(4756,'POS_MAX_TTC',2,'100','chaine',0,'','2013-03-13 20:33:09'),(4757,'MAIN_MODULE_POS',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4758,'TICKET_ADDON',2,'mod_ticket_avenc','chaine',0,'Nom du gestionnaire de numerotation des tickets','2013-03-13 20:33:09'),(4759,'MAIN_MODULE_BANQUE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4760,'MAIN_MODULE_FACTURE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4761,'FACTURE_ADDON_PDF',2,'crabe','chaine',0,'Name of PDF model of invoice','2013-03-13 20:33:09'),(4762,'FACTURE_ADDON',2,'mod_facture_terre','chaine',0,'Name of numbering numerotation rules of invoice','2013-03-13 20:33:09'),(4763,'FACTURE_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/invoices','chaine',0,NULL,'2013-03-13 20:33:09'),(4764,'MAIN_MODULE_SOCIETE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4765,'MAIN_MODULE_PRODUCT',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4766,'PRODUCT_CODEPRODUCT_ADDON',2,'mod_codeproduct_leopard','chaine',0,'Module to control product codes','2013-03-13 20:33:09'),(4767,'MAIN_SEARCHFORM_PRODUITSERVICE',2,'1','yesno',0,'Show form for quick product search','2013-03-13 20:33:09'),(4772,'FACSIM_ADDON',2,'mod_facsim_alcoy','chaine',0,'','2013-03-13 20:33:32'),(4773,'MAIN_MODULE_MAILING',2,'1',NULL,0,NULL,'2013-03-13 20:33:37'),(4774,'MAIN_MODULE_OPENSURVEY',2,'1',NULL,0,NULL,'2013-03-13 20:33:42'),(4782,'AGENDA_USE_EVENT_TYPE',2,'1','chaine',0,'','2013-03-13 20:53:36'),(4884,'AGENDA_DISABLE_EXT',2,'1','chaine',0,'','2013-03-13 22:03:40'),(4928,'COMMANDE_SUPPLIER_ADDON_NUMBER',1,'mod_commande_fournisseur_muguet','chaine',0,'Nom du gestionnaire de numerotation des commandes fournisseur','2013-03-22 09:24:29'),(4929,'INVOICE_SUPPLIER_ADDON_NUMBER',1,'mod_facture_fournisseur_cactus','chaine',0,'Nom du gestionnaire de numerotation des factures fournisseur','2013-03-22 09:24:29'),(5001,'MAIN_CRON_KEY',0,'bc54582fe30d5d4a830c6f582ec28810','chaine',0,'','2013-03-23 17:54:53'),(5009,'CRON_KEY',0,'2c2e755c20be2014098f629865598006','chaine',0,'','2013-03-23 18:06:24'),(5075,'MAIN_MENU_STANDARD',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5076,'MAIN_MENU_SMARTPHONE',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5077,'MAIN_MENUFRONT_STANDARD',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5078,'MAIN_MENUFRONT_SMARTPHONE',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5139,'SOCIETE_ADD_REF_IN_LIST',1,'','yesno',0,'Display customer ref into select list','2013-09-08 23:06:08'),(5150,'PROJECT_TASK_ADDON_PDF',1,'','chaine',0,'Name of PDF/ODT tasks manager class','2013-09-08 23:06:14'),(5151,'PROJECT_TASK_ADDON',1,'mod_task_simple','chaine',0,'Name of Numbering Rule task manager class','2013-09-08 23:06:14'),(5152,'PROJECT_TASK_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/tasks','chaine',0,'','2013-09-08 23:06:14'),(5195,'GOOGLE_DUPLICATE_INTO_THIRDPARTIES',1,'1','chaine',0,'','2013-11-07 00:02:34'),(5196,'GOOGLE_DUPLICATE_INTO_CONTACTS',1,'0','chaine',0,'','2013-11-07 00:02:34'),(5197,'GOOGLE_DUPLICATE_INTO_MEMBERS',1,'0','chaine',0,'','2013-11-07 00:02:34'),(5198,'GOOGLE_CONTACT_LOGIN',1,'eldy10@mail.com','chaine',0,'','2013-11-07 00:02:34'),(5199,'GOOGLE_CONTACT_PASSWORD',1,'bidonge','chaine',0,'','2013-11-07 00:02:34'),(5200,'GOOGLE_TAG_PREFIX',1,'Dolibarr (Thirdparties)','chaine',0,'','2013-11-07 00:02:34'),(5201,'GOOGLE_TAG_PREFIX_CONTACTS',1,'Dolibarr (Contacts/Addresses)','chaine',0,'','2013-11-07 00:02:34'),(5202,'GOOGLE_TAG_PREFIX_MEMBERS',1,'Dolibarr (Members)','chaine',0,'','2013-11-07 00:02:34'),(5239,'BOOKMARKS_SHOW_IN_MENU',1,'10','chaine',0,'','2014-03-02 15:42:26'),(5271,'DONATION_ART200',1,'','yesno',0,'Option Française - Eligibilité Art200 du CGI','2014-12-21 12:51:28'),(5272,'DONATION_ART238',1,'','yesno',0,'Option Française - Eligibilité Art238 bis du CGI','2014-12-21 12:51:28'),(5273,'DONATION_ART885',1,'','yesno',0,'Option Française - Eligibilité Art885-0 V bis du CGI','2014-12-21 12:51:28'),(5274,'DONATION_MESSAGE',1,'Thank you','chaine',0,'Message affiché sur le récépissé de versements ou dons','2014-12-21 12:51:28'),(5288,'DONATION_ACCOUNTINGACCOUNT',1,'7581','chaine',0,'Compte comptable de remise des versements ou dons','2015-07-19 13:41:21'),(5317,'INVOICE_CAN_ALWAYS_BE_REMOVED',1,'1','chaine',1,'','2015-10-03 09:25:30'),(5338,'MAIN_LANG_DEFAULT',1,'en_US','chaine',0,'','2015-10-03 10:11:33'),(5339,'MAIN_MULTILANGS',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5340,'MAIN_SIZE_LISTE_LIMIT',1,'25','chaine',0,'','2015-10-03 10:11:33'),(5341,'MAIN_DISABLE_JAVASCRIPT',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5342,'MAIN_BUTTON_HIDE_UNAUTHORIZED',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5343,'MAIN_START_WEEK',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5344,'MAIN_DEFAULT_WORKING_DAYS',1,'1-5','chaine',0,'','2015-10-03 10:11:33'),(5345,'MAIN_DEFAULT_WORKING_HOURS',1,'9-18','chaine',0,'','2015-10-03 10:11:33'),(5346,'MAIN_SHOW_LOGO',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5347,'MAIN_FIRSTNAME_NAME_POSITION',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5348,'MAIN_THEME',1,'eldy','chaine',0,'','2015-10-03 10:11:33'),(5349,'MAIN_SEARCHFORM_CONTACT',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5350,'MAIN_SEARCHFORM_SOCIETE',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5351,'MAIN_SEARCHFORM_PRODUITSERVICE',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5352,'MAIN_SEARCHFORM_PRODUITSERVICE_SUPPLIER',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5353,'MAIN_SEARCHFORM_ADHERENT',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5354,'MAIN_SEARCHFORM_PROJECT',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5355,'MAIN_HELPCENTER_DISABLELINK',0,'1','chaine',0,'','2015-10-03 10:11:33'),(5356,'MAIN_HOME',1,'__(NoteSomeFeaturesAreDisabled)__
\r\n
\r\n__(SomeTranslationAreUncomplete)__
','chaine',0,'','2015-10-03 10:11:33'),(5357,'MAIN_HELP_DISABLELINK',0,'0','chaine',0,'','2015-10-03 10:11:33'),(5358,'MAIN_BUGTRACK_ENABLELINK',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5359,'THEME_ELDY_USE_HOVER',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5394,'FCKEDITOR_ENABLE_DETAILS',1,'1','yesno',0,'WYSIWIG for products details lines for all entities','2015-11-04 15:27:44'),(5395,'FCKEDITOR_ENABLE_USERSIGN',1,'1','yesno',0,'WYSIWIG for user signature','2015-11-04 15:27:44'),(5396,'FCKEDITOR_ENABLE_MAIL',1,'1','yesno',0,'WYSIWIG for products details lines for all entities','2015-11-04 15:27:44'),(5398,'CATEGORIE_RECURSIV_ADD',1,'','yesno',0,'Affect parent categories','2015-11-04 15:27:46'),(5403,'MAIN_MODULE_FCKEDITOR',1,'1',NULL,0,NULL,'2015-11-04 15:41:40'),(5404,'MAIN_MODULE_CATEGORIE',1,'1',NULL,0,NULL,'2015-11-04 15:41:43'),(5415,'EXPEDITION_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/shipment','chaine',0,NULL,'2015-11-15 22:38:28'),(5416,'LIVRAISON_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/delivery','chaine',0,NULL,'2015-11-15 22:38:28'),(5419,'MAIN_MODULE_CASHDESK',1,'1',NULL,0,NULL,'2015-11-15 22:38:33'),(5426,'MAIN_MODULE_PROJET',1,'1',NULL,0,NULL,'2015-11-15 22:38:44'),(5427,'PROJECT_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/projects','chaine',0,NULL,'2015-11-15 22:38:44'),(5428,'PROJECT_USE_OPPORTUNIES',1,'1','chaine',0,NULL,'2015-11-15 22:38:44'),(5430,'MAIN_MODULE_EXPORT',1,'1',NULL,0,NULL,'2015-11-15 22:38:56'),(5431,'MAIN_MODULE_IMPORT',1,'1',NULL,0,NULL,'2015-11-15 22:38:58'),(5432,'MAIN_MODULE_MAILING',1,'1',NULL,0,NULL,'2015-11-15 22:39:00'),(5434,'EXPENSEREPORT_ADDON_PDF',1,'standard','chaine',0,'Name of manager to build PDF expense reports documents','2015-11-15 22:39:05'),(5435,'MAIN_MODULE_SALARIES',1,'1',NULL,0,NULL,'2015-11-15 22:39:08'),(5436,'SALARIES_ACCOUNTING_ACCOUNT_PAYMENT',1,'421','chaine',0,NULL,'2015-11-15 22:39:08'),(5437,'SALARIES_ACCOUNTING_ACCOUNT_CHARGE',1,'641','chaine',0,NULL,'2015-11-15 22:39:08'),(5440,'MAIN_MODULE_ADHERENT',1,'1',NULL,0,NULL,'2015-11-15 22:39:17'),(5441,'ADHERENT_ETIQUETTE_TEXT',1,'%FULLNAME%\n%ADDRESS%\n%ZIP% %TOWN%\n%COUNTRY%','texte',0,'Text to print on member address sheets','2015-11-15 22:39:17'),(5442,'MAIN_MODULE_TAX',1,'1',NULL,0,NULL,'2015-11-15 22:39:22'),(5443,'MAIN_MODULE_PRELEVEMENT',1,'1',NULL,0,NULL,'2015-11-15 22:39:33'),(5449,'MAIN_MODULE_COMPTABILITE',1,'1',NULL,0,NULL,'2015-11-15 22:39:46'),(5452,'MAIN_MODULE_BANQUE',1,'1',NULL,0,NULL,'2015-11-15 22:39:46'),(5453,'MAIN_MODULE_CONTRAT',1,'1',NULL,0,NULL,'2015-11-15 22:39:52'),(5455,'MAIN_MODULE_FICHEINTER',1,'1',NULL,0,NULL,'2015-11-15 22:39:56'),(5458,'MAIN_MODULE_BOOKMARK',1,'1',NULL,0,NULL,'2015-11-15 22:40:51'),(5459,'MAIN_MODULE_PAYPAL',1,'1',NULL,0,NULL,'2015-11-15 22:41:02'),(5460,'MAIN_MODULE_MARGIN',1,'1',NULL,0,NULL,'2015-11-15 22:41:47'),(5461,'MAIN_MODULE_MARGIN_TABS_0',1,'product:+margin:Margins:margins:$user->rights->margins->liretous:/margin/tabs/productMargins.php?id=__ID__','chaine',0,NULL,'2015-11-15 22:41:47'),(5462,'MAIN_MODULE_MARGIN_TABS_1',1,'thirdparty:+margin:Margins:margins:empty($user->societe_id) && $user->rights->margins->liretous && ($object->client > 0):/margin/tabs/thirdpartyMargins.php?socid=__ID__','chaine',0,NULL,'2015-11-15 22:41:47'),(5463,'MAIN_MODULE_PROPALE',1,'1',NULL,0,NULL,'2015-11-15 22:41:47'),(5483,'GENBARCODE_BARCODETYPE_THIRDPARTY',1,'6','chaine',0,'','2016-01-16 15:49:43'),(5484,'PRODUIT_DEFAULT_BARCODE_TYPE',1,'2','chaine',0,'','2016-01-16 15:49:46'),(5539,'PRODUCT_USE_OLD_PATH_FOR_PHOTO',0,'0','chaine',1,'Use old path for products images','2016-01-22 13:34:23'),(5540,'MAIN_SOAP_DEBUG',1,'0','chaine',1,'','2016-01-22 13:34:57'),(5541,'MODULE_GOOGLE_DEBUG',1,'0','chaine',1,'','2016-01-22 13:34:57'),(5543,'MAIN_MAIL_DEBUG',1,'1','chaine',1,'','2016-01-22 13:35:24'),(5548,'MAIN_MODULE_ECM',1,'1',NULL,0,NULL,'2016-01-22 17:26:43'),(5551,'MAIN_MODULE_HOLIDAY',1,'1',NULL,0,NULL,'2016-01-22 17:26:43'),(5552,'MAIN_MODULE_HOLIDAY_TABS_0',1,'user:+paidholidays:CPTitreMenu:holiday:$user->rights->holiday->read:/holiday/list.php?mainmenu=holiday&id=__ID__','chaine',0,NULL,'2016-01-22 17:26:43'),(5555,'MAIN_MODULE_SERVICE',1,'1',NULL,0,NULL,'2016-01-22 17:26:43'),(5560,'MAILING_LIMIT_SENDBYWEB',0,'25','chaine',1,'Number of targets to defined packet size when sending mass email','2016-01-22 17:28:18'),(5561,'SYSLOG_HANDLERS',0,'[\"mod_syslog_file\"]','chaine',0,'Which logger to use','2016-01-22 17:28:18'),(5562,'SYSLOG_FILE',0,'DOL_DATA_ROOT/dolibarr.log','chaine',0,'Directory where to write log file','2016-01-22 17:28:18'),(5568,'MAIN_MAIL_EMAIL_FROM',1,'robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2016-01-22 17:28:18'),(5586,'MAIN_DELAY_EXPENSEREPORTS_TO_PAY',1,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur les notes de frais impayées','2016-01-22 17:28:18'),(5587,'MAIN_FIX_FOR_BUGGED_MTA',1,'1','chaine',1,'Set constant to fix email ending from PHP with some linux ike system','2016-01-22 17:28:18'),(5589,'MAIN_MODULE_USER',0,'1',NULL,0,NULL,'2016-01-22 17:28:42'),(5590,'MAIN_VERSION_LAST_INSTALL',0,'3.8.3','chaine',0,'Dolibarr version when install','2016-01-22 17:28:42'),(5604,'MAIN_INFO_SOCIETE_LOGO',1,'mybigcompany.png','chaine',0,'','2016-01-22 17:33:49'),(5605,'MAIN_INFO_SOCIETE_LOGO_SMALL',1,'mybigcompany_small.png','chaine',0,'','2016-01-22 17:33:49'),(5606,'MAIN_INFO_SOCIETE_LOGO_MINI',1,'mybigcompany_mini.png','chaine',0,'','2016-01-22 17:33:49'),(5612,'MAIN_ENABLE_LOG_TO_HTML',0,'0','chaine',1,'If this option is set to 1, it is possible to see log output at end of HTML sources by adding paramater logtohtml=1 on URL','2016-03-13 10:54:45'),(5614,'MAIN_SIZE_SHORTLISTE_LIMIT',1,'4','chaine',0,'Longueur maximum des listes courtes (fiche client)','2016-03-13 10:54:46'),(5622,'MAIN_MODULE_BARCODE',1,'1',NULL,0,NULL,'2016-07-30 11:12:59'),(5623,'MAIN_MODULE_FACTURE',1,'1',NULL,0,NULL,'2016-07-30 11:12:59'),(5624,'MAIN_VERSION_LAST_UPGRADE',0,'4.0.0-rc2','chaine',0,'Dolibarr version for last upgrade','2016-07-30 11:13:02'),(5626,'MAIN_MODULE_SUPPLIERPROPOSAL',1,'1',NULL,0,NULL,'2016-07-30 11:13:20'),(5627,'SUPPLIER_PROPOSAL_ADDON_PDF',1,'aurore','chaine',0,'Name of submodule to generate PDF for supplier quotation request','2016-07-30 11:13:20'),(5628,'SUPPLIER_PROPOSAL_ADDON',1,'mod_supplier_proposal_marbre','chaine',0,'Name of submodule to number supplier quotation request','2016-07-30 11:13:20'),(5629,'SUPPLIER_PROPOSAL_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/supplier_proposal','chaine',0,NULL,'2016-07-30 11:13:20'),(5632,'MAIN_MODULE_RESOURCE',1,'1',NULL,0,NULL,'2016-07-30 11:13:32'),(5633,'MAIN_MODULE_API',1,'1',NULL,0,NULL,'2016-07-30 11:13:54'),(5634,'MAIN_MODULE_WEBSERVICES',1,'1',NULL,0,NULL,'2016-07-30 11:13:56'),(5635,'WEBSERVICES_KEY',1,'dolibarrkey','chaine',0,'','2016-07-30 11:14:04'),(5636,'MAIN_MODULE_CRON',1,'1',NULL,0,NULL,'2016-07-30 11:14:25'),(5637,'MAIN_MODULE_SYSLOG',0,'1',NULL,0,NULL,'2016-07-30 11:14:27'),(5638,'MAIN_MODULE_EXTERNALRSS',1,'1',NULL,0,NULL,'2016-07-30 11:15:04'),(5639,'EXTERNAL_RSS_TITLE_1',1,'Dolibarr.org News','chaine',0,'','2016-07-30 11:15:25'),(5640,'EXTERNAL_RSS_URLRSS_1',1,'https://www.dolibarr.org/rss','chaine',0,'','2016-07-30 11:15:25'),(5641,'MAIN_MODULE_DON',1,'1',NULL,0,NULL,'2016-07-30 11:16:22'),(5642,'SOCIETE_CODECOMPTA_ADDON',1,'mod_codecompta_aquarium','chaine',0,'','2016-07-30 11:16:42'),(5680,'MAIN_INFO_SOCIETE_COUNTRY',1,'14:CA:Canada','chaine',0,'','2016-07-30 11:19:05'),(5681,'MAIN_INFO_SOCIETE_NOM',1,'MyBigCompany','chaine',0,'','2016-07-30 11:19:05'),(5682,'MAIN_INFO_SOCIETE_ADDRESS',1,'21 Jump street','chaine',0,'','2016-07-30 11:19:05'),(5683,'MAIN_INFO_SOCIETE_TOWN',1,'MyTown','chaine',0,'','2016-07-30 11:19:05'),(5684,'MAIN_INFO_SOCIETE_ZIP',1,'75500','chaine',0,'','2016-07-30 11:19:05'),(5685,'MAIN_INFO_SOCIETE_STATE',1,'1514','chaine',0,'','2016-07-30 11:19:05'),(5686,'MAIN_MONNAIE',1,'EUR','chaine',0,'','2016-07-30 11:19:05'),(5687,'MAIN_INFO_SOCIETE_TEL',1,'09123123','chaine',0,'','2016-07-30 11:19:05'),(5688,'MAIN_INFO_SOCIETE_FAX',1,'09123124','chaine',0,'','2016-07-30 11:19:05'),(5689,'MAIN_INFO_SOCIETE_MAIL',1,'myemail@mybigcompany.com','chaine',0,'','2016-07-30 11:19:05'),(5690,'MAIN_INFO_SOCIETE_WEB',1,'http://www.dolibarr.org','chaine',0,'','2016-07-30 11:19:05'),(5691,'MAIN_INFO_SOCIETE_NOTE',1,'This is note about my company','chaine',0,'','2016-07-30 11:19:05'),(5692,'MAIN_INFO_SOCIETE_GENCOD',1,'1234567890','chaine',0,'','2016-07-30 11:19:05'),(5693,'MAIN_INFO_SOCIETE_MANAGERS',1,'Zack Zeceo','chaine',0,'','2016-07-30 11:19:05'),(5694,'MAIN_INFO_CAPITAL',1,'10000','chaine',0,'','2016-07-30 11:19:05'),(5695,'MAIN_INFO_SOCIETE_FORME_JURIDIQUE',1,'0','chaine',0,'','2016-07-30 11:19:05'),(5696,'MAIN_INFO_SIREN',1,'123456','chaine',0,'','2016-07-30 11:19:05'),(5697,'MAIN_INFO_TVAINTRA',1,'FR1234567','chaine',0,'','2016-07-30 11:19:05'),(5698,'MAIN_INFO_SOCIETE_OBJECT',1,'A company demo to show how Dolibarr ERP CRM is wonderfull','chaine',0,'','2016-07-30 11:19:05'),(5699,'SOCIETE_FISCAL_MONTH_START',1,'1','chaine',0,'','2016-07-30 11:19:05'),(5700,'FACTURE_TVAOPTION',1,'1','chaine',0,'','2016-07-30 11:19:05'),(5701,'FACTURE_LOCAL_TAX1_OPTION',1,'localtax1on','chaine',0,'','2016-07-30 11:19:05'),(5702,'MAIN_INFO_VALUE_LOCALTAX1',1,'0','chaine',0,'','2016-07-30 11:19:05'),(5703,'MAIN_INFO_LOCALTAX_CALC1',1,'0','chaine',0,'','2016-07-30 11:19:05'),(5704,'PROJECT_USE_OPPORTUNITIES',1,'1','chaine',0,'','2016-07-30 11:19:17'),(5707,'CASHDESK_NO_DECREASE_STOCK',1,'1','chaine',0,'','2016-07-30 13:38:11'),(5708,'MAIN_MODULE_PRODUCTBATCH',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5710,'MAIN_MODULE_STOCK',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5711,'MAIN_MODULE_PRODUCT',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5712,'MAIN_MODULE_EXPEDITION',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5713,'MAIN_MODULE_COMMANDE',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5715,'MAIN_MODULE_FOURNISSEUR',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5716,'MAIN_MODULE_SOCIETE',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5765,'MAIN_MODULE_AGENDA',1,'1',NULL,0,NULL,'2016-07-30 15:42:32'),(5766,'MAIN_AGENDA_ACTIONAUTO_COMPANY_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5767,'MAIN_AGENDA_ACTIONAUTO_COMPANY_CREATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5768,'MAIN_AGENDA_ACTIONAUTO_PROPAL_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5769,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLOSE_SIGNED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5770,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLOSE_REFUSED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5771,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5772,'MAIN_AGENDA_ACTIONAUTO_PROPAL_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5773,'MAIN_AGENDA_ACTIONAUTO_ORDER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5774,'MAIN_AGENDA_ACTIONAUTO_ORDER_CLOSE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5775,'MAIN_AGENDA_ACTIONAUTO_ORDER_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5776,'MAIN_AGENDA_ACTIONAUTO_ORDER_CANCEL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5777,'MAIN_AGENDA_ACTIONAUTO_ORDER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5778,'MAIN_AGENDA_ACTIONAUTO_BILL_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5779,'MAIN_AGENDA_ACTIONAUTO_BILL_PAYED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5780,'MAIN_AGENDA_ACTIONAUTO_BILL_CANCEL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5781,'MAIN_AGENDA_ACTIONAUTO_BILL_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5782,'MAIN_AGENDA_ACTIONAUTO_BILL_UNVALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5783,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5784,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_APPROVE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5785,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_SUBMIT',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5786,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_RECEIVE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5787,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_REFUSE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5788,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5789,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5790,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5791,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_UNVALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5792,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_PAYED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5793,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5794,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_CANCELED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5795,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5796,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5797,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5798,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_CLASSIFY_UNBILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5799,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_REOPEN',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5800,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5801,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5802,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5803,'MAIN_AGENDA_ACTIONAUTO_MEMBER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5804,'MAIN_AGENDA_ACTIONAUTO_MEMBER_SUBSCRIPTION',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5805,'MAIN_AGENDA_ACTIONAUTO_MEMBER_RESILIATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5806,'MAIN_AGENDA_ACTIONAUTO_MEMBER_MODIFY',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5807,'MAIN_AGENDA_ACTIONAUTO_MEMBER_DELETE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5808,'MARGIN_TYPE',1,'costprice','chaine',0,'','2016-07-30 16:32:18'),(5809,'DISPLAY_MARGIN_RATES',1,'1','chaine',0,'','2016-07-30 16:32:20'),(5810,'MAIN_FEATURES_LEVEL',0,'0','chaine',1,'Level of features to show (0=stable only, 1=stable+experimental, 2=stable+experimental+development','2016-07-30 18:36:15'),(5812,'MAIN_MODULE_OPENSURVEY',1,'1',NULL,0,NULL,'2016-07-30 19:04:07'),(5813,'USER_PASSWORD_PATTERN',1,'8;1;1;1;3;1','chaine',0,'','2016-07-31 16:04:58'),(5814,'MAIN_MODULE_EXPENSEREPORT',1,'1',NULL,0,NULL,'2016-07-31 21:14:32'); /*!40000 ALTER TABLE `llx_const` ENABLE KEYS */; UNLOCK TABLES; @@ -3413,7 +3413,7 @@ CREATE TABLE `llx_document_model` ( `description` text, PRIMARY KEY (`rowid`), UNIQUE KEY `uk_document_model` (`nom`,`type`,`entity`) -) ENGINE=InnoDB AUTO_INCREMENT=278 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=279 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -3422,7 +3422,7 @@ CREATE TABLE `llx_document_model` ( LOCK TABLES `llx_document_model` WRITE; /*!40000 ALTER TABLE `llx_document_model` DISABLE KEYS */; -INSERT INTO `llx_document_model` VALUES (9,'merou',1,'shipping',NULL,NULL),(15,'fsfe.fr.php',1,'donation',NULL,NULL),(181,'generic_invoice_odt',1,'invoice','ODT templates','FACTURE_ADDON_PDF_ODT_PATH'),(193,'canelle2',1,'invoice_supplier','canelle2',NULL),(195,'canelle',1,'invoice_supplier','canelle',NULL),(198,'azur',2,'propal',NULL,NULL),(199,'html_cerfafr',2,'donation',NULL,NULL),(200,'crabe',2,'invoice',NULL,NULL),(201,'generic_odt',1,'company','ODT templates','COMPANY_ADDON_PDF_ODT_PATH'),(250,'baleine',1,'project',NULL,NULL),(251,'standard',1,'deplacement',NULL,NULL),(255,'soleil',1,'ficheinter',NULL,NULL),(256,'azur',1,'propal',NULL,NULL),(269,'crabe',1,'invoice',NULL,NULL),(270,'aurore',1,'supplier_proposal',NULL,NULL),(272,'html_cerfafr',1,'donation',NULL,NULL),(273,'beluga',1,'project','beluga',NULL),(274,'rouget',1,'shipping',NULL,NULL),(275,'typhon',1,'delivery',NULL,NULL),(276,'einstein',1,'order',NULL,NULL),(277,'muscadet',1,'order_supplier',NULL,NULL); +INSERT INTO `llx_document_model` VALUES (9,'merou',1,'shipping',NULL,NULL),(15,'fsfe.fr.php',1,'donation',NULL,NULL),(181,'generic_invoice_odt',1,'invoice','ODT templates','FACTURE_ADDON_PDF_ODT_PATH'),(193,'canelle2',1,'invoice_supplier','canelle2',NULL),(195,'canelle',1,'invoice_supplier','canelle',NULL),(198,'azur',2,'propal',NULL,NULL),(199,'html_cerfafr',2,'donation',NULL,NULL),(200,'crabe',2,'invoice',NULL,NULL),(201,'generic_odt',1,'company','ODT templates','COMPANY_ADDON_PDF_ODT_PATH'),(250,'baleine',1,'project',NULL,NULL),(255,'soleil',1,'ficheinter',NULL,NULL),(256,'azur',1,'propal',NULL,NULL),(269,'crabe',1,'invoice',NULL,NULL),(270,'aurore',1,'supplier_proposal',NULL,NULL),(272,'html_cerfafr',1,'donation',NULL,NULL),(273,'beluga',1,'project','beluga',NULL),(274,'rouget',1,'shipping',NULL,NULL),(275,'typhon',1,'delivery',NULL,NULL),(276,'einstein',1,'order',NULL,NULL),(277,'muscadet',1,'order_supplier',NULL,NULL),(278,'standard',1,'expensereport',NULL,NULL); /*!40000 ALTER TABLE `llx_document_model` ENABLE KEYS */; UNLOCK TABLES; @@ -3641,7 +3641,7 @@ CREATE TABLE `llx_element_contact` ( KEY `fk_element_contact_fk_c_type_contact` (`fk_c_type_contact`), KEY `idx_element_contact_fk_socpeople` (`fk_socpeople`), CONSTRAINT `fk_element_contact_fk_c_type_contact` FOREIGN KEY (`fk_c_type_contact`) REFERENCES `llx_c_type_contact` (`rowid`) -) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -3650,7 +3650,7 @@ CREATE TABLE `llx_element_contact` ( LOCK TABLES `llx_element_contact` WRITE; /*!40000 ALTER TABLE `llx_element_contact` DISABLE KEYS */; -INSERT INTO `llx_element_contact` VALUES (1,'2010-07-09 00:49:43',4,1,160,1),(2,'2010-07-09 00:49:56',4,2,160,1),(3,'2010-07-09 00:50:19',4,3,160,1),(4,'2010-07-09 00:50:42',4,4,160,1),(5,'2010-07-09 01:52:36',4,1,120,1),(6,'2010-07-09 01:53:25',4,1,10,2),(7,'2010-07-09 01:53:25',4,1,11,2),(8,'2010-07-10 18:13:37',4,2,10,2),(9,'2010-07-10 18:13:37',4,2,11,2),(11,'2010-07-11 16:22:36',4,5,160,1),(12,'2010-07-11 16:23:53',4,2,180,1),(13,'2013-01-23 15:04:27',4,19,200,5),(14,'2013-01-23 16:06:37',4,19,210,2),(15,'2013-01-23 16:12:43',4,19,220,2),(16,'2013-03-06 10:04:57',4,3,10,1),(17,'2013-03-06 10:04:57',4,3,11,1),(18,'2014-12-21 13:52:41',4,3,180,1),(19,'2014-12-21 13:55:39',4,4,180,1),(20,'2014-12-21 14:16:58',4,5,180,1),(21,'2016-07-30 15:29:07',4,6,160,12),(22,'2016-07-30 15:29:48',4,7,160,12),(23,'2016-07-30 15:30:25',4,8,160,12),(24,'2016-07-30 15:33:27',4,6,180,12),(25,'2016-07-30 15:33:39',4,7,180,12),(26,'2016-07-30 15:33:54',4,8,180,12),(27,'2016-07-30 15:34:09',4,9,180,12); +INSERT INTO `llx_element_contact` VALUES (1,'2010-07-09 00:49:43',4,1,160,1),(2,'2010-07-09 00:49:56',4,2,160,1),(3,'2010-07-09 00:50:19',4,3,160,1),(4,'2010-07-09 00:50:42',4,4,160,1),(5,'2010-07-09 01:52:36',4,1,120,1),(6,'2010-07-09 01:53:25',4,1,10,2),(7,'2010-07-09 01:53:25',4,1,11,2),(8,'2010-07-10 18:13:37',4,2,10,2),(9,'2010-07-10 18:13:37',4,2,11,2),(11,'2010-07-11 16:22:36',4,5,160,1),(12,'2010-07-11 16:23:53',4,2,180,1),(13,'2013-01-23 15:04:27',4,19,200,5),(14,'2013-01-23 16:06:37',4,19,210,2),(15,'2013-01-23 16:12:43',4,19,220,2),(16,'2013-03-06 10:04:57',4,3,10,1),(17,'2013-03-06 10:04:57',4,3,11,1),(18,'2014-12-21 13:52:41',4,3,180,1),(19,'2014-12-21 13:55:39',4,4,180,1),(20,'2014-12-21 14:16:58',4,5,180,1),(21,'2016-07-30 15:29:07',4,6,160,12),(22,'2016-07-30 15:29:48',4,7,160,12),(23,'2016-07-30 15:30:25',4,8,160,12),(24,'2016-07-30 15:33:27',4,6,180,12),(25,'2016-07-30 15:33:39',4,7,180,12),(26,'2016-07-30 15:33:54',4,8,180,12),(27,'2016-07-30 15:34:09',4,9,180,12),(28,'2016-07-31 18:27:20',4,9,160,12); /*!40000 ALTER TABLE `llx_element_contact` ENABLE KEYS */; UNLOCK TABLES; @@ -3866,7 +3866,7 @@ CREATE TABLE `llx_events` ( `fk_object` int(11) DEFAULT NULL, PRIMARY KEY (`rowid`), KEY `idx_events_dateevent` (`dateevent`) -) ENGINE=InnoDB AUTO_INCREMENT=768 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=781 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -3875,7 +3875,7 @@ CREATE TABLE `llx_events` ( LOCK TABLES `llx_events` WRITE; /*!40000 ALTER TABLE `llx_events` DISABLE KEYS */; -INSERT INTO `llx_events` VALUES (30,'2011-07-18 18:23:06','USER_LOGOUT',1,'2011-07-18 20:23:06',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(31,'2011-07-18 18:23:12','USER_LOGIN_FAILED',1,'2011-07-18 20:23:12',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(32,'2011-07-18 18:23:17','USER_LOGIN',1,'2011-07-18 20:23:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(33,'2011-07-18 20:10:51','USER_LOGIN_FAILED',1,'2011-07-18 22:10:51',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(34,'2011-07-18 20:10:55','USER_LOGIN',1,'2011-07-18 22:10:55',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(35,'2011-07-18 21:18:57','USER_LOGIN',1,'2011-07-18 23:18:57',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(36,'2011-07-20 10:34:10','USER_LOGIN',1,'2011-07-20 12:34:10',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(37,'2011-07-20 12:36:44','USER_LOGIN',1,'2011-07-20 14:36:44',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(38,'2011-07-20 13:20:51','USER_LOGIN_FAILED',1,'2011-07-20 15:20:51',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(39,'2011-07-20 13:20:54','USER_LOGIN',1,'2011-07-20 15:20:54',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(40,'2011-07-20 15:03:46','USER_LOGIN_FAILED',1,'2011-07-20 17:03:46',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(41,'2011-07-20 15:03:55','USER_LOGIN',1,'2011-07-20 17:03:55',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(42,'2011-07-20 18:05:05','USER_LOGIN_FAILED',1,'2011-07-20 20:05:05',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(43,'2011-07-20 18:05:08','USER_LOGIN',1,'2011-07-20 20:05:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(44,'2011-07-20 21:08:53','USER_LOGIN_FAILED',1,'2011-07-20 23:08:53',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(45,'2011-07-20 21:08:56','USER_LOGIN',1,'2011-07-20 23:08:56',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(46,'2011-07-21 01:26:12','USER_LOGIN',1,'2011-07-21 03:26:12',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(47,'2011-07-21 22:35:45','USER_LOGIN_FAILED',1,'2011-07-22 00:35:45',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(48,'2011-07-21 22:35:49','USER_LOGIN',1,'2011-07-22 00:35:49',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(49,'2011-07-26 23:09:47','USER_LOGIN_FAILED',1,'2011-07-27 01:09:47',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(50,'2011-07-26 23:09:50','USER_LOGIN',1,'2011-07-27 01:09:50',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(51,'2011-07-27 17:02:27','USER_LOGIN_FAILED',1,'2011-07-27 19:02:27',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(52,'2011-07-27 17:02:32','USER_LOGIN',1,'2011-07-27 19:02:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(53,'2011-07-27 23:33:37','USER_LOGIN_FAILED',1,'2011-07-28 01:33:37',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(54,'2011-07-27 23:33:41','USER_LOGIN',1,'2011-07-28 01:33:41',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(55,'2011-07-28 18:20:36','USER_LOGIN_FAILED',1,'2011-07-28 20:20:36',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(56,'2011-07-28 18:20:38','USER_LOGIN',1,'2011-07-28 20:20:38',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(57,'2011-07-28 20:13:30','USER_LOGIN_FAILED',1,'2011-07-28 22:13:30',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(58,'2011-07-28 20:13:34','USER_LOGIN',1,'2011-07-28 22:13:34',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(59,'2011-07-28 20:22:51','USER_LOGIN',1,'2011-07-28 22:22:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(60,'2011-07-28 23:05:06','USER_LOGIN',1,'2011-07-29 01:05:06',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(61,'2011-07-29 20:15:50','USER_LOGIN_FAILED',1,'2011-07-29 22:15:50',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(62,'2011-07-29 20:15:53','USER_LOGIN',1,'2011-07-29 22:15:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(68,'2011-07-29 20:51:01','USER_LOGOUT',1,'2011-07-29 22:51:01',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(69,'2011-07-29 20:51:05','USER_LOGIN',1,'2011-07-29 22:51:05',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(70,'2011-07-30 08:46:20','USER_LOGIN_FAILED',1,'2011-07-30 10:46:20',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(71,'2011-07-30 08:46:38','USER_LOGIN_FAILED',1,'2011-07-30 10:46:38',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(72,'2011-07-30 08:46:42','USER_LOGIN',1,'2011-07-30 10:46:42',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(73,'2011-07-30 10:05:12','USER_LOGIN_FAILED',1,'2011-07-30 12:05:12',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(74,'2011-07-30 10:05:15','USER_LOGIN',1,'2011-07-30 12:05:15',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(75,'2011-07-30 12:15:46','USER_LOGIN',1,'2011-07-30 14:15:46',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(76,'2011-07-31 22:19:30','USER_LOGIN',1,'2011-08-01 00:19:30',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(77,'2011-07-31 23:32:52','USER_LOGIN',1,'2011-08-01 01:32:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(78,'2011-08-01 01:24:50','USER_LOGIN_FAILED',1,'2011-08-01 03:24:50',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(79,'2011-08-01 01:24:54','USER_LOGIN',1,'2011-08-01 03:24:54',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(80,'2011-08-01 19:31:36','USER_LOGIN_FAILED',1,'2011-08-01 21:31:35',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(81,'2011-08-01 19:31:39','USER_LOGIN',1,'2011-08-01 21:31:39',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(82,'2011-08-01 20:01:36','USER_LOGIN',1,'2011-08-01 22:01:36',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(83,'2011-08-01 20:52:54','USER_LOGIN_FAILED',1,'2011-08-01 22:52:54',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(84,'2011-08-01 20:52:58','USER_LOGIN',1,'2011-08-01 22:52:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(85,'2011-08-01 21:17:28','USER_LOGIN_FAILED',1,'2011-08-01 23:17:28',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(86,'2011-08-01 21:17:31','USER_LOGIN',1,'2011-08-01 23:17:31',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(87,'2011-08-04 11:55:17','USER_LOGIN',1,'2011-08-04 13:55:17',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(88,'2011-08-04 20:19:03','USER_LOGIN_FAILED',1,'2011-08-04 22:19:03',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(89,'2011-08-04 20:19:07','USER_LOGIN',1,'2011-08-04 22:19:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(90,'2011-08-05 17:51:42','USER_LOGIN_FAILED',1,'2011-08-05 19:51:42',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(91,'2011-08-05 17:51:47','USER_LOGIN',1,'2011-08-05 19:51:47',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(92,'2011-08-05 17:56:03','USER_LOGIN',1,'2011-08-05 19:56:03',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(93,'2011-08-05 17:59:10','USER_LOGIN',1,'2011-08-05 19:59:10',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30',NULL),(94,'2011-08-05 18:01:58','USER_LOGIN',1,'2011-08-05 20:01:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30',NULL),(95,'2011-08-05 19:59:56','USER_LOGIN',1,'2011-08-05 21:59:56',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(96,'2011-08-06 18:33:22','USER_LOGIN',1,'2011-08-06 20:33:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(97,'2011-08-07 00:56:59','USER_LOGIN',1,'2011-08-07 02:56:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(98,'2011-08-07 22:49:14','USER_LOGIN',1,'2011-08-08 00:49:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(99,'2011-08-07 23:05:18','USER_LOGOUT',1,'2011-08-08 01:05:18',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(105,'2011-08-08 00:41:09','USER_LOGIN',1,'2011-08-08 02:41:09',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(106,'2011-08-08 11:58:55','USER_LOGIN',1,'2011-08-08 13:58:55',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(107,'2011-08-08 14:35:48','USER_LOGIN',1,'2011-08-08 16:35:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(108,'2011-08-08 14:36:31','USER_LOGOUT',1,'2011-08-08 16:36:31',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(109,'2011-08-08 14:38:28','USER_LOGIN',1,'2011-08-08 16:38:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(110,'2011-08-08 14:39:02','USER_LOGOUT',1,'2011-08-08 16:39:02',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(111,'2011-08-08 14:39:10','USER_LOGIN',1,'2011-08-08 16:39:10',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(112,'2011-08-08 14:39:28','USER_LOGOUT',1,'2011-08-08 16:39:28',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(113,'2011-08-08 14:39:37','USER_LOGIN',1,'2011-08-08 16:39:37',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(114,'2011-08-08 14:50:02','USER_LOGOUT',1,'2011-08-08 16:50:02',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(115,'2011-08-08 14:51:45','USER_LOGIN_FAILED',1,'2011-08-08 16:51:45',NULL,'Identifiants login ou mot de passe incorrects - login=','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(116,'2011-08-08 14:51:52','USER_LOGIN',1,'2011-08-08 16:51:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(117,'2011-08-08 15:09:54','USER_LOGOUT',1,'2011-08-08 17:09:54',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(118,'2011-08-08 15:10:19','USER_LOGIN_FAILED',1,'2011-08-08 17:10:19',NULL,'Identifiants login ou mot de passe incorrects - login=','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(119,'2011-08-08 15:10:28','USER_LOGIN',1,'2011-08-08 17:10:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(121,'2011-08-08 15:14:58','USER_LOGOUT',1,'2011-08-08 17:14:58',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(122,'2011-08-08 15:15:00','USER_LOGIN_FAILED',1,'2011-08-08 17:15:00',NULL,'Identifiants login ou mot de passe incorrects - login=','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(123,'2011-08-08 15:17:57','USER_LOGIN',1,'2011-08-08 17:17:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(124,'2011-08-08 15:35:56','USER_LOGOUT',1,'2011-08-08 17:35:56',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(125,'2011-08-08 15:36:05','USER_LOGIN',1,'2011-08-08 17:36:05',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(126,'2011-08-08 17:32:42','USER_LOGIN',1,'2011-08-08 19:32:42',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(127,'2012-12-08 13:49:37','USER_LOGOUT',1,'2012-12-08 14:49:37',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(128,'2012-12-08 13:49:42','USER_LOGIN',1,'2012-12-08 14:49:42',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(129,'2012-12-08 13:50:12','USER_LOGOUT',1,'2012-12-08 14:50:12',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(130,'2012-12-08 13:50:14','USER_LOGIN',1,'2012-12-08 14:50:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(131,'2012-12-08 13:50:17','USER_LOGOUT',1,'2012-12-08 14:50:17',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(132,'2012-12-08 13:52:47','USER_LOGIN',1,'2012-12-08 14:52:47',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(133,'2012-12-08 13:53:08','USER_MODIFY',1,'2012-12-08 14:53:08',1,'User admin modified','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(134,'2012-12-08 14:08:45','USER_LOGOUT',1,'2012-12-08 15:08:45',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(135,'2012-12-08 14:09:09','USER_LOGIN',1,'2012-12-08 15:09:09',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(136,'2012-12-08 14:11:43','USER_LOGOUT',1,'2012-12-08 15:11:43',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(137,'2012-12-08 14:11:45','USER_LOGIN',1,'2012-12-08 15:11:45',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(138,'2012-12-08 14:22:53','USER_LOGOUT',1,'2012-12-08 15:22:53',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(139,'2012-12-08 14:22:54','USER_LOGIN',1,'2012-12-08 15:22:54',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(140,'2012-12-08 14:23:10','USER_LOGOUT',1,'2012-12-08 15:23:10',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(141,'2012-12-08 14:23:11','USER_LOGIN',1,'2012-12-08 15:23:11',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(142,'2012-12-08 14:23:49','USER_LOGOUT',1,'2012-12-08 15:23:49',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(143,'2012-12-08 14:23:50','USER_LOGIN',1,'2012-12-08 15:23:50',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(144,'2012-12-08 14:28:08','USER_LOGOUT',1,'2012-12-08 15:28:08',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(145,'2012-12-08 14:35:15','USER_LOGIN',1,'2012-12-08 15:35:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(146,'2012-12-08 14:35:18','USER_LOGOUT',1,'2012-12-08 15:35:18',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(147,'2012-12-08 14:36:07','USER_LOGIN',1,'2012-12-08 15:36:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(148,'2012-12-08 14:36:09','USER_LOGOUT',1,'2012-12-08 15:36:09',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(149,'2012-12-08 14:36:41','USER_LOGIN',1,'2012-12-08 15:36:41',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(150,'2012-12-08 15:59:13','USER_LOGIN',1,'2012-12-08 16:59:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(151,'2012-12-09 11:49:52','USER_LOGIN',1,'2012-12-09 12:49:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(152,'2012-12-09 13:46:31','USER_LOGIN',1,'2012-12-09 14:46:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(153,'2012-12-09 19:03:14','USER_LOGIN',1,'2012-12-09 20:03:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(154,'2012-12-10 00:16:31','USER_LOGIN',1,'2012-12-10 01:16:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(170,'2012-12-11 22:03:31','USER_LOGIN',1,'2012-12-11 23:03:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(171,'2012-12-12 00:32:39','USER_LOGIN',1,'2012-12-12 01:32:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(172,'2012-12-12 10:49:59','USER_LOGIN',1,'2012-12-12 11:49:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(175,'2012-12-12 10:57:40','USER_MODIFY',1,'2012-12-12 11:57:40',1,'Modification utilisateur admin','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(176,'2012-12-12 13:29:15','USER_LOGIN',1,'2012-12-12 14:29:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(177,'2012-12-12 13:30:15','USER_LOGIN',1,'2012-12-12 14:30:15',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(178,'2012-12-12 13:40:08','USER_LOGOUT',1,'2012-12-12 14:40:08',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(179,'2012-12-12 13:40:10','USER_LOGIN',1,'2012-12-12 14:40:10',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(180,'2012-12-12 13:40:26','USER_MODIFY',1,'2012-12-12 14:40:26',1,'Modification utilisateur admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(181,'2012-12-12 13:40:34','USER_LOGOUT',1,'2012-12-12 14:40:34',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(182,'2012-12-12 13:42:23','USER_LOGIN',1,'2012-12-12 14:42:23',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(183,'2012-12-12 13:43:02','USER_NEW_PASSWORD',1,'2012-12-12 14:43:02',NULL,'Changement mot de passe de admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(184,'2012-12-12 13:43:25','USER_LOGOUT',1,'2012-12-12 14:43:25',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(185,'2012-12-12 13:43:27','USER_LOGIN_FAILED',1,'2012-12-12 14:43:27',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(186,'2012-12-12 13:43:30','USER_LOGIN',1,'2012-12-12 14:43:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(187,'2012-12-12 14:52:11','USER_LOGIN',1,'2012-12-12 15:52:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(188,'2012-12-12 17:53:00','USER_LOGIN_FAILED',1,'2012-12-12 18:53:00',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(189,'2012-12-12 17:53:07','USER_LOGIN_FAILED',1,'2012-12-12 18:53:07',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(190,'2012-12-12 17:53:51','USER_NEW_PASSWORD',1,'2012-12-12 18:53:51',NULL,'Changement mot de passe de admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(191,'2012-12-12 17:54:00','USER_LOGIN',1,'2012-12-12 18:54:00',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(192,'2012-12-12 17:54:10','USER_NEW_PASSWORD',1,'2012-12-12 18:54:10',1,'Changement mot de passe de admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(193,'2012-12-12 17:54:10','USER_MODIFY',1,'2012-12-12 18:54:10',1,'Modification utilisateur admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(194,'2012-12-12 18:57:09','USER_LOGIN',1,'2012-12-12 19:57:09',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(195,'2012-12-12 23:04:08','USER_LOGIN',1,'2012-12-13 00:04:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(196,'2012-12-17 20:03:14','USER_LOGIN',1,'2012-12-17 21:03:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(197,'2012-12-17 21:18:45','USER_LOGIN',1,'2012-12-17 22:18:45',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(198,'2012-12-17 22:30:08','USER_LOGIN',1,'2012-12-17 23:30:08',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(199,'2012-12-18 23:32:03','USER_LOGIN',1,'2012-12-19 00:32:03',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(200,'2012-12-19 09:38:03','USER_LOGIN',1,'2012-12-19 10:38:03',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(201,'2012-12-19 11:23:35','USER_LOGIN',1,'2012-12-19 12:23:35',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(202,'2012-12-19 12:46:22','USER_LOGIN',1,'2012-12-19 13:46:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(214,'2012-12-19 19:11:31','USER_LOGIN',1,'2012-12-19 20:11:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(215,'2012-12-21 16:36:57','USER_LOGIN',1,'2012-12-21 17:36:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(216,'2012-12-21 16:38:43','USER_NEW_PASSWORD',1,'2012-12-21 17:38:43',1,'Changement mot de passe de adupont','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(217,'2012-12-21 16:38:43','USER_MODIFY',1,'2012-12-21 17:38:43',1,'Modification utilisateur adupont','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(218,'2012-12-21 16:38:51','USER_LOGOUT',1,'2012-12-21 17:38:51',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(219,'2012-12-21 16:38:55','USER_LOGIN',1,'2012-12-21 17:38:55',3,'(UserLogged,adupont)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(220,'2012-12-21 16:48:18','USER_LOGOUT',1,'2012-12-21 17:48:18',3,'(UserLogoff,adupont)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(221,'2012-12-21 16:48:20','USER_LOGIN',1,'2012-12-21 17:48:20',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(222,'2012-12-26 18:28:18','USER_LOGIN',1,'2012-12-26 19:28:18',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(223,'2012-12-26 20:00:24','USER_LOGIN',1,'2012-12-26 21:00:24',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(224,'2012-12-27 01:10:27','USER_LOGIN',1,'2012-12-27 02:10:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(225,'2012-12-28 19:12:08','USER_LOGIN',1,'2012-12-28 20:12:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(226,'2012-12-28 20:16:58','USER_LOGIN',1,'2012-12-28 21:16:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(227,'2012-12-29 14:35:46','USER_LOGIN',1,'2012-12-29 15:35:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(228,'2012-12-29 14:37:59','USER_LOGOUT',1,'2012-12-29 15:37:59',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(229,'2012-12-29 14:38:00','USER_LOGIN',1,'2012-12-29 15:38:00',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(230,'2012-12-29 17:16:48','USER_LOGIN',1,'2012-12-29 18:16:48',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(231,'2012-12-31 12:02:59','USER_LOGIN',1,'2012-12-31 13:02:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(232,'2013-01-02 20:32:51','USER_LOGIN',1,'2013-01-02 21:32:51',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:17.0) Gecko/20100101 Firefox/17.0',NULL),(233,'2013-01-02 20:58:59','USER_LOGIN',1,'2013-01-02 21:58:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(234,'2013-01-03 09:25:07','USER_LOGIN',1,'2013-01-03 10:25:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(235,'2013-01-03 19:39:31','USER_LOGIN',1,'2013-01-03 20:39:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(236,'2013-01-04 22:40:19','USER_LOGIN',1,'2013-01-04 23:40:19',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(237,'2013-01-05 12:59:59','USER_LOGIN',1,'2013-01-05 13:59:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(238,'2013-01-05 15:28:52','USER_LOGIN',1,'2013-01-05 16:28:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(239,'2013-01-05 17:02:08','USER_LOGIN',1,'2013-01-05 18:02:08',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(240,'2013-01-06 12:13:33','USER_LOGIN',1,'2013-01-06 13:13:33',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(241,'2013-01-07 01:21:15','USER_LOGIN',1,'2013-01-07 02:21:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(242,'2013-01-07 01:46:31','USER_LOGOUT',1,'2013-01-07 02:46:31',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(243,'2013-01-07 19:54:50','USER_LOGIN',1,'2013-01-07 20:54:50',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(244,'2013-01-08 21:55:01','USER_LOGIN',1,'2013-01-08 22:55:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(245,'2013-01-09 11:13:28','USER_LOGIN',1,'2013-01-09 12:13:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(246,'2013-01-10 18:30:46','USER_LOGIN',1,'2013-01-10 19:30:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(247,'2013-01-11 18:03:26','USER_LOGIN',1,'2013-01-11 19:03:26',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(248,'2013-01-12 11:15:04','USER_LOGIN',1,'2013-01-12 12:15:04',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(249,'2013-01-12 14:42:44','USER_LOGIN',1,'2013-01-12 15:42:44',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(250,'2013-01-13 12:07:17','USER_LOGIN',1,'2013-01-13 13:07:17',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(251,'2013-01-13 17:37:58','USER_LOGIN',1,'2013-01-13 18:37:58',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(252,'2013-01-13 19:24:21','USER_LOGIN',1,'2013-01-13 20:24:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(253,'2013-01-13 19:29:19','USER_LOGOUT',1,'2013-01-13 20:29:19',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(254,'2013-01-13 21:39:39','USER_LOGIN',1,'2013-01-13 22:39:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(255,'2013-01-14 00:52:21','USER_LOGIN',1,'2013-01-14 01:52:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(256,'2013-01-16 11:34:31','USER_LOGIN',1,'2013-01-16 12:34:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(257,'2013-01-16 15:36:21','USER_LOGIN',1,'2013-01-16 16:36:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(258,'2013-01-16 19:17:36','USER_LOGIN',1,'2013-01-16 20:17:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(259,'2013-01-16 19:48:08','GROUP_CREATE',1,'2013-01-16 20:48:08',1,'Création groupe ggg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(260,'2013-01-16 21:48:53','USER_LOGIN',1,'2013-01-16 22:48:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(261,'2013-01-17 19:55:53','USER_LOGIN',1,'2013-01-17 20:55:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(262,'2013-01-18 09:48:01','USER_LOGIN',1,'2013-01-18 10:48:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(263,'2013-01-18 13:22:36','USER_LOGIN',1,'2013-01-18 14:22:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(264,'2013-01-18 16:10:23','USER_LOGIN',1,'2013-01-18 17:10:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(265,'2013-01-18 17:41:40','USER_LOGIN',1,'2013-01-18 18:41:40',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(266,'2013-01-19 14:33:48','USER_LOGIN',1,'2013-01-19 15:33:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(267,'2013-01-19 16:47:43','USER_LOGIN',1,'2013-01-19 17:47:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(268,'2013-01-19 16:59:43','USER_LOGIN',1,'2013-01-19 17:59:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(269,'2013-01-19 17:00:22','USER_LOGIN',1,'2013-01-19 18:00:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(270,'2013-01-19 17:04:16','USER_LOGOUT',1,'2013-01-19 18:04:16',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(271,'2013-01-19 17:04:18','USER_LOGIN',1,'2013-01-19 18:04:18',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(272,'2013-01-20 00:34:19','USER_LOGIN',1,'2013-01-20 01:34:19',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(273,'2013-01-21 11:54:17','USER_LOGIN',1,'2013-01-21 12:54:17',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(274,'2013-01-21 13:48:15','USER_LOGIN',1,'2013-01-21 14:48:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(275,'2013-01-21 14:30:22','USER_LOGIN',1,'2013-01-21 15:30:22',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(276,'2013-01-21 15:10:46','USER_LOGIN',1,'2013-01-21 16:10:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(277,'2013-01-21 17:27:43','USER_LOGIN',1,'2013-01-21 18:27:43',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(278,'2013-01-21 21:48:15','USER_LOGIN',1,'2013-01-21 22:48:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(279,'2013-01-21 21:50:42','USER_LOGIN',1,'2013-01-21 22:50:42',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(280,'2013-01-23 09:28:26','USER_LOGIN',1,'2013-01-23 10:28:26',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(281,'2013-01-23 13:21:57','USER_LOGIN',1,'2013-01-23 14:21:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(282,'2013-01-23 16:52:00','USER_LOGOUT',1,'2013-01-23 17:52:00',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(283,'2013-01-23 16:52:05','USER_LOGIN_FAILED',1,'2013-01-23 17:52:05',NULL,'Bad value for login or password - login=bbb','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(284,'2013-01-23 16:52:09','USER_LOGIN',1,'2013-01-23 17:52:09',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(285,'2013-01-23 16:52:27','USER_CREATE',1,'2013-01-23 17:52:27',1,'Création utilisateur aaa','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(286,'2013-01-23 16:52:27','USER_NEW_PASSWORD',1,'2013-01-23 17:52:27',1,'Changement mot de passe de aaa','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(287,'2013-01-23 16:52:37','USER_CREATE',1,'2013-01-23 17:52:37',1,'Création utilisateur bbb','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(288,'2013-01-23 16:52:37','USER_NEW_PASSWORD',1,'2013-01-23 17:52:37',1,'Changement mot de passe de bbb','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(289,'2013-01-23 16:53:15','USER_LOGOUT',1,'2013-01-23 17:53:15',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(290,'2013-01-23 16:53:20','USER_LOGIN',1,'2013-01-23 17:53:20',4,'(UserLogged,aaa)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(291,'2013-01-23 19:16:58','USER_LOGIN',1,'2013-01-23 20:16:58',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(292,'2013-01-26 10:54:07','USER_LOGIN',1,'2013-01-26 11:54:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(293,'2013-01-29 10:15:36','USER_LOGIN',1,'2013-01-29 11:15:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(294,'2013-01-30 17:42:50','USER_LOGIN',1,'2013-01-30 18:42:50',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(295,'2013-02-01 08:49:55','USER_LOGIN',1,'2013-02-01 09:49:55',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(296,'2013-02-01 08:51:57','USER_LOGOUT',1,'2013-02-01 09:51:57',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(297,'2013-02-01 08:52:39','USER_LOGIN',1,'2013-02-01 09:52:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(298,'2013-02-01 21:03:01','USER_LOGIN',1,'2013-02-01 22:03:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(299,'2013-02-10 19:48:39','USER_LOGIN',1,'2013-02-10 20:48:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(300,'2013-02-10 20:46:48','USER_LOGIN',1,'2013-02-10 21:46:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(301,'2013-02-10 21:39:23','USER_LOGIN',1,'2013-02-10 22:39:23',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(302,'2013-02-11 19:00:13','USER_LOGIN',1,'2013-02-11 20:00:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(303,'2013-02-11 19:43:44','USER_LOGIN_FAILED',1,'2013-02-11 20:43:44',NULL,'Unknown column \'u.fk_user\' in \'field list\'','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(304,'2013-02-11 19:44:01','USER_LOGIN',1,'2013-02-11 20:44:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(305,'2013-02-12 00:27:35','USER_LOGIN',1,'2013-02-12 01:27:35',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(306,'2013-02-12 00:27:38','USER_LOGOUT',1,'2013-02-12 01:27:38',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(307,'2013-02-12 00:28:07','USER_LOGIN',1,'2013-02-12 01:28:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(308,'2013-02-12 00:28:09','USER_LOGOUT',1,'2013-02-12 01:28:09',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(309,'2013-02-12 00:28:26','USER_LOGIN',1,'2013-02-12 01:28:26',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(310,'2013-02-12 00:28:30','USER_LOGOUT',1,'2013-02-12 01:28:30',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(311,'2013-02-12 12:42:15','USER_LOGIN',1,'2013-02-12 13:42:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(312,'2013-02-12 13:46:16','USER_LOGIN',1,'2013-02-12 14:46:16',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(313,'2013-02-12 14:54:28','USER_LOGIN',1,'2013-02-12 15:54:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(314,'2013-02-12 16:04:46','USER_LOGIN',1,'2013-02-12 17:04:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(315,'2013-02-13 14:02:43','USER_LOGIN',1,'2013-02-13 15:02:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(316,'2013-02-13 14:48:30','USER_LOGIN',1,'2013-02-13 15:48:30',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(317,'2013-02-13 17:44:53','USER_LOGIN',1,'2013-02-13 18:44:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(318,'2013-02-15 08:44:36','USER_LOGIN',1,'2013-02-15 09:44:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(319,'2013-02-15 08:53:20','USER_LOGIN',1,'2013-02-15 09:53:20',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(320,'2013-02-16 19:10:28','USER_LOGIN',1,'2013-02-16 20:10:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(321,'2013-02-16 19:22:40','USER_CREATE',1,'2013-02-16 20:22:40',1,'Création utilisateur aaab','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(322,'2013-02-16 19:22:40','USER_NEW_PASSWORD',1,'2013-02-16 20:22:40',1,'Changement mot de passe de aaab','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(323,'2013-02-16 19:48:15','USER_CREATE',1,'2013-02-16 20:48:15',1,'Création utilisateur zzz','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(324,'2013-02-16 19:48:15','USER_NEW_PASSWORD',1,'2013-02-16 20:48:15',1,'Changement mot de passe de zzz','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(325,'2013-02-16 19:50:08','USER_CREATE',1,'2013-02-16 20:50:08',1,'Création utilisateur zzzg','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(326,'2013-02-16 19:50:08','USER_NEW_PASSWORD',1,'2013-02-16 20:50:08',1,'Changement mot de passe de zzzg','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(327,'2013-02-16 21:20:03','USER_LOGIN',1,'2013-02-16 22:20:03',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(328,'2013-02-17 14:30:51','USER_LOGIN',1,'2013-02-17 15:30:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(329,'2013-02-17 17:21:22','USER_LOGIN',1,'2013-02-17 18:21:22',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(330,'2013-02-17 17:48:43','USER_MODIFY',1,'2013-02-17 18:48:43',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(331,'2013-02-17 17:48:47','USER_MODIFY',1,'2013-02-17 18:48:47',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(332,'2013-02-17 17:48:51','USER_MODIFY',1,'2013-02-17 18:48:51',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(333,'2013-02-17 17:48:56','USER_MODIFY',1,'2013-02-17 18:48:56',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(334,'2013-02-18 22:00:01','USER_LOGIN',1,'2013-02-18 23:00:01',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(335,'2013-02-19 08:19:52','USER_LOGIN',1,'2013-02-19 09:19:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(336,'2013-02-19 22:00:52','USER_LOGIN',1,'2013-02-19 23:00:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(337,'2013-02-20 09:34:52','USER_LOGIN',1,'2013-02-20 10:34:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(338,'2013-02-20 13:12:28','USER_LOGIN',1,'2013-02-20 14:12:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(339,'2013-02-20 17:19:44','USER_LOGIN',1,'2013-02-20 18:19:44',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(340,'2013-02-20 19:07:21','USER_MODIFY',1,'2013-02-20 20:07:21',1,'Modification utilisateur adupont','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(341,'2013-02-20 19:47:17','USER_LOGIN',1,'2013-02-20 20:47:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(342,'2013-02-20 19:48:01','USER_MODIFY',1,'2013-02-20 20:48:01',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(343,'2013-02-21 08:27:07','USER_LOGIN',1,'2013-02-21 09:27:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(344,'2013-02-23 13:34:13','USER_LOGIN',1,'2013-02-23 14:34:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(345,'2013-02-24 01:06:41','USER_LOGIN_FAILED',1,'2013-02-24 02:06:41',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(346,'2013-02-24 01:06:45','USER_LOGIN_FAILED',1,'2013-02-24 02:06:45',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(347,'2013-02-24 01:06:55','USER_LOGIN_FAILED',1,'2013-02-24 02:06:55',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(348,'2013-02-24 01:07:03','USER_LOGIN_FAILED',1,'2013-02-24 02:07:03',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(349,'2013-02-24 01:07:21','USER_LOGIN_FAILED',1,'2013-02-24 02:07:21',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(350,'2013-02-24 01:08:12','USER_LOGIN_FAILED',1,'2013-02-24 02:08:12',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(351,'2013-02-24 01:08:42','USER_LOGIN_FAILED',1,'2013-02-24 02:08:42',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(352,'2013-02-24 01:08:50','USER_LOGIN_FAILED',1,'2013-02-24 02:08:50',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(353,'2013-02-24 01:09:08','USER_LOGIN_FAILED',1,'2013-02-24 02:09:08',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(354,'2013-02-24 01:09:42','USER_LOGIN_FAILED',1,'2013-02-24 02:09:42',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(355,'2013-02-24 01:09:50','USER_LOGIN_FAILED',1,'2013-02-24 02:09:50',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(356,'2013-02-24 01:10:05','USER_LOGIN_FAILED',1,'2013-02-24 02:10:05',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(357,'2013-02-24 01:10:22','USER_LOGIN_FAILED',1,'2013-02-24 02:10:22',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(358,'2013-02-24 01:10:30','USER_LOGIN_FAILED',1,'2013-02-24 02:10:30',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(359,'2013-02-24 01:10:56','USER_LOGIN_FAILED',1,'2013-02-24 02:10:56',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(360,'2013-02-24 01:11:26','USER_LOGIN_FAILED',1,'2013-02-24 02:11:26',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(361,'2013-02-24 01:12:06','USER_LOGIN_FAILED',1,'2013-02-24 02:12:06',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(362,'2013-02-24 01:21:14','USER_LOGIN_FAILED',1,'2013-02-24 02:21:14',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(363,'2013-02-24 01:21:25','USER_LOGIN_FAILED',1,'2013-02-24 02:21:25',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(364,'2013-02-24 01:21:54','USER_LOGIN_FAILED',1,'2013-02-24 02:21:54',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(365,'2013-02-24 01:22:14','USER_LOGIN_FAILED',1,'2013-02-24 02:22:14',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(366,'2013-02-24 01:22:37','USER_LOGIN_FAILED',1,'2013-02-24 02:22:37',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(367,'2013-02-24 01:23:01','USER_LOGIN_FAILED',1,'2013-02-24 02:23:01',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(368,'2013-02-24 01:23:39','USER_LOGIN_FAILED',1,'2013-02-24 02:23:39',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(369,'2013-02-24 01:24:04','USER_LOGIN_FAILED',1,'2013-02-24 02:24:04',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(370,'2013-02-24 01:24:39','USER_LOGIN_FAILED',1,'2013-02-24 02:24:39',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(371,'2013-02-24 01:25:01','USER_LOGIN_FAILED',1,'2013-02-24 02:25:01',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(372,'2013-02-24 01:25:12','USER_LOGIN_FAILED',1,'2013-02-24 02:25:12',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(373,'2013-02-24 01:27:30','USER_LOGIN_FAILED',1,'2013-02-24 02:27:30',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(374,'2013-02-24 01:28:00','USER_LOGIN_FAILED',1,'2013-02-24 02:28:00',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(375,'2013-02-24 01:28:35','USER_LOGIN_FAILED',1,'2013-02-24 02:28:35',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(376,'2013-02-24 01:29:03','USER_LOGIN_FAILED',1,'2013-02-24 02:29:03',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(377,'2013-02-24 01:29:55','USER_LOGIN_FAILED',1,'2013-02-24 02:29:55',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(378,'2013-02-24 01:32:40','USER_LOGIN_FAILED',1,'2013-02-24 02:32:40',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(379,'2013-02-24 01:39:33','USER_LOGIN_FAILED',1,'2013-02-24 02:39:33',NULL,'Identifiants login ou mot de passe incorrects - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(380,'2013-02-24 01:39:38','USER_LOGIN_FAILED',1,'2013-02-24 02:39:38',NULL,'Identifiants login ou mot de passe incorrects - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(381,'2013-02-24 01:39:47','USER_LOGIN_FAILED',1,'2013-02-24 02:39:47',NULL,'Identifiants login ou mot de passe incorrects - login=lmkm','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(382,'2013-02-24 01:40:54','USER_LOGIN_FAILED',1,'2013-02-24 02:40:54',NULL,'Identifiants login ou mot de passe incorrects - login=lmkm','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(383,'2013-02-24 01:47:57','USER_LOGIN_FAILED',1,'2013-02-24 02:47:57',NULL,'Identifiants login ou mot de passe incorrects - login=lmkm','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(384,'2013-02-24 01:48:05','USER_LOGIN_FAILED',1,'2013-02-24 02:48:05',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(385,'2013-02-24 01:48:07','USER_LOGIN_FAILED',1,'2013-02-24 02:48:07',NULL,'Unknown column \'u.lastname\' in \'field list\'','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(386,'2013-02-24 01:48:35','USER_LOGIN',1,'2013-02-24 02:48:35',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(387,'2013-02-24 01:56:32','USER_LOGIN',1,'2013-02-24 02:56:32',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',NULL),(388,'2013-02-24 02:05:55','USER_LOGOUT',1,'2013-02-24 03:05:55',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(389,'2013-02-24 02:39:52','USER_LOGIN',1,'2013-02-24 03:39:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(390,'2013-02-24 02:51:10','USER_LOGOUT',1,'2013-02-24 03:51:10',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(391,'2013-02-24 12:46:41','USER_LOGIN',1,'2013-02-24 13:46:41',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(392,'2013-02-24 12:46:52','USER_LOGOUT',1,'2013-02-24 13:46:52',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(393,'2013-02-24 12:46:56','USER_LOGIN',1,'2013-02-24 13:46:56',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(394,'2013-02-24 12:47:56','USER_LOGOUT',1,'2013-02-24 13:47:56',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(395,'2013-02-24 12:48:00','USER_LOGIN',1,'2013-02-24 13:48:00',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(396,'2013-02-24 12:48:11','USER_LOGOUT',1,'2013-02-24 13:48:11',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(397,'2013-02-24 12:48:32','USER_LOGIN',1,'2013-02-24 13:48:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(398,'2013-02-24 12:52:22','USER_LOGOUT',1,'2013-02-24 13:52:22',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(399,'2013-02-24 12:52:27','USER_LOGIN',1,'2013-02-24 13:52:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(400,'2013-02-24 12:52:54','USER_LOGOUT',1,'2013-02-24 13:52:54',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(401,'2013-02-24 12:52:59','USER_LOGIN',1,'2013-02-24 13:52:59',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(402,'2013-02-24 12:55:39','USER_LOGOUT',1,'2013-02-24 13:55:39',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(403,'2013-02-24 12:55:59','USER_LOGIN',1,'2013-02-24 13:55:59',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(404,'2013-02-24 12:56:07','USER_LOGOUT',1,'2013-02-24 13:56:07',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(405,'2013-02-24 12:56:23','USER_LOGIN',1,'2013-02-24 13:56:23',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(406,'2013-02-24 12:56:46','USER_LOGOUT',1,'2013-02-24 13:56:46',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(407,'2013-02-24 12:58:30','USER_LOGIN',1,'2013-02-24 13:58:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(408,'2013-02-24 12:58:33','USER_LOGOUT',1,'2013-02-24 13:58:33',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(409,'2013-02-24 12:58:51','USER_LOGIN',1,'2013-02-24 13:58:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(410,'2013-02-24 12:58:58','USER_LOGOUT',1,'2013-02-24 13:58:58',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(411,'2013-02-24 13:18:53','USER_LOGIN',1,'2013-02-24 14:18:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(412,'2013-02-24 13:19:52','USER_LOGOUT',1,'2013-02-24 14:19:52',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(413,'2013-02-24 15:39:31','USER_LOGIN_FAILED',1,'2013-02-24 16:39:31',NULL,'ErrorBadValueForCode - login=admin','127.0.0.1',NULL,NULL),(414,'2013-02-24 15:42:07','USER_LOGIN',1,'2013-02-24 16:42:07',1,'(UserLogged,admin)','127.0.0.1',NULL,NULL),(415,'2013-02-24 15:42:52','USER_LOGOUT',1,'2013-02-24 16:42:52',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(416,'2013-02-24 16:04:21','USER_LOGIN',1,'2013-02-24 17:04:21',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',NULL),(417,'2013-02-24 16:11:28','USER_LOGIN_FAILED',1,'2013-02-24 17:11:28',NULL,'ErrorBadValueForCode - login=admin','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(418,'2013-02-24 16:11:37','USER_LOGIN',1,'2013-02-24 17:11:37',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(419,'2013-02-24 16:36:52','USER_LOGOUT',1,'2013-02-24 17:36:52',1,'(UserLogoff,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',NULL),(420,'2013-02-24 16:40:37','USER_LOGIN',1,'2013-02-24 17:40:37',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(421,'2013-02-24 16:57:16','USER_LOGIN',1,'2013-02-24 17:57:16',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 - 2131034114',NULL),(422,'2013-02-24 17:01:30','USER_LOGOUT',1,'2013-02-24 18:01:30',1,'(UserLogoff,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 - 2131034114',NULL),(423,'2013-02-24 17:02:33','USER_LOGIN',1,'2013-02-24 18:02:33',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(424,'2013-02-24 17:14:22','USER_LOGOUT',1,'2013-02-24 18:14:22',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(425,'2013-02-24 17:15:07','USER_LOGIN_FAILED',1,'2013-02-24 18:15:07',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(426,'2013-02-24 17:15:20','USER_LOGIN',1,'2013-02-24 18:15:20',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(427,'2013-02-24 17:20:14','USER_LOGIN',1,'2013-02-24 18:20:14',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(428,'2013-02-24 17:20:51','USER_LOGIN',1,'2013-02-24 18:20:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(429,'2013-02-24 17:20:54','USER_LOGOUT',1,'2013-02-24 18:20:54',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(430,'2013-02-24 17:21:19','USER_LOGIN',1,'2013-02-24 18:21:19',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(431,'2013-02-24 17:32:35','USER_LOGIN',1,'2013-02-24 18:32:35',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 - 2131034114',NULL),(432,'2013-02-24 18:28:48','USER_LOGIN',1,'2013-02-24 19:28:48',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(433,'2013-02-24 18:29:27','USER_LOGOUT',1,'2013-02-24 19:29:27',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(434,'2013-02-24 18:29:32','USER_LOGIN',1,'2013-02-24 19:29:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(435,'2013-02-24 20:13:13','USER_LOGOUT',1,'2013-02-24 21:13:13',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(436,'2013-02-24 20:13:17','USER_LOGIN',1,'2013-02-24 21:13:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(437,'2013-02-25 08:57:16','USER_LOGIN',1,'2013-02-25 09:57:16',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(438,'2013-02-25 08:57:59','USER_LOGOUT',1,'2013-02-25 09:57:59',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(439,'2013-02-25 09:15:02','USER_LOGIN',1,'2013-02-25 10:15:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(440,'2013-02-25 09:15:50','USER_LOGOUT',1,'2013-02-25 10:15:50',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(441,'2013-02-25 09:15:57','USER_LOGIN',1,'2013-02-25 10:15:57',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(442,'2013-02-25 09:16:12','USER_LOGOUT',1,'2013-02-25 10:16:12',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(443,'2013-02-25 09:16:19','USER_LOGIN',1,'2013-02-25 10:16:19',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(444,'2013-02-25 09:16:25','USER_LOGOUT',1,'2013-02-25 10:16:25',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(445,'2013-02-25 09:16:39','USER_LOGIN_FAILED',1,'2013-02-25 10:16:39',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(446,'2013-02-25 09:16:42','USER_LOGIN_FAILED',1,'2013-02-25 10:16:42',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(447,'2013-02-25 09:16:54','USER_LOGIN_FAILED',1,'2013-02-25 10:16:54',NULL,'Identificadors d'usuari o contrasenya incorrectes - login=gfdg','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(448,'2013-02-25 09:17:53','USER_LOGIN',1,'2013-02-25 10:17:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(449,'2013-02-25 09:18:37','USER_LOGOUT',1,'2013-02-25 10:18:37',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(450,'2013-02-25 09:18:41','USER_LOGIN',1,'2013-02-25 10:18:41',4,'(UserLogged,aaa)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(451,'2013-02-25 09:18:47','USER_LOGOUT',1,'2013-02-25 10:18:47',4,'(UserLogoff,aaa)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(452,'2013-02-25 10:05:34','USER_LOGIN',1,'2013-02-25 11:05:34',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(453,'2013-02-26 21:51:40','USER_LOGIN',1,'2013-02-26 22:51:40',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(454,'2013-02-26 23:30:06','USER_LOGIN',1,'2013-02-27 00:30:06',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(455,'2013-02-27 14:13:11','USER_LOGIN',1,'2013-02-27 15:13:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(456,'2013-02-27 18:12:06','USER_LOGIN_FAILED',1,'2013-02-27 19:12:06',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(457,'2013-02-27 18:12:10','USER_LOGIN',1,'2013-02-27 19:12:10',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(458,'2013-02-27 20:20:08','USER_LOGIN',1,'2013-02-27 21:20:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(459,'2013-03-01 22:12:03','USER_LOGIN',1,'2013-03-01 23:12:03',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(460,'2013-03-02 11:45:50','USER_LOGIN',1,'2013-03-02 12:45:50',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(461,'2013-03-02 15:53:51','USER_LOGIN_FAILED',1,'2013-03-02 16:53:51',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(462,'2013-03-02 15:53:53','USER_LOGIN',1,'2013-03-02 16:53:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(463,'2013-03-02 18:32:32','USER_LOGIN',1,'2013-03-02 19:32:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(464,'2013-03-02 22:59:36','USER_LOGIN',1,'2013-03-02 23:59:36',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(465,'2013-03-03 16:26:26','USER_LOGIN',1,'2013-03-03 17:26:26',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(466,'2013-03-03 22:50:27','USER_LOGIN',1,'2013-03-03 23:50:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(467,'2013-03-04 08:29:27','USER_LOGIN',1,'2013-03-04 09:29:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(468,'2013-03-04 18:27:28','USER_LOGIN',1,'2013-03-04 19:27:28',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; NP06)',NULL),(469,'2013-03-04 19:27:23','USER_LOGIN',1,'2013-03-04 20:27:23',1,'(UserLogged,admin)','192.168.0.254','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)',NULL),(470,'2013-03-04 19:35:14','USER_LOGIN',1,'2013-03-04 20:35:14',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(471,'2013-03-04 19:55:49','USER_LOGIN',1,'2013-03-04 20:55:49',1,'(UserLogged,admin)','192.168.0.254','Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)',NULL),(472,'2013-03-04 21:16:13','USER_LOGIN',1,'2013-03-04 22:16:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(473,'2013-03-05 10:17:30','USER_LOGIN',1,'2013-03-05 11:17:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(474,'2013-03-05 11:02:43','USER_LOGIN',1,'2013-03-05 12:02:43',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(475,'2013-03-05 23:14:39','USER_LOGIN',1,'2013-03-06 00:14:39',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(476,'2013-03-06 08:58:57','USER_LOGIN',1,'2013-03-06 09:58:57',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(477,'2013-03-06 14:29:40','USER_LOGIN',1,'2013-03-06 15:29:40',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(478,'2013-03-06 21:53:02','USER_LOGIN',1,'2013-03-06 22:53:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(479,'2013-03-07 21:14:39','USER_LOGIN',1,'2013-03-07 22:14:39',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(480,'2013-03-08 00:06:05','USER_LOGIN',1,'2013-03-08 01:06:05',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(481,'2013-03-08 01:38:13','USER_LOGIN',1,'2013-03-08 02:38:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(482,'2013-03-08 08:59:50','USER_LOGIN',1,'2013-03-08 09:59:50',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(483,'2013-03-09 12:08:51','USER_LOGIN',1,'2013-03-09 13:08:51',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(484,'2013-03-09 15:19:53','USER_LOGIN',1,'2013-03-09 16:19:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(495,'2013-03-09 18:06:21','USER_LOGIN',1,'2013-03-09 19:06:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(496,'2013-03-09 20:01:24','USER_LOGIN',1,'2013-03-09 21:01:24',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(497,'2013-03-09 23:36:45','USER_LOGIN',1,'2013-03-10 00:36:45',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(498,'2013-03-10 14:37:13','USER_LOGIN',1,'2013-03-10 15:37:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(499,'2013-03-10 17:54:12','USER_LOGIN',1,'2013-03-10 18:54:12',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(500,'2013-03-11 08:57:09','USER_LOGIN',1,'2013-03-11 09:57:09',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(501,'2013-03-11 22:05:13','USER_LOGIN',1,'2013-03-11 23:05:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(502,'2013-03-12 08:34:27','USER_LOGIN',1,'2013-03-12 09:34:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(503,'2013-03-13 09:11:02','USER_LOGIN',1,'2013-03-13 10:11:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(504,'2013-03-13 10:02:11','USER_LOGIN',1,'2013-03-13 11:02:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(505,'2013-03-13 13:20:58','USER_LOGIN',1,'2013-03-13 14:20:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(506,'2013-03-13 16:19:28','USER_LOGIN',1,'2013-03-13 17:19:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(507,'2013-03-13 18:34:30','USER_LOGIN',1,'2013-03-13 19:34:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(508,'2013-03-14 08:25:02','USER_LOGIN',1,'2013-03-14 09:25:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(509,'2013-03-14 19:15:22','USER_LOGIN',1,'2013-03-14 20:15:22',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(510,'2013-03-14 21:58:53','USER_LOGIN',1,'2013-03-14 22:58:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(511,'2013-03-14 21:58:59','USER_LOGOUT',1,'2013-03-14 22:58:59',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(512,'2013-03-14 21:59:07','USER_LOGIN',1,'2013-03-14 22:59:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(513,'2013-03-14 22:58:22','USER_LOGOUT',1,'2013-03-14 23:58:22',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(514,'2013-03-14 23:00:25','USER_LOGIN',1,'2013-03-15 00:00:25',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(515,'2013-03-16 12:14:28','USER_LOGIN',1,'2013-03-16 13:14:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(516,'2013-03-16 16:09:01','USER_LOGIN',1,'2013-03-16 17:09:01',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(517,'2013-03-16 16:57:11','USER_LOGIN',1,'2013-03-16 17:57:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(518,'2013-03-16 19:31:31','USER_LOGIN',1,'2013-03-16 20:31:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(519,'2013-03-17 17:44:39','USER_LOGIN',1,'2013-03-17 18:44:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(520,'2013-03-17 20:40:57','USER_LOGIN',1,'2013-03-17 21:40:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(521,'2013-03-17 23:14:05','USER_LOGIN',1,'2013-03-18 00:14:05',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(522,'2013-03-17 23:28:47','USER_LOGOUT',1,'2013-03-18 00:28:47',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(523,'2013-03-17 23:28:54','USER_LOGIN',1,'2013-03-18 00:28:54',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(524,'2013-03-18 17:37:30','USER_LOGIN',1,'2013-03-18 18:37:30',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(525,'2013-03-18 18:11:37','USER_LOGIN',1,'2013-03-18 19:11:37',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(526,'2013-03-19 08:35:08','USER_LOGIN',1,'2013-03-19 09:35:08',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(527,'2013-03-19 09:20:23','USER_LOGIN',1,'2013-03-19 10:20:23',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(528,'2013-03-20 13:17:13','USER_LOGIN',1,'2013-03-20 14:17:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(529,'2013-03-20 14:44:31','USER_LOGIN',1,'2013-03-20 15:44:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(530,'2013-03-20 18:24:25','USER_LOGIN',1,'2013-03-20 19:24:25',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(531,'2013-03-20 19:15:54','USER_LOGIN',1,'2013-03-20 20:15:54',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(532,'2013-03-21 18:40:47','USER_LOGIN',1,'2013-03-21 19:40:47',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(533,'2013-03-21 21:42:24','USER_LOGIN',1,'2013-03-21 22:42:24',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(534,'2013-03-22 08:39:23','USER_LOGIN',1,'2013-03-22 09:39:23',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(535,'2013-03-23 13:04:55','USER_LOGIN',1,'2013-03-23 14:04:55',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(536,'2013-03-23 15:47:43','USER_LOGIN',1,'2013-03-23 16:47:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(537,'2013-03-23 22:56:36','USER_LOGIN',1,'2013-03-23 23:56:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(538,'2013-03-24 01:22:32','USER_LOGIN',1,'2013-03-24 02:22:32',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(539,'2013-03-24 14:40:42','USER_LOGIN',1,'2013-03-24 15:40:42',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(540,'2013-03-24 15:30:26','USER_LOGOUT',1,'2013-03-24 16:30:26',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(541,'2013-03-24 15:30:29','USER_LOGIN',1,'2013-03-24 16:30:29',2,'(UserLogged,demo)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(542,'2013-03-24 15:49:40','USER_LOGOUT',1,'2013-03-24 16:49:40',2,'(UserLogoff,demo)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(543,'2013-03-24 15:49:48','USER_LOGIN',1,'2013-03-24 16:49:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(544,'2013-03-24 15:52:35','USER_MODIFY',1,'2013-03-24 16:52:35',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(545,'2013-03-24 15:52:52','USER_MODIFY',1,'2013-03-24 16:52:52',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(546,'2013-03-24 15:53:09','USER_MODIFY',1,'2013-03-24 16:53:09',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(547,'2013-03-24 15:53:23','USER_MODIFY',1,'2013-03-24 16:53:23',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(548,'2013-03-24 16:00:04','USER_MODIFY',1,'2013-03-24 17:00:04',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(549,'2013-03-24 16:01:50','USER_MODIFY',1,'2013-03-24 17:01:50',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(550,'2013-03-24 16:10:14','USER_MODIFY',1,'2013-03-24 17:10:14',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(551,'2013-03-24 16:55:13','USER_LOGIN',1,'2013-03-24 17:55:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(552,'2013-03-24 17:44:29','USER_LOGIN',1,'2013-03-24 18:44:29',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(553,'2013-09-08 23:06:26','USER_LOGIN',1,'2013-09-09 01:06:26',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36',NULL),(554,'2013-10-21 22:32:28','USER_LOGIN',1,'2013-10-22 00:32:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.66 Safari/537.36',NULL),(555,'2013-10-21 22:32:48','USER_LOGIN',1,'2013-10-22 00:32:48',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.66 Safari/537.36',NULL),(556,'2013-11-07 00:01:51','USER_LOGIN',1,'2013-11-07 01:01:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.114 Safari/537.36',NULL),(557,'2014-03-02 15:21:07','USER_LOGIN',1,'2014-03-02 16:21:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(558,'2014-03-02 15:36:53','USER_LOGIN',1,'2014-03-02 16:36:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(559,'2014-03-02 18:54:23','USER_LOGIN',1,'2014-03-02 19:54:23',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(560,'2014-03-02 19:11:17','USER_LOGIN',1,'2014-03-02 20:11:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(561,'2014-03-03 18:19:24','USER_LOGIN',1,'2014-03-03 19:19:24',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(562,'2014-12-21 12:51:38','USER_LOGIN',1,'2014-12-21 13:51:38',1,'(UserLogged,admin) - TZ=1;TZString=CET;Screen=1920x969','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36',NULL),(563,'2014-12-21 19:52:09','USER_LOGIN',1,'2014-12-21 20:52:09',1,'(UserLogged,admin) - TZ=1;TZString=CET;Screen=1920x969','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36',NULL),(566,'2015-10-03 08:49:43','USER_NEW_PASSWORD',1,'2015-10-03 10:49:43',1,'Password change for admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(567,'2015-10-03 08:49:43','USER_MODIFY',1,'2015-10-03 10:49:43',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(568,'2015-10-03 09:03:12','USER_MODIFY',1,'2015-10-03 11:03:12',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(569,'2015-10-03 09:03:42','USER_MODIFY',1,'2015-10-03 11:03:42',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(570,'2015-10-03 09:07:36','USER_MODIFY',1,'2015-10-03 11:07:36',1,'User demo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(571,'2015-10-03 09:08:58','USER_NEW_PASSWORD',1,'2015-10-03 11:08:58',1,'Password change for pcurie','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(572,'2015-10-03 09:08:58','USER_MODIFY',1,'2015-10-03 11:08:58',1,'User pcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(573,'2015-10-03 09:09:23','USER_MODIFY',1,'2015-10-03 11:09:23',1,'User pcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(574,'2015-10-03 09:11:04','USER_NEW_PASSWORD',1,'2015-10-03 11:11:04',1,'Password change for athestudent','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(575,'2015-10-03 09:11:04','USER_MODIFY',1,'2015-10-03 11:11:04',1,'User athestudent modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(576,'2015-10-03 09:11:53','USER_MODIFY',1,'2015-10-03 11:11:53',1,'User abookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(577,'2015-10-03 09:42:12','USER_LOGIN_FAILED',1,'2015-10-03 11:42:11',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(578,'2015-10-03 09:42:19','USER_LOGIN_FAILED',1,'2015-10-03 11:42:19',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(579,'2015-10-03 09:42:42','USER_LOGIN_FAILED',1,'2015-10-03 11:42:42',NULL,'Bad value for login or password - login=aeinstein','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(580,'2015-10-03 09:43:50','USER_LOGIN',1,'2015-10-03 11:43:50',1,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x788','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(581,'2015-10-03 09:44:44','GROUP_MODIFY',1,'2015-10-03 11:44:44',1,'Group Sale representatives modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(582,'2015-10-03 09:46:25','GROUP_CREATE',1,'2015-10-03 11:46:25',1,'Group Management created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(583,'2015-10-03 09:46:46','GROUP_CREATE',1,'2015-10-03 11:46:46',1,'Group Scientists created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(584,'2015-10-03 09:47:41','USER_CREATE',1,'2015-10-03 11:47:41',1,'User mcurie created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(585,'2015-10-03 09:47:41','USER_NEW_PASSWORD',1,'2015-10-03 11:47:41',1,'Password change for mcurie','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(586,'2015-10-03 09:47:53','USER_MODIFY',1,'2015-10-03 11:47:53',1,'User mcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(587,'2015-10-03 09:48:32','USER_DELETE',1,'2015-10-03 11:48:32',1,'User bbb removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(588,'2015-10-03 09:48:52','USER_MODIFY',1,'2015-10-03 11:48:52',1,'User bookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(589,'2015-10-03 10:01:28','USER_MODIFY',1,'2015-10-03 12:01:28',1,'User bookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(590,'2015-10-03 10:01:39','USER_MODIFY',1,'2015-10-03 12:01:39',1,'User bookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(591,'2015-10-05 06:32:38','USER_LOGIN_FAILED',1,'2015-10-05 08:32:38',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(592,'2015-10-05 06:32:44','USER_LOGIN',1,'2015-10-05 08:32:44',1,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(593,'2015-10-05 07:07:52','USER_CREATE',1,'2015-10-05 09:07:52',1,'User atheceo created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(594,'2015-10-05 07:07:52','USER_NEW_PASSWORD',1,'2015-10-05 09:07:52',1,'Password change for atheceo','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(595,'2015-10-05 07:09:08','USER_NEW_PASSWORD',1,'2015-10-05 09:09:08',1,'Password change for aeinstein','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(596,'2015-10-05 07:09:08','USER_MODIFY',1,'2015-10-05 09:09:08',1,'User aeinstein modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(597,'2015-10-05 07:09:46','USER_CREATE',1,'2015-10-05 09:09:46',1,'User admin created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(598,'2015-10-05 07:09:46','USER_NEW_PASSWORD',1,'2015-10-05 09:09:46',1,'Password change for admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(599,'2015-10-05 07:10:20','USER_MODIFY',1,'2015-10-05 09:10:20',1,'User demo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(600,'2015-10-05 07:10:48','USER_MODIFY',1,'2015-10-05 09:10:48',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(601,'2015-10-05 07:11:22','USER_NEW_PASSWORD',1,'2015-10-05 09:11:22',1,'Password change for bbookkeeper','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(602,'2015-10-05 07:11:22','USER_MODIFY',1,'2015-10-05 09:11:22',1,'User bbookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(603,'2015-10-05 07:12:37','USER_MODIFY',1,'2015-10-05 09:12:37',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(604,'2015-10-05 07:13:27','USER_MODIFY',1,'2015-10-05 09:13:27',1,'User demo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(605,'2015-10-05 07:13:52','USER_MODIFY',1,'2015-10-05 09:13:52',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(606,'2015-10-05 07:14:35','USER_LOGOUT',1,'2015-10-05 09:14:35',1,'(UserLogoff,aeinstein)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(607,'2015-10-05 07:14:40','USER_LOGIN_FAILED',1,'2015-10-05 09:14:40',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(608,'2015-10-05 07:14:44','USER_LOGIN_FAILED',1,'2015-10-05 09:14:44',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(609,'2015-10-05 07:14:49','USER_LOGIN',1,'2015-10-05 09:14:49',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(610,'2015-10-05 07:57:18','USER_MODIFY',1,'2015-10-05 09:57:18',12,'User aeinstein modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(611,'2015-10-05 08:06:54','USER_LOGOUT',1,'2015-10-05 10:06:54',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(612,'2015-10-05 08:07:03','USER_LOGIN',1,'2015-10-05 10:07:03',11,'(UserLogged,atheceo) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(613,'2015-10-05 19:18:46','USER_LOGIN',1,'2015-10-05 21:18:46',11,'(UserLogged,atheceo) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(614,'2015-10-05 19:29:35','USER_CREATE',1,'2015-10-05 21:29:35',11,'User ccommercy created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(615,'2015-10-05 19:29:35','USER_NEW_PASSWORD',1,'2015-10-05 21:29:35',11,'Password change for ccommercy','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(616,'2015-10-05 19:30:13','GROUP_CREATE',1,'2015-10-05 21:30:13',11,'Group Commercial created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(617,'2015-10-05 19:31:37','USER_NEW_PASSWORD',1,'2015-10-05 21:31:37',11,'Password change for admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(618,'2015-10-05 19:31:37','USER_MODIFY',1,'2015-10-05 21:31:37',11,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(619,'2015-10-05 19:32:00','USER_MODIFY',1,'2015-10-05 21:32:00',11,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(620,'2015-10-05 19:33:33','USER_CREATE',1,'2015-10-05 21:33:33',11,'User sscientol created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(621,'2015-10-05 19:33:33','USER_NEW_PASSWORD',1,'2015-10-05 21:33:33',11,'Password change for sscientol','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(622,'2015-10-05 19:33:47','USER_NEW_PASSWORD',1,'2015-10-05 21:33:47',11,'Password change for mcurie','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(623,'2015-10-05 19:33:47','USER_MODIFY',1,'2015-10-05 21:33:47',11,'User mcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(624,'2015-10-05 19:34:23','USER_NEW_PASSWORD',1,'2015-10-05 21:34:23',11,'Password change for pcurie','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(625,'2015-10-05 19:34:23','USER_MODIFY',1,'2015-10-05 21:34:23',11,'User pcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(626,'2015-10-05 19:34:42','USER_MODIFY',1,'2015-10-05 21:34:42',11,'User aeinstein modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(627,'2015-10-05 19:36:06','USER_NEW_PASSWORD',1,'2015-10-05 21:36:06',11,'Password change for ccommercy','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(628,'2015-10-05 19:36:06','USER_MODIFY',1,'2015-10-05 21:36:06',11,'User ccommercy modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(629,'2015-10-05 19:36:57','USER_NEW_PASSWORD',1,'2015-10-05 21:36:57',11,'Password change for atheceo','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(630,'2015-10-05 19:36:57','USER_MODIFY',1,'2015-10-05 21:36:57',11,'User atheceo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(631,'2015-10-05 19:37:27','USER_LOGOUT',1,'2015-10-05 21:37:27',11,'(UserLogoff,atheceo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(632,'2015-10-05 19:37:35','USER_LOGIN_FAILED',1,'2015-10-05 21:37:35',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(633,'2015-10-05 19:37:39','USER_LOGIN_FAILED',1,'2015-10-05 21:37:39',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(634,'2015-10-05 19:37:44','USER_LOGIN_FAILED',1,'2015-10-05 21:37:44',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(635,'2015-10-05 19:37:49','USER_LOGIN_FAILED',1,'2015-10-05 21:37:49',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(636,'2015-10-05 19:38:12','USER_LOGIN_FAILED',1,'2015-10-05 21:38:12',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(637,'2015-10-05 19:40:48','USER_LOGIN_FAILED',1,'2015-10-05 21:40:48',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(638,'2015-10-05 19:40:55','USER_LOGIN',1,'2015-10-05 21:40:55',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(639,'2015-10-05 19:43:34','USER_MODIFY',1,'2015-10-05 21:43:34',12,'User aeinstein modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(640,'2015-10-05 19:45:43','USER_CREATE',1,'2015-10-05 21:45:43',12,'User aaa created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(641,'2015-10-05 19:45:43','USER_NEW_PASSWORD',1,'2015-10-05 21:45:43',12,'Password change for aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(642,'2015-10-05 19:46:18','USER_DELETE',1,'2015-10-05 21:46:18',12,'User aaa removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(643,'2015-10-05 19:47:09','USER_MODIFY',1,'2015-10-05 21:47:09',12,'User demo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(644,'2015-10-05 19:47:22','USER_MODIFY',1,'2015-10-05 21:47:22',12,'User demo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(645,'2015-10-05 19:52:05','USER_MODIFY',1,'2015-10-05 21:52:05',12,'User sscientol modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(646,'2015-10-05 19:52:23','USER_MODIFY',1,'2015-10-05 21:52:23',12,'User bbookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(647,'2015-10-05 19:54:54','USER_NEW_PASSWORD',1,'2015-10-05 21:54:54',12,'Password change for zzeceo','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(648,'2015-10-05 19:54:54','USER_MODIFY',1,'2015-10-05 21:54:54',12,'User zzeceo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(649,'2015-10-05 19:57:02','USER_MODIFY',1,'2015-10-05 21:57:02',12,'User zzeceo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(650,'2015-10-05 19:57:57','USER_NEW_PASSWORD',1,'2015-10-05 21:57:57',12,'Password change for pcurie','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(651,'2015-10-05 19:57:57','USER_MODIFY',1,'2015-10-05 21:57:57',12,'User pcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(652,'2015-10-05 19:59:42','USER_NEW_PASSWORD',1,'2015-10-05 21:59:42',12,'Password change for admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(653,'2015-10-05 19:59:42','USER_MODIFY',1,'2015-10-05 21:59:42',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(654,'2015-10-05 20:00:21','USER_MODIFY',1,'2015-10-05 22:00:21',12,'User adminx modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(655,'2015-10-05 20:05:36','USER_MODIFY',1,'2015-10-05 22:05:36',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(656,'2015-10-05 20:06:25','USER_MODIFY',1,'2015-10-05 22:06:25',12,'User ccommercy modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(657,'2015-10-05 20:07:18','USER_MODIFY',1,'2015-10-05 22:07:18',12,'User mcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(658,'2015-10-05 20:07:36','USER_MODIFY',1,'2015-10-05 22:07:36',12,'User aeinstein modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(659,'2015-10-05 20:08:34','USER_MODIFY',1,'2015-10-05 22:08:34',12,'User bbookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(660,'2015-10-05 20:47:52','USER_CREATE',1,'2015-10-05 22:47:52',12,'User cc1 created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(661,'2015-10-05 20:47:52','USER_NEW_PASSWORD',1,'2015-10-05 22:47:52',12,'Password change for cc1','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(662,'2015-10-05 20:47:55','USER_LOGOUT',1,'2015-10-05 22:47:55',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(663,'2015-10-05 20:48:08','USER_LOGIN',1,'2015-10-05 22:48:08',11,'(UserLogged,zzeceo) - TZ=1;TZString=Europe/Berlin;Screen=1590x434','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(664,'2015-10-05 20:48:39','USER_CREATE',1,'2015-10-05 22:48:39',11,'User cc2 created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(665,'2015-10-05 20:48:39','USER_NEW_PASSWORD',1,'2015-10-05 22:48:39',11,'Password change for cc2','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(666,'2015-10-05 20:48:59','USER_NEW_PASSWORD',1,'2015-10-05 22:48:59',11,'Password change for cc1','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(667,'2015-10-05 20:48:59','USER_MODIFY',1,'2015-10-05 22:48:59',11,'User cc1 modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(668,'2015-10-05 21:06:36','USER_LOGOUT',1,'2015-10-05 23:06:35',11,'(UserLogoff,zzeceo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(669,'2015-10-05 21:06:44','USER_LOGIN_FAILED',1,'2015-10-05 23:06:44',NULL,'Bad value for login or password - login=cc1','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(670,'2015-10-05 21:07:12','USER_LOGIN_FAILED',1,'2015-10-05 23:07:12',NULL,'Bad value for login or password - login=cc1','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(671,'2015-10-05 21:07:19','USER_LOGIN_FAILED',1,'2015-10-05 23:07:19',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(672,'2015-10-05 21:07:27','USER_LOGIN_FAILED',1,'2015-10-05 23:07:27',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(673,'2015-10-05 21:07:32','USER_LOGIN',1,'2015-10-05 23:07:32',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(674,'2015-10-05 21:12:28','USER_NEW_PASSWORD',1,'2015-10-05 23:12:28',12,'Password change for cc1','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(675,'2015-10-05 21:12:28','USER_MODIFY',1,'2015-10-05 23:12:28',12,'User cc1 modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(676,'2015-10-05 21:13:00','USER_CREATE',1,'2015-10-05 23:13:00',12,'User aaa created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(677,'2015-10-05 21:13:00','USER_NEW_PASSWORD',1,'2015-10-05 23:13:00',12,'Password change for aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(678,'2015-10-05 21:13:40','USER_DELETE',1,'2015-10-05 23:13:40',12,'User aaa removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(679,'2015-10-05 21:14:47','USER_LOGOUT',1,'2015-10-05 23:14:47',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(680,'2015-10-05 21:14:56','USER_LOGIN',1,'2015-10-05 23:14:56',16,'(UserLogged,cc1) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(681,'2015-10-05 21:15:56','USER_LOGOUT',1,'2015-10-05 23:15:56',16,'(UserLogoff,cc1)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(682,'2015-10-05 21:16:06','USER_LOGIN',1,'2015-10-05 23:16:06',17,'(UserLogged,cc2) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(683,'2015-10-05 21:37:25','USER_LOGOUT',1,'2015-10-05 23:37:25',17,'(UserLogoff,cc2)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(684,'2015-10-05 21:37:31','USER_LOGIN',1,'2015-10-05 23:37:31',16,'(UserLogged,cc1) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(685,'2015-10-05 21:43:53','USER_LOGOUT',1,'2015-10-05 23:43:53',16,'(UserLogoff,cc1)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(686,'2015-10-05 21:44:00','USER_LOGIN',1,'2015-10-05 23:44:00',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(687,'2015-10-05 21:46:17','USER_LOGOUT',1,'2015-10-05 23:46:17',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(688,'2015-10-05 21:46:24','USER_LOGIN',1,'2015-10-05 23:46:24',16,'(UserLogged,cc1) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(689,'2015-11-04 15:17:06','USER_LOGIN',1,'2015-11-04 16:17:06',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(690,'2015-11-15 22:04:04','USER_LOGIN',1,'2015-11-15 23:04:04',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(691,'2015-11-15 22:23:45','USER_MODIFY',1,'2015-11-15 23:23:45',12,'User ccommercy modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(692,'2015-11-15 22:24:22','USER_MODIFY',1,'2015-11-15 23:24:22',12,'User cc1 modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(693,'2015-11-15 22:24:53','USER_MODIFY',1,'2015-11-15 23:24:53',12,'User cc2 modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(694,'2015-11-15 22:25:17','USER_MODIFY',1,'2015-11-15 23:25:17',12,'User cc1 modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(695,'2015-11-15 22:45:37','USER_LOGOUT',1,'2015-11-15 23:45:37',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(696,'2015-11-18 13:41:02','USER_LOGIN',1,'2015-11-18 14:41:02',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(697,'2015-11-18 14:23:35','USER_LOGIN',1,'2015-11-18 15:23:35',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(698,'2015-11-18 15:15:46','USER_LOGOUT',1,'2015-11-18 16:15:46',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(699,'2015-11-18 15:15:51','USER_LOGIN',1,'2015-11-18 16:15:51',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(700,'2015-11-30 17:52:08','USER_LOGIN',1,'2015-11-30 18:52:08',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(701,'2016-01-10 16:45:43','USER_LOGIN',1,'2016-01-10 17:45:43',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(702,'2016-01-10 16:45:52','USER_LOGOUT',1,'2016-01-10 17:45:52',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(703,'2016-01-10 16:46:06','USER_LOGIN',1,'2016-01-10 17:46:06',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(704,'2016-01-16 14:53:47','USER_LOGIN',1,'2016-01-16 15:53:47',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(705,'2016-01-16 15:04:29','USER_LOGOUT',1,'2016-01-16 16:04:29',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(706,'2016-01-16 15:04:40','USER_LOGIN',1,'2016-01-16 16:04:40',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(707,'2016-01-22 09:33:26','USER_LOGIN',1,'2016-01-22 10:33:26',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(708,'2016-01-22 09:35:19','USER_LOGOUT',1,'2016-01-22 10:35:19',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(709,'2016-01-22 09:35:29','USER_LOGIN',1,'2016-01-22 10:35:29',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(710,'2016-01-22 10:47:34','USER_CREATE',1,'2016-01-22 11:47:34',12,'User aaa created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(711,'2016-01-22 10:47:34','USER_NEW_PASSWORD',1,'2016-01-22 11:47:34',12,'Password change for aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(712,'2016-01-22 12:07:56','USER_LOGIN',1,'2016-01-22 13:07:56',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(713,'2016-01-22 12:36:25','USER_NEW_PASSWORD',1,'2016-01-22 13:36:25',12,'Password change for admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(714,'2016-01-22 12:36:25','USER_MODIFY',1,'2016-01-22 13:36:25',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(715,'2016-01-22 12:56:32','USER_MODIFY',1,'2016-01-22 13:56:32',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(716,'2016-01-22 12:58:05','USER_MODIFY',1,'2016-01-22 13:58:05',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(717,'2016-01-22 13:01:02','USER_MODIFY',1,'2016-01-22 14:01:02',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(718,'2016-01-22 13:01:18','USER_MODIFY',1,'2016-01-22 14:01:18',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(719,'2016-01-22 13:13:42','USER_MODIFY',1,'2016-01-22 14:13:42',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(720,'2016-01-22 13:15:20','USER_DELETE',1,'2016-01-22 14:15:20',12,'User aaa removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(721,'2016-01-22 13:19:21','USER_LOGOUT',1,'2016-01-22 14:19:21',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(722,'2016-01-22 13:19:32','USER_LOGIN',1,'2016-01-22 14:19:32',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(723,'2016-01-22 13:19:51','USER_LOGOUT',1,'2016-01-22 14:19:51',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(724,'2016-01-22 13:20:01','USER_LOGIN',1,'2016-01-22 14:20:01',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(725,'2016-01-22 13:28:22','USER_LOGOUT',1,'2016-01-22 14:28:22',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(726,'2016-01-22 13:28:35','USER_LOGIN',1,'2016-01-22 14:28:35',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(727,'2016-01-22 13:33:54','USER_LOGOUT',1,'2016-01-22 14:33:54',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(728,'2016-01-22 13:34:05','USER_LOGIN',1,'2016-01-22 14:34:05',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(729,'2016-01-22 13:51:46','USER_MODIFY',1,'2016-01-22 14:51:46',12,'User ccommercy modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(730,'2016-01-22 16:20:12','USER_LOGIN',1,'2016-01-22 17:20:12',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(731,'2016-01-22 16:20:22','USER_LOGOUT',1,'2016-01-22 17:20:22',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(732,'2016-01-22 16:20:36','USER_LOGIN',1,'2016-01-22 17:20:36',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(733,'2016-01-22 16:27:02','USER_CREATE',1,'2016-01-22 17:27:02',12,'User ldestailleur created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(734,'2016-01-22 16:27:02','USER_NEW_PASSWORD',1,'2016-01-22 17:27:02',12,'Password change for ldestailleur','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(735,'2016-01-22 16:28:34','USER_MODIFY',1,'2016-01-22 17:28:34',12,'User ldestailleur modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(736,'2016-01-22 16:30:01','USER_ENABLEDISABLE',1,'2016-01-22 17:30:01',12,'User cc2 activated','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(737,'2016-01-22 17:11:06','USER_LOGIN',1,'2016-01-22 18:11:06',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(738,'2016-01-22 18:00:02','USER_DELETE',1,'2016-01-22 19:00:02',12,'User zzz removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(739,'2016-01-22 18:01:40','USER_DELETE',1,'2016-01-22 19:01:40',12,'User aaab removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(740,'2016-01-22 18:01:52','USER_DELETE',1,'2016-01-22 19:01:52',12,'User zzzg removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(741,'2016-03-13 10:54:59','USER_LOGIN',1,'2016-03-13 14:54:59',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1920x971','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36',NULL),(742,'2016-07-30 11:13:10','USER_LOGIN',1,'2016-07-30 15:13:10',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(743,'2016-07-30 12:50:23','USER_CREATE',1,'2016-07-30 16:50:23',12,'User eldy created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(744,'2016-07-30 12:50:23','USER_CREATE',1,'2016-07-30 16:50:23',12,'User eldy created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(745,'2016-07-30 12:50:23','USER_NEW_PASSWORD',1,'2016-07-30 16:50:23',12,'Password change for eldy','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(746,'2016-07-30 12:50:38','USER_MODIFY',1,'2016-07-30 16:50:38',12,'User eldy modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(747,'2016-07-30 12:50:54','USER_DELETE',1,'2016-07-30 16:50:54',12,'User eldy removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(748,'2016-07-30 12:51:23','USER_NEW_PASSWORD',1,'2016-07-30 16:51:23',12,'Password change for ldestailleur','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(749,'2016-07-30 12:51:23','USER_MODIFY',1,'2016-07-30 16:51:23',12,'User ldestailleur modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(750,'2016-07-30 18:26:58','USER_LOGIN',1,'2016-07-30 22:26:58',18,'(UserLogged,ldestailleur) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(751,'2016-07-30 18:27:40','USER_LOGOUT',1,'2016-07-30 22:27:40',18,'(UserLogoff,ldestailleur)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(752,'2016-07-30 18:27:47','USER_LOGIN',1,'2016-07-30 22:27:47',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(753,'2016-07-30 19:00:00','USER_LOGOUT',1,'2016-07-30 23:00:00',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(754,'2016-07-30 19:00:04','USER_LOGIN',1,'2016-07-30 23:00:04',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(755,'2016-07-30 19:00:14','USER_LOGOUT',1,'2016-07-30 23:00:14',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(756,'2016-07-30 19:00:19','USER_LOGIN',1,'2016-07-30 23:00:19',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(757,'2016-07-30 19:00:43','USER_LOGOUT',1,'2016-07-30 23:00:43',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(758,'2016-07-30 19:00:48','USER_LOGIN',1,'2016-07-30 23:00:48',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(759,'2016-07-30 19:03:52','USER_LOGOUT',1,'2016-07-30 23:03:52',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(760,'2016-07-30 19:03:57','USER_LOGIN_FAILED',1,'2016-07-30 23:03:57',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(761,'2016-07-30 19:03:59','USER_LOGIN',1,'2016-07-30 23:03:59',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(762,'2016-07-30 19:04:13','USER_LOGOUT',1,'2016-07-30 23:04:13',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(763,'2016-07-30 19:04:17','USER_LOGIN',1,'2016-07-30 23:04:17',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(764,'2016-07-30 19:04:26','USER_LOGOUT',1,'2016-07-30 23:04:26',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(765,'2016-07-30 19:04:31','USER_LOGIN',1,'2016-07-30 23:04:31',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(766,'2016-07-30 19:10:50','USER_LOGOUT',1,'2016-07-30 23:10:50',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(767,'2016-07-30 19:10:54','USER_LOGIN',1,'2016-07-30 23:10:54',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL); +INSERT INTO `llx_events` VALUES (30,'2011-07-18 18:23:06','USER_LOGOUT',1,'2011-07-18 20:23:06',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(31,'2011-07-18 18:23:12','USER_LOGIN_FAILED',1,'2011-07-18 20:23:12',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(32,'2011-07-18 18:23:17','USER_LOGIN',1,'2011-07-18 20:23:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(33,'2011-07-18 20:10:51','USER_LOGIN_FAILED',1,'2011-07-18 22:10:51',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(34,'2011-07-18 20:10:55','USER_LOGIN',1,'2011-07-18 22:10:55',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(35,'2011-07-18 21:18:57','USER_LOGIN',1,'2011-07-18 23:18:57',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(36,'2011-07-20 10:34:10','USER_LOGIN',1,'2011-07-20 12:34:10',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(37,'2011-07-20 12:36:44','USER_LOGIN',1,'2011-07-20 14:36:44',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(38,'2011-07-20 13:20:51','USER_LOGIN_FAILED',1,'2011-07-20 15:20:51',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(39,'2011-07-20 13:20:54','USER_LOGIN',1,'2011-07-20 15:20:54',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(40,'2011-07-20 15:03:46','USER_LOGIN_FAILED',1,'2011-07-20 17:03:46',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(41,'2011-07-20 15:03:55','USER_LOGIN',1,'2011-07-20 17:03:55',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(42,'2011-07-20 18:05:05','USER_LOGIN_FAILED',1,'2011-07-20 20:05:05',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(43,'2011-07-20 18:05:08','USER_LOGIN',1,'2011-07-20 20:05:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(44,'2011-07-20 21:08:53','USER_LOGIN_FAILED',1,'2011-07-20 23:08:53',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(45,'2011-07-20 21:08:56','USER_LOGIN',1,'2011-07-20 23:08:56',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(46,'2011-07-21 01:26:12','USER_LOGIN',1,'2011-07-21 03:26:12',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(47,'2011-07-21 22:35:45','USER_LOGIN_FAILED',1,'2011-07-22 00:35:45',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(48,'2011-07-21 22:35:49','USER_LOGIN',1,'2011-07-22 00:35:49',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(49,'2011-07-26 23:09:47','USER_LOGIN_FAILED',1,'2011-07-27 01:09:47',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(50,'2011-07-26 23:09:50','USER_LOGIN',1,'2011-07-27 01:09:50',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(51,'2011-07-27 17:02:27','USER_LOGIN_FAILED',1,'2011-07-27 19:02:27',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(52,'2011-07-27 17:02:32','USER_LOGIN',1,'2011-07-27 19:02:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(53,'2011-07-27 23:33:37','USER_LOGIN_FAILED',1,'2011-07-28 01:33:37',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(54,'2011-07-27 23:33:41','USER_LOGIN',1,'2011-07-28 01:33:41',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(55,'2011-07-28 18:20:36','USER_LOGIN_FAILED',1,'2011-07-28 20:20:36',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(56,'2011-07-28 18:20:38','USER_LOGIN',1,'2011-07-28 20:20:38',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(57,'2011-07-28 20:13:30','USER_LOGIN_FAILED',1,'2011-07-28 22:13:30',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(58,'2011-07-28 20:13:34','USER_LOGIN',1,'2011-07-28 22:13:34',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(59,'2011-07-28 20:22:51','USER_LOGIN',1,'2011-07-28 22:22:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(60,'2011-07-28 23:05:06','USER_LOGIN',1,'2011-07-29 01:05:06',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(61,'2011-07-29 20:15:50','USER_LOGIN_FAILED',1,'2011-07-29 22:15:50',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(62,'2011-07-29 20:15:53','USER_LOGIN',1,'2011-07-29 22:15:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(68,'2011-07-29 20:51:01','USER_LOGOUT',1,'2011-07-29 22:51:01',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(69,'2011-07-29 20:51:05','USER_LOGIN',1,'2011-07-29 22:51:05',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(70,'2011-07-30 08:46:20','USER_LOGIN_FAILED',1,'2011-07-30 10:46:20',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(71,'2011-07-30 08:46:38','USER_LOGIN_FAILED',1,'2011-07-30 10:46:38',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(72,'2011-07-30 08:46:42','USER_LOGIN',1,'2011-07-30 10:46:42',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(73,'2011-07-30 10:05:12','USER_LOGIN_FAILED',1,'2011-07-30 12:05:12',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(74,'2011-07-30 10:05:15','USER_LOGIN',1,'2011-07-30 12:05:15',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(75,'2011-07-30 12:15:46','USER_LOGIN',1,'2011-07-30 14:15:46',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(76,'2011-07-31 22:19:30','USER_LOGIN',1,'2011-08-01 00:19:30',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(77,'2011-07-31 23:32:52','USER_LOGIN',1,'2011-08-01 01:32:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(78,'2011-08-01 01:24:50','USER_LOGIN_FAILED',1,'2011-08-01 03:24:50',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(79,'2011-08-01 01:24:54','USER_LOGIN',1,'2011-08-01 03:24:54',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(80,'2011-08-01 19:31:36','USER_LOGIN_FAILED',1,'2011-08-01 21:31:35',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(81,'2011-08-01 19:31:39','USER_LOGIN',1,'2011-08-01 21:31:39',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(82,'2011-08-01 20:01:36','USER_LOGIN',1,'2011-08-01 22:01:36',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(83,'2011-08-01 20:52:54','USER_LOGIN_FAILED',1,'2011-08-01 22:52:54',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(84,'2011-08-01 20:52:58','USER_LOGIN',1,'2011-08-01 22:52:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(85,'2011-08-01 21:17:28','USER_LOGIN_FAILED',1,'2011-08-01 23:17:28',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(86,'2011-08-01 21:17:31','USER_LOGIN',1,'2011-08-01 23:17:31',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(87,'2011-08-04 11:55:17','USER_LOGIN',1,'2011-08-04 13:55:17',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(88,'2011-08-04 20:19:03','USER_LOGIN_FAILED',1,'2011-08-04 22:19:03',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(89,'2011-08-04 20:19:07','USER_LOGIN',1,'2011-08-04 22:19:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(90,'2011-08-05 17:51:42','USER_LOGIN_FAILED',1,'2011-08-05 19:51:42',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(91,'2011-08-05 17:51:47','USER_LOGIN',1,'2011-08-05 19:51:47',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(92,'2011-08-05 17:56:03','USER_LOGIN',1,'2011-08-05 19:56:03',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(93,'2011-08-05 17:59:10','USER_LOGIN',1,'2011-08-05 19:59:10',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30',NULL),(94,'2011-08-05 18:01:58','USER_LOGIN',1,'2011-08-05 20:01:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30',NULL),(95,'2011-08-05 19:59:56','USER_LOGIN',1,'2011-08-05 21:59:56',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(96,'2011-08-06 18:33:22','USER_LOGIN',1,'2011-08-06 20:33:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(97,'2011-08-07 00:56:59','USER_LOGIN',1,'2011-08-07 02:56:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(98,'2011-08-07 22:49:14','USER_LOGIN',1,'2011-08-08 00:49:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(99,'2011-08-07 23:05:18','USER_LOGOUT',1,'2011-08-08 01:05:18',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(105,'2011-08-08 00:41:09','USER_LOGIN',1,'2011-08-08 02:41:09',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(106,'2011-08-08 11:58:55','USER_LOGIN',1,'2011-08-08 13:58:55',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(107,'2011-08-08 14:35:48','USER_LOGIN',1,'2011-08-08 16:35:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(108,'2011-08-08 14:36:31','USER_LOGOUT',1,'2011-08-08 16:36:31',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(109,'2011-08-08 14:38:28','USER_LOGIN',1,'2011-08-08 16:38:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(110,'2011-08-08 14:39:02','USER_LOGOUT',1,'2011-08-08 16:39:02',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(111,'2011-08-08 14:39:10','USER_LOGIN',1,'2011-08-08 16:39:10',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(112,'2011-08-08 14:39:28','USER_LOGOUT',1,'2011-08-08 16:39:28',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(113,'2011-08-08 14:39:37','USER_LOGIN',1,'2011-08-08 16:39:37',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(114,'2011-08-08 14:50:02','USER_LOGOUT',1,'2011-08-08 16:50:02',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(115,'2011-08-08 14:51:45','USER_LOGIN_FAILED',1,'2011-08-08 16:51:45',NULL,'Identifiants login ou mot de passe incorrects - login=','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(116,'2011-08-08 14:51:52','USER_LOGIN',1,'2011-08-08 16:51:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(117,'2011-08-08 15:09:54','USER_LOGOUT',1,'2011-08-08 17:09:54',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(118,'2011-08-08 15:10:19','USER_LOGIN_FAILED',1,'2011-08-08 17:10:19',NULL,'Identifiants login ou mot de passe incorrects - login=','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(119,'2011-08-08 15:10:28','USER_LOGIN',1,'2011-08-08 17:10:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(121,'2011-08-08 15:14:58','USER_LOGOUT',1,'2011-08-08 17:14:58',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(122,'2011-08-08 15:15:00','USER_LOGIN_FAILED',1,'2011-08-08 17:15:00',NULL,'Identifiants login ou mot de passe incorrects - login=','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(123,'2011-08-08 15:17:57','USER_LOGIN',1,'2011-08-08 17:17:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(124,'2011-08-08 15:35:56','USER_LOGOUT',1,'2011-08-08 17:35:56',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(125,'2011-08-08 15:36:05','USER_LOGIN',1,'2011-08-08 17:36:05',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(126,'2011-08-08 17:32:42','USER_LOGIN',1,'2011-08-08 19:32:42',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(127,'2012-12-08 13:49:37','USER_LOGOUT',1,'2012-12-08 14:49:37',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(128,'2012-12-08 13:49:42','USER_LOGIN',1,'2012-12-08 14:49:42',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(129,'2012-12-08 13:50:12','USER_LOGOUT',1,'2012-12-08 14:50:12',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(130,'2012-12-08 13:50:14','USER_LOGIN',1,'2012-12-08 14:50:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(131,'2012-12-08 13:50:17','USER_LOGOUT',1,'2012-12-08 14:50:17',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(132,'2012-12-08 13:52:47','USER_LOGIN',1,'2012-12-08 14:52:47',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(133,'2012-12-08 13:53:08','USER_MODIFY',1,'2012-12-08 14:53:08',1,'User admin modified','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(134,'2012-12-08 14:08:45','USER_LOGOUT',1,'2012-12-08 15:08:45',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(135,'2012-12-08 14:09:09','USER_LOGIN',1,'2012-12-08 15:09:09',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(136,'2012-12-08 14:11:43','USER_LOGOUT',1,'2012-12-08 15:11:43',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(137,'2012-12-08 14:11:45','USER_LOGIN',1,'2012-12-08 15:11:45',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(138,'2012-12-08 14:22:53','USER_LOGOUT',1,'2012-12-08 15:22:53',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(139,'2012-12-08 14:22:54','USER_LOGIN',1,'2012-12-08 15:22:54',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(140,'2012-12-08 14:23:10','USER_LOGOUT',1,'2012-12-08 15:23:10',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(141,'2012-12-08 14:23:11','USER_LOGIN',1,'2012-12-08 15:23:11',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(142,'2012-12-08 14:23:49','USER_LOGOUT',1,'2012-12-08 15:23:49',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(143,'2012-12-08 14:23:50','USER_LOGIN',1,'2012-12-08 15:23:50',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(144,'2012-12-08 14:28:08','USER_LOGOUT',1,'2012-12-08 15:28:08',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(145,'2012-12-08 14:35:15','USER_LOGIN',1,'2012-12-08 15:35:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(146,'2012-12-08 14:35:18','USER_LOGOUT',1,'2012-12-08 15:35:18',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(147,'2012-12-08 14:36:07','USER_LOGIN',1,'2012-12-08 15:36:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(148,'2012-12-08 14:36:09','USER_LOGOUT',1,'2012-12-08 15:36:09',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(149,'2012-12-08 14:36:41','USER_LOGIN',1,'2012-12-08 15:36:41',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(150,'2012-12-08 15:59:13','USER_LOGIN',1,'2012-12-08 16:59:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(151,'2012-12-09 11:49:52','USER_LOGIN',1,'2012-12-09 12:49:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(152,'2012-12-09 13:46:31','USER_LOGIN',1,'2012-12-09 14:46:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(153,'2012-12-09 19:03:14','USER_LOGIN',1,'2012-12-09 20:03:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(154,'2012-12-10 00:16:31','USER_LOGIN',1,'2012-12-10 01:16:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(170,'2012-12-11 22:03:31','USER_LOGIN',1,'2012-12-11 23:03:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(171,'2012-12-12 00:32:39','USER_LOGIN',1,'2012-12-12 01:32:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(172,'2012-12-12 10:49:59','USER_LOGIN',1,'2012-12-12 11:49:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(175,'2012-12-12 10:57:40','USER_MODIFY',1,'2012-12-12 11:57:40',1,'Modification utilisateur admin','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(176,'2012-12-12 13:29:15','USER_LOGIN',1,'2012-12-12 14:29:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(177,'2012-12-12 13:30:15','USER_LOGIN',1,'2012-12-12 14:30:15',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(178,'2012-12-12 13:40:08','USER_LOGOUT',1,'2012-12-12 14:40:08',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(179,'2012-12-12 13:40:10','USER_LOGIN',1,'2012-12-12 14:40:10',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(180,'2012-12-12 13:40:26','USER_MODIFY',1,'2012-12-12 14:40:26',1,'Modification utilisateur admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(181,'2012-12-12 13:40:34','USER_LOGOUT',1,'2012-12-12 14:40:34',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(182,'2012-12-12 13:42:23','USER_LOGIN',1,'2012-12-12 14:42:23',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(183,'2012-12-12 13:43:02','USER_NEW_PASSWORD',1,'2012-12-12 14:43:02',NULL,'Changement mot de passe de admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(184,'2012-12-12 13:43:25','USER_LOGOUT',1,'2012-12-12 14:43:25',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(185,'2012-12-12 13:43:27','USER_LOGIN_FAILED',1,'2012-12-12 14:43:27',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(186,'2012-12-12 13:43:30','USER_LOGIN',1,'2012-12-12 14:43:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(187,'2012-12-12 14:52:11','USER_LOGIN',1,'2012-12-12 15:52:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(188,'2012-12-12 17:53:00','USER_LOGIN_FAILED',1,'2012-12-12 18:53:00',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(189,'2012-12-12 17:53:07','USER_LOGIN_FAILED',1,'2012-12-12 18:53:07',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(190,'2012-12-12 17:53:51','USER_NEW_PASSWORD',1,'2012-12-12 18:53:51',NULL,'Changement mot de passe de admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(191,'2012-12-12 17:54:00','USER_LOGIN',1,'2012-12-12 18:54:00',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(192,'2012-12-12 17:54:10','USER_NEW_PASSWORD',1,'2012-12-12 18:54:10',1,'Changement mot de passe de admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(193,'2012-12-12 17:54:10','USER_MODIFY',1,'2012-12-12 18:54:10',1,'Modification utilisateur admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(194,'2012-12-12 18:57:09','USER_LOGIN',1,'2012-12-12 19:57:09',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(195,'2012-12-12 23:04:08','USER_LOGIN',1,'2012-12-13 00:04:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(196,'2012-12-17 20:03:14','USER_LOGIN',1,'2012-12-17 21:03:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(197,'2012-12-17 21:18:45','USER_LOGIN',1,'2012-12-17 22:18:45',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(198,'2012-12-17 22:30:08','USER_LOGIN',1,'2012-12-17 23:30:08',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(199,'2012-12-18 23:32:03','USER_LOGIN',1,'2012-12-19 00:32:03',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(200,'2012-12-19 09:38:03','USER_LOGIN',1,'2012-12-19 10:38:03',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(201,'2012-12-19 11:23:35','USER_LOGIN',1,'2012-12-19 12:23:35',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(202,'2012-12-19 12:46:22','USER_LOGIN',1,'2012-12-19 13:46:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(214,'2012-12-19 19:11:31','USER_LOGIN',1,'2012-12-19 20:11:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(215,'2012-12-21 16:36:57','USER_LOGIN',1,'2012-12-21 17:36:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(216,'2012-12-21 16:38:43','USER_NEW_PASSWORD',1,'2012-12-21 17:38:43',1,'Changement mot de passe de adupont','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(217,'2012-12-21 16:38:43','USER_MODIFY',1,'2012-12-21 17:38:43',1,'Modification utilisateur adupont','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(218,'2012-12-21 16:38:51','USER_LOGOUT',1,'2012-12-21 17:38:51',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(219,'2012-12-21 16:38:55','USER_LOGIN',1,'2012-12-21 17:38:55',3,'(UserLogged,adupont)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(220,'2012-12-21 16:48:18','USER_LOGOUT',1,'2012-12-21 17:48:18',3,'(UserLogoff,adupont)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(221,'2012-12-21 16:48:20','USER_LOGIN',1,'2012-12-21 17:48:20',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(222,'2012-12-26 18:28:18','USER_LOGIN',1,'2012-12-26 19:28:18',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(223,'2012-12-26 20:00:24','USER_LOGIN',1,'2012-12-26 21:00:24',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(224,'2012-12-27 01:10:27','USER_LOGIN',1,'2012-12-27 02:10:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(225,'2012-12-28 19:12:08','USER_LOGIN',1,'2012-12-28 20:12:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(226,'2012-12-28 20:16:58','USER_LOGIN',1,'2012-12-28 21:16:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(227,'2012-12-29 14:35:46','USER_LOGIN',1,'2012-12-29 15:35:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(228,'2012-12-29 14:37:59','USER_LOGOUT',1,'2012-12-29 15:37:59',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(229,'2012-12-29 14:38:00','USER_LOGIN',1,'2012-12-29 15:38:00',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(230,'2012-12-29 17:16:48','USER_LOGIN',1,'2012-12-29 18:16:48',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(231,'2012-12-31 12:02:59','USER_LOGIN',1,'2012-12-31 13:02:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(232,'2013-01-02 20:32:51','USER_LOGIN',1,'2013-01-02 21:32:51',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:17.0) Gecko/20100101 Firefox/17.0',NULL),(233,'2013-01-02 20:58:59','USER_LOGIN',1,'2013-01-02 21:58:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(234,'2013-01-03 09:25:07','USER_LOGIN',1,'2013-01-03 10:25:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(235,'2013-01-03 19:39:31','USER_LOGIN',1,'2013-01-03 20:39:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(236,'2013-01-04 22:40:19','USER_LOGIN',1,'2013-01-04 23:40:19',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(237,'2013-01-05 12:59:59','USER_LOGIN',1,'2013-01-05 13:59:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(238,'2013-01-05 15:28:52','USER_LOGIN',1,'2013-01-05 16:28:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(239,'2013-01-05 17:02:08','USER_LOGIN',1,'2013-01-05 18:02:08',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(240,'2013-01-06 12:13:33','USER_LOGIN',1,'2013-01-06 13:13:33',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(241,'2013-01-07 01:21:15','USER_LOGIN',1,'2013-01-07 02:21:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(242,'2013-01-07 01:46:31','USER_LOGOUT',1,'2013-01-07 02:46:31',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(243,'2013-01-07 19:54:50','USER_LOGIN',1,'2013-01-07 20:54:50',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(244,'2013-01-08 21:55:01','USER_LOGIN',1,'2013-01-08 22:55:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(245,'2013-01-09 11:13:28','USER_LOGIN',1,'2013-01-09 12:13:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(246,'2013-01-10 18:30:46','USER_LOGIN',1,'2013-01-10 19:30:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(247,'2013-01-11 18:03:26','USER_LOGIN',1,'2013-01-11 19:03:26',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(248,'2013-01-12 11:15:04','USER_LOGIN',1,'2013-01-12 12:15:04',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(249,'2013-01-12 14:42:44','USER_LOGIN',1,'2013-01-12 15:42:44',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(250,'2013-01-13 12:07:17','USER_LOGIN',1,'2013-01-13 13:07:17',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(251,'2013-01-13 17:37:58','USER_LOGIN',1,'2013-01-13 18:37:58',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(252,'2013-01-13 19:24:21','USER_LOGIN',1,'2013-01-13 20:24:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(253,'2013-01-13 19:29:19','USER_LOGOUT',1,'2013-01-13 20:29:19',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(254,'2013-01-13 21:39:39','USER_LOGIN',1,'2013-01-13 22:39:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(255,'2013-01-14 00:52:21','USER_LOGIN',1,'2013-01-14 01:52:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(256,'2013-01-16 11:34:31','USER_LOGIN',1,'2013-01-16 12:34:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(257,'2013-01-16 15:36:21','USER_LOGIN',1,'2013-01-16 16:36:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(258,'2013-01-16 19:17:36','USER_LOGIN',1,'2013-01-16 20:17:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(259,'2013-01-16 19:48:08','GROUP_CREATE',1,'2013-01-16 20:48:08',1,'Création groupe ggg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(260,'2013-01-16 21:48:53','USER_LOGIN',1,'2013-01-16 22:48:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(261,'2013-01-17 19:55:53','USER_LOGIN',1,'2013-01-17 20:55:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(262,'2013-01-18 09:48:01','USER_LOGIN',1,'2013-01-18 10:48:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(263,'2013-01-18 13:22:36','USER_LOGIN',1,'2013-01-18 14:22:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(264,'2013-01-18 16:10:23','USER_LOGIN',1,'2013-01-18 17:10:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(265,'2013-01-18 17:41:40','USER_LOGIN',1,'2013-01-18 18:41:40',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(266,'2013-01-19 14:33:48','USER_LOGIN',1,'2013-01-19 15:33:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(267,'2013-01-19 16:47:43','USER_LOGIN',1,'2013-01-19 17:47:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(268,'2013-01-19 16:59:43','USER_LOGIN',1,'2013-01-19 17:59:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(269,'2013-01-19 17:00:22','USER_LOGIN',1,'2013-01-19 18:00:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(270,'2013-01-19 17:04:16','USER_LOGOUT',1,'2013-01-19 18:04:16',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(271,'2013-01-19 17:04:18','USER_LOGIN',1,'2013-01-19 18:04:18',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(272,'2013-01-20 00:34:19','USER_LOGIN',1,'2013-01-20 01:34:19',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(273,'2013-01-21 11:54:17','USER_LOGIN',1,'2013-01-21 12:54:17',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(274,'2013-01-21 13:48:15','USER_LOGIN',1,'2013-01-21 14:48:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(275,'2013-01-21 14:30:22','USER_LOGIN',1,'2013-01-21 15:30:22',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(276,'2013-01-21 15:10:46','USER_LOGIN',1,'2013-01-21 16:10:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(277,'2013-01-21 17:27:43','USER_LOGIN',1,'2013-01-21 18:27:43',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(278,'2013-01-21 21:48:15','USER_LOGIN',1,'2013-01-21 22:48:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(279,'2013-01-21 21:50:42','USER_LOGIN',1,'2013-01-21 22:50:42',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(280,'2013-01-23 09:28:26','USER_LOGIN',1,'2013-01-23 10:28:26',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(281,'2013-01-23 13:21:57','USER_LOGIN',1,'2013-01-23 14:21:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(282,'2013-01-23 16:52:00','USER_LOGOUT',1,'2013-01-23 17:52:00',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(283,'2013-01-23 16:52:05','USER_LOGIN_FAILED',1,'2013-01-23 17:52:05',NULL,'Bad value for login or password - login=bbb','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(284,'2013-01-23 16:52:09','USER_LOGIN',1,'2013-01-23 17:52:09',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(285,'2013-01-23 16:52:27','USER_CREATE',1,'2013-01-23 17:52:27',1,'Création utilisateur aaa','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(286,'2013-01-23 16:52:27','USER_NEW_PASSWORD',1,'2013-01-23 17:52:27',1,'Changement mot de passe de aaa','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(287,'2013-01-23 16:52:37','USER_CREATE',1,'2013-01-23 17:52:37',1,'Création utilisateur bbb','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(288,'2013-01-23 16:52:37','USER_NEW_PASSWORD',1,'2013-01-23 17:52:37',1,'Changement mot de passe de bbb','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(289,'2013-01-23 16:53:15','USER_LOGOUT',1,'2013-01-23 17:53:15',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(290,'2013-01-23 16:53:20','USER_LOGIN',1,'2013-01-23 17:53:20',4,'(UserLogged,aaa)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(291,'2013-01-23 19:16:58','USER_LOGIN',1,'2013-01-23 20:16:58',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(292,'2013-01-26 10:54:07','USER_LOGIN',1,'2013-01-26 11:54:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(293,'2013-01-29 10:15:36','USER_LOGIN',1,'2013-01-29 11:15:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(294,'2013-01-30 17:42:50','USER_LOGIN',1,'2013-01-30 18:42:50',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(295,'2013-02-01 08:49:55','USER_LOGIN',1,'2013-02-01 09:49:55',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(296,'2013-02-01 08:51:57','USER_LOGOUT',1,'2013-02-01 09:51:57',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(297,'2013-02-01 08:52:39','USER_LOGIN',1,'2013-02-01 09:52:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(298,'2013-02-01 21:03:01','USER_LOGIN',1,'2013-02-01 22:03:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(299,'2013-02-10 19:48:39','USER_LOGIN',1,'2013-02-10 20:48:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(300,'2013-02-10 20:46:48','USER_LOGIN',1,'2013-02-10 21:46:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(301,'2013-02-10 21:39:23','USER_LOGIN',1,'2013-02-10 22:39:23',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(302,'2013-02-11 19:00:13','USER_LOGIN',1,'2013-02-11 20:00:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(303,'2013-02-11 19:43:44','USER_LOGIN_FAILED',1,'2013-02-11 20:43:44',NULL,'Unknown column \'u.fk_user\' in \'field list\'','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(304,'2013-02-11 19:44:01','USER_LOGIN',1,'2013-02-11 20:44:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(305,'2013-02-12 00:27:35','USER_LOGIN',1,'2013-02-12 01:27:35',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(306,'2013-02-12 00:27:38','USER_LOGOUT',1,'2013-02-12 01:27:38',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(307,'2013-02-12 00:28:07','USER_LOGIN',1,'2013-02-12 01:28:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(308,'2013-02-12 00:28:09','USER_LOGOUT',1,'2013-02-12 01:28:09',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(309,'2013-02-12 00:28:26','USER_LOGIN',1,'2013-02-12 01:28:26',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(310,'2013-02-12 00:28:30','USER_LOGOUT',1,'2013-02-12 01:28:30',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(311,'2013-02-12 12:42:15','USER_LOGIN',1,'2013-02-12 13:42:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(312,'2013-02-12 13:46:16','USER_LOGIN',1,'2013-02-12 14:46:16',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(313,'2013-02-12 14:54:28','USER_LOGIN',1,'2013-02-12 15:54:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(314,'2013-02-12 16:04:46','USER_LOGIN',1,'2013-02-12 17:04:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(315,'2013-02-13 14:02:43','USER_LOGIN',1,'2013-02-13 15:02:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(316,'2013-02-13 14:48:30','USER_LOGIN',1,'2013-02-13 15:48:30',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(317,'2013-02-13 17:44:53','USER_LOGIN',1,'2013-02-13 18:44:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(318,'2013-02-15 08:44:36','USER_LOGIN',1,'2013-02-15 09:44:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(319,'2013-02-15 08:53:20','USER_LOGIN',1,'2013-02-15 09:53:20',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(320,'2013-02-16 19:10:28','USER_LOGIN',1,'2013-02-16 20:10:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(321,'2013-02-16 19:22:40','USER_CREATE',1,'2013-02-16 20:22:40',1,'Création utilisateur aaab','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(322,'2013-02-16 19:22:40','USER_NEW_PASSWORD',1,'2013-02-16 20:22:40',1,'Changement mot de passe de aaab','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(323,'2013-02-16 19:48:15','USER_CREATE',1,'2013-02-16 20:48:15',1,'Création utilisateur zzz','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(324,'2013-02-16 19:48:15','USER_NEW_PASSWORD',1,'2013-02-16 20:48:15',1,'Changement mot de passe de zzz','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(325,'2013-02-16 19:50:08','USER_CREATE',1,'2013-02-16 20:50:08',1,'Création utilisateur zzzg','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(326,'2013-02-16 19:50:08','USER_NEW_PASSWORD',1,'2013-02-16 20:50:08',1,'Changement mot de passe de zzzg','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(327,'2013-02-16 21:20:03','USER_LOGIN',1,'2013-02-16 22:20:03',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(328,'2013-02-17 14:30:51','USER_LOGIN',1,'2013-02-17 15:30:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(329,'2013-02-17 17:21:22','USER_LOGIN',1,'2013-02-17 18:21:22',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(330,'2013-02-17 17:48:43','USER_MODIFY',1,'2013-02-17 18:48:43',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(331,'2013-02-17 17:48:47','USER_MODIFY',1,'2013-02-17 18:48:47',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(332,'2013-02-17 17:48:51','USER_MODIFY',1,'2013-02-17 18:48:51',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(333,'2013-02-17 17:48:56','USER_MODIFY',1,'2013-02-17 18:48:56',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(334,'2013-02-18 22:00:01','USER_LOGIN',1,'2013-02-18 23:00:01',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(335,'2013-02-19 08:19:52','USER_LOGIN',1,'2013-02-19 09:19:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(336,'2013-02-19 22:00:52','USER_LOGIN',1,'2013-02-19 23:00:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(337,'2013-02-20 09:34:52','USER_LOGIN',1,'2013-02-20 10:34:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(338,'2013-02-20 13:12:28','USER_LOGIN',1,'2013-02-20 14:12:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(339,'2013-02-20 17:19:44','USER_LOGIN',1,'2013-02-20 18:19:44',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(340,'2013-02-20 19:07:21','USER_MODIFY',1,'2013-02-20 20:07:21',1,'Modification utilisateur adupont','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(341,'2013-02-20 19:47:17','USER_LOGIN',1,'2013-02-20 20:47:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(342,'2013-02-20 19:48:01','USER_MODIFY',1,'2013-02-20 20:48:01',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(343,'2013-02-21 08:27:07','USER_LOGIN',1,'2013-02-21 09:27:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(344,'2013-02-23 13:34:13','USER_LOGIN',1,'2013-02-23 14:34:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(345,'2013-02-24 01:06:41','USER_LOGIN_FAILED',1,'2013-02-24 02:06:41',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(346,'2013-02-24 01:06:45','USER_LOGIN_FAILED',1,'2013-02-24 02:06:45',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(347,'2013-02-24 01:06:55','USER_LOGIN_FAILED',1,'2013-02-24 02:06:55',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(348,'2013-02-24 01:07:03','USER_LOGIN_FAILED',1,'2013-02-24 02:07:03',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(349,'2013-02-24 01:07:21','USER_LOGIN_FAILED',1,'2013-02-24 02:07:21',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(350,'2013-02-24 01:08:12','USER_LOGIN_FAILED',1,'2013-02-24 02:08:12',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(351,'2013-02-24 01:08:42','USER_LOGIN_FAILED',1,'2013-02-24 02:08:42',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(352,'2013-02-24 01:08:50','USER_LOGIN_FAILED',1,'2013-02-24 02:08:50',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(353,'2013-02-24 01:09:08','USER_LOGIN_FAILED',1,'2013-02-24 02:09:08',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(354,'2013-02-24 01:09:42','USER_LOGIN_FAILED',1,'2013-02-24 02:09:42',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(355,'2013-02-24 01:09:50','USER_LOGIN_FAILED',1,'2013-02-24 02:09:50',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(356,'2013-02-24 01:10:05','USER_LOGIN_FAILED',1,'2013-02-24 02:10:05',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(357,'2013-02-24 01:10:22','USER_LOGIN_FAILED',1,'2013-02-24 02:10:22',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(358,'2013-02-24 01:10:30','USER_LOGIN_FAILED',1,'2013-02-24 02:10:30',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(359,'2013-02-24 01:10:56','USER_LOGIN_FAILED',1,'2013-02-24 02:10:56',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(360,'2013-02-24 01:11:26','USER_LOGIN_FAILED',1,'2013-02-24 02:11:26',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(361,'2013-02-24 01:12:06','USER_LOGIN_FAILED',1,'2013-02-24 02:12:06',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(362,'2013-02-24 01:21:14','USER_LOGIN_FAILED',1,'2013-02-24 02:21:14',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(363,'2013-02-24 01:21:25','USER_LOGIN_FAILED',1,'2013-02-24 02:21:25',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(364,'2013-02-24 01:21:54','USER_LOGIN_FAILED',1,'2013-02-24 02:21:54',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(365,'2013-02-24 01:22:14','USER_LOGIN_FAILED',1,'2013-02-24 02:22:14',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(366,'2013-02-24 01:22:37','USER_LOGIN_FAILED',1,'2013-02-24 02:22:37',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(367,'2013-02-24 01:23:01','USER_LOGIN_FAILED',1,'2013-02-24 02:23:01',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(368,'2013-02-24 01:23:39','USER_LOGIN_FAILED',1,'2013-02-24 02:23:39',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(369,'2013-02-24 01:24:04','USER_LOGIN_FAILED',1,'2013-02-24 02:24:04',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(370,'2013-02-24 01:24:39','USER_LOGIN_FAILED',1,'2013-02-24 02:24:39',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(371,'2013-02-24 01:25:01','USER_LOGIN_FAILED',1,'2013-02-24 02:25:01',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(372,'2013-02-24 01:25:12','USER_LOGIN_FAILED',1,'2013-02-24 02:25:12',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(373,'2013-02-24 01:27:30','USER_LOGIN_FAILED',1,'2013-02-24 02:27:30',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(374,'2013-02-24 01:28:00','USER_LOGIN_FAILED',1,'2013-02-24 02:28:00',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(375,'2013-02-24 01:28:35','USER_LOGIN_FAILED',1,'2013-02-24 02:28:35',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(376,'2013-02-24 01:29:03','USER_LOGIN_FAILED',1,'2013-02-24 02:29:03',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(377,'2013-02-24 01:29:55','USER_LOGIN_FAILED',1,'2013-02-24 02:29:55',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(378,'2013-02-24 01:32:40','USER_LOGIN_FAILED',1,'2013-02-24 02:32:40',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(379,'2013-02-24 01:39:33','USER_LOGIN_FAILED',1,'2013-02-24 02:39:33',NULL,'Identifiants login ou mot de passe incorrects - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(380,'2013-02-24 01:39:38','USER_LOGIN_FAILED',1,'2013-02-24 02:39:38',NULL,'Identifiants login ou mot de passe incorrects - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(381,'2013-02-24 01:39:47','USER_LOGIN_FAILED',1,'2013-02-24 02:39:47',NULL,'Identifiants login ou mot de passe incorrects - login=lmkm','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(382,'2013-02-24 01:40:54','USER_LOGIN_FAILED',1,'2013-02-24 02:40:54',NULL,'Identifiants login ou mot de passe incorrects - login=lmkm','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(383,'2013-02-24 01:47:57','USER_LOGIN_FAILED',1,'2013-02-24 02:47:57',NULL,'Identifiants login ou mot de passe incorrects - login=lmkm','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(384,'2013-02-24 01:48:05','USER_LOGIN_FAILED',1,'2013-02-24 02:48:05',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(385,'2013-02-24 01:48:07','USER_LOGIN_FAILED',1,'2013-02-24 02:48:07',NULL,'Unknown column \'u.lastname\' in \'field list\'','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(386,'2013-02-24 01:48:35','USER_LOGIN',1,'2013-02-24 02:48:35',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(387,'2013-02-24 01:56:32','USER_LOGIN',1,'2013-02-24 02:56:32',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',NULL),(388,'2013-02-24 02:05:55','USER_LOGOUT',1,'2013-02-24 03:05:55',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(389,'2013-02-24 02:39:52','USER_LOGIN',1,'2013-02-24 03:39:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(390,'2013-02-24 02:51:10','USER_LOGOUT',1,'2013-02-24 03:51:10',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(391,'2013-02-24 12:46:41','USER_LOGIN',1,'2013-02-24 13:46:41',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(392,'2013-02-24 12:46:52','USER_LOGOUT',1,'2013-02-24 13:46:52',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(393,'2013-02-24 12:46:56','USER_LOGIN',1,'2013-02-24 13:46:56',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(394,'2013-02-24 12:47:56','USER_LOGOUT',1,'2013-02-24 13:47:56',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(395,'2013-02-24 12:48:00','USER_LOGIN',1,'2013-02-24 13:48:00',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(396,'2013-02-24 12:48:11','USER_LOGOUT',1,'2013-02-24 13:48:11',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(397,'2013-02-24 12:48:32','USER_LOGIN',1,'2013-02-24 13:48:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(398,'2013-02-24 12:52:22','USER_LOGOUT',1,'2013-02-24 13:52:22',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(399,'2013-02-24 12:52:27','USER_LOGIN',1,'2013-02-24 13:52:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(400,'2013-02-24 12:52:54','USER_LOGOUT',1,'2013-02-24 13:52:54',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(401,'2013-02-24 12:52:59','USER_LOGIN',1,'2013-02-24 13:52:59',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(402,'2013-02-24 12:55:39','USER_LOGOUT',1,'2013-02-24 13:55:39',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(403,'2013-02-24 12:55:59','USER_LOGIN',1,'2013-02-24 13:55:59',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(404,'2013-02-24 12:56:07','USER_LOGOUT',1,'2013-02-24 13:56:07',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(405,'2013-02-24 12:56:23','USER_LOGIN',1,'2013-02-24 13:56:23',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(406,'2013-02-24 12:56:46','USER_LOGOUT',1,'2013-02-24 13:56:46',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(407,'2013-02-24 12:58:30','USER_LOGIN',1,'2013-02-24 13:58:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(408,'2013-02-24 12:58:33','USER_LOGOUT',1,'2013-02-24 13:58:33',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(409,'2013-02-24 12:58:51','USER_LOGIN',1,'2013-02-24 13:58:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(410,'2013-02-24 12:58:58','USER_LOGOUT',1,'2013-02-24 13:58:58',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(411,'2013-02-24 13:18:53','USER_LOGIN',1,'2013-02-24 14:18:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(412,'2013-02-24 13:19:52','USER_LOGOUT',1,'2013-02-24 14:19:52',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(413,'2013-02-24 15:39:31','USER_LOGIN_FAILED',1,'2013-02-24 16:39:31',NULL,'ErrorBadValueForCode - login=admin','127.0.0.1',NULL,NULL),(414,'2013-02-24 15:42:07','USER_LOGIN',1,'2013-02-24 16:42:07',1,'(UserLogged,admin)','127.0.0.1',NULL,NULL),(415,'2013-02-24 15:42:52','USER_LOGOUT',1,'2013-02-24 16:42:52',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(416,'2013-02-24 16:04:21','USER_LOGIN',1,'2013-02-24 17:04:21',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',NULL),(417,'2013-02-24 16:11:28','USER_LOGIN_FAILED',1,'2013-02-24 17:11:28',NULL,'ErrorBadValueForCode - login=admin','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(418,'2013-02-24 16:11:37','USER_LOGIN',1,'2013-02-24 17:11:37',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(419,'2013-02-24 16:36:52','USER_LOGOUT',1,'2013-02-24 17:36:52',1,'(UserLogoff,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',NULL),(420,'2013-02-24 16:40:37','USER_LOGIN',1,'2013-02-24 17:40:37',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(421,'2013-02-24 16:57:16','USER_LOGIN',1,'2013-02-24 17:57:16',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 - 2131034114',NULL),(422,'2013-02-24 17:01:30','USER_LOGOUT',1,'2013-02-24 18:01:30',1,'(UserLogoff,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 - 2131034114',NULL),(423,'2013-02-24 17:02:33','USER_LOGIN',1,'2013-02-24 18:02:33',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(424,'2013-02-24 17:14:22','USER_LOGOUT',1,'2013-02-24 18:14:22',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(425,'2013-02-24 17:15:07','USER_LOGIN_FAILED',1,'2013-02-24 18:15:07',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(426,'2013-02-24 17:15:20','USER_LOGIN',1,'2013-02-24 18:15:20',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(427,'2013-02-24 17:20:14','USER_LOGIN',1,'2013-02-24 18:20:14',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(428,'2013-02-24 17:20:51','USER_LOGIN',1,'2013-02-24 18:20:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(429,'2013-02-24 17:20:54','USER_LOGOUT',1,'2013-02-24 18:20:54',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(430,'2013-02-24 17:21:19','USER_LOGIN',1,'2013-02-24 18:21:19',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(431,'2013-02-24 17:32:35','USER_LOGIN',1,'2013-02-24 18:32:35',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 - 2131034114',NULL),(432,'2013-02-24 18:28:48','USER_LOGIN',1,'2013-02-24 19:28:48',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(433,'2013-02-24 18:29:27','USER_LOGOUT',1,'2013-02-24 19:29:27',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(434,'2013-02-24 18:29:32','USER_LOGIN',1,'2013-02-24 19:29:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(435,'2013-02-24 20:13:13','USER_LOGOUT',1,'2013-02-24 21:13:13',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(436,'2013-02-24 20:13:17','USER_LOGIN',1,'2013-02-24 21:13:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(437,'2013-02-25 08:57:16','USER_LOGIN',1,'2013-02-25 09:57:16',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(438,'2013-02-25 08:57:59','USER_LOGOUT',1,'2013-02-25 09:57:59',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(439,'2013-02-25 09:15:02','USER_LOGIN',1,'2013-02-25 10:15:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(440,'2013-02-25 09:15:50','USER_LOGOUT',1,'2013-02-25 10:15:50',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(441,'2013-02-25 09:15:57','USER_LOGIN',1,'2013-02-25 10:15:57',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(442,'2013-02-25 09:16:12','USER_LOGOUT',1,'2013-02-25 10:16:12',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(443,'2013-02-25 09:16:19','USER_LOGIN',1,'2013-02-25 10:16:19',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(444,'2013-02-25 09:16:25','USER_LOGOUT',1,'2013-02-25 10:16:25',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(445,'2013-02-25 09:16:39','USER_LOGIN_FAILED',1,'2013-02-25 10:16:39',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(446,'2013-02-25 09:16:42','USER_LOGIN_FAILED',1,'2013-02-25 10:16:42',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(447,'2013-02-25 09:16:54','USER_LOGIN_FAILED',1,'2013-02-25 10:16:54',NULL,'Identificadors d'usuari o contrasenya incorrectes - login=gfdg','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(448,'2013-02-25 09:17:53','USER_LOGIN',1,'2013-02-25 10:17:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(449,'2013-02-25 09:18:37','USER_LOGOUT',1,'2013-02-25 10:18:37',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(450,'2013-02-25 09:18:41','USER_LOGIN',1,'2013-02-25 10:18:41',4,'(UserLogged,aaa)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(451,'2013-02-25 09:18:47','USER_LOGOUT',1,'2013-02-25 10:18:47',4,'(UserLogoff,aaa)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(452,'2013-02-25 10:05:34','USER_LOGIN',1,'2013-02-25 11:05:34',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(453,'2013-02-26 21:51:40','USER_LOGIN',1,'2013-02-26 22:51:40',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(454,'2013-02-26 23:30:06','USER_LOGIN',1,'2013-02-27 00:30:06',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(455,'2013-02-27 14:13:11','USER_LOGIN',1,'2013-02-27 15:13:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(456,'2013-02-27 18:12:06','USER_LOGIN_FAILED',1,'2013-02-27 19:12:06',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(457,'2013-02-27 18:12:10','USER_LOGIN',1,'2013-02-27 19:12:10',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(458,'2013-02-27 20:20:08','USER_LOGIN',1,'2013-02-27 21:20:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(459,'2013-03-01 22:12:03','USER_LOGIN',1,'2013-03-01 23:12:03',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(460,'2013-03-02 11:45:50','USER_LOGIN',1,'2013-03-02 12:45:50',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(461,'2013-03-02 15:53:51','USER_LOGIN_FAILED',1,'2013-03-02 16:53:51',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(462,'2013-03-02 15:53:53','USER_LOGIN',1,'2013-03-02 16:53:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(463,'2013-03-02 18:32:32','USER_LOGIN',1,'2013-03-02 19:32:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(464,'2013-03-02 22:59:36','USER_LOGIN',1,'2013-03-02 23:59:36',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(465,'2013-03-03 16:26:26','USER_LOGIN',1,'2013-03-03 17:26:26',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(466,'2013-03-03 22:50:27','USER_LOGIN',1,'2013-03-03 23:50:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(467,'2013-03-04 08:29:27','USER_LOGIN',1,'2013-03-04 09:29:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(468,'2013-03-04 18:27:28','USER_LOGIN',1,'2013-03-04 19:27:28',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; NP06)',NULL),(469,'2013-03-04 19:27:23','USER_LOGIN',1,'2013-03-04 20:27:23',1,'(UserLogged,admin)','192.168.0.254','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)',NULL),(470,'2013-03-04 19:35:14','USER_LOGIN',1,'2013-03-04 20:35:14',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(471,'2013-03-04 19:55:49','USER_LOGIN',1,'2013-03-04 20:55:49',1,'(UserLogged,admin)','192.168.0.254','Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)',NULL),(472,'2013-03-04 21:16:13','USER_LOGIN',1,'2013-03-04 22:16:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(473,'2013-03-05 10:17:30','USER_LOGIN',1,'2013-03-05 11:17:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(474,'2013-03-05 11:02:43','USER_LOGIN',1,'2013-03-05 12:02:43',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(475,'2013-03-05 23:14:39','USER_LOGIN',1,'2013-03-06 00:14:39',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(476,'2013-03-06 08:58:57','USER_LOGIN',1,'2013-03-06 09:58:57',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(477,'2013-03-06 14:29:40','USER_LOGIN',1,'2013-03-06 15:29:40',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(478,'2013-03-06 21:53:02','USER_LOGIN',1,'2013-03-06 22:53:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(479,'2013-03-07 21:14:39','USER_LOGIN',1,'2013-03-07 22:14:39',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(480,'2013-03-08 00:06:05','USER_LOGIN',1,'2013-03-08 01:06:05',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(481,'2013-03-08 01:38:13','USER_LOGIN',1,'2013-03-08 02:38:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(482,'2013-03-08 08:59:50','USER_LOGIN',1,'2013-03-08 09:59:50',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(483,'2013-03-09 12:08:51','USER_LOGIN',1,'2013-03-09 13:08:51',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(484,'2013-03-09 15:19:53','USER_LOGIN',1,'2013-03-09 16:19:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(495,'2013-03-09 18:06:21','USER_LOGIN',1,'2013-03-09 19:06:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(496,'2013-03-09 20:01:24','USER_LOGIN',1,'2013-03-09 21:01:24',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(497,'2013-03-09 23:36:45','USER_LOGIN',1,'2013-03-10 00:36:45',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(498,'2013-03-10 14:37:13','USER_LOGIN',1,'2013-03-10 15:37:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(499,'2013-03-10 17:54:12','USER_LOGIN',1,'2013-03-10 18:54:12',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(500,'2013-03-11 08:57:09','USER_LOGIN',1,'2013-03-11 09:57:09',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(501,'2013-03-11 22:05:13','USER_LOGIN',1,'2013-03-11 23:05:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(502,'2013-03-12 08:34:27','USER_LOGIN',1,'2013-03-12 09:34:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(503,'2013-03-13 09:11:02','USER_LOGIN',1,'2013-03-13 10:11:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(504,'2013-03-13 10:02:11','USER_LOGIN',1,'2013-03-13 11:02:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(505,'2013-03-13 13:20:58','USER_LOGIN',1,'2013-03-13 14:20:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(506,'2013-03-13 16:19:28','USER_LOGIN',1,'2013-03-13 17:19:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(507,'2013-03-13 18:34:30','USER_LOGIN',1,'2013-03-13 19:34:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(508,'2013-03-14 08:25:02','USER_LOGIN',1,'2013-03-14 09:25:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(509,'2013-03-14 19:15:22','USER_LOGIN',1,'2013-03-14 20:15:22',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(510,'2013-03-14 21:58:53','USER_LOGIN',1,'2013-03-14 22:58:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(511,'2013-03-14 21:58:59','USER_LOGOUT',1,'2013-03-14 22:58:59',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(512,'2013-03-14 21:59:07','USER_LOGIN',1,'2013-03-14 22:59:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(513,'2013-03-14 22:58:22','USER_LOGOUT',1,'2013-03-14 23:58:22',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(514,'2013-03-14 23:00:25','USER_LOGIN',1,'2013-03-15 00:00:25',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(515,'2013-03-16 12:14:28','USER_LOGIN',1,'2013-03-16 13:14:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(516,'2013-03-16 16:09:01','USER_LOGIN',1,'2013-03-16 17:09:01',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(517,'2013-03-16 16:57:11','USER_LOGIN',1,'2013-03-16 17:57:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(518,'2013-03-16 19:31:31','USER_LOGIN',1,'2013-03-16 20:31:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(519,'2013-03-17 17:44:39','USER_LOGIN',1,'2013-03-17 18:44:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(520,'2013-03-17 20:40:57','USER_LOGIN',1,'2013-03-17 21:40:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(521,'2013-03-17 23:14:05','USER_LOGIN',1,'2013-03-18 00:14:05',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(522,'2013-03-17 23:28:47','USER_LOGOUT',1,'2013-03-18 00:28:47',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(523,'2013-03-17 23:28:54','USER_LOGIN',1,'2013-03-18 00:28:54',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(524,'2013-03-18 17:37:30','USER_LOGIN',1,'2013-03-18 18:37:30',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(525,'2013-03-18 18:11:37','USER_LOGIN',1,'2013-03-18 19:11:37',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(526,'2013-03-19 08:35:08','USER_LOGIN',1,'2013-03-19 09:35:08',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(527,'2013-03-19 09:20:23','USER_LOGIN',1,'2013-03-19 10:20:23',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(528,'2013-03-20 13:17:13','USER_LOGIN',1,'2013-03-20 14:17:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(529,'2013-03-20 14:44:31','USER_LOGIN',1,'2013-03-20 15:44:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(530,'2013-03-20 18:24:25','USER_LOGIN',1,'2013-03-20 19:24:25',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(531,'2013-03-20 19:15:54','USER_LOGIN',1,'2013-03-20 20:15:54',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(532,'2013-03-21 18:40:47','USER_LOGIN',1,'2013-03-21 19:40:47',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(533,'2013-03-21 21:42:24','USER_LOGIN',1,'2013-03-21 22:42:24',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(534,'2013-03-22 08:39:23','USER_LOGIN',1,'2013-03-22 09:39:23',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(535,'2013-03-23 13:04:55','USER_LOGIN',1,'2013-03-23 14:04:55',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(536,'2013-03-23 15:47:43','USER_LOGIN',1,'2013-03-23 16:47:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(537,'2013-03-23 22:56:36','USER_LOGIN',1,'2013-03-23 23:56:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(538,'2013-03-24 01:22:32','USER_LOGIN',1,'2013-03-24 02:22:32',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(539,'2013-03-24 14:40:42','USER_LOGIN',1,'2013-03-24 15:40:42',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(540,'2013-03-24 15:30:26','USER_LOGOUT',1,'2013-03-24 16:30:26',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(541,'2013-03-24 15:30:29','USER_LOGIN',1,'2013-03-24 16:30:29',2,'(UserLogged,demo)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(542,'2013-03-24 15:49:40','USER_LOGOUT',1,'2013-03-24 16:49:40',2,'(UserLogoff,demo)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(543,'2013-03-24 15:49:48','USER_LOGIN',1,'2013-03-24 16:49:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(544,'2013-03-24 15:52:35','USER_MODIFY',1,'2013-03-24 16:52:35',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(545,'2013-03-24 15:52:52','USER_MODIFY',1,'2013-03-24 16:52:52',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(546,'2013-03-24 15:53:09','USER_MODIFY',1,'2013-03-24 16:53:09',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(547,'2013-03-24 15:53:23','USER_MODIFY',1,'2013-03-24 16:53:23',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(548,'2013-03-24 16:00:04','USER_MODIFY',1,'2013-03-24 17:00:04',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(549,'2013-03-24 16:01:50','USER_MODIFY',1,'2013-03-24 17:01:50',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(550,'2013-03-24 16:10:14','USER_MODIFY',1,'2013-03-24 17:10:14',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(551,'2013-03-24 16:55:13','USER_LOGIN',1,'2013-03-24 17:55:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(552,'2013-03-24 17:44:29','USER_LOGIN',1,'2013-03-24 18:44:29',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(553,'2013-09-08 23:06:26','USER_LOGIN',1,'2013-09-09 01:06:26',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36',NULL),(554,'2013-10-21 22:32:28','USER_LOGIN',1,'2013-10-22 00:32:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.66 Safari/537.36',NULL),(555,'2013-10-21 22:32:48','USER_LOGIN',1,'2013-10-22 00:32:48',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.66 Safari/537.36',NULL),(556,'2013-11-07 00:01:51','USER_LOGIN',1,'2013-11-07 01:01:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.114 Safari/537.36',NULL),(557,'2014-03-02 15:21:07','USER_LOGIN',1,'2014-03-02 16:21:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(558,'2014-03-02 15:36:53','USER_LOGIN',1,'2014-03-02 16:36:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(559,'2014-03-02 18:54:23','USER_LOGIN',1,'2014-03-02 19:54:23',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(560,'2014-03-02 19:11:17','USER_LOGIN',1,'2014-03-02 20:11:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(561,'2014-03-03 18:19:24','USER_LOGIN',1,'2014-03-03 19:19:24',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(562,'2014-12-21 12:51:38','USER_LOGIN',1,'2014-12-21 13:51:38',1,'(UserLogged,admin) - TZ=1;TZString=CET;Screen=1920x969','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36',NULL),(563,'2014-12-21 19:52:09','USER_LOGIN',1,'2014-12-21 20:52:09',1,'(UserLogged,admin) - TZ=1;TZString=CET;Screen=1920x969','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36',NULL),(566,'2015-10-03 08:49:43','USER_NEW_PASSWORD',1,'2015-10-03 10:49:43',1,'Password change for admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(567,'2015-10-03 08:49:43','USER_MODIFY',1,'2015-10-03 10:49:43',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(568,'2015-10-03 09:03:12','USER_MODIFY',1,'2015-10-03 11:03:12',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(569,'2015-10-03 09:03:42','USER_MODIFY',1,'2015-10-03 11:03:42',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(570,'2015-10-03 09:07:36','USER_MODIFY',1,'2015-10-03 11:07:36',1,'User demo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(571,'2015-10-03 09:08:58','USER_NEW_PASSWORD',1,'2015-10-03 11:08:58',1,'Password change for pcurie','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(572,'2015-10-03 09:08:58','USER_MODIFY',1,'2015-10-03 11:08:58',1,'User pcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(573,'2015-10-03 09:09:23','USER_MODIFY',1,'2015-10-03 11:09:23',1,'User pcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(574,'2015-10-03 09:11:04','USER_NEW_PASSWORD',1,'2015-10-03 11:11:04',1,'Password change for athestudent','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(575,'2015-10-03 09:11:04','USER_MODIFY',1,'2015-10-03 11:11:04',1,'User athestudent modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(576,'2015-10-03 09:11:53','USER_MODIFY',1,'2015-10-03 11:11:53',1,'User abookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(577,'2015-10-03 09:42:12','USER_LOGIN_FAILED',1,'2015-10-03 11:42:11',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(578,'2015-10-03 09:42:19','USER_LOGIN_FAILED',1,'2015-10-03 11:42:19',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(579,'2015-10-03 09:42:42','USER_LOGIN_FAILED',1,'2015-10-03 11:42:42',NULL,'Bad value for login or password - login=aeinstein','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(580,'2015-10-03 09:43:50','USER_LOGIN',1,'2015-10-03 11:43:50',1,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x788','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(581,'2015-10-03 09:44:44','GROUP_MODIFY',1,'2015-10-03 11:44:44',1,'Group Sale representatives modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(582,'2015-10-03 09:46:25','GROUP_CREATE',1,'2015-10-03 11:46:25',1,'Group Management created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(583,'2015-10-03 09:46:46','GROUP_CREATE',1,'2015-10-03 11:46:46',1,'Group Scientists created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(584,'2015-10-03 09:47:41','USER_CREATE',1,'2015-10-03 11:47:41',1,'User mcurie created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(585,'2015-10-03 09:47:41','USER_NEW_PASSWORD',1,'2015-10-03 11:47:41',1,'Password change for mcurie','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(586,'2015-10-03 09:47:53','USER_MODIFY',1,'2015-10-03 11:47:53',1,'User mcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(587,'2015-10-03 09:48:32','USER_DELETE',1,'2015-10-03 11:48:32',1,'User bbb removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(588,'2015-10-03 09:48:52','USER_MODIFY',1,'2015-10-03 11:48:52',1,'User bookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(589,'2015-10-03 10:01:28','USER_MODIFY',1,'2015-10-03 12:01:28',1,'User bookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(590,'2015-10-03 10:01:39','USER_MODIFY',1,'2015-10-03 12:01:39',1,'User bookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(591,'2015-10-05 06:32:38','USER_LOGIN_FAILED',1,'2015-10-05 08:32:38',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(592,'2015-10-05 06:32:44','USER_LOGIN',1,'2015-10-05 08:32:44',1,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(593,'2015-10-05 07:07:52','USER_CREATE',1,'2015-10-05 09:07:52',1,'User atheceo created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(594,'2015-10-05 07:07:52','USER_NEW_PASSWORD',1,'2015-10-05 09:07:52',1,'Password change for atheceo','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(595,'2015-10-05 07:09:08','USER_NEW_PASSWORD',1,'2015-10-05 09:09:08',1,'Password change for aeinstein','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(596,'2015-10-05 07:09:08','USER_MODIFY',1,'2015-10-05 09:09:08',1,'User aeinstein modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(597,'2015-10-05 07:09:46','USER_CREATE',1,'2015-10-05 09:09:46',1,'User admin created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(598,'2015-10-05 07:09:46','USER_NEW_PASSWORD',1,'2015-10-05 09:09:46',1,'Password change for admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(599,'2015-10-05 07:10:20','USER_MODIFY',1,'2015-10-05 09:10:20',1,'User demo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(600,'2015-10-05 07:10:48','USER_MODIFY',1,'2015-10-05 09:10:48',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(601,'2015-10-05 07:11:22','USER_NEW_PASSWORD',1,'2015-10-05 09:11:22',1,'Password change for bbookkeeper','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(602,'2015-10-05 07:11:22','USER_MODIFY',1,'2015-10-05 09:11:22',1,'User bbookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(603,'2015-10-05 07:12:37','USER_MODIFY',1,'2015-10-05 09:12:37',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(604,'2015-10-05 07:13:27','USER_MODIFY',1,'2015-10-05 09:13:27',1,'User demo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(605,'2015-10-05 07:13:52','USER_MODIFY',1,'2015-10-05 09:13:52',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(606,'2015-10-05 07:14:35','USER_LOGOUT',1,'2015-10-05 09:14:35',1,'(UserLogoff,aeinstein)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(607,'2015-10-05 07:14:40','USER_LOGIN_FAILED',1,'2015-10-05 09:14:40',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(608,'2015-10-05 07:14:44','USER_LOGIN_FAILED',1,'2015-10-05 09:14:44',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(609,'2015-10-05 07:14:49','USER_LOGIN',1,'2015-10-05 09:14:49',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(610,'2015-10-05 07:57:18','USER_MODIFY',1,'2015-10-05 09:57:18',12,'User aeinstein modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(611,'2015-10-05 08:06:54','USER_LOGOUT',1,'2015-10-05 10:06:54',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(612,'2015-10-05 08:07:03','USER_LOGIN',1,'2015-10-05 10:07:03',11,'(UserLogged,atheceo) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(613,'2015-10-05 19:18:46','USER_LOGIN',1,'2015-10-05 21:18:46',11,'(UserLogged,atheceo) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(614,'2015-10-05 19:29:35','USER_CREATE',1,'2015-10-05 21:29:35',11,'User ccommercy created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(615,'2015-10-05 19:29:35','USER_NEW_PASSWORD',1,'2015-10-05 21:29:35',11,'Password change for ccommercy','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(616,'2015-10-05 19:30:13','GROUP_CREATE',1,'2015-10-05 21:30:13',11,'Group Commercial created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(617,'2015-10-05 19:31:37','USER_NEW_PASSWORD',1,'2015-10-05 21:31:37',11,'Password change for admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(618,'2015-10-05 19:31:37','USER_MODIFY',1,'2015-10-05 21:31:37',11,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(619,'2015-10-05 19:32:00','USER_MODIFY',1,'2015-10-05 21:32:00',11,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(620,'2015-10-05 19:33:33','USER_CREATE',1,'2015-10-05 21:33:33',11,'User sscientol created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(621,'2015-10-05 19:33:33','USER_NEW_PASSWORD',1,'2015-10-05 21:33:33',11,'Password change for sscientol','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(622,'2015-10-05 19:33:47','USER_NEW_PASSWORD',1,'2015-10-05 21:33:47',11,'Password change for mcurie','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(623,'2015-10-05 19:33:47','USER_MODIFY',1,'2015-10-05 21:33:47',11,'User mcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(624,'2015-10-05 19:34:23','USER_NEW_PASSWORD',1,'2015-10-05 21:34:23',11,'Password change for pcurie','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(625,'2015-10-05 19:34:23','USER_MODIFY',1,'2015-10-05 21:34:23',11,'User pcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(626,'2015-10-05 19:34:42','USER_MODIFY',1,'2015-10-05 21:34:42',11,'User aeinstein modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(627,'2015-10-05 19:36:06','USER_NEW_PASSWORD',1,'2015-10-05 21:36:06',11,'Password change for ccommercy','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(628,'2015-10-05 19:36:06','USER_MODIFY',1,'2015-10-05 21:36:06',11,'User ccommercy modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(629,'2015-10-05 19:36:57','USER_NEW_PASSWORD',1,'2015-10-05 21:36:57',11,'Password change for atheceo','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(630,'2015-10-05 19:36:57','USER_MODIFY',1,'2015-10-05 21:36:57',11,'User atheceo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(631,'2015-10-05 19:37:27','USER_LOGOUT',1,'2015-10-05 21:37:27',11,'(UserLogoff,atheceo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(632,'2015-10-05 19:37:35','USER_LOGIN_FAILED',1,'2015-10-05 21:37:35',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(633,'2015-10-05 19:37:39','USER_LOGIN_FAILED',1,'2015-10-05 21:37:39',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(634,'2015-10-05 19:37:44','USER_LOGIN_FAILED',1,'2015-10-05 21:37:44',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(635,'2015-10-05 19:37:49','USER_LOGIN_FAILED',1,'2015-10-05 21:37:49',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(636,'2015-10-05 19:38:12','USER_LOGIN_FAILED',1,'2015-10-05 21:38:12',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(637,'2015-10-05 19:40:48','USER_LOGIN_FAILED',1,'2015-10-05 21:40:48',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(638,'2015-10-05 19:40:55','USER_LOGIN',1,'2015-10-05 21:40:55',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(639,'2015-10-05 19:43:34','USER_MODIFY',1,'2015-10-05 21:43:34',12,'User aeinstein modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(640,'2015-10-05 19:45:43','USER_CREATE',1,'2015-10-05 21:45:43',12,'User aaa created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(641,'2015-10-05 19:45:43','USER_NEW_PASSWORD',1,'2015-10-05 21:45:43',12,'Password change for aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(642,'2015-10-05 19:46:18','USER_DELETE',1,'2015-10-05 21:46:18',12,'User aaa removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(643,'2015-10-05 19:47:09','USER_MODIFY',1,'2015-10-05 21:47:09',12,'User demo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(644,'2015-10-05 19:47:22','USER_MODIFY',1,'2015-10-05 21:47:22',12,'User demo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(645,'2015-10-05 19:52:05','USER_MODIFY',1,'2015-10-05 21:52:05',12,'User sscientol modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(646,'2015-10-05 19:52:23','USER_MODIFY',1,'2015-10-05 21:52:23',12,'User bbookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(647,'2015-10-05 19:54:54','USER_NEW_PASSWORD',1,'2015-10-05 21:54:54',12,'Password change for zzeceo','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(648,'2015-10-05 19:54:54','USER_MODIFY',1,'2015-10-05 21:54:54',12,'User zzeceo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(649,'2015-10-05 19:57:02','USER_MODIFY',1,'2015-10-05 21:57:02',12,'User zzeceo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(650,'2015-10-05 19:57:57','USER_NEW_PASSWORD',1,'2015-10-05 21:57:57',12,'Password change for pcurie','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(651,'2015-10-05 19:57:57','USER_MODIFY',1,'2015-10-05 21:57:57',12,'User pcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(652,'2015-10-05 19:59:42','USER_NEW_PASSWORD',1,'2015-10-05 21:59:42',12,'Password change for admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(653,'2015-10-05 19:59:42','USER_MODIFY',1,'2015-10-05 21:59:42',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(654,'2015-10-05 20:00:21','USER_MODIFY',1,'2015-10-05 22:00:21',12,'User adminx modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(655,'2015-10-05 20:05:36','USER_MODIFY',1,'2015-10-05 22:05:36',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(656,'2015-10-05 20:06:25','USER_MODIFY',1,'2015-10-05 22:06:25',12,'User ccommercy modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(657,'2015-10-05 20:07:18','USER_MODIFY',1,'2015-10-05 22:07:18',12,'User mcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(658,'2015-10-05 20:07:36','USER_MODIFY',1,'2015-10-05 22:07:36',12,'User aeinstein modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(659,'2015-10-05 20:08:34','USER_MODIFY',1,'2015-10-05 22:08:34',12,'User bbookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(660,'2015-10-05 20:47:52','USER_CREATE',1,'2015-10-05 22:47:52',12,'User cc1 created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(661,'2015-10-05 20:47:52','USER_NEW_PASSWORD',1,'2015-10-05 22:47:52',12,'Password change for cc1','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(662,'2015-10-05 20:47:55','USER_LOGOUT',1,'2015-10-05 22:47:55',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(663,'2015-10-05 20:48:08','USER_LOGIN',1,'2015-10-05 22:48:08',11,'(UserLogged,zzeceo) - TZ=1;TZString=Europe/Berlin;Screen=1590x434','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(664,'2015-10-05 20:48:39','USER_CREATE',1,'2015-10-05 22:48:39',11,'User cc2 created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(665,'2015-10-05 20:48:39','USER_NEW_PASSWORD',1,'2015-10-05 22:48:39',11,'Password change for cc2','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(666,'2015-10-05 20:48:59','USER_NEW_PASSWORD',1,'2015-10-05 22:48:59',11,'Password change for cc1','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(667,'2015-10-05 20:48:59','USER_MODIFY',1,'2015-10-05 22:48:59',11,'User cc1 modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(668,'2015-10-05 21:06:36','USER_LOGOUT',1,'2015-10-05 23:06:35',11,'(UserLogoff,zzeceo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(669,'2015-10-05 21:06:44','USER_LOGIN_FAILED',1,'2015-10-05 23:06:44',NULL,'Bad value for login or password - login=cc1','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(670,'2015-10-05 21:07:12','USER_LOGIN_FAILED',1,'2015-10-05 23:07:12',NULL,'Bad value for login or password - login=cc1','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(671,'2015-10-05 21:07:19','USER_LOGIN_FAILED',1,'2015-10-05 23:07:19',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(672,'2015-10-05 21:07:27','USER_LOGIN_FAILED',1,'2015-10-05 23:07:27',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(673,'2015-10-05 21:07:32','USER_LOGIN',1,'2015-10-05 23:07:32',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(674,'2015-10-05 21:12:28','USER_NEW_PASSWORD',1,'2015-10-05 23:12:28',12,'Password change for cc1','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(675,'2015-10-05 21:12:28','USER_MODIFY',1,'2015-10-05 23:12:28',12,'User cc1 modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(676,'2015-10-05 21:13:00','USER_CREATE',1,'2015-10-05 23:13:00',12,'User aaa created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(677,'2015-10-05 21:13:00','USER_NEW_PASSWORD',1,'2015-10-05 23:13:00',12,'Password change for aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(678,'2015-10-05 21:13:40','USER_DELETE',1,'2015-10-05 23:13:40',12,'User aaa removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(679,'2015-10-05 21:14:47','USER_LOGOUT',1,'2015-10-05 23:14:47',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(680,'2015-10-05 21:14:56','USER_LOGIN',1,'2015-10-05 23:14:56',16,'(UserLogged,cc1) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(681,'2015-10-05 21:15:56','USER_LOGOUT',1,'2015-10-05 23:15:56',16,'(UserLogoff,cc1)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(682,'2015-10-05 21:16:06','USER_LOGIN',1,'2015-10-05 23:16:06',17,'(UserLogged,cc2) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(683,'2015-10-05 21:37:25','USER_LOGOUT',1,'2015-10-05 23:37:25',17,'(UserLogoff,cc2)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(684,'2015-10-05 21:37:31','USER_LOGIN',1,'2015-10-05 23:37:31',16,'(UserLogged,cc1) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(685,'2015-10-05 21:43:53','USER_LOGOUT',1,'2015-10-05 23:43:53',16,'(UserLogoff,cc1)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(686,'2015-10-05 21:44:00','USER_LOGIN',1,'2015-10-05 23:44:00',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(687,'2015-10-05 21:46:17','USER_LOGOUT',1,'2015-10-05 23:46:17',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(688,'2015-10-05 21:46:24','USER_LOGIN',1,'2015-10-05 23:46:24',16,'(UserLogged,cc1) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(689,'2015-11-04 15:17:06','USER_LOGIN',1,'2015-11-04 16:17:06',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(690,'2015-11-15 22:04:04','USER_LOGIN',1,'2015-11-15 23:04:04',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(691,'2015-11-15 22:23:45','USER_MODIFY',1,'2015-11-15 23:23:45',12,'User ccommercy modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(692,'2015-11-15 22:24:22','USER_MODIFY',1,'2015-11-15 23:24:22',12,'User cc1 modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(693,'2015-11-15 22:24:53','USER_MODIFY',1,'2015-11-15 23:24:53',12,'User cc2 modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(694,'2015-11-15 22:25:17','USER_MODIFY',1,'2015-11-15 23:25:17',12,'User cc1 modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(695,'2015-11-15 22:45:37','USER_LOGOUT',1,'2015-11-15 23:45:37',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(696,'2015-11-18 13:41:02','USER_LOGIN',1,'2015-11-18 14:41:02',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(697,'2015-11-18 14:23:35','USER_LOGIN',1,'2015-11-18 15:23:35',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(698,'2015-11-18 15:15:46','USER_LOGOUT',1,'2015-11-18 16:15:46',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(699,'2015-11-18 15:15:51','USER_LOGIN',1,'2015-11-18 16:15:51',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(700,'2015-11-30 17:52:08','USER_LOGIN',1,'2015-11-30 18:52:08',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(701,'2016-01-10 16:45:43','USER_LOGIN',1,'2016-01-10 17:45:43',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(702,'2016-01-10 16:45:52','USER_LOGOUT',1,'2016-01-10 17:45:52',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(703,'2016-01-10 16:46:06','USER_LOGIN',1,'2016-01-10 17:46:06',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(704,'2016-01-16 14:53:47','USER_LOGIN',1,'2016-01-16 15:53:47',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(705,'2016-01-16 15:04:29','USER_LOGOUT',1,'2016-01-16 16:04:29',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(706,'2016-01-16 15:04:40','USER_LOGIN',1,'2016-01-16 16:04:40',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(707,'2016-01-22 09:33:26','USER_LOGIN',1,'2016-01-22 10:33:26',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(708,'2016-01-22 09:35:19','USER_LOGOUT',1,'2016-01-22 10:35:19',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(709,'2016-01-22 09:35:29','USER_LOGIN',1,'2016-01-22 10:35:29',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(710,'2016-01-22 10:47:34','USER_CREATE',1,'2016-01-22 11:47:34',12,'User aaa created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(711,'2016-01-22 10:47:34','USER_NEW_PASSWORD',1,'2016-01-22 11:47:34',12,'Password change for aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(712,'2016-01-22 12:07:56','USER_LOGIN',1,'2016-01-22 13:07:56',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(713,'2016-01-22 12:36:25','USER_NEW_PASSWORD',1,'2016-01-22 13:36:25',12,'Password change for admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(714,'2016-01-22 12:36:25','USER_MODIFY',1,'2016-01-22 13:36:25',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(715,'2016-01-22 12:56:32','USER_MODIFY',1,'2016-01-22 13:56:32',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(716,'2016-01-22 12:58:05','USER_MODIFY',1,'2016-01-22 13:58:05',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(717,'2016-01-22 13:01:02','USER_MODIFY',1,'2016-01-22 14:01:02',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(718,'2016-01-22 13:01:18','USER_MODIFY',1,'2016-01-22 14:01:18',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(719,'2016-01-22 13:13:42','USER_MODIFY',1,'2016-01-22 14:13:42',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(720,'2016-01-22 13:15:20','USER_DELETE',1,'2016-01-22 14:15:20',12,'User aaa removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(721,'2016-01-22 13:19:21','USER_LOGOUT',1,'2016-01-22 14:19:21',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(722,'2016-01-22 13:19:32','USER_LOGIN',1,'2016-01-22 14:19:32',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(723,'2016-01-22 13:19:51','USER_LOGOUT',1,'2016-01-22 14:19:51',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(724,'2016-01-22 13:20:01','USER_LOGIN',1,'2016-01-22 14:20:01',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(725,'2016-01-22 13:28:22','USER_LOGOUT',1,'2016-01-22 14:28:22',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(726,'2016-01-22 13:28:35','USER_LOGIN',1,'2016-01-22 14:28:35',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(727,'2016-01-22 13:33:54','USER_LOGOUT',1,'2016-01-22 14:33:54',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(728,'2016-01-22 13:34:05','USER_LOGIN',1,'2016-01-22 14:34:05',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(729,'2016-01-22 13:51:46','USER_MODIFY',1,'2016-01-22 14:51:46',12,'User ccommercy modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(730,'2016-01-22 16:20:12','USER_LOGIN',1,'2016-01-22 17:20:12',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(731,'2016-01-22 16:20:22','USER_LOGOUT',1,'2016-01-22 17:20:22',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(732,'2016-01-22 16:20:36','USER_LOGIN',1,'2016-01-22 17:20:36',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(733,'2016-01-22 16:27:02','USER_CREATE',1,'2016-01-22 17:27:02',12,'User ldestailleur created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(734,'2016-01-22 16:27:02','USER_NEW_PASSWORD',1,'2016-01-22 17:27:02',12,'Password change for ldestailleur','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(735,'2016-01-22 16:28:34','USER_MODIFY',1,'2016-01-22 17:28:34',12,'User ldestailleur modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(736,'2016-01-22 16:30:01','USER_ENABLEDISABLE',1,'2016-01-22 17:30:01',12,'User cc2 activated','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(737,'2016-01-22 17:11:06','USER_LOGIN',1,'2016-01-22 18:11:06',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(738,'2016-01-22 18:00:02','USER_DELETE',1,'2016-01-22 19:00:02',12,'User zzz removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(739,'2016-01-22 18:01:40','USER_DELETE',1,'2016-01-22 19:01:40',12,'User aaab removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(740,'2016-01-22 18:01:52','USER_DELETE',1,'2016-01-22 19:01:52',12,'User zzzg removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(741,'2016-03-13 10:54:59','USER_LOGIN',1,'2016-03-13 14:54:59',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1920x971','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36',NULL),(742,'2016-07-30 11:13:10','USER_LOGIN',1,'2016-07-30 15:13:10',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(743,'2016-07-30 12:50:23','USER_CREATE',1,'2016-07-30 16:50:23',12,'User eldy created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(744,'2016-07-30 12:50:23','USER_CREATE',1,'2016-07-30 16:50:23',12,'User eldy created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(745,'2016-07-30 12:50:23','USER_NEW_PASSWORD',1,'2016-07-30 16:50:23',12,'Password change for eldy','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(746,'2016-07-30 12:50:38','USER_MODIFY',1,'2016-07-30 16:50:38',12,'User eldy modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(747,'2016-07-30 12:50:54','USER_DELETE',1,'2016-07-30 16:50:54',12,'User eldy removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(748,'2016-07-30 12:51:23','USER_NEW_PASSWORD',1,'2016-07-30 16:51:23',12,'Password change for ldestailleur','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(749,'2016-07-30 12:51:23','USER_MODIFY',1,'2016-07-30 16:51:23',12,'User ldestailleur modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(750,'2016-07-30 18:26:58','USER_LOGIN',1,'2016-07-30 22:26:58',18,'(UserLogged,ldestailleur) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(751,'2016-07-30 18:27:40','USER_LOGOUT',1,'2016-07-30 22:27:40',18,'(UserLogoff,ldestailleur)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(752,'2016-07-30 18:27:47','USER_LOGIN',1,'2016-07-30 22:27:47',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(753,'2016-07-30 19:00:00','USER_LOGOUT',1,'2016-07-30 23:00:00',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(754,'2016-07-30 19:00:04','USER_LOGIN',1,'2016-07-30 23:00:04',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(755,'2016-07-30 19:00:14','USER_LOGOUT',1,'2016-07-30 23:00:14',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(756,'2016-07-30 19:00:19','USER_LOGIN',1,'2016-07-30 23:00:19',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(757,'2016-07-30 19:00:43','USER_LOGOUT',1,'2016-07-30 23:00:43',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(758,'2016-07-30 19:00:48','USER_LOGIN',1,'2016-07-30 23:00:48',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(759,'2016-07-30 19:03:52','USER_LOGOUT',1,'2016-07-30 23:03:52',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(760,'2016-07-30 19:03:57','USER_LOGIN_FAILED',1,'2016-07-30 23:03:57',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(761,'2016-07-30 19:03:59','USER_LOGIN',1,'2016-07-30 23:03:59',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(762,'2016-07-30 19:04:13','USER_LOGOUT',1,'2016-07-30 23:04:13',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(763,'2016-07-30 19:04:17','USER_LOGIN',1,'2016-07-30 23:04:17',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(764,'2016-07-30 19:04:26','USER_LOGOUT',1,'2016-07-30 23:04:26',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(765,'2016-07-30 19:04:31','USER_LOGIN',1,'2016-07-30 23:04:31',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(766,'2016-07-30 19:10:50','USER_LOGOUT',1,'2016-07-30 23:10:50',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(767,'2016-07-30 19:10:54','USER_LOGIN',1,'2016-07-30 23:10:54',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(768,'2016-07-31 10:15:52','USER_LOGIN',1,'2016-07-31 14:15:52',12,'(UserLogged,admin) - TZ=;TZString=;Screen=x','127.0.0.1','Lynx/2.8.8pre.4 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/2.12.23',NULL),(769,'2016-07-31 10:16:27','USER_LOGIN',1,'2016-07-31 14:16:27',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(770,'2016-07-31 10:32:14','USER_LOGIN',1,'2016-07-31 14:32:14',12,'(UserLogged,admin) - TZ=;TZString=;Screen=x','127.0.0.1','Lynx/2.8.8pre.4 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/2.12.23',NULL),(771,'2016-07-31 10:36:28','USER_LOGIN',1,'2016-07-31 14:36:28',12,'(UserLogged,admin) - TZ=;TZString=;Screen=x','127.0.0.1','Links (2.8; Linux 3.19.0-46-generic x86_64; GNU C 4.8.2; text)',NULL),(772,'2016-07-31 10:40:10','USER_LOGIN',1,'2016-07-31 14:40:10',12,'(UserLogged,admin) - TZ=;TZString=;Screen=x','127.0.0.1','Links (2.8; Linux 3.19.0-46-generic x86_64; GNU C 4.8.2; text)',NULL),(773,'2016-07-31 10:54:16','USER_LOGIN',1,'2016-07-31 14:54:16',12,'(UserLogged,admin) - TZ=;TZString=;Screen=x','127.0.0.1','Lynx/2.8.8pre.4 libwww-FM/2.14 SSL-MM/1.4.1 GNUTLS/2.12.23',NULL),(774,'2016-07-31 12:52:52','USER_LOGIN',1,'2016-07-31 16:52:52',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1920x592','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(775,'2016-07-31 13:25:33','USER_LOGOUT',1,'2016-07-31 17:25:33',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(776,'2016-07-31 13:26:32','USER_LOGIN',1,'2016-07-31 17:26:32',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1280x751','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(777,'2016-07-31 14:13:57','USER_LOGOUT',1,'2016-07-31 18:13:57',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(778,'2016-07-31 14:14:04','USER_LOGIN',1,'2016-07-31 18:14:04',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(779,'2016-07-31 16:04:35','USER_LOGIN',1,'2016-07-31 20:04:34',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(780,'2016-07-31 21:14:14','USER_LOGIN',1,'2016-08-01 01:14:14',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL); /*!40000 ALTER TABLE `llx_events` ENABLE KEYS */; UNLOCK TABLES; @@ -5419,7 +5419,7 @@ CREATE TABLE `llx_mailing` ( LOCK TABLES `llx_mailing` WRITE; /*!40000 ALTER TABLE `llx_mailing` DISABLE KEYS */; -INSERT INTO `llx_mailing` VALUES (3,1,'My commercial emailing',1,'Buy my product','Please buy my product','','',NULL,2,'dolibarr@domain.com','','',NULL,'2010-07-11 13:15:59','2010-07-11 13:46:20',NULL,NULL,1,1,NULL,NULL,NULL,NULL,NULL,NULL),(4,0,'Copy of My commercial emailing',1,'Buy my product','This is a new éEéé"Mailing content
\r\n
\r\n\r\nYou can adit it with the WYSIWYG editor.
\r\nIt is\r\n
    \r\n
  • \r\n Fast
  • \r\n
  • \r\n Easy to use
  • \r\n
  • \r\n Pretty
  • \r\n
','','',NULL,NULL,'dolibarr@domain.com','','',NULL,'2011-07-18 20:44:33',NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO `llx_mailing` VALUES (3,1,'My commercial emailing',1,'Buy my product','
\"\"
\r\n\"Seguici\"Seguici\"Seguici\"Seguici
\r\n\r\n
'; - print fieldLabel('Rate','multicurrency_tx'); + print fieldLabel('CurrencyRate','multicurrency_tx'); print 'id . '">' . img_edit($langs->transnoentitiesnoconv('SetMultiCurrencyCode'), 1) . '
'; print ''; if ($action != 'editmulticurrencyrate' && ! empty($object->brouillon)) print ''; diff --git a/htdocs/fourn/facture/card.php b/htdocs/fourn/facture/card.php index 280664ea421..1e8e05d81e5 100644 --- a/htdocs/fourn/facture/card.php +++ b/htdocs/fourn/facture/card.php @@ -1901,7 +1901,7 @@ else print ''; print '
'; - print fieldLabel('Rate','multicurrency_tx'); + print fieldLabel('CurrencyRate','multicurrency_tx'); print 'id . '">' . img_edit($langs->transnoentitiesnoconv('SetMultiCurrencyCode'), 1) . '
'; print ''; if ($action != 'editmulticurrencyrate' && ! empty($object->brouillon)) print ''; diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index e0b21059d4e..54b49de9ec3 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -278,6 +278,7 @@ MonthOfDay=Month of the day HourShort=H MinuteShort=mn Rate=Rate +CurrencyRate=Currency conversion rate UseLocalTax=Include tax Bytes=Bytes KiloBytes=Kilobytes diff --git a/htdocs/supplier_proposal/card.php b/htdocs/supplier_proposal/card.php index f56daac29ec..481981bdabd 100644 --- a/htdocs/supplier_proposal/card.php +++ b/htdocs/supplier_proposal/card.php @@ -1488,7 +1488,7 @@ if ($action == 'create') } // Multicurrency - if ( empty($conf->multicurrency->enabled)) + if (! empty($conf->multicurrency->enabled)) { // Multicurrency code print ''; @@ -1511,7 +1511,7 @@ if ($action == 'create') print ''; print '
'; - print fieldLabel('Rate','multicurrency_tx'); + print fieldLabel('CurrencyRate','multicurrency_tx'); print 'id . '">' . img_edit($langs->transnoentitiesnoconv('SetMultiCurrencyCode'), 1) . '
'; print ''; if ($action != 'editmulticurrencyrate' && ! empty($object->brouillon)) print ''; From e5583f1544498d012586a433925984511351e8c5 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 30 Jul 2016 17:28:18 +0200 Subject: [PATCH 174/476] Fix bad translation. Confusionbetween internal tranfert and bank tranfert for payements --- dev/initdemo/updatedemo.php | 124 ++++++++---------------- htdocs/compta/bank/virement.php | 2 +- htdocs/core/menus/standard/eldy.lib.php | 2 +- htdocs/langs/en_US/banks.lang | 3 +- 4 files changed, 45 insertions(+), 86 deletions(-) diff --git a/dev/initdemo/updatedemo.php b/dev/initdemo/updatedemo.php index feabbe9ac6c..1d4a8f01f94 100755 --- a/dev/initdemo/updatedemo.php +++ b/dev/initdemo/updatedemo.php @@ -1,6 +1,6 @@ #!/usr/bin/env php +/* Copyright (C) 2016 Laurent Destailleur * * 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 @@ -62,100 +62,58 @@ if (empty($confirm)) $tmp=dol_getdate(dol_now()); +$tables=array( + 'propal'=>array(0=>'datep', 1=>'fin_validite', 2=>'date_valid', 3=>'date_cloture'), + 'commande'=>array(0=>'date_commande', 1=>'date_valid', 2=>'date_cloture'), + 'facture'=>array(0=>'datef', 1=>'date_valid', 2=>'date_lim_reglement'), + 'paiement'=>array(0=>'datep'), + 'bank'=>array(0=>'datev', 1=>'dateo', ) +); $year=2010; $currentyear=$tmp['year']; -while ($year < ($currentyear - 1)) // We want to keep 2 years of data +while ($year <= $currentyear) { $delta=($currentyear - $year); + $delta=-1; - print "Correct proposal for year ".$year." and move them to current year ".$currentyear."\n"; - $sql="select rowid from ".MAIN_DB_PREFIX."propal where datep between '".$year."-01-01' and '".$year."-12-31'"; - $resql = $db->query($sql); - if ($resql) + if ($delta) { - $num = $db->num_rows($resql); - $i=0; - while ($i < $num) + foreach($tables as $tablekey => $tableval) { - $obj=$db->fetch_object($resql); - if ($obj) + print "\nCorrect ".$tablekey." for year ".$year." and move them to current year ".$currentyear." "; + $sql="select rowid from ".MAIN_DB_PREFIX.$tablekey." where ".$tableval[0]." between '".$year."-01-01' and '".$year."-12-31' and ".$tableval[0]." < DATE_ADD(NOW(), INTERVAL -1 YEAR)"; + //$sql="select rowid from ".MAIN_DB_PREFIX.$tablekey." where ".$tableval[0]." between '".$year."-01-01' and '".$year."-12-31' and ".$tableval[0]." > NOW()"; + $resql = $db->query($sql); + if ($resql) { - print "."; - - $sql2="UPDATE ".MAIN_DB_PREFIX."propal set "; - $sql2.= "datep = DATE_ADD(datep, INTERVAL ".$delta." YEAR),"; - $sql2.= "fin_validite = DATE_ADD(fin_validite, INTERVAL ".$delta." YEAR),"; - $sql2.= "date_valid = DATE_ADD(date_valid, INTERVAL ".$delta." YEAR),"; - $sql2.= "date_cloture = DATE_ADD(date_cloture, INTERVAL ".$delta." YEAR)"; - $sql2.=" WHERE rowid = ".$obj->rowid; - //print $sql2."\n"; - - $resql2 = $db->query($sql2); - if (! $resql2) dol_print_error($db); - } - $i++; - } - } - else dol_print_error($db); - - print "Correct order for year ".$year." and move them to current year ".$currentyear."\n"; - $sql="select rowid from ".MAIN_DB_PREFIX."commande where date_commande between '".$year."-01-01' and '".$year."-12-31'"; - $resql = $db->query($sql); - if ($resql) - { - $num = $db->num_rows($resql); - $i=0; - while ($i < $num) - { - $obj=$db->fetch_object($resql); - if ($obj) - { - print "."; - - $sql2="UPDATE ".MAIN_DB_PREFIX."commande set "; - $sql2.= "date_commande = DATE_ADD(date_commande, INTERVAL ".$delta." YEAR),"; - $sql2.= "date_valid = DATE_ADD(date_valid, INTERVAL ".$delta." YEAR),"; - $sql2.= "date_cloture = DATE_ADD(date_cloture, INTERVAL ".$delta." YEAR)"; - $sql2.=" WHERE rowid = ".$obj->rowid; - //print $sql2."\n"; - - $resql2 = $db->query($sql2); - if (! $resql2) dol_print_error($db); + $num = $db->num_rows($resql); + $i=0; + while ($i < $num) + { + $obj=$db->fetch_object($resql); + if ($obj) + { + print "."; + $sql2="UPDATE ".MAIN_DB_PREFIX.$tablekey." set "; + $j=0; + foreach($tableval as $field) + { + if ($j) $sql2.=", "; + $sql2.= $field." = DATE_ADD(".$field.", INTERVAL ".$delta." YEAR)"; + $j++; + } + $sql2.=" WHERE rowid = ".$obj->rowid; + //print $sql2."\n"; + $resql2 = $db->query($sql2); + if (! $resql2) dol_print_error($db); + } + $i++; + } } - $i++; + else dol_print_error($db); } } - else dol_print_error($db); - - print "Correct invoice for year ".$year." and move them to current year ".$currentyear."\n"; - $sql="select rowid from ".MAIN_DB_PREFIX."facture where datef between '".$year."-01-01' and '".$year."-12-31'"; - $resql = $db->query($sql); - if ($resql) - { - $num = $db->num_rows($resql); - $i=0; - while ($i < $num) - { - $obj=$db->fetch_object($resql); - if ($obj) - { - print "."; - - $sql2="UPDATE ".MAIN_DB_PREFIX."facture set "; - $sql2.= "datef = DATE_ADD(datef, INTERVAL ".$delta." YEAR),"; - $sql2.= "date_valid = DATE_ADD(date_valid, INTERVAL ".$delta." YEAR),"; - $sql2.= "date_lim_reglement = DATE_ADD(date_lim_reglement, INTERVAL ".$delta." YEAR)"; - $sql2.=" WHERE rowid = ".$obj->rowid; - //print $sql2."\n"; - - $resql2 = $db->query($sql2); - if (! $resql2) dol_print_error($db); - } - $i++; - } - } - else dol_print_error($db); $year++; } diff --git a/htdocs/compta/bank/virement.php b/htdocs/compta/bank/virement.php index 146ed4759c4..78950923b34 100644 --- a/htdocs/compta/bank/virement.php +++ b/htdocs/compta/bank/virement.php @@ -152,7 +152,7 @@ if($error) $amount = GETPOST('amount','int'); } -print load_fiche_titre($langs->trans("BankTransfer"), '', 'title_bank.png'); +print load_fiche_titre($langs->trans("MenuBankInternalTransfer"), '', 'title_bank.png'); print $langs->trans("TransferDesc"); print "

"; diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php index 948c3a440f1..f833ed144b1 100644 --- a/htdocs/core/menus/standard/eldy.lib.php +++ b/htdocs/core/menus/standard/eldy.lib.php @@ -1062,7 +1062,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu $newmenu->add("/compta/bank/search.php",$langs->trans("ListTransactions"),1,$user->rights->banque->lire); $newmenu->add("/compta/bank/budget.php",$langs->trans("ListTransactionsByCategory"),1,$user->rights->banque->lire); - $newmenu->add("/compta/bank/virement.php",$langs->trans("BankTransfers"),1,$user->rights->banque->transfer); + $newmenu->add("/compta/bank/virement.php",$langs->trans("MenuBankInternalTransfer"),1,$user->rights->banque->transfer); } if (! empty($conf->categorie->enabled)) { diff --git a/htdocs/langs/en_US/banks.lang b/htdocs/langs/en_US/banks.lang index b868967b10b..819664dfdc4 100644 --- a/htdocs/langs/en_US/banks.lang +++ b/htdocs/langs/en_US/banks.lang @@ -94,7 +94,8 @@ WithdrawalPayment=Withdrawal payment SocialContributionPayment=Social/fiscal tax payment BankTransfer=Bank transfer BankTransfers=Bank transfers -TransferDesc=Transfer from one account to another one, Dolibarr will write two records (a debit in source account and a credit in target account, of the same amount. The same label and date will be used for this transaction) +MenuBankInternalTransfer=Internal transfer +TransferDesc=Transfer from one account to another one, Dolibarr will write two records (a debit in source account and a credit in target account. The same amount (except sign), label and date will be used for this transaction) TransferFrom=From TransferTo=To TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. From 246321cd8f84d4560cf56c5131bb9145c9fe9528 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 30 Jul 2016 18:08:07 +0200 Subject: [PATCH 175/476] Fix clean orphelins of leave request logs in repair tools Fix date of supplier proposal missing. --- dev/initdemo/updatedemo.php | 8 ++- htdocs/install/mysql/migration/repair.sql | 1 + htdocs/supplier_proposal/list.php | 67 ++++++++++++++--------- 3 files changed, 48 insertions(+), 28 deletions(-) diff --git a/dev/initdemo/updatedemo.php b/dev/initdemo/updatedemo.php index 1d4a8f01f94..84abd12c6d0 100755 --- a/dev/initdemo/updatedemo.php +++ b/dev/initdemo/updatedemo.php @@ -67,16 +67,18 @@ $tables=array( 'commande'=>array(0=>'date_commande', 1=>'date_valid', 2=>'date_cloture'), 'facture'=>array(0=>'datef', 1=>'date_valid', 2=>'date_lim_reglement'), 'paiement'=>array(0=>'datep'), - 'bank'=>array(0=>'datev', 1=>'dateo', ) + 'bank'=>array(0=>'datev', 1=>'dateo'), + 'supplier_proposal'=>array(0=>'datec', 1=>'date_valid', 2=>'date_cloture') ); $year=2010; $currentyear=$tmp['year']; while ($year <= $currentyear) { + //$year=2021; $delta=($currentyear - $year); - $delta=-1; - + //$delta=-1; + if ($delta) { foreach($tables as $tablekey => $tableval) diff --git a/htdocs/install/mysql/migration/repair.sql b/htdocs/install/mysql/migration/repair.sql index 147f516c479..9cc35e50b0d 100755 --- a/htdocs/install/mysql/migration/repair.sql +++ b/htdocs/install/mysql/migration/repair.sql @@ -41,6 +41,7 @@ delete from llx_livraisondet where fk_livraison in (select rowid from llx_livrai delete from llx_livraison where ref = ''; delete from llx_expeditiondet where fk_expedition in (select rowid from llx_expedition where ref = ''); delete from llx_expedition where ref = ''; +delete from llx_holiday_logs where fk_user_update not IN (select rowid from llx_user); update llx_deplacement set dated='2010-01-01' where dated < '2000-01-01'; diff --git a/htdocs/supplier_proposal/list.php b/htdocs/supplier_proposal/list.php index 967a510d714..512db4b7c4d 100644 --- a/htdocs/supplier_proposal/list.php +++ b/htdocs/supplier_proposal/list.php @@ -61,6 +61,8 @@ $sall=GETPOST("sall"); $mesg=(GETPOST("msg") ? GETPOST("msg") : GETPOST("mesg")); $year=GETPOST("year"); $month=GETPOST("month"); +$yearvalid=GETPOST("yearvalid"); +$monthvalid=GETPOST("monthvalid"); // Nombre de ligne pour choix de produit/service predefinis $NBLINES=4; @@ -130,6 +132,8 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") ||GETPO $search_societe=''; $search_montant_ht=''; $search_author=''; + $yearvalid=''; + $monthvalid=''; $year=''; $month=''; $viewstatut=''; @@ -192,7 +196,7 @@ $companystatic=new Societe($db); $now=dol_now(); $sql = 'SELECT s.rowid, s.nom as name, s.town, s.client, s.code_client,'; -$sql.= ' p.rowid as supplier_proposalid, p.note_private, p.total_ht, p.ref, p.fk_statut, p.fk_user_author, p.date_livraison as dp,'; +$sql.= ' p.rowid as supplier_proposalid, p.note_private, p.total_ht, p.ref, p.fk_statut, p.fk_user_author, p.date_valid, p.date_livraison as dp,'; if (! $user->rights->societe->client->voir && ! $socid) $sql .= " sc.fk_soc, sc.fk_user,"; $sql.= ' u.login'; $sql.= ' FROM '.MAIN_DB_PREFIX.'societe as s, '.MAIN_DB_PREFIX.'supplier_proposal as p'; @@ -211,28 +215,13 @@ if (! $user->rights->societe->client->voir && ! $socid) //restriction { $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; } -if ($search_ref) { - $sql .= natural_search('p.ref', $search_ref); -} -if ($search_societe) { - $sql .= natural_search('s.nom', $search_societe); -} -if ($search_author) -{ - $sql.= " AND u.login LIKE '%".$db->escape(trim($search_author))."%'"; -} -if ($search_montant_ht) -{ - $sql.= " AND p.total_ht='".$db->escape(price2num(trim($search_montant_ht)))."'"; -} -if ($sall) { - $sql .= natural_search(array_keys($fieldstosearchall), $sall); -} +if ($search_ref) $sql .= natural_search('p.ref', $search_ref); +if ($search_societe) $sql .= natural_search('s.nom', $search_societe); +if ($search_author) $sql.= " AND u.login LIKE '%".$db->escape(trim($search_author))."%'"; +if ($search_montant_ht) $sql.= " AND p.total_ht='".$db->escape(price2num(trim($search_montant_ht)))."'"; +if ($sall) $sql .= natural_search(array_keys($fieldstosearchall), $sall); if ($socid) $sql.= ' AND s.rowid = '.$socid; -if ($viewstatut <> '') -{ - $sql.= ' AND p.fk_statut IN ('.$viewstatut.')'; -} +if ($viewstatut <> '') $sql.= ' AND p.fk_statut IN ('.$viewstatut.')'; if ($month > 0) { if ($year > 0 && empty($day)) @@ -246,6 +235,19 @@ else if ($year > 0) { $sql.= " AND p.date_livraison BETWEEN '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'"; } +if ($monthvalid > 0) +{ + if ($yearvalid > 0 && empty($dayvalid)) + $sql.= " AND p.date_valid BETWEEN '".$db->idate(dol_get_first_day($yearvalid,$monthvalid,false))."' AND '".$db->idate(dol_get_last_day($yearvalid,$monthvalid,false))."'"; + else if ($yearvalid > 0 && ! empty($dayvalid)) + $sql.= " AND p.date_valid BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $monthvalid, $dayvalid, $yearvalid))."' AND '".$db->idate(dol_mktime(23, 59, 59, $monthvalid, $dayvalid, $yearvalid))."'"; + else + $sql.= " AND date_format(p.date_valid, '%m') = '".$monthvalid."'"; +} +else if ($yearvalid > 0) +{ + $sql.= " AND p.date_valid BETWEEN '".$db->idate(dol_get_first_day($yearvalid,1,false))."' AND '".$db->idate(dol_get_last_day($yearvalid,12,false))."'"; +} if ($search_sale > 0) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$search_sale; if ($search_user > 0) { @@ -341,6 +343,7 @@ if ($result) print '
'; print_liste_field_titre($langs->trans('Ref'),$_SERVER["PHP_SELF"],'p.ref','',$param,'',$sortfield,$sortorder); print_liste_field_titre($langs->trans('Supplier'),$_SERVER["PHP_SELF"],'s.nom','',$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans('Date'),$_SERVER["PHP_SELF"],'p.date_valid','',$param, 'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans('SupplierProposalDate'),$_SERVER["PHP_SELF"],'p.date_livraison','',$param, 'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans('AmountHT'),$_SERVER["PHP_SELF"],'p.total_ht','',$param, 'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans('Author'),$_SERVER["PHP_SELF"],'u.login','',$param,'align="center"',$sortfield,$sortorder); @@ -356,6 +359,15 @@ if ($result) print ''; print ''; + // Date valid + print ''; + // Date print ''; - // Date askprice + // Date + print '\n"; + + // Date delivery print '\n"; @@ -466,14 +483,14 @@ if ($result) if($num<$limit){ $var=!$var; print ''; - print ''; + print ''; print ''; } else { $var=!$var; print ''; - print ''; + print ''; print ''; } From a87c2f9579c217bef1240f434131329f6c8914cd Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 30 Jul 2016 18:57:26 +0200 Subject: [PATCH 176/476] Fix several fixes on margin reports --- dev/initdemo/updatedemo.php | 1 + htdocs/langs/en_US/margins.lang | 1 + htdocs/langs/en_US/products.lang | 2 ++ htdocs/margin/agentMargins.php | 15 +++++++++------ htdocs/margin/customerMargins.php | 8 ++++---- htdocs/margin/productMargins.php | 6 +++--- htdocs/margin/tabs/productMargins.php | 2 +- htdocs/margin/tabs/thirdpartyMargins.php | 8 +++++--- htdocs/societe/class/societe.class.php | 7 ++++++- 9 files changed, 32 insertions(+), 18 deletions(-) diff --git a/dev/initdemo/updatedemo.php b/dev/initdemo/updatedemo.php index 84abd12c6d0..9c453096904 100755 --- a/dev/initdemo/updatedemo.php +++ b/dev/initdemo/updatedemo.php @@ -68,6 +68,7 @@ $tables=array( 'facture'=>array(0=>'datef', 1=>'date_valid', 2=>'date_lim_reglement'), 'paiement'=>array(0=>'datep'), 'bank'=>array(0=>'datev', 1=>'dateo'), + 'commande_fournisseur'=>array(0=>'date_commande', 1=>'date_valid', 3=>'date_creation', 4=>'date_approve', 5=>'date_approve2', 6=>'date_livraison'), 'supplier_proposal'=>array(0=>'datec', 1=>'date_valid', 2=>'date_cloture') ); diff --git a/htdocs/langs/en_US/margins.lang b/htdocs/langs/en_US/margins.lang index 12a61c146be..64e1a87864d 100644 --- a/htdocs/langs/en_US/margins.lang +++ b/htdocs/langs/en_US/margins.lang @@ -41,3 +41,4 @@ rateMustBeNumeric=Rate must be a numeric value markRateShouldBeLesserThan100=Mark rate should be lower than 100 ShowMarginInfos=Show margin infos CheckMargins=Margins detail +MarginPerSaleRepresentativeWarning=The report of margin per user use the link between thirdparties and sale representatives to calculate the margin of each user. Because some thirdparties may not be linked to any sale representative and some thirdparties may be linked to several users, some margins may not appears in these report or may appears in several different lines. diff --git a/htdocs/langs/en_US/products.lang b/htdocs/langs/en_US/products.lang index e9142d463ff..e7924c56cf7 100644 --- a/htdocs/langs/en_US/products.lang +++ b/htdocs/langs/en_US/products.lang @@ -59,6 +59,8 @@ SellingPriceHT=Selling price (net of tax) SellingPriceTTC=Selling price (inc. tax) CostPriceDescription=This price (net of tax) can be used to store the average amount this product cost to your company. It may be any price you calculate yourself, for example from the average buying price plus average production and distribution cost. CostPriceUsage=In a future version, this value could be used for margin calculation. +SoldAmount=Sold amount +PurchasedAmount=Purchased amount NewPrice=New price MinPrice=Min. selling price CantBeLessThanMinPrice=The selling price can't be lower than minimum allowed for this product (%s without tax). This message can also appears if you type a too important discount. diff --git a/htdocs/margin/agentMargins.php b/htdocs/margin/agentMargins.php index 3b31cee302b..0cd8243f7a8 100644 --- a/htdocs/margin/agentMargins.php +++ b/htdocs/margin/agentMargins.php @@ -91,12 +91,10 @@ dol_fiche_head($head, 'agentMargins', $titre, 0, $picto); print ''; print '
'; - print fieldLabel('Rate','multicurrency_tx'); + print fieldLabel('CurrencyRate','multicurrency_tx'); print 'id . '">' . img_edit($langs->transnoentitiesnoconv('SetMultiCurrencyCode'), 1) . '
'; + //print $langs->trans('Month').': '; + print ''; + //print ' '.$langs->trans('Year').': '; + $syearvalid = $yearvalid; + $formother->select_year($syearvalid,'yearvalid',1, 20, 5); + print ''; //print $langs->trans('Month').': '; @@ -435,7 +447,12 @@ if ($result) print $companystatic->getNomUrl(1,'customer'); print ''; + print dol_print_date($db->jdate($objp->date_valid), 'day'); + print "'; print dol_print_date($db->jdate($objp->dp), 'day'); print "
'.$langs->trans("TotalHT").''.price($total).''.price($total).'
'.$langs->trans("TotalHTforthispage").''.price($total).''.price($total).'
'; -if ($user->rights->margins->read->all) { - print ''; - print ''; -} +print ''; +print ''; // Start date print ''; @@ -153,6 +151,11 @@ $sql.=$db->order($sortfield,$sortorder); // TODO: calculate total to display then restore pagination //$sql.= $db->plimit($conf->liste_limit +1, $offset); + +print '
'; +print img_info('').' '.$langs->trans("MarginPerSaleRepresentativeWarning").'
'; + + dol_syslog('margin::agentMargins.php', LOG_DEBUG); $result = $db->query($sql); if ($result) diff --git a/htdocs/margin/customerMargins.php b/htdocs/margin/customerMargins.php index 83e173ca0ce..7f6d5a951c2 100644 --- a/htdocs/margin/customerMargins.php +++ b/htdocs/margin/customerMargins.php @@ -261,7 +261,7 @@ if ($result) $companystatic->id=$objp->socid; $companystatic->name=$objp->name; $companystatic->client=$objp->client; - print "\n"; + print "\n"; } print "\n"; @@ -282,16 +282,16 @@ if ($result) // affichage totaux marges $var=!$var; $totalMargin = $cumul_vente - $cumul_achat; - if ($totalMargin < 0) + /*if ($totalMargin < 0) { $marginRate = ($cumul_achat != 0)?-1*(100 * $totalMargin / $cumul_achat):''; $markRate = ($cumul_vente != 0)?-1*(100 * $totalMargin / $cumul_vente):''; } else - { + {*/ $marginRate = ($cumul_achat != 0)?(100 * $totalMargin / $cumul_achat):''; $markRate = ($cumul_vente != 0)?(100 * $totalMargin / $cumul_vente):''; - } + //} print ''; if ($client) diff --git a/htdocs/margin/productMargins.php b/htdocs/margin/productMargins.php index d604ed5ed22..b4609633447 100644 --- a/htdocs/margin/productMargins.php +++ b/htdocs/margin/productMargins.php @@ -295,16 +295,16 @@ if ($result) // affichage totaux marges $var=!$var; $totalMargin = $cumul_vente - $cumul_achat; - if ($totalMargin < 0) + /*if ($totalMargin < 0) { $marginRate = ($cumul_achat != 0)?-1*(100 * $totalMargin / $cumul_achat):''; $markRate = ($cumul_vente != 0)?-1*(100 * $totalMargin / $cumul_vente):''; } else - { + {*/ $marginRate = ($cumul_achat != 0)?(100 * $totalMargin / $cumul_achat):''; $markRate = ($cumul_vente != 0)?(100 * $totalMargin / $cumul_vente):''; - } + //} print ''; if ($id > 0) print ''; print_liste_field_titre($langs->trans("Invoice"),$_SERVER["PHP_SELF"],"f.facnumber","","&socid=".$_REQUEST["socid"],'',$sortfield,$sortorder); print_liste_field_titre($langs->trans("DateInvoice"),$_SERVER["PHP_SELF"],"f.datef","","&socid=".$_REQUEST["socid"],'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("SellingPrice"),$_SERVER["PHP_SELF"],"selling_price","","&socid=".$_REQUEST["socid"],'align="right"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("BuyingPrice"),$_SERVER["PHP_SELF"],"buying_price","","&socid=".$_REQUEST["socid"],'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("SoldAmount"),$_SERVER["PHP_SELF"],"selling_price","","&socid=".$_REQUEST["socid"],'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("PurchasedAmount"),$_SERVER["PHP_SELF"],"buying_price","","&socid=".$_REQUEST["socid"],'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Margin"),$_SERVER["PHP_SELF"],"marge","","&socid=".$_REQUEST["socid"],'align="right"',$sortfield,$sortorder); if (! empty($conf->global->DISPLAY_MARGIN_RATES)) print_liste_field_titre($langs->trans("MarginRate"),$_SERVER["PHP_SELF"],"","","&socid=".$_REQUEST["socid"],'align="right"',$sortfield,$sortorder); @@ -221,8 +221,8 @@ if ($socid > 0) print ''; print "\n"; $i++; - $cumul_achat += $objp->buying_price; $cumul_vente += $objp->selling_price; + $cumul_achat += ($objp->type == 2 ? -1 : 1) * $objp->buying_price; } } @@ -239,6 +239,8 @@ if ($socid > 0) $marginRate = ($cumul_achat != 0)?(100 * $totalMargin / $cumul_achat):''; $markRate = ($cumul_vente != 0)?(100 * $totalMargin / $cumul_vente):''; } + + // Total print ''; print '"; print "\n"; diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index 39c1f494d31..b3205d3fb44 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -1869,7 +1869,12 @@ class Societe extends CommonObject $label.= '' . $langs->trans("ShowCategorySupplier") . ''; $link = ''; + $link = ''Ref', + 't.note_public'=>'NotePublic', +); +if (empty($user->socid)) $fieldstosearchall["t.note_private"]="NotePrivate"; // Definition of fields for list $arrayfields=array( @@ -111,10 +110,19 @@ $arrayfields=array( // Extra fields if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label)) { - foreach($extrafields->attribute_label as $key => $val) - { - $arrayfields["ef.".$key]=array('label'=>$extrafields->attribute_label[$key], 'checked'=>$extrafields->attribute_list[$key], 'position'=>$extrafields->attribute_pos[$key], 'enabled'=>$extrafields->attribute_perms[$key]); - } + foreach($extrafields->attribute_label as $key => $val) + { + $arrayfields["ef.".$key]=array('label'=>$extrafields->attribute_label[$key], 'checked'=>$extrafields->attribute_list[$key], 'position'=>$extrafields->attribute_pos[$key], 'enabled'=>$extrafields->attribute_perms[$key]); + } +} + + +// Load object if id or ref is provided as parameter +$object=new Skeleton_Class($db); +if (($id > 0 || ! empty($ref)) && $action != 'add') +{ + $result=$object->fetch($id,$ref); + if ($result < 0) dol_print_error($db); } @@ -127,7 +135,7 @@ if (is_array($extrafields->attribute_label) && count($extrafields->attribute_lab ********************************************************************/ if (GETPOST('cancel')) { $action='list'; $massaction=''; } -if (! GETPOST('confirmmassaction')) { $massaction=''; } +if (! GETPOST('confirmmassaction') && $massaction != 'presend' && $massaction != 'confirm_presend') { $massaction=''; } $parameters=array(); $reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks @@ -135,63 +143,43 @@ if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'e include DOL_DOCUMENT_ROOT.'/core/actions_changeselectedfields.inc.php'; +// Purge search criteria if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") ||GETPOST("button_removefilter")) // All test are required to be compatible with all browsers { $search_field1=''; $search_field2=''; $search_date_creation=''; $search_date_update=''; - $search_array_options=array(); + $toselect=''; + $search_array_options=array(); } if (empty($reshook)) { - // Mass actions. Controls on number of lines checked - $maxformassaction=1000; - if (! empty($massaction) && count($toselect) < 1) - { - $error++; - setEventMessages($langs->trans("NoLineChecked"), null, "warnings"); - } - if (! $error && count($toselect) > $maxformassaction) - { - setEventMessages($langs->trans('TooManyRecordForMassAction',$maxformassaction), null, 'errors'); - $error++; - } - - // Action to delete - if ($action == 'confirm_delete') - { - $result=$object->delete($user); - if ($result > 0) - { - // Delete OK - setEventMessages("RecordDeleted", null, 'mesgs'); - header("Location: ".dol_buildpath('/mymodule/list.php',1)); - exit; - } - else - { - if (! empty($object->errors)) setEventMessages(null,$object->errors,'errors'); - else setEventMessages($object->error,null,'errors'); - } - } + $objectclass='Commande'; + $permtoread = $user->rights->commande->lire; + $permtodelete = $user->rights->commande->supprimer; + $uploaddir = $conf->commande->dir_output; + include DOL_DOCUMENT_ROOT.'/core/actions_massactions.inc.php'; } - /*************************************************** * VIEW * * Put here all code to build page ****************************************************/ -llxHeader('','MyPageName',''); +$now=dol_now(); $form=new Form($db); +//$help_url="EN:Module_Customers_Orders|FR:Module_Commandes_Clients|ES:Módulo_Pedidos_de_clientes"; +$help_url=''; +llxHeader('','MyPageName',$help_url); + // Put here content of your page $title = $langs->trans('MyModuleListTitle'); @@ -215,8 +203,8 @@ $sql = "SELECT"; $sql.= " t.rowid,"; $sql.= " t.field1,"; $sql.= " t.field2"; -// Add fields for extrafields -foreach ($extrafields->attribute_list as $key => $val) $sql.=",ef.".$key.' as options_'.$key; +// Add fields from extrafields +foreach ($extrafields->attribute_label as $key => $val) $sql.=($extrafields->attribute_type[$key] != 'separate' ? ",ef.".$key.' as options_'.$key : ''); // Add fields from hooks $parameters=array(); $reshook=$hookmanager->executeHooks('printFieldListSelect',$parameters); // Note that $action and $object may have been modified by hook @@ -265,7 +253,10 @@ if ($resql) { $num = $db->num_rows($resql); + $arrayofselected=is_array($toselect)?$toselect:array(); + $params=''; + if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.$contextpage; if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.$limit; if ($search_field1 != '') $params.= '&search_field1='.urlencode($search_field1); if ($search_field2 != '') $params.= '&search_field2='.urlencode($search_field2); @@ -278,9 +269,14 @@ if ($resql) if ($val != '') $param.='&search_options_'.$tmpkey.'='.urlencode($val); } - print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $params, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'title_companies', 0, '', '', $limit); - - + $arrayofmassactions = array( + 'presend'=>$langs->trans("SendByMail"), + 'builddoc'=>$langs->trans("PDFMerge"), + ); + if ($user->rights->commande->supprimer) $arrayofmassactions['delete']=$langs->trans("Delete"); + if ($massaction == 'presend') $arrayofmassactions=array(); + $massactionbutton=$form->selectMassAction('', $arrayofmassactions); + print ''; if ($optioncss != '') print ''; print ''; @@ -289,10 +285,12 @@ if ($resql) print ''; print ''; - if ($sall) + print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $params, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'title_companies', 0, '', '', $limit); + + if ($sall) { foreach($fieldstosearchall as $key => $val) $fieldstosearchall[$key]=$langs->trans($val); - print $langs->trans("FilterOnInto", $all) . implode(', ',$fieldstosearchall); + print $langs->trans("FilterOnInto", $sall) . join(', ',$fieldstosearchall); } $moreforfilter = ''; @@ -300,20 +298,22 @@ if ($resql) $moreforfilter.= $langs->trans('MyFilter') . ': '; $moreforfilter.= ''; + $parameters=array(); + $reshook=$hookmanager->executeHooks('printFieldPreListTitle',$parameters); // Note that $action and $object may have been modified by hook + if (empty($reshook)) $moreforfilter .= $hookmanager->resPrint; + else $moreforfilter = $hookmanager->resPrint; + if (! empty($moreforfilter)) { print '
'; print $moreforfilter; - $parameters=array(); - $reshook=$hookmanager->executeHooks('printFieldPreListTitle',$parameters); // Note that $action and $object may have been modified by hook - print $hookmanager->resPrint; print '
'; } $varpage=empty($contextpage)?$_SERVER["PHP_SELF"]:$contextpage; $selectedfields=$form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields - print '
'.$langs->trans('SalesRepresentative').''; - print $form->select_dolusers($agentid, 'agentid', 1, '', 0, '', '', 0, 0, 0, '', 0, '', 'maxwidth300'); - print '
'.$langs->trans('SalesRepresentative').''; +print $form->select_dolusers($agentid, 'agentid', 1, '', $user->rights->margins->read->all ? 0 : 1, '', '', 0, 0, 0, '', 0, '', 'maxwidth300'); +print '
'.$langs->trans('DateStart').' ('.$langs->trans("DateValidation").')".$companystatic->getNomUrl(1,'customer')."".$companystatic->getNomUrl(1,'margin')."".price($pv, null, null, null, null, $rounding)."
'; diff --git a/htdocs/margin/tabs/productMargins.php b/htdocs/margin/tabs/productMargins.php index 369d226414a..35bd8e85155 100644 --- a/htdocs/margin/tabs/productMargins.php +++ b/htdocs/margin/tabs/productMargins.php @@ -225,7 +225,7 @@ if ($id > 0 || ! empty($ref)) $markRate = ($cumul_vente != 0)?-1*(100 * $totalMargin / $cumul_vente):''; } else - { + { $marginRate = ($cumul_achat != 0)?(100 * $totalMargin / $cumul_achat):''; $markRate = ($cumul_vente != 0)?(100 * $totalMargin / $cumul_vente):''; } diff --git a/htdocs/margin/tabs/thirdpartyMargins.php b/htdocs/margin/tabs/thirdpartyMargins.php index cd12539c2f7..29bdd16b21e 100644 --- a/htdocs/margin/tabs/thirdpartyMargins.php +++ b/htdocs/margin/tabs/thirdpartyMargins.php @@ -176,8 +176,8 @@ if ($socid > 0) print '
'.$invoicestatic->LibStatut($objp->paye,$objp->statut,5).'
'.$langs->trans('TotalMargin')."".price($cumul_vente, null, null, null, null, $rounding)."
'; + print '
'."\n"; // Fields title print ''; @@ -393,7 +393,7 @@ if ($resql) }*/ // Action column print ''; print ''."\n"; @@ -466,7 +466,14 @@ if ($resql) }*/ // Action column - print ''; + print ''; if (! $i) $totalarray['nbfield']++; print ''; @@ -474,16 +481,61 @@ if ($resql) $i++; } - $db->free($resql); + // Show total line + if (isset($totalarray['totalhtfield'])) + { + print ''; + $i=0; + while ($i < $totalarray['nbfield']) + { + $i++; + if ($i == 1) + { + if ($num < $limit) print ''; + else print ''; + } + elseif ($totalarray['totalhtfield'] == $i) print ''; + elseif ($totalarray['totalvatfield'] == $i) print ''; + elseif ($totalarray['totalttcfield'] == $i) print ''; + else print ''; + } + print ''; + } + + $db->free($resql); - $parameters=array('sql' => $sql); + $parameters=array('arrayfields'=>$arrayfields, 'sql'=>$sql); $reshook=$hookmanager->executeHooks('printFieldListFooter',$parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; - print "
'; - $searchpitco=$form->showFilterAndCheckAddButtons(0); + $searchpitco=$form->showFilterAndCheckAddButtons($massactionbutton?1:0, 'checkforselect', 1); print $searchpitco; print '
'; + if ($massactionbutton || $massaction) // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined + { + $selected=0; + if (in_array($obj->rowid, $arrayofselected)) $selected=1; + print ''; + } + print '
'.$langs->trans("Total").''.$langs->trans("Totalforthispage").''.price($totalarray['totalht']).''.price($totalarray['totalvat']).''.price($totalarray['totalttc']).'
\n"; - print "\n"; + print '
'."\n"; + + print ''."\n"; + + + if ($massaction == 'builddoc' || $action == 'remove_file' || $show_files) + { + /* + * Show list of available documents + */ + $urlsource=$_SERVER['PHP_SELF'].'?sortfield='.$sortfield.'&sortorder='.$sortorder; + $urlsource.=str_replace('&','&',$param); + + $filedir=$diroutputmassaction; + $genallowed=$user->rights->facture->lire; + $delallowed=$user->rights->facture->lire; + + print '
'; + $paramwithoutshowfiles=preg_replace('/show_files=1&?/','',$param); + $title=$langs->trans("MassFilesArea").' ('.$langs->trans("Hide").')'; + + print $formfile->showdocuments('massfilesarea_orders','',$filedir,$urlsource,0,$delallowed,'',1,1,0,48,1,$param,$title,''); + } + else + { + print '
'.$langs->trans("ShowTempMassFilesArea").''; + } - $db->free($result); } else { diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index 6ded9b219ac..665ec578627 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -163,7 +163,7 @@ if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'e include DOL_DOCUMENT_ROOT.'/core/actions_changeselectedfields.inc.php'; // Purge search criteria -if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") || GETPOST("button_removefilter")) // Both test are required to be compatible with all browsers +if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") || GETPOST("button_removefilter")) // All test are required to be compatible with all browsers { $search_categ=''; $search_user=''; @@ -337,6 +337,7 @@ $sql.=$hookmanager->resPrint; $sql.= $db->order($sortfield,$sortorder); +// Count total nb of records $nbtotalofrecords = 0; if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { @@ -419,7 +420,7 @@ if ($resql) $massactionbutton=$form->selectMassAction('', $arrayofmassactions); // Lignes des champs de filtre - print '
'; + print ''; if ($optioncss != '') print ''; print ''; print ''; @@ -561,10 +562,11 @@ if ($resql) $moreforfilter.=$form->selectarray('search_product_category', $cate_arbo, $search_product_category, 1, 0, 0, '', 0, 0, 0, 0, '', 1); $moreforfilter.=''; } - $parameters=array(); - $reshook=$hookmanager->executeHooks('printFieldPreListTitle',$parameters); // Note that $action and $object may have been modified by hook + $parameters=array(); + $reshook=$hookmanager->executeHooks('printFieldPreListTitle',$parameters); // Note that $action and $object may have been modified by hook if (empty($reshook)) $moreforfilter .= $hookmanager->resPrint; else $moreforfilter = $hookmanager->resPrint; + if (! empty($moreforfilter)) { print '
'; @@ -577,6 +579,7 @@ if ($resql) print ''."\n"; + // Fields title print ''; if (! empty($arrayfields['c.ref']['checked'])) print_liste_field_titre($arrayfields['c.ref']['label'],$_SERVER["PHP_SELF"],'c.ref','',$param,'',$sortfield,$sortorder); if (! empty($arrayfields['c.ref_client']['checked'])) print_liste_field_titre($arrayfields['c.ref_client']['label'],$_SERVER["PHP_SELF"],'c.ref_client','',$param,'',$sortfield,$sortorder); @@ -612,7 +615,7 @@ if ($resql) if (! empty($arrayfields['c.fk_statut']['checked'])) print_liste_field_titre($arrayfields['c.fk_statut']['label'],$_SERVER["PHP_SELF"],"c.fk_statut","",$param,'align="right"',$sortfield,$sortorder); if (! empty($arrayfields['c.facture']['checked'])) print_liste_field_titre($arrayfields['c.facture']['label'],$_SERVER["PHP_SELF"],'c.facture','',$param,'align="center"',$sortfield,$sortorder,''); print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"],"",'','','align="right"',$sortfield,$sortorder,'maxwidthsearch '); - print ''; + print ''."\n"; print ''; // Ref @@ -1149,7 +1152,7 @@ if ($resql) $reshook=$hookmanager->executeHooks('printFieldListFooter',$parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; - print '
'; + print '
'."\n"; print ''."\n"; From 654ac318d4dd2a375f51d59f684141ea48c6f7a4 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 30 Jul 2016 20:26:05 +0200 Subject: [PATCH 178/476] Prepare dump for 4.0 demo --- dev/initdemo/mysqldump_dolibarr_4.0.0.sql | 8576 +++++++++++++++++++++ dev/initdemo/savedemo.sh | 1 - 2 files changed, 8576 insertions(+), 1 deletion(-) create mode 100644 dev/initdemo/mysqldump_dolibarr_4.0.0.sql diff --git a/dev/initdemo/mysqldump_dolibarr_4.0.0.sql b/dev/initdemo/mysqldump_dolibarr_4.0.0.sql new file mode 100644 index 00000000000..c682b62c1ab --- /dev/null +++ b/dev/initdemo/mysqldump_dolibarr_4.0.0.sql @@ -0,0 +1,8576 @@ +-- MySQL dump 10.13 Distrib 5.5.50, for debian-linux-gnu (x86_64) +-- +-- Host: localhost Database: dolibarr_4 +-- ------------------------------------------------------ +-- Server version 5.5.50-0ubuntu0.14.04.1 + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8 */; +/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; +/*!40103 SET TIME_ZONE='+00:00' */; +/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; +/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; +/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; +/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; + +-- +-- Table structure for table `llx_accounting_account` +-- + +DROP TABLE IF EXISTS `llx_accounting_account`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_accounting_account` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_pcg_version` varchar(32) DEFAULT NULL, + `pcg_type` varchar(20) NOT NULL, + `pcg_subtype` varchar(20) NOT NULL, + `account_number` varchar(32) DEFAULT NULL, + `account_parent` int(11) DEFAULT '0', + `label` varchar(255) DEFAULT NULL, + `fk_accounting_category` int(11) DEFAULT '0', + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + KEY `idx_accountingaccount_fk_pcg_version` (`fk_pcg_version`), + KEY `idx_accounting_account_account_number` (`account_number`), + CONSTRAINT `fk_accountingaccount_fk_pcg_version` FOREIGN KEY (`fk_pcg_version`) REFERENCES `llx_accounting_system` (`pcg_version`) +) ENGINE=InnoDB AUTO_INCREMENT=4785 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_accounting_account` +-- + +LOCK TABLES `llx_accounting_account` WRITE; +/*!40000 ALTER TABLE `llx_accounting_account` DISABLE KEYS */; +INSERT INTO `llx_accounting_account` VALUES (1,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CAPIT','CAPITAL','101',1401,'Capital',0,NULL,NULL,1),(2,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CAPIT','XXXXXX','105',1401,'Ecarts de réévaluation',0,NULL,NULL,1),(3,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CAPIT','XXXXXX','1061',1401,'Réserve légale',0,NULL,NULL,1),(4,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CAPIT','XXXXXX','1063',1401,'Réserves statutaires ou contractuelles',0,NULL,NULL,1),(5,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CAPIT','XXXXXX','1064',1401,'Réserves réglementées',0,NULL,NULL,1),(6,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CAPIT','XXXXXX','1068',1401,'Autres réserves',0,NULL,NULL,1),(7,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CAPIT','XXXXXX','108',1401,'Compte de l\'exploitant',0,NULL,NULL,1),(8,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CAPIT','XXXXXX','12',1401,'Résultat de l\'exercice',0,NULL,NULL,1),(9,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CAPIT','XXXXXX','145',1401,'Amortissements dérogatoires',0,NULL,NULL,1),(10,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CAPIT','XXXXXX','146',1401,'Provision spéciale de réévaluation',0,NULL,NULL,1),(11,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CAPIT','XXXXXX','147',1401,'Plus-values réinvesties',0,NULL,NULL,1),(12,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CAPIT','XXXXXX','148',1401,'Autres provisions réglementées',0,NULL,NULL,1),(13,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CAPIT','XXXXXX','15',1401,'Provisions pour risques et charges',0,NULL,NULL,1),(14,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CAPIT','XXXXXX','16',1401,'Emprunts et dettes assimilees',0,NULL,NULL,1),(15,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','IMMO','XXXXXX','20',1402,'Immobilisations incorporelles',0,NULL,NULL,1),(16,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','IMMO','XXXXXX','201',15,'Frais d\'établissement',0,NULL,NULL,1),(17,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','IMMO','XXXXXX','206',15,'Droit au bail',0,NULL,NULL,1),(18,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','IMMO','XXXXXX','207',15,'Fonds commercial',0,NULL,NULL,1),(19,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','IMMO','XXXXXX','208',15,'Autres immobilisations incorporelles',0,NULL,NULL,1),(20,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','IMMO','XXXXXX','21',1402,'Immobilisations corporelles',0,NULL,NULL,1),(21,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','IMMO','XXXXXX','23',1402,'Immobilisations en cours',0,NULL,NULL,1),(22,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','IMMO','XXXXXX','27',1402,'Autres immobilisations financieres',0,NULL,NULL,1),(23,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','IMMO','XXXXXX','280',1402,'Amortissements des immobilisations incorporelles',0,NULL,NULL,1),(24,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','IMMO','XXXXXX','281',1402,'Amortissements des immobilisations corporelles',0,NULL,NULL,1),(25,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','IMMO','XXXXXX','290',1402,'Provisions pour dépréciation des immobilisations incorporelles',0,NULL,NULL,1),(26,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','IMMO','XXXXXX','291',1402,'Provisions pour dépréciation des immobilisations corporelles',0,NULL,NULL,1),(27,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','IMMO','XXXXXX','297',1402,'Provisions pour dépréciation des autres immobilisations financières',0,NULL,NULL,1),(28,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','STOCK','XXXXXX','31',1403,'Matieres premières',0,NULL,NULL,1),(29,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','STOCK','XXXXXX','32',1403,'Autres approvisionnements',0,NULL,NULL,1),(30,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','STOCK','XXXXXX','33',1403,'En-cours de production de biens',0,NULL,NULL,1),(31,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','STOCK','XXXXXX','34',1403,'En-cours de production de services',0,NULL,NULL,1),(32,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','STOCK','XXXXXX','35',1403,'Stocks de produits',0,NULL,NULL,1),(33,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','STOCK','XXXXXX','37',1403,'Stocks de marchandises',0,NULL,NULL,1),(34,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','STOCK','XXXXXX','391',1403,'Provisions pour dépréciation des matières premières',0,NULL,NULL,1),(35,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','STOCK','XXXXXX','392',1403,'Provisions pour dépréciation des autres approvisionnements',0,NULL,NULL,1),(36,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','STOCK','XXXXXX','393',1403,'Provisions pour dépréciation des en-cours de production de biens',0,NULL,NULL,1),(37,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','STOCK','XXXXXX','394',1403,'Provisions pour dépréciation des en-cours de production de services',0,NULL,NULL,1),(38,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','STOCK','XXXXXX','395',1403,'Provisions pour dépréciation des stocks de produits',0,NULL,NULL,1),(39,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','STOCK','XXXXXX','397',1403,'Provisions pour dépréciation des stocks de marchandises',0,NULL,NULL,1),(40,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','TIERS','SUPPLIER','400',1404,'Fournisseurs et Comptes rattachés',0,NULL,NULL,1),(41,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','TIERS','XXXXXX','409',1404,'Fournisseurs débiteurs',0,NULL,NULL,1),(42,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','TIERS','CUSTOMER','410',1404,'Clients et Comptes rattachés',0,NULL,NULL,1),(43,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','TIERS','XXXXXX','419',1404,'Clients créditeurs',0,NULL,NULL,1),(44,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','TIERS','XXXXXX','421',1404,'Personnel',0,NULL,NULL,1),(45,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','TIERS','XXXXXX','428',1404,'Personnel',0,NULL,NULL,1),(46,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','TIERS','XXXXXX','43',1404,'Sécurité sociale et autres organismes sociaux',0,NULL,NULL,1),(47,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','TIERS','XXXXXX','444',1404,'Etat - impôts sur bénéfice',0,NULL,NULL,1),(48,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','TIERS','XXXXXX','445',1404,'Etat - Taxes sur chiffre affaires',0,NULL,NULL,1),(49,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','TIERS','XXXXXX','447',1404,'Autres impôts, taxes et versements assimilés',0,NULL,NULL,1),(50,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','TIERS','XXXXXX','45',1404,'Groupe et associes',0,NULL,NULL,1),(51,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','TIERS','XXXXXX','455',50,'Associés',0,NULL,NULL,1),(52,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','TIERS','XXXXXX','46',1404,'Débiteurs divers et créditeurs divers',0,NULL,NULL,1),(53,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','TIERS','XXXXXX','47',1404,'Comptes transitoires ou d\'attente',0,NULL,NULL,1),(54,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','TIERS','XXXXXX','481',1404,'Charges à répartir sur plusieurs exercices',0,NULL,NULL,1),(55,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','TIERS','XXXXXX','486',1404,'Charges constatées d\'avance',0,NULL,NULL,1),(56,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','TIERS','XXXXXX','487',1404,'Produits constatés d\'avance',0,NULL,NULL,1),(57,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','TIERS','XXXXXX','491',1404,'Provisions pour dépréciation des comptes de clients',0,NULL,NULL,1),(58,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','TIERS','XXXXXX','496',1404,'Provisions pour dépréciation des comptes de débiteurs divers',0,NULL,NULL,1),(59,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','FINAN','XXXXXX','50',1405,'Valeurs mobilières de placement',0,NULL,NULL,1),(60,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','FINAN','BANK','51',1405,'Banques, établissements financiers et assimilés',0,NULL,NULL,1),(61,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','FINAN','CASH','53',1405,'Caisse',0,NULL,NULL,1),(62,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','FINAN','XXXXXX','54',1405,'Régies d\'avance et accréditifs',0,NULL,NULL,1),(63,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','FINAN','XXXXXX','58',1405,'Virements internes',0,NULL,NULL,1),(64,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','FINAN','XXXXXX','590',1405,'Provisions pour dépréciation des valeurs mobilières de placement',0,NULL,NULL,1),(65,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CHARGE','PRODUCT','60',1406,'Achats',0,NULL,NULL,1),(66,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CHARGE','XXXXXX','603',65,'Variations des stocks',0,NULL,NULL,1),(67,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CHARGE','SERVICE','61',1406,'Services extérieurs',0,NULL,NULL,1),(68,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CHARGE','XXXXXX','62',1406,'Autres services extérieurs',0,NULL,NULL,1),(69,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CHARGE','XXXXXX','63',1406,'Impôts, taxes et versements assimiles',0,NULL,NULL,1),(70,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CHARGE','XXXXXX','641',1406,'Rémunérations du personnel',0,NULL,NULL,1),(71,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CHARGE','XXXXXX','644',1406,'Rémunération du travail de l\'exploitant',0,NULL,NULL,1),(72,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CHARGE','SOCIAL','645',1406,'Charges de sécurité sociale et de prévoyance',0,NULL,NULL,1),(73,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CHARGE','XXXXXX','646',1406,'Cotisations sociales personnelles de l\'exploitant',0,NULL,NULL,1),(74,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CHARGE','XXXXXX','65',1406,'Autres charges de gestion courante',0,NULL,NULL,1),(75,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CHARGE','XXXXXX','66',1406,'Charges financières',0,NULL,NULL,1),(76,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CHARGE','XXXXXX','67',1406,'Charges exceptionnelles',0,NULL,NULL,1),(77,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CHARGE','XXXXXX','681',1406,'Dotations aux amortissements et aux provisions',0,NULL,NULL,1),(78,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CHARGE','XXXXXX','686',1406,'Dotations aux amortissements et aux provisions',0,NULL,NULL,1),(79,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CHARGE','XXXXXX','687',1406,'Dotations aux amortissements et aux provisions',0,NULL,NULL,1),(80,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CHARGE','XXXXXX','691',1406,'Participation des salariés aux résultats',0,NULL,NULL,1),(81,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CHARGE','XXXXXX','695',1406,'Impôts sur les bénéfices',0,NULL,NULL,1),(82,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CHARGE','XXXXXX','697',1406,'Imposition forfaitaire annuelle des sociétés',0,NULL,NULL,1),(83,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','CHARGE','XXXXXX','699',1406,'Produits',0,NULL,NULL,1),(84,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','PROD','PRODUCT','701',1407,'Ventes de produits finis',0,NULL,NULL,1),(85,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','PROD','SERVICE','706',1407,'Prestations de services',0,NULL,NULL,1),(86,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','PROD','PRODUCT','707',1407,'Ventes de marchandises',0,NULL,NULL,1),(87,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','PROD','PRODUCT','708',1407,'Produits des activités annexes',0,NULL,NULL,1),(88,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','PROD','XXXXXX','709',1407,'Rabais, remises et ristournes accordés par l\'entreprise',0,NULL,NULL,1),(89,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','PROD','XXXXXX','713',1407,'Variation des stocks',0,NULL,NULL,1),(90,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','PROD','XXXXXX','72',1407,'Production immobilisée',0,NULL,NULL,1),(91,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','PROD','XXXXXX','73',1407,'Produits nets partiels sur opérations à long terme',0,NULL,NULL,1),(92,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','PROD','XXXXXX','74',1407,'Subventions d\'exploitation',0,NULL,NULL,1),(93,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','PROD','XXXXXX','75',1407,'Autres produits de gestion courante',0,NULL,NULL,1),(94,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','PROD','XXXXXX','753',93,'Jetons de présence et rémunérations d\'administrateurs, gérants,...',0,NULL,NULL,1),(95,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','PROD','XXXXXX','754',93,'Ristournes perçues des coopératives',0,NULL,NULL,1),(96,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','PROD','XXXXXX','755',93,'Quotes-parts de résultat sur opérations faites en commun',0,NULL,NULL,1),(97,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','PROD','XXXXXX','76',1407,'Produits financiers',0,NULL,NULL,1),(98,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','PROD','XXXXXX','77',1407,'Produits exceptionnels',0,NULL,NULL,1),(99,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','PROD','XXXXXX','781',1407,'Reprises sur amortissements et provisions',0,NULL,NULL,1),(100,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','PROD','XXXXXX','786',1407,'Reprises sur provisions pour risques',0,NULL,NULL,1),(101,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','PROD','XXXXXX','787',1407,'Reprises sur provisions',0,NULL,NULL,1),(102,1,NULL,'2016-01-22 17:28:15','PCG99-ABREGE','PROD','XXXXXX','79',1407,'Transferts de charges',0,NULL,NULL,1),(103,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','10',1501,'Capital et réserves',0,NULL,NULL,1),(104,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','CAPITAL','101',103,'Capital',0,NULL,NULL,1),(105,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','104',103,'Primes liées au capital social',0,NULL,NULL,1),(106,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','105',103,'Ecarts de réévaluation',0,NULL,NULL,1),(107,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','106',103,'Réserves',0,NULL,NULL,1),(108,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','107',103,'Ecart d\'equivalence',0,NULL,NULL,1),(109,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','108',103,'Compte de l\'exploitant',0,NULL,NULL,1),(110,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','109',103,'Actionnaires : capital souscrit - non appelé',0,NULL,NULL,1),(111,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','11',1501,'Report à nouveau (solde créditeur ou débiteur)',0,NULL,NULL,1),(112,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','110',111,'Report à nouveau (solde créditeur)',0,NULL,NULL,1),(113,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','119',111,'Report à nouveau (solde débiteur)',0,NULL,NULL,1),(114,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','12',1501,'Résultat de l\'exercice (bénéfice ou perte)',0,NULL,NULL,1),(115,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','120',114,'Résultat de l\'exercice (bénéfice)',0,NULL,NULL,1),(116,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','129',114,'Résultat de l\'exercice (perte)',0,NULL,NULL,1),(117,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','13',1501,'Subventions d\'investissement',0,NULL,NULL,1),(118,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','131',117,'Subventions d\'équipement',0,NULL,NULL,1),(119,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','138',117,'Autres subventions d\'investissement',0,NULL,NULL,1),(120,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','139',117,'Subventions d\'investissement inscrites au compte de résultat',0,NULL,NULL,1),(121,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','14',1501,'Provisions réglementées',0,NULL,NULL,1),(122,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','142',121,'Provisions réglementées relatives aux immobilisations',0,NULL,NULL,1),(123,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','143',121,'Provisions réglementées relatives aux stocks',0,NULL,NULL,1),(124,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','144',121,'Provisions réglementées relatives aux autres éléments de l\'actif',0,NULL,NULL,1),(125,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','145',121,'Amortissements dérogatoires',0,NULL,NULL,1),(126,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','146',121,'Provision spéciale de réévaluation',0,NULL,NULL,1),(127,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','147',121,'Plus-values réinvesties',0,NULL,NULL,1),(128,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','148',121,'Autres provisions réglementées',0,NULL,NULL,1),(129,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','15',1501,'Provisions pour risques et charges',0,NULL,NULL,1),(130,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','151',129,'Provisions pour risques',0,NULL,NULL,1),(131,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','153',129,'Provisions pour pensions et obligations similaires',0,NULL,NULL,1),(132,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','154',129,'Provisions pour restructurations',0,NULL,NULL,1),(133,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','155',129,'Provisions pour impôts',0,NULL,NULL,1),(134,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','156',129,'Provisions pour renouvellement des immobilisations (entreprises concessionnaires)',0,NULL,NULL,1),(135,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','157',129,'Provisions pour charges à répartir sur plusieurs exercices',0,NULL,NULL,1),(136,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','158',129,'Autres provisions pour charges',0,NULL,NULL,1),(137,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','16',1501,'Emprunts et dettes assimilees',0,NULL,NULL,1),(138,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','161',137,'Emprunts obligataires convertibles',0,NULL,NULL,1),(139,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','163',137,'Autres emprunts obligataires',0,NULL,NULL,1),(140,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','164',137,'Emprunts auprès des établissements de crédit',0,NULL,NULL,1),(141,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','165',137,'Dépôts et cautionnements reçus',0,NULL,NULL,1),(142,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','166',137,'Participation des salariés aux résultats',0,NULL,NULL,1),(143,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','167',137,'Emprunts et dettes assortis de conditions particulières',0,NULL,NULL,1),(144,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','168',137,'Autres emprunts et dettes assimilées',0,NULL,NULL,1),(145,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','169',137,'Primes de remboursement des obligations',0,NULL,NULL,1),(146,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','17',1501,'Dettes rattachées à des participations',0,NULL,NULL,1),(147,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','171',146,'Dettes rattachées à des participations (groupe)',0,NULL,NULL,1),(148,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','174',146,'Dettes rattachées à des participations (hors groupe)',0,NULL,NULL,1),(149,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','178',146,'Dettes rattachées à des sociétés en participation',0,NULL,NULL,1),(150,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','18',1501,'Comptes de liaison des établissements et sociétés en participation',0,NULL,NULL,1),(151,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','181',150,'Comptes de liaison des établissements',0,NULL,NULL,1),(152,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','186',150,'Biens et prestations de services échangés entre établissements (charges)',0,NULL,NULL,1),(153,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','187',150,'Biens et prestations de services échangés entre établissements (produits)',0,NULL,NULL,1),(154,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CAPIT','XXXXXX','188',150,'Comptes de liaison des sociétés en participation',0,NULL,NULL,1),(155,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','20',1502,'Immobilisations incorporelles',0,NULL,NULL,1),(156,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','201',155,'Frais d\'établissement',0,NULL,NULL,1),(157,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','203',155,'Frais de recherche et de développement',0,NULL,NULL,1),(158,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','205',155,'Concessions et droits similaires, brevets, licences, marques, procédés, logiciels, droits et valeurs similaires',0,NULL,NULL,1),(159,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','206',155,'Droit au bail',0,NULL,NULL,1),(160,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','207',155,'Fonds commercial',0,NULL,NULL,1),(161,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','208',155,'Autres immobilisations incorporelles',0,NULL,NULL,1),(162,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','21',1502,'Immobilisations corporelles',0,NULL,NULL,1),(163,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','211',162,'Terrains',0,NULL,NULL,1),(164,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','212',162,'Agencements et aménagements de terrains',0,NULL,NULL,1),(165,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','213',162,'Constructions',0,NULL,NULL,1),(166,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','214',162,'Constructions sur sol d\'autrui',0,NULL,NULL,1),(167,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','215',162,'Installations techniques, matériels et outillage industriels',0,NULL,NULL,1),(168,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','218',162,'Autres immobilisations corporelles',0,NULL,NULL,1),(169,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','22',1502,'Immobilisations mises en concession',0,NULL,NULL,1),(170,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','23',1502,'Immobilisations en cours',0,NULL,NULL,1),(171,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','231',170,'Immobilisations corporelles en cours',0,NULL,NULL,1),(172,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','232',170,'Immobilisations incorporelles en cours',0,NULL,NULL,1),(173,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','237',170,'Avances et acomptes versés sur immobilisations incorporelles',0,NULL,NULL,1),(174,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','238',170,'Avances et acomptes versés sur commandes d\'immobilisations corporelles',0,NULL,NULL,1),(175,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','25',1502,'Parts dans des entreprises liées et créances sur des entreprises liées',0,NULL,NULL,1),(176,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','26',1502,'Participations et créances rattachées à des participations',0,NULL,NULL,1),(177,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','261',176,'Titres de participation',0,NULL,NULL,1),(178,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','266',176,'Autres formes de participation',0,NULL,NULL,1),(179,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','267',176,'Créances rattachées à des participations',0,NULL,NULL,1),(180,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','268',176,'Créances rattachées à des sociétés en participation',0,NULL,NULL,1),(181,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','269',176,'Versements restant à effectuer sur titres de participation non libérés',0,NULL,NULL,1),(182,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','27',1502,'Autres immobilisations financieres',0,NULL,NULL,1),(183,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','271',183,'Titres immobilisés autres que les titres immobilisés de l\'activité de portefeuille (droit de propriété)',0,NULL,NULL,1),(184,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','272',183,'Titres immobilisés (droit de créance)',0,NULL,NULL,1),(185,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','273',183,'Titres immobilisés de l\'activité de portefeuille',0,NULL,NULL,1),(186,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','274',183,'Prêts',0,NULL,NULL,1),(187,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','275',183,'Dépôts et cautionnements versés',0,NULL,NULL,1),(188,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','276',183,'Autres créances immobilisées',0,NULL,NULL,1),(189,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','277',183,'(Actions propres ou parts propres)',0,NULL,NULL,1),(190,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','279',183,'Versements restant à effectuer sur titres immobilisés non libérés',0,NULL,NULL,1),(191,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','28',1502,'Amortissements des immobilisations',0,NULL,NULL,1),(192,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','280',191,'Amortissements des immobilisations incorporelles',0,NULL,NULL,1),(193,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','281',191,'Amortissements des immobilisations corporelles',0,NULL,NULL,1),(194,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','282',191,'Amortissements des immobilisations mises en concession',0,NULL,NULL,1),(195,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','29',1502,'Dépréciations des immobilisations',0,NULL,NULL,1),(196,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','290',195,'Dépréciations des immobilisations incorporelles',0,NULL,NULL,1),(197,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','291',195,'Dépréciations des immobilisations corporelles',0,NULL,NULL,1),(198,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','292',195,'Dépréciations des immobilisations mises en concession',0,NULL,NULL,1),(199,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','293',195,'Dépréciations des immobilisations en cours',0,NULL,NULL,1),(200,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','296',195,'Provisions pour dépréciation des participations et créances rattachées à des participations',0,NULL,NULL,1),(201,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','IMMO','XXXXXX','297',195,'Provisions pour dépréciation des autres immobilisations financières',0,NULL,NULL,1),(202,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','31',1503,'Matières premières (et fournitures)',0,NULL,NULL,1),(203,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','311',202,'Matières (ou groupe) A',0,NULL,NULL,1),(204,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','312',202,'Matières (ou groupe) B',0,NULL,NULL,1),(205,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','317',202,'Fournitures A, B, C,',0,NULL,NULL,1),(206,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','32',1503,'Autres approvisionnements',0,NULL,NULL,1),(207,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','321',206,'Matières consommables',0,NULL,NULL,1),(208,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','322',206,'Fournitures consommables',0,NULL,NULL,1),(209,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','326',206,'Emballages',0,NULL,NULL,1),(210,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','33',1503,'En-cours de production de biens',0,NULL,NULL,1),(211,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','331',210,'Produits en cours',0,NULL,NULL,1),(212,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','335',210,'Travaux en cours',0,NULL,NULL,1),(213,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','34',1503,'En-cours de production de services',0,NULL,NULL,1),(214,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','341',213,'Etudes en cours',0,NULL,NULL,1),(215,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','345',213,'Prestations de services en cours',0,NULL,NULL,1),(216,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','35',1503,'Stocks de produits',0,NULL,NULL,1),(217,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','351',216,'Produits intermédiaires',0,NULL,NULL,1),(218,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','355',216,'Produits finis',0,NULL,NULL,1),(219,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','358',216,'Produits résiduels (ou matières de récupération)',0,NULL,NULL,1),(220,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','37',1503,'Stocks de marchandises',0,NULL,NULL,1),(221,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','371',220,'Marchandises (ou groupe) A',0,NULL,NULL,1),(222,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','372',220,'Marchandises (ou groupe) B',0,NULL,NULL,1),(223,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','39',1503,'Provisions pour dépréciation des stocks et en-cours',0,NULL,NULL,1),(224,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','391',223,'Provisions pour dépréciation des matières premières',0,NULL,NULL,1),(225,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','392',223,'Provisions pour dépréciation des autres approvisionnements',0,NULL,NULL,1),(226,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','393',223,'Provisions pour dépréciation des en-cours de production de biens',0,NULL,NULL,1),(227,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','394',223,'Provisions pour dépréciation des en-cours de production de services',0,NULL,NULL,1),(228,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','395',223,'Provisions pour dépréciation des stocks de produits',0,NULL,NULL,1),(229,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','STOCK','XXXXXX','397',223,'Provisions pour dépréciation des stocks de marchandises',0,NULL,NULL,1),(230,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','40',1504,'Fournisseurs et Comptes rattachés',0,NULL,NULL,1),(231,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','400',230,'Fournisseurs et Comptes rattachés',0,NULL,NULL,1),(232,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','SUPPLIER','401',230,'Fournisseurs',0,NULL,NULL,1),(233,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','403',230,'Fournisseurs - Effets à payer',0,NULL,NULL,1),(234,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','404',230,'Fournisseurs d\'immobilisations',0,NULL,NULL,1),(235,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','405',230,'Fournisseurs d\'immobilisations - Effets à payer',0,NULL,NULL,1),(236,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','408',230,'Fournisseurs - Factures non parvenues',0,NULL,NULL,1),(237,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','409',230,'Fournisseurs débiteurs',0,NULL,NULL,1),(238,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','41',1504,'Clients et comptes rattachés',0,NULL,NULL,1),(239,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','410',238,'Clients et Comptes rattachés',0,NULL,NULL,1),(240,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','CUSTOMER','411',238,'Clients',0,NULL,NULL,1),(241,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','413',238,'Clients - Effets à recevoir',0,NULL,NULL,1),(242,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','416',238,'Clients douteux ou litigieux',0,NULL,NULL,1),(243,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','418',238,'Clients - Produits non encore facturés',0,NULL,NULL,1),(244,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','419',238,'Clients créditeurs',0,NULL,NULL,1),(245,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','42',1504,'Personnel et comptes rattachés',0,NULL,NULL,1),(246,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','421',245,'Personnel - Rémunérations dues',0,NULL,NULL,1),(247,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','422',245,'Comités d\'entreprises, d\'établissement, ...',0,NULL,NULL,1),(248,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','424',245,'Participation des salariés aux résultats',0,NULL,NULL,1),(249,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','425',245,'Personnel - Avances et acomptes',0,NULL,NULL,1),(250,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','426',245,'Personnel - Dépôts',0,NULL,NULL,1),(251,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','427',245,'Personnel - Oppositions',0,NULL,NULL,1),(252,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','428',245,'Personnel - Charges à payer et produits à recevoir',0,NULL,NULL,1),(253,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','43',1504,'Sécurité sociale et autres organismes sociaux',0,NULL,NULL,1),(254,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','431',253,'Sécurité sociale',0,NULL,NULL,1),(255,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','437',253,'Autres organismes sociaux',0,NULL,NULL,1),(256,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','438',253,'Organismes sociaux - Charges à payer et produits à recevoir',0,NULL,NULL,1),(257,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','44',1504,'État et autres collectivités publiques',0,NULL,NULL,1),(258,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','441',257,'État - Subventions à recevoir',0,NULL,NULL,1),(259,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','442',257,'Etat - Impôts et taxes recouvrables sur des tiers',0,NULL,NULL,1),(260,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','443',257,'Opérations particulières avec l\'Etat, les collectivités publiques, les organismes internationaux',0,NULL,NULL,1),(261,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','444',257,'Etat - Impôts sur les bénéfices',0,NULL,NULL,1),(262,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','445',257,'Etat - Taxes sur le chiffre d\'affaires',0,NULL,NULL,1),(263,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','446',257,'Obligations cautionnées',0,NULL,NULL,1),(264,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','447',257,'Autres impôts, taxes et versements assimilés',0,NULL,NULL,1),(265,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','448',257,'Etat - Charges à payer et produits à recevoir',0,NULL,NULL,1),(266,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','449',257,'Quotas d\'émission à restituer à l\'Etat',0,NULL,NULL,1),(267,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','45',1504,'Groupe et associes',0,NULL,NULL,1),(268,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','451',267,'Groupe',0,NULL,NULL,1),(269,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','455',267,'Associés - Comptes courants',0,NULL,NULL,1),(270,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','456',267,'Associés - Opérations sur le capital',0,NULL,NULL,1),(271,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','457',267,'Associés - Dividendes à payer',0,NULL,NULL,1),(272,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','458',267,'Associés - Opérations faites en commun et en G.I.E.',0,NULL,NULL,1),(273,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','46',1504,'Débiteurs divers et créditeurs divers',0,NULL,NULL,1),(274,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','462',273,'Créances sur cessions d\'immobilisations',0,NULL,NULL,1),(275,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','464',273,'Dettes sur acquisitions de valeurs mobilières de placement',0,NULL,NULL,1),(276,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','465',273,'Créances sur cessions de valeurs mobilières de placement',0,NULL,NULL,1),(277,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','467',273,'Autres comptes débiteurs ou créditeurs',0,NULL,NULL,1),(278,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','468',273,'Divers - Charges à payer et produits à recevoir',0,NULL,NULL,1),(279,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','47',1504,'Comptes transitoires ou d\'attente',0,NULL,NULL,1),(280,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','471',279,'Comptes d\'attente',0,NULL,NULL,1),(281,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','476',279,'Différence de conversion - Actif',0,NULL,NULL,1),(282,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','477',279,'Différences de conversion - Passif',0,NULL,NULL,1),(283,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','478',279,'Autres comptes transitoires',0,NULL,NULL,1),(284,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','48',1504,'Comptes de régularisation',0,NULL,NULL,1),(285,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','481',284,'Charges à répartir sur plusieurs exercices',0,NULL,NULL,1),(286,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','486',284,'Charges constatées d\'avance',0,NULL,NULL,1),(287,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','487',284,'Produits constatés d\'avance',0,NULL,NULL,1),(288,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','488',284,'Comptes de répartition périodique des charges et des produits',0,NULL,NULL,1),(289,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','489',284,'Quotas d\'émission alloués par l\'Etat',0,NULL,NULL,1),(290,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','49',1504,'Provisions pour dépréciation des comptes de tiers',0,NULL,NULL,1),(291,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','491',290,'Provisions pour dépréciation des comptes de clients',0,NULL,NULL,1),(292,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','495',290,'Provisions pour dépréciation des comptes du groupe et des associés',0,NULL,NULL,1),(293,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','TIERS','XXXXXX','496',290,'Provisions pour dépréciation des comptes de débiteurs divers',0,NULL,NULL,1),(294,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','XXXXXX','50',1505,'Valeurs mobilières de placement',0,NULL,NULL,1),(295,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','XXXXXX','501',294,'Parts dans des entreprises liées',0,NULL,NULL,1),(296,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','XXXXXX','502',294,'Actions propres',0,NULL,NULL,1),(297,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','XXXXXX','503',294,'Actions',0,NULL,NULL,1),(298,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','XXXXXX','504',294,'Autres titres conférant un droit de propriété',0,NULL,NULL,1),(299,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','XXXXXX','505',294,'Obligations et bons émis par la société et rachetés par elle',0,NULL,NULL,1),(300,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','XXXXXX','506',294,'Obligations',0,NULL,NULL,1),(301,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','XXXXXX','507',294,'Bons du Trésor et bons de caisse à court terme',0,NULL,NULL,1),(302,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','XXXXXX','508',294,'Autres valeurs mobilières de placement et autres créances assimilées',0,NULL,NULL,1),(303,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','XXXXXX','509',294,'Versements restant à effectuer sur valeurs mobilières de placement non libérées',0,NULL,NULL,1),(304,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','XXXXXX','51',1505,'Banques, établissements financiers et assimilés',0,NULL,NULL,1),(305,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','XXXXXX','511',304,'Valeurs à l\'encaissement',0,NULL,NULL,1),(306,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','BANK','512',304,'Banques',0,NULL,NULL,1),(307,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','XXXXXX','514',304,'Chèques postaux',0,NULL,NULL,1),(308,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','XXXXXX','515',304,'\"Caisses\" du Trésor et des établissements publics',0,NULL,NULL,1),(309,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','XXXXXX','516',304,'Sociétés de bourse',0,NULL,NULL,1),(310,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','XXXXXX','517',304,'Autres organismes financiers',0,NULL,NULL,1),(311,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','XXXXXX','518',304,'Intérêts courus',0,NULL,NULL,1),(312,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','XXXXXX','519',304,'Concours bancaires courants',0,NULL,NULL,1),(313,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','XXXXXX','52',1505,'Instruments de trésorerie',0,NULL,NULL,1),(314,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','CASH','53',1505,'Caisse',0,NULL,NULL,1),(315,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','XXXXXX','531',314,'Caisse siège social',0,NULL,NULL,1),(316,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','XXXXXX','532',314,'Caisse succursale (ou usine) A',0,NULL,NULL,1),(317,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','XXXXXX','533',314,'Caisse succursale (ou usine) B',0,NULL,NULL,1),(318,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','XXXXXX','54',1505,'Régies d\'avance et accréditifs',0,NULL,NULL,1),(319,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','XXXXXX','58',1505,'Virements internes',0,NULL,NULL,1),(320,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','XXXXXX','59',1505,'Provisions pour dépréciation des comptes financiers',0,NULL,NULL,1),(321,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','FINAN','XXXXXX','590',320,'Provisions pour dépréciation des valeurs mobilières de placement',0,NULL,NULL,1),(322,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','PRODUCT','60',1506,'Achats',0,NULL,NULL,1),(323,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','601',322,'Achats stockés - Matières premières (et fournitures)',0,NULL,NULL,1),(324,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','602',322,'Achats stockés - Autres approvisionnements',0,NULL,NULL,1),(325,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','603',322,'Variations des stocks (approvisionnements et marchandises)',0,NULL,NULL,1),(326,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','604',322,'Achats stockés - Matières premières (et fournitures)',0,NULL,NULL,1),(327,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','605',322,'Achats de matériel, équipements et travaux',0,NULL,NULL,1),(328,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','606',322,'Achats non stockés de matière et fournitures',0,NULL,NULL,1),(329,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','607',322,'Achats de marchandises',0,NULL,NULL,1),(330,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','608',322,'(Compte réservé, le cas échéant, à la récapitulation des frais accessoires incorporés aux achats)',0,NULL,NULL,1),(331,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','609',322,'Rabais, remises et ristournes obtenus sur achats',0,NULL,NULL,1),(332,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','SERVICE','61',1506,'Services extérieurs',0,NULL,NULL,1),(333,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','611',332,'Sous-traitance générale',0,NULL,NULL,1),(334,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','612',332,'Redevances de crédit-bail',0,NULL,NULL,1),(335,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','613',332,'Locations',0,NULL,NULL,1),(336,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','614',332,'Charges locatives et de copropriété',0,NULL,NULL,1),(337,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','615',332,'Entretien et réparations',0,NULL,NULL,1),(338,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','616',332,'Primes d\'assurances',0,NULL,NULL,1),(339,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','617',332,'Etudes et recherches',0,NULL,NULL,1),(340,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','618',332,'Divers',0,NULL,NULL,1),(341,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','619',332,'Rabais, remises et ristournes obtenus sur services extérieurs',0,NULL,NULL,1),(342,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','62',1506,'Autres services extérieurs',0,NULL,NULL,1),(343,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','621',342,'Personnel extérieur à l\'entreprise',0,NULL,NULL,1),(344,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','622',342,'Rémunérations d\'intermédiaires et honoraires',0,NULL,NULL,1),(345,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','623',342,'Publicité, publications, relations publiques',0,NULL,NULL,1),(346,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','624',342,'Transports de biens et transports collectifs du personnel',0,NULL,NULL,1),(347,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','625',342,'Déplacements, missions et réceptions',0,NULL,NULL,1),(348,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','626',342,'Frais postaux et de télécommunications',0,NULL,NULL,1),(349,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','627',342,'Services bancaires et assimilés',0,NULL,NULL,1),(350,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','628',342,'Divers',0,NULL,NULL,1),(351,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','629',342,'Rabais, remises et ristournes obtenus sur autres services extérieurs',0,NULL,NULL,1),(352,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','63',1506,'Impôts, taxes et versements assimilés',0,NULL,NULL,1),(353,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','631',352,'Impôts, taxes et versements assimilés sur rémunérations (administrations des impôts)',0,NULL,NULL,1),(354,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','633',352,'Impôts, taxes et versements assimilés sur rémunérations (autres organismes)',0,NULL,NULL,1),(355,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','635',352,'Autres impôts, taxes et versements assimilés (administrations des impôts)',0,NULL,NULL,1),(356,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','637',352,'Autres impôts, taxes et versements assimilés (autres organismes)',0,NULL,NULL,1),(357,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','64',1506,'Charges de personnel',0,NULL,NULL,1),(358,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','641',357,'Rémunérations du personnel',0,NULL,NULL,1),(359,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','644',357,'Rémunération du travail de l\'exploitant',0,NULL,NULL,1),(360,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','SOCIAL','645',357,'Charges de sécurité sociale et de prévoyance',0,NULL,NULL,1),(361,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','646',357,'Cotisations sociales personnelles de l\'exploitant',0,NULL,NULL,1),(362,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','647',357,'Autres charges sociales',0,NULL,NULL,1),(363,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','648',357,'Autres charges de personnel',0,NULL,NULL,1),(364,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','65',1506,'Autres charges de gestion courante',0,NULL,NULL,1),(365,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','651',364,'Redevances pour concessions, brevets, licences, marques, procédés, logiciels, droits et valeurs similaires',0,NULL,NULL,1),(366,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','653',364,'Jetons de présence',0,NULL,NULL,1),(367,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','654',364,'Pertes sur créances irrécouvrables',0,NULL,NULL,1),(368,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','655',364,'Quote-part de résultat sur opérations faites en commun',0,NULL,NULL,1),(369,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','658',364,'Charges diverses de gestion courante',0,NULL,NULL,1),(370,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','66',1506,'Charges financières',0,NULL,NULL,1),(371,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','661',370,'Charges d\'intérêts',0,NULL,NULL,1),(372,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','664',370,'Pertes sur créances liées à des participations',0,NULL,NULL,1),(373,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','665',370,'Escomptes accordés',0,NULL,NULL,1),(374,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','666',370,'Pertes de change',0,NULL,NULL,1),(375,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','667',370,'Charges nettes sur cessions de valeurs mobilières de placement',0,NULL,NULL,1),(376,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','668',370,'Autres charges financières',0,NULL,NULL,1),(377,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','67',1506,'Charges exceptionnelles',0,NULL,NULL,1),(378,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','671',377,'Charges exceptionnelles sur opérations de gestion',0,NULL,NULL,1),(379,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','672',377,'(Compte à la disposition des entités pour enregistrer, en cours d\'exercice, les charges sur exercices antérieurs)',0,NULL,NULL,1),(380,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','675',377,'Valeurs comptables des éléments d\'actif cédés',0,NULL,NULL,1),(381,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','678',377,'Autres charges exceptionnelles',0,NULL,NULL,1),(382,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','68',1506,'Dotations aux amortissements et aux provisions',0,NULL,NULL,1),(383,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','681',382,'Dotations aux amortissements et aux provisions - Charges d\'exploitation',0,NULL,NULL,1),(384,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','686',382,'Dotations aux amortissements et aux provisions - Charges financières',0,NULL,NULL,1),(385,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','687',382,'Dotations aux amortissements et aux provisions - Charges exceptionnelles',0,NULL,NULL,1),(386,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','69',1506,'Participation des salariés - impôts sur les bénéfices et assimiles',0,NULL,NULL,1),(387,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','691',386,'Participation des salariés aux résultats',0,NULL,NULL,1),(388,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','695',386,'Impôts sur les bénéfices',0,NULL,NULL,1),(389,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','696',386,'Suppléments d\'impôt sur les sociétés liés aux distributions',0,NULL,NULL,1),(390,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','697',386,'Imposition forfaitaire annuelle des sociétés',0,NULL,NULL,1),(391,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','698',386,'Intégration fiscale',0,NULL,NULL,1),(392,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','CHARGE','XXXXXX','699',386,'Produits - Reports en arrière des déficits',0,NULL,NULL,1),(393,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','70',1507,'Ventes de produits fabriqués, prestations de services, marchandises',0,NULL,NULL,1),(394,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','PRODUCT','701',393,'Ventes de produits finis',0,NULL,NULL,1),(395,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','702',393,'Ventes de produits intermédiaires',0,NULL,NULL,1),(396,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','703',393,'Ventes de produits résiduels',0,NULL,NULL,1),(397,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','704',393,'Travaux',0,NULL,NULL,1),(398,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','705',393,'Etudes',0,NULL,NULL,1),(399,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','SERVICE','706',393,'Prestations de services',0,NULL,NULL,1),(400,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','PRODUCT','707',393,'Ventes de marchandises',0,NULL,NULL,1),(401,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','PRODUCT','708',393,'Produits des activités annexes',0,NULL,NULL,1),(402,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','709',393,'Rabais, remises et ristournes accordés par l\'entreprise',0,NULL,NULL,1),(403,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','71',1507,'Production stockée (ou déstockage)',0,NULL,NULL,1),(404,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','713',403,'Variation des stocks (en-cours de production, produits)',0,NULL,NULL,1),(405,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','72',1507,'Production immobilisée',0,NULL,NULL,1),(406,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','721',405,'Immobilisations incorporelles',0,NULL,NULL,1),(407,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','722',405,'Immobilisations corporelles',0,NULL,NULL,1),(408,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','74',1507,'Subventions d\'exploitation',0,NULL,NULL,1),(409,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','75',1507,'Autres produits de gestion courante',0,NULL,NULL,1),(410,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','751',409,'Redevances pour concessions, brevets, licences, marques, procédés, logiciels, droits et valeurs similaires',0,NULL,NULL,1),(411,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','752',409,'Revenus des immeubles non affectés à des activités professionnelles',0,NULL,NULL,1),(412,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','753',409,'Jetons de présence et rémunérations d\'administrateurs, gérants,...',0,NULL,NULL,1),(413,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','754',409,'Ristournes perçues des coopératives (provenant des excédents)',0,NULL,NULL,1),(414,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','755',409,'Quotes-parts de résultat sur opérations faites en commun',0,NULL,NULL,1),(415,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','758',409,'Produits divers de gestion courante',0,NULL,NULL,1),(416,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','76',1507,'Produits financiers',0,NULL,NULL,1),(417,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','761',416,'Produits de participations',0,NULL,NULL,1),(418,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','762',416,'Produits des autres immobilisations financières',0,NULL,NULL,1),(419,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','763',416,'Revenus des autres créances',0,NULL,NULL,1),(420,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','764',416,'Revenus des valeurs mobilières de placement',0,NULL,NULL,1),(421,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','765',416,'Escomptes obtenus',0,NULL,NULL,1),(422,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','766',416,'Gains de change',0,NULL,NULL,1),(423,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','767',416,'Produits nets sur cessions de valeurs mobilières de placement',0,NULL,NULL,1),(424,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','768',416,'Autres produits financiers',0,NULL,NULL,1),(425,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','77',1507,'Produits exceptionnels',0,NULL,NULL,1),(426,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','771',425,'Produits exceptionnels sur opérations de gestion',0,NULL,NULL,1),(427,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','772',425,'(Compte à la disposition des entités pour enregistrer, en cours d\'exercice, les produits sur exercices antérieurs)',0,NULL,NULL,1),(428,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','775',425,'Produits des cessions d\'éléments d\'actif',0,NULL,NULL,1),(429,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','777',425,'Quote-part des subventions d\'investissement virée au résultat de l\'exercice',0,NULL,NULL,1),(430,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','778',425,'Autres produits exceptionnels',0,NULL,NULL,1),(431,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','78',1507,'Reprises sur amortissements et provisions',0,NULL,NULL,1),(432,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','781',431,'Reprises sur amortissements et provisions (à inscrire dans les produits d\'exploitation)',0,NULL,NULL,1),(433,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','786',431,'Reprises sur provisions pour risques (à inscrire dans les produits financiers)',0,NULL,NULL,1),(434,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','787',431,'Reprises sur provisions (à inscrire dans les produits exceptionnels)',0,NULL,NULL,1),(435,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','79',1507,'Transferts de charges',0,NULL,NULL,1),(436,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','791',435,'Transferts de charges d\'exploitation ',0,NULL,NULL,1),(437,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','796',435,'Transferts de charges financières',0,NULL,NULL,1),(438,1,NULL,'2016-01-22 17:28:15','PCG99-BASE','PROD','XXXXXX','797',435,'Transferts de charges exceptionnelles',0,NULL,NULL,1),(439,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','10',1351,'Capital',0,NULL,NULL,1),(440,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','100',439,'Capital souscrit ou capital personnel',0,NULL,NULL,1),(441,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1000',440,'Capital non amorti',0,NULL,NULL,1),(442,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1001',440,'Capital amorti',0,NULL,NULL,1),(443,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','101',439,'Capital non appelé',0,NULL,NULL,1),(444,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','109',439,'Compte de l\'exploitant',0,NULL,NULL,1),(445,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1090',444,'Opérations courantes',0,NULL,NULL,1),(446,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1091',444,'Impôts personnels',0,NULL,NULL,1),(447,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1092',444,'Rémunérations et autres avantages',0,NULL,NULL,1),(448,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','11',1351,'Primes d\'émission',0,NULL,NULL,1),(449,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','12',1351,'Plus-values de réévaluation',0,NULL,NULL,1),(450,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','120',449,'Plus-values de réévaluation sur immobilisations incorporelles',0,NULL,NULL,1),(451,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1200',450,'Plus-values de réévaluation',0,NULL,NULL,1),(452,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1201',450,'Reprises de réductions de valeur',0,NULL,NULL,1),(453,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','121',449,'Plus-values de réévaluation sur immobilisations corporelles',0,NULL,NULL,1),(454,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1210',453,'Plus-values de réévaluation',0,NULL,NULL,1),(455,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1211',453,'Reprises de réductions de valeur',0,NULL,NULL,1),(456,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','122',449,'Plus-values de réévaluation sur immobilisations financières',0,NULL,NULL,1),(457,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1220',456,'Plus-values de réévaluation',0,NULL,NULL,1),(458,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1221',456,'Reprises de réductions de valeur',0,NULL,NULL,1),(459,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','123',449,'Plus-values de réévaluation sur stocks',0,NULL,NULL,1),(460,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','124',449,'Reprises de réductions de valeur sur placements de trésorerie',0,NULL,NULL,1),(461,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','13',1351,'Réserve',0,NULL,NULL,1),(462,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','130',461,'Réserve légale',0,NULL,NULL,1),(463,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','131',461,'Réserves indisponibles',0,NULL,NULL,1),(464,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1310',463,'Réserve pour actions propres',0,NULL,NULL,1),(465,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1311',463,'Autres réserves indisponibles',0,NULL,NULL,1),(466,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','132',461,'Réserves immunisées',0,NULL,NULL,1),(467,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','133',461,'Réserves disponibles',0,NULL,NULL,1),(468,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1330',467,'Réserve pour régularisation de dividendes',0,NULL,NULL,1),(469,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1331',467,'Réserve pour renouvellement des immobilisations',0,NULL,NULL,1),(470,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1332',467,'Réserve pour installations en faveur du personnel 1333 Réserves libres',0,NULL,NULL,1),(471,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','14',1351,'Bénéfice reporté (ou perte reportée)',0,NULL,NULL,1),(472,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','15',1351,'Subsides en capital',0,NULL,NULL,1),(473,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','150',472,'Montants obtenus',0,NULL,NULL,1),(474,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','151',472,'Montants transférés aux résultats',0,NULL,NULL,1),(475,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','16',1351,'Provisions pour risques et charges',0,NULL,NULL,1),(476,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','160',475,'Provisions pour pensions et obligations similaires',0,NULL,NULL,1),(477,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','161',475,'Provisions pour charges fiscales',0,NULL,NULL,1),(478,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','162',475,'Provisions pour grosses réparations et gros entretiens',0,NULL,NULL,1),(479,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','163',475,'à 169 Provisions pour autres risques et charges',0,NULL,NULL,1),(480,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','164',475,'Provisions pour sûretés personnelles ou réelles constituées à l\'appui de dettes et d\'engagements de tiers',0,NULL,NULL,1),(481,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','165',475,'Provisions pour engagements relatifs à l\'acquisition ou à la cession d\'immobilisations',0,NULL,NULL,1),(482,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','166',475,'Provisions pour exécution de commandes passées ou reçues',0,NULL,NULL,1),(483,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','167',475,'Provisions pour positions et marchés à terme en devises ou positions et marchés à terme en marchandises',0,NULL,NULL,1),(484,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','168',475,'Provisions pour garanties techniques attachées aux ventes et prestations déjà effectuées par l\'entreprise',0,NULL,NULL,1),(485,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','169',475,'Provisions pour autres risques et charges',0,NULL,NULL,1),(486,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1690',485,'Pour litiges en cours',0,NULL,NULL,1),(487,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1691',485,'Pour amendes, doubles droits et pénalités',0,NULL,NULL,1),(488,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1692',485,'Pour propre assureur',0,NULL,NULL,1),(489,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1693',485,'Pour risques inhérents aux opérations de crédits à moyen ou long terme',0,NULL,NULL,1),(490,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1695',485,'Provision pour charge de liquidation',0,NULL,NULL,1),(491,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1696',485,'Provision pour départ de personnel',0,NULL,NULL,1),(492,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1699',485,'Pour risques divers',0,NULL,NULL,1),(493,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','17',1351,'Dettes à plus d\'un an',0,NULL,NULL,1),(494,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','170',493,'Emprunts subordonnés',0,NULL,NULL,1),(495,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1700',494,'Convertibles',0,NULL,NULL,1),(496,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1701',494,'Non convertibles',0,NULL,NULL,1),(497,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','171',493,'Emprunts obligataires non subordonnés',0,NULL,NULL,1),(498,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1710',498,'Convertibles',0,NULL,NULL,1),(499,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1711',498,'Non convertibles',0,NULL,NULL,1),(500,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','172',493,'Dettes de location-financement et assimilés',0,NULL,NULL,1),(501,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1720',500,'Dettes de location-financement de biens immobiliers',0,NULL,NULL,1),(502,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1721',500,'Dettes de location-financement de biens mobiliers',0,NULL,NULL,1),(503,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1722',500,'Dettes sur droits réels sur immeubles',0,NULL,NULL,1),(504,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','173',493,'Etablissements de crédit',0,NULL,NULL,1),(505,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1730',504,'Dettes en compte',0,NULL,NULL,1),(506,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','17300',505,'Banque A',0,NULL,NULL,1),(507,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','17301',505,'Banque B',0,NULL,NULL,1),(508,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','17302',505,'Banque C',0,NULL,NULL,1),(509,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','17303',505,'Banque D',0,NULL,NULL,1),(510,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1731',504,'Promesses',0,NULL,NULL,1),(511,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','17310',510,'Banque A',0,NULL,NULL,1),(512,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','17311',510,'Banque B',0,NULL,NULL,1),(513,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','17312',510,'Banque C',0,NULL,NULL,1),(514,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','17313',510,'Banque D',0,NULL,NULL,1),(515,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1732',504,'Crédits d\'acceptation',0,NULL,NULL,1),(516,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','17320',515,'Banque A',0,NULL,NULL,1),(517,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','17321',515,'Banque B',0,NULL,NULL,1),(518,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','17322',515,'Banque C',0,NULL,NULL,1),(519,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','17323',515,'Banque D',0,NULL,NULL,1),(520,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','174',493,'Autres emprunts',0,NULL,NULL,1),(521,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','175',493,'Dettes commerciales',0,NULL,NULL,1),(522,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1750',521,'Fournisseurs : dettes en compte',0,NULL,NULL,1),(523,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','17500',522,'Entreprises apparentées',0,NULL,NULL,1),(524,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','175000',523,'Entreprises liées',0,NULL,NULL,1),(525,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','175001',523,'Entreprises avec lesquelles il existe un lien de participation',0,NULL,NULL,1),(526,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','17501',522,'Fournisseurs ordinaires',0,NULL,NULL,1),(527,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','175010',526,'Fournisseurs belges',0,NULL,NULL,1),(528,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','175011',526,'Fournisseurs C.E.E.',0,NULL,NULL,1),(529,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','175012',526,'Fournisseurs importation',0,NULL,NULL,1),(530,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1751',521,'Effets à payer',0,NULL,NULL,1),(531,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','17510',530,'Entreprises apparentées',0,NULL,NULL,1),(532,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','175100',531,'Entreprises liées',0,NULL,NULL,1),(533,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','175101',531,'Entreprises avec lesquelles il existe un lien de participation',0,NULL,NULL,1),(534,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','17511',530,'Fournisseurs ordinaires',0,NULL,NULL,1),(535,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','175110',534,'Fournisseurs belges',0,NULL,NULL,1),(536,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','175111',534,'Fournisseurs C.E.E.',0,NULL,NULL,1),(537,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','175112',534,'Fournisseurs importation',0,NULL,NULL,1),(538,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','176',493,'Acomptes reçus sur commandes',0,NULL,NULL,1),(539,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','178',493,'Cautionnements reçus en numéraires',0,NULL,NULL,1),(540,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','179',493,'Dettes diverses',0,NULL,NULL,1),(541,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1790',540,'Entreprises liées',0,NULL,NULL,1),(542,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1791',540,'Autres entreprises avec lesquelles il existe un lien de participation',0,NULL,NULL,1),(543,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1792',540,'Administrateurs, gérants et associés',0,NULL,NULL,1),(544,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1794',540,'Rentes viagères capitalisées',0,NULL,NULL,1),(545,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1798',540,'Dettes envers les coparticipants des associations momentanées et en participation',0,NULL,NULL,1),(546,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','1799',540,'Autres dettes diverses',0,NULL,NULL,1),(547,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','CAPIT','XXXXXX','18',1351,'Comptes de liaison des établissements et succursales',0,NULL,NULL,1),(548,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','20',1352,'Frais d\'établissement',0,NULL,NULL,1),(549,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','200',548,'Frais de constitution et d\'augmentation de capital',0,NULL,NULL,1),(550,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2000',549,'Frais de constitution et d\'augmentation de capital',0,NULL,NULL,1),(551,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2009',549,'Amortissements sur frais de constitution et d\'augmentation de capital',0,NULL,NULL,1),(552,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','201',548,'Frais d\'émission d\'emprunts et primes de remboursement',0,NULL,NULL,1),(553,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2010',552,'Agios sur emprunts et frais d\'émission d\'emprunts',0,NULL,NULL,1),(554,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2019',552,'Amortissements sur agios sur emprunts et frais d\'émission d\'emprunts',0,NULL,NULL,1),(555,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','202',548,'Autres frais d\'établissement',0,NULL,NULL,1),(556,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2020',555,'Autres frais d\'établissement',0,NULL,NULL,1),(557,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2029',555,'Amortissements sur autres frais d\'établissement',0,NULL,NULL,1),(558,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','203',548,'Intérêts intercalaires',0,NULL,NULL,1),(559,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2030',558,'Intérêts intercalaires',0,NULL,NULL,1),(560,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2039',558,'Amortissements sur intérêts intercalaires',0,NULL,NULL,1),(561,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','204',548,'Frais de restructuration',0,NULL,NULL,1),(562,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2040',561,'Coût des frais de restructuration',0,NULL,NULL,1),(563,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2049',561,'Amortissements sur frais de restructuration',0,NULL,NULL,1),(564,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','21',1352,'Immobilisations incorporelles',0,NULL,NULL,1),(565,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','210',564,'Frais de recherche et de développement',0,NULL,NULL,1),(566,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2100',565,'Frais de recherche et de mise au point',0,NULL,NULL,1),(567,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2108',565,'Plus-values actées sur frais de recherche et de mise au point',0,NULL,NULL,1),(568,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2109',565,'Amortissements sur frais de recherche et de mise au point',0,NULL,NULL,1),(569,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','211',564,'Concessions, brevets, licences, savoir-faire, marque et droits similaires',0,NULL,NULL,1),(570,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2110',569,'Concessions, brevets, licences, marques, etc',0,NULL,NULL,1),(571,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2118',569,'Plus-values actées sur concessions, etc',0,NULL,NULL,1),(572,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2119',569,'Amortissements sur concessions, etc',0,NULL,NULL,1),(573,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','212',564,'Goodwill',0,NULL,NULL,1),(574,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2120',573,'Coût d\'acquisition',0,NULL,NULL,1),(575,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2128',573,'Plus-values actées',0,NULL,NULL,1),(576,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2129',573,'Amortissements sur goodwill',0,NULL,NULL,1),(577,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','213',564,'Acomptes versés',0,NULL,NULL,1),(578,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','22',1352,'Terrains et constructions',0,NULL,NULL,1),(579,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','220',578,'Terrains',0,NULL,NULL,1),(580,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2200',579,'Terrains',0,NULL,NULL,1),(581,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2201',579,'Frais d\'acquisition sur terrains',0,NULL,NULL,1),(582,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2208',579,'Plus-values actées sur terrains',0,NULL,NULL,1),(583,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2209',579,'Amortissements et réductions de valeur',0,NULL,NULL,1),(584,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','22090',583,'Amortissements sur frais d\'acquisition',0,NULL,NULL,1),(585,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','22091',583,'Réductions de valeur sur terrains',0,NULL,NULL,1),(586,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','221',578,'Constructions',0,NULL,NULL,1),(587,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2210',586,'Bâtiments industriels',0,NULL,NULL,1),(588,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2211',586,'Bâtiments administratifs et commerciaux',0,NULL,NULL,1),(589,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2212',586,'Autres bâtiments d\'exploitation',0,NULL,NULL,1),(590,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2213',586,'Voies de transport et ouvrages d\'art',0,NULL,NULL,1),(591,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2215',586,'Constructions sur sol d\'autrui',0,NULL,NULL,1),(592,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2216',586,'Frais d\'acquisition sur constructions',0,NULL,NULL,1),(593,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2218',586,'Plus-values actées',0,NULL,NULL,1),(594,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','22180',593,'Sur bâtiments industriels',0,NULL,NULL,1),(595,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','22181',593,'Sur bâtiments administratifs et commerciaux',0,NULL,NULL,1),(596,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','22182',593,'Sur autres bâtiments d\'exploitation',0,NULL,NULL,1),(597,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','22184',593,'Sur voies de transport et ouvrages d\'art',0,NULL,NULL,1),(598,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2219',586,'Amortissements sur constructions',0,NULL,NULL,1),(599,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','22190',598,'Sur bâtiments industriels',0,NULL,NULL,1),(600,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','22191',598,'Sur bâtiments administratifs et commerciaux',0,NULL,NULL,1),(601,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','22192',598,'Sur autres bâtiments d\'exploitation',0,NULL,NULL,1),(602,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','22194',598,'Sur voies de transport et ouvrages d\'art',0,NULL,NULL,1),(603,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','22195',598,'Sur constructions sur sol d\'autrui',0,NULL,NULL,1),(604,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','22196',598,'Sur frais d\'acquisition sur constructions',0,NULL,NULL,1),(605,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','222',578,'Terrains bâtis',0,NULL,NULL,1),(606,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2220',605,'Valeur d\'acquisition',0,NULL,NULL,1),(607,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','22200',606,'Bâtiments industriels',0,NULL,NULL,1),(608,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','22201',606,'Bâtiments administratifs et commerciaux',0,NULL,NULL,1),(609,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','22202',606,'Autres bâtiments d\'exploitation',0,NULL,NULL,1),(610,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','22203',606,'Voies de transport et ouvrages d\'art',0,NULL,NULL,1),(611,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','22204',606,'Frais d\'acquisition des terrains à bâtir',0,NULL,NULL,1),(612,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2228',605,'Plus-values actées',0,NULL,NULL,1),(613,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','22280',612,'Sur bâtiments industriels',0,NULL,NULL,1),(614,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','22281',612,'Sur bâtiments administratifs et commerciaux',0,NULL,NULL,1),(615,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','22282',612,'Sur autres bâtiments d\'exploitation',0,NULL,NULL,1),(616,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','22283',612,'Sur voies de transport et ouvrages d\'art',0,NULL,NULL,1),(617,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2229',605,'Amortissements sur terrains bâtis',0,NULL,NULL,1),(618,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','22290',617,'Sur bâtiments industriels',0,NULL,NULL,1),(619,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','22291',617,'Sur bâtiments administratifs et commerciaux',0,NULL,NULL,1),(620,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','22292',617,'Sur autres bâtiments d\'exploitation',0,NULL,NULL,1),(621,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','22293',617,'Sur voies de transport et ouvrages d\'art',0,NULL,NULL,1),(622,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','22294',617,'Sur frais d\'acquisition des terrains bâtis',0,NULL,NULL,1),(623,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','223',578,'Autres droits réels sur des immeubles',0,NULL,NULL,1),(624,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2230',623,'Valeur d\'acquisition',0,NULL,NULL,1),(625,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2238',623,'Plus-values actées',0,NULL,NULL,1),(626,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2239',623,'Amortissements',0,NULL,NULL,1),(627,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','23',1352,'Installations, machines et outillages',0,NULL,NULL,1),(628,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','230',627,'Installations',0,NULL,NULL,1),(629,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2300',628,'Installations bâtiments industriels',0,NULL,NULL,1),(630,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2301',628,'Installations bâtiments administratifs et commerciaux',0,NULL,NULL,1),(631,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2302',628,'Installations bâtiments d\'exploitation',0,NULL,NULL,1),(632,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2303',628,'Installations voies de transport et ouvrages d\'art',0,NULL,NULL,1),(633,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2300',628,'Installation d\'eau',0,NULL,NULL,1),(634,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2301',628,'Installation d\'électricité',0,NULL,NULL,1),(635,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2302',628,'Installation de vapeur',0,NULL,NULL,1),(636,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2303',628,'Installation de gaz',0,NULL,NULL,1),(637,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2304',628,'Installation de chauffage',0,NULL,NULL,1),(638,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2305',628,'Installation de conditionnement d\'air',0,NULL,NULL,1),(639,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2306',628,'Installation de chargement',0,NULL,NULL,1),(640,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','231',627,'Machines',0,NULL,NULL,1),(641,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2310',640,'Division A',0,NULL,NULL,1),(642,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2311',640,'Division B',0,NULL,NULL,1),(643,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2312',640,'Division C',0,NULL,NULL,1),(644,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','237',627,'Outillage',0,NULL,NULL,1),(645,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2370',644,'Division A',0,NULL,NULL,1),(646,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2371',644,'Division B',0,NULL,NULL,1),(647,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2372',644,'Division C',0,NULL,NULL,1),(648,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','238',627,'Plus-values actées',0,NULL,NULL,1),(649,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2380',648,'Sur installations',0,NULL,NULL,1),(650,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2381',648,'Sur machines',0,NULL,NULL,1),(651,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2382',648,'Sur outillage',0,NULL,NULL,1),(652,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','239',627,'Amortissements',0,NULL,NULL,1),(653,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2390',652,'Sur installations',0,NULL,NULL,1),(654,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2391',652,'Sur machines',0,NULL,NULL,1),(655,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2392',652,'Sur outillage',0,NULL,NULL,1),(656,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','24',1352,'Mobilier et matériel roulant',0,NULL,NULL,1),(657,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','240',656,'Mobilier',0,NULL,NULL,1),(658,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2400',656,'Mobilier',0,NULL,NULL,1),(659,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','24000',658,'Mobilier des bâtiments industriels',0,NULL,NULL,1),(660,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','24001',658,'Mobilier des bâtiments administratifs et commerciaux',0,NULL,NULL,1),(661,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','24002',658,'Mobilier des autres bâtiments d\'exploitation',0,NULL,NULL,1),(662,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','24003',658,'Mobilier oeuvres sociales',0,NULL,NULL,1),(663,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2401',657,'Matériel de bureau et de service social',0,NULL,NULL,1),(664,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','24010',663,'Des bâtiments industriels',0,NULL,NULL,1),(665,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','24011',663,'Des bâtiments administratifs et commerciaux',0,NULL,NULL,1),(666,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','24012',663,'Des autres bâtiments d\'exploitation',0,NULL,NULL,1),(667,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','24013',663,'Des oeuvres sociales',0,NULL,NULL,1),(668,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2408',657,'Plus-values actées',0,NULL,NULL,1),(669,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','24080',668,'Plus-values actées sur mobilier',0,NULL,NULL,1),(670,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','24081',668,'Plus-values actées sur matériel de bureau et service social',0,NULL,NULL,1),(671,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2409',657,'Amortissements',0,NULL,NULL,1),(672,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','24090',671,'Amortissements sur mobilier',0,NULL,NULL,1),(673,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','24091',671,'Amortissements sur matériel de bureau et service social',0,NULL,NULL,1),(674,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','241',656,'Matériel roulant',0,NULL,NULL,1),(675,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2410',674,'Matériel automobile',0,NULL,NULL,1),(676,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','24100',675,'Voitures',0,NULL,NULL,1),(677,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','24105',675,'Camions',0,NULL,NULL,1),(678,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2411',674,'Matériel ferroviaire',0,NULL,NULL,1),(679,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2412',674,'Matériel fluvial',0,NULL,NULL,1),(680,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2413',674,'Matériel naval',0,NULL,NULL,1),(681,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2414',674,'Matériel aérien',0,NULL,NULL,1),(682,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2418',674,'Plus-values sur matériel roulant',0,NULL,NULL,1),(683,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','24180',682,'Plus-values sur matériel automobile',0,NULL,NULL,1),(684,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','24181',682,'Idem sur matériel ferroviaire',0,NULL,NULL,1),(685,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','24182',682,'Idem sur matériel fluvial',0,NULL,NULL,1),(686,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','24183',682,'Idem sur matériel naval',0,NULL,NULL,1),(687,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','24184',682,'Idem sur matériel aérien',0,NULL,NULL,1),(688,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2419',674,'Amortissements sur matériel roulant',0,NULL,NULL,1),(689,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','24190',688,'Amortissements sur matériel automobile',0,NULL,NULL,1),(690,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','24191',688,'Idem sur matériel ferroviaire',0,NULL,NULL,1),(691,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','24192',688,'Idem sur matériel fluvial',0,NULL,NULL,1),(692,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','24193',688,'Idem sur matériel naval',0,NULL,NULL,1),(693,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','24194',688,'Idem sur matériel aérien',0,NULL,NULL,1),(694,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','25',1352,'Immobilisation détenues en location-financement et droits similaires',0,NULL,NULL,1),(695,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','250',694,'Terrains et constructions',0,NULL,NULL,1),(696,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2500',695,'Terrains',0,NULL,NULL,1),(697,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2501',695,'Constructions',0,NULL,NULL,1),(698,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2508',695,'Plus-values sur emphytéose, leasing et droits similaires : terrains et constructions',0,NULL,NULL,1),(699,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2509',695,'Amortissements et réductions de valeur sur terrains et constructions en leasing',0,NULL,NULL,1),(700,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','251',694,'Installations, machines et outillage',0,NULL,NULL,1),(701,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2510',700,'Installations',0,NULL,NULL,1),(702,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2511',700,'Machines',0,NULL,NULL,1),(703,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2512',700,'Outillage',0,NULL,NULL,1),(704,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2518',700,'Plus-values actées sur installations machines et outillage pris en leasing',0,NULL,NULL,1),(705,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2519',700,'Amortissements sur installations machines et outillage pris en leasing',0,NULL,NULL,1),(706,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','252',694,'Mobilier et matériel roulant',0,NULL,NULL,1),(707,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2520',706,'Mobilier',0,NULL,NULL,1),(708,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2521',706,'Matériel roulant',0,NULL,NULL,1),(709,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2528',706,'Plus-values actées sur mobilier et matériel roulant en leasing',0,NULL,NULL,1),(710,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2529',706,'Amortissements sur mobilier et matériel roulant en leasing',0,NULL,NULL,1),(711,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','26',1352,'Autres immobilisations corporelles',0,NULL,NULL,1),(712,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','260',711,'Frais d\'aménagements de locaux pris en location',0,NULL,NULL,1),(713,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','261',711,'Maison d\'habitation',0,NULL,NULL,1),(714,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','262',711,'Réserve immobilière',0,NULL,NULL,1),(715,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','263',711,'Matériel d\'emballage',0,NULL,NULL,1),(716,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','264',711,'Emballages récupérables',0,NULL,NULL,1),(717,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','268',711,'Plus-values actées sur autres immobilisations corporelles',0,NULL,NULL,1),(718,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','269',711,'Amortissements sur autres immobilisations corporelles',0,NULL,NULL,1),(719,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2690',718,'Amortissements sur frais d\'aménagement des locaux pris en location',0,NULL,NULL,1),(720,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2691',718,'Amortissements sur maison d\'habitation',0,NULL,NULL,1),(721,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2692',718,'Amortissements sur réserve immobilière',0,NULL,NULL,1),(722,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2693',718,'Amortissements sur matériel d\'emballage',0,NULL,NULL,1),(723,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2694',718,'Amortissements sur emballages récupérables',0,NULL,NULL,1),(724,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','27',1352,'Immobilisations corporelles en cours et acomptes versés',0,NULL,NULL,1),(725,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','270',724,'Immobilisations en cours',0,NULL,NULL,1),(726,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2700',725,'Constructions',0,NULL,NULL,1),(727,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2701',725,'Installations machines et outillage',0,NULL,NULL,1),(728,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2702',725,'Mobilier et matériel roulant',0,NULL,NULL,1),(729,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2703',725,'Autres immobilisations corporelles',0,NULL,NULL,1),(730,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','271',724,'Avances et acomptes versés sur immobilisations en cours',0,NULL,NULL,1),(731,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','28',1352,'Immobilisations financières',0,NULL,NULL,1),(732,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','280',731,'Participations dans des entreprises liées',0,NULL,NULL,1),(733,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2800',732,'Valeur d\'acquisition (peut être subdivisé par participation)',0,NULL,NULL,1),(734,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2801',732,'Montants non appelés (idem)',0,NULL,NULL,1),(735,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2808',732,'Plus-values actées (idem)',0,NULL,NULL,1),(736,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2809',732,'Réductions de valeurs actées (idem)',0,NULL,NULL,1),(737,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','281',731,'Créances sur des entreprises liées',0,NULL,NULL,1),(738,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2810',737,'Créances en compte',0,NULL,NULL,1),(739,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2811',737,'Effets à recevoir',0,NULL,NULL,1),(740,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2812',737,'Titres à revenu fixes',0,NULL,NULL,1),(741,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2817',737,'Créances douteuses',0,NULL,NULL,1),(742,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2819',737,'Réductions de valeurs actées',0,NULL,NULL,1),(743,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','282',731,'Participations dans des entreprises avec lesquelles il existe un lien de participation',0,NULL,NULL,1),(744,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2820',743,'Valeur d\'acquisition (peut être subdivisé par participation)',0,NULL,NULL,1),(745,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2821',743,'Montants non appelés (idem)',0,NULL,NULL,1),(746,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2828',743,'Plus-values actées (idem)',0,NULL,NULL,1),(747,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2829',743,'Réductions de valeurs actées (idem)',0,NULL,NULL,1),(748,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','283',731,'Créances sur des entreprises avec lesquelles il existe un lien de participation',0,NULL,NULL,1),(749,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2830',748,'Créances en compte',0,NULL,NULL,1),(750,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2831',748,'Effets à recevoir',0,NULL,NULL,1),(751,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2832',748,'Titres à revenu fixe',0,NULL,NULL,1),(752,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2837',748,'Créances douteuses',0,NULL,NULL,1),(753,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','2839',748,'Réductions de valeurs actées',0,NULL,NULL,1),(754,1,NULL,'2016-01-22 17:28:15','PCMN-BASE','IMMO','XXXXXX','284',731,'Autres actions et parts',0,NULL,NULL,1),(755,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','2840',754,'Valeur d\'acquisition',0,NULL,NULL,1),(756,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','2841',754,'Montants non appelés',0,NULL,NULL,1),(757,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','2848',754,'Plus-values actées',0,NULL,NULL,1),(758,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','2849',754,'Réductions de valeur actées',0,NULL,NULL,1),(759,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','285',731,'Autres créances',0,NULL,NULL,1),(760,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','2850',759,'Créances en compte',0,NULL,NULL,1),(761,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','2851',759,'Effets à recevoir',0,NULL,NULL,1),(762,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','2852',759,'Titres à revenu fixe',0,NULL,NULL,1),(763,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','2857',759,'Créances douteuses',0,NULL,NULL,1),(764,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','2859',759,'Réductions de valeur actées',0,NULL,NULL,1),(765,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','288',731,'Cautionnements versés en numéraires',0,NULL,NULL,1),(766,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','2880',765,'Téléphone, téléfax, télex',0,NULL,NULL,1),(767,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','2881',765,'Gaz',0,NULL,NULL,1),(768,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','2882',765,'Eau',0,NULL,NULL,1),(769,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','2883',765,'Electricité',0,NULL,NULL,1),(770,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','2887',765,'Autres cautionnements versés en numéraires',0,NULL,NULL,1),(771,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','29',1352,'Créances à plus d\'un an',0,NULL,NULL,1),(772,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','290',771,'Créances commerciales',0,NULL,NULL,1),(773,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','2900',772,'Clients',0,NULL,NULL,1),(774,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','29000',773,'Créances en compte sur entreprises liées',0,NULL,NULL,1),(775,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','29001',773,'Sur entreprises avec lesquelles il existe un lien de participation',0,NULL,NULL,1),(776,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','29002',773,'Sur clients Belgique',0,NULL,NULL,1),(777,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','29003',773,'Sur clients C.E.E.',0,NULL,NULL,1),(778,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','29004',773,'Sur clients exportation hors C.E.E.',0,NULL,NULL,1),(779,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','29005',773,'Créances sur les coparticipants (associations momentanées)',0,NULL,NULL,1),(780,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','2901',772,'Effets à recevoir',0,NULL,NULL,1),(781,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','29010',780,'Sur entreprises liées',0,NULL,NULL,1),(782,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','29011',780,'Sur entreprises avec lesquelles il existe un lien de participation',0,NULL,NULL,1),(783,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','29012',780,'Sur clients Belgique',0,NULL,NULL,1),(784,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','29013',780,'Sur clients C.E.E.',0,NULL,NULL,1),(785,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','29014',780,'Sur clients exportation hors C.E.E.',0,NULL,NULL,1),(786,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','2905',772,'Retenues sur garanties',0,NULL,NULL,1),(787,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','2906',772,'Acomptes versés',0,NULL,NULL,1),(788,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','2907',772,'Créances douteuses (à ventiler comme clients 2900)',0,NULL,NULL,1),(789,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','2909',772,'Réductions de valeur actées (à ventiler comme clients 2900)',0,NULL,NULL,1),(790,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','291',771,'Autres créances',0,NULL,NULL,1),(791,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','2910',790,'Créances en compte',0,NULL,NULL,1),(792,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','29100',791,'Sur entreprises liées',0,NULL,NULL,1),(793,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','29101',791,'Sur entreprises avec lesquelles il existe un lien de participation',0,NULL,NULL,1),(794,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','29102',791,'Sur autres débiteurs',0,NULL,NULL,1),(795,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','2911',790,'Effets à recevoir',0,NULL,NULL,1),(796,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','29110',795,'Sur entreprises liées',0,NULL,NULL,1),(797,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','29111',795,'Sur entreprises avec lesquelles il existe un lien de participation',0,NULL,NULL,1),(798,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','29112',795,'Sur autres débiteurs',0,NULL,NULL,1),(799,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','2912',790,'Créances résultant de la cession d\'immobilisations données en leasing',0,NULL,NULL,1),(800,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','2917',790,'Créances douteuses',0,NULL,NULL,1),(801,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','IMMO','XXXXXX','2919',790,'Réductions de valeur actées',0,NULL,NULL,1),(802,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','30',1353,'Approvisionnements - matières premières',0,NULL,NULL,1),(803,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','300',802,'Valeur d\'acquisition',0,NULL,NULL,1),(804,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','309',802,'Réductions de valeur actées',0,NULL,NULL,1),(805,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','31',1353,'Approvsionnements et fournitures',0,NULL,NULL,1),(806,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','310',805,'Valeur d\'acquisition',0,NULL,NULL,1),(807,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','3100',806,'Matières d\'approvisionnement',0,NULL,NULL,1),(808,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','3101',806,'Energie, charbon, coke, mazout, essence, propane',0,NULL,NULL,1),(809,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','3102',806,'Produits d\'entretien',0,NULL,NULL,1),(810,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','3103',806,'Fournitures diverses et petit outillage',0,NULL,NULL,1),(811,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','3104',806,'Imprimés et fournitures de bureau',0,NULL,NULL,1),(812,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','3105',806,'Fournitures de services sociaux',0,NULL,NULL,1),(813,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','3106',806,'Emballages commerciaux',0,NULL,NULL,1),(814,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','31060',813,'Emballages perdus',0,NULL,NULL,1),(815,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','31061',813,'Emballages récupérables',0,NULL,NULL,1),(816,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','319',805,'Réductions de valeur actées',0,NULL,NULL,1),(817,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','32',1353,'En cours de fabrication',0,NULL,NULL,1),(818,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','320',817,'Valeur d\'acquisition',0,NULL,NULL,1),(819,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','3200',818,'Produits semi-ouvrés',0,NULL,NULL,1),(820,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','3201',818,'Produits en cours de fabrication',0,NULL,NULL,1),(821,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','3202',818,'Travaux en cours',0,NULL,NULL,1),(822,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','3205',818,'Déchets',0,NULL,NULL,1),(823,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','3206',818,'Rebuts',0,NULL,NULL,1),(824,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','3209',818,'Travaux en association momentanée',0,NULL,NULL,1),(825,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','329',817,'Réductions de valeur actées',0,NULL,NULL,1),(826,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','33',1353,'Produits finis',0,NULL,NULL,1),(827,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','330',826,'Valeur d\'acquisition',0,NULL,NULL,1),(828,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','3300',827,'Produits finis',0,NULL,NULL,1),(829,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','339',826,'Réductions de valeur actées',0,NULL,NULL,1),(830,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','34',1353,'Marchandises',0,NULL,NULL,1),(831,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','340',830,'Valeur d\'acquisition',0,NULL,NULL,1),(832,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','3400',831,'Groupe A',0,NULL,NULL,1),(833,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','3401',831,'Groupe B',0,NULL,NULL,1),(834,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','3402',831,'Groupe C',0,NULL,NULL,1),(835,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','349',830,'Réductions de valeur actées',0,NULL,NULL,1),(836,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','35',1353,'Immeubles destinés à la vente',0,NULL,NULL,1),(837,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','350',836,'Valeur d\'acquisition',0,NULL,NULL,1),(838,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','3500',837,'Immeuble A',0,NULL,NULL,1),(839,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','3501',837,'Immeuble B',0,NULL,NULL,1),(840,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','3502',837,'Immeuble C',0,NULL,NULL,1),(841,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','351',836,'Immeubles construits en vue de leur revente',0,NULL,NULL,1),(842,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','3510',841,'Immeuble A',0,NULL,NULL,1),(843,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','3511',841,'Immeuble B',0,NULL,NULL,1),(844,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','3512',841,'Immeuble C',0,NULL,NULL,1),(845,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','359',836,'Réductions de valeurs actées',0,NULL,NULL,1),(846,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','36',1353,'Acomptes versés sur achats pour stocks',0,NULL,NULL,1),(847,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','360',846,'Acomptes versés (à ventiler éventuellement par catégorie)',0,NULL,NULL,1),(848,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','369',846,'Réductions de valeur actées',0,NULL,NULL,1),(849,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','37',1353,'Commandes en cours d\'exécution',0,NULL,NULL,1),(850,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','370',849,'Valeur d\'acquisition',0,NULL,NULL,1),(851,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','371',849,'Bénéfice pris en compte',0,NULL,NULL,1),(852,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','STOCK','XXXXXX','379',849,'Réductions de valeur actées',0,NULL,NULL,1),(853,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','40',1354,'Créances commerciales',0,NULL,NULL,1),(854,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','400',853,'Clients',0,NULL,NULL,1),(855,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4007',854,'Rabais, remises et ristournes à accorder et autres notes de crédit à établir',0,NULL,NULL,1),(856,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4008',854,'Créances résultant de livraisons de biens (associations momentanées)',0,NULL,NULL,1),(857,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','401',853,'Effets à recevoir',0,NULL,NULL,1),(858,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4010',857,'Effets à recevoir',0,NULL,NULL,1),(859,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4013',857,'Effets à l\'encaissement',0,NULL,NULL,1),(860,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4015',857,'Effets à l\'escompte',0,NULL,NULL,1),(861,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','402',853,'Clients, créances courantes, entreprises apparentées, administrateurs et gérants',0,NULL,NULL,1),(862,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4020',861,'Entreprises liées',0,NULL,NULL,1),(863,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4021',861,'Autres entreprises avec lesquelles il existe un lien de participation',0,NULL,NULL,1),(864,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4022',861,'Administrateurs et gérants d\'entreprise',0,NULL,NULL,1),(865,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','403',853,'Effets à recevoir sur entreprises apparentées et administrateurs et gérants',0,NULL,NULL,1),(866,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4030',865,'Entreprises liées',0,NULL,NULL,1),(867,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4031',865,'Autres entreprises avec lesquelles il existe un lien de participation',0,NULL,NULL,1),(868,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4032',865,'Administrateurs et gérants de l\'entreprise',0,NULL,NULL,1),(869,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','404',853,'Produits à recevoir (factures à établir)',0,NULL,NULL,1),(870,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','405',853,'Clients : retenues sur garanties',0,NULL,NULL,1),(871,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','406',853,'Acomptes versés',0,NULL,NULL,1),(872,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','407',853,'Créances douteuses',0,NULL,NULL,1),(873,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','408',853,'Compensation clients',0,NULL,NULL,1),(874,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','409',853,'Réductions de valeur actées',0,NULL,NULL,1),(875,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','41',1354,'Autres créances',0,NULL,NULL,1),(876,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','410',875,'Capital appelé, non versé',0,NULL,NULL,1),(877,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4100',876,'Appels de fonds',0,NULL,NULL,1),(878,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4101',876,'Actionnaires défaillants',0,NULL,NULL,1),(879,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','411',875,'T.V.A. à récupérer',0,NULL,NULL,1),(880,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4110',879,'T.V.A. due',0,NULL,NULL,1),(881,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4111',879,'T.V.A. déductible',0,NULL,NULL,1),(882,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4112',879,'Compte courant administration T.V.A.',0,NULL,NULL,1),(883,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4118',879,'Taxe d\'égalisation due',0,NULL,NULL,1),(884,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','412',875,'Impôts et versements fiscaux à récupérer',0,NULL,NULL,1),(885,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4120',884,'Impôts belges sur le résultat',0,NULL,NULL,1),(886,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4125',884,'Autres impôts belges',0,NULL,NULL,1),(887,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4128',884,'Impôts étrangers',0,NULL,NULL,1),(888,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','414',875,'Produits à recevoir',0,NULL,NULL,1),(889,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','416',875,'Créances diverses',0,NULL,NULL,1),(890,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4160',889,'Associés (compte d\'apport en société)',0,NULL,NULL,1),(891,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4161',889,'Avances et prêts au personnel',0,NULL,NULL,1),(892,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4162',889,'Compte courant des associés en S.P.R.L.',0,NULL,NULL,1),(893,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4163',889,'Compte courant des administrateurs et gérants',0,NULL,NULL,1),(894,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4164',889,'Créances sur sociétés apparentées',0,NULL,NULL,1),(895,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4166',889,'Emballages et matériel à rendre',0,NULL,NULL,1),(896,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4167',889,'Etat et établissements publics',0,NULL,NULL,1),(897,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','41670',896,'Subsides à recevoir',0,NULL,NULL,1),(898,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','41671',896,'Autres créances',0,NULL,NULL,1),(899,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4168',889,'Rabais, ristournes et remises à obtenir et autres avoirs non encore reçus',0,NULL,NULL,1),(900,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','417',875,'Créances douteuses',0,NULL,NULL,1),(901,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','418',875,'Cautionnements versés en numéraires',0,NULL,NULL,1),(902,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','419',875,'Réductions de valeur actées',0,NULL,NULL,1),(903,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','42',1354,'Dettes à plus d\'un an échéant dans l\'année',0,NULL,NULL,1),(904,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','420',903,'Emprunts subordonnés',0,NULL,NULL,1),(905,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4200',904,'Convertibles',0,NULL,NULL,1),(906,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4201',904,'Non convertibles',0,NULL,NULL,1),(907,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','421',903,'Emprunts obligataires non subordonnés',0,NULL,NULL,1),(908,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4210',907,'Convertibles',0,NULL,NULL,1),(909,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4211',907,'Non convertibles',0,NULL,NULL,1),(910,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','422',903,'Dettes de location-financement et assimilées',0,NULL,NULL,1),(911,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4220',910,'Financement de biens immobiliers',0,NULL,NULL,1),(912,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4221',910,'Financement de biens mobiliers',0,NULL,NULL,1),(913,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','423',903,'Etablissements de crédit',0,NULL,NULL,1),(914,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4230',913,'Dettes en compte',0,NULL,NULL,1),(915,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4231',913,'Promesses',0,NULL,NULL,1),(916,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4232',913,'Crédits d\'acceptation',0,NULL,NULL,1),(917,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','424',903,'Autres emprunts',0,NULL,NULL,1),(918,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','425',903,'Dettes commerciales',0,NULL,NULL,1),(919,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4250',918,'Fournisseurs',0,NULL,NULL,1),(920,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4251',918,'Effets à payer',0,NULL,NULL,1),(921,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','426',903,'Cautionnements reçus en numéraires',0,NULL,NULL,1),(922,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','429',903,'Dettes diverses',0,NULL,NULL,1),(923,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4290',922,'Entreprises liées',0,NULL,NULL,1),(924,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4291',922,'Entreprises avec lesquelles il existe un lien de participation',0,NULL,NULL,1),(925,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4292',922,'Administrateurs, gérants, associés',0,NULL,NULL,1),(926,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4299',922,'Autres dettes',0,NULL,NULL,1),(927,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','43',1354,'Dettes financières',0,NULL,NULL,1),(928,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','430',927,'Etablissements de crédit. Emprunts en compte à terme fixe',0,NULL,NULL,1),(929,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','431',927,'Etablissements de crédit. Promesses',0,NULL,NULL,1),(930,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','432',927,'Etablissements de crédit. Crédits d\'acceptation',0,NULL,NULL,1),(931,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','433',927,'Etablissements de crédit. Dettes en compte courant',0,NULL,NULL,1),(932,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','439',927,'Autres emprunts',0,NULL,NULL,1),(933,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','44',1354,'Dettes commerciales',0,NULL,NULL,1),(934,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','440',933,'Fournisseurs',0,NULL,NULL,1),(935,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4400',934,'Entreprises apparentées',0,NULL,NULL,1),(936,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','44000',935,'Entreprises liées',0,NULL,NULL,1),(937,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','44001',935,'Entreprises avec lesquelles il existe un lien de participation',0,NULL,NULL,1),(938,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4401',934,'Fournisseurs ordinaires',0,NULL,NULL,1),(939,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','44010',938,'Fournisseurs belges',0,NULL,NULL,1),(940,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','44011',938,'Fournisseurs CEE',0,NULL,NULL,1),(941,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','44012',938,'Fournisseurs importation',0,NULL,NULL,1),(942,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4402',934,'Dettes envers les coparticipants (associations momentanées)',0,NULL,NULL,1),(943,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4403',934,'Fournisseurs - retenues de garanties',0,NULL,NULL,1),(944,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','441',933,'Effets à payer',0,NULL,NULL,1),(945,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4410',944,'Entreprises apparentées',0,NULL,NULL,1),(946,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','44100',945,'Entreprises liées',0,NULL,NULL,1),(947,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','44101',945,'Entreprises avec lesquelles il existe un lien de participation',0,NULL,NULL,1),(948,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4411',944,'Fournisseurs ordinaires',0,NULL,NULL,1),(949,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','44110',948,'Fournisseurs belges',0,NULL,NULL,1),(950,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','44111',948,'Fournisseurs CEE',0,NULL,NULL,1),(951,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','44112',948,'Fournisseurs importation',0,NULL,NULL,1),(952,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','444',933,'Factures à recevoir',0,NULL,NULL,1),(953,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','446',933,'Acomptes reçus',0,NULL,NULL,1),(954,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','448',933,'Compensations fournisseurs',0,NULL,NULL,1),(955,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','45',1354,'Dettes fiscales, salariales et sociales',0,NULL,NULL,1),(956,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','450',955,'Dettes fiscales estimées',0,NULL,NULL,1),(957,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4501',956,'Impôts sur le résultat',0,NULL,NULL,1),(958,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4505',956,'Autres impôts en Belgique',0,NULL,NULL,1),(959,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4508',956,'Impôts à l\'étranger',0,NULL,NULL,1),(960,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','451',955,'T.V.A. à payer',0,NULL,NULL,1),(961,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4510',960,'T.V.A. due',0,NULL,NULL,1),(962,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4511',960,'T.V.A. déductible',0,NULL,NULL,1),(963,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4512',960,'Compte courant administration T.V.A.',0,NULL,NULL,1),(964,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4518',960,'Taxe d\'égalisation due',0,NULL,NULL,1),(965,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','452',955,'Impôts et taxes à payer',0,NULL,NULL,1),(966,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4520',965,'Autres impôts sur le résultat',0,NULL,NULL,1),(967,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4525',965,'Autres impôts et taxes en Belgique',0,NULL,NULL,1),(968,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','45250',967,'Précompte immobilier',0,NULL,NULL,1),(969,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','45251',967,'Impôts communaux à payer',0,NULL,NULL,1),(970,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','45252',967,'Impôts provinciaux à payer',0,NULL,NULL,1),(971,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','45253',967,'Autres impôts et taxes à payer',0,NULL,NULL,1),(972,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4528',965,'Impôts et taxes à l\'étranger',0,NULL,NULL,1),(973,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','453',955,'Précomptes retenus',0,NULL,NULL,1),(974,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4530',973,'Précompte professionnel retenu sur rémunérations',0,NULL,NULL,1),(975,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4531',973,'Précompte professionnel retenu sur tantièmes',0,NULL,NULL,1),(976,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4532',973,'Précompte mobilier retenu sur dividendes attribués',0,NULL,NULL,1),(977,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4533',973,'Précompte mobilier retenu sur intérêts payés',0,NULL,NULL,1),(978,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4538',973,'Autres précomptes retenus',0,NULL,NULL,1),(979,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','454',955,'Office National de la Sécurité Sociale',0,NULL,NULL,1),(980,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4540',979,'Arriérés',0,NULL,NULL,1),(981,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4541',979,'1er trimestre',0,NULL,NULL,1),(982,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4542',979,'2ème trimestre',0,NULL,NULL,1),(983,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4543',979,'3ème trimestre',0,NULL,NULL,1),(984,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4544',979,'4ème trimestre',0,NULL,NULL,1),(985,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','455',955,'Rémunérations',0,NULL,NULL,1),(986,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4550',985,'Administrateurs, gérants et commissaires (non réviseurs)',0,NULL,NULL,1),(987,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4551',985,'Direction',0,NULL,NULL,1),(988,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4552',985,'Employés',0,NULL,NULL,1),(989,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4553',985,'Ouvriers',0,NULL,NULL,1),(990,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','456',955,'Pécules de vacances',0,NULL,NULL,1),(991,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4560',990,'Direction',0,NULL,NULL,1),(992,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4561',990,'Employés',0,NULL,NULL,1),(993,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4562',990,'Ouvriers',0,NULL,NULL,1),(994,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','459',955,'Autres dettes sociales',0,NULL,NULL,1),(995,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4590',994,'Provision pour gratifications de fin d\'année',0,NULL,NULL,1),(996,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4591',994,'Départs de personnel',0,NULL,NULL,1),(997,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4592',994,'Oppositions sur rémunérations',0,NULL,NULL,1),(998,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4593',994,'Assurances relatives au personnel',0,NULL,NULL,1),(999,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','45930',998,'Assurance loi',0,NULL,NULL,1),(1000,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','45931',998,'Assurance salaire garanti',0,NULL,NULL,1),(1001,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','45932',998,'Assurance groupe',0,NULL,NULL,1),(1002,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','45933',998,'Assurances individuelles',0,NULL,NULL,1),(1003,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4594',994,'Caisse d\'assurances sociales pour travailleurs indépendants',0,NULL,NULL,1),(1004,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4597',994,'Dettes et provisions sociales diverses',0,NULL,NULL,1),(1005,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','46',1354,'Acomptes reçus sur commande',0,NULL,NULL,1),(1006,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','47',1354,'Dettes découlant de l\'affectation des résultats',0,NULL,NULL,1),(1007,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','470',1006,'Dividendes et tantièmes d\'exercices antérieurs',0,NULL,NULL,1),(1008,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','471',1006,'Dividendes de l\'exercice',0,NULL,NULL,1),(1009,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','472',1006,'Tantièmes de l\'exercice',0,NULL,NULL,1),(1010,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','473',1006,'Autres allocataires',0,NULL,NULL,1),(1011,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','48',4,'Dettes diverses',0,NULL,NULL,1),(1012,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','480',1011,'Obligations et coupons échus',0,NULL,NULL,1),(1013,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','481',1011,'Actionnaires - capital à rembourser',0,NULL,NULL,1),(1014,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','482',1011,'Participation du personnel à payer',0,NULL,NULL,1),(1015,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','483',1011,'Acomptes reçus d\'autres tiers à moins d\'un an',0,NULL,NULL,1),(1016,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','486',1011,'Emballages et matériel consignés',0,NULL,NULL,1),(1017,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','488',1011,'Cautionnements reçus en numéraires',0,NULL,NULL,1),(1018,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','489',1011,'Autres dettes diverses',0,NULL,NULL,1),(1019,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','49',1354,'Comptes de régularisation et compte d\'attente',0,NULL,NULL,1),(1020,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','490',1019,'Charges à reporter (à subdiviser par catégorie de charges)',0,NULL,NULL,1),(1021,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','491',1019,'Produits acquis',0,NULL,NULL,1),(1022,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4910',1021,'Produits d\'exploitation',0,NULL,NULL,1),(1023,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','49100',1022,'Ristournes et rabais à obtenir',0,NULL,NULL,1),(1024,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','49101',1022,'Commissions à obtenir',0,NULL,NULL,1),(1025,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','49102',1022,'Autres produits d\'exploitation (redevances par exemple)',0,NULL,NULL,1),(1026,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4911',1021,'Produits financiers',0,NULL,NULL,1),(1027,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','49110',1026,'Intérêts courus et non échus sur prêts et débits',0,NULL,NULL,1),(1028,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','49111',1026,'Autres produits financiers',0,NULL,NULL,1),(1029,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','492',1019,'Charges à imputer (à subdiviser par catégorie de charges)',0,NULL,NULL,1),(1030,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','493',1019,'Produits à reporter',0,NULL,NULL,1),(1031,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4930',1030,'Produits d\'exploitation à reporter',0,NULL,NULL,1),(1032,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4931',1030,'Produits financiers à reporter',0,NULL,NULL,1),(1033,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','499',1019,'Comptes d\'attente',0,NULL,NULL,1),(1034,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4990',1033,'Compte d\'attente',0,NULL,NULL,1),(1035,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4991',1033,'Compte de répartition périodique des charges',0,NULL,NULL,1),(1036,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','TIERS','XXXXXX','4999',1033,'Transferts d\'exercice',0,NULL,NULL,1),(1037,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','FINAN','XXXXXX','50',1355,'Actions propres',0,NULL,NULL,1),(1038,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','FINAN','XXXXXX','51',1355,'Actions et parts',0,NULL,NULL,1),(1039,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','FINAN','XXXXXX','510',1038,'Valeur d\'acquisition',0,NULL,NULL,1),(1040,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','FINAN','XXXXXX','511',1038,'Montants non appelés',0,NULL,NULL,1),(1041,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','FINAN','XXXXXX','519',1038,'Réductions de valeur actées',0,NULL,NULL,1),(1042,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','FINAN','XXXXXX','52',1355,'Titres à revenus fixes',0,NULL,NULL,1),(1043,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','FINAN','XXXXXX','520',1042,'Valeur d\'acquisition',0,NULL,NULL,1),(1044,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','FINAN','XXXXXX','529',1042,'Réductions de valeur actées',0,NULL,NULL,1),(1045,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','FINAN','XXXXXX','53',1355,'Dépots à terme',0,NULL,NULL,1),(1046,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','FINAN','XXXXXX','530',1045,'De plus d\'un an',0,NULL,NULL,1),(1047,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','FINAN','XXXXXX','531',1045,'De plus d\'un mois et à un an au plus',0,NULL,NULL,1),(1048,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','FINAN','XXXXXX','532',1045,'d\'un mois au plus',0,NULL,NULL,1),(1049,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','FINAN','XXXXXX','539',1045,'Réductions de valeur actées',0,NULL,NULL,1),(1050,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','FINAN','XXXXXX','54',1355,'Valeurs échues à l\'encaissement',0,NULL,NULL,1),(1051,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','FINAN','XXXXXX','540',1050,'Chèques à encaisser',0,NULL,NULL,1),(1052,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','FINAN','XXXXXX','541',1050,'Coupons à encaisser',0,NULL,NULL,1),(1053,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','FINAN','XXXXXX','55',1355,'Etablissements de crédit - Comptes ouverts auprès des divers établissements.',0,NULL,NULL,1),(1054,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','FINAN','XXXXXX','550',1053,'Comptes courants',0,NULL,NULL,1),(1055,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','FINAN','XXXXXX','551',1053,'Chèques émis',0,NULL,NULL,1),(1056,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','FINAN','XXXXXX','559',1053,'Réductions de valeur actées',0,NULL,NULL,1),(1057,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','FINAN','XXXXXX','56',1355,'Office des chèques postaux',0,NULL,NULL,1),(1058,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','FINAN','XXXXXX','560',1057,'Compte courant',0,NULL,NULL,1),(1059,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','FINAN','XXXXXX','561',1057,'Chèques émis',0,NULL,NULL,1),(1060,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','FINAN','XXXXXX','57',1355,'Caisses',0,NULL,NULL,1),(1061,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','FINAN','XXXXXX','570',1060,'à 577 Caisses - espèces ( 0 - centrale ; 7 - succursales et agences)',0,NULL,NULL,1),(1062,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','FINAN','XXXXXX','578',1060,'Caisses - timbres ( 0 - fiscaux ; 1 - postaux)',0,NULL,NULL,1),(1063,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','FINAN','XXXXXX','58',1355,'Virements internes',0,NULL,NULL,1),(1064,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','60',1356,'Approvisionnements et marchandises',0,NULL,NULL,1),(1065,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','600',1064,'Achats de matières premières',0,NULL,NULL,1),(1066,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','601',1064,'Achats de fournitures',0,NULL,NULL,1),(1067,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','602',1064,'Achats de services, travaux et études',0,NULL,NULL,1),(1068,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','603',1064,'Sous-traitances générales',0,NULL,NULL,1),(1069,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','604',1064,'Achats de marchandises',0,NULL,NULL,1),(1070,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','605',1064,'Achats d\'immeubles destinés à la revente',0,NULL,NULL,1),(1071,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','608',1064,'Remises , ristournes et rabais obtenus sur achats',0,NULL,NULL,1),(1072,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','609',1064,'Variations de stocks',0,NULL,NULL,1),(1073,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6090',1072,'De matières premières',0,NULL,NULL,1),(1074,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6091',1072,'De fournitures',0,NULL,NULL,1),(1075,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6094',1072,'De marchandises',0,NULL,NULL,1),(1076,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6095',1072,'d\'immeubles destinés à la vente',0,NULL,NULL,1),(1077,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','61',1356,'Services et biens divers',0,NULL,NULL,1),(1078,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','610',1077,'Loyers et charges locatives',0,NULL,NULL,1),(1079,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6100',1078,'Loyers divers',0,NULL,NULL,1),(1080,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6101',1078,'Charges locatives (assurances, frais de confort,etc)',0,NULL,NULL,1),(1081,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','611',1077,'Entretien et réparation (fournitures et prestations)',0,NULL,NULL,1),(1082,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','612',1077,'Fournitures faites à l\'entreprise',0,NULL,NULL,1),(1083,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6120',1082,'Eau, gaz, électricité, vapeur',0,NULL,NULL,1),(1084,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','61200',1083,'Eau',0,NULL,NULL,1),(1085,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','61201',1083,'Gaz',0,NULL,NULL,1),(1086,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','61202',1083,'Electricité',0,NULL,NULL,1),(1087,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','61203',1083,'Vapeur',0,NULL,NULL,1),(1088,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6121',1082,'Téléphone, télégrammes, télex, téléfax, frais postaux',0,NULL,NULL,1),(1089,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','61210',1088,'Téléphone',0,NULL,NULL,1),(1090,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','61211',1088,'Télégrammes',0,NULL,NULL,1),(1091,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','61212',1088,'Télex et téléfax',0,NULL,NULL,1),(1092,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','61213',1088,'Frais postaux',0,NULL,NULL,1),(1093,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6122',1082,'Livres, bibliothèque',0,NULL,NULL,1),(1094,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6123',1082,'Imprimés et fournitures de bureau (si non comptabilisé au 601)',0,NULL,NULL,1),(1095,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','613',1077,'Rétributions de tiers',0,NULL,NULL,1),(1096,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6130',1095,'Redevances et royalties',0,NULL,NULL,1),(1097,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','61300',1096,'Redevances pour brevets, licences, marques et accessoires',0,NULL,NULL,1),(1098,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','61301',1096,'Autres redevances (procédés de fabrication)',0,NULL,NULL,1),(1099,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6131',1095,'Assurances non relatives au personnel',0,NULL,NULL,1),(1100,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','61310',1099,'Assurance incendie',0,NULL,NULL,1),(1101,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','61311',1099,'Assurance vol',0,NULL,NULL,1),(1102,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','61312',1099,'Assurance autos',0,NULL,NULL,1),(1103,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','61313',1099,'Assurance crédit',0,NULL,NULL,1),(1104,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','61314',1099,'Assurances frais généraux',0,NULL,NULL,1),(1105,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6132',1095,'Divers',0,NULL,NULL,1),(1106,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','61320',1105,'Commissions aux tiers',0,NULL,NULL,1),(1107,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','61321',1105,'Honoraires d\'avocats, d\'experts, etc',0,NULL,NULL,1),(1108,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','61322',1105,'Cotisations aux groupements professionnels',0,NULL,NULL,1),(1109,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','61323',1105,'Dons, libéralités, etc',0,NULL,NULL,1),(1110,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','61324',1105,'Frais de contentieux',0,NULL,NULL,1),(1111,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','61325',1105,'Publications légales',0,NULL,NULL,1),(1112,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6133',1095,'Transports et déplacements',0,NULL,NULL,1),(1113,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','61330',1112,'Transports de personnel',0,NULL,NULL,1),(1114,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','61331',1112,'Voyages, déplacements et représentations',0,NULL,NULL,1),(1115,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6134',1095,'Personnel intérimaire',0,NULL,NULL,1),(1116,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','614',1077,'Annonces, publicité, propagande et documentation',0,NULL,NULL,1),(1117,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6140',1116,'Annonces et insertions',0,NULL,NULL,1),(1118,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6141',1116,'Catalogues et imprimés',0,NULL,NULL,1),(1119,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6142',1116,'Echantillons',0,NULL,NULL,1),(1120,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6143',1116,'Foires et expositions',0,NULL,NULL,1),(1121,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6144',1116,'Primes',0,NULL,NULL,1),(1122,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6145',1116,'Cadeaux à la clientèle',0,NULL,NULL,1),(1123,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6146',1116,'Missions et réceptions',0,NULL,NULL,1),(1124,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6147',1116,'Documentation',0,NULL,NULL,1),(1125,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','615',1077,'Sous-traitants',0,NULL,NULL,1),(1126,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6150',1125,'Sous-traitants pour activités propres',0,NULL,NULL,1),(1127,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6151',1125,'Sous-traitants d\'associations momentanées (coparticipants)',0,NULL,NULL,1),(1128,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6152',1125,'Quote-part bénéficiaire des coparticipants',0,NULL,NULL,1),(1129,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','617',1077,'Personnel intérimaire et personnes mises à la disposition de l\'entreprise',0,NULL,NULL,1),(1130,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','618',1077,'Rémunérations, primes pour assurances extralégales, pensions de retraite et de survie des administrateurs, gérants et associés actifs qui ne sont pas attribuées en vertu d\'un contrat de travail',0,NULL,NULL,1),(1131,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','62',1356,'Rémunérations, charges sociales et pensions',0,NULL,NULL,1),(1132,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','620',1131,'Rémunérations et avantages sociaux directs',0,NULL,NULL,1),(1133,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6200',1132,'Administrateurs ou gérants',0,NULL,NULL,1),(1134,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6201',1132,'Personnel de direction',0,NULL,NULL,1),(1135,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6202',1132,'Employés',0,NULL,NULL,1),(1136,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6203',1132,'Ouvriers',0,NULL,NULL,1),(1137,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6204',1132,'Autres membres du personnel',0,NULL,NULL,1),(1138,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','621',1131,'Cotisations patronales d\'assurances sociales',0,NULL,NULL,1),(1139,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6210',1138,'Sur salaires',0,NULL,NULL,1),(1140,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6211',1138,'Sur appointements et commissions',0,NULL,NULL,1),(1141,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','622',1131,'Primes patronales pour assurances extralégales',0,NULL,NULL,1),(1142,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','623',1131,'Autres frais de personnel',0,NULL,NULL,1),(1143,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6230',1142,'Assurances du personnel',0,NULL,NULL,1),(1144,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','62300',1143,'Assurances loi, responsabilité civile, chemin du travail',0,NULL,NULL,1),(1145,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','62301',1143,'Assurance salaire garanti',0,NULL,NULL,1),(1146,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','62302',1143,'Assurances individuelles',0,NULL,NULL,1),(1147,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6231',1142,'Charges sociales diverses',0,NULL,NULL,1),(1148,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','62310',1147,'Jours fériés payés',0,NULL,NULL,1),(1149,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','62311',1147,'Salaire hebdomadaire garanti',0,NULL,NULL,1),(1150,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','62312',1147,'Allocations familiales complémentaires',0,NULL,NULL,1),(1151,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6232',1142,'Charges sociales des administrateurs, gérants et commissaires',0,NULL,NULL,1),(1152,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','62320',1151,'Allocations familiales complémentaires pour non salariés',0,NULL,NULL,1),(1153,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','62321',1151,'Lois sociales pour indépendants',0,NULL,NULL,1),(1154,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','62322',1151,'Divers',0,NULL,NULL,1),(1155,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','624',1131,'Pensions de retraite et de survie',0,NULL,NULL,1),(1156,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6240',1155,'Administrateurs et gérants',0,NULL,NULL,1),(1157,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6241',1155,'Personnel',0,NULL,NULL,1),(1158,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','625',1131,'Provision pour pécule de vacances',0,NULL,NULL,1),(1159,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6250',1158,'Dotations',0,NULL,NULL,1),(1160,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6251',1158,'Utilisations et reprises',0,NULL,NULL,1),(1161,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','63',1356,'Amortissements, réductions de valeur et provisions pour risques et charges',0,NULL,NULL,1),(1162,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','630',1161,'Dotations aux amortissements et aux réductions de valeur sur immobilisations',0,NULL,NULL,1),(1163,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6300',1162,'Dotations aux amortissements sur frais d\'établissement',0,NULL,NULL,1),(1164,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6301',1162,'Dotations aux amortissements sur immobilisations incorporelles',0,NULL,NULL,1),(1165,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6302',1162,'Dotations aux amortissements sur immobilisations corporelles',0,NULL,NULL,1),(1166,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6308',1162,'Dotations aux réductions de valeur sur immobilisations incorporelles',0,NULL,NULL,1),(1167,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6309',1162,'Dotations aux réductions de valeur sur immobilisations corporelles',0,NULL,NULL,1),(1168,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','631',1161,'Réductions de valeur sur stocks',0,NULL,NULL,1),(1169,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6310',1168,'Dotations',0,NULL,NULL,1),(1170,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6311',1168,'Reprises',0,NULL,NULL,1),(1171,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','632',1161,'Réductions de valeur sur commandes en cours d\'exécution',0,NULL,NULL,1),(1172,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6320',1171,'Dotations',0,NULL,NULL,1),(1173,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6321',1171,'Reprises',0,NULL,NULL,1),(1174,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','633',1161,'Réductions de valeur sur créances commerciales à plus d\'un an',0,NULL,NULL,1),(1175,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6330',1174,'Dotations',0,NULL,NULL,1),(1176,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6331',1174,'Reprises',0,NULL,NULL,1),(1177,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','634',1161,'Réductions de valeur sur créances commerciales à un an au plus',0,NULL,NULL,1),(1178,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6340',1177,'Dotations',0,NULL,NULL,1),(1179,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6341',1177,'Reprises',0,NULL,NULL,1),(1180,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','635',1161,'Provisions pour pensions et obligations similaires',0,NULL,NULL,1),(1181,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6350',1180,'Dotations',0,NULL,NULL,1),(1182,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6351',1180,'Utilisations et reprises',0,NULL,NULL,1),(1183,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','636',11613,'Provisions pour grosses réparations et gros entretiens',0,NULL,NULL,1),(1184,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6360',1183,'Dotations',0,NULL,NULL,1),(1185,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6361',1183,'Utilisations et reprises',0,NULL,NULL,1),(1186,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','637',1161,'Provisions pour autres risques et charges',0,NULL,NULL,1),(1187,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6370',1186,'Dotations',0,NULL,NULL,1),(1188,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6371',1186,'Utilisations et reprises',0,NULL,NULL,1),(1189,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','64',1356,'Autres charges d\'exploitation',0,NULL,NULL,1),(1190,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','640',1189,'Charges fiscales d\'exploitation',0,NULL,NULL,1),(1191,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6400',1190,'Taxes et impôts directs',0,NULL,NULL,1),(1192,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','64000',1191,'Taxes sur autos et camions',0,NULL,NULL,1),(1193,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6401',1190,'Taxes et impôts indirects',0,NULL,NULL,1),(1194,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','64010',1193,'Timbres fiscaux pris en charge par la firme',0,NULL,NULL,1),(1195,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','64011',1193,'Droits d\'enregistrement',0,NULL,NULL,1),(1196,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','64012',1193,'T.V.A. non déductible',0,NULL,NULL,1),(1197,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6402',1190,'Impôts provinciaux et communaux',0,NULL,NULL,1),(1198,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','64020',1197,'Taxe sur la force motrice',0,NULL,NULL,1),(1199,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','64021',1197,'Taxe sur le personnel occupé',0,NULL,NULL,1),(1200,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6403',1190,'Taxes diverses',0,NULL,NULL,1),(1201,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','641',1189,'Moins-values sur réalisations courantes d\'immobilisations corporelles',0,NULL,NULL,1),(1202,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','642',1189,'Moins-values sur réalisations de créances commerciales',0,NULL,NULL,1),(1203,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','643',1189,'à 648 Charges d\'exploitations diverses',0,NULL,NULL,1),(1204,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','649',1189,'Charges d\'exploitation portées à l\'actif au titre de restructuration',0,NULL,NULL,1),(1205,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','65',1356,'Charges financières',0,NULL,NULL,1),(1206,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','650',1205,'Charges des dettes',0,NULL,NULL,1),(1207,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6500',1206,'Intérêts, commissions et frais afférents aux dettes',0,NULL,NULL,1),(1208,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6501',1206,'Amortissements des agios et frais d\'émission d\'emprunts',0,NULL,NULL,1),(1209,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6502',1206,'Autres charges de dettes',0,NULL,NULL,1),(1210,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6503',1206,'Intérêts intercalaires portés à l\'actif',0,NULL,NULL,1),(1211,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','651',1205,'Réductions de valeur sur actifs circulants',0,NULL,NULL,1),(1212,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6510',1211,'Dotations',0,NULL,NULL,1),(1213,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6511',1211,'Reprises',0,NULL,NULL,1),(1214,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','652',1205,'Moins-values sur réalisation d\'actifs circulants',0,NULL,NULL,1),(1215,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','653',1205,'Charges d\'escompte de créances',0,NULL,NULL,1),(1216,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','654',1205,'Différences de change',0,NULL,NULL,1),(1217,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','655',1205,'Ecarts de conversion des devises',0,NULL,NULL,1),(1218,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','656',1205,'Frais de banques, de chèques postaux',0,NULL,NULL,1),(1219,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','657',1205,'Commissions sur ouvertures de crédit, cautions et avals',0,NULL,NULL,1),(1220,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','658',1205,'Frais de vente des titres',0,NULL,NULL,1),(1221,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','66',1356,'Charges exceptionnelles',0,NULL,NULL,1),(1222,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','660',1221,'Amortissements et réductions de valeur exceptionnels',0,NULL,NULL,1),(1223,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6600',1222,'Sur frais d\'établissement',0,NULL,NULL,1),(1224,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6601',1222,'Sur immobilisations incorporelles',0,NULL,NULL,1),(1225,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6602',1222,'Sur immobilisations corporelles',0,NULL,NULL,1),(1226,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','661',1221,'Réductions de valeur sur immobilisations financières',0,NULL,NULL,1),(1227,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','662',1221,'Provisions pour risques et charges exceptionnels',0,NULL,NULL,1),(1228,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','663',1221,'Moins-values sur réalisation d\'actifs immobilisés',0,NULL,NULL,1),(1229,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6630',1228,'Sur immobilisations incorporelles',0,NULL,NULL,1),(1230,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6631',1228,'Sur immobilisations corporelles',0,NULL,NULL,1),(1231,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6632',1228,'Sur immobilisations détenues en location-financement et droits similaires',0,NULL,NULL,1),(1232,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6633',1228,'Sur immobilisations financières',0,NULL,NULL,1),(1233,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6634',1228,'Sur immeubles acquis ou construits en vue de la revente',0,NULL,NULL,1),(1234,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','664',1221,'à 668 Autres charges exceptionnelles',0,NULL,NULL,1),(1235,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','664',1221,'Pénalités et amendes diverses',0,NULL,NULL,1),(1236,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','665',1221,'Différence de charge',0,NULL,NULL,1),(1237,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','669',1221,'Charges exceptionnelles transférées à l\'actif en frais de restructuration',0,NULL,NULL,1),(1238,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','67',1356,'Impôts sur le résultat',0,NULL,NULL,1),(1239,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','670',1238,'Impôts belges sur le résultat de l\'exercice',0,NULL,NULL,1),(1240,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6700',1239,'Impôts et précomptes dus ou versés',0,NULL,NULL,1),(1241,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6701',1239,'Excédent de versements d\'impôts et précomptes porté à l\'actif',0,NULL,NULL,1),(1242,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6702',1239,'Charges fiscales estimées',0,NULL,NULL,1),(1243,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','671',1238,'Impôts belges sur le résultat d\'exercices antérieurs',0,NULL,NULL,1),(1244,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6710',1243,'Suppléments d\'impôts dus ou versés',0,NULL,NULL,1),(1245,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6711',1243,'Suppléments d\'impôts estimés',0,NULL,NULL,1),(1246,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','6712',1243,'Provisions fiscales constituées',0,NULL,NULL,1),(1247,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','672',1238,'Impôts étrangers sur le résultat de l\'exercice',0,NULL,NULL,1),(1248,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','673',1238,'Impôts étrangers sur le résultat d\'exercices antérieurs',0,NULL,NULL,1),(1249,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','68',1356,'Transferts aux réserves immunisées',0,NULL,NULL,1),(1250,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','69',1356,'Affectation des résultats',0,NULL,NULL,1),(1251,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','690',1250,'Perte reportée de l\'exercice précédent',0,NULL,NULL,1),(1252,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','691',1250,'Dotation à la réserve légale',0,NULL,NULL,1),(1253,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','692',1250,'Dotation aux autres réserves',0,NULL,NULL,1),(1254,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','693',1250,'Bénéfice à reporter',0,NULL,NULL,1),(1255,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','694',1250,'Rémunération du capital',0,NULL,NULL,1),(1256,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','695',1250,'Administrateurs ou gérants',0,NULL,NULL,1),(1257,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','CHARGE','XXXXXX','696',1250,'Autres allocataires',0,NULL,NULL,1),(1258,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','70',1357,'Chiffre d\'affaires',0,NULL,NULL,1),(1260,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','700',1258,'Ventes de marchandises',0,NULL,NULL,1),(1261,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7000',1260,'Ventes en Belgique',0,NULL,NULL,1),(1262,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7001',1260,'Ventes dans les pays membres de la C.E.E.',0,NULL,NULL,1),(1263,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7002',1260,'Ventes à l\'exportation',0,NULL,NULL,1),(1264,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','701',1258,'Ventes de produits finis',0,NULL,NULL,1),(1265,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7010',1264,'Ventes en Belgique',0,NULL,NULL,1),(1266,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7011',1264,'Ventes dans les pays membres de la C.E.E.',0,NULL,NULL,1),(1267,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7012',1264,'Ventes à l\'exportation',0,NULL,NULL,1),(1268,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','702',1258,'Ventes de déchets et rebuts',0,NULL,NULL,1),(1269,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7020',1268,'Ventes en Belgique',0,NULL,NULL,1),(1270,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7021',1268,'Ventes dans les pays membres de la C.E.E.',0,NULL,NULL,1),(1271,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7022',1268,'Ventes à l\'exportation',0,NULL,NULL,1),(1272,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','703',1258,'Ventes d\'emballages récupérables',0,NULL,NULL,1),(1273,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','704',1258,'Facturations des travaux en cours (associations momentanées)',0,NULL,NULL,1),(1274,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','705',1258,'Prestations de services',0,NULL,NULL,1),(1275,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7050',1274,'Prestations de services en Belgique',0,NULL,NULL,1),(1276,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7051',1274,'Prestations de services dans les pays membres de la C.E.E.',0,NULL,NULL,1),(1277,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7052',1274,'Prestations de services en vue de l\'exportation',0,NULL,NULL,1),(1278,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','706',1258,'Pénalités et dédits obtenus par l\'entreprise',0,NULL,NULL,1),(1279,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','708',1258,'Remises, ristournes et rabais accordés',0,NULL,NULL,1),(1280,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7080',1279,'Sur ventes de marchandises',0,NULL,NULL,1),(1281,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7081',1279,'Sur ventes de produits finis',0,NULL,NULL,1),(1282,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7082',1279,'Sur ventes de déchets et rebuts',0,NULL,NULL,1),(1283,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7083',1279,'Sur prestations de services',0,NULL,NULL,1),(1284,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7084',1279,'Mali sur travaux facturés aux associations momentanées',0,NULL,NULL,1),(1285,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','71',1357,'Variation des stocks et des commandes en cours d\'exécution',0,NULL,NULL,1),(1286,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','712',1285,'Des en cours de fabrication',0,NULL,NULL,1),(1287,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','713',1285,'Des produits finis',0,NULL,NULL,1),(1288,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','715',1285,'Des immeubles construits destinés à la vente',0,NULL,NULL,1),(1289,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','717',1285,'Des commandes en cours d\'exécution',0,NULL,NULL,1),(1290,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7170',1289,'Commandes en cours - Coût de revient',0,NULL,NULL,1),(1291,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','71700',1290,'Coût des commandes en cours d\'exécution',0,NULL,NULL,1),(1292,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','71701',1290,'Coût des travaux en cours des associations momentanées',0,NULL,NULL,1),(1293,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7171',1289,'Bénéfices portés en compte sur commandes en cours',0,NULL,NULL,1),(1294,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','71710',1293,'Sur commandes en cours d\'exécution',0,NULL,NULL,1),(1295,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','71711',1293,'Sur travaux en cours des associations momentanées',0,NULL,NULL,1),(1296,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','72',1357,'Production immobilisée',0,NULL,NULL,1),(1297,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','720',1296,'En frais d\'établissement',0,NULL,NULL,1),(1298,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','721',1296,'En immobilisations incorporelles',0,NULL,NULL,1),(1299,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','722',1296,'En immobilisations corporelles',0,NULL,NULL,1),(1300,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','723',1296,'En immobilisations en cours',0,NULL,NULL,1),(1301,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','74',1357,'Autres produits d\'exploitation',0,NULL,NULL,1),(1302,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','740',1301,'Subsides d\'exploitation et montants compensatoires',0,NULL,NULL,1),(1303,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','741',1301,'Plus-values sur réalisations courantes d\'immobilisations corporelles',0,NULL,NULL,1),(1304,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','742',1301,'Plus-values sur réalisations de créances commerciales',0,NULL,NULL,1),(1305,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','743',1301,'à 749 Produits d\'exploitation divers',0,NULL,NULL,1),(1306,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','743',1301,'Produits de services exploités dans l\'intérêt du personnel',0,NULL,NULL,1),(1307,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','744',1301,'Commissions et courtages',0,NULL,NULL,1),(1308,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','745',1301,'Redevances pour brevets et licences',0,NULL,NULL,1),(1309,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','746',1301,'Prestations de services (transports, études, etc)',0,NULL,NULL,1),(1310,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','747',1301,'Revenus des immeubles affectés aux activités non professionnelles',0,NULL,NULL,1),(1311,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','748',1301,'Locations diverses à caractère professionnel',0,NULL,NULL,1),(1312,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','749',1301,'Produits divers',0,NULL,NULL,1),(1313,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7490',1312,'Bonis sur reprises d\'emballages consignés',0,NULL,NULL,1),(1314,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7491',1312,'Bonis sur travaux en associations momentanées',0,NULL,NULL,1),(1315,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','75',1357,'Produits financiers',0,NULL,NULL,1),(1316,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','750',1315,'Produits des immobilisations financières',0,NULL,NULL,1),(1317,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7500',1316,'Revenus des actions',0,NULL,NULL,1),(1318,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7501',1316,'Revenus des obligations',0,NULL,NULL,1),(1319,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7502',1316,'Revenus des créances à plus d\'un an',0,NULL,NULL,1),(1320,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','751',1315,'Produits des actifs circulants',0,NULL,NULL,1),(1321,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','752',1315,'Plus-values sur réalisations d\'actifs circulants',0,NULL,NULL,1),(1322,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','753',1315,'Subsides en capital et en intérêts',0,NULL,NULL,1),(1323,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','754',1315,'Différences de change',0,NULL,NULL,1),(1324,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','755',1315,'Ecarts de conversion des devises',0,NULL,NULL,1),(1325,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','756',1315,'à 759 Produits financiers divers',0,NULL,NULL,1),(1326,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','756',1315,'Produits des autres créances',0,NULL,NULL,1),(1327,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','757',1315,'Escomptes obtenus',0,NULL,NULL,1),(1328,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','76',1357,'Produits exceptionnels',0,NULL,NULL,1),(1329,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','760',1328,'Reprises d\'amortissements et de réductions de valeur',0,NULL,NULL,1),(1330,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7600',1329,'Sur immobilisations incorporelles',0,NULL,NULL,1),(1331,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7601',1329,'Sur immobilisations corporelles',0,NULL,NULL,1),(1332,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','761',1328,'Reprises de réductions de valeur sur immobilisations financières',0,NULL,NULL,1),(1333,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','762',1328,'Reprises de provisions pour risques et charges exceptionnelles',0,NULL,NULL,1),(1334,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','763',1328,'Plus-values sur réalisation d\'actifs immobilisés',0,NULL,NULL,1),(1335,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7630',1334,'Sur immobilisations incorporelles',0,NULL,NULL,1),(1336,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7631',1334,'Sur immobilisations corporelles',0,NULL,NULL,1),(1337,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7632',1334,'Sur immobilisations financières',0,NULL,NULL,1),(1338,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','764',1328,'Autres produits exceptionnels',0,NULL,NULL,1),(1339,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','77',1357,'Régularisations d\'impôts et reprises de provisions fiscales',0,NULL,NULL,1),(1340,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','771',1339,'Impôts belges sur le résultat',0,NULL,NULL,1),(1341,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7710',1340,'Régularisations d\'impôts dus ou versés',0,NULL,NULL,1),(1342,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7711',1340,'Régularisations d\'impôts estimés',0,NULL,NULL,1),(1343,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','7712',1340,'Reprises de provisions fiscales',0,NULL,NULL,1),(1344,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','773',1339,'Impôts étrangers sur le résultat',0,NULL,NULL,1),(1345,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','79',1357,'Affectation aux résultats',0,NULL,NULL,1),(1346,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','790',1345,'Bénéfice reporté de l\'exercice précédent',0,NULL,NULL,1),(1347,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','791',1345,'Prélèvement sur le capital et les primes d\'émission',0,NULL,NULL,1),(1348,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','792',1345,'Prélèvement sur les réserves',0,NULL,NULL,1),(1349,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','793',1345,'Perte à reporter',0,NULL,NULL,1),(1350,1,NULL,'2016-01-22 17:28:16','PCMN-BASE','PROD','XXXXXX','794',1345,'Intervention d\'associés (ou du propriétaire) dans la perte',0,NULL,NULL,1),(1351,1,NULL,'2016-07-30 11:12:54','PCMN-BASE','CAPIT','XXXXXX','1',0,'Fonds propres, provisions pour risques et charges et dettes à plus d\'un an',0,NULL,NULL,1),(1352,1,NULL,'2016-07-30 11:12:54','PCMN-BASE','IMMO','XXXXXX','2',0,'Frais d\'établissement. Actifs immobilisés et créances à plus d\'un an',0,NULL,NULL,1),(1353,1,NULL,'2016-07-30 11:12:54','PCMN-BASE','STOCK','XXXXXX','3',0,'Stock et commandes en cours d\'exécution',0,NULL,NULL,1),(1354,1,NULL,'2016-07-30 11:12:54','PCMN-BASE','TIERS','XXXXXX','4',0,'Créances et dettes à un an au plus',0,NULL,NULL,1),(1355,1,NULL,'2016-07-30 11:12:54','PCMN-BASE','FINAN','XXXXXX','5',0,'Placement de trésorerie et de valeurs disponibles',0,NULL,NULL,1),(1356,1,NULL,'2016-07-30 11:12:54','PCMN-BASE','CHARGE','XXXXXX','6',0,'Charges',0,NULL,NULL,1),(1357,1,NULL,'2016-07-30 11:12:54','PCMN-BASE','PROD','XXXXXX','7',0,'Produits',0,NULL,NULL,1),(1401,1,NULL,'2016-07-30 11:12:54','PCG99-ABREGE','CAPIT','XXXXXX','1',0,'Fonds propres, provisions pour risques et charges et dettes à plus d\'un an',0,NULL,NULL,1),(1402,1,NULL,'2016-07-30 11:12:54','PCG99-ABREGE','IMMO','XXXXXX','2',0,'Frais d\'établissement. Actifs immobilisés et créances à plus d\'un an',0,NULL,NULL,1),(1403,1,NULL,'2016-07-30 11:12:54','PCG99-ABREGE','STOCK','XXXXXX','3',0,'Stock et commandes en cours d\'exécution',0,NULL,NULL,1),(1404,1,NULL,'2016-07-30 11:12:54','PCG99-ABREGE','TIERS','XXXXXX','4',0,'Créances et dettes à un an au plus',0,NULL,NULL,1),(1405,1,NULL,'2016-07-30 11:12:54','PCG99-ABREGE','FINAN','XXXXXX','5',0,'Placement de trésorerie et de valeurs disponibles',0,NULL,NULL,1),(1406,1,NULL,'2016-07-30 11:12:54','PCG99-ABREGE','CHARGE','XXXXXX','6',0,'Charges',0,NULL,NULL,1),(1407,1,NULL,'2016-07-30 11:12:54','PCG99-ABREGE','PROD','XXXXXX','7',0,'Produits',0,NULL,NULL,1),(1501,1,NULL,'2016-07-30 11:12:54','PCG99-BASE','CAPIT','XXXXXX','1',0,'Fonds propres, provisions pour risques et charges et dettes à plus d\'un an',0,NULL,NULL,1),(1502,1,NULL,'2016-07-30 11:12:54','PCG99-BASE','IMMO','XXXXXX','2',0,'Frais d\'établissement. Actifs immobilisés et créances à plus d\'un an',0,NULL,NULL,1),(1503,1,NULL,'2016-07-30 11:12:54','PCG99-BASE','STOCK','XXXXXX','3',0,'Stock et commandes en cours d\'exécution',0,NULL,NULL,1),(1504,1,NULL,'2016-07-30 11:12:54','PCG99-BASE','TIERS','XXXXXX','4',0,'Créances et dettes à un an au plus',0,NULL,NULL,1),(1505,1,NULL,'2016-07-30 11:12:54','PCG99-BASE','FINAN','XXXXXX','5',0,'Placement de trésorerie et de valeurs disponibles',0,NULL,NULL,1),(1506,1,NULL,'2016-07-30 11:12:54','PCG99-BASE','CHARGE','XXXXXX','6',0,'Charges',0,NULL,NULL,1),(1507,1,NULL,'2016-07-30 11:12:54','PCG99-BASE','PROD','XXXXXX','7',0,'Produits',0,NULL,NULL,1),(4001,1,NULL,'2016-07-30 11:12:54','PCG08-PYME','FINANCIACION','XXXXXX','1',0,'Financiación básica',0,NULL,NULL,1),(4002,1,NULL,'2016-07-30 11:12:54','PCG08-PYME','ACTIVO','XXXXXX','2',0,'Activo no corriente',0,NULL,NULL,1),(4003,1,NULL,'2016-07-30 11:12:54','PCG08-PYME','EXISTENCIAS','XXXXXX','3',0,'Existencias',0,NULL,NULL,1),(4004,1,NULL,'2016-07-30 11:12:54','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4',0,'Acreedores y deudores por operaciones comerciales',0,NULL,NULL,1),(4005,1,NULL,'2016-07-30 11:12:54','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5',0,'Cuentas financieras',0,NULL,NULL,1),(4006,1,NULL,'2016-07-30 11:12:54','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6',0,'Compras y gastos',0,NULL,NULL,1),(4007,1,NULL,'2016-07-30 11:12:54','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7',0,'Ventas e ingresos',0,NULL,NULL,1),(4008,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','10',4001,'CAPITAL',0,NULL,NULL,1),(4009,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','100',4008,'Capital social',0,NULL,NULL,1),(4010,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','101',4008,'Fondo social',0,NULL,NULL,1),(4011,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','CAPITAL','102',4008,'Capital',0,NULL,NULL,1),(4012,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','103',4008,'Socios por desembolsos no exigidos',0,NULL,NULL,1),(4013,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1030',4012,'Socios por desembolsos no exigidos capital social',0,NULL,NULL,1),(4014,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1034',4012,'Socios por desembolsos no exigidos capital pendiente de inscripción',0,NULL,NULL,1),(4015,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','104',4008,'Socios por aportaciones no dineradas pendientes',0,NULL,NULL,1),(4016,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1040',4015,'Socios por aportaciones no dineradas pendientes capital social',0,NULL,NULL,1),(4017,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1044',4015,'Socios por aportaciones no dineradas pendientes capital pendiente de inscripción',0,NULL,NULL,1),(4018,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','108',4008,'Acciones o participaciones propias en situaciones especiales',0,NULL,NULL,1),(4019,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','109',4008,'Acciones o participaciones propias para reducción de capital',0,NULL,NULL,1),(4020,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','11',4001,'Reservas y otros instrumentos de patrimonio',0,NULL,NULL,1),(4021,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','110',4020,'Prima de emisión o asunción',0,NULL,NULL,1),(4022,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','111',4020,'Otros instrumentos de patrimonio neto',0,NULL,NULL,1),(4023,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1110',4022,'Patrimonio neto por emisión de instrumentos financieros compuestos',0,NULL,NULL,1),(4024,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1111',4022,'Resto de instrumentos de patrimoio neto',0,NULL,NULL,1),(4025,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','112',4020,'Reserva legal',0,NULL,NULL,1),(4026,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','113',4020,'Reservas voluntarias',0,NULL,NULL,1),(4027,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','114',4020,'Reservas especiales',0,NULL,NULL,1),(4028,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1140',4027,'Reservas para acciones o participaciones de la sociedad dominante',0,NULL,NULL,1),(4029,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1141',4027,'Reservas estatutarias',0,NULL,NULL,1),(4030,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1142',4027,'Reservas por capital amortizado',0,NULL,NULL,1),(4031,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1143',4027,'Reservas por fondo de comercio',0,NULL,NULL,1),(4032,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1144',4028,'Reservas por acciones propias aceptadas en garantía',0,NULL,NULL,1),(4033,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','115',4020,'Reservas por pérdidas y ganancias actuariales y otros ajustes',0,NULL,NULL,1),(4034,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','118',4020,'Aportaciones de socios o propietarios',0,NULL,NULL,1),(4035,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','119',4020,'Diferencias por ajuste del capital a euros',0,NULL,NULL,1),(4036,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','12',4001,'Resultados pendientes de aplicación',0,NULL,NULL,1),(4037,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','120',4036,'Remanente',0,NULL,NULL,1),(4038,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','121',4036,'Resultados negativos de ejercicios anteriores',0,NULL,NULL,1),(4039,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','129',4036,'Resultado del ejercicio',0,NULL,NULL,1),(4040,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','13',4001,'Subvenciones, donaciones y ajustes por cambio de valor',0,NULL,NULL,1),(4041,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','130',4040,'Subvenciones oficiales de capital',0,NULL,NULL,1),(4042,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','131',4040,'Donaciones y legados de capital',0,NULL,NULL,1),(4043,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','132',4040,'Otras subvenciones, donaciones y legados',0,NULL,NULL,1),(4044,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','133',4040,'Ajustes por valoración en activos financieros disponibles para la venta',0,NULL,NULL,1),(4045,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','134',4040,'Operaciones de cobertura',0,NULL,NULL,1),(4046,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1340',4045,'Cobertura de flujos de efectivo',0,NULL,NULL,1),(4047,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1341',4045,'Cobertura de una inversión neta en un negocio extranjero',0,NULL,NULL,1),(4048,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','135',4040,'Diferencias de conversión',0,NULL,NULL,1),(4049,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','136',4040,'Ajustes por valoración en activos no corrientes y grupos enajenables de elementos mantenidos para la venta',0,NULL,NULL,1),(4050,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','137',4040,'Ingresos fiscales a distribuir en varios ejercicios',0,NULL,NULL,1),(4051,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1370',4050,'Ingresos fiscales por diferencias permanentes a distribuir en varios ejercicios',0,NULL,NULL,1),(4052,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1371',4050,'Ingresos fiscales por deducciones y bonificaciones a distribuir en varios ejercicios',0,NULL,NULL,1),(4053,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','14',4001,'Provisiones',0,NULL,NULL,1),(4054,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','141',4053,'Provisión para impuestos',0,NULL,NULL,1),(4055,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','142',4053,'Provisión para otras responsabilidades',0,NULL,NULL,1),(4056,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','143',4053,'Provisión por desmantelamiento, retiro o rehabilitación del inmovilizado',0,NULL,NULL,1),(4057,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','145',4053,'Provisión para actuaciones medioambientales',0,NULL,NULL,1),(4058,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','15',4001,'Deudas a largo plazo con características especiales',0,NULL,NULL,1),(4059,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','150',4058,'Acciones o participaciones a largo plazo consideradas como pasivos financieros',0,NULL,NULL,1),(4060,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','153',4058,'Desembolsos no exigidos por acciones o participaciones consideradas como pasivos financieros',0,NULL,NULL,1),(4061,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1533',4060,'Desembolsos no exigidos empresas del grupo',0,NULL,NULL,1),(4062,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1534',4060,'Desembolsos no exigidos empresas asociadas',0,NULL,NULL,1),(4063,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1535',4060,'Desembolsos no exigidos otras partes vinculadas',0,NULL,NULL,1),(4064,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1536',4060,'Otros desembolsos no exigidos',0,NULL,NULL,1),(4065,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','154',4058,'Aportaciones no dinerarias pendientes por acciones o participaciones consideradas como pasivos financieros',0,NULL,NULL,1),(4066,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1543',4065,'Aportaciones no dinerarias pendientes empresas del grupo',0,NULL,NULL,1),(4067,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1544',4065,'Aportaciones no dinerarias pendientes empresas asociadas',0,NULL,NULL,1),(4068,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1545',4065,'Aportaciones no dinerarias pendientes otras partes vinculadas',0,NULL,NULL,1),(4069,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1546',4065,'Otras aportaciones no dinerarias pendientes',0,NULL,NULL,1),(4070,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','16',4001,'Deudas a largo plazo con partes vinculadas',0,NULL,NULL,1),(4071,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','160',4070,'Deudas a largo plazo con entidades de crédito vinculadas',0,NULL,NULL,1),(4072,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1603',4071,'Deudas a largo plazo con entidades de crédito empresas del grupo',0,NULL,NULL,1),(4073,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1604',4071,'Deudas a largo plazo con entidades de crédito empresas asociadas',0,NULL,NULL,1),(4074,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1605',4071,'Deudas a largo plazo con otras entidades de crédito vinculadas',0,NULL,NULL,1),(4075,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','161',4070,'Proveedores de inmovilizado a largo plazo partes vinculadas',0,NULL,NULL,1),(4076,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1613',4075,'Proveedores de inmovilizado a largo plazo empresas del grupo',0,NULL,NULL,1),(4077,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1614',4075,'Proveedores de inmovilizado a largo plazo empresas asociadas',0,NULL,NULL,1),(4078,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1615',4075,'Proveedores de inmovilizado a largo plazo otras partes vinculadas',0,NULL,NULL,1),(4079,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','162',4070,'Acreedores por arrendamiento financiero a largo plazo partes vinculadas',0,NULL,NULL,1),(4080,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1623',4079,'Acreedores por arrendamiento financiero a largo plazo empresas del grupo',0,NULL,NULL,1),(4081,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1624',4080,'Acreedores por arrendamiento financiero a largo plazo empresas asociadas',0,NULL,NULL,1),(4082,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1625',4080,'Acreedores por arrendamiento financiero a largo plazo otras partes vinculadas',0,NULL,NULL,1),(4083,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','163',4070,'Otras deudas a largo plazo con partes vinculadas',0,NULL,NULL,1),(4084,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1633',4083,'Otras deudas a largo plazo empresas del grupo',0,NULL,NULL,1),(4085,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1634',4083,'Otras deudas a largo plazo empresas asociadas',0,NULL,NULL,1),(4086,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','1635',4083,'Otras deudas a largo plazo otras partes vinculadas',0,NULL,NULL,1),(4087,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','17',4001,'Deudas a largo plazo por préstamos recibidos empresitos y otros conceptos',0,NULL,NULL,1),(4088,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','170',4087,'Deudas a largo plazo con entidades de crédito',0,NULL,NULL,1),(4089,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','171',4087,'Deudas a largo plazo',0,NULL,NULL,1),(4090,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','172',4087,'Deudas a largo plazo transformables en suvbenciones donaciones y legados',0,NULL,NULL,1),(4091,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','173',4087,'Proveedores de inmovilizado a largo plazo',0,NULL,NULL,1),(4092,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','174',4087,'Acreedores por arrendamiento financiero a largo plazo',0,NULL,NULL,1),(4093,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','175',4087,'Efectos a pagar a largo plazo',0,NULL,NULL,1),(4094,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','176',4087,'Pasivos por derivados financieros a largo plazo',0,NULL,NULL,1),(4095,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','177',4087,'Obligaciones y bonos',0,NULL,NULL,1),(4096,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','179',4087,'Deudas representadas en otros valores negociables',0,NULL,NULL,1),(4097,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','18',4001,'Pasivos por fianzas garantias y otros conceptos a largo plazo',0,NULL,NULL,1),(4098,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','180',4097,'Fianzas recibidas a largo plazo',0,NULL,NULL,1),(4099,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','181',4097,'Anticipos recibidos por ventas o prestaciones de servicios a largo plazo',0,NULL,NULL,1),(4100,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','185',4097,'Depositos recibidos a largo plazo',0,NULL,NULL,1),(4101,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','19',4001,'Situaciones transitorias de financiación',0,NULL,NULL,1),(4102,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','190',4101,'Acciones o participaciones emitidas',0,NULL,NULL,1),(4103,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','192',4101,'Suscriptores de acciones',0,NULL,NULL,1),(4104,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','194',4101,'Capital emitido pendiente de inscripción',0,NULL,NULL,1),(4105,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','195',4101,'Acciones o participaciones emitidas consideradas como pasivos financieros',0,NULL,NULL,1),(4106,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','197',4101,'Suscriptores de acciones consideradas como pasivos financieros',0,NULL,NULL,1),(4107,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','FINANCIACION','XXXXXX','199',4101,'Acciones o participaciones emitidas consideradas como pasivos financieros pendientes de inscripción',0,NULL,NULL,1),(4108,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','20',4002,'Inmovilizaciones intangibles',0,NULL,NULL,1),(4109,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','200',4108,'Investigación',0,NULL,NULL,1),(4110,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','201',4108,'Desarrollo',0,NULL,NULL,1),(4111,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','202',4108,'Concesiones administrativas',0,NULL,NULL,1),(4112,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','203',4108,'Propiedad industrial',0,NULL,NULL,1),(4113,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','205',4108,'Derechos de transpaso',0,NULL,NULL,1),(4114,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','206',4108,'Aplicaciones informáticas',0,NULL,NULL,1),(4115,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','209',4108,'Anticipos para inmovilizaciones intangibles',0,NULL,NULL,1),(4116,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','21',4002,'Inmovilizaciones materiales',0,NULL,NULL,1),(4117,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','210',4116,'Terrenos y bienes naturales',0,NULL,NULL,1),(4118,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','211',4116,'Construcciones',0,NULL,NULL,1),(4119,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','212',4116,'Instalaciones técnicas',0,NULL,NULL,1),(4120,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','213',4116,'Maquinaria',0,NULL,NULL,1),(4121,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','214',4116,'Utillaje',0,NULL,NULL,1),(4122,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','215',4116,'Otras instalaciones',0,NULL,NULL,1),(4123,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','216',4116,'Mobiliario',0,NULL,NULL,1),(4124,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','217',4116,'Equipos para procesos de información',0,NULL,NULL,1),(4125,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','218',4116,'Elementos de transporte',0,NULL,NULL,1),(4126,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','219',4116,'Otro inmovilizado material',0,NULL,NULL,1),(4127,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','22',4002,'Inversiones inmobiliarias',0,NULL,NULL,1),(4128,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','220',4127,'Inversiones en terreons y bienes naturales',0,NULL,NULL,1),(4129,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','221',4127,'Inversiones en construcciones',0,NULL,NULL,1),(4130,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','23',4002,'Inmovilizaciones materiales en curso',0,NULL,NULL,1),(4131,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','230',4130,'Adaptación de terrenos y bienes naturales',0,NULL,NULL,1),(4132,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','231',4130,'Construcciones en curso',0,NULL,NULL,1),(4133,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','232',4130,'Instalaciones técnicas en montaje',0,NULL,NULL,1),(4134,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','233',4130,'Maquinaria en montaje',0,NULL,NULL,1),(4135,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','237',4130,'Equipos para procesos de información en montaje',0,NULL,NULL,1),(4136,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','239',4130,'Anticipos para inmovilizaciones materiales',0,NULL,NULL,1),(4137,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','24',4002,'Inversiones financieras a largo plazo en partes vinculadas',0,NULL,NULL,1),(4138,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','240',4137,'Participaciones a largo plazo en partes vinculadas',0,NULL,NULL,1),(4139,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2403',4138,'Participaciones a largo plazo en empresas del grupo',0,NULL,NULL,1),(4140,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2404',4138,'Participaciones a largo plazo en empresas asociadas',0,NULL,NULL,1),(4141,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2405',4138,'Participaciones a largo plazo en otras partes vinculadas',0,NULL,NULL,1),(4142,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','241',4137,'Valores representativos de deuda a largo plazo de partes vinculadas',0,NULL,NULL,1),(4143,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2413',4142,'Valores representativos de deuda a largo plazo de empresas del grupo',0,NULL,NULL,1),(4144,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2414',4142,'Valores representativos de deuda a largo plazo de empresas asociadas',0,NULL,NULL,1),(4145,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2415',4142,'Valores representativos de deuda a largo plazo de otras partes vinculadas',0,NULL,NULL,1),(4146,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','242',4137,'Créditos a largo plazo a partes vinculadas',0,NULL,NULL,1),(4147,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2423',4146,'Créditos a largo plazo a empresas del grupo',0,NULL,NULL,1),(4148,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2424',4146,'Créditos a largo plazo a empresas asociadas',0,NULL,NULL,1),(4149,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2425',4146,'Créditos a largo plazo a otras partes vinculadas',0,NULL,NULL,1),(4150,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','249',4137,'Desembolsos pendientes sobre participaciones a largo plazo en partes vinculadas',0,NULL,NULL,1),(4151,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2493',4150,'Desembolsos pendientes sobre participaciones a largo plazo en empresas del grupo',0,NULL,NULL,1),(4152,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2494',4150,'Desembolsos pendientes sobre participaciones a largo plazo en empresas asociadas',0,NULL,NULL,1),(4153,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2495',4150,'Desembolsos pendientes sobre participaciones a largo plazo en otras partes vinculadas',0,NULL,NULL,1),(4154,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','25',4002,'Otras inversiones financieras a largo plazo',0,NULL,NULL,1),(4155,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','250',4154,'Inversiones financieras a largo plazo en instrumentos de patrimonio',0,NULL,NULL,1),(4156,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','251',4154,'Valores representativos de deuda a largo plazo',0,NULL,NULL,1),(4157,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','252',4154,'Créditos a largo plazo',0,NULL,NULL,1),(4158,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','253',4154,'Créditos a largo plazo por enajenación de inmovilizado',0,NULL,NULL,1),(4159,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','254',4154,'Créditos a largo plazo al personal',0,NULL,NULL,1),(4160,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','255',4154,'Activos por derivados financieros a largo plazo',0,NULL,NULL,1),(4161,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','258',4154,'Imposiciones a largo plazo',0,NULL,NULL,1),(4162,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','259',4154,'Desembolsos pendientes sobre participaciones en el patrimonio neto a largo plazo',0,NULL,NULL,1),(4163,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','26',4002,'Fianzas y depósitos constituidos a largo plazo',0,NULL,NULL,1),(4164,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','260',4163,'Fianzas constituidas a largo plazo',0,NULL,NULL,1),(4165,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','261',4163,'Depósitos constituidos a largo plazo',0,NULL,NULL,1),(4166,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','28',4002,'Amortización acumulada del inmovilizado',0,NULL,NULL,1),(4167,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','280',4166,'Amortización acumulado del inmovilizado intangible',0,NULL,NULL,1),(4168,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2800',4167,'Amortización acumulada de investigación',0,NULL,NULL,1),(4169,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2801',4167,'Amortización acumulada de desarrollo',0,NULL,NULL,1),(4170,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2802',4167,'Amortización acumulada de concesiones administrativas',0,NULL,NULL,1),(4171,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2803',4167,'Amortización acumulada de propiedad industrial',0,NULL,NULL,1),(4172,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2805',4167,'Amortización acumulada de derechos de transpaso',0,NULL,NULL,1),(4173,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2806',4167,'Amortización acumulada de aplicaciones informáticas',0,NULL,NULL,1),(4174,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','281',4166,'Amortización acumulado del inmovilizado material',0,NULL,NULL,1),(4175,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2811',4174,'Amortización acumulada de construcciones',0,NULL,NULL,1),(4176,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2812',4174,'Amortización acumulada de instalaciones técnicas',0,NULL,NULL,1),(4177,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2813',4174,'Amortización acumulada de maquinaria',0,NULL,NULL,1),(4178,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2814',4174,'Amortización acumulada de utillaje',0,NULL,NULL,1),(4179,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2815',4174,'Amortización acumulada de otras instalaciones',0,NULL,NULL,1),(4180,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2816',4174,'Amortización acumulada de mobiliario',0,NULL,NULL,1),(4181,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2817',4174,'Amortización acumulada de equipos para proceso de información',0,NULL,NULL,1),(4182,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2818',4174,'Amortización acumulada de elementos de transporte',0,NULL,NULL,1),(4183,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2819',4175,'Amortización acumulada de otro inmovilizado material',0,NULL,NULL,1),(4184,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','282',4166,'Amortización acumulada de las inversiones inmobiliarias',0,NULL,NULL,1),(4185,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','29',4002,'Deterioro de valor de activos no corrientes',0,NULL,NULL,1),(4186,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','290',4185,'Deterioro de valor del inmovilizado intangible',0,NULL,NULL,1),(4187,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2900',4186,'Deterioro de valor de investigación',0,NULL,NULL,1),(4188,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2901',4186,'Deterioro de valor de desarrollo',0,NULL,NULL,1),(4189,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2902',4186,'Deterioro de valor de concesiones administrativas',0,NULL,NULL,1),(4190,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2903',4186,'Deterioro de valor de propiedad industrial',0,NULL,NULL,1),(4191,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2905',4186,'Deterioro de valor de derechos de transpaso',0,NULL,NULL,1),(4192,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2906',4186,'Deterioro de valor de aplicaciones informáticas',0,NULL,NULL,1),(4193,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','291',4185,'Deterioro de valor del inmovilizado material',0,NULL,NULL,1),(4194,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2910',4193,'Deterioro de valor de terrenos y bienes naturales',0,NULL,NULL,1),(4195,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2911',4193,'Deterioro de valor de construcciones',0,NULL,NULL,1),(4196,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2912',4193,'Deterioro de valor de instalaciones técnicas',0,NULL,NULL,1),(4197,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2913',4193,'Deterioro de valor de maquinaria',0,NULL,NULL,1),(4198,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2914',4193,'Deterioro de valor de utillajes',0,NULL,NULL,1),(4199,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2915',4194,'Deterioro de valor de otras instalaciones',0,NULL,NULL,1),(4200,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2916',4194,'Deterioro de valor de mobiliario',0,NULL,NULL,1),(4201,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2917',4194,'Deterioro de valor de equipos para proceso de información',0,NULL,NULL,1),(4202,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2918',4194,'Deterioro de valor de elementos de transporte',0,NULL,NULL,1),(4203,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2919',4194,'Deterioro de valor de otro inmovilizado material',0,NULL,NULL,1),(4204,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','292',4185,'Deterioro de valor de las inversiones inmobiliarias',0,NULL,NULL,1),(4205,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2920',4204,'Deterioro de valor de terrenos y bienes naturales',0,NULL,NULL,1),(4206,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2921',4204,'Deterioro de valor de construcciones',0,NULL,NULL,1),(4207,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','293',4185,'Deterioro de valor de participaciones a largo plazo en partes vinculadas',0,NULL,NULL,1),(4208,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2933',4207,'Deterioro de valor de participaciones a largo plazo en empresas del grupo',0,NULL,NULL,1),(4209,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2934',4207,'Deterioro de valor de sobre participaciones a largo plazo en empresas asociadas',0,NULL,NULL,1),(4210,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2935',4207,'Deterioro de valor de sobre participaciones a largo plazo en otras partes vinculadas',0,NULL,NULL,1),(4211,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','294',4185,'Deterioro de valor de valores representativos de deuda a largo plazo en partes vinculadas',0,NULL,NULL,1),(4212,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2943',4211,'Deterioro de valor de valores representativos de deuda a largo plazo en empresas del grupo',0,NULL,NULL,1),(4213,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2944',4211,'Deterioro de valor de valores representativos de deuda a largo plazo en empresas asociadas',0,NULL,NULL,1),(4214,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2945',4211,'Deterioro de valor de valores representativos de deuda a largo plazo en otras partes vinculadas',0,NULL,NULL,1),(4215,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','295',4185,'Deterioro de valor de créditos a largo plazo a partes vinculadas',0,NULL,NULL,1),(4216,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2953',4215,'Deterioro de valor de créditos a largo plazo a empresas del grupo',0,NULL,NULL,1),(4217,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2954',4215,'Deterioro de valor de créditos a largo plazo a empresas asociadas',0,NULL,NULL,1),(4218,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','2955',4215,'Deterioro de valor de créditos a largo plazo a otras partes vinculadas',0,NULL,NULL,1),(4219,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','296',4185,'Deterioro de valor de participaciones en el patrimonio netoa largo plazo',0,NULL,NULL,1),(4220,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','297',4185,'Deterioro de valor de valores representativos de deuda a largo plazo',0,NULL,NULL,1),(4221,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACTIVO','XXXXXX','298',4185,'Deterioro de valor de créditos a largo plazo',0,NULL,NULL,1),(4222,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','30',4003,'Comerciales',0,NULL,NULL,1),(4223,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','300',4222,'Mercaderías A',0,NULL,NULL,1),(4224,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','301',4222,'Mercaderías B',0,NULL,NULL,1),(4225,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','31',4003,'Materias primas',0,NULL,NULL,1),(4226,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','310',4225,'Materias primas A',0,NULL,NULL,1),(4227,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','311',4225,'Materias primas B',0,NULL,NULL,1),(4228,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','32',4003,'Otros aprovisionamientos',0,NULL,NULL,1),(4229,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','320',4228,'Elementos y conjuntos incorporables',0,NULL,NULL,1),(4230,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','321',4228,'Combustibles',0,NULL,NULL,1),(4231,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','322',4228,'Repuestos',0,NULL,NULL,1),(4232,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','325',4228,'Materiales diversos',0,NULL,NULL,1),(4233,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','326',4228,'Embalajes',0,NULL,NULL,1),(4234,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','327',4228,'Envases',0,NULL,NULL,1),(4235,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','328',4229,'Material de oficina',0,NULL,NULL,1),(4236,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','33',4003,'Productos en curso',0,NULL,NULL,1),(4237,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','330',4236,'Productos en curos A',0,NULL,NULL,1),(4238,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','331',4236,'Productos en curso B',0,NULL,NULL,1),(4239,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','34',4003,'Productos semiterminados',0,NULL,NULL,1),(4240,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','340',4239,'Productos semiterminados A',0,NULL,NULL,1),(4241,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','341',4239,'Productos semiterminados B',0,NULL,NULL,1),(4242,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','35',4003,'Productos terminados',0,NULL,NULL,1),(4243,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','350',4242,'Productos terminados A',0,NULL,NULL,1),(4244,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','351',4242,'Productos terminados B',0,NULL,NULL,1),(4245,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','36',4003,'Subproductos, residuos y materiales recuperados',0,NULL,NULL,1),(4246,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','360',4245,'Subproductos A',0,NULL,NULL,1),(4247,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','361',4245,'Subproductos B',0,NULL,NULL,1),(4248,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','365',4245,'Residuos A',0,NULL,NULL,1),(4249,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','366',4245,'Residuos B',0,NULL,NULL,1),(4250,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','368',4245,'Materiales recuperados A',0,NULL,NULL,1),(4251,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','369',4245,'Materiales recuperados B',0,NULL,NULL,1),(4252,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','39',4003,'Deterioro de valor de las existencias',0,NULL,NULL,1),(4253,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','390',4252,'Deterioro de valor de las mercaderías',0,NULL,NULL,1),(4254,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','391',4252,'Deterioro de valor de las materias primas',0,NULL,NULL,1),(4255,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','392',4252,'Deterioro de valor de otros aprovisionamientos',0,NULL,NULL,1),(4256,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','393',4252,'Deterioro de valor de los productos en curso',0,NULL,NULL,1),(4257,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','394',4252,'Deterioro de valor de los productos semiterminados',0,NULL,NULL,1),(4258,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','395',4252,'Deterioro de valor de los productos terminados',0,NULL,NULL,1),(4259,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','EXISTENCIAS','XXXXXX','396',4252,'Deterioro de valor de los subproductos, residuos y materiales recuperados',0,NULL,NULL,1),(4260,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','PROVEEDORES','40',4004,'Proveedores',0,NULL,NULL,1),(4261,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','PROVEEDORES','400',4260,'Proveedores',0,NULL,NULL,1),(4262,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4000',4261,'Proveedores euros',0,NULL,NULL,1),(4263,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4004',4261,'Proveedores moneda extranjera',0,NULL,NULL,1),(4264,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4009',4261,'Proveedores facturas pendientes de recibir o formalizar',0,NULL,NULL,1),(4265,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','401',4260,'Proveedores efectos comerciales a pagar',0,NULL,NULL,1),(4266,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','403',4260,'Proveedores empresas del grupo',0,NULL,NULL,1),(4267,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4030',4266,'Proveedores empresas del grupo euros',0,NULL,NULL,1),(4268,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4031',4266,'Efectos comerciales a pagar empresas del grupo',0,NULL,NULL,1),(4269,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4034',4266,'Proveedores empresas del grupo moneda extranjera',0,NULL,NULL,1),(4270,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4036',4266,'Envases y embalajes a devolver a proveedores empresas del grupo',0,NULL,NULL,1),(4271,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4039',4266,'Proveedores empresas del grupo facturas pendientes de recibir o de formalizar',0,NULL,NULL,1),(4272,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','404',4260,'Proveedores empresas asociadas',0,NULL,NULL,1),(4273,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','405',4260,'Proveedores otras partes vinculadas',0,NULL,NULL,1),(4274,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','406',4260,'Envases y embalajes a devolver a proveedores',0,NULL,NULL,1),(4275,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','407',4260,'Anticipos a proveedores',0,NULL,NULL,1),(4276,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','41',4004,'Acreedores varios',0,NULL,NULL,1),(4277,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','410',4276,'Acreedores por prestaciones de servicios',0,NULL,NULL,1),(4278,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4100',4277,'Acreedores por prestaciones de servicios euros',0,NULL,NULL,1),(4279,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4104',4277,'Acreedores por prestaciones de servicios moneda extranjera',0,NULL,NULL,1),(4280,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4109',4277,'Acreedores por prestaciones de servicios facturas pendientes de recibir o formalizar',0,NULL,NULL,1),(4281,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','411',4276,'Acreedores efectos comerciales a pagar',0,NULL,NULL,1),(4282,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','419',4276,'Acreedores por operaciones en común',0,NULL,NULL,1),(4283,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','CLIENTES','43',4004,'Clientes',0,NULL,NULL,1),(4284,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','CLIENTES','430',4283,'Clientes',0,NULL,NULL,1),(4285,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4300',4284,'Clientes euros',0,NULL,NULL,1),(4286,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4304',4284,'Clientes moneda extranjera',0,NULL,NULL,1),(4287,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4309',4284,'Clientes facturas pendientes de formalizar',0,NULL,NULL,1),(4288,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','431',4283,'Clientes efectos comerciales a cobrar',0,NULL,NULL,1),(4289,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4310',4288,'Efectos comerciales en cartera',0,NULL,NULL,1),(4290,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4311',4288,'Efectos comerciales descontados',0,NULL,NULL,1),(4291,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4312',4288,'Efectos comerciales en gestión de cobro',0,NULL,NULL,1),(4292,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4315',4288,'Efectos comerciales impagados',0,NULL,NULL,1),(4293,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','432',4283,'Clientes operaciones de factoring',0,NULL,NULL,1),(4294,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','433',4283,'Clientes empresas del grupo',0,NULL,NULL,1),(4295,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4330',4294,'Clientes empresas del grupo euros',0,NULL,NULL,1),(4296,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4331',4294,'Efectos comerciales a cobrar empresas del grupo',0,NULL,NULL,1),(4297,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4332',4294,'Clientes empresas del grupo operaciones de factoring',0,NULL,NULL,1),(4298,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4334',4294,'Clientes empresas del grupo moneda extranjera',0,NULL,NULL,1),(4299,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4336',4294,'Clientes empresas del grupo dudoso cobro',0,NULL,NULL,1),(4300,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4337',4294,'Envases y embalajes a devolver a clientes empresas del grupo',0,NULL,NULL,1),(4301,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4339',4294,'Clientes empresas del grupo facturas pendientes de formalizar',0,NULL,NULL,1),(4302,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','434',4283,'Clientes empresas asociadas',0,NULL,NULL,1),(4303,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','435',4283,'Clientes otras partes vinculadas',0,NULL,NULL,1),(4304,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','436',4283,'Clientes de dudoso cobro',0,NULL,NULL,1),(4305,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','437',4283,'Envases y embalajes a devolver por clientes',0,NULL,NULL,1),(4306,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','438',4283,'Anticipos de clientes',0,NULL,NULL,1),(4307,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','44',4004,'Deudores varios',0,NULL,NULL,1),(4308,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','440',4307,'Deudores',0,NULL,NULL,1),(4309,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4400',4308,'Deudores euros',0,NULL,NULL,1),(4310,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4404',4308,'Deudores moneda extranjera',0,NULL,NULL,1),(4311,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4409',4308,'Deudores facturas pendientes de formalizar',0,NULL,NULL,1),(4312,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','441',4307,'Deudores efectos comerciales a cobrar',0,NULL,NULL,1),(4313,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4410',4312,'Deudores efectos comerciales en cartera',0,NULL,NULL,1),(4314,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4411',4312,'Deudores efectos comerciales descontados',0,NULL,NULL,1),(4315,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4412',4312,'Deudores efectos comerciales en gestión de cobro',0,NULL,NULL,1),(4316,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4415',4312,'Deudores efectos comerciales impagados',0,NULL,NULL,1),(4317,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','446',4307,'Deudores de dusoso cobro',0,NULL,NULL,1),(4318,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','449',4307,'Deudores por operaciones en común',0,NULL,NULL,1),(4319,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','46',4004,'Personal',0,NULL,NULL,1),(4320,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','460',4319,'Anticipos de renumeraciones',0,NULL,NULL,1),(4321,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','465',4319,'Renumeraciones pendientes de pago',0,NULL,NULL,1),(4322,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','47',4004,'Administraciones Públicas',0,NULL,NULL,1),(4323,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','470',4322,'Hacienda Pública deudora por diversos conceptos',0,NULL,NULL,1),(4324,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4700',4323,'Hacienda Pública deudora por IVA',0,NULL,NULL,1),(4325,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4708',4323,'Hacienda Pública deudora por subvenciones concedidas',0,NULL,NULL,1),(4326,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4709',4323,'Hacienda Pública deudora por devolución de impuestos',0,NULL,NULL,1),(4327,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','471',4322,'Organismos de la Seguridad Social deudores',0,NULL,NULL,1),(4328,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','472',4322,'Hacienda Pública IVA soportado',0,NULL,NULL,1),(4329,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','473',4322,'Hacienda Pública retenciones y pagos a cuenta',0,NULL,NULL,1),(4330,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','474',4322,'Activos por impuesto diferido',0,NULL,NULL,1),(4331,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4740',4330,'Activos por diferencias temporarias deducibles',0,NULL,NULL,1),(4332,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4742',4330,'Derechos por deducciones y bonificaciones pendientes de aplicar',0,NULL,NULL,1),(4333,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4745',4330,'Crédito por pérdidasa compensar del ejercicio',0,NULL,NULL,1),(4334,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','475',4322,'Hacienda Pública acreedora por conceptos fiscales',0,NULL,NULL,1),(4335,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4750',4334,'Hacienda Pública acreedora por IVA',0,NULL,NULL,1),(4336,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4751',4334,'Hacienda Pública acreedora por retenciones practicadas',0,NULL,NULL,1),(4337,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4752',4334,'Hacienda Pública acreedora por impuesto sobre sociedades',0,NULL,NULL,1),(4338,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4758',4334,'Hacienda Pública acreedora por subvenciones a integrar',0,NULL,NULL,1),(4339,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','476',4322,'Organismos de la Seguridad Social acreedores',0,NULL,NULL,1),(4340,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','477',4322,'Hacienda Pública IVA repercutido',0,NULL,NULL,1),(4341,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','479',4322,'Pasivos por diferencias temporarias imponibles',0,NULL,NULL,1),(4342,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','48',4004,'Ajustes por periodificación',0,NULL,NULL,1),(4343,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','480',4342,'Gastos anticipados',0,NULL,NULL,1),(4344,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','485',4342,'Ingresos anticipados',0,NULL,NULL,1),(4345,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','49',4004,'Deterioro de valor de créditos comerciales y provisiones a corto plazo',0,NULL,NULL,1),(4346,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','490',4345,'Deterioro de valor de créditos por operaciones comerciales',0,NULL,NULL,1),(4347,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','493',4345,'Deterioro de valor de créditos por operaciones comerciales con partes vinculadas',0,NULL,NULL,1),(4348,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4933',4347,'Deterioro de valor de créditos por operaciones comerciales con empresas del grupo',0,NULL,NULL,1),(4349,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4934',4347,'Deterioro de valor de créditos por operaciones comerciales con empresas asociadas',0,NULL,NULL,1),(4350,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4935',4347,'Deterioro de valor de créditos por operaciones comerciales con otras partes vinculadas',0,NULL,NULL,1),(4351,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','499',4345,'Provisiones por operaciones comerciales',0,NULL,NULL,1),(4352,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4994',4351,'Provisión para contratos anerosos',0,NULL,NULL,1),(4353,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','ACREEDORES_DEUDORES','XXXXXX','4999',4351,'Provisión para otras operaciones comerciales',0,NULL,NULL,1),(4354,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','50',4005,'Emprésitos deudas con características especiales y otras emisiones análogas a corto plazo',0,NULL,NULL,1),(4355,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','500',4354,'Obligaciones y bonos a corto plazo',0,NULL,NULL,1),(4356,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','502',4354,'Acciones o participaciones a corto plazo consideradas como pasivos financieros',0,NULL,NULL,1),(4357,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','505',4354,'Deudas representadas en otros valores negociables a corto plazo',0,NULL,NULL,1),(4358,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','506',4354,'Intereses a corto plazo de emprésitos y otras emisiones analógicas',0,NULL,NULL,1),(4359,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','507',4354,'Dividendos de acciones o participaciones consideradas como pasivos financieros',0,NULL,NULL,1),(4360,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','509',4354,'Valores negociables amortizados',0,NULL,NULL,1),(4361,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5090',4360,'Obligaciones y bonos amortizados',0,NULL,NULL,1),(4362,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5095',4360,'Otros valores negociables amortizados',0,NULL,NULL,1),(4363,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','51',4005,'Deudas a corto plazo con partes vinculadas',0,NULL,NULL,1),(4364,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','510',4363,'Deudas a corto plazo con entidades de crédito vinculadas',0,NULL,NULL,1),(4365,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5103',4364,'Deudas a corto plazo con entidades de crédito empresas del grupo',0,NULL,NULL,1),(4366,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5104',4364,'Deudas a corto plazo con entidades de crédito empresas asociadas',0,NULL,NULL,1),(4367,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5105',4364,'Deudas a corto plazo con otras entidades de crédito vinculadas',0,NULL,NULL,1),(4368,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','511',4363,'Proveedores de inmovilizado a corto plazo partes vinculadas',0,NULL,NULL,1),(4369,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5113',4368,'Proveedores de inmovilizado a corto plazo empresas del grupo',0,NULL,NULL,1),(4370,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5114',4368,'Proveedores de inmovilizado a corto plazo empresas asociadas',0,NULL,NULL,1),(4371,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5115',4368,'Proveedores de inmovilizado a corto plazo otras partes vinculadas',0,NULL,NULL,1),(4372,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','512',4363,'Acreedores por arrendamiento financiero a corto plazo partes vinculadas',0,NULL,NULL,1),(4373,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5123',4372,'Acreedores por arrendamiento financiero a corto plazo empresas del grupo',0,NULL,NULL,1),(4374,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5124',4372,'Acreedores por arrendamiento financiero a corto plazo empresas asociadas',0,NULL,NULL,1),(4375,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5125',4372,'Acreedores por arrendamiento financiero a corto plazo otras partes vinculadas',0,NULL,NULL,1),(4376,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','513',4363,'Otras deudas a corto plazo con partes vinculadas',0,NULL,NULL,1),(4377,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5133',4376,'Otras deudas a corto plazo con empresas del grupo',0,NULL,NULL,1),(4378,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5134',4376,'Otras deudas a corto plazo con empresas asociadas',0,NULL,NULL,1),(4379,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5135',4376,'Otras deudas a corto plazo con partes vinculadas',0,NULL,NULL,1),(4380,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','514',4363,'Intereses a corto plazo con partes vinculadas',0,NULL,NULL,1),(4381,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5143',4380,'Intereses a corto plazo empresas del grupo',0,NULL,NULL,1),(4382,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5144',4380,'Intereses a corto plazo empresas asociadas',0,NULL,NULL,1),(4383,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5145',4380,'Intereses deudas a corto plazo partes vinculadas',0,NULL,NULL,1),(4384,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','52',4005,'Deudas a corto plazo por préstamos recibidos y otros conceptos',0,NULL,NULL,1),(4385,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','520',4384,'Deudas a corto plazo con entidades de crédito',0,NULL,NULL,1),(4386,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5200',4385,'Préstamos a corto plazo de entidades de crédito',0,NULL,NULL,1),(4387,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5201',4385,'Deudas a corto plazo por crédito dispuesto',0,NULL,NULL,1),(4388,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5208',4385,'Deudas por efectos descontados',0,NULL,NULL,1),(4389,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5209',4385,'Deudas por operaciones de factoring',0,NULL,NULL,1),(4390,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','521',4384,'Deudas a corto plazo',0,NULL,NULL,1),(4391,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','522',4384,'Deudas a corto plazo transformables en subvenciones donaciones y legados',0,NULL,NULL,1),(4392,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','523',4384,'Proveedores de inmovilizado a corto plazo',0,NULL,NULL,1),(4393,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','526',4384,'Dividendo activo a pagar',0,NULL,NULL,1),(4394,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','527',4384,'Intereses a corto plazo de deudas con entidades de crédito',0,NULL,NULL,1),(4395,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','528',4384,'Intereses a corto plazo de deudas',0,NULL,NULL,1),(4396,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','529',4384,'Provisiones a corto plazo',0,NULL,NULL,1),(4397,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5291',4396,'Provisión a corto plazo para impuestos',0,NULL,NULL,1),(4398,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5292',4396,'Provisión a corto plazo para otras responsabilidades',0,NULL,NULL,1),(4399,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5293',4396,'Provisión a corto plazo por desmantelamiento retiro o rehabilitación del inmovilizado',0,NULL,NULL,1),(4400,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5295',4396,'Provisión a corto plazo para actuaciones medioambientales',0,NULL,NULL,1),(4401,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','53',4005,'Inversiones financieras a corto plazo en partes vinculadas',0,NULL,NULL,1),(4402,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','530',4401,'Participaciones a corto plazo en partes vinculadas',0,NULL,NULL,1),(4403,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5303',4402,'Participaciones a corto plazo en empresas del grupo',0,NULL,NULL,1),(4404,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5304',4402,'Participaciones a corto plazo en empresas asociadas',0,NULL,NULL,1),(4405,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5305',4402,'Participaciones a corto plazo en otras partes vinculadas',0,NULL,NULL,1),(4406,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','531',4401,'Valores representativos de deuda a corto plazo de partes vinculadas',0,NULL,NULL,1),(4407,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5313',4406,'Valores representativos de deuda a corto plazo de empresas del grupo',0,NULL,NULL,1),(4408,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5314',4406,'Valores representativos de deuda a corto plazo de empresas asociadas',0,NULL,NULL,1),(4409,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5315',4406,'Valores representativos de deuda a corto plazo de otras partes vinculadas',0,NULL,NULL,1),(4410,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','532',4401,'Créditos a corto plazo a partes vinculadas',0,NULL,NULL,1),(4411,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5323',4410,'Créditos a corto plazo a empresas del grupo',0,NULL,NULL,1),(4412,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5324',4410,'Créditos a corto plazo a empresas asociadas',0,NULL,NULL,1),(4413,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5325',4410,'Créditos a corto plazo a otras partes vinculadas',0,NULL,NULL,1),(4414,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','533',4401,'Intereses a corto plazo de valores representativos de deuda de partes vinculadas',0,NULL,NULL,1),(4415,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5333',4414,'Intereses a corto plazo de valores representativos de deuda en empresas del grupo',0,NULL,NULL,1),(4416,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5334',4414,'Intereses a corto plazo de valores representativos de deuda en empresas asociadas',0,NULL,NULL,1),(4417,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5335',4414,'Intereses a corto plazo de valores representativos de deuda en otras partes vinculadas',0,NULL,NULL,1),(4418,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','534',4401,'Intereses a corto plazo de créditos a partes vinculadas',0,NULL,NULL,1),(4419,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5343',4418,'Intereses a corto plazo de créditos a empresas del grupo',0,NULL,NULL,1),(4420,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5344',4418,'Intereses a corto plazo de créditos a empresas asociadas',0,NULL,NULL,1),(4421,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5345',4418,'Intereses a corto plazo de créditos a otras partes vinculadas',0,NULL,NULL,1),(4422,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','535',4401,'Dividendo a cobrar de inversiones financieras en partes vinculadas',0,NULL,NULL,1),(4423,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5353',4422,'Dividendo a cobrar de empresas del grupo',0,NULL,NULL,1),(4424,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5354',4422,'Dividendo a cobrar de empresas asociadas',0,NULL,NULL,1),(4425,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5355',4422,'Dividendo a cobrar de otras partes vinculadas',0,NULL,NULL,1),(4426,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','539',4401,'Desembolsos pendientes sobre participaciones a corto plazo en partes vinculadas',0,NULL,NULL,1),(4427,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5393',4426,'Desembolsos pendientes sobre participaciones a corto plazo en empresas del grupo',0,NULL,NULL,1),(4428,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5394',4426,'Desembolsos pendientes sobre participaciones a corto plazo en empresas asociadas',0,NULL,NULL,1),(4429,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5395',4426,'Desembolsos pendientes sobre participaciones a corto plazo en otras partes vinculadas',0,NULL,NULL,1),(4430,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','54',4005,'Otras inversiones financieras a corto plazo',0,NULL,NULL,1),(4431,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','540',4430,'Inversiones financieras a corto plazo en instrumentos de patrimonio',0,NULL,NULL,1),(4432,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','541',4430,'Valores representativos de deuda a corto plazo',0,NULL,NULL,1),(4433,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','542',4430,'Créditos a corto plazo',0,NULL,NULL,1),(4434,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','543',4430,'Créditos a corto plazo por enejenación de inmovilizado',0,NULL,NULL,1),(4435,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','544',4430,'Créditos a corto plazo al personal',0,NULL,NULL,1),(4436,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','545',4430,'Dividendo a cobrar',0,NULL,NULL,1),(4437,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','546',4430,'Intereses a corto plazo de valores reprsentativos de deuda',0,NULL,NULL,1),(4438,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','547',4430,'Intereses a corto plazo de créditos',0,NULL,NULL,1),(4439,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','548',4430,'Imposiciones a corto plazo',0,NULL,NULL,1),(4440,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','549',4430,'Desembolsos pendientes sobre participaciones en el patrimonio neto a corto plazo',0,NULL,NULL,1),(4441,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','55',4005,'Otras cuentas no bancarias',0,NULL,NULL,1),(4442,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','550',4441,'Titular de la explotación',0,NULL,NULL,1),(4443,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','551',4441,'Cuenta corriente con socios y administradores',0,NULL,NULL,1),(4444,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','552',4441,'Cuenta corriente otras personas y entidades vinculadas',0,NULL,NULL,1),(4445,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5523',4444,'Cuenta corriente con empresas del grupo',0,NULL,NULL,1),(4446,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5524',4444,'Cuenta corriente con empresas asociadas',0,NULL,NULL,1),(4447,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5525',4444,'Cuenta corriente con otras partes vinculadas',0,NULL,NULL,1),(4448,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','554',4441,'Cuenta corriente con uniones temporales de empresas y comunidades de bienes',0,NULL,NULL,1),(4449,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','555',4441,'Partidas pendientes de aplicación',0,NULL,NULL,1),(4450,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','556',4441,'Desembolsos exigidos sobre participaciones en el patrimonio neto',0,NULL,NULL,1),(4451,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5563',4450,'Desembolsos exigidos sobre participaciones empresas del grupo',0,NULL,NULL,1),(4452,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5564',4450,'Desembolsos exigidos sobre participaciones empresas asociadas',0,NULL,NULL,1),(4453,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5565',4450,'Desembolsos exigidos sobre participaciones otras partes vinculadas',0,NULL,NULL,1),(4454,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5566',4450,'Desembolsos exigidos sobre participaciones otras empresas',0,NULL,NULL,1),(4455,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','557',4441,'Dividendo activo a cuenta',0,NULL,NULL,1),(4456,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','558',4441,'Socios por desembolsos exigidos',0,NULL,NULL,1),(4457,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5580',4456,'Socios por desembolsos exigidos sobre acciones o participaciones ordinarias',0,NULL,NULL,1),(4458,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5585',4456,'Socios por desembolsos exigidos sobre acciones o participaciones consideradas como pasivos financieros',0,NULL,NULL,1),(4459,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','559',4441,'Derivados financieros a corto plazo',0,NULL,NULL,1),(4460,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5590',4459,'Activos por derivados financieros a corto plazo',0,NULL,NULL,1),(4461,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5595',4459,'Pasivos por derivados financieros a corto plazo',0,NULL,NULL,1),(4462,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','56',4005,'Finanzas y depósitos recibidos y constituidos a corto plazo y ajustes por periodificación',0,NULL,NULL,1),(4463,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','560',4462,'Finanzas recibidas a corto plazo',0,NULL,NULL,1),(4464,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','561',4462,'Depósitos recibidos a corto plazo',0,NULL,NULL,1),(4465,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','565',4462,'Finanzas constituidas a corto plazo',0,NULL,NULL,1),(4466,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','566',4462,'Depósitos constituidos a corto plazo',0,NULL,NULL,1),(4467,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','567',4462,'Intereses pagados por anticipado',0,NULL,NULL,1),(4468,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','568',4462,'Intereses cobrados a corto plazo',0,NULL,NULL,1),(4469,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','57',4005,'Tesorería',0,NULL,NULL,1),(4470,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','CAJA','570',4469,'Caja euros',0,NULL,NULL,1),(4471,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','571',4469,'Caja moneda extranjera',0,NULL,NULL,1),(4472,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','BANCOS','572',4469,'Bancos e instituciones de crédito cc vista euros',0,NULL,NULL,1),(4473,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','573',4469,'Bancos e instituciones de crédito cc vista moneda extranjera',0,NULL,NULL,1),(4474,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','574',4469,'Bancos e instituciones de crédito cuentas de ahorro euros',0,NULL,NULL,1),(4475,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','575',4469,'Bancos e instituciones de crédito cuentas de ahorro moneda extranjera',0,NULL,NULL,1),(4476,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','576',4469,'Inversiones a corto plazo de gran liquidez',0,NULL,NULL,1),(4477,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','59',4005,'Deterioro del valor de las inversiones financieras a corto plazo',0,NULL,NULL,1),(4478,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','593',4477,'Deterioro del valor de participaciones a corto plazo en partes vinculadas',0,NULL,NULL,1),(4479,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5933',4478,'Deterioro del valor de participaciones a corto plazo en empresas del grupo',0,NULL,NULL,1),(4480,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5934',4478,'Deterioro del valor de participaciones a corto plazo en empresas asociadas',0,NULL,NULL,1),(4481,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5935',4478,'Deterioro del valor de participaciones a corto plazo en otras partes vinculadas',0,NULL,NULL,1),(4482,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','594',4477,'Deterioro del valor de valores representativos de deuda a corto plazo en partes vinculadas',0,NULL,NULL,1),(4483,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5943',4482,'Deterioro del valor de valores representativos de deuda a corto plazo en empresas del grupo',0,NULL,NULL,1),(4484,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5944',4482,'Deterioro del valor de valores representativos de deuda a corto plazo en empresas asociadas',0,NULL,NULL,1),(4485,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5945',4482,'Deterioro del valor de valores representativos de deuda a corto plazo en otras partes vinculadas',0,NULL,NULL,1),(4486,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','595',4477,'Deterioro del valor de créditos a corto plazo en partes vinculadas',0,NULL,NULL,1),(4487,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5953',4486,'Deterioro del valor de créditos a corto plazo en empresas del grupo',0,NULL,NULL,1),(4488,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5954',4486,'Deterioro del valor de créditos a corto plazo en empresas asociadas',0,NULL,NULL,1),(4489,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','5955',4486,'Deterioro del valor de créditos a corto plazo en otras partes vinculadas',0,NULL,NULL,1),(4490,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','596',4477,'Deterioro del valor de participaciones a corto plazo',0,NULL,NULL,1),(4491,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','597',4477,'Deterioro del valor de valores representativos de deuda a corto plazo',0,NULL,NULL,1),(4492,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','CUENTAS_FINANCIERAS','XXXXXX','598',4477,'Deterioro de valor de créditos a corto plazo',0,NULL,NULL,1),(4493,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','60',4006,'Compras',0,NULL,NULL,1),(4494,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','COMPRAS','600',4493,'Compras de mercaderías',0,NULL,NULL,1),(4495,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','COMPRAS','601',4493,'Compras de materias primas',0,NULL,NULL,1),(4496,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','602',4493,'Compras de otros aprovisionamientos',0,NULL,NULL,1),(4497,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','606',4493,'Descuentos sobre compras por pronto pago',0,NULL,NULL,1),(4498,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6060',4497,'Descuentos sobre compras por pronto pago de mercaderías',0,NULL,NULL,1),(4499,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6061',4497,'Descuentos sobre compras por pronto pago de materias primas',0,NULL,NULL,1),(4500,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6062',4497,'Descuentos sobre compras por pronto pago de otros aprovisionamientos',0,NULL,NULL,1),(4501,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','COMPRAS','607',4493,'Trabajos realizados por otras empresas',0,NULL,NULL,1),(4502,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','608',4493,'Devoluciones de compras y operaciones similares',0,NULL,NULL,1),(4503,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6080',4502,'Devoluciones de compras de mercaderías',0,NULL,NULL,1),(4504,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6081',4502,'Devoluciones de compras de materias primas',0,NULL,NULL,1),(4505,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6082',4502,'Devoluciones de compras de otros aprovisionamientos',0,NULL,NULL,1),(4506,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','609',4493,'Rappels por compras',0,NULL,NULL,1),(4507,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6090',4506,'Rappels por compras de mercaderías',0,NULL,NULL,1),(4508,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6091',4506,'Rappels por compras de materias primas',0,NULL,NULL,1),(4509,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6092',4506,'Rappels por compras de otros aprovisionamientos',0,NULL,NULL,1),(4510,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','61',4006,'Variación de existencias',0,NULL,NULL,1),(4511,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','610',4510,'Variación de existencias de mercaderías',0,NULL,NULL,1),(4512,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','611',4510,'Variación de existencias de materias primas',0,NULL,NULL,1),(4513,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','612',4510,'Variación de existencias de otros aprovisionamientos',0,NULL,NULL,1),(4514,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','62',4006,'Servicios exteriores',0,NULL,NULL,1),(4515,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','620',4514,'Gastos en investigación y desarrollo del ejercicio',0,NULL,NULL,1),(4516,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','621',4514,'Arrendamientos y cánones',0,NULL,NULL,1),(4517,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','622',4514,'Reparaciones y conservación',0,NULL,NULL,1),(4518,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','623',4514,'Servicios profesionales independientes',0,NULL,NULL,1),(4519,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','624',4514,'Transportes',0,NULL,NULL,1),(4520,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','625',4514,'Primas de seguros',0,NULL,NULL,1),(4521,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','626',4514,'Servicios bancarios y similares',0,NULL,NULL,1),(4522,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','627',4514,'Publicidad, propaganda y relaciones públicas',0,NULL,NULL,1),(4523,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','628',4514,'Suministros',0,NULL,NULL,1),(4524,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','629',4514,'Otros servicios',0,NULL,NULL,1),(4525,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','63',4006,'Tributos',0,NULL,NULL,1),(4526,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','630',4525,'Impuesto sobre benecifios',0,NULL,NULL,1),(4527,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6300',4526,'Impuesto corriente',0,NULL,NULL,1),(4528,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6301',4526,'Impuesto diferido',0,NULL,NULL,1),(4529,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','631',4525,'Otros tributos',0,NULL,NULL,1),(4530,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','633',4525,'Ajustes negativos en la imposición sobre beneficios',0,NULL,NULL,1),(4531,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','634',4525,'Ajustes negativos en la imposición indirecta',0,NULL,NULL,1),(4532,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6341',4531,'Ajustes negativos en IVA de activo corriente',0,NULL,NULL,1),(4533,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6342',4531,'Ajustes negativos en IVA de inversiones',0,NULL,NULL,1),(4534,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','636',4525,'Devolución de impuestos',0,NULL,NULL,1),(4535,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','638',4525,'Ajustes positivos en la imposición sobre beneficios',0,NULL,NULL,1),(4536,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','639',4525,'Ajustes positivos en la imposición directa',0,NULL,NULL,1),(4537,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6391',4536,'Ajustes positivos en IVA de activo corriente',0,NULL,NULL,1),(4538,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6392',4536,'Ajustes positivos en IVA de inversiones',0,NULL,NULL,1),(4539,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','64',4006,'Gastos de personal',0,NULL,NULL,1),(4540,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','640',4539,'Sueldos y salarios',0,NULL,NULL,1),(4541,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','641',4539,'Indemnizaciones',0,NULL,NULL,1),(4542,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','642',4539,'Seguridad social a cargo de la empresa',0,NULL,NULL,1),(4543,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','649',4539,'Otros gastos sociales',0,NULL,NULL,1),(4544,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','65',4006,'Otros gastos de gestión',0,NULL,NULL,1),(4545,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','650',4544,'Pérdidas de créditos comerciales incobrables',0,NULL,NULL,1),(4546,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','651',4544,'Resultados de operaciones en común',0,NULL,NULL,1),(4547,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6510',4546,'Beneficio transferido gestor',0,NULL,NULL,1),(4548,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6511',4546,'Pérdida soportada participe o asociado no gestor',0,NULL,NULL,1),(4549,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','659',4544,'Otras pérdidas en gestión corriente',0,NULL,NULL,1),(4550,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','66',4006,'Gastos financieros',0,NULL,NULL,1),(4551,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','660',4550,'Gastos financieros por actualización de provisiones',0,NULL,NULL,1),(4552,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','661',4550,'Intereses de obligaciones y bonos',0,NULL,NULL,1),(4553,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6610',4452,'Intereses de obligaciones y bonos a largo plazo empresas del grupo',0,NULL,NULL,1),(4554,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6611',4452,'Intereses de obligaciones y bonos a largo plazo empresas asociadas',0,NULL,NULL,1),(4555,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6612',4452,'Intereses de obligaciones y bonos a largo plazo otras partes vinculadas',0,NULL,NULL,1),(4556,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6613',4452,'Intereses de obligaciones y bonos a largo plazo otras empresas',0,NULL,NULL,1),(4557,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6615',4452,'Intereses de obligaciones y bonos a corto plazo empresas del grupo',0,NULL,NULL,1),(4558,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6616',4452,'Intereses de obligaciones y bonos a corto plazo empresas asociadas',0,NULL,NULL,1),(4559,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6617',4452,'Intereses de obligaciones y bonos a corto plazo otras partes vinculadas',0,NULL,NULL,1),(4560,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6618',4452,'Intereses de obligaciones y bonos a corto plazo otras empresas',0,NULL,NULL,1),(4561,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','662',4550,'Intereses de deudas',0,NULL,NULL,1),(4562,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6620',4561,'Intereses de deudas empresas del grupo',0,NULL,NULL,1),(4563,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6621',4561,'Intereses de deudas empresas asociadas',0,NULL,NULL,1),(4564,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6622',4561,'Intereses de deudas otras partes vinculadas',0,NULL,NULL,1),(4565,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6623',4561,'Intereses de deudas con entidades de crédito',0,NULL,NULL,1),(4566,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6624',4561,'Intereses de deudas otras empresas',0,NULL,NULL,1),(4567,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','663',4550,'Pérdidas por valorización de activos y pasivos financieros por su valor razonable',0,NULL,NULL,1),(4568,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','664',4550,'Gastos por dividendos de acciones o participaciones consideradas como pasivos financieros',0,NULL,NULL,1),(4569,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6640',4568,'Dividendos de pasivos empresas del grupo',0,NULL,NULL,1),(4570,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6641',4568,'Dividendos de pasivos empresas asociadas',0,NULL,NULL,1),(4571,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6642',4568,'Dividendos de pasivos otras partes vinculadas',0,NULL,NULL,1),(4572,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6643',4568,'Dividendos de pasivos otras empresas',0,NULL,NULL,1),(4573,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','665',4550,'Intereses por descuento de efectos y operaciones de factoring',0,NULL,NULL,1),(4574,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6650',4573,'Intereses por descuento de efectos en entidades de crédito del grupo',0,NULL,NULL,1),(4575,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6651',4573,'Intereses por descuento de efectos en entidades de crédito asociadas',0,NULL,NULL,1),(4576,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6652',4573,'Intereses por descuento de efectos en entidades de crédito vinculadas',0,NULL,NULL,1),(4577,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6653',4573,'Intereses por descuento de efectos en otras entidades de crédito',0,NULL,NULL,1),(4578,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6654',4573,'Intereses por operaciones de factoring con entidades de crédito del grupo',0,NULL,NULL,1),(4579,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6655',4573,'Intereses por operaciones de factoring con entidades de crédito asociadas',0,NULL,NULL,1),(4580,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6656',4573,'Intereses por operaciones de factoring con otras entidades de crédito vinculadas',0,NULL,NULL,1),(4581,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6657',4573,'Intereses por operaciones de factoring con otras entidades de crédito',0,NULL,NULL,1),(4582,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','666',4550,'Pérdidas en participaciones y valores representativos de deuda',0,NULL,NULL,1),(4583,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6660',4582,'Pérdidas en valores representativos de deuda a largo plazo empresas del grupo',0,NULL,NULL,1),(4584,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6661',4582,'Pérdidas en valores representativos de deuda a largo plazo empresas asociadas',0,NULL,NULL,1),(4585,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6662',4582,'Pérdidas en valores representativos de deuda a largo plazo otras partes vinculadas',0,NULL,NULL,1),(4586,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6663',4582,'Pérdidas en participaciones y valores representativos de deuda a largo plazo otras empresas',0,NULL,NULL,1),(4587,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6665',4582,'Pérdidas en participaciones y valores representativos de deuda a corto plazo empresas del grupo',0,NULL,NULL,1),(4588,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6666',4582,'Pérdidas en participaciones y valores representativos de deuda a corto plazo empresas asociadas',0,NULL,NULL,1),(4589,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6667',4582,'Pérdidas en valores representativos de deuda a corto plazo otras partes vinculadas',0,NULL,NULL,1),(4590,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6668',4582,'Pérdidas en valores representativos de deuda a corto plazo otras empresas',0,NULL,NULL,1),(4591,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','667',4550,'Pérdidas de créditos no comerciales',0,NULL,NULL,1),(4592,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6670',4591,'Pérdidas de créditos a largo plazo empresas del grupo',0,NULL,NULL,1),(4593,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6671',4591,'Pérdidas de créditos a largo plazo empresas asociadas',0,NULL,NULL,1),(4594,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6672',4591,'Pérdidas de créditos a largo plazo otras partes vinculadas',0,NULL,NULL,1),(4595,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6673',4591,'Pérdidas de créditos a largo plazo otras empresas',0,NULL,NULL,1),(4596,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6675',4591,'Pérdidas de créditos a corto plazo empresas del grupo',0,NULL,NULL,1),(4597,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6676',4591,'Pérdidas de créditos a corto plazo empresas asociadas',0,NULL,NULL,1),(4598,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6677',4591,'Pérdidas de créditos a corto plazo otras partes vinculadas',0,NULL,NULL,1),(4599,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6678',4591,'Pérdidas de créditos a corto plazo otras empresas',0,NULL,NULL,1),(4600,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','668',4550,'Diferencias negativas de cambio',0,NULL,NULL,1),(4601,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','669',4550,'Otros gastos financieros',0,NULL,NULL,1),(4602,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','67',4006,'Pérdidas procedentes de activos no corrientes y gastos excepcionales',0,NULL,NULL,1),(4603,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','670',4602,'Pérdidas procedentes del inmovilizado intangible',0,NULL,NULL,1),(4604,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','671',4602,'Pérdidas procedentes del inmovilizado material',0,NULL,NULL,1),(4605,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','672',4602,'Pérdidas procedentes de las inversiones inmobiliarias',0,NULL,NULL,1),(4607,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','673',4602,'Pérdidas procedentes de participaciones a largo plazo en partes vinculadas',0,NULL,NULL,1),(4608,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6733',4607,'Pérdidas procedentes de participaciones a largo plazo empresas del grupo',0,NULL,NULL,1),(4609,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6734',4607,'Pérdidas procedentes de participaciones a largo plazo empresas asociadas',0,NULL,NULL,1),(4610,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6735',4607,'Pérdidas procedentes de participaciones a largo plazo otras partes vinculadas',0,NULL,NULL,1),(4611,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','675',4602,'Pérdidas por operaciones con obligaciones propias',0,NULL,NULL,1),(4612,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','678',4602,'Gastos excepcionales',0,NULL,NULL,1),(4613,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','68',4006,'Dotaciones para amortizaciones',0,NULL,NULL,1),(4614,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','680',4613,'Amortización del inmovilizado intangible',0,NULL,NULL,1),(4615,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','681',4613,'Amortización del inmovilizado material',0,NULL,NULL,1),(4616,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','682',4613,'Amortización de las inversiones inmobiliarias',0,NULL,NULL,1),(4617,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','69',4006,'Pérdidas por deterioro y otras dotaciones',0,NULL,NULL,1),(4618,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','690',4617,'Pérdidas por deterioro del inmovilizado intangible',0,NULL,NULL,1),(4619,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','691',4617,'Pérdidas por deterioro del inmovilizado material',0,NULL,NULL,1),(4620,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','692',4617,'Pérdidas por deterioro de las inversiones inmobiliarias',0,NULL,NULL,1),(4621,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','693',4617,'Pérdidas por deterioro de existencias',0,NULL,NULL,1),(4622,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6930',4621,'Pérdidas por deterioro de productos terminados y en curso de fabricación',0,NULL,NULL,1),(4623,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6931',4621,'Pérdidas por deterioro de mercaderías',0,NULL,NULL,1),(4624,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6932',4621,'Pérdidas por deterioro de materias primas',0,NULL,NULL,1),(4625,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6933',4621,'Pérdidas por deterioro de otros aprovisionamientos',0,NULL,NULL,1),(4626,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','694',4617,'Pérdidas por deterioro de créditos por operaciones comerciales',0,NULL,NULL,1),(4627,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','695',4617,'Dotación a la provisión por operaciones comerciales',0,NULL,NULL,1),(4628,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6954',4627,'Dotación a la provisión por contratos onerosos',0,NULL,NULL,1),(4629,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6959',4628,'Dotación a la provisión para otras operaciones comerciales',0,NULL,NULL,1),(4630,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','696',4617,'Pérdidas por deterioro de participaciones y valores representativos de deuda a largo plazo',0,NULL,NULL,1),(4631,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6960',4630,'Pérdidas por deterioro de participaciones en instrumentos de patrimonio neto a largo plazo empresas del grupo',0,NULL,NULL,1),(4632,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6961',4630,'Pérdidas por deterioro de participaciones en instrumentos de patrimonio neto a largo plazo empresas asociadas',0,NULL,NULL,1),(4633,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6962',4630,'Pérdidas por deterioro de participaciones en instrumentos de patrimonio neto a largo plazo otras partes vinculadas',0,NULL,NULL,1),(4634,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6963',4630,'Pérdidas por deterioro de participaciones en instrumentos de patrimonio neto a largo plazo otras empresas',0,NULL,NULL,1),(4635,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6965',4630,'Pérdidas por deterioro en valores representativos de deuda a largo plazo empresas del grupo',0,NULL,NULL,1),(4636,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6966',4630,'Pérdidas por deterioro en valores representativos de deuda a largo plazo empresas asociadas',0,NULL,NULL,1),(4637,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6967',4630,'Pérdidas por deterioro en valores representativos de deuda a largo plazo otras partes vinculadas',0,NULL,NULL,1),(4638,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6968',4630,'Pérdidas por deterioro en valores representativos de deuda a largo plazo otras empresas',0,NULL,NULL,1),(4639,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','697',4617,'Pérdidas por deterioro de créditos a largo plazo',0,NULL,NULL,1),(4640,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6970',4639,'Pérdidas por deterioro de créditos a largo plazo empresas del grupo',0,NULL,NULL,1),(4641,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6971',4639,'Pérdidas por deterioro de créditos a largo plazo empresas asociadas',0,NULL,NULL,1),(4642,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6972',4639,'Pérdidas por deterioro de créditos a largo plazo otras partes vinculadas',0,NULL,NULL,1),(4643,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6973',4639,'Pérdidas por deterioro de créditos a largo plazo otras empresas',0,NULL,NULL,1),(4644,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','698',4617,'Pérdidas por deterioro de participaciones y valores representativos de deuda a corto plazo',0,NULL,NULL,1),(4645,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6980',4644,'Pérdidas por deterioro de participaciones en instrumentos de patrimonio neto a corto plazo empresas del grupo',0,NULL,NULL,1),(4646,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6981',4644,'Pérdidas por deterioro de participaciones en instrumentos de patrimonio neto a corto plazo empresas asociadas',0,NULL,NULL,1),(4647,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6985',4644,'Pérdidas por deterioro en valores representativos de deuda a corto plazo empresas del grupo',0,NULL,NULL,1),(4648,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6986',4644,'Pérdidas por deterioro en valores representativos de deuda a corto plazo empresas asociadas',0,NULL,NULL,1),(4649,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6988',4644,'Pérdidas por deterioro en valores representativos de deuda a corto plazo de otras empresas',0,NULL,NULL,1),(4650,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','699',4617,'Pérdidas por deterioro de crédito a corto plazo',0,NULL,NULL,1),(4651,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6990',4650,'Pérdidas por deterioro de crédito a corto plazo empresas del grupo',0,NULL,NULL,1),(4652,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6991',4650,'Pérdidas por deterioro de crédito a corto plazo empresas asociadas',0,NULL,NULL,1),(4653,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6992',4650,'Pérdidas por deterioro de crédito a corto plazo otras partes vinculadas',0,NULL,NULL,1),(4654,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','COMPRAS_GASTOS','XXXXXX','6993',4650,'Pérdidas por deterioro de crédito a corto plazo otras empresas',0,NULL,NULL,1),(4655,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','70',4007,'Ventas',0,NULL,NULL,1),(4656,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','VENTAS','700',4655,'Ventas de mercaderías',0,NULL,NULL,1),(4657,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','VENTAS','701',4655,'Ventas de productos terminados',0,NULL,NULL,1),(4658,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','702',4655,'Ventas de productos semiterminados',0,NULL,NULL,1),(4659,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','703',4655,'Ventas de subproductos y residuos',0,NULL,NULL,1),(4660,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','704',4655,'Ventas de envases y embalajes',0,NULL,NULL,1),(4661,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','VENTAS','705',4655,'Prestaciones de servicios',0,NULL,NULL,1),(4662,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','706',4655,'Descuentos sobre ventas por pronto pago',0,NULL,NULL,1),(4663,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7060',4662,'Descuentos sobre ventas por pronto pago de mercaderías',0,NULL,NULL,1),(4664,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7061',4662,'Descuentos sobre ventas por pronto pago de productos terminados',0,NULL,NULL,1),(4665,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7062',4662,'Descuentos sobre ventas por pronto pago de productos semiterminados',0,NULL,NULL,1),(4666,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7063',4662,'Descuentos sobre ventas por pronto pago de subproductos y residuos',0,NULL,NULL,1),(4667,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','708',4655,'Devoluciones de ventas y operacioes similares',0,NULL,NULL,1),(4668,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7080',4667,'Devoluciones de ventas de mercaderías',0,NULL,NULL,1),(4669,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7081',4667,'Devoluciones de ventas de productos terminados',0,NULL,NULL,1),(4670,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7082',4667,'Devoluciones de ventas de productos semiterminados',0,NULL,NULL,1),(4671,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7083',4667,'Devoluciones de ventas de subproductos y residuos',0,NULL,NULL,1),(4672,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7084',4667,'Devoluciones de ventas de envases y embalajes',0,NULL,NULL,1),(4673,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','71',4007,'Variación de existencias',0,NULL,NULL,1),(4674,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','710',4673,'Variación de existencias de productos en curso',0,NULL,NULL,1),(4675,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','711',4673,'Variación de existencias de productos semiterminados',0,NULL,NULL,1),(4676,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','712',4673,'Variación de existencias de productos terminados',0,NULL,NULL,1),(4677,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','713',4673,'Variación de existencias de subproductos, residuos y materiales recuperados',0,NULL,NULL,1),(4678,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','73',4007,'Trabajos realizados para la empresa',0,NULL,NULL,1),(4679,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','730',4678,'Trabajos realizados para el inmovilizado intangible',0,NULL,NULL,1),(4680,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','731',4678,'Trabajos realizados para el inmovilizado tangible',0,NULL,NULL,1),(4681,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','732',4678,'Trabajos realizados en inversiones inmobiliarias',0,NULL,NULL,1),(4682,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','733',4678,'Trabajos realizados para el inmovilizado material en curso',0,NULL,NULL,1),(4683,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','74',4007,'Subvenciones, donaciones y legados',0,NULL,NULL,1),(4684,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','740',4683,'Subvenciones, donaciones y legados a la explotación',0,NULL,NULL,1),(4685,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','746',4683,'Subvenciones, donaciones y legados de capital transferidos al resultado del ejercicio',0,NULL,NULL,1),(4686,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','747',4683,'Otras subvenciones, donaciones y legados transferidos al resultado del ejercicio',0,NULL,NULL,1),(4687,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','75',4007,'Otros ingresos de gestión',0,NULL,NULL,1),(4688,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','751',4687,'Resultados de operaciones en común',0,NULL,NULL,1),(4689,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7510',4688,'Pérdida transferida gestor',0,NULL,NULL,1),(4690,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7511',4688,'Beneficio atribuido participe o asociado no gestor',0,NULL,NULL,1),(4691,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','752',4687,'Ingreso por arrendamiento',0,NULL,NULL,1),(4692,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','753',4687,'Ingresos de propiedad industrial cedida en explotación',0,NULL,NULL,1),(4693,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','754',4687,'Ingresos por comisiones',0,NULL,NULL,1),(4694,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','755',4687,'Ingresos por servicios al personal',0,NULL,NULL,1),(4695,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','759',4687,'Ingresos por servicios diversos',0,NULL,NULL,1),(4696,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','76',4007,'Ingresos financieros',0,NULL,NULL,1),(4697,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','760',4696,'Ingresos de participaciones en instrumentos de patrimonio',0,NULL,NULL,1),(4698,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7600',4697,'Ingresos de participaciones en instrumentos de patrimonio empresas del grupo',0,NULL,NULL,1),(4699,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7601',4697,'Ingresos de participaciones en instrumentos de patrimonio empresas asociadas',0,NULL,NULL,1),(4700,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7602',4697,'Ingresos de participaciones en instrumentos de patrimonio otras partes asociadas',0,NULL,NULL,1),(4701,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7603',4697,'Ingresos de participaciones en instrumentos de patrimonio otras empresas',0,NULL,NULL,1),(4702,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','761',4696,'Ingresos de valores representativos de deuda',0,NULL,NULL,1),(4703,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7610',4702,'Ingresos de valores representativos de deuda empresas del grupo',0,NULL,NULL,1),(4704,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7611',4702,'Ingresos de valores representativos de deuda empresas asociadas',0,NULL,NULL,1),(4705,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7612',4702,'Ingresos de valores representativos de deuda otras partes asociadas',0,NULL,NULL,1),(4706,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7613',4702,'Ingresos de valores representativos de deuda otras empresas',0,NULL,NULL,1),(4707,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','762',4696,'Ingresos de créditos',0,NULL,NULL,1),(4708,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7620',4707,'Ingresos de créditos a largo plazo',0,NULL,NULL,1),(4709,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','76200',4708,'Ingresos de crédito a largo plazo empresas del grupo',0,NULL,NULL,1),(4710,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','76201',4708,'Ingresos de crédito a largo plazo empresas asociadas',0,NULL,NULL,1),(4711,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','76202',4708,'Ingresos de crédito a largo plazo otras partes asociadas',0,NULL,NULL,1),(4712,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','76203',4708,'Ingresos de crédito a largo plazo otras empresas',0,NULL,NULL,1),(4713,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7621',4707,'Ingresos de créditos a corto plazo',0,NULL,NULL,1),(4714,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','76210',4713,'Ingresos de crédito a corto plazo empresas del grupo',0,NULL,NULL,1),(4715,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','76211',4713,'Ingresos de crédito a corto plazo empresas asociadas',0,NULL,NULL,1),(4716,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','76212',4713,'Ingresos de crédito a corto plazo otras partes asociadas',0,NULL,NULL,1),(4717,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','76213',4713,'Ingresos de crédito a corto plazo otras empresas',0,NULL,NULL,1),(4718,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','763',4696,'Beneficios por valorización de activos y pasivos financieros por su valor razonable',0,NULL,NULL,1),(4719,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','766',4696,'Beneficios en participaciones y valores representativos de deuda',0,NULL,NULL,1),(4720,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7660',4719,'Beneficios en participaciones y valores representativos de deuda a largo plazo empresas del grupo',0,NULL,NULL,1),(4721,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7661',4719,'Beneficios en participaciones y valores representativos de deuda a largo plazo empresas asociadas',0,NULL,NULL,1),(4722,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7662',4719,'Beneficios en participaciones y valores representativos de deuda a largo plazo otras partes asociadas',0,NULL,NULL,1),(4723,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7663',4719,'Beneficios en participaciones y valores representativos de deuda a largo plazo otras empresas',0,NULL,NULL,1),(4724,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7665',4719,'Beneficios en participaciones y valores representativos de deuda a corto plazo empresas del grupo',0,NULL,NULL,1),(4725,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7666',4719,'Beneficios en participaciones y valores representativos de deuda a corto plazo empresas asociadas',0,NULL,NULL,1),(4726,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7667',4719,'Beneficios en participaciones y valores representativos de deuda a corto plazo otras partes asociadas',0,NULL,NULL,1),(4727,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7668',4719,'Beneficios en participaciones y valores representativos de deuda a corto plazo otras empresas',0,NULL,NULL,1),(4728,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','768',4696,'Diferencias positivas de cambio',0,NULL,NULL,1),(4729,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','769',4696,'Otros ingresos financieros',0,NULL,NULL,1),(4730,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','77',4007,'Beneficios procedentes de activos no corrientes e ingresos excepcionales',0,NULL,NULL,1),(4731,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','770',4730,'Beneficios procedentes del inmovilizado intangible',0,NULL,NULL,1),(4732,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','771',4730,'Beneficios procedentes del inmovilizado material',0,NULL,NULL,1),(4733,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','772',4730,'Beneficios procedentes de las inversiones inmobiliarias',0,NULL,NULL,1),(4734,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','773',4730,'Beneficios procedentes de participaciones a largo plazo en partes vinculadas',0,NULL,NULL,1),(4735,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7733',4734,'Beneficios procedentes de participaciones a largo plazo empresas del grupo',0,NULL,NULL,1),(4736,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7734',4734,'Beneficios procedentes de participaciones a largo plazo empresas asociadas',0,NULL,NULL,1),(4737,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7735',4734,'Beneficios procedentes de participaciones a largo plazo otras partes vinculadas',0,NULL,NULL,1),(4738,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','775',4730,'Beneficios por operaciones con obligaciones propias',0,NULL,NULL,1),(4739,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','778',4730,'Ingresos excepcionales',0,NULL,NULL,1),(4741,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','79',4007,'Excesos y aplicaciones de provisiones y pérdidas por deterioro',0,NULL,NULL,1),(4742,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','790',4741,'Revisión del deterioro del inmovilizado intangible',0,NULL,NULL,1),(4743,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','791',4741,'Revisión del deterioro del inmovilizado material',0,NULL,NULL,1),(4744,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','792',4741,'Revisión del deterioro de las inversiones inmobiliarias',0,NULL,NULL,1),(4745,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','793',4741,'Revisión del deterioro de las existencias',0,NULL,NULL,1),(4746,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7930',4745,'Revisión del deterioro de productos terminados y en curso de fabricación',0,NULL,NULL,1),(4747,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7931',4745,'Revisión del deterioro de mercaderías',0,NULL,NULL,1),(4748,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7932',4745,'Revisión del deterioro de materias primas',0,NULL,NULL,1),(4749,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7933',4745,'Revisión del deterioro de otros aprovisionamientos',0,NULL,NULL,1),(4750,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','794',4741,'Revisión del deterioro de créditos por operaciones comerciales',0,NULL,NULL,1),(4751,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','795',4741,'Exceso de provisiones',0,NULL,NULL,1),(4752,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7951',4751,'Exceso de provisión para impuestos',0,NULL,NULL,1),(4753,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7952',4751,'Exceso de provisión para otras responsabilidades',0,NULL,NULL,1),(4755,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7954',4751,'Exceso de provisión para operaciones comerciales',0,NULL,NULL,1),(4756,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','79544',4755,'Exceso de provisión por contratos onerosos',0,NULL,NULL,1),(4757,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','79549',4755,'Exceso de provisión para otras operaciones comerciales',0,NULL,NULL,1),(4758,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7955',4751,'Exceso de provisión para actuaciones medioambienteales',0,NULL,NULL,1),(4759,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','796',4741,'Revisión del deterioro de participaciones y valores representativos de deuda a largo plazo',0,NULL,NULL,1),(4760,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7960',4759,'Revisión del deterioro de participaciones en instrumentos de patrimonio neto a largo plazo empresas del grupo',0,NULL,NULL,1),(4761,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7961',4759,'Revisión del deterioro de participaciones en instrumentos de patrimonio neto a largo plazo empresas asociadas',0,NULL,NULL,1),(4762,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7962',4759,'Revisión del deterioro de participaciones en instrumentos de patrimonio neto a largo plazo otras partes vinculadas',0,NULL,NULL,1),(4763,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7963',4759,'Revisión del deterioro de participaciones en instrumentos de patrimonio neto a largo plazo otras empresas',0,NULL,NULL,1),(4764,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7965',4759,'Revisión del deterioro de valores representativos a largo plazo empresas del grupo',0,NULL,NULL,1),(4765,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7966',4759,'Revisión del deterioro de valores representativos a largo plazo empresas asociadas',0,NULL,NULL,1),(4766,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7967',4759,'Revisión del deterioro de valores representativos a largo otras partes vinculadas',0,NULL,NULL,1),(4767,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7968',4759,'Revisión del deterioro de valores representativos a largo plazo otras empresas',0,NULL,NULL,1),(4768,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','797',4741,'Revisión del deterioro de créditos a largo plazo',0,NULL,NULL,1),(4769,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7970',4768,'Revisión del deterioro de créditos a largo plazo empresas del grupo',0,NULL,NULL,1),(4770,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7971',4768,'Revisión del deterioro de créditos a largo plazo empresas asociadas',0,NULL,NULL,1),(4771,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7972',4768,'Revisión del deterioro de créditos a largo plazo otras partes vinculadas',0,NULL,NULL,1),(4772,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7973',4768,'Revisión del deterioro de créditos a largo plazo otras empresas',0,NULL,NULL,1),(4773,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','798',4741,'Revisión del deterioro de participaciones y valores representativos de deuda a corto plazo',0,NULL,NULL,1),(4774,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7980',4773,'Revisión del deterioro de participaciones en instrumentos de patrimonio neto a corto plazo empresas del grupo',0,NULL,NULL,1),(4775,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7981',4773,'Revisión del deterioro de participaciones en instrumentos de patrimonio neto a corto plazo empresas asociadas',0,NULL,NULL,1),(4776,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7985',4773,'Revisión del deterioro de valores representativos de deuda a corto plazo empresas del grupo',0,NULL,NULL,1),(4777,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7986',4773,'Revisión del deterioro de valores representativos de deuda a corto plazo empresas asociadas',0,NULL,NULL,1),(4778,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7987',4773,'Revisión del deterioro de valores representativos de deuda a corto plazo otras partes vinculadas',0,NULL,NULL,1),(4779,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7988',4773,'Revisión del deterioro de valores representativos de deuda a corto plazo otras empresas',0,NULL,NULL,1),(4780,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','799',4741,'Revisión del deterioro de créditos a corto plazo',0,NULL,NULL,1),(4781,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7990',4780,'Revisión del deterioro de créditos a corto plazo empresas del grupo',0,NULL,NULL,1),(4782,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7991',4780,'Revisión del deterioro de créditos a corto plazo empresas asociadas',0,NULL,NULL,1),(4783,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7992',4780,'Revisión del deterioro de créditos a corto plazo otras partes vinculadas',0,NULL,NULL,1),(4784,1,NULL,'2016-01-22 17:28:16','PCG08-PYME','VENTAS_E_INGRESOS','XXXXXX','7993',4780,'Revisión del deterioro de créditos a corto plazo otras empresas',0,NULL,NULL,1); +/*!40000 ALTER TABLE `llx_accounting_account` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_accounting_bookkeeping` +-- + +DROP TABLE IF EXISTS `llx_accounting_bookkeeping`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_accounting_bookkeeping` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `doc_date` date NOT NULL, + `doc_type` varchar(30) NOT NULL, + `doc_ref` varchar(300) NOT NULL, + `fk_doc` int(11) NOT NULL, + `fk_docdet` int(11) NOT NULL, + `code_tiers` varchar(24) DEFAULT NULL, + `numero_compte` varchar(32) DEFAULT NULL, + `label_compte` varchar(128) NOT NULL, + `debit` double NOT NULL, + `credit` double NOT NULL, + `montant` double NOT NULL, + `sens` varchar(1) DEFAULT NULL, + `fk_user_author` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + `code_journal` varchar(10) DEFAULT NULL, + `piece_num` int(11) NOT NULL, + `validated` tinyint(4) NOT NULL DEFAULT '0', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_accounting_bookkeeping` +-- + +LOCK TABLES `llx_accounting_bookkeeping` WRITE; +/*!40000 ALTER TABLE `llx_accounting_bookkeeping` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_accounting_bookkeeping` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_accounting_fiscalyear` +-- + +DROP TABLE IF EXISTS `llx_accounting_fiscalyear`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_accounting_fiscalyear` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `label` varchar(128) NOT NULL, + `date_start` date DEFAULT NULL, + `date_end` date DEFAULT NULL, + `statut` tinyint(4) NOT NULL DEFAULT '0', + `entity` int(11) NOT NULL DEFAULT '1', + `datec` datetime NOT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_accounting_fiscalyear` +-- + +LOCK TABLES `llx_accounting_fiscalyear` WRITE; +/*!40000 ALTER TABLE `llx_accounting_fiscalyear` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_accounting_fiscalyear` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_accounting_journal` +-- + +DROP TABLE IF EXISTS `llx_accounting_journal`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_accounting_journal` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(32) NOT NULL, + `label` varchar(128) NOT NULL, + `nature` smallint(6) NOT NULL DEFAULT '0', + `active` smallint(6) DEFAULT '0', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_accounting_journal_code` (`code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_accounting_journal` +-- + +LOCK TABLES `llx_accounting_journal` WRITE; +/*!40000 ALTER TABLE `llx_accounting_journal` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_accounting_journal` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_accounting_system` +-- + +DROP TABLE IF EXISTS `llx_accounting_system`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_accounting_system` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `pcg_version` varchar(32) DEFAULT NULL, + `label` varchar(128) NOT NULL, + `active` smallint(6) DEFAULT '0', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_accounting_system_pcg_version` (`pcg_version`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_accounting_system` +-- + +LOCK TABLES `llx_accounting_system` WRITE; +/*!40000 ALTER TABLE `llx_accounting_system` DISABLE KEYS */; +INSERT INTO `llx_accounting_system` VALUES (1,'PCG99-ABREGE','The simple accountancy french plan',1),(2,'PCG99-BASE','The base accountancy french plan',1),(3,'PCMN-BASE','The base accountancy belgium plan',1),(4,'PCG08-PYME','The PYME accountancy spanish plan',1); +/*!40000 ALTER TABLE `llx_accounting_system` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_actioncomm` +-- + +DROP TABLE IF EXISTS `llx_actioncomm`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_actioncomm` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `ref_ext` varchar(128) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `datep` datetime DEFAULT NULL, + `datep2` datetime DEFAULT NULL, + `fk_action` int(11) DEFAULT NULL, + `code` varchar(32) DEFAULT NULL, + `label` varchar(128) NOT NULL, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_mod` int(11) DEFAULT NULL, + `fk_project` int(11) DEFAULT NULL, + `fk_soc` int(11) DEFAULT NULL, + `fk_contact` int(11) DEFAULT NULL, + `fk_parent` int(11) NOT NULL DEFAULT '0', + `fk_user_action` int(11) DEFAULT NULL, + `transparency` int(11) DEFAULT NULL, + `fk_user_done` int(11) DEFAULT NULL, + `priority` smallint(6) DEFAULT NULL, + `fulldayevent` smallint(6) NOT NULL DEFAULT '0', + `punctual` smallint(6) NOT NULL DEFAULT '1', + `percent` smallint(6) NOT NULL DEFAULT '0', + `location` varchar(128) DEFAULT NULL, + `durationp` double DEFAULT NULL, + `durationa` double DEFAULT NULL, + `note` text, + `fk_element` int(11) DEFAULT NULL, + `elementtype` varchar(255) DEFAULT NULL, + `email_msgid` varchar(256) DEFAULT NULL, + `email_subject` varchar(256) DEFAULT NULL, + `email_from` varchar(256) DEFAULT NULL, + `email_sender` varchar(256) DEFAULT NULL, + `email_to` varchar(256) DEFAULT NULL, + `email_tocc` varchar(256) DEFAULT NULL, + `email_tobcc` varchar(256) DEFAULT NULL, + `errors_to` varchar(256) DEFAULT NULL, + `recurid` varchar(128) DEFAULT NULL, + `recurrule` varchar(128) DEFAULT NULL, + `recurdateend` datetime DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `idx_actioncomm_fk_soc` (`fk_soc`), + KEY `idx_actioncomm_fk_contact` (`fk_contact`), + KEY `idx_actioncomm_fk_element` (`fk_element`), + KEY `idx_actioncomm_code` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=234 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_actioncomm` +-- + +LOCK TABLES `llx_actioncomm` WRITE; +/*!40000 ALTER TABLE `llx_actioncomm` DISABLE KEYS */; +INSERT INTO `llx_actioncomm` VALUES (1,NULL,1,'2010-07-08 14:21:44','2010-07-08 14:21:44',50,NULL,'Company AAA and Co added into Dolibarr','2010-07-08 14:21:44','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Company AAA and Co added into Dolibarr\nAuthor: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(2,NULL,1,'2010-07-08 14:23:48','2010-07-08 14:23:48',50,NULL,'Company Belin SARL added into Dolibarr','2010-07-08 14:23:48','2014-12-21 12:50:33',1,NULL,NULL,2,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Company Belin SARL added into Dolibarr\nAuthor: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(3,NULL,1,'2010-07-08 22:42:12','2010-07-08 22:42:12',50,NULL,'Company Spanish Comp added into Dolibarr','2010-07-08 22:42:12','2014-12-21 12:50:33',1,NULL,NULL,3,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Company Spanish Comp added into Dolibarr\nAuthor: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(4,NULL,1,'2010-07-08 22:48:18','2010-07-08 22:48:18',50,NULL,'Company Prospector Vaalen added into Dolibarr','2010-07-08 22:48:18','2014-12-21 12:50:33',1,NULL,NULL,4,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Company Prospector Vaalen added into Dolibarr\nAuthor: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(5,NULL,1,'2010-07-08 23:22:57','2010-07-08 23:22:57',50,NULL,'Company NoCountry Co added into Dolibarr','2010-07-08 23:22:57','2014-12-21 12:50:33',1,NULL,NULL,5,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Company NoCountry Co added into Dolibarr\nAuthor: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(6,NULL,1,'2010-07-09 00:15:09','2010-07-09 00:15:09',50,NULL,'Company Swiss customer added into Dolibarr','2010-07-09 00:15:09','2014-12-21 12:50:33',1,NULL,NULL,6,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Company Swiss customer added into Dolibarr\nAuthor: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(7,NULL,1,'2010-07-09 01:24:26','2010-07-09 01:24:26',50,NULL,'Company Generic customer added into Dolibarr','2010-07-09 01:24:26','2014-12-21 12:50:33',1,NULL,NULL,7,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Company Generic customer added into Dolibarr\nAuthor: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(8,NULL,1,'2010-07-10 14:54:27','2010-07-10 14:54:27',50,NULL,'Société Client salon ajoutée dans Dolibarr','2010-07-10 14:54:27','2014-12-21 12:50:33',1,NULL,NULL,8,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Société Client salon ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(9,NULL,1,'2010-07-10 14:54:44','2010-07-10 14:54:44',50,NULL,'Société Client salon invidivdu ajoutée dans Doliba','2010-07-10 14:54:44','2014-12-21 12:50:33',1,NULL,NULL,9,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Société Client salon invidivdu ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(10,NULL,1,'2010-07-10 14:56:10','2010-07-10 14:56:10',50,NULL,'Facture FA1007-0001 validée dans Dolibarr','2010-07-10 14:56:10','2014-12-21 12:50:33',1,NULL,NULL,9,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Facture FA1007-0001 validée dans Dolibarr\nAuteur: admin',1,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(11,NULL,1,'2010-07-10 14:58:53','2010-07-10 14:58:53',50,NULL,'Facture FA1007-0001 validée dans Dolibarr','2010-07-10 14:58:53','2014-12-21 12:50:33',1,NULL,NULL,9,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Facture FA1007-0001 validée dans Dolibarr\nAuteur: admin',1,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(12,NULL,1,'2010-07-10 15:00:55','2010-07-10 15:00:55',50,NULL,'Facture FA1007-0001 passée à payée dans Dolibarr','2010-07-10 15:00:55','2014-12-21 12:50:33',1,NULL,NULL,9,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Facture FA1007-0001 passée à payée dans Dolibarr\nAuteur: admin',1,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(13,NULL,1,'2010-07-10 15:13:08','2010-07-10 15:13:08',50,NULL,'Société Smith Vick ajoutée dans Dolibarr','2010-07-10 15:13:08','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Société Smith Vick ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(14,NULL,1,'2010-07-10 15:21:00','2010-07-10 16:21:00',5,NULL,'RDV avec mon chef','2010-07-10 15:21:48','2010-07-10 13:21:48',1,NULL,NULL,NULL,NULL,0,1,NULL,NULL,0,0,1,0,'',3600,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(15,NULL,1,'2010-07-10 18:18:16','2010-07-10 18:18:16',50,NULL,'Contrat CONTRAT1 validé dans Dolibarr','2010-07-10 18:18:16','2014-12-21 12:50:33',1,NULL,NULL,2,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Contrat CONTRAT1 validé dans Dolibarr\nAuteur: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(16,NULL,1,'2010-07-10 18:35:57','2010-07-10 18:35:57',50,NULL,'Société Mon client ajoutée dans Dolibarr','2010-07-10 18:35:57','2014-12-21 12:50:33',1,NULL,NULL,11,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Société Mon client ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(17,NULL,1,'2010-07-11 16:18:08','2010-07-11 16:18:08',50,NULL,'Société Dupont Alain ajoutée dans Dolibarr','2010-07-11 16:18:08','2014-12-21 12:50:33',1,NULL,NULL,12,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Société Dupont Alain ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(18,NULL,1,'2010-07-11 17:11:00','2010-07-11 17:17:00',5,NULL,'Rendez-vous','2010-07-11 17:11:22','2010-07-11 15:11:22',1,NULL,NULL,NULL,NULL,0,1,NULL,NULL,0,0,1,0,'gfgdfgdf',360,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(19,NULL,1,'2010-07-11 17:13:20','2010-07-11 17:13:20',50,NULL,'Société Vendeur de chips ajoutée dans Dolibarr','2010-07-11 17:13:20','2014-12-21 12:50:33',1,NULL,NULL,13,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Société Vendeur de chips ajoutée dans Dolibarr\nAuteur: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(20,NULL,1,'2010-07-11 17:15:42','2010-07-11 17:15:42',50,NULL,'Commande CF1007-0001 validée','2010-07-11 17:15:42','2014-12-21 12:50:33',1,NULL,NULL,13,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Commande CF1007-0001 validée\nAuteur: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(21,NULL,1,'2010-07-11 18:47:33','2010-07-11 18:47:33',50,NULL,'Commande CF1007-0002 validée','2010-07-11 18:47:33','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Commande CF1007-0002 validée\nAuteur: admin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(22,NULL,1,'2010-07-18 11:36:18','2010-07-18 11:36:18',50,NULL,'Proposition PR1007-0003 validée','2010-07-18 11:36:18','2014-12-21 12:50:33',1,NULL,NULL,4,NULL,0,1,NULL,1,0,0,1,100,'',NULL,NULL,'Proposition PR1007-0003 validée\nAuteur: admin',3,'propal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(23,NULL,1,'2011-07-18 20:49:58','2011-07-18 20:49:58',50,NULL,'Invoice FA1007-0002 validated in Dolibarr','2011-07-18 20:49:58','2014-12-21 12:50:33',1,NULL,NULL,2,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1007-0002 validated in Dolibarr\nAuthor: admin',2,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(24,NULL,1,'2011-07-28 01:37:00',NULL,1,NULL,'Phone call','2011-07-28 01:37:48','2011-07-27 23:37:48',1,NULL,NULL,NULL,2,0,1,NULL,NULL,0,0,1,-1,'',NULL,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(25,NULL,1,'2011-08-01 02:31:24','2011-08-01 02:31:24',50,NULL,'Company mmm added into Dolibarr','2011-08-01 02:31:24','2014-12-21 12:50:33',1,NULL,NULL,15,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Company mmm added into Dolibarr\nAuthor: admin',15,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(26,NULL,1,'2011-08-01 02:31:43','2011-08-01 02:31:43',50,NULL,'Company ppp added into Dolibarr','2011-08-01 02:31:43','2014-12-21 12:50:33',1,NULL,NULL,16,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Company ppp added into Dolibarr\nAuthor: admin',16,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(27,NULL,1,'2011-08-01 02:41:26','2011-08-01 02:41:26',50,NULL,'Company aaa added into Dolibarr','2011-08-01 02:41:26','2014-12-21 12:50:33',1,NULL,NULL,17,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Company aaa added into Dolibarr\nAuthor: admin',17,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(28,NULL,1,'2011-08-01 03:34:11','2011-08-01 03:34:11',50,NULL,'Invoice FA1108-0003 validated in Dolibarr','2011-08-01 03:34:11','2014-12-21 12:50:33',1,NULL,NULL,7,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0003 validated in Dolibarr\nAuthor: admin',5,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(29,NULL,1,'2011-08-01 03:34:11','2011-08-01 03:34:11',50,NULL,'Invoice FA1108-0003 validated in Dolibarr','2011-08-01 03:34:11','2014-12-21 12:50:33',1,NULL,NULL,7,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0003 changed to paid in Dolibarr\nAuthor: admin',5,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(30,NULL,1,'2011-08-06 20:33:54','2011-08-06 20:33:54',50,NULL,'Invoice FA1108-0004 validated in Dolibarr','2011-08-06 20:33:54','2014-12-21 12:50:33',1,NULL,NULL,7,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0004 validated in Dolibarr\nAuthor: admin',6,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(31,NULL,1,'2011-08-06 20:33:54','2011-08-06 20:33:54',50,NULL,'Invoice FA1108-0004 validated in Dolibarr','2011-08-06 20:33:54','2014-12-21 12:50:33',1,NULL,NULL,7,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0004 changed to paid in Dolibarr\nAuthor: admin',6,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(38,NULL,1,'2011-08-08 02:41:55','2011-08-08 02:41:55',50,NULL,'Invoice FA1108-0005 validated in Dolibarr','2011-08-08 02:41:55','2014-12-21 12:50:33',1,NULL,NULL,2,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0005 validated in Dolibarr\nAuthor: admin',8,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(40,NULL,1,'2011-08-08 02:53:40','2011-08-08 02:53:40',50,NULL,'Invoice FA1108-0005 changed to paid in Dolibarr','2011-08-08 02:53:40','2014-12-21 12:50:33',1,NULL,NULL,2,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0005 changed to paid in Dolibarr\nAuthor: admin',8,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(41,NULL,1,'2011-08-08 02:54:05','2011-08-08 02:54:05',50,NULL,'Invoice FA1007-0002 changed to paid in Dolibarr','2011-08-08 02:54:05','2014-12-21 12:50:33',1,NULL,NULL,2,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1007-0002 changed to paid in Dolibarr\nAuthor: admin',2,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(42,NULL,1,'2011-08-08 02:55:04','2011-08-08 02:55:04',50,NULL,'Invoice FA1107-0006 validated in Dolibarr','2011-08-08 02:55:04','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1107-0006 validated in Dolibarr\nAuthor: admin',3,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(43,NULL,1,'2011-08-08 02:55:26','2011-08-08 02:55:26',50,NULL,'Invoice FA1108-0007 validated in Dolibarr','2011-08-08 02:55:26','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1108-0007 validated in Dolibarr\nAuthor: admin',9,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(44,NULL,1,'2011-08-08 02:55:58','2011-08-08 02:55:58',50,NULL,'Invoice FA1107-0006 changed to paid in Dolibarr','2011-08-08 02:55:58','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1107-0006 changed to paid in Dolibarr\nAuthor: admin',3,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(45,NULL,1,'2011-08-08 03:04:22','2011-08-08 03:04:22',50,NULL,'Order CO1108-0001 validated','2011-08-08 03:04:22','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Order CO1108-0001 validated\nAuthor: admin',5,'order',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(46,NULL,1,'2011-08-08 13:59:09','2011-08-08 13:59:09',50,NULL,'Order CO1107-0002 validated','2011-08-08 13:59:10','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Order CO1107-0002 validated\nAuthor: admin',1,'order',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(47,NULL,1,'2011-08-08 14:24:18','2011-08-08 14:24:18',50,NULL,'Proposal PR1007-0001 validated','2011-08-08 14:24:18','2014-12-21 12:50:33',1,NULL,NULL,2,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposal PR1007-0001 validated\nAuthor: admin',1,'propal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(48,NULL,1,'2011-08-08 14:24:24','2011-08-08 14:24:24',50,NULL,'Proposal PR1108-0004 validated','2011-08-08 14:24:24','2014-12-21 12:50:33',1,NULL,NULL,17,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposal PR1108-0004 validated\nAuthor: admin',4,'propal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(49,NULL,1,'2011-08-08 15:04:37','2011-08-08 15:04:37',50,NULL,'Order CF1108-0003 validated','2011-08-08 15:04:37','2014-12-21 12:50:33',1,NULL,NULL,17,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Order CF1108-0003 validated\nAuthor: admin',6,'order_supplier',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(50,NULL,1,'2012-12-08 17:56:47','2012-12-08 17:56:47',40,NULL,'Facture AV1212-0001 validée dans Dolibarr','2012-12-08 17:56:47','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture AV1212-0001 validée dans Dolibarr\nAuteur: admin',10,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(51,NULL,1,'2012-12-08 17:57:11','2012-12-08 17:57:11',40,NULL,'Facture AV1212-0001 validée dans Dolibarr','2012-12-08 17:57:11','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture AV1212-0001 validée dans Dolibarr\nAuteur: admin',10,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(52,NULL,1,'2012-12-08 17:58:27','2012-12-08 17:58:27',40,NULL,'Facture FA1212-0008 validée dans Dolibarr','2012-12-08 17:58:27','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1212-0008 validée dans Dolibarr\nAuteur: admin',11,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(53,NULL,1,'2012-12-08 18:20:49','2012-12-08 18:20:49',40,NULL,'Facture AV1212-0002 validée dans Dolibarr','2012-12-08 18:20:49','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture AV1212-0002 validée dans Dolibarr\nAuteur: admin',12,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(54,NULL,1,'2012-12-09 18:35:07','2012-12-09 18:35:07',40,NULL,'Facture AV1212-0002 passée à payée dans Dolibarr','2012-12-09 18:35:07','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture AV1212-0002 passée à payée dans Dolibarr\nAuteur: admin',12,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(55,NULL,1,'2012-12-09 20:14:42','2012-12-09 20:14:42',40,NULL,'Société doe john ajoutée dans Dolibarr','2012-12-09 20:14:42','2014-12-21 12:50:33',1,NULL,NULL,18,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Société doe john ajoutée dans Dolibarr\nAuteur: admin',18,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(56,NULL,1,'2012-12-12 18:54:19','2012-12-12 18:54:19',40,NULL,'Facture FA1212-0009 validée dans Dolibarr','2012-12-12 18:54:19','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1212-0009 validée dans Dolibarr\nAuteur: admin',55,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(121,NULL,1,'2012-12-06 10:00:00',NULL,50,NULL,'aaab','2012-12-21 17:48:08','2012-12-21 16:54:07',3,1,NULL,NULL,NULL,0,3,NULL,NULL,1,0,1,-1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(122,NULL,1,'2012-12-21 18:09:52','2012-12-21 18:09:52',40,NULL,'Facture client FA1007-0001 envoyée par EMail','2012-12-21 18:09:52','2014-12-21 12:50:33',1,NULL,NULL,9,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Mail envoyé par Firstname SuperAdminName à laurent@destailleur.fr.\nSujet du mail: Envoi facture FA1007-0001\nCorps du mail:\nVeuillez trouver ci-joint la facture FA1007-0001\r\n\r\nVous pouvez cliquer sur le lien sécurisé ci-dessous pour effectuer votre paiement via Paypal\r\n\r\nhttp://localhost/dolibarrnew/public/paypal/newpayment.php?source=invoice&ref=FA1007-0001&securekey=50c82fab36bb3b6aa83e2a50691803b2\r\n\r\nCordialement',1,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(123,NULL,1,'2013-01-06 13:13:57','2013-01-06 13:13:57',40,NULL,'Facture 16 validée dans Dolibarr','2013-01-06 13:13:57','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture 16 validée dans Dolibarr\nAuteur: admin',16,'invoice_supplier',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(124,NULL,1,'2013-01-12 12:23:05','2013-01-12 12:23:05',40,NULL,'Patient aaa ajouté','2013-01-12 12:23:05','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Patient aaa ajouté\nAuteur: admin',19,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(125,NULL,1,'2013-01-12 12:52:20','2013-01-12 12:52:20',40,NULL,'Patient pppoo ajouté','2013-01-12 12:52:20','2014-12-21 12:50:33',1,NULL,NULL,20,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Patient pppoo ajouté\nAuteur: admin',20,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(127,NULL,1,'2013-01-19 18:22:48','2013-01-19 18:22:48',40,NULL,'Facture FS1301-0001 validée dans Dolibarr','2013-01-19 18:22:48','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FS1301-0001 validée dans Dolibarr\nAuteur: admin',148,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(128,NULL,1,'2013-01-19 18:31:10','2013-01-19 18:31:10',40,NULL,'Facture FA6801-0010 validée dans Dolibarr','2013-01-19 18:31:10','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA6801-0010 validée dans Dolibarr\nAuteur: admin',150,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(129,NULL,1,'2013-01-19 18:31:10','2013-01-19 18:31:10',40,NULL,'Facture FA6801-0010 passée à payée dans Dolibarr','2013-01-19 18:31:10','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA6801-0010 passée à payée dans Dolibarr\nAuteur: admin',150,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(130,NULL,1,'2013-01-19 18:31:58','2013-01-19 18:31:58',40,NULL,'Facture FS1301-0002 validée dans Dolibarr','2013-01-19 18:31:58','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FS1301-0002 validée dans Dolibarr\nAuteur: admin',151,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(131,NULL,1,'2013-01-19 18:31:58','2013-01-19 18:31:58',40,NULL,'Facture FS1301-0002 passée à payée dans Dolibarr','2013-01-19 18:31:58','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FS1301-0002 passée à payée dans Dolibarr\nAuteur: admin',151,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(132,NULL,1,'2013-01-23 15:07:54','2013-01-23 15:07:54',50,NULL,'Consultation 24 saisie (aaa)','2013-01-23 15:07:54','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Consultation 24 saisie (aaa)\nAuteur: admin',24,'cabinetmed_cons',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(133,NULL,1,'2013-01-23 16:56:58','2013-01-23 16:56:58',40,NULL,'Patient pa ajouté','2013-01-23 16:56:58','2014-12-21 12:50:33',1,NULL,NULL,21,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Patient pa ajouté\nAuteur: admin',21,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(134,NULL,1,'2013-01-23 17:34:00',NULL,50,NULL,'bbcv','2013-01-23 17:35:21','2013-01-23 16:35:21',1,NULL,1,2,NULL,0,1,NULL,NULL,0,0,1,-1,'',NULL,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(135,NULL,1,'2013-02-12 15:54:00','2013-02-12 15:54:00',40,NULL,'Facture FA1212-0011 validée dans Dolibarr','2013-02-12 15:54:37','2014-12-21 12:50:33',1,1,NULL,7,NULL,0,1,NULL,1,0,0,1,50,NULL,NULL,NULL,'Facture FA1212-0011 validée dans Dolibarr
\r\nAuteur: admin',13,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(136,NULL,1,'2013-02-12 17:06:51','2013-02-12 17:06:51',40,NULL,'Commande CO1107-0003 validée','2013-02-12 17:06:51','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Commande CO1107-0003 validée\nAuteur: admin',2,'order',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(137,NULL,1,'2013-02-17 16:22:10','2013-02-17 16:22:10',40,NULL,'Proposition PR1302-0009 validée','2013-02-17 16:22:10','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposition PR1302-0009 validée\nAuteur: admin',9,'propal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(138,NULL,1,'2013-02-17 16:27:00','2013-02-17 16:27:00',40,NULL,'Facture FA1302-0012 validée dans Dolibarr','2013-02-17 16:27:00','2014-12-21 12:50:33',1,NULL,NULL,18,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1302-0012 validée dans Dolibarr\nAuteur: admin',152,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(139,NULL,1,'2013-02-17 16:27:29','2013-02-17 16:27:29',40,NULL,'Proposition PR1302-0010 validée','2013-02-17 16:27:29','2014-12-21 12:50:33',1,NULL,NULL,18,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposition PR1302-0010 validée\nAuteur: admin',11,'propal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(140,NULL,1,'2013-02-17 18:27:56','2013-02-17 18:27:56',40,NULL,'Commande CO1107-0004 validée','2013-02-17 18:27:56','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Commande CO1107-0004 validée\nAuteur: admin',3,'order',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(141,NULL,1,'2013-02-17 18:38:14','2013-02-17 18:38:14',40,NULL,'Commande CO1302-0005 validée','2013-02-17 18:38:14','2014-12-21 12:50:33',1,NULL,NULL,18,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Commande CO1302-0005 validée\nAuteur: admin',7,'order',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(142,NULL,1,'2013-02-26 22:57:50','2013-02-26 22:57:50',40,NULL,'Company pppp added into Dolibarr','2013-02-26 22:57:50','2014-12-21 12:50:33',1,NULL,NULL,22,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Company pppp added into Dolibarr\nAuthor: admin',22,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(143,NULL,1,'2013-02-26 22:58:13','2013-02-26 22:58:13',40,NULL,'Company ttttt added into Dolibarr','2013-02-26 22:58:13','2014-12-21 12:50:33',1,NULL,NULL,23,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Company ttttt added into Dolibarr\nAuthor: admin',23,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(144,NULL,1,'2013-02-27 10:00:00','2013-02-27 19:20:00',5,NULL,'Rendez-vous','2013-02-27 19:20:53','2013-02-27 18:20:53',1,NULL,NULL,NULL,NULL,0,1,NULL,1,0,0,1,-1,'',33600,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(145,NULL,1,'2013-02-27 19:28:00',NULL,2,NULL,'fdsfsd','2013-02-27 19:28:48','2013-02-27 18:29:53',1,1,NULL,NULL,NULL,0,1,NULL,1,0,0,1,-1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(146,NULL,1,'2013-03-06 10:05:07','2013-03-06 10:05:07',40,NULL,'Contrat (PROV3) validé dans Dolibarr','2013-03-06 10:05:07','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Contrat (PROV3) validé dans Dolibarr\nAuteur: admin',3,'contract',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(147,NULL,1,'2013-03-06 16:43:37','2013-03-06 16:43:37',40,NULL,'Facture FA1307-0013 validée dans Dolibarr','2013-03-06 16:43:37','2014-12-21 12:50:33',1,NULL,NULL,12,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1307-0013 validée dans Dolibarr\nAuteur: admin',158,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(148,NULL,1,'2013-03-06 16:44:12','2013-03-06 16:44:12',40,NULL,'Facture FA1407-0014 validée dans Dolibarr','2013-03-06 16:44:12','2014-12-21 12:50:33',1,NULL,NULL,12,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1407-0014 validée dans Dolibarr\nAuteur: admin',159,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(149,NULL,1,'2013-03-06 16:47:48','2013-03-06 16:47:48',40,NULL,'Facture FA1507-0015 validée dans Dolibarr','2013-03-06 16:47:48','2014-12-21 12:50:33',1,NULL,NULL,12,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1507-0015 validée dans Dolibarr\nAuteur: admin',160,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(150,NULL,1,'2013-03-06 16:48:16','2013-03-06 16:48:16',40,NULL,'Facture FA1607-0016 validée dans Dolibarr','2013-03-06 16:48:16','2014-12-21 12:50:33',1,NULL,NULL,12,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1607-0016 validée dans Dolibarr\nAuteur: admin',161,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(151,NULL,1,'2013-03-06 17:13:59','2013-03-06 17:13:59',40,NULL,'Société smith smith ajoutée dans Dolibarr','2013-03-06 17:13:59','2014-12-21 12:50:33',1,NULL,NULL,24,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Société smith smith ajoutée dans Dolibarr\nAuteur: admin',24,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(152,NULL,1,'2013-03-08 10:02:22','2013-03-08 10:02:22',40,NULL,'Proposition (PROV12) validée dans Dolibarr','2013-03-08 10:02:22','2014-12-21 12:50:33',1,NULL,NULL,23,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Proposition (PROV12) validée dans Dolibarr\nAuteur: admin',12,'propal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(203,NULL,1,'2013-03-09 19:39:27','2013-03-09 19:39:27',40,'AC_ORDER_SUPPLIER_VALIDATE','Commande CF1303-0004 validée','2013-03-09 19:39:27','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Commande CF1303-0004 validée\nAuteur: admin',13,'order_supplier',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(204,NULL,1,'2013-03-10 15:47:37','2013-03-10 15:47:37',40,'AC_COMPANY_CREATE','Patient créé','2013-03-10 15:47:37','2014-12-21 12:50:33',1,NULL,NULL,25,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Patient créé\nAuteur: admin',25,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(205,NULL,1,'2013-03-10 15:57:32','2013-03-10 15:57:32',40,'AC_COMPANY_CREATE','Tiers créé','2013-03-10 15:57:32','2014-12-21 12:50:33',1,NULL,NULL,26,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Tiers créé\nAuteur: admin',26,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(206,NULL,1,'2013-03-10 15:58:28','2013-03-10 15:58:28',40,'AC_BILL_VALIDATE','Facture FA1303-0017 validée','2013-03-10 15:58:28','2014-12-21 12:50:33',1,NULL,NULL,26,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1303-0017 validée\nAuteur: admin',208,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(207,NULL,1,'2013-03-19 09:38:10','2013-03-19 09:38:10',40,'AC_BILL_VALIDATE','Facture FA1303-0018 validée','2013-03-19 09:38:10','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1303-0018 validée\nAuteur: admin',209,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(208,NULL,1,'2013-03-20 14:30:11','2013-03-20 14:30:11',40,'AC_BILL_VALIDATE','Facture FA1107-0019 validée','2013-03-20 14:30:11','2014-12-21 12:50:33',1,NULL,NULL,10,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1107-0019 validée\nAuteur: admin',210,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(209,NULL,1,'2013-03-22 09:40:25','2013-03-22 09:40:25',40,'AC_BILL_VALIDATE','Facture FA1303-0020 validée','2013-03-22 09:40:25','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1303-0020 validée\nAuteur: admin',211,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(210,NULL,1,'2013-03-23 17:16:25','2013-03-23 17:16:25',40,'AC_BILL_VALIDATE','Facture FA1303-0020 validée','2013-03-23 17:16:25','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1303-0020 validée\nAuteur: admin',211,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(211,NULL,1,'2013-03-23 18:08:27','2013-03-23 18:08:27',40,'AC_BILL_VALIDATE','Facture FA1307-0013 validée','2013-03-23 18:08:27','2014-12-21 12:50:33',1,NULL,NULL,12,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1307-0013 validée\nAuteur: admin',158,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(212,NULL,1,'2013-03-24 15:54:00','2013-03-24 15:54:00',40,'AC_BILL_VALIDATE','Facture FA1212-0021 validée','2013-03-24 15:54:00','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,NULL,1,0,0,1,-1,'',NULL,NULL,'Facture FA1212-0021 validée\nAuteur: admin',32,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(213,NULL,1,'2013-11-07 01:02:39','2013-11-07 01:02:39',40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:02:39','2014-12-21 12:50:33',1,NULL,NULL,27,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',27,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(214,NULL,1,'2013-11-07 01:05:22','2013-11-07 01:05:22',40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:05:22','2014-12-21 12:50:33',1,NULL,NULL,28,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',28,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(215,NULL,1,'2013-11-07 01:07:07','2013-11-07 01:07:07',40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:07:07','2014-12-21 12:50:33',1,NULL,NULL,29,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',29,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(216,NULL,1,'2013-11-07 01:07:58','2013-11-07 01:07:58',40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:07:58','2014-12-21 12:50:33',1,NULL,NULL,30,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',30,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(217,NULL,1,'2013-11-07 01:10:09','2013-11-07 01:10:09',40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:10:09','2014-12-21 12:50:33',1,NULL,NULL,31,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',31,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(218,NULL,1,'2013-11-07 01:15:57','2013-11-07 01:15:57',40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:15:57','2014-12-21 12:50:33',1,NULL,NULL,32,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',32,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(219,NULL,1,'2013-11-07 01:16:51','2013-11-07 01:16:51',40,'AC_COMPANY_CREATE','Third party created','2013-11-07 01:16:51','2014-12-21 12:50:33',1,NULL,NULL,33,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Third party created\nAuthor: admin',33,'societe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(220,NULL,1,'2014-03-02 17:24:04','2014-03-02 17:24:04',40,'AC_BILL_VALIDATE','Invoice FA1302-0022 validated','2014-03-02 17:24:04','2014-12-21 12:50:33',1,NULL,NULL,18,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1302-0022 validated\nAuthor: admin',157,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(221,NULL,1,'2014-03-02 17:24:28','2014-03-02 17:24:28',40,'AC_BILL_VALIDATE','Invoice FA1303-0020 validated','2014-03-02 17:24:28','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1303-0020 validated\nAuthor: admin',211,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(222,NULL,1,'2014-03-05 10:00:00','2014-03-05 10:00:00',5,NULL,'RDV John','2014-03-02 19:54:48','2014-03-02 18:55:29',1,1,NULL,NULL,NULL,0,1,0,NULL,0,0,1,-1,NULL,NULL,NULL,'gfdgdfgdf',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(223,NULL,1,'2014-03-13 10:00:00','2014-03-17 00:00:00',50,NULL,'Congress','2014-03-02 19:55:11','2014-03-02 18:55:11',1,NULL,NULL,NULL,NULL,0,1,0,NULL,0,0,1,-1,'',309600,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(224,NULL,1,'2014-03-14 10:00:00',NULL,1,NULL,'Call john','2014-03-02 19:55:56','2014-03-02 18:55:56',1,NULL,NULL,NULL,NULL,0,1,0,NULL,0,0,1,0,'',NULL,NULL,'tttt',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(225,NULL,1,'2014-03-02 20:11:31','2014-03-02 20:11:31',40,'AC_BILL_UNVALIDATE','Invoice FA1303-0020 go back to draft status','2014-03-02 20:11:31','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1303-0020 go back to draft status\nAuthor: admin',211,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(226,NULL,1,'2014-03-02 20:13:39','2014-03-02 20:13:39',40,'AC_BILL_VALIDATE','Invoice FA1303-0020 validated','2014-03-02 20:13:39','2014-12-21 12:50:33',1,NULL,NULL,19,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1303-0020 validated\nAuthor: admin',211,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(227,NULL,1,'2014-03-03 19:20:10','2014-03-03 19:20:10',40,'AC_BILL_VALIDATE','Invoice FA1212-0023 validated','2014-03-03 19:20:10','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1212-0023 validated\nAuthor: admin',33,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(228,NULL,1,'2014-03-03 19:20:25','2014-03-03 19:20:25',40,'AC_BILL_CANCEL','Invoice FA1212-0023 canceled in Dolibarr','2014-03-03 19:20:25','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Invoice FA1212-0023 canceled in Dolibarr\nAuthor: admin',33,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(229,NULL,1,'2014-03-03 19:20:56','2014-03-03 19:20:56',40,'AC_BILL_VALIDATE','Invoice AV1403-0003 validated','2014-03-03 19:20:56','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Invoice AV1403-0003 validated\nAuthor: admin',212,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(230,NULL,1,'2014-03-03 19:21:29','2014-03-03 19:21:29',40,'AC_BILL_UNVALIDATE','Invoice AV1403-0003 go back to draft status','2014-03-03 19:21:29','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Invoice AV1403-0003 go back to draft status\nAuthor: admin',212,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(231,NULL,1,'2014-03-03 19:22:16','2014-03-03 19:22:16',40,'AC_BILL_VALIDATE','Invoice AV1303-0003 validated','2014-03-03 19:22:16','2014-12-21 12:50:33',1,NULL,NULL,1,NULL,0,1,0,1,0,0,1,-1,'',NULL,NULL,'Invoice AV1303-0003 validated\nAuthor: admin',213,'invoice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(232,NULL,1,'2016-01-22 18:54:39','2016-01-22 18:54:39',40,'AC_OTH_AUTO','Invoice 16 validated','2016-01-22 18:54:39','2016-01-22 17:54:39',12,NULL,NULL,1,NULL,0,12,0,NULL,0,0,1,-1,'',NULL,NULL,'Invoice 16 validated\nAuthor: admin',16,'invoice_supplier',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(233,NULL,1,'2016-01-22 18:54:46','2016-01-22 18:54:46',40,'AC_OTH_AUTO','Invoice 16 validated','2016-01-22 18:54:46','2016-01-22 17:54:46',12,NULL,NULL,1,NULL,0,12,0,NULL,0,0,1,-1,'',NULL,NULL,'Invoice 16 validated\nAuthor: admin',16,'invoice_supplier',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +/*!40000 ALTER TABLE `llx_actioncomm` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_actioncomm_extrafields` +-- + +DROP TABLE IF EXISTS `llx_actioncomm_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_actioncomm_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_actioncomm_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_actioncomm_extrafields` +-- + +LOCK TABLES `llx_actioncomm_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_actioncomm_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_actioncomm_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_actioncomm_resources` +-- + +DROP TABLE IF EXISTS `llx_actioncomm_resources`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_actioncomm_resources` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_actioncomm` int(11) NOT NULL, + `element_type` varchar(50) NOT NULL, + `fk_element` int(11) NOT NULL, + `answer_status` varchar(50) DEFAULT NULL, + `mandatory` smallint(6) DEFAULT NULL, + `transparency` smallint(6) DEFAULT '1', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_actioncomm_resources` (`fk_actioncomm`,`element_type`,`fk_element`), + KEY `idx_actioncomm_resources_fk_element` (`fk_element`) +) ENGINE=InnoDB AUTO_INCREMENT=112 DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_actioncomm_resources` +-- + +LOCK TABLES `llx_actioncomm_resources` WRITE; +/*!40000 ALTER TABLE `llx_actioncomm_resources` DISABLE KEYS */; +INSERT INTO `llx_actioncomm_resources` VALUES (1,1,'user',1,NULL,NULL,1),(2,2,'user',1,NULL,NULL,1),(3,3,'user',1,NULL,NULL,1),(4,4,'user',1,NULL,NULL,1),(5,5,'user',1,NULL,NULL,1),(6,6,'user',1,NULL,NULL,1),(7,7,'user',1,NULL,NULL,1),(8,8,'user',1,NULL,NULL,1),(9,9,'user',1,NULL,NULL,1),(10,10,'user',1,NULL,NULL,1),(11,11,'user',1,NULL,NULL,1),(12,12,'user',1,NULL,NULL,1),(13,13,'user',1,NULL,NULL,1),(14,14,'user',1,NULL,NULL,1),(15,15,'user',1,NULL,NULL,1),(16,16,'user',1,NULL,NULL,1),(17,17,'user',1,NULL,NULL,1),(18,18,'user',1,NULL,NULL,1),(19,19,'user',1,NULL,NULL,1),(20,20,'user',1,NULL,NULL,1),(21,21,'user',1,NULL,NULL,1),(22,22,'user',1,NULL,NULL,1),(23,23,'user',1,NULL,NULL,1),(24,24,'user',1,NULL,NULL,1),(25,25,'user',1,NULL,NULL,1),(26,26,'user',1,NULL,NULL,1),(27,27,'user',1,NULL,NULL,1),(28,28,'user',1,NULL,NULL,1),(29,29,'user',1,NULL,NULL,1),(30,30,'user',1,NULL,NULL,1),(31,31,'user',1,NULL,NULL,1),(32,38,'user',1,NULL,NULL,1),(33,40,'user',1,NULL,NULL,1),(34,41,'user',1,NULL,NULL,1),(35,42,'user',1,NULL,NULL,1),(36,43,'user',1,NULL,NULL,1),(37,44,'user',1,NULL,NULL,1),(38,45,'user',1,NULL,NULL,1),(39,46,'user',1,NULL,NULL,1),(40,47,'user',1,NULL,NULL,1),(41,48,'user',1,NULL,NULL,1),(42,49,'user',1,NULL,NULL,1),(43,50,'user',1,NULL,NULL,1),(44,51,'user',1,NULL,NULL,1),(45,52,'user',1,NULL,NULL,1),(46,53,'user',1,NULL,NULL,1),(47,54,'user',1,NULL,NULL,1),(48,55,'user',1,NULL,NULL,1),(49,56,'user',1,NULL,NULL,1),(50,121,'user',3,NULL,NULL,1),(51,122,'user',1,NULL,NULL,1),(52,123,'user',1,NULL,NULL,1),(53,124,'user',1,NULL,NULL,1),(54,125,'user',1,NULL,NULL,1),(55,127,'user',1,NULL,NULL,1),(56,128,'user',1,NULL,NULL,1),(57,129,'user',1,NULL,NULL,1),(58,130,'user',1,NULL,NULL,1),(59,131,'user',1,NULL,NULL,1),(60,132,'user',1,NULL,NULL,1),(61,133,'user',1,NULL,NULL,1),(62,134,'user',1,NULL,NULL,1),(63,135,'user',1,NULL,NULL,1),(64,136,'user',1,NULL,NULL,1),(65,137,'user',1,NULL,NULL,1),(66,138,'user',1,NULL,NULL,1),(67,139,'user',1,NULL,NULL,1),(68,140,'user',1,NULL,NULL,1),(69,141,'user',1,NULL,NULL,1),(70,142,'user',1,NULL,NULL,1),(71,143,'user',1,NULL,NULL,1),(72,144,'user',1,NULL,NULL,1),(73,145,'user',1,NULL,NULL,1),(74,146,'user',1,NULL,NULL,1),(75,147,'user',1,NULL,NULL,1),(76,148,'user',1,NULL,NULL,1),(77,149,'user',1,NULL,NULL,1),(78,150,'user',1,NULL,NULL,1),(79,151,'user',1,NULL,NULL,1),(80,152,'user',1,NULL,NULL,1),(81,203,'user',1,NULL,NULL,1),(82,204,'user',1,NULL,NULL,1),(83,205,'user',1,NULL,NULL,1),(84,206,'user',1,NULL,NULL,1),(85,207,'user',1,NULL,NULL,1),(86,208,'user',1,NULL,NULL,1),(87,209,'user',1,NULL,NULL,1),(88,210,'user',1,NULL,NULL,1),(89,211,'user',1,NULL,NULL,1),(90,212,'user',1,NULL,NULL,1),(91,213,'user',1,NULL,NULL,1),(92,214,'user',1,NULL,NULL,1),(93,215,'user',1,NULL,NULL,1),(94,216,'user',1,NULL,NULL,1),(95,217,'user',1,NULL,NULL,1),(96,218,'user',1,NULL,NULL,1),(97,219,'user',1,NULL,NULL,1),(98,220,'user',1,NULL,NULL,1),(99,221,'user',1,NULL,NULL,1),(100,222,'user',1,NULL,NULL,1),(101,223,'user',1,NULL,NULL,1),(102,224,'user',1,NULL,NULL,1),(103,225,'user',1,NULL,NULL,1),(104,226,'user',1,NULL,NULL,1),(105,227,'user',1,NULL,NULL,1),(106,228,'user',1,NULL,NULL,1),(107,229,'user',1,NULL,NULL,1),(108,230,'user',1,NULL,NULL,1),(109,231,'user',1,NULL,NULL,1),(110,232,'user',12,'0',0,0),(111,233,'user',12,'0',0,0); +/*!40000 ALTER TABLE `llx_actioncomm_resources` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_adherent` +-- + +DROP TABLE IF EXISTS `llx_adherent`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_adherent` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `ref_ext` varchar(128) DEFAULT NULL, + `civility` varchar(6) DEFAULT NULL, + `lastname` varchar(50) DEFAULT NULL, + `firstname` varchar(50) DEFAULT NULL, + `login` varchar(50) DEFAULT NULL, + `pass` varchar(50) DEFAULT NULL, + `pass_crypted` varchar(128) DEFAULT NULL, + `fk_adherent_type` int(11) NOT NULL, + `morphy` varchar(3) NOT NULL, + `societe` varchar(128) DEFAULT NULL, + `fk_soc` int(11) DEFAULT NULL, + `address` text, + `zip` varchar(10) DEFAULT NULL, + `town` varchar(50) DEFAULT NULL, + `state_id` varchar(50) DEFAULT NULL, + `country` varchar(50) DEFAULT NULL, + `email` varchar(255) DEFAULT NULL, + `skype` varchar(255) DEFAULT NULL, + `phone` varchar(30) DEFAULT NULL, + `phone_perso` varchar(30) DEFAULT NULL, + `phone_mobile` varchar(30) DEFAULT NULL, + `birth` date DEFAULT NULL, + `photo` varchar(255) DEFAULT NULL, + `statut` smallint(6) NOT NULL DEFAULT '0', + `public` smallint(6) NOT NULL DEFAULT '0', + `datefin` datetime DEFAULT NULL, + `note_private` text, + `note_public` text, + `datevalid` datetime DEFAULT NULL, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_mod` int(11) DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `canvas` varchar(32) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_adherent_login` (`login`,`entity`), + UNIQUE KEY `uk_adherent_fk_soc` (`fk_soc`), + KEY `idx_adherent_fk_adherent_type` (`fk_adherent_type`), + CONSTRAINT `adherent_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`), + CONSTRAINT `fk_adherent_adherent_type` FOREIGN KEY (`fk_adherent_type`) REFERENCES `llx_adherent_type` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_adherent` +-- + +LOCK TABLES `llx_adherent` WRITE; +/*!40000 ALTER TABLE `llx_adherent` DISABLE KEYS */; +INSERT INTO `llx_adherent` VALUES (1,1,NULL,NULL,'Smith','Vick','vsmith','vsx1n8tf',NULL,2,'phy',NULL,10,NULL,NULL,NULL,NULL,'102','vsmith@email.com',NULL,NULL,NULL,NULL,'1960-07-07',NULL,1,0,'2012-07-09 00:00:00',NULL,NULL,'2010-07-10 15:12:56','2010-07-08 23:50:00','2013-03-20 13:30:11',1,1,1,NULL,NULL),(2,1,NULL,NULL,'Curie','Pierre','pcurie','pcuriedolibarr',NULL,2,'phy',NULL,12,NULL,NULL,NULL,NULL,'1','pcurie@example.com','',NULL,NULL,NULL,'1972-07-08',NULL,1,1,'2017-07-17 00:00:00',NULL,NULL,'2010-07-10 15:03:32','2010-07-10 15:03:09','2015-10-05 19:57:57',1,12,1,NULL,NULL),(3,1,NULL,NULL,'john','doe','john','8bs6gty5',NULL,2,'phy',NULL,NULL,NULL,NULL,NULL,NULL,'1','johndoe@email.com',NULL,NULL,NULL,NULL,NULL,NULL,1,0,NULL,NULL,NULL,'2011-07-18 21:28:00','2011-07-18 21:10:09','2015-10-03 09:28:46',1,1,1,NULL,NULL),(4,1,NULL,NULL,'smith','smith','Smith','s6hjp10f',NULL,2,'phy',NULL,NULL,NULL,NULL,NULL,NULL,'11','smith@email.com',NULL,NULL,NULL,NULL,NULL,NULL,1,0,NULL,NULL,NULL,'2011-07-18 21:27:52','2011-07-18 21:27:44','2015-10-03 09:40:27',1,1,1,NULL,NULL); +/*!40000 ALTER TABLE `llx_adherent` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_adherent_extrafields` +-- + +DROP TABLE IF EXISTS `llx_adherent_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_adherent_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `zzz` varchar(125) DEFAULT NULL, + `aaa` varchar(255) DEFAULT NULL, + `sssss` varchar(255) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_adherent_options` (`fk_object`), + KEY `idx_adherent_extrafields` (`fk_object`) +) ENGINE=InnoDB AUTO_INCREMENT=64 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_adherent_extrafields` +-- + +LOCK TABLES `llx_adherent_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_adherent_extrafields` DISABLE KEYS */; +INSERT INTO `llx_adherent_extrafields` VALUES (62,'2011-07-18 19:10:09',3,NULL,NULL,NULL,NULL),(63,'2011-07-18 19:27:44',4,NULL,NULL,NULL,NULL); +/*!40000 ALTER TABLE `llx_adherent_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_adherent_type` +-- + +DROP TABLE IF EXISTS `llx_adherent_type`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_adherent_type` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `statut` smallint(6) NOT NULL DEFAULT '0', + `libelle` varchar(50) NOT NULL, + `cotisation` varchar(3) NOT NULL DEFAULT 'yes', + `vote` varchar(3) NOT NULL DEFAULT 'yes', + `note` text, + `mail_valid` text, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_adherent_type_libelle` (`libelle`,`entity`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_adherent_type` +-- + +LOCK TABLES `llx_adherent_type` WRITE; +/*!40000 ALTER TABLE `llx_adherent_type` DISABLE KEYS */; +INSERT INTO `llx_adherent_type` VALUES (1,1,'2010-07-08 21:41:55',1,'Board members','1','1','','
'),(2,1,'2010-07-08 21:41:43',1,'Standard members','1','0','','
'); +/*!40000 ALTER TABLE `llx_adherent_type` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_adherent_type_extrafields` +-- + +DROP TABLE IF EXISTS `llx_adherent_type_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_adherent_type_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_adherent_type_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_adherent_type_extrafields` +-- + +LOCK TABLES `llx_adherent_type_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_adherent_type_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_adherent_type_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_advtargetemailing` +-- + +DROP TABLE IF EXISTS `llx_advtargetemailing`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_advtargetemailing` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(200) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `fk_mailing` int(11) NOT NULL, + `filtervalue` text, + `fk_user_author` int(11) NOT NULL, + `datec` datetime NOT NULL, + `fk_user_mod` int(11) NOT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_advtargetemailing_name` (`name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_advtargetemailing` +-- + +LOCK TABLES `llx_advtargetemailing` WRITE; +/*!40000 ALTER TABLE `llx_advtargetemailing` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_advtargetemailing` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_bank` +-- + +DROP TABLE IF EXISTS `llx_bank`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_bank` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datev` date DEFAULT NULL, + `dateo` date DEFAULT NULL, + `amount` double(24,8) NOT NULL DEFAULT '0.00000000', + `label` varchar(255) DEFAULT NULL, + `fk_account` int(11) DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_rappro` int(11) DEFAULT NULL, + `fk_type` varchar(6) DEFAULT NULL, + `num_releve` varchar(50) DEFAULT NULL, + `num_chq` varchar(50) DEFAULT NULL, + `rappro` tinyint(4) DEFAULT '0', + `note` text, + `fk_bordereau` int(11) DEFAULT '0', + `banque` varchar(255) DEFAULT NULL, + `emetteur` varchar(255) DEFAULT NULL, + `author` varchar(40) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_bank_datev` (`datev`), + KEY `idx_bank_dateo` (`dateo`), + KEY `idx_bank_fk_account` (`fk_account`), + KEY `idx_bank_rappro` (`rappro`), + KEY `idx_bank_num_releve` (`num_releve`) +) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_bank` +-- + +LOCK TABLES `llx_bank` WRITE; +/*!40000 ALTER TABLE `llx_bank` DISABLE KEYS */; +INSERT INTO `llx_bank` VALUES (1,'2010-07-08 23:56:14','2016-07-30 15:16:10','2016-07-08','2016-07-08',2000.00000000,'(Initial balance)',1,NULL,1,'SOLD','201210',NULL,1,NULL,0,NULL,NULL,NULL),(2,'2010-07-09 00:00:24','2016-07-30 15:16:10','2016-07-09','2016-07-09',500.00000000,'(Initial balance)',2,NULL,NULL,'SOLD',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(3,'2010-07-10 13:33:42','2016-07-30 15:16:10','2016-07-10','2016-07-10',0.00000000,'(Solde initial)',3,NULL,NULL,'SOLD',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(5,'2011-07-18 20:50:24','2016-07-30 15:16:10','2016-07-08','2016-07-08',20.00000000,'(CustomerInvoicePayment)',1,1,NULL,'CB','201107',NULL,1,NULL,0,NULL,NULL,NULL),(6,'2011-07-18 20:50:47','2016-07-30 15:16:10','2016-07-08','2016-07-08',10.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(8,'2011-08-01 03:34:11','2016-07-30 15:21:31','2015-08-01','2015-08-01',5.63000000,'(CustomerInvoicePayment)',1,1,1,'CB','201210',NULL,1,NULL,0,NULL,NULL,NULL),(12,'2011-08-05 23:11:37','2016-07-30 15:21:31','2015-08-05','2015-08-05',-10.00000000,'(SocialContributionPayment)',1,1,1,'VIR','201210',NULL,1,NULL,0,NULL,NULL,NULL),(13,'2011-08-06 20:33:54','2016-07-30 15:21:31','2015-08-06','2015-08-06',5.98000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(14,'2011-08-08 02:53:40','2016-07-30 15:21:31','2015-08-08','2015-08-08',26.10000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(15,'2011-08-08 02:55:58','2016-07-30 15:21:31','2015-08-08','2015-08-08',26.96000000,'(CustomerInvoicePayment)',1,1,1,'TIP','201211',NULL,1,NULL,0,NULL,NULL,NULL),(16,'2012-12-09 15:28:44','2016-07-30 15:21:31','2015-12-09','2015-12-09',2.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(17,'2012-12-09 15:28:53','2016-07-30 15:21:31','2015-12-09','2015-12-09',-2.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(18,'2012-12-09 17:35:55','2016-07-30 15:21:31','2015-12-09','2015-12-09',-2.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(19,'2012-12-09 17:37:02','2016-07-30 15:21:31','2015-12-09','2015-12-09',2.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(20,'2012-12-09 18:35:07','2016-07-30 15:21:31','2015-12-09','2015-12-09',-2.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(21,'2012-12-12 18:54:33','2016-07-30 15:21:31','2015-12-12','2015-12-12',1.00000000,'(CustomerInvoicePayment)',1,1,1,'TIP','201210',NULL,1,NULL,0,NULL,NULL,NULL),(22,'2013-03-06 16:48:16','2016-07-30 15:16:10','2016-03-06','2016-03-06',20.00000000,'(SubscriptionPayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(23,'2013-03-20 14:30:11','2016-07-30 15:16:10','2016-03-20','2016-03-20',10.00000000,'(SubscriptionPayment)',1,1,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(24,'2014-03-02 19:57:58','2016-07-30 15:16:10','2016-07-09','2016-07-09',605.00000000,'(CustomerInvoicePayment)',1,1,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,'111',NULL),(26,'2014-03-02 20:01:39','2016-07-30 15:16:10','2016-03-19','2016-03-19',500.00000000,'(CustomerInvoicePayment)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(27,'2014-03-02 20:02:06','2016-07-30 15:16:10','2016-03-21','2016-03-21',400.00000000,'(CustomerInvoicePayment)',1,1,NULL,'VIR',NULL,NULL,0,NULL,0,NULL,'ABC and Co',NULL),(28,'2014-03-03 19:22:32','2016-07-30 15:21:31','2015-10-03','2015-10-03',-400.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(29,'2014-03-03 19:23:16','2016-07-30 15:16:10','2016-03-10','2016-03-10',-300.00000000,'(CustomerInvoicePaymentBack)',3,1,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(30,'2016-01-22 18:56:34','2016-01-22 17:56:34','2016-01-22','2016-01-22',-900.00000000,'(SupplierInvoicePayment)',1,12,NULL,'LIQ',NULL,NULL,0,NULL,0,NULL,NULL,NULL),(31,'2016-07-30 22:42:14','2016-07-30 14:42:14','2016-07-30','2016-07-30',0.00000000,'(Initial balance)',4,0,NULL,'SOLD',NULL,NULL,0,NULL,0,NULL,NULL,NULL); +/*!40000 ALTER TABLE `llx_bank` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_bank_account` +-- + +DROP TABLE IF EXISTS `llx_bank_account`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_bank_account` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `ref` varchar(12) NOT NULL, + `label` varchar(30) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `bank` varchar(60) DEFAULT NULL, + `code_banque` varchar(128) DEFAULT NULL, + `code_guichet` varchar(6) DEFAULT NULL, + `number` varchar(255) DEFAULT NULL, + `cle_rib` varchar(5) DEFAULT NULL, + `bic` varchar(11) DEFAULT NULL, + `iban_prefix` varchar(34) DEFAULT NULL, + `country_iban` varchar(2) DEFAULT NULL, + `cle_iban` varchar(2) DEFAULT NULL, + `domiciliation` varchar(255) DEFAULT NULL, + `state_id` varchar(50) DEFAULT NULL, + `fk_pays` int(11) NOT NULL, + `proprio` varchar(60) DEFAULT NULL, + `owner_address` text, + `courant` smallint(6) NOT NULL DEFAULT '0', + `clos` smallint(6) NOT NULL DEFAULT '0', + `rappro` smallint(6) DEFAULT '1', + `url` varchar(128) DEFAULT NULL, + `account_number` varchar(32) DEFAULT NULL, + `accountancy_journal` varchar(16) DEFAULT NULL, + `currency_code` varchar(3) NOT NULL, + `min_allowed` int(11) DEFAULT '0', + `min_desired` int(11) DEFAULT '0', + `comment` text, + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_bank_account_label` (`label`,`entity`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_bank_account` +-- + +LOCK TABLES `llx_bank_account` WRITE; +/*!40000 ALTER TABLE `llx_bank_account` DISABLE KEYS */; +INSERT INTO `llx_bank_account` VALUES (1,'2010-07-08 23:56:14','2016-07-30 14:45:12','SWIBAC','Swiss bank account',1,'Switz Gold Bank','','','123456789','','','NL39RABO0314043352',NULL,NULL,'21 jum street',NULL,6,'Mac Golder','11 big road,\r\nZurich',1,0,1,NULL,'','','EUR',1500,1500,'',NULL,NULL),(2,'2010-07-09 00:00:24','2016-07-30 15:17:18','SWIBAC2','Swiss bank account old',1,'Switz Silver Bank','','','','','','NL07SNSB0908534915',NULL,NULL,'Road bankrupt\r\nZurich',NULL,6,'','',1,1,1,NULL,'','','EUR',200,400,'',NULL,NULL),(3,'2010-07-10 13:33:42','2010-07-10 11:33:42','ACCOUNTCASH','Account for cash',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3',1,NULL,NULL,2,0,1,NULL,'',NULL,'EUR',0,0,'
',NULL,NULL),(4,'2016-07-30 18:42:14','2016-07-30 14:44:45','LUXBAC','Luxemburg Bank Account',1,'Lux Platinuium Bank','','','','','','NL46INGB0687674581',NULL,NULL,'',NULL,140,'','',1,0,1,NULL,'','','EUR',NULL,NULL,'',NULL,NULL); +/*!40000 ALTER TABLE `llx_bank_account` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_bank_account_extrafields` +-- + +DROP TABLE IF EXISTS `llx_bank_account_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_bank_account_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_bank_account_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_bank_account_extrafields` +-- + +LOCK TABLES `llx_bank_account_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_bank_account_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_bank_account_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_bank_categ` +-- + +DROP TABLE IF EXISTS `llx_bank_categ`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_bank_categ` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `label` varchar(255) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_bank_categ` +-- + +LOCK TABLES `llx_bank_categ` WRITE; +/*!40000 ALTER TABLE `llx_bank_categ` DISABLE KEYS */; +INSERT INTO `llx_bank_categ` VALUES (1,'Bank category one',1),(2,'Bank category two',1); +/*!40000 ALTER TABLE `llx_bank_categ` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_bank_class` +-- + +DROP TABLE IF EXISTS `llx_bank_class`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_bank_class` ( + `lineid` int(11) NOT NULL, + `fk_categ` int(11) NOT NULL, + UNIQUE KEY `uk_bank_class_lineid` (`lineid`,`fk_categ`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_bank_class` +-- + +LOCK TABLES `llx_bank_class` WRITE; +/*!40000 ALTER TABLE `llx_bank_class` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_bank_class` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_bank_url` +-- + +DROP TABLE IF EXISTS `llx_bank_url`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_bank_url` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_bank` int(11) DEFAULT NULL, + `url_id` int(11) DEFAULT NULL, + `url` varchar(255) DEFAULT NULL, + `label` varchar(255) DEFAULT NULL, + `type` varchar(24) NOT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_bank_url` (`fk_bank`,`type`) +) ENGINE=InnoDB AUTO_INCREMENT=55 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_bank_url` +-- + +LOCK TABLES `llx_bank_url` WRITE; +/*!40000 ALTER TABLE `llx_bank_url` DISABLE KEYS */; +INSERT INTO `llx_bank_url` VALUES (3,5,2,'/compta/paiement/card.php?id=','(paiement)','payment'),(4,5,2,'/comm/card.php?socid=','Belin SARL','company'),(5,6,3,'/compta/paiement/card.php?id=','(paiement)','payment'),(6,6,2,'/comm/card.php?socid=','Belin SARL','company'),(9,8,5,'/compta/paiement/card.php?id=','(paiement)','payment'),(10,8,7,'/comm/card.php?socid=','Generic customer','company'),(17,12,4,'/compta/payment_sc/card.php?id=','(paiement)','payment_sc'),(18,12,4,'/compta/charges.php?id=','Assurance Chomage (fff)','sc'),(19,13,6,'/dolibarrnew/compta/paiement/card.php?id=','(paiement)','payment'),(20,13,7,'/dolibarrnew/comm/card.php?socid=','Generic customer','company'),(21,14,8,'/compta/paiement/card.php?id=','(paiement)','payment'),(22,14,2,'/comm/card.php?socid=','Belin SARL','company'),(23,15,9,'/compta/paiement/card.php?id=','(paiement)','payment'),(24,15,10,'/comm/card.php?socid=','Smith Vick','company'),(25,16,17,'/dolibarrnew/compta/paiement/card.php?id=','(paiement)','payment'),(26,16,10,'/dolibarrnew/comm/card.php?socid=','Smith Vick','company'),(27,17,18,'/dolibarrnew/compta/paiement/card.php?id=','(paiement)','payment'),(28,17,10,'/dolibarrnew/comm/card.php?socid=','Smith Vick','company'),(29,18,19,'/dolibarrnew/compta/paiement/card.php?id=','(paiement)','payment'),(30,18,10,'/dolibarrnew/comm/card.php?socid=','Smith Vick','company'),(31,19,20,'/dolibarrnew/compta/paiement/card.php?id=','(paiement)','payment'),(32,19,10,'/dolibarrnew/comm/card.php?socid=','Smith Vick','company'),(33,20,21,'/dolibarrnew/compta/paiement/card.php?id=','(paiement)','payment'),(34,20,10,'/dolibarrnew/comm/card.php?socid=','Smith Vick','company'),(35,21,23,'/compta/paiement/card.php?id=','(paiement)','payment'),(36,21,1,'/comm/card.php?socid=','ABC and Co','company'),(37,22,24,'/dolibarrnew/compta/paiement/card.php?id=','(paiement)','payment'),(38,22,12,'/dolibarrnew/comm/card.php?socid=','Dupont Alain','company'),(39,23,25,'/dolibarrnew/compta/paiement/card.php?id=','(paiement)','payment'),(40,23,10,'/dolibarrnew/comm/card.php?socid=','Smith Vick','company'),(41,24,26,'/compta/paiement/card.php?id=','(paiement)','payment'),(42,24,1,'/comm/card.php?socid=','ABC and Co','company'),(45,26,29,'/compta/paiement/card.php?id=','(paiement)','payment'),(46,26,1,'/comm/card.php?socid=','ABC and Co','company'),(47,27,30,'/compta/paiement/card.php?id=','(paiement)','payment'),(48,27,1,'/comm/card.php?socid=','ABC and Co','company'),(49,28,32,'/dolibarr_new/compta/paiement/card.php?id=','(paiement)','payment'),(50,28,1,'/dolibarr_new/comm/card.php?socid=','ABC and Co','company'),(51,29,33,'/dolibarr_new/compta/paiement/card.php?id=','(paiement)','payment'),(52,29,1,'/dolibarr_new/comm/card.php?socid=','ABC and Co','company'),(53,30,1,'/dolibarr_3.8/htdocs/fourn/paiement/card.php?id=','(paiement)','payment_supplier'),(54,30,1,'/dolibarr_3.8/htdocs/fourn/card.php?socid=','Indian SAS','company'); +/*!40000 ALTER TABLE `llx_bank_url` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_bookmark` +-- + +DROP TABLE IF EXISTS `llx_bookmark`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_bookmark` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_soc` int(11) DEFAULT NULL, + `fk_user` int(11) NOT NULL, + `dateb` datetime DEFAULT NULL, + `url` varchar(255) NOT NULL, + `target` varchar(16) DEFAULT NULL, + `title` varchar(64) DEFAULT NULL, + `favicon` varchar(24) DEFAULT NULL, + `position` int(11) DEFAULT '0', + `entity` int(11) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_bookmark_url` (`fk_user`,`url`), + UNIQUE KEY `uk_bookmark_title` (`fk_user`,`title`) +) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_bookmark` +-- + +LOCK TABLES `llx_bookmark` WRITE; +/*!40000 ALTER TABLE `llx_bookmark` DISABLE KEYS */; +INSERT INTO `llx_bookmark` VALUES (1,NULL,0,'2010-07-09 01:29:03','http://wiki.dolibarr.org','1','Online documentation','none',1,1),(2,NULL,0,'2010-07-09 01:30:15','http://www.dolibarr.org','1','Official portal','none',2,1),(3,NULL,0,'2010-07-09 01:30:53','http://www.dolistore.com','1','DoliStore','none',10,1),(4,NULL,0,'2010-07-09 01:31:35','http://asso.dolibarr.org/index.php/Main_Page','1','The foundation','none',0,1),(5,NULL,0,'2014-03-02 16:40:41','http://www.facebook.com/dolibarr','1','Facebook page','none',50,1),(6,NULL,0,'2014-03-02 16:41:12','http://www.twitter.com/dolibarr','1','Twitter channel','none',60,1),(7,NULL,0,'2014-03-02 16:42:08','http://plus.google.com/+DolibarrOrg','1','Google+ page','none',55,1); +/*!40000 ALTER TABLE `llx_bookmark` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_bordereau_cheque` +-- + +DROP TABLE IF EXISTS `llx_bordereau_cheque`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_bordereau_cheque` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `datec` datetime NOT NULL, + `date_bordereau` date DEFAULT NULL, + `ref` varchar(30) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `amount` double(24,8) NOT NULL, + `nbcheque` smallint(6) NOT NULL, + `fk_bank_account` int(11) DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `note` text, + `statut` smallint(6) NOT NULL DEFAULT '0', + `ref_ext` varchar(255) DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_bordereau_cheque` (`ref`,`entity`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_bordereau_cheque` +-- + +LOCK TABLES `llx_bordereau_cheque` WRITE; +/*!40000 ALTER TABLE `llx_bordereau_cheque` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_bordereau_cheque` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_boxes` +-- + +DROP TABLE IF EXISTS `llx_boxes`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_boxes` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `box_id` int(11) NOT NULL, + `position` smallint(6) NOT NULL, + `box_order` varchar(3) NOT NULL, + `fk_user` int(11) NOT NULL DEFAULT '0', + `maxline` int(11) DEFAULT NULL, + `params` varchar(255) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_boxes` (`entity`,`box_id`,`position`,`fk_user`), + KEY `idx_boxes_boxid` (`box_id`), + KEY `idx_boxes_fk_user` (`fk_user`), + CONSTRAINT `fk_boxes_box_id` FOREIGN KEY (`box_id`) REFERENCES `llx_boxes_def` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=502 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_boxes` +-- + +LOCK TABLES `llx_boxes` WRITE; +/*!40000 ALTER TABLE `llx_boxes` DISABLE KEYS */; +INSERT INTO `llx_boxes` VALUES (253,2,323,0,'0',0,NULL,NULL),(304,2,324,0,'0',0,NULL,NULL),(305,2,325,0,'0',0,NULL,NULL),(306,2,326,0,'0',0,NULL,NULL),(307,2,327,0,'0',0,NULL,NULL),(308,2,328,0,'0',0,NULL,NULL),(309,2,329,0,'0',0,NULL,NULL),(310,2,330,0,'0',0,NULL,NULL),(311,2,331,0,'0',0,NULL,NULL),(312,2,332,0,'0',0,NULL,NULL),(313,2,333,0,'0',0,NULL,NULL),(314,1,347,0,'0',0,NULL,NULL),(315,1,348,0,'0',0,NULL,NULL),(316,1,349,0,'0',0,NULL,NULL),(317,1,350,0,'0',0,NULL,NULL),(344,1,374,0,'0',0,NULL,NULL),(347,1,377,0,'0',0,NULL,NULL),(348,1,378,0,'0',0,NULL,NULL),(349,1,379,0,'0',0,NULL,NULL),(354,1,384,0,'0',0,NULL,NULL),(355,1,385,0,'0',0,NULL,NULL),(356,1,386,0,'0',0,NULL,NULL),(357,1,387,0,'0',0,NULL,NULL),(358,1,388,0,'0',0,NULL,NULL),(359,1,389,0,'0',0,NULL,NULL),(360,1,390,0,'0',0,NULL,NULL),(361,1,391,0,'0',0,NULL,NULL),(362,1,392,0,'0',0,NULL,NULL),(363,1,393,0,'0',0,NULL,NULL),(366,1,396,0,'0',0,NULL,NULL),(387,1,403,0,'0',0,NULL,NULL),(392,1,409,0,'0',0,NULL,NULL),(393,1,410,0,'0',0,NULL,NULL),(394,1,411,0,'0',0,NULL,NULL),(395,1,412,0,'0',0,NULL,NULL),(396,1,413,0,'0',0,NULL,NULL),(397,1,414,0,'0',0,NULL,NULL),(398,1,415,0,'0',0,NULL,NULL),(399,1,416,0,'0',0,NULL,NULL),(400,1,417,0,'0',0,NULL,NULL),(401,1,418,0,'0',0,NULL,NULL),(492,1,386,0,'A01',12,NULL,NULL),(493,1,392,0,'A02',12,NULL,NULL),(494,1,412,0,'A03',12,NULL,NULL),(495,1,377,0,'A04',12,NULL,NULL),(496,1,387,0,'A05',12,NULL,NULL),(497,1,347,0,'A06',12,NULL,NULL),(498,1,396,0,'B01',12,NULL,NULL),(499,1,384,0,'B02',12,NULL,NULL),(500,1,385,0,'B03',12,NULL,NULL),(501,1,419,0,'0',0,NULL,NULL); +/*!40000 ALTER TABLE `llx_boxes` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_boxes_def` +-- + +DROP TABLE IF EXISTS `llx_boxes_def`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_boxes_def` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `file` varchar(200) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `note` varchar(130) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_boxes_def` (`file`,`entity`,`note`) +) ENGINE=InnoDB AUTO_INCREMENT=420 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_boxes_def` +-- + +LOCK TABLES `llx_boxes_def` WRITE; +/*!40000 ALTER TABLE `llx_boxes_def` DISABLE KEYS */; +INSERT INTO `llx_boxes_def` VALUES (188,'box_services_vendus.php',1,'2011-08-05 20:40:27',NULL),(323,'box_actions.php',2,'2013-03-13 15:29:19',NULL),(324,'box_clients.php',2,'2013-03-13 20:21:35',NULL),(325,'box_prospect.php',2,'2013-03-13 20:21:35',NULL),(326,'box_contacts.php',2,'2013-03-13 20:21:35',NULL),(327,'box_activity.php',2,'2013-03-13 20:21:35','(WarningUsingThisBoxSlowDown)'),(328,'box_propales.php',2,'2013-03-13 20:32:38',NULL),(329,'box_comptes.php',2,'2013-03-13 20:33:09',NULL),(330,'box_factures_imp.php',2,'2013-03-13 20:33:09',NULL),(331,'box_factures.php',2,'2013-03-13 20:33:09',NULL),(332,'box_produits.php',2,'2013-03-13 20:33:09',NULL),(333,'box_produits_alerte_stock.php',2,'2013-03-13 20:33:09',NULL),(346,'box_googlemaps@google',1,'2013-11-07 00:01:39',NULL),(347,'box_clients.php',1,'2015-11-15 22:05:57',NULL),(348,'box_prospect.php',1,'2015-11-15 22:05:57',NULL),(349,'box_contacts.php',1,'2015-11-15 22:05:57',NULL),(350,'box_activity.php',1,'2015-11-15 22:05:57','(WarningUsingThisBoxSlowDown)'),(374,'box_services_contracts.php',1,'2015-11-15 22:38:37',NULL),(377,'box_project.php',1,'2015-11-15 22:38:44',NULL),(378,'box_task.php',1,'2015-11-15 22:38:44',NULL),(379,'box_members.php',1,'2015-11-15 22:39:17',NULL),(384,'box_factures_imp.php',1,'2015-11-15 22:39:46',NULL),(385,'box_factures.php',1,'2015-11-15 22:39:46',NULL),(386,'box_graph_invoices_permonth.php',1,'2015-11-15 22:39:46',NULL),(387,'box_comptes.php',1,'2015-11-15 22:39:46',NULL),(388,'box_contracts.php',1,'2015-11-15 22:39:52',NULL),(389,'box_services_expired.php',1,'2015-11-15 22:39:52',NULL),(390,'box_ficheinter.php',1,'2015-11-15 22:39:56',NULL),(391,'box_bookmarks.php',1,'2015-11-15 22:40:51',NULL),(392,'box_graph_propales_permonth.php',1,'2015-11-15 22:41:47',NULL),(393,'box_propales.php',1,'2015-11-15 22:41:47',NULL),(396,'box_graph_product_distribution.php',1,'2015-11-15 22:41:47',NULL),(403,'box_goodcustomers.php',1,'2016-07-30 11:13:20','(WarningUsingThisBoxSlowDown)'),(404,'box_external_rss.php',1,'2016-07-30 11:15:25','1 (Dolibarr.org News)'),(409,'box_produits.php',1,'2016-07-30 13:38:11',NULL),(410,'box_produits_alerte_stock.php',1,'2016-07-30 13:38:11',NULL),(411,'box_commandes.php',1,'2016-07-30 13:38:11',NULL),(412,'box_graph_orders_permonth.php',1,'2016-07-30 13:38:11',NULL),(413,'box_graph_invoices_supplier_permonth.php',1,'2016-07-30 13:38:11',NULL),(414,'box_graph_orders_supplier_permonth.php',1,'2016-07-30 13:38:11',NULL),(415,'box_fournisseurs.php',1,'2016-07-30 13:38:11',NULL),(416,'box_factures_fourn_imp.php',1,'2016-07-30 13:38:11',NULL),(417,'box_factures_fourn.php',1,'2016-07-30 13:38:11',NULL),(418,'box_supplier_orders.php',1,'2016-07-30 13:38:11',NULL),(419,'box_actions.php',1,'2016-07-30 15:42:32',NULL); +/*!40000 ALTER TABLE `llx_boxes_def` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_budget` +-- + +DROP TABLE IF EXISTS `llx_budget`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_budget` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `label` varchar(255) NOT NULL, + `status` int(11) DEFAULT NULL, + `note` text, + `date_start` date DEFAULT NULL, + `date_end` date DEFAULT NULL, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_user_creat` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + `import_key` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_budget` +-- + +LOCK TABLES `llx_budget` WRITE; +/*!40000 ALTER TABLE `llx_budget` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_budget` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_budget_lines` +-- + +DROP TABLE IF EXISTS `llx_budget_lines`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_budget_lines` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_budget` int(11) NOT NULL, + `fk_project_ids` varchar(255) NOT NULL, + `amount` double(24,8) NOT NULL, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_user_creat` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + `import_key` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_budget_lines` (`fk_budget`,`fk_project_ids`), + CONSTRAINT `fk_budget_lines_budget` FOREIGN KEY (`fk_budget`) REFERENCES `llx_budget` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_budget_lines` +-- + +LOCK TABLES `llx_budget_lines` WRITE; +/*!40000 ALTER TABLE `llx_budget_lines` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_budget_lines` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_accounting_category` +-- + +DROP TABLE IF EXISTS `llx_c_accounting_category`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_accounting_category` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(16) NOT NULL, + `label` varchar(255) NOT NULL, + `range_account` varchar(255) NOT NULL, + `sens` tinyint(4) NOT NULL DEFAULT '0', + `category_type` tinyint(4) NOT NULL DEFAULT '0', + `formula` varchar(255) NOT NULL, + `position` int(11) DEFAULT '0', + `fk_country` int(11) DEFAULT NULL, + `active` int(11) DEFAULT '1', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_accounting_category` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_accounting_category` +-- + +LOCK TABLES `llx_c_accounting_category` WRITE; +/*!40000 ALTER TABLE `llx_c_accounting_category` DISABLE KEYS */; +INSERT INTO `llx_c_accounting_category` VALUES (1,'VTE','Ventes de marchandises','707xxx',0,0,'',10,1,1),(2,'MAR','Coût d achats marchandises vendues','603xxx | 607xxx | 609xxx',0,0,'',20,1,1),(3,'MARGE','Marge commerciale','',0,1,'1 + 2',30,1,1); +/*!40000 ALTER TABLE `llx_c_accounting_category` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_action_trigger` +-- + +DROP TABLE IF EXISTS `llx_c_action_trigger`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_action_trigger` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(32) NOT NULL, + `label` varchar(128) NOT NULL, + `description` varchar(255) DEFAULT NULL, + `elementtype` varchar(16) NOT NULL, + `rang` int(11) DEFAULT '0', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_action_trigger_code` (`code`), + KEY `idx_action_trigger_rang` (`rang`) +) ENGINE=InnoDB AUTO_INCREMENT=180 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_action_trigger` +-- + +LOCK TABLES `llx_c_action_trigger` WRITE; +/*!40000 ALTER TABLE `llx_c_action_trigger` DISABLE KEYS */; +INSERT INTO `llx_c_action_trigger` VALUES (131,'COMPANY_SENTBYMAIL','Mails sent from third party card','Executed when you send email from third party card','societe',1),(132,'COMPANY_CREATE','Third party created','Executed when a third party is created','societe',1),(133,'PROPAL_VALIDATE','Customer proposal validated','Executed when a commercial proposal is validated','propal',2),(134,'PROPAL_SENTBYMAIL','Commercial proposal sent by mail','Executed when a commercial proposal is sent by mail','propal',3),(135,'ORDER_VALIDATE','Customer order validate','Executed when a customer order is validated','commande',4),(136,'ORDER_CLOSE','Customer order classify delivered','Executed when a customer order is set delivered','commande',5),(137,'ORDER_CLASSIFY_BILLED','Customer order classify billed','Executed when a customer order is set to billed','commande',5),(138,'ORDER_CANCEL','Customer order canceled','Executed when a customer order is canceled','commande',5),(139,'ORDER_SENTBYMAIL','Customer order sent by mail','Executed when a customer order is sent by mail ','commande',5),(140,'BILL_VALIDATE','Customer invoice validated','Executed when a customer invoice is approved','facture',6),(141,'BILL_PAYED','Customer invoice payed','Executed when a customer invoice is payed','facture',7),(142,'BILL_CANCEL','Customer invoice canceled','Executed when a customer invoice is conceled','facture',8),(143,'BILL_SENTBYMAIL','Customer invoice sent by mail','Executed when a customer invoice is sent by mail','facture',9),(144,'BILL_UNVALIDATE','Customer invoice unvalidated','Executed when a customer invoice status set back to draft','facture',10),(145,'ORDER_SUPPLIER_VALIDATE','Supplier order validated','Executed when a supplier order is validated','order_supplier',11),(146,'ORDER_SUPPLIER_APPROVE','Supplier order request approved','Executed when a supplier order is approved','order_supplier',12),(147,'ORDER_SUPPLIER_REFUSE','Supplier order request refused','Executed when a supplier order is refused','order_supplier',13),(148,'ORDER_SUPPLIER_SENTBYMAIL','Supplier order sent by mail','Executed when a supplier order is sent by mail','order_supplier',14),(149,'BILL_SUPPLIER_VALIDATE','Supplier invoice validated','Executed when a supplier invoice is validated','invoice_supplier',15),(150,'BILL_SUPPLIER_PAYED','Supplier invoice payed','Executed when a supplier invoice is payed','invoice_supplier',16),(151,'BILL_SUPPLIER_SENTBYMAIL','Supplier invoice sent by mail','Executed when a supplier invoice is sent by mail','invoice_supplier',17),(152,'BILL_SUPPLIER_CANCELED','Supplier invoice cancelled','Executed when a supplier invoice is cancelled','invoice_supplier',17),(153,'CONTRACT_VALIDATE','Contract validated','Executed when a contract is validated','contrat',18),(154,'SHIPPING_VALIDATE','Shipping validated','Executed when a shipping is validated','shipping',20),(155,'SHIPPING_SENTBYMAIL','Shipping sent by mail','Executed when a shipping is sent by mail','shipping',21),(156,'MEMBER_VALIDATE','Member validated','Executed when a member is validated','member',22),(157,'MEMBER_SUBSCRIPTION','Member subscribed','Executed when a member is subscribed','member',23),(158,'MEMBER_RESILIATE','Member resiliated','Executed when a member is resiliated','member',24),(159,'MEMBER_MODIFY','Member modified','Executed when a member is modified','member',24),(160,'MEMBER_DELETE','Member deleted','Executed when a member is deleted','member',25),(161,'FICHINTER_VALIDATE','Intervention validated','Executed when a intervention is validated','ficheinter',19),(162,'FICHINTER_CLASSIFY_BILLED','Intervention set billed','Executed when a intervention is set to billed (when option FICHINTER_CLASSIFY_BILLED is set)','ficheinter',19),(163,'FICHINTER_CLASSIFY_UNBILLED','Intervention set unbilled','Executed when a intervention is set to unbilled (when option FICHINTER_CLASSIFY_BILLED is set)','ficheinter',19),(164,'FICHINTER_REOPEN','Intervention opened','Executed when a intervention is re-opened','ficheinter',19),(165,'FICHINTER_SENTBYMAIL','Intervention sent by mail','Executed when a intervention is sent by mail','ficheinter',19),(166,'PROJECT_CREATE','Project creation','Executed when a project is created','project',140),(167,'PROPAL_CLOSE_SIGNED','Customer proposal closed signed','Executed when a customer proposal is closed signed','propal',2),(168,'PROPAL_CLOSE_REFUSED','Customer proposal closed refused','Executed when a customer proposal is closed refused','propal',2),(169,'PROPAL_CLASSIFY_BILLED','Customer proposal set billed','Executed when a customer proposal is set to billed','propal',2),(170,'TASK_CREATE','Task created','Executed when a project task is created','project',35),(171,'TASK_MODIFY','Task modified','Executed when a project task is modified','project',36),(172,'TASK_DELETE','Task deleted','Executed when a project task is deleted','project',37),(173,'BILL_SUPPLIER_UNVALIDATE','Supplier invoice unvalidated','Executed when a supplier invoice status is set back to draft','invoice_supplier',15),(174,'PROJECT_MODIFY','Project modified','Executed when a project is modified','project',141),(175,'PROJECT_DELETE','Project deleted','Executed when a project is deleted','project',142),(176,'ORDER_SUPPLIER_CREATE','Supplier order validated','Executed when a supplier order is validated','order_supplier',11),(177,'ORDER_SUPPLIER_SUBMIT','Supplier order request submited','Executed when a supplier order is approved','order_supplier',12),(178,'ORDER_SUPPLIER_RECEIVE','Supplier order request received','Executed when a supplier order is received','order_supplier',12),(179,'ORDER_SUPPLIER_CLASSIFY_BILLED','Supplier order set billed','Executed when a supplier order is set as billed','order_supplier',14); +/*!40000 ALTER TABLE `llx_c_action_trigger` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_actioncomm` +-- + +DROP TABLE IF EXISTS `llx_c_actioncomm`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_actioncomm` ( + `id` int(11) NOT NULL, + `code` varchar(12) NOT NULL, + `type` varchar(10) NOT NULL DEFAULT 'system', + `libelle` varchar(48) NOT NULL, + `module` varchar(16) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `todo` tinyint(4) DEFAULT NULL, + `position` int(11) NOT NULL DEFAULT '0', + `color` varchar(9) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `uk_c_actioncomm` (`code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_actioncomm` +-- + +LOCK TABLES `llx_c_actioncomm` WRITE; +/*!40000 ALTER TABLE `llx_c_actioncomm` DISABLE KEYS */; +INSERT INTO `llx_c_actioncomm` VALUES (1,'AC_TEL','system','Phone call',NULL,1,NULL,2,NULL),(2,'AC_FAX','system','Send Fax',NULL,1,NULL,3,NULL),(3,'AC_PROP','systemauto','Send commercial proposal by email','propal',0,NULL,10,NULL),(4,'AC_EMAIL','system','Send Email',NULL,1,NULL,4,NULL),(5,'AC_RDV','system','Rendez-vous',NULL,1,NULL,1,NULL),(8,'AC_COM','systemauto','Send customer order by email','order',0,NULL,8,NULL),(9,'AC_FAC','systemauto','Send customer invoice by email','invoice',0,NULL,6,NULL),(10,'AC_SHIP','systemauto','Send shipping by email','shipping',0,NULL,11,NULL),(11,'AC_INT','system','Intervention on site',NULL,1,NULL,4,NULL),(30,'AC_SUP_ORD','systemauto','Send supplier order by email','order_supplier',0,NULL,9,NULL),(31,'AC_SUP_INV','systemauto','Send supplier invoice by email','invoice_supplier',0,NULL,7,NULL),(40,'AC_OTH_AUTO','systemauto','Other (automatically inserted events)',NULL,1,NULL,20,NULL),(50,'AC_OTH','system','Other (manually inserted events)',NULL,1,NULL,5,NULL),(100700,'AC_CABMED','module','Send document by email','cabinetmed',0,NULL,100,NULL); +/*!40000 ALTER TABLE `llx_c_actioncomm` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_availability` +-- + +DROP TABLE IF EXISTS `llx_c_availability`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_availability` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(30) NOT NULL, + `label` varchar(60) NOT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_availability` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_availability` +-- + +LOCK TABLES `llx_c_availability` WRITE; +/*!40000 ALTER TABLE `llx_c_availability` DISABLE KEYS */; +INSERT INTO `llx_c_availability` VALUES (1,'AV_NOW','Immediate',1),(2,'AV_1W','1 week',1),(3,'AV_2W','2 weeks',1),(4,'AV_3W','3 weeks',1); +/*!40000 ALTER TABLE `llx_c_availability` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_barcode_type` +-- + +DROP TABLE IF EXISTS `llx_c_barcode_type`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_barcode_type` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(16) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `libelle` varchar(50) NOT NULL, + `coder` varchar(16) NOT NULL, + `example` varchar(16) NOT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_barcode_type` (`code`,`entity`) +) ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_barcode_type` +-- + +LOCK TABLES `llx_c_barcode_type` WRITE; +/*!40000 ALTER TABLE `llx_c_barcode_type` DISABLE KEYS */; +INSERT INTO `llx_c_barcode_type` VALUES (1,'EAN8',1,'EAN8','0','1234567'),(2,'EAN13',1,'EAN13','phpbarcode','123456789012'),(3,'UPC',1,'UPC','0','123456789012'),(4,'ISBN',1,'ISBN','0','123456789'),(5,'C39',1,'Code 39','0','1234567890'),(6,'C128',1,'Code 128','tcpdfbarcode','ABCD1234567890'),(13,'DATAMATRIX',1,'Datamatrix','0','1234567xyz'),(14,'QRCODE',1,'Qr Code','0','www.dolibarr.org'); +/*!40000 ALTER TABLE `llx_c_barcode_type` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_chargesociales` +-- + +DROP TABLE IF EXISTS `llx_c_chargesociales`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_chargesociales` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `libelle` varchar(80) DEFAULT NULL, + `deductible` smallint(6) NOT NULL DEFAULT '0', + `active` tinyint(4) NOT NULL DEFAULT '1', + `code` varchar(12) NOT NULL, + `fk_pays` int(11) NOT NULL DEFAULT '1', + `module` varchar(32) DEFAULT NULL, + `accountancy_code` varchar(32) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=4110 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_chargesociales` +-- + +LOCK TABLES `llx_c_chargesociales` WRITE; +/*!40000 ALTER TABLE `llx_c_chargesociales` DISABLE KEYS */; +INSERT INTO `llx_c_chargesociales` VALUES (1,'Allocations familiales',1,1,'TAXFAM',1,NULL,NULL),(2,'CSG Deductible',1,1,'TAXCSGD',1,NULL,NULL),(3,'CSG/CRDS NON Deductible',0,1,'TAXCSGND',1,NULL,NULL),(10,'Taxe apprentissage',0,1,'TAXAPP',1,NULL,NULL),(11,'Taxe professionnelle',0,1,'TAXPRO',1,NULL,NULL),(12,'Cotisation foncière des entreprises',0,1,'TAXCFE',1,NULL,NULL),(13,'Cotisation sur la valeur ajoutée des entreprises',0,1,'TAXCVAE',1,NULL,NULL),(20,'Impots locaux/fonciers',0,1,'TAXFON',1,NULL,NULL),(25,'Impots revenus',0,1,'TAXREV',1,NULL,NULL),(30,'Assurance Sante',0,1,'TAXSECU',1,NULL,NULL),(40,'Mutuelle',0,1,'TAXMUT',1,NULL,NULL),(50,'Assurance vieillesse',0,1,'TAXRET',1,NULL,NULL),(60,'Assurance Chomage',0,1,'TAXCHOM',1,NULL,NULL),(201,'ONSS',1,1,'TAXBEONSS',2,NULL,NULL),(210,'Precompte professionnel',1,1,'TAXBEPREPRO',2,NULL,NULL),(220,'Prime d\'existence',1,1,'TAXBEPRIEXI',2,NULL,NULL),(230,'Precompte immobilier',1,1,'TAXBEPREIMMO',2,NULL,NULL),(4101,'Krankenversicherung',1,1,'TAXATKV',41,NULL,NULL),(4102,'Unfallversicherung',1,1,'TAXATUV',41,NULL,NULL),(4103,'Pensionsversicherung',1,1,'TAXATPV',41,NULL,NULL),(4104,'Arbeitslosenversicherung',1,1,'TAXATAV',41,NULL,NULL),(4105,'Insolvenzentgeltsicherungsfond',1,1,'TAXATIESG',41,NULL,NULL),(4106,'Wohnbauförderung',1,1,'TAXATWF',41,NULL,NULL),(4107,'Arbeiterkammerumlage',1,1,'TAXATAK',41,NULL,NULL),(4108,'Mitarbeitervorsorgekasse',1,1,'TAXATMVK',41,NULL,NULL),(4109,'Familienlastenausgleichsfond',1,1,'TAXATFLAF',41,NULL,NULL); +/*!40000 ALTER TABLE `llx_c_chargesociales` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_civility` +-- + +DROP TABLE IF EXISTS `llx_c_civility`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_civility` ( + `rowid` int(11) NOT NULL, + `code` varchar(6) NOT NULL, + `label` varchar(50) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `module` varchar(32) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_civility` (`code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_civility` +-- + +LOCK TABLES `llx_c_civility` WRITE; +/*!40000 ALTER TABLE `llx_c_civility` DISABLE KEYS */; +INSERT INTO `llx_c_civility` VALUES (1,'MME','Madame',1,NULL),(3,'MR','Monsieur',1,NULL),(5,'MLE','Mademoiselle',1,NULL),(7,'MTRE','Maître',1,NULL),(8,'DR','Docteur',1,NULL); +/*!40000 ALTER TABLE `llx_c_civility` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_country` +-- + +DROP TABLE IF EXISTS `llx_c_country`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_country` ( + `rowid` int(11) NOT NULL, + `code` varchar(2) NOT NULL, + `code_iso` varchar(3) DEFAULT NULL, + `label` varchar(50) NOT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `favorite` tinyint(4) NOT NULL DEFAULT '0', + PRIMARY KEY (`rowid`), + UNIQUE KEY `idx_c_country_code` (`code`), + UNIQUE KEY `idx_c_country_label` (`label`), + UNIQUE KEY `idx_c_country_code_iso` (`code_iso`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_country` +-- + +LOCK TABLES `llx_c_country` WRITE; +/*!40000 ALTER TABLE `llx_c_country` DISABLE KEYS */; +INSERT INTO `llx_c_country` VALUES (0,'',NULL,'-',1,1),(1,'FR','FRA','France',1,0),(2,'BE','BEL','Belgium',1,0),(3,'IT','ITA','Italy',1,0),(4,'ES','ESP','Spain',1,0),(5,'DE','DEU','Germany',1,0),(6,'CH','CHE','Switzerland',1,0),(7,'GB','GBR','United Kingdom',1,0),(8,'IE','IRL','Irland',1,0),(9,'CN','CHN','China',1,0),(10,'TN','TUN','Tunisia',1,0),(11,'US','USA','United States',1,0),(12,'MA','MAR','Maroc',1,0),(13,'DZ','DZA','Algeria',1,0),(14,'CA','CAN','Canada',1,0),(15,'TG','TGO','Togo',1,0),(16,'GA','GAB','Gabon',1,0),(17,'NL','NLD','Nerderland',1,0),(18,'HU','HUN','Hongrie',1,0),(19,'RU','RUS','Russia',1,0),(20,'SE','SWE','Sweden',1,0),(21,'CI','CIV','Côte d\'Ivoire',1,0),(22,'SN','SEN','Senegal',1,0),(23,'AR','ARG','Argentine',1,0),(24,'CM','CMR','Cameroun',1,0),(25,'PT','PRT','Portugal',1,0),(26,'SA','SAU','Saudi Arabia',1,0),(27,'MC','MCO','Monaco',1,0),(28,'AU','AUS','Australia',1,0),(29,'SG','SGP','Singapour',1,0),(30,'AF','AFG','Afghanistan',1,0),(31,'AX','ALA','Iles Aland',1,0),(32,'AL','ALB','Albanie',1,0),(33,'AS','ASM','Samoa américaines',1,0),(34,'AD','AND','Andorre',1,0),(35,'AO','AGO','Angola',1,0),(36,'AI','AIA','Anguilla',1,0),(37,'AQ','ATA','Antarctique',1,0),(38,'AG','ATG','Antigua-et-Barbuda',1,0),(39,'AM','ARM','Arménie',1,0),(40,'AW','ABW','Aruba',1,0),(41,'AT','AUT','Autriche',1,0),(42,'AZ','AZE','Azerbaïdjan',1,0),(43,'BS','BHS','Bahamas',1,0),(44,'BH','BHR','Bahreïn',1,0),(45,'BD','BGD','Bangladesh',1,0),(46,'BB','BRB','Barbade',1,0),(47,'BY','BLR','Biélorussie',1,0),(48,'BZ','BLZ','Belize',1,0),(49,'BJ','BEN','Bénin',1,0),(50,'BM','BMU','Bermudes',1,0),(51,'BT','BTN','Bhoutan',1,0),(52,'BO','BOL','Bolivie',1,0),(53,'BA','BIH','Bosnie-Herzégovine',1,0),(54,'BW','BWA','Botswana',1,0),(55,'BV','BVT','Ile Bouvet',1,0),(56,'BR','BRA','Brazil',1,0),(57,'IO','IOT','Territoire britannique de l\'Océan Indien',1,0),(58,'BN','BRN','Brunei',1,0),(59,'BG','BGR','Bulgarie',1,0),(60,'BF','BFA','Burkina Faso',1,0),(61,'BI','BDI','Burundi',1,0),(62,'KH','KHM','Cambodge',1,0),(63,'CV','CPV','Cap-Vert',1,0),(64,'KY','CYM','Iles Cayman',1,0),(65,'CF','CAF','République centrafricaine',1,0),(66,'TD','TCD','Tchad',1,0),(67,'CL','CHL','Chili',1,0),(68,'CX','CXR','Ile Christmas',1,0),(69,'CC','CCK','Iles des Cocos (Keeling)',1,0),(70,'CO','COL','Colombie',1,0),(71,'KM','COM','Comores',1,0),(72,'CG','COG','Congo',1,0),(73,'CD','COD','République démocratique du Congo',1,0),(74,'CK','COK','Iles Cook',1,0),(75,'CR','CRI','Costa Rica',1,0),(76,'HR','HRV','Croatie',1,0),(77,'CU','CUB','Cuba',1,0),(78,'CY','CYP','Chypre',1,0),(79,'CZ','CZE','République Tchèque',1,0),(80,'DK','DNK','Danemark',1,0),(81,'DJ','DJI','Djibouti',1,0),(82,'DM','DMA','Dominique',1,0),(83,'DO','DOM','République Dominicaine',1,0),(84,'EC','ECU','Equateur',1,0),(85,'EG','EGY','Egypte',1,0),(86,'SV','SLV','Salvador',1,0),(87,'GQ','GNQ','Guinée Equatoriale',1,0),(88,'ER','ERI','Erythrée',1,0),(89,'EE','EST','Estonia',1,0),(90,'ET','ETH','Ethiopie',1,0),(91,'FK','FLK','Iles Falkland',1,0),(92,'FO','FRO','Iles Féroé',1,0),(93,'FJ','FJI','Iles Fidji',1,0),(94,'FI','FIN','Finlande',1,0),(95,'GF','GUF','Guyane française',1,0),(96,'PF','PYF','Polynésie française',1,0),(97,'TF','ATF','Terres australes françaises',1,0),(98,'GM','GMB','Gambie',1,0),(99,'GE','GEO','Georgia',1,0),(100,'GH','GHA','Ghana',1,0),(101,'GI','GIB','Gibraltar',1,0),(102,'GR','GRC','Greece',1,0),(103,'GL','GRL','Groenland',1,0),(104,'GD','GRD','Grenade',1,0),(106,'GU','GUM','Guam',1,0),(107,'GT','GTM','Guatemala',1,0),(108,'GN','GIN','Guinea',1,0),(109,'GW','GNB','Guinea-Bissao',1,0),(111,'HT','HTI','Haiti',1,0),(112,'HM','HMD','Iles Heard et McDonald',1,0),(113,'VA','VAT','Saint-Siège (Vatican)',1,0),(114,'HN','HND','Honduras',1,0),(115,'HK','HKG','Hong Kong',1,0),(116,'IS','ISL','Islande',1,0),(117,'IN','IND','India',1,0),(118,'ID','IDN','Indonésie',1,0),(119,'IR','IRN','Iran',1,0),(120,'IQ','IRQ','Iraq',1,0),(121,'IL','ISR','Israel',1,0),(122,'JM','JAM','Jamaïque',1,0),(123,'JP','JPN','Japon',1,0),(124,'JO','JOR','Jordanie',1,0),(125,'KZ','KAZ','Kazakhstan',1,0),(126,'KE','KEN','Kenya',1,0),(127,'KI','KIR','Kiribati',1,0),(128,'KP','PRK','North Corea',1,0),(129,'KR','KOR','South Corea',1,0),(130,'KW','KWT','Koweït',1,0),(131,'KG','KGZ','Kirghizistan',1,0),(132,'LA','LAO','Laos',1,0),(133,'LV','LVA','Lettonie',1,0),(134,'LB','LBN','Liban',1,0),(135,'LS','LSO','Lesotho',1,0),(136,'LR','LBR','Liberia',1,0),(137,'LY','LBY','Libye',1,0),(138,'LI','LIE','Liechtenstein',1,0),(139,'LT','LTU','Lituanie',1,0),(140,'LU','LUX','Luxembourg',1,0),(141,'MO','MAC','Macao',1,0),(142,'MK','MKD','ex-République yougoslave de Macédoine',1,0),(143,'MG','MDG','Madagascar',1,0),(144,'MW','MWI','Malawi',1,0),(145,'MY','MYS','Malaisie',1,0),(146,'MV','MDV','Maldives',1,0),(147,'ML','MLI','Mali',1,0),(148,'MT','MLT','Malte',1,0),(149,'MH','MHL','Iles Marshall',1,0),(151,'MR','MRT','Mauritanie',1,0),(152,'MU','MUS','Maurice',1,0),(153,'YT','MYT','Mayotte',1,0),(154,'MX','MEX','Mexique',1,0),(155,'FM','FSM','Micronésie',1,0),(156,'MD','MDA','Moldavie',1,0),(157,'MN','MNG','Mongolie',1,0),(158,'MS','MSR','Monserrat',1,0),(159,'MZ','MOZ','Mozambique',1,0),(160,'MM','MMR','Birmanie (Myanmar)',1,0),(161,'NA','NAM','Namibie',1,0),(162,'NR','NRU','Nauru',1,0),(163,'NP','NPL','Népal',1,0),(164,'AN',NULL,'Antilles néerlandaises',1,0),(165,'NC','NCL','Nouvelle-Calédonie',1,0),(166,'NZ','NZL','Nouvelle-Zélande',1,0),(167,'NI','NIC','Nicaragua',1,0),(168,'NE','NER','Niger',1,0),(169,'NG','NGA','Nigeria',1,0),(170,'NU','NIU','Nioué',1,0),(171,'NF','NFK','Ile Norfolk',1,0),(172,'MP','MNP','Mariannes du Nord',1,0),(173,'NO','NOR','Norvège',1,0),(174,'OM','OMN','Oman',1,0),(175,'PK','PAK','Pakistan',1,0),(176,'PW','PLW','Palaos',1,0),(177,'PS','PSE','Territoire Palestinien Occupé',1,0),(178,'PA','PAN','Panama',1,0),(179,'PG','PNG','Papouasie-Nouvelle-Guinée',1,0),(180,'PY','PRY','Paraguay',1,0),(181,'PE','PER','Peru',1,0),(182,'PH','PHL','Philippines',1,0),(183,'PN','PCN','Iles Pitcairn',1,0),(184,'PL','POL','Pologne',1,0),(185,'PR','PRI','Porto Rico',1,0),(186,'QA','QAT','Qatar',1,0),(188,'RO','ROU','Roumanie',1,0),(189,'RW','RWA','Rwanda',1,0),(190,'SH','SHN','Sainte-Hélène',1,0),(191,'KN','KNA','Saint-Christophe-et-Niévès',1,0),(192,'LC','LCA','Sainte-Lucie',1,0),(193,'PM','SPM','Saint-Pierre-et-Miquelon',1,0),(194,'VC','VCT','Saint-Vincent-et-les-Grenadines',1,0),(195,'WS','WSM','Samoa',1,0),(196,'SM','SMR','Saint-Marin',1,0),(197,'ST','STP','Sao Tomé-et-Principe',1,0),(198,'RS','SRB','Serbie',1,0),(199,'SC','SYC','Seychelles',1,0),(200,'SL','SLE','Sierra Leone',1,0),(201,'SK','SVK','Slovaquie',1,0),(202,'SI','SVN','Slovénie',1,0),(203,'SB','SLB','Iles Salomon',1,0),(204,'SO','SOM','Somalie',1,0),(205,'ZA','ZAF','Afrique du Sud',1,0),(206,'GS','SGS','Iles Géorgie du Sud et Sandwich du Sud',1,0),(207,'LK','LKA','Sri Lanka',1,0),(208,'SD','SDN','Soudan',1,0),(209,'SR','SUR','Suriname',1,0),(210,'SJ','SJM','Iles Svalbard et Jan Mayen',1,0),(211,'SZ','SWZ','Swaziland',1,0),(212,'SY','SYR','Syrie',1,0),(213,'TW','TWN','Taïwan',1,0),(214,'TJ','TJK','Tadjikistan',1,0),(215,'TZ','TZA','Tanzanie',1,0),(216,'TH','THA','Thaïlande',1,0),(217,'TL','TLS','Timor Oriental',1,0),(218,'TK','TKL','Tokélaou',1,0),(219,'TO','TON','Tonga',1,0),(220,'TT','TTO','Trinité-et-Tobago',1,0),(221,'TR','TUR','Turquie',1,0),(222,'TM','TKM','Turkménistan',1,0),(223,'TC','TCA','Iles Turks-et-Caicos',1,0),(224,'TV','TUV','Tuvalu',1,0),(225,'UG','UGA','Ouganda',1,0),(226,'UA','UKR','Ukraine',1,0),(227,'xx','ARE','Émirats arabes unishh',1,0),(228,'UM','UMI','Iles mineures éloignées des États-Unis',1,0),(229,'UY','URY','Uruguay',1,0),(230,'UZ','UZB','Ouzbékistan',1,0),(231,'VU','VUT','Vanuatu',1,0),(232,'VE','VEN','Vénézuela',1,0),(233,'VN','VNM','Viêt Nam',1,0),(234,'VG','VGB','Iles Vierges britanniques',1,0),(235,'VI','VIR','Iles Vierges américaines',1,0),(236,'WF','WLF','Wallis-et-Futuna',1,0),(237,'EH','ESH','Sahara occidental',1,0),(238,'YE','YEM','Yémen',1,0),(239,'ZM','ZMB','Zambie',1,0),(240,'ZW','ZWE','Zimbabwe',1,0),(241,'GG','GGY','Guernesey',1,0),(242,'IM','IMN','Ile de Man',1,0),(243,'JE','JEY','Jersey',1,0),(244,'ME','MNE','Monténégro',1,0),(245,'BL','BLM','Saint-Barthélemy',1,0),(246,'MF','MAF','Saint-Martin',1,0),(247,'hh',NULL,'hhh',1,0); +/*!40000 ALTER TABLE `llx_c_country` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_currencies` +-- + +DROP TABLE IF EXISTS `llx_c_currencies`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_currencies` ( + `code_iso` varchar(3) NOT NULL, + `label` varchar(64) NOT NULL, + `unicode` varchar(32) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`code_iso`), + UNIQUE KEY `uk_c_currencies_code_iso` (`code_iso`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_currencies` +-- + +LOCK TABLES `llx_c_currencies` WRITE; +/*!40000 ALTER TABLE `llx_c_currencies` DISABLE KEYS */; +INSERT INTO `llx_c_currencies` VALUES ('AED','United Arab Emirates Dirham',NULL,1),('AFN','Afghanistan Afghani','[1547]',1),('ALL','Albania Leklll','[76,101,107]',1),('ANG','Netherlands Antilles Guilder','[402]',1),('ARP','Pesos argentins',NULL,0),('ARS','Argentino Peso','[36]',1),('ATS','Shiliing autrichiens',NULL,0),('AUD','Australia Dollar','[36]',1),('AWG','Aruba Guilder','[402]',1),('AZN','Azerbaijan New Manat','[1084,1072,1085]',1),('BAM','Bosnia and Herzegovina Convertible Marka','[75,77]',1),('BBD','Barbados Dollar','[36]',1),('BEF','Francs belges',NULL,0),('BGN','Bulgaria Lev','[1083,1074]',1),('BMD','Bermuda Dollar','[36]',1),('BND','Brunei Darussalam Dollar','[36]',1),('BOB','Bolivia Boliviano','[36,98]',1),('BRL','Brazil Real','[82,36]',1),('BSD','Bahamas Dollar','[36]',1),('BWP','Botswana Pula','[80]',1),('BYR','Belarus Ruble','[112,46]',1),('BZD','Belize Dollar','[66,90,36]',1),('CAD','Canada Dollar','[36]',1),('CHF','Switzerland Franc','[67,72,70]',1),('CLP','Chile Peso','[36]',1),('CNY','China Yuan Renminbi','[165]',1),('COP','Colombia Peso','[36]',1),('CRC','Costa Rica Colon','[8353]',1),('CUP','Cuba Peso','[8369]',1),('CZK','Czech Republic Koruna','[75,269]',1),('DEM','Deutsch mark',NULL,0),('DKK','Denmark Krone','[107,114]',1),('DOP','Dominican Republic Peso','[82,68,36]',1),('DZD','Algeria Dinar',NULL,1),('EEK','Estonia Kroon','[107,114]',1),('EGP','Egypt Pound','[163]',1),('ESP','Pesete',NULL,0),('EUR','Euro Member Countries','[8364]',1),('FIM','Mark finlandais',NULL,0),('FJD','Fiji Dollar','[36]',1),('FKP','Falkland Islands (Malvinas) Pound','[163]',1),('FRF','Francs francais',NULL,0),('GBP','United Kingdom Pound','[163]',1),('GGP','Guernsey Pound','[163]',1),('GHC','Ghana Cedis','[162]',1),('GIP','Gibraltar Pound','[163]',1),('GRD','Drachme (grece)',NULL,0),('GTQ','Guatemala Quetzal','[81]',1),('GYD','Guyana Dollar','[36]',1),('hhh','ddd','[]',1),('HKD','Hong Kong Dollar','[36]',1),('HNL','Honduras Lempira','[76]',1),('HRK','Croatia Kuna','[107,110]',1),('HUF','Hungary Forint','[70,116]',1),('IDR','Indonesia Rupiah','[82,112]',1),('IEP','Livres irlandaises',NULL,0),('ILS','Israel Shekel','[8362]',1),('IMP','Isle of Man Pound','[163]',1),('INR','India Rupee',NULL,1),('IRR','Iran Rial','[65020]',1),('ISK','Iceland Krona','[107,114]',1),('ITL','Lires',NULL,0),('JEP','Jersey Pound','[163]',1),('JMD','Jamaica Dollar','[74,36]',1),('JPY','Japan Yen','[165]',1),('KES','Kenya Shilling',NULL,1),('KGS','Kyrgyzstan Som','[1083,1074]',1),('KHR','Cambodia Riel','[6107]',1),('KPW','Korea (North) Won','[8361]',1),('KRW','Korea (South) Won','[8361]',1),('KYD','Cayman Islands Dollar','[36]',1),('KZT','Kazakhstan Tenge','[1083,1074]',1),('LAK','Laos Kip','[8365]',1),('LBP','Lebanon Pound','[163]',1),('LKR','Sri Lanka Rupee','[8360]',1),('LRD','Liberia Dollar','[36]',1),('LTL','Lithuania Litas','[76,116]',1),('LUF','Francs luxembourgeois',NULL,0),('LVL','Latvia Lat','[76,115]',1),('MAD','Morocco Dirham',NULL,1),('MKD','Macedonia Denar','[1076,1077,1085]',1),('MNT','Mongolia Tughrik','[8366]',1),('MRO','Mauritania Ouguiya',NULL,1),('MUR','Mauritius Rupee','[8360]',1),('MXN','Mexico Peso','[36]',1),('MXP','Pesos Mexicans',NULL,0),('MYR','Malaysia Ringgit','[82,77]',1),('MZN','Mozambique Metical','[77,84]',1),('NAD','Namibia Dollar','[36]',1),('NGN','Nigeria Naira','[8358]',1),('NIO','Nicaragua Cordoba','[67,36]',1),('NLG','Florins',NULL,0),('NOK','Norway Krone','[107,114]',1),('NPR','Nepal Rupee','[8360]',1),('NZD','New Zealand Dollar','[36]',1),('OMR','Oman Rial','[65020]',1),('PAB','Panama Balboa','[66,47,46]',1),('PEN','Peru Nuevo Sol','[83,47,46]',1),('PHP','Philippines Peso','[8369]',1),('PKR','Pakistan Rupee','[8360]',1),('PLN','Poland Zloty','[122,322]',1),('PTE','Escudos',NULL,0),('PYG','Paraguay Guarani','[71,115]',1),('QAR','Qatar Riyal','[65020]',1),('RON','Romania New Leu','[108,101,105]',1),('RSD','Serbia Dinar','[1044,1080,1085,46]',1),('RUB','Russia Ruble','[1088,1091,1073]',1),('SAR','Saudi Arabia Riyal','[65020]',1),('SBD','Solomon Islands Dollar','[36]',1),('SCR','Seychelles Rupee','[8360]',1),('SEK','Sweden Krona','[107,114]',1),('SGD','Singapore Dollar','[36]',1),('SHP','Saint Helena Pound','[163]',1),('SKK','Couronnes slovaques',NULL,0),('SOS','Somalia Shilling','[83]',1),('SRD','Suriname Dollar','[36]',1),('SUR','Rouble',NULL,0),('SVC','El Salvador Colon','[36]',1),('SYP','Syria Pound','[163]',1),('THB','Thailand Baht','[3647]',1),('TND','Tunisia Dinar',NULL,1),('TRL','Turkey Lira','[84,76]',1),('TRY','Turkey Lira','[8356]',1),('TTD','Trinidad and Tobago Dollar','[84,84,36]',1),('TVD','Tuvalu Dollar','[36]',1),('TWD','Taiwan New Dollar','[78,84,36]',1),('UAH','Ukraine Hryvna','[8372]',1),('USD','United States Dollar','[36]',1),('UYU','Uruguay Peso','[36,85]',1),('UZS','Uzbekistan Som','[1083,1074]',1),('VEF','Venezuela Bolivar Fuerte','[66,115]',1),('VND','Viet Nam Dong','[8363]',1),('XAF','Communaute Financiere Africaine (BEAC) CFA Franc',NULL,1),('XCD','East Caribbean Dollar','[36]',1),('XEU','Ecus',NULL,0),('XOF','Communaute Financiere Africaine (BCEAO) Franc',NULL,1),('XPF','Franc pacifique (XPF)',NULL,1),('YER','Yemen Rial','[65020]',1),('ZAR','South Africa Rand','[82]',1),('ZWD','Zimbabwe Dollar','[90,36]',1); +/*!40000 ALTER TABLE `llx_c_currencies` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_departements` +-- + +DROP TABLE IF EXISTS `llx_c_departements`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_departements` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code_departement` varchar(6) NOT NULL, + `fk_region` int(11) DEFAULT NULL, + `cheflieu` varchar(50) DEFAULT NULL, + `tncc` int(11) DEFAULT NULL, + `ncc` varchar(50) DEFAULT NULL, + `nom` varchar(50) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_departements` (`code_departement`,`fk_region`), + KEY `idx_departements_fk_region` (`fk_region`), + CONSTRAINT `fk_departements_code_region` FOREIGN KEY (`fk_region`) REFERENCES `llx_c_regions` (`code_region`), + CONSTRAINT `fk_departements_fk_region` FOREIGN KEY (`fk_region`) REFERENCES `llx_c_regions` (`code_region`) +) ENGINE=InnoDB AUTO_INCREMENT=2171 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_departements` +-- + +LOCK TABLES `llx_c_departements` WRITE; +/*!40000 ALTER TABLE `llx_c_departements` DISABLE KEYS */; +INSERT INTO `llx_c_departements` VALUES (1,'0',0,'0',0,'-','-',1),(2,'01',82,'01053',5,'AIN','Ain',1),(3,'02',22,'02408',5,'AISNE','Aisne',1),(4,'03',83,'03190',5,'ALLIER','Allier',1),(5,'04',93,'04070',4,'ALPES-DE-HAUTE-PROVENCE','Alpes-de-Haute-Provence',1),(6,'05',93,'05061',4,'HAUTES-ALPES','Hautes-Alpes',1),(7,'06',93,'06088',4,'ALPES-MARITIMES','Alpes-Maritimes',1),(8,'07',82,'07186',5,'ARDECHE','Ardèche',1),(9,'08',21,'08105',4,'ARDENNES','Ardennes',1),(10,'09',73,'09122',5,'ARIEGE','Ariège',1),(11,'10',21,'10387',5,'AUBE','Aube',1),(12,'11',91,'11069',5,'AUDE','Aude',1),(13,'12',73,'12202',5,'AVEYRON','Aveyron',1),(14,'13',93,'13055',4,'BOUCHES-DU-RHONE','Bouches-du-Rhône',1),(15,'14',25,'14118',2,'CALVADOS','Calvados',1),(16,'15',83,'15014',2,'CANTAL','Cantal',1),(17,'16',54,'16015',3,'CHARENTE','Charente',1),(18,'17',54,'17300',3,'CHARENTE-MARITIME','Charente-Maritime',1),(19,'18',24,'18033',2,'CHER','Cher',1),(20,'19',74,'19272',3,'CORREZE','Corrèze',1),(21,'2A',94,'2A004',3,'CORSE-DU-SUD','Corse-du-Sud',1),(22,'2B',94,'2B033',3,'HAUTE-CORSE','Haute-Corse',1),(23,'21',26,'21231',3,'COTE-D\'OR','Côte-d\'Or',1),(24,'22',53,'22278',4,'COTES-D\'ARMOR','Côtes-d\'Armor',1),(25,'23',74,'23096',3,'CREUSE','Creuse',1),(26,'24',72,'24322',3,'DORDOGNE','Dordogne',1),(27,'25',43,'25056',2,'DOUBS','Doubs',1),(28,'26',82,'26362',3,'DROME','Drôme',1),(29,'27',23,'27229',5,'EURE','Eure',1),(30,'28',24,'28085',1,'EURE-ET-LOIR','Eure-et-Loir',1),(31,'29',53,'29232',2,'FINISTERE','Finistère',1),(32,'30',91,'30189',2,'GARD','Gard',1),(33,'31',73,'31555',3,'HAUTE-GARONNE','Haute-Garonne',1),(34,'32',73,'32013',2,'GERS','Gers',1),(35,'33',72,'33063',3,'GIRONDE','Gironde',1),(36,'34',91,'34172',5,'HERAULT','Hérault',1),(37,'35',53,'35238',1,'ILLE-ET-VILAINE','Ille-et-Vilaine',1),(38,'36',24,'36044',5,'INDRE','Indre',1),(39,'37',24,'37261',1,'INDRE-ET-LOIRE','Indre-et-Loire',1),(40,'38',82,'38185',5,'ISERE','Isère',1),(41,'39',43,'39300',2,'JURA','Jura',1),(42,'40',72,'40192',4,'LANDES','Landes',1),(43,'41',24,'41018',0,'LOIR-ET-CHER','Loir-et-Cher',1),(44,'42',82,'42218',3,'LOIRE','Loire',1),(45,'43',83,'43157',3,'HAUTE-LOIRE','Haute-Loire',1),(46,'44',52,'44109',3,'LOIRE-ATLANTIQUE','Loire-Atlantique',1),(47,'45',24,'45234',2,'LOIRET','Loiret',1),(48,'46',73,'46042',2,'LOT','Lot',1),(49,'47',72,'47001',0,'LOT-ET-GARONNE','Lot-et-Garonne',1),(50,'48',91,'48095',3,'LOZERE','Lozère',1),(51,'49',52,'49007',0,'MAINE-ET-LOIRE','Maine-et-Loire',1),(52,'50',25,'50502',3,'MANCHE','Manche',1),(53,'51',21,'51108',3,'MARNE','Marne',1),(54,'52',21,'52121',3,'HAUTE-MARNE','Haute-Marne',1),(55,'53',52,'53130',3,'MAYENNE','Mayenne',1),(56,'54',41,'54395',0,'MEURTHE-ET-MOSELLE','Meurthe-et-Moselle',1),(57,'55',41,'55029',3,'MEUSE','Meuse',1),(58,'56',53,'56260',2,'MORBIHAN','Morbihan',1),(59,'57',41,'57463',3,'MOSELLE','Moselle',1),(60,'58',26,'58194',3,'NIEVRE','Nièvre',1),(61,'59',31,'59350',2,'NORD','Nord',1),(62,'60',22,'60057',5,'OISE','Oise',1),(63,'61',25,'61001',5,'ORNE','Orne',1),(64,'62',31,'62041',2,'PAS-DE-CALAIS','Pas-de-Calais',1),(65,'63',83,'63113',2,'PUY-DE-DOME','Puy-de-Dôme',1),(66,'64',72,'64445',4,'PYRENEES-ATLANTIQUES','Pyrénées-Atlantiques',1),(67,'65',73,'65440',4,'HAUTES-PYRENEES','Hautes-Pyrénées',1),(68,'66',91,'66136',4,'PYRENEES-ORIENTALES','Pyrénées-Orientales',1),(69,'67',42,'67482',2,'BAS-RHIN','Bas-Rhin',1),(70,'68',42,'68066',2,'HAUT-RHIN','Haut-Rhin',1),(71,'69',82,'69123',2,'RHONE','Rhône',1),(72,'70',43,'70550',3,'HAUTE-SAONE','Haute-Saône',1),(73,'71',26,'71270',0,'SAONE-ET-LOIRE','Saône-et-Loire',1),(74,'72',52,'72181',3,'SARTHE','Sarthe',1),(75,'73',82,'73065',3,'SAVOIE','Savoie',1),(76,'74',82,'74010',3,'HAUTE-SAVOIE','Haute-Savoie',1),(77,'75',11,'75056',0,'PARIS','Paris',1),(78,'76',23,'76540',3,'SEINE-MARITIME','Seine-Maritime',1),(79,'77',11,'77288',0,'SEINE-ET-MARNE','Seine-et-Marne',1),(80,'78',11,'78646',4,'YVELINES','Yvelines',1),(81,'79',54,'79191',4,'DEUX-SEVRES','Deux-Sèvres',1),(82,'80',22,'80021',3,'SOMME','Somme',1),(83,'81',73,'81004',2,'TARN','Tarn',1),(84,'82',73,'82121',0,'TARN-ET-GARONNE','Tarn-et-Garonne',1),(85,'83',93,'83137',2,'VAR','Var',1),(86,'84',93,'84007',0,'VAUCLUSE','Vaucluse',1),(87,'85',52,'85191',3,'VENDEE','Vendée',1),(88,'86',54,'86194',3,'VIENNE','Vienne',1),(89,'87',74,'87085',3,'HAUTE-VIENNE','Haute-Vienne',1),(90,'88',41,'88160',4,'VOSGES','Vosges',1),(91,'89',26,'89024',5,'YONNE','Yonne',1),(92,'90',43,'90010',0,'TERRITOIRE DE BELFORT','Territoire de Belfort',1),(93,'91',11,'91228',5,'ESSONNE','Essonne',1),(94,'92',11,'92050',4,'HAUTS-DE-SEINE','Hauts-de-Seine',1),(95,'93',11,'93008',3,'SEINE-SAINT-DENIS','Seine-Saint-Denis',1),(96,'94',11,'94028',2,'VAL-DE-MARNE','Val-de-Marne',1),(97,'95',11,'95500',2,'VAL-D\'OISE','Val-d\'Oise',1),(98,'971',1,'97105',3,'GUADELOUPE','Guadeloupe',1),(99,'972',2,'97209',3,'MARTINIQUE','Martinique',1),(100,'973',3,'97302',3,'GUYANE','Guyane',1),(101,'974',4,'97411',3,'REUNION','Réunion',1),(102,'01',201,'',1,'ANVERS','Anvers',1),(103,'02',203,'',3,'BRUXELLES-CAPITALE','Bruxelles-Capitale',1),(104,'03',202,'',2,'BRABANT-WALLON','Brabant-Wallon',1),(105,'04',201,'',1,'BRABANT-FLAMAND','Brabant-Flamand',1),(106,'05',201,'',1,'FLANDRE-OCCIDENTALE','Flandre-Occidentale',1),(107,'06',201,'',1,'FLANDRE-ORIENTALE','Flandre-Orientale',1),(108,'07',202,'',2,'HAINAUT','Hainaut',1),(109,'08',201,'',2,'LIEGE','Liège',1),(110,'09',202,'',1,'LIMBOURG','Limbourg',1),(111,'10',202,'',2,'LUXEMBOURG','Luxembourg',1),(112,'11',201,'',2,'NAMUR','Namur',1),(113,'NSW',2801,'',1,'','New South Wales',1),(114,'VIC',2801,'',1,'','Victoria',1),(115,'QLD',2801,'',1,'','Queensland',1),(116,'SA',2801,'',1,'','South Australia',1),(117,'ACT',2801,'',1,'','Australia Capital Territory',1),(118,'TAS',2801,'',1,'','Tasmania',1),(119,'WA',2801,'',1,'','Western Australia',1),(120,'NT',2801,'',1,'','Northern Territory',1),(121,'VI',419,'',19,'ALAVA','Álava',1),(122,'AB',404,'',4,'ALBACETE','Albacete',1),(123,'A',411,'',11,'ALICANTE','Alicante',1),(124,'AL',401,'',1,'ALMERIA','Almería',1),(125,'AV',403,'',3,'AVILA','Avila',1),(126,'BA',412,'',12,'BADAJOZ','Badajoz',1),(127,'PM',414,'',14,'ISLAS BALEARES','Islas Baleares',1),(128,'B',406,'',6,'BARCELONA','Barcelona',1),(129,'BU',403,'',8,'BURGOS','Burgos',1),(130,'CC',412,'',12,'CACERES','Cáceres',1),(131,'CA',401,'',1,'CADIz','Cádiz',1),(132,'CS',411,'',11,'CASTELLON','Castellón',1),(133,'CR',404,'',4,'CIUDAD REAL','Ciudad Real',1),(134,'CO',401,'',1,'CORDOBA','Córdoba',1),(135,'C',413,'',13,'LA CORUÑA','La Coruña',1),(136,'CU',404,'',4,'CUENCA','Cuenca',1),(137,'GI',406,'',6,'GERONA','Gerona',1),(138,'GR',401,'',1,'GRANADA','Granada',1),(139,'GU',404,'',4,'GUADALAJARA','Guadalajara',1),(140,'SS',419,'',19,'GUIPUZCOA','Guipúzcoa',1),(141,'H',401,'',1,'HUELVA','Huelva',1),(142,'HU',402,'',2,'HUESCA','Huesca',1),(143,'J',401,'',1,'JAEN','Jaén',1),(144,'LE',403,'',3,'LEON','León',1),(145,'L',406,'',6,'LERIDA','Lérida',1),(146,'LO',415,'',15,'LA RIOJA','La Rioja',1),(147,'LU',413,'',13,'LUGO','Lugo',1),(148,'M',416,'',16,'MADRID','Madrid',1),(149,'MA',401,'',1,'MALAGA','Málaga',1),(150,'MU',417,'',17,'MURCIA','Murcia',1),(151,'NA',408,'',8,'NAVARRA','Navarra',1),(152,'OR',413,'',13,'ORENSE','Orense',1),(153,'O',418,'',18,'ASTURIAS','Asturias',1),(154,'P',403,'',3,'PALENCIA','Palencia',1),(155,'GC',405,'',5,'LAS PALMAS','Las Palmas',1),(156,'PO',413,'',13,'PONTEVEDRA','Pontevedra',1),(157,'SA',403,'',3,'SALAMANCA','Salamanca',1),(158,'TF',405,'',5,'STA. CRUZ DE TENERIFE','Sta. Cruz de Tenerife',1),(159,'S',410,'',10,'CANTABRIA','Cantabria',1),(160,'SG',403,'',3,'SEGOVIA','Segovia',1),(161,'SE',401,'',1,'SEVILLA','Sevilla',1),(162,'SO',403,'',3,'SORIA','Soria',1),(163,'T',406,'',6,'TARRAGONA','Tarragona',1),(164,'TE',402,'',2,'TERUEL','Teruel',1),(165,'TO',404,'',5,'TOLEDO','Toledo',1),(166,'V',411,'',11,'VALENCIA','Valencia',1),(167,'VA',403,'',3,'VALLADOLID','Valladolid',1),(168,'BI',419,'',19,'VIZCAYA','Vizcaya',1),(169,'ZA',403,'',3,'ZAMORA','Zamora',1),(170,'Z',402,'',1,'ZARAGOZA','Zaragoza',1),(171,'CE',407,'',7,'CEUTA','Ceuta',1),(172,'ML',409,'',9,'MELILLA','Melilla',1),(174,'AG',601,NULL,NULL,'ARGOVIE','Argovie',1),(175,'AI',601,NULL,NULL,'APPENZELL RHODES INTERIEURES','Appenzell Rhodes intérieures',1),(176,'AR',601,NULL,NULL,'APPENZELL RHODES EXTERIEURES','Appenzell Rhodes extérieures',1),(177,'BE',601,NULL,NULL,'BERNE','Berne',1),(178,'BL',601,NULL,NULL,'BALE CAMPAGNE','Bâle Campagne',1),(179,'BS',601,NULL,NULL,'BALE VILLE','Bâle Ville',1),(180,'FR',601,NULL,NULL,'FRIBOURG','Fribourg',1),(181,'GE',601,NULL,NULL,'GENEVE','Genève',1),(182,'GL',601,NULL,NULL,'GLARIS','Glaris',1),(183,'GR',601,NULL,NULL,'GRISONS','Grisons',1),(184,'JU',601,NULL,NULL,'JURA','Jura',1),(185,'LU',601,NULL,NULL,'LUCERNE','Lucerne',1),(186,'NE',601,NULL,NULL,'NEUCHATEL','Neuchâtel',1),(187,'NW',601,NULL,NULL,'NIDWALD','Nidwald',1),(188,'OW',601,NULL,NULL,'OBWALD','Obwald',1),(189,'SG',601,NULL,NULL,'SAINT-GALL','Saint-Gall',1),(190,'SH',601,NULL,NULL,'SCHAFFHOUSE','Schaffhouse',1),(191,'SO',601,NULL,NULL,'SOLEURE','Soleure',1),(192,'SZ',601,NULL,NULL,'SCHWYZ','Schwyz',1),(193,'TG',601,NULL,NULL,'THURGOVIE','Thurgovie',1),(194,'TI',601,NULL,NULL,'TESSIN','Tessin',1),(195,'UR',601,NULL,NULL,'URI','Uri',1),(196,'VD',601,NULL,NULL,'VAUD','Vaud',1),(197,'VS',601,NULL,NULL,'VALAIS','Valais',1),(198,'ZG',601,NULL,NULL,'ZUG','Zug',1),(199,'ZH',601,NULL,NULL,'ZURICH','Zürich',1),(200,'AL',1101,'',0,'ALABAMA','Alabama',1),(201,'AK',1101,'',0,'ALASKA','Alaska',1),(202,'AZ',1101,'',0,'ARIZONA','Arizona',1),(203,'AR',1101,'',0,'ARKANSAS','Arkansas',1),(204,'CA',1101,'',0,'CALIFORNIA','California',1),(205,'CO',1101,'',0,'COLORADO','Colorado',1),(206,'CT',1101,'',0,'CONNECTICUT','Connecticut',1),(207,'DE',1101,'',0,'DELAWARE','Delaware',1),(208,'FL',1101,'',0,'FLORIDA','Florida',1),(209,'GA',1101,'',0,'GEORGIA','Georgia',1),(210,'HI',1101,'',0,'HAWAII','Hawaii',1),(211,'ID',1101,'',0,'IDAHO','Idaho',1),(212,'IL',1101,'',0,'ILLINOIS','Illinois',1),(213,'IN',1101,'',0,'INDIANA','Indiana',1),(214,'IA',1101,'',0,'IOWA','Iowa',1),(215,'KS',1101,'',0,'KANSAS','Kansas',1),(216,'KY',1101,'',0,'KENTUCKY','Kentucky',1),(217,'LA',1101,'',0,'LOUISIANA','Louisiana',1),(218,'ME',1101,'',0,'MAINE','Maine',1),(219,'MD',1101,'',0,'MARYLAND','Maryland',1),(220,'MA',1101,'',0,'MASSACHUSSETTS','Massachusetts',1),(221,'MI',1101,'',0,'MICHIGAN','Michigan',1),(222,'MN',1101,'',0,'MINNESOTA','Minnesota',1),(223,'MS',1101,'',0,'MISSISSIPPI','Mississippi',1),(224,'MO',1101,'',0,'MISSOURI','Missouri',1),(225,'MT',1101,'',0,'MONTANA','Montana',1),(226,'NE',1101,'',0,'NEBRASKA','Nebraska',1),(227,'NV',1101,'',0,'NEVADA','Nevada',1),(228,'NH',1101,'',0,'NEW HAMPSHIRE','New Hampshire',1),(229,'NJ',1101,'',0,'NEW JERSEY','New Jersey',1),(230,'NM',1101,'',0,'NEW MEXICO','New Mexico',1),(231,'NY',1101,'',0,'NEW YORK','New York',1),(232,'NC',1101,'',0,'NORTH CAROLINA','North Carolina',1),(233,'ND',1101,'',0,'NORTH DAKOTA','North Dakota',1),(234,'OH',1101,'',0,'OHIO','Ohio',1),(235,'OK',1101,'',0,'OKLAHOMA','Oklahoma',1),(236,'OR',1101,'',0,'OREGON','Oregon',1),(237,'PA',1101,'',0,'PENNSYLVANIA','Pennsylvania',1),(238,'RI',1101,'',0,'RHODE ISLAND','Rhode Island',1),(239,'SC',1101,'',0,'SOUTH CAROLINA','South Carolina',1),(240,'SD',1101,'',0,'SOUTH DAKOTA','South Dakota',1),(241,'TN',1101,'',0,'TENNESSEE','Tennessee',1),(242,'TX',1101,'',0,'TEXAS','Texas',1),(243,'UT',1101,'',0,'UTAH','Utah',1),(244,'VT',1101,'',0,'VERMONT','Vermont',1),(245,'VA',1101,'',0,'VIRGINIA','Virginia',1),(246,'WA',1101,'',0,'WASHINGTON','Washington',1),(247,'WV',1101,'',0,'WEST VIRGINIA','West Virginia',1),(248,'WI',1101,'',0,'WISCONSIN','Wisconsin',1),(249,'WY',1101,'',0,'WYOMING','Wyoming',1),(250,'SS',8601,NULL,NULL,NULL,'San Salvador',1),(251,'SA',8603,NULL,NULL,NULL,'Santa Ana',1),(252,'AH',8603,NULL,NULL,NULL,'Ahuachapan',1),(253,'SO',8603,NULL,NULL,NULL,'Sonsonate',1),(254,'US',8602,NULL,NULL,NULL,'Usulutan',1),(255,'SM',8602,NULL,NULL,NULL,'San Miguel',1),(256,'MO',8602,NULL,NULL,NULL,'Morazan',1),(257,'LU',8602,NULL,NULL,NULL,'La Union',1),(258,'LL',8601,NULL,NULL,NULL,'La Libertad',1),(259,'CH',8601,NULL,NULL,NULL,'Chalatenango',1),(260,'CA',8601,NULL,NULL,NULL,'Cabañas',1),(261,'LP',8601,NULL,NULL,NULL,'La Paz',1),(262,'SV',8601,NULL,NULL,NULL,'San Vicente',1),(263,'CU',8601,NULL,NULL,NULL,'Cuscatlan',1),(264,'2301',2301,'',0,'CATAMARCA','Catamarca',1),(265,'2302',2301,'',0,'JUJUY','Jujuy',1),(266,'2303',2301,'',0,'TUCAMAN','Tucamán',1),(267,'2304',2301,'',0,'SANTIAGO DEL ESTERO','Santiago del Estero',1),(268,'2305',2301,'',0,'SALTA','Salta',1),(269,'2306',2302,'',0,'CHACO','Chaco',1),(270,'2307',2302,'',0,'CORRIENTES','Corrientes',1),(271,'2308',2302,'',0,'ENTRE RIOS','Entre Ríos',1),(272,'2309',2302,'',0,'FORMOSA','Formosa',1),(273,'2310',2302,'',0,'SANTA FE','Santa Fe',1),(274,'2311',2303,'',0,'LA RIOJA','La Rioja',1),(275,'2312',2303,'',0,'MENDOZA','Mendoza',1),(276,'2313',2303,'',0,'SAN JUAN','San Juan',1),(277,'2314',2303,'',0,'SAN LUIS','San Luis',1),(278,'2315',2304,'',0,'CORDOBA','Córdoba',1),(279,'2316',2304,'',0,'BUENOS AIRES','Buenos Aires',1),(280,'2317',2304,'',0,'CABA','Caba',1),(281,'2318',2305,'',0,'LA PAMPA','La Pampa',1),(282,'2319',2305,'',0,'NEUQUEN','Neuquén',1),(283,'2320',2305,'',0,'RIO NEGRO','Río Negro',1),(284,'2321',2305,'',0,'CHUBUT','Chubut',1),(285,'2322',2305,'',0,'SANTA CRUZ','Santa Cruz',1),(286,'2323',2305,'',0,'TIERRA DEL FUEGO','Tierra del Fuego',1),(287,'2324',2305,'',0,'ISLAS MALVINAS','Islas Malvinas',1),(288,'2325',2305,'',0,'ANTARTIDA','Antártida',1),(289,'AN',11701,NULL,0,'AN','Andaman & Nicobar',1),(290,'AP',11701,NULL,0,'AP','Andhra Pradesh',1),(291,'AR',11701,NULL,0,'AR','Arunachal Pradesh',1),(292,'AS',11701,NULL,0,'AS','Assam',1),(293,'BR',11701,NULL,0,'BR','Bihar',1),(294,'CG',11701,NULL,0,'CG','Chattisgarh',1),(295,'CH',11701,NULL,0,'CH','Chandigarh',1),(296,'DD',11701,NULL,0,'DD','Daman & Diu',1),(297,'DL',11701,NULL,0,'DL','Delhi',1),(298,'DN',11701,NULL,0,'DN','Dadra and Nagar Haveli',1),(299,'GA',11701,NULL,0,'GA','Goa',1),(300,'GJ',11701,NULL,0,'GJ','Gujarat',1),(301,'HP',11701,NULL,0,'HP','Himachal Pradesh',1),(302,'HR',11701,NULL,0,'HR','Haryana',1),(303,'JH',11701,NULL,0,'JH','Jharkhand',1),(304,'JK',11701,NULL,0,'JK','Jammu & Kashmir',1),(305,'KA',11701,NULL,0,'KA','Karnataka',1),(306,'KL',11701,NULL,0,'KL','Kerala',1),(307,'LD',11701,NULL,0,'LD','Lakshadweep',1),(308,'MH',11701,NULL,0,'MH','Maharashtra',1),(309,'ML',11701,NULL,0,'ML','Meghalaya',1),(310,'MN',11701,NULL,0,'MN','Manipur',1),(311,'MP',11701,NULL,0,'MP','Madhya Pradesh',1),(312,'MZ',11701,NULL,0,'MZ','Mizoram',1),(313,'NL',11701,NULL,0,'NL','Nagaland',1),(314,'OR',11701,NULL,0,'OR','Orissa',1),(315,'PB',11701,NULL,0,'PB','Punjab',1),(316,'PY',11701,NULL,0,'PY','Puducherry',1),(317,'RJ',11701,NULL,0,'RJ','Rajasthan',1),(318,'SK',11701,NULL,0,'SK','Sikkim',1),(319,'TN',11701,NULL,0,'TN','Tamil Nadu',1),(320,'TR',11701,NULL,0,'TR','Tripura',1),(321,'UL',11701,NULL,0,'UL','Uttarakhand',1),(322,'UP',11701,NULL,0,'UP','Uttar Pradesh',1),(323,'WB',11701,NULL,0,'WB','West Bengal',1),(374,'151',6715,'',0,'151','Arica',1),(375,'152',6715,'',0,'152','Parinacota',1),(376,'011',6701,'',0,'011','Iquique',1),(377,'014',6701,'',0,'014','Tamarugal',1),(378,'021',6702,'',0,'021','Antofagasa',1),(379,'022',6702,'',0,'022','El Loa',1),(380,'023',6702,'',0,'023','Tocopilla',1),(381,'031',6703,'',0,'031','Copiapó',1),(382,'032',6703,'',0,'032','Chañaral',1),(383,'033',6703,'',0,'033','Huasco',1),(384,'041',6704,'',0,'041','Elqui',1),(385,'042',6704,'',0,'042','Choapa',1),(386,'043',6704,'',0,'043','Limarí',1),(387,'051',6705,'',0,'051','Valparaíso',1),(388,'052',6705,'',0,'052','Isla de Pascua',1),(389,'053',6705,'',0,'053','Los Andes',1),(390,'054',6705,'',0,'054','Petorca',1),(391,'055',6705,'',0,'055','Quillota',1),(392,'056',6705,'',0,'056','San Antonio',1),(393,'057',6705,'',0,'057','San Felipe de Aconcagua',1),(394,'058',6705,'',0,'058','Marga Marga',1),(395,'061',6706,'',0,'061','Cachapoal',1),(396,'062',6706,'',0,'062','Cardenal Caro',1),(397,'063',6706,'',0,'063','Colchagua',1),(398,'071',6707,'',0,'071','Talca',1),(399,'072',6707,'',0,'072','Cauquenes',1),(400,'073',6707,'',0,'073','Curicó',1),(401,'074',6707,'',0,'074','Linares',1),(402,'081',6708,'',0,'081','Concepción',1),(403,'082',6708,'',0,'082','Arauco',1),(404,'083',6708,'',0,'083','Biobío',1),(405,'084',6708,'',0,'084','Ñuble',1),(406,'091',6709,'',0,'091','Cautín',1),(407,'092',6709,'',0,'092','Malleco',1),(408,'141',6714,'',0,'141','Valdivia',1),(409,'142',6714,'',0,'142','Ranco',1),(410,'101',6710,'',0,'101','Llanquihue',1),(411,'102',6710,'',0,'102','Chiloé',1),(412,'103',6710,'',0,'103','Osorno',1),(413,'104',6710,'',0,'104','Palena',1),(414,'111',6711,'',0,'111','Coihaique',1),(415,'112',6711,'',0,'112','Aisén',1),(416,'113',6711,'',0,'113','Capitán Prat',1),(417,'114',6711,'',0,'114','General Carrera',1),(418,'121',6712,'',0,'121','Magallanes',1),(419,'122',6712,'',0,'122','Antártica Chilena',1),(420,'123',6712,'',0,'123','Tierra del Fuego',1),(421,'124',6712,'',0,'124','Última Esperanza',1),(422,'131',6713,'',0,'131','Santiago',1),(423,'132',6713,'',0,'132','Cordillera',1),(424,'133',6713,'',0,'133','Chacabuco',1),(425,'134',6713,'',0,'134','Maipo',1),(426,'135',6713,'',0,'135','Melipilla',1),(427,'136',6713,'',0,'136','Talagante',1),(428,'DIF',15401,'',0,'DIF','Distrito Federal',1),(429,'AGS',15401,'',0,'AGS','Aguascalientes',1),(430,'BCN',15401,'',0,'BCN','Baja California Norte',1),(431,'BCS',15401,'',0,'BCS','Baja California Sur',1),(432,'CAM',15401,'',0,'CAM','Campeche',1),(433,'CHP',15401,'',0,'CHP','Chiapas',1),(434,'CHI',15401,'',0,'CHI','Chihuahua',1),(435,'COA',15401,'',0,'COA','Coahuila',1),(436,'COL',15401,'',0,'COL','Colima',1),(437,'DUR',15401,'',0,'DUR','Durango',1),(438,'GTO',15401,'',0,'GTO','Guanajuato',1),(439,'GRO',15401,'',0,'GRO','Guerrero',1),(440,'HGO',15401,'',0,'HGO','Hidalgo',1),(441,'JAL',15401,'',0,'JAL','Jalisco',1),(442,'MEX',15401,'',0,'MEX','México',1),(443,'MIC',15401,'',0,'MIC','Michoacán de Ocampo',1),(444,'MOR',15401,'',0,'MOR','Morelos',1),(445,'NAY',15401,'',0,'NAY','Nayarit',1),(446,'NLE',15401,'',0,'NLE','Nuevo León',1),(447,'OAX',15401,'',0,'OAX','Oaxaca',1),(448,'PUE',15401,'',0,'PUE','Puebla',1),(449,'QRO',15401,'',0,'QRO','Querétaro',1),(451,'ROO',15401,'',0,'ROO','Quintana Roo',1),(452,'SLP',15401,'',0,'SLP','San Luis Potosí',1),(453,'SIN',15401,'',0,'SIN','Sinaloa',1),(454,'SON',15401,'',0,'SON','Sonora',1),(455,'TAB',15401,'',0,'TAB','Tabasco',1),(456,'TAM',15401,'',0,'TAM','Tamaulipas',1),(457,'TLX',15401,'',0,'TLX','Tlaxcala',1),(458,'VER',15401,'',0,'VER','Veracruz',1),(459,'YUC',15401,'',0,'YUC','Yucatán',1),(460,'ZAC',15401,'',0,'ZAC','Zacatecas',1),(461,'ANT',7001,'',0,'ANT','Antioquia',1),(462,'BOL',7001,'',0,'BOL','Bolívar',1),(463,'BOY',7001,'',0,'BOY','Boyacá',1),(464,'CAL',7001,'',0,'CAL','Caldas',1),(465,'CAU',7001,'',0,'CAU','Cauca',1),(466,'CUN',7001,'',0,'CUN','Cundinamarca',1),(467,'HUI',7001,'',0,'HUI','Huila',1),(468,'LAG',7001,'',0,'LAG','La Guajira',1),(469,'MET',7001,'',0,'MET','Meta',1),(470,'NAR',7001,'',0,'NAR','Nariño',1),(471,'NDS',7001,'',0,'NDS','Norte de Santander',1),(472,'SAN',7001,'',0,'SAN','Santander',1),(473,'SUC',7001,'',0,'SUC','Sucre',1),(474,'TOL',7001,'',0,'TOL','Tolima',1),(475,'VAC',7001,'',0,'VAC','Valle del Cauca',1),(476,'RIS',7001,'',0,'RIS','Risalda',1),(477,'ATL',7001,'',0,'ATL','Atlántico',1),(478,'COR',7001,'',0,'COR','Córdoba',1),(479,'SAP',7001,'',0,'SAP','San Andrés, Providencia y Santa Catalina',1),(480,'ARA',7001,'',0,'ARA','Arauca',1),(481,'CAS',7001,'',0,'CAS','Casanare',1),(482,'AMA',7001,'',0,'AMA','Amazonas',1),(483,'CAQ',7001,'',0,'CAQ','Caquetá',1),(484,'CHO',7001,'',0,'CHO','Chocó',1),(485,'GUA',7001,'',0,'GUA','Guainía',1),(486,'GUV',7001,'',0,'GUV','Guaviare',1),(487,'PUT',7001,'',0,'PUT','Putumayo',1),(488,'QUI',7001,'',0,'QUI','Quindío',1),(489,'VAU',7001,'',0,'VAU','Vaupés',1),(490,'BOG',7001,'',0,'BOG','Bogotá',1),(491,'VID',7001,'',0,'VID','Vichada',1),(492,'CES',7001,'',0,'CES','Cesar',1),(493,'MAG',7001,'',0,'MAG','Magdalena',1),(494,'AT',11401,'',0,'AT','Atlántida',1),(495,'CH',11401,'',0,'CH','Choluteca',1),(496,'CL',11401,'',0,'CL','Colón',1),(497,'CM',11401,'',0,'CM','Comayagua',1),(498,'CO',11401,'',0,'CO','Copán',1),(499,'CR',11401,'',0,'CR','Cortés',1),(500,'EP',11401,'',0,'EP','El Paraíso',1),(501,'FM',11401,'',0,'FM','Francisco Morazán',1),(502,'GD',11401,'',0,'GD','Gracias a Dios',1),(503,'IN',11401,'',0,'IN','Intibucá',1),(504,'IB',11401,'',0,'IB','Islas de la Bahía',1),(505,'LP',11401,'',0,'LP','La Paz',1),(506,'LM',11401,'',0,'LM','Lempira',1),(507,'OC',11401,'',0,'OC','Ocotepeque',1),(508,'OL',11401,'',0,'OL','Olancho',1),(509,'SB',11401,'',0,'SB','Santa Bárbara',1),(510,'VL',11401,'',0,'VL','Valle',1),(511,'YO',11401,'',0,'YO','Yoro',1),(512,'DC',11401,'',0,'DC','Distrito Central',1),(652,'CC',4601,'Oistins',0,'CC','Christ Church',1),(655,'SA',4601,'Greenland',0,'SA','Saint Andrew',1),(656,'SG',4601,'Bulkeley',0,'SG','Saint George',1),(657,'JA',4601,'Holetown',0,'JA','Saint James',1),(658,'SJ',4601,'Four Roads',0,'SJ','Saint John',1),(659,'SB',4601,'Bathsheba',0,'SB','Saint Joseph',1),(660,'SL',4601,'Crab Hill',0,'SL','Saint Lucy',1),(661,'SM',4601,'Bridgetown',0,'SM','Saint Michael',1),(662,'SP',4601,'Speightstown',0,'SP','Saint Peter',1),(663,'SC',4601,'Crane',0,'SC','Saint Philip',1),(664,'ST',4601,'Hillaby',0,'ST','Saint Thomas',1),(777,'AG',315,NULL,NULL,NULL,'AGRIGENTO',1),(778,'AL',312,NULL,NULL,NULL,'ALESSANDRIA',1),(779,'AN',310,NULL,NULL,NULL,'ANCONA',1),(780,'AO',319,NULL,NULL,NULL,'AOSTA',1),(781,'AR',316,NULL,NULL,NULL,'AREZZO',1),(782,'AP',310,NULL,NULL,NULL,'ASCOLI PICENO',1),(783,'AT',312,NULL,NULL,NULL,'ASTI',1),(784,'AV',304,NULL,NULL,NULL,'AVELLINO',1),(785,'BA',313,NULL,NULL,NULL,'BARI',1),(786,'BT',313,NULL,NULL,NULL,'BARLETTA-ANDRIA-TRANI',1),(787,'BL',320,NULL,NULL,NULL,'BELLUNO',1),(788,'BN',304,NULL,NULL,NULL,'BENEVENTO',1),(789,'BG',309,NULL,NULL,NULL,'BERGAMO',1),(790,'BI',312,NULL,NULL,NULL,'BIELLA',1),(791,'BO',305,NULL,NULL,NULL,'BOLOGNA',1),(792,'BZ',317,NULL,NULL,NULL,'BOLZANO',1),(793,'BS',309,NULL,NULL,NULL,'BRESCIA',1),(794,'BR',313,NULL,NULL,NULL,'BRINDISI',1),(795,'CA',314,NULL,NULL,NULL,'CAGLIARI',1),(796,'CL',315,NULL,NULL,NULL,'CALTANISSETTA',1),(797,'CB',311,NULL,NULL,NULL,'CAMPOBASSO',1),(798,'CI',314,NULL,NULL,NULL,'CARBONIA-IGLESIAS',1),(799,'CE',304,NULL,NULL,NULL,'CASERTA',1),(800,'CT',315,NULL,NULL,NULL,'CATANIA',1),(801,'CZ',303,NULL,NULL,NULL,'CATANZARO',1),(802,'CH',301,NULL,NULL,NULL,'CHIETI',1),(803,'CO',309,NULL,NULL,NULL,'COMO',1),(804,'CS',303,NULL,NULL,NULL,'COSENZA',1),(805,'CR',309,NULL,NULL,NULL,'CREMONA',1),(806,'KR',303,NULL,NULL,NULL,'CROTONE',1),(807,'CN',312,NULL,NULL,NULL,'CUNEO',1),(808,'EN',315,NULL,NULL,NULL,'ENNA',1),(809,'FM',310,NULL,NULL,NULL,'FERMO',1),(810,'FE',305,NULL,NULL,NULL,'FERRARA',1),(811,'FI',316,NULL,NULL,NULL,'FIRENZE',1),(812,'FG',313,NULL,NULL,NULL,'FOGGIA',1),(813,'FC',305,NULL,NULL,NULL,'FORLI-CESENA',1),(814,'FR',307,NULL,NULL,NULL,'FROSINONE',1),(815,'GE',308,NULL,NULL,NULL,'GENOVA',1),(816,'GO',306,NULL,NULL,NULL,'GORIZIA',1),(817,'GR',316,NULL,NULL,NULL,'GROSSETO',1),(818,'IM',308,NULL,NULL,NULL,'IMPERIA',1),(819,'IS',311,NULL,NULL,NULL,'ISERNIA',1),(820,'SP',308,NULL,NULL,NULL,'LA SPEZIA',1),(821,'AQ',301,NULL,NULL,NULL,'L AQUILA',1),(822,'LT',307,NULL,NULL,NULL,'LATINA',1),(823,'LE',313,NULL,NULL,NULL,'LECCE',1),(824,'LC',309,NULL,NULL,NULL,'LECCO',1),(825,'LI',314,NULL,NULL,NULL,'LIVORNO',1),(826,'LO',309,NULL,NULL,NULL,'LODI',1),(827,'LU',316,NULL,NULL,NULL,'LUCCA',1),(828,'MC',310,NULL,NULL,NULL,'MACERATA',1),(829,'MN',309,NULL,NULL,NULL,'MANTOVA',1),(830,'MS',316,NULL,NULL,NULL,'MASSA-CARRARA',1),(831,'MT',302,NULL,NULL,NULL,'MATERA',1),(832,'VS',314,NULL,NULL,NULL,'MEDIO CAMPIDANO',1),(833,'ME',315,NULL,NULL,NULL,'MESSINA',1),(834,'MI',309,NULL,NULL,NULL,'MILANO',1),(835,'MB',309,NULL,NULL,NULL,'MONZA e BRIANZA',1),(836,'MO',305,NULL,NULL,NULL,'MODENA',1),(837,'NA',304,NULL,NULL,NULL,'NAPOLI',1),(838,'NO',312,NULL,NULL,NULL,'NOVARA',1),(839,'NU',314,NULL,NULL,NULL,'NUORO',1),(840,'OG',314,NULL,NULL,NULL,'OGLIASTRA',1),(841,'OT',314,NULL,NULL,NULL,'OLBIA-TEMPIO',1),(842,'OR',314,NULL,NULL,NULL,'ORISTANO',1),(843,'PD',320,NULL,NULL,NULL,'PADOVA',1),(844,'PA',315,NULL,NULL,NULL,'PALERMO',1),(845,'PR',305,NULL,NULL,NULL,'PARMA',1),(846,'PV',309,NULL,NULL,NULL,'PAVIA',1),(847,'PG',318,NULL,NULL,NULL,'PERUGIA',1),(848,'PU',310,NULL,NULL,NULL,'PESARO e URBINO',1),(849,'PE',301,NULL,NULL,NULL,'PESCARA',1),(850,'PC',305,NULL,NULL,NULL,'PIACENZA',1),(851,'PI',316,NULL,NULL,NULL,'PISA',1),(852,'PT',316,NULL,NULL,NULL,'PISTOIA',1),(853,'PN',306,NULL,NULL,NULL,'PORDENONE',1),(854,'PZ',302,NULL,NULL,NULL,'POTENZA',1),(855,'PO',316,NULL,NULL,NULL,'PRATO',1),(856,'RG',315,NULL,NULL,NULL,'RAGUSA',1),(857,'RA',305,NULL,NULL,NULL,'RAVENNA',1),(858,'RC',303,NULL,NULL,NULL,'REGGIO CALABRIA',1),(859,'RE',305,NULL,NULL,NULL,'REGGIO NELL EMILIA',1),(860,'RI',307,NULL,NULL,NULL,'RIETI',1),(861,'RN',305,NULL,NULL,NULL,'RIMINI',1),(862,'RM',307,NULL,NULL,NULL,'ROMA',1),(863,'RO',320,NULL,NULL,NULL,'ROVIGO',1),(864,'SA',304,NULL,NULL,NULL,'SALERNO',1),(865,'SS',314,NULL,NULL,NULL,'SASSARI',1),(866,'SV',308,NULL,NULL,NULL,'SAVONA',1),(867,'SI',316,NULL,NULL,NULL,'SIENA',1),(868,'SR',315,NULL,NULL,NULL,'SIRACUSA',1),(869,'SO',309,NULL,NULL,NULL,'SONDRIO',1),(870,'TA',313,NULL,NULL,NULL,'TARANTO',1),(871,'TE',301,NULL,NULL,NULL,'TERAMO',1),(872,'TR',318,NULL,NULL,NULL,'TERNI',1),(873,'TO',312,NULL,NULL,NULL,'TORINO',1),(874,'TP',315,NULL,NULL,NULL,'TRAPANI',1),(875,'TN',317,NULL,NULL,NULL,'TRENTO',1),(876,'TV',320,NULL,NULL,NULL,'TREVISO',1),(877,'TS',306,NULL,NULL,NULL,'TRIESTE',1),(878,'UD',306,NULL,NULL,NULL,'UDINE',1),(879,'VA',309,NULL,NULL,NULL,'VARESE',1),(880,'VE',320,NULL,NULL,NULL,'VENEZIA',1),(881,'VB',312,NULL,NULL,NULL,'VERBANO-CUSIO-OSSOLA',1),(882,'VC',312,NULL,NULL,NULL,'VERCELLI',1),(883,'VR',320,NULL,NULL,NULL,'VERONA',1),(884,'VV',303,NULL,NULL,NULL,'VIBO VALENTIA',1),(885,'VI',320,NULL,NULL,NULL,'VICENZA',1),(886,'VT',307,NULL,NULL,NULL,'VITERBO',1),(1036,'VE-L',23201,'',0,'VE-L','Mérida',1),(1037,'VE-T',23201,'',0,'VE-T','Trujillo',1),(1038,'VE-E',23201,'',0,'VE-E','Barinas',1),(1039,'VE-M',23202,'',0,'VE-M','Miranda',1),(1040,'VE-W',23202,'',0,'VE-W','Vargas',1),(1041,'VE-A',23202,'',0,'VE-A','Distrito Capital',1),(1042,'VE-D',23203,'',0,'VE-D','Aragua',1),(1043,'VE-G',23203,'',0,'VE-G','Carabobo',1),(1044,'VE-I',23204,'',0,'VE-I','Falcón',1),(1045,'VE-K',23204,'',0,'VE-K','Lara',1),(1046,'VE-U',23204,'',0,'VE-U','Yaracuy',1),(1047,'VE-F',23205,'',0,'VE-F','Bolívar',1),(1048,'VE-X',23205,'',0,'VE-X','Amazonas',1),(1049,'VE-Y',23205,'',0,'VE-Y','Delta Amacuro',1),(1050,'VE-O',23206,'',0,'VE-O','Nueva Esparta',1),(1051,'VE-Z',23206,'',0,'VE-Z','Dependencias Federales',1),(1052,'VE-C',23207,'',0,'VE-C','Apure',1),(1053,'VE-J',23207,'',0,'VE-J','Guárico',1),(1054,'VE-H',23207,'',0,'VE-H','Cojedes',1),(1055,'VE-P',23207,'',0,'VE-P','Portuguesa',1),(1056,'VE-B',23208,'',0,'VE-B','Anzoátegui',1),(1057,'VE-N',23208,'',0,'VE-N','Monagas',1),(1058,'VE-R',23208,'',0,'VE-R','Sucre',1),(1059,'VE-V',23209,'',0,'VE-V','Zulia',1),(1060,'VE-S',23209,'',0,'VE-S','Táchira',1),(1061,'66',10201,NULL,NULL,NULL,'?????',1),(1062,'00',10205,NULL,NULL,NULL,'?????',1),(1063,'01',10205,NULL,NULL,NULL,'?????',1),(1064,'02',10205,NULL,NULL,NULL,'?????',1),(1065,'03',10205,NULL,NULL,NULL,'??????',1),(1066,'04',10205,NULL,NULL,NULL,'?????',1),(1067,'05',10205,NULL,NULL,NULL,'??????',1),(1068,'06',10203,NULL,NULL,NULL,'??????',1),(1069,'07',10203,NULL,NULL,NULL,'???????????',1),(1070,'08',10203,NULL,NULL,NULL,'??????',1),(1071,'09',10203,NULL,NULL,NULL,'?????',1),(1072,'10',10203,NULL,NULL,NULL,'??????',1),(1073,'11',10203,NULL,NULL,NULL,'??????',1),(1074,'12',10203,NULL,NULL,NULL,'?????????',1),(1075,'13',10206,NULL,NULL,NULL,'????',1),(1076,'14',10206,NULL,NULL,NULL,'?????????',1),(1077,'15',10206,NULL,NULL,NULL,'????????',1),(1078,'16',10206,NULL,NULL,NULL,'???????',1),(1079,'17',10213,NULL,NULL,NULL,'???????',1),(1080,'18',10213,NULL,NULL,NULL,'????????',1),(1081,'19',10213,NULL,NULL,NULL,'??????',1),(1082,'20',10213,NULL,NULL,NULL,'???????',1),(1083,'21',10212,NULL,NULL,NULL,'????????',1),(1084,'22',10212,NULL,NULL,NULL,'??????',1),(1085,'23',10212,NULL,NULL,NULL,'????????',1),(1086,'24',10212,NULL,NULL,NULL,'???????',1),(1087,'25',10212,NULL,NULL,NULL,'????????',1),(1088,'26',10212,NULL,NULL,NULL,'???????',1),(1089,'27',10202,NULL,NULL,NULL,'??????',1),(1090,'28',10202,NULL,NULL,NULL,'?????????',1),(1091,'29',10202,NULL,NULL,NULL,'????????',1),(1092,'30',10202,NULL,NULL,NULL,'??????',1),(1093,'31',10209,NULL,NULL,NULL,'????????',1),(1094,'32',10209,NULL,NULL,NULL,'???????',1),(1095,'33',10209,NULL,NULL,NULL,'????????',1),(1096,'34',10209,NULL,NULL,NULL,'???????',1),(1097,'35',10209,NULL,NULL,NULL,'????????',1),(1098,'36',10211,NULL,NULL,NULL,'???????????????',1),(1099,'37',10211,NULL,NULL,NULL,'?????',1),(1100,'38',10211,NULL,NULL,NULL,'?????',1),(1101,'39',10207,NULL,NULL,NULL,'????????',1),(1102,'40',10207,NULL,NULL,NULL,'???????',1),(1103,'41',10207,NULL,NULL,NULL,'??????????',1),(1104,'42',10207,NULL,NULL,NULL,'?????',1),(1105,'43',10207,NULL,NULL,NULL,'???????',1),(1106,'44',10208,NULL,NULL,NULL,'??????',1),(1107,'45',10208,NULL,NULL,NULL,'??????',1),(1108,'46',10208,NULL,NULL,NULL,'??????',1),(1109,'47',10208,NULL,NULL,NULL,'?????',1),(1110,'48',10208,NULL,NULL,NULL,'????',1),(1111,'49',10210,NULL,NULL,NULL,'??????',1),(1112,'50',10210,NULL,NULL,NULL,'????',1),(1113,'51',10210,NULL,NULL,NULL,'????????',1),(1114,'52',10210,NULL,NULL,NULL,'????????',1),(1115,'53',10210,NULL,NULL,NULL,'???-??????',1),(1116,'54',10210,NULL,NULL,NULL,'??',1),(1117,'55',10210,NULL,NULL,NULL,'?????',1),(1118,'56',10210,NULL,NULL,NULL,'???????',1),(1119,'57',10210,NULL,NULL,NULL,'?????',1),(1120,'58',10210,NULL,NULL,NULL,'?????',1),(1121,'59',10210,NULL,NULL,NULL,'?????',1),(1122,'60',10210,NULL,NULL,NULL,'?????',1),(1123,'61',10210,NULL,NULL,NULL,'?????',1),(1124,'62',10204,NULL,NULL,NULL,'????????',1),(1125,'63',10204,NULL,NULL,NULL,'??????',1),(1126,'64',10204,NULL,NULL,NULL,'???????',1),(1127,'65',10204,NULL,NULL,NULL,'?????',1),(1128,'AL01',1301,'',0,'','Wilaya d\'Adrar',1),(1129,'AL02',1301,'',0,'','Wilaya de Chlef',1),(1130,'AL03',1301,'',0,'','Wilaya de Laghouat',1),(1131,'AL04',1301,'',0,'','Wilaya d\'Oum El Bouaghi',1),(1132,'AL05',1301,'',0,'','Wilaya de Batna',1),(1133,'AL06',1301,'',0,'','Wilaya de Béjaïa',1),(1134,'AL07',1301,'',0,'','Wilaya de Biskra',1),(1135,'AL08',1301,'',0,'','Wilaya de Béchar',1),(1136,'AL09',1301,'',0,'','Wilaya de Blida',1),(1137,'AL11',1301,'',0,'','Wilaya de Bouira',1),(1138,'AL12',1301,'',0,'','Wilaya de Tamanrasset',1),(1139,'AL13',1301,'',0,'','Wilaya de Tébessa',1),(1140,'AL14',1301,'',0,'','Wilaya de Tlemcen',1),(1141,'AL15',1301,'',0,'','Wilaya de Tiaret',1),(1142,'AL16',1301,'',0,'','Wilaya de Tizi Ouzou',1),(1143,'AL17',1301,'',0,'','Wilaya d\'Alger',1),(1144,'AL18',1301,'',0,'','Wilaya de Djelfa',1),(1145,'AL19',1301,'',0,'','Wilaya de Jijel',1),(1146,'AL20',1301,'',0,'','Wilaya de Sétif ',1),(1147,'AL21',1301,'',0,'','Wilaya de Saïda',1),(1148,'AL22',1301,'',0,'','Wilaya de Skikda',1),(1149,'AL23',1301,'',0,'','Wilaya de Sidi Bel Abbès',1),(1150,'AL24',1301,'',0,'','Wilaya d\'Annaba',1),(1151,'AL25',1301,'',0,'','Wilaya de Guelma',1),(1152,'AL26',1301,'',0,'','Wilaya de Constantine',1),(1153,'AL27',1301,'',0,'','Wilaya de Médéa',1),(1154,'AL28',1301,'',0,'','Wilaya de Mostaganem',1),(1155,'AL29',1301,'',0,'','Wilaya de M\'Sila',1),(1156,'AL30',1301,'',0,'','Wilaya de Mascara',1),(1157,'AL31',1301,'',0,'','Wilaya d\'Ouargla',1),(1158,'AL32',1301,'',0,'','Wilaya d\'Oran',1),(1159,'AL33',1301,'',0,'','Wilaya d\'El Bayadh',1),(1160,'AL34',1301,'',0,'','Wilaya d\'Illizi',1),(1161,'AL35',1301,'',0,'','Wilaya de Bordj Bou Arreridj',1),(1162,'AL36',1301,'',0,'','Wilaya de Boumerdès',1),(1163,'AL37',1301,'',0,'','Wilaya d\'El Tarf',1),(1164,'AL38',1301,'',0,'','Wilaya de Tindouf',1),(1165,'AL39',1301,'',0,'','Wilaya de Tissemsilt',1),(1166,'AL40',1301,'',0,'','Wilaya d\'El Oued',1),(1167,'AL41',1301,'',0,'','Wilaya de Khenchela',1),(1168,'AL42',1301,'',0,'','Wilaya de Souk Ahras',1),(1169,'AL43',1301,'',0,'','Wilaya de Tipaza',1),(1170,'AL44',1301,'',0,'','Wilaya de Mila',1),(1171,'AL45',1301,'',0,'','Wilaya d\'Aïn Defla',1),(1172,'AL46',1301,'',0,'','Wilaya de Naâma',1),(1173,'AL47',1301,'',0,'','Wilaya d\'Aïn Témouchent',1),(1174,'AL48',1301,'',0,'','Wilaya de Ghardaia',1),(1175,'AL49',1301,'',0,'','Wilaya de Relizane',1),(1176,'MA',1209,'',0,'','Province de Benslimane',1),(1177,'MA1',1209,'',0,'','Province de Berrechid',1),(1178,'MA2',1209,'',0,'','Province de Khouribga',1),(1179,'MA3',1209,'',0,'','Province de Settat',1),(1180,'MA4',1210,'',0,'','Province d\'El Jadida',1),(1181,'MA5',1210,'',0,'','Province de Safi',1),(1182,'MA6',1210,'',0,'','Province de Sidi Bennour',1),(1183,'MA7',1210,'',0,'','Province de Youssoufia',1),(1184,'MA6B',1205,'',0,'','Préfecture de Fès',1),(1185,'MA7B',1205,'',0,'','Province de Boulemane',1),(1186,'MA8',1205,'',0,'','Province de Moulay Yacoub',1),(1187,'MA9',1205,'',0,'','Province de Sefrou',1),(1188,'MA8A',1202,'',0,'','Province de Kénitra',1),(1189,'MA9A',1202,'',0,'','Province de Sidi Kacem',1),(1190,'MA10',1202,'',0,'','Province de Sidi Slimane',1),(1191,'MA11',1208,'',0,'','Préfecture de Casablanca',1),(1192,'MA12',1208,'',0,'','Préfecture de Mohammédia',1),(1193,'MA13',1208,'',0,'','Province de Médiouna',1),(1194,'MA14',1208,'',0,'','Province de Nouaceur',1),(1195,'MA15',1214,'',0,'','Province d\'Assa-Zag',1),(1196,'MA16',1214,'',0,'','Province d\'Es-Semara',1),(1197,'MA17A',1214,'',0,'','Province de Guelmim',1),(1198,'MA18',1214,'',0,'','Province de Tata',1),(1199,'MA19',1214,'',0,'','Province de Tan-Tan',1),(1200,'MA15',1215,'',0,'','Province de Boujdour',1),(1201,'MA16',1215,'',0,'','Province de Lâayoune',1),(1202,'MA17',1215,'',0,'','Province de Tarfaya',1),(1203,'MA18',1211,'',0,'','Préfecture de Marrakech',1),(1204,'MA19',1211,'',0,'','Province d\'Al Haouz',1),(1205,'MA20',1211,'',0,'','Province de Chichaoua',1),(1206,'MA21',1211,'',0,'','Province d\'El Kelâa des Sraghna',1),(1207,'MA22',1211,'',0,'','Province d\'Essaouira',1),(1208,'MA23',1211,'',0,'','Province de Rehamna',1),(1209,'MA24',1206,'',0,'','Préfecture de Meknès',1),(1210,'MA25',1206,'',0,'','Province d’El Hajeb',1),(1211,'MA26',1206,'',0,'','Province d\'Errachidia',1),(1212,'MA27',1206,'',0,'','Province d’Ifrane',1),(1213,'MA28',1206,'',0,'','Province de Khénifra',1),(1214,'MA29',1206,'',0,'','Province de Midelt',1),(1215,'MA30',1204,'',0,'','Préfecture d\'Oujda-Angad',1),(1216,'MA31',1204,'',0,'','Province de Berkane',1),(1217,'MA32',1204,'',0,'','Province de Driouch',1),(1218,'MA33',1204,'',0,'','Province de Figuig',1),(1219,'MA34',1204,'',0,'','Province de Jerada',1),(1220,'MA35',1204,'',0,'','Province de Nadorgg',1),(1221,'MA36',1204,'',0,'','Province de Taourirt',1),(1222,'MA37',1216,'',0,'','Province d\'Aousserd',1),(1223,'MA38',1216,'',0,'','Province d\'Oued Ed-Dahab',1),(1224,'MA39',1207,'',0,'','Préfecture de Rabat',1),(1225,'MA40',1207,'',0,'','Préfecture de Skhirat-Témara',1),(1226,'MA41',1207,'',0,'','Préfecture de Salé',1),(1227,'MA42',1207,'',0,'','Province de Khémisset',1),(1228,'MA43',1213,'',0,'','Préfecture d\'Agadir Ida-Outanane',1),(1229,'MA44',1213,'',0,'','Préfecture d\'Inezgane-Aït Melloul',1),(1230,'MA45',1213,'',0,'','Province de Chtouka-Aït Baha',1),(1231,'MA46',1213,'',0,'','Province d\'Ouarzazate',1),(1232,'MA47',1213,'',0,'','Province de Sidi Ifni',1),(1233,'MA48',1213,'',0,'','Province de Taroudant',1),(1234,'MA49',1213,'',0,'','Province de Tinghir',1),(1235,'MA50',1213,'',0,'','Province de Tiznit',1),(1236,'MA51',1213,'',0,'','Province de Zagora',1),(1237,'MA52',1212,'',0,'','Province d\'Azilal',1),(1238,'MA53',1212,'',0,'','Province de Beni Mellal',1),(1239,'MA54',1212,'',0,'','Province de Fquih Ben Salah',1),(1240,'MA55',1201,'',0,'','Préfecture de M\'diq-Fnideq',1),(1241,'MA56',1201,'',0,'','Préfecture de Tanger-Asilah',1),(1242,'MA57',1201,'',0,'','Province de Chefchaouen',1),(1243,'MA58',1201,'',0,'','Province de Fahs-Anjra',1),(1244,'MA59',1201,'',0,'','Province de Larache',1),(1245,'MA60',1201,'',0,'','Province d\'Ouezzane',1),(1246,'MA61',1201,'',0,'','Province de Tétouan',1),(1247,'MA62',1203,'',0,'','Province de Guercif',1),(1248,'MA63',1203,'',0,'','Province d\'Al Hoceïma',1),(1249,'MA64',1203,'',0,'','Province de Taounate',1),(1250,'MA65',1203,'',0,'','Province de Taza',1),(1251,'MA6A',1205,'',0,'','Préfecture de Fès',1),(1252,'MA7A',1205,'',0,'','Province de Boulemane',1),(1253,'MA15A',1214,'',0,'','Province d\'Assa-Zag',1),(1254,'MA16A',1214,'',0,'','Province d\'Es-Semara',1),(1255,'MA18A',1211,'',0,'','Préfecture de Marrakech',1),(1256,'MA19A',1214,'',0,'','Province de Tan-Tan',1),(1257,'MA19B',1214,'',0,'','Province de Tan-Tan',1),(1258,'TN01',1001,'',0,'','Ariana',1),(1259,'TN02',1001,'',0,'','Béja',1),(1260,'TN03',1001,'',0,'','Ben Arous',1),(1261,'TN04',1001,'',0,'','Bizerte',1),(1262,'TN05',1001,'',0,'','Gabès',1),(1263,'TN06',1001,'',0,'','Gafsa',1),(1264,'TN07',1001,'',0,'','Jendouba',1),(1265,'TN08',1001,'',0,'','Kairouan',1),(1266,'TN09',1001,'',0,'','Kasserine',1),(1267,'TN10',1001,'',0,'','Kébili',1),(1268,'TN11',1001,'',0,'','La Manouba',1),(1269,'TN12',1001,'',0,'','Le Kef',1),(1270,'TN13',1001,'',0,'','Mahdia',1),(1271,'TN14',1001,'',0,'','Médenine',1),(1272,'TN15',1001,'',0,'','Monastir',1),(1273,'TN16',1001,'',0,'','Nabeul',1),(1274,'TN17',1001,'',0,'','Sfax',1),(1275,'TN18',1001,'',0,'','Sidi Bouzid',1),(1276,'TN19',1001,'',0,'','Siliana',1),(1277,'TN20',1001,'',0,'','Sousse',1),(1278,'TN21',1001,'',0,'','Tataouine',1),(1279,'TN22',1001,'',0,'','Tozeur',1),(1280,'TN23',1001,'',0,'','Tunis',1),(1281,'TN24',1001,'',0,'','Zaghouan',1),(1287,'976',6,'97601',3,'MAYOTTE','Mayotte',1),(1513,'ON',1401,'',1,'','Ontario',1),(1514,'QC',1401,'',1,'','Quebec',1),(1515,'NS',1401,'',1,'','Nova Scotia',1),(1516,'NB',1401,'',1,'','New Brunswick',1),(1517,'MB',1401,'',1,'','Manitoba',1),(1518,'BC',1401,'',1,'','British Columbia',1),(1519,'PE',1401,'',1,'','Prince Edward Island',1),(1520,'SK',1401,'',1,'','Saskatchewan',1),(1521,'AB',1401,'',1,'','Alberta',1),(1522,'NL',1401,'',1,'','Newfoundland and Labrador',1),(1575,'BW',501,NULL,NULL,'BADEN-WÜRTTEMBERG','Baden-Württemberg',1),(1576,'BY',501,NULL,NULL,'BAYERN','Bayern',1),(1577,'BE',501,NULL,NULL,'BERLIN','Berlin',1),(1578,'BB',501,NULL,NULL,'BRANDENBURG','Brandenburg',1),(1579,'HB',501,NULL,NULL,'BREMEN','Bremen',1),(1580,'HH',501,NULL,NULL,'HAMBURG','Hamburg',1),(1581,'HE',501,NULL,NULL,'HESSEN','Hessen',1),(1582,'MV',501,NULL,NULL,'MECKLENBURG-VORPOMMERN','Mecklenburg-Vorpommern',1),(1583,'NI',501,NULL,NULL,'NIEDERSACHSEN','Niedersachsen',1),(1584,'NW',501,NULL,NULL,'NORDRHEIN-WESTFALEN','Nordrhein-Westfalen',1),(1585,'RP',501,NULL,NULL,'RHEINLAND-PFALZ','Rheinland-Pfalz',1),(1586,'SL',501,NULL,NULL,'SAARLAND','Saarland',1),(1587,'SN',501,NULL,NULL,'SACHSEN','Sachsen',1),(1588,'ST',501,NULL,NULL,'SACHSEN-ANHALT','Sachsen-Anhalt',1),(1589,'SH',501,NULL,NULL,'SCHLESWIG-HOLSTEIN','Schleswig-Holstein',1),(1590,'TH',501,NULL,NULL,'THÜRINGEN','Thüringen',1),(1592,'67',10205,'',0,'','Δράμα',1),(1684,'701',701,NULL,0,NULL,'Bedfordshire',1),(1685,'702',701,NULL,0,NULL,'Berkshire',1),(1686,'703',701,NULL,0,NULL,'Bristol, City of',1),(1687,'704',701,NULL,0,NULL,'Buckinghamshire',1),(1688,'705',701,NULL,0,NULL,'Cambridgeshire',1),(1689,'706',701,NULL,0,NULL,'Cheshire',1),(1690,'707',701,NULL,0,NULL,'Cleveland',1),(1691,'708',701,NULL,0,NULL,'Cornwall',1),(1692,'709',701,NULL,0,NULL,'Cumberland',1),(1693,'710',701,NULL,0,NULL,'Cumbria',1),(1694,'711',701,NULL,0,NULL,'Derbyshire',1),(1695,'712',701,NULL,0,NULL,'Devon',1),(1696,'713',701,NULL,0,NULL,'Dorset',1),(1697,'714',701,NULL,0,NULL,'Co. Durham',1),(1698,'715',701,NULL,0,NULL,'East Riding of Yorkshire',1),(1699,'716',701,NULL,0,NULL,'East Sussex',1),(1700,'717',701,NULL,0,NULL,'Essex',1),(1701,'718',701,NULL,0,NULL,'Gloucestershire',1),(1702,'719',701,NULL,0,NULL,'Greater Manchester',1),(1703,'720',701,NULL,0,NULL,'Hampshire',1),(1704,'721',701,NULL,0,NULL,'Hertfordshire',1),(1705,'722',701,NULL,0,NULL,'Hereford and Worcester',1),(1706,'723',701,NULL,0,NULL,'Herefordshire',1),(1707,'724',701,NULL,0,NULL,'Huntingdonshire',1),(1708,'725',701,NULL,0,NULL,'Isle of Man',1),(1709,'726',701,NULL,0,NULL,'Isle of Wight',1),(1710,'727',701,NULL,0,NULL,'Jersey',1),(1711,'728',701,NULL,0,NULL,'Kent',1),(1712,'729',701,NULL,0,NULL,'Lancashire',1),(1713,'730',701,NULL,0,NULL,'Leicestershire',1),(1714,'731',701,NULL,0,NULL,'Lincolnshire',1),(1715,'732',701,NULL,0,NULL,'London - City of London',1),(1716,'733',701,NULL,0,NULL,'Merseyside',1),(1717,'734',701,NULL,0,NULL,'Middlesex',1),(1718,'735',701,NULL,0,NULL,'Norfolk',1),(1719,'736',701,NULL,0,NULL,'North Yorkshire',1),(1720,'737',701,NULL,0,NULL,'North Riding of Yorkshire',1),(1721,'738',701,NULL,0,NULL,'Northamptonshire',1),(1722,'739',701,NULL,0,NULL,'Northumberland',1),(1723,'740',701,NULL,0,NULL,'Nottinghamshire',1),(1724,'741',701,NULL,0,NULL,'Oxfordshire',1),(1725,'742',701,NULL,0,NULL,'Rutland',1),(1726,'743',701,NULL,0,NULL,'Shropshire',1),(1727,'744',701,NULL,0,NULL,'Somerset',1),(1728,'745',701,NULL,0,NULL,'Staffordshire',1),(1729,'746',701,NULL,0,NULL,'Suffolk',1),(1730,'747',701,NULL,0,NULL,'Surrey',1),(1731,'748',701,NULL,0,NULL,'Sussex',1),(1732,'749',701,NULL,0,NULL,'Tyne and Wear',1),(1733,'750',701,NULL,0,NULL,'Warwickshire',1),(1734,'751',701,NULL,0,NULL,'West Midlands',1),(1735,'752',701,NULL,0,NULL,'West Sussex',1),(1736,'753',701,NULL,0,NULL,'West Yorkshire',1),(1737,'754',701,NULL,0,NULL,'West Riding of Yorkshire',1),(1738,'755',701,NULL,0,NULL,'Wiltshire',1),(1739,'756',701,NULL,0,NULL,'Worcestershire',1),(1740,'757',701,NULL,0,NULL,'Yorkshire',1),(1741,'758',702,NULL,0,NULL,'Anglesey',1),(1742,'759',702,NULL,0,NULL,'Breconshire',1),(1743,'760',702,NULL,0,NULL,'Caernarvonshire',1),(1744,'761',702,NULL,0,NULL,'Cardiganshire',1),(1745,'762',702,NULL,0,NULL,'Carmarthenshire',1),(1746,'763',702,NULL,0,NULL,'Ceredigion',1),(1747,'764',702,NULL,0,NULL,'Denbighshire',1),(1748,'765',702,NULL,0,NULL,'Flintshire',1),(1749,'766',702,NULL,0,NULL,'Glamorgan',1),(1750,'767',702,NULL,0,NULL,'Gwent',1),(1751,'768',702,NULL,0,NULL,'Gwynedd',1),(1752,'769',702,NULL,0,NULL,'Merionethshire',1),(1753,'770',702,NULL,0,NULL,'Monmouthshire',1),(1754,'771',702,NULL,0,NULL,'Mid Glamorgan',1),(1755,'772',702,NULL,0,NULL,'Montgomeryshire',1),(1756,'773',702,NULL,0,NULL,'Pembrokeshire',1),(1757,'774',702,NULL,0,NULL,'Powys',1),(1758,'775',702,NULL,0,NULL,'Radnorshire',1),(1759,'776',702,NULL,0,NULL,'South Glamorgan',1),(1760,'777',703,NULL,0,NULL,'Aberdeen, City of',1),(1761,'778',703,NULL,0,NULL,'Angus',1),(1762,'779',703,NULL,0,NULL,'Argyll',1),(1763,'780',703,NULL,0,NULL,'Ayrshire',1),(1764,'781',703,NULL,0,NULL,'Banffshire',1),(1765,'782',703,NULL,0,NULL,'Berwickshire',1),(1766,'783',703,NULL,0,NULL,'Bute',1),(1767,'784',703,NULL,0,NULL,'Caithness',1),(1768,'785',703,NULL,0,NULL,'Clackmannanshire',1),(1769,'786',703,NULL,0,NULL,'Dumfriesshire',1),(1770,'787',703,NULL,0,NULL,'Dumbartonshire',1),(1771,'788',703,NULL,0,NULL,'Dundee, City of',1),(1772,'789',703,NULL,0,NULL,'East Lothian',1),(1773,'790',703,NULL,0,NULL,'Fife',1),(1774,'791',703,NULL,0,NULL,'Inverness',1),(1775,'792',703,NULL,0,NULL,'Kincardineshire',1),(1776,'793',703,NULL,0,NULL,'Kinross-shire',1),(1777,'794',703,NULL,0,NULL,'Kirkcudbrightshire',1),(1778,'795',703,NULL,0,NULL,'Lanarkshire',1),(1779,'796',703,NULL,0,NULL,'Midlothian',1),(1780,'797',703,NULL,0,NULL,'Morayshire',1),(1781,'798',703,NULL,0,NULL,'Nairnshire',1),(1782,'799',703,NULL,0,NULL,'Orkney',1),(1783,'800',703,NULL,0,NULL,'Peebleshire',1),(1784,'801',703,NULL,0,NULL,'Perthshire',1),(1785,'802',703,NULL,0,NULL,'Renfrewshire',1),(1786,'803',703,NULL,0,NULL,'Ross & Cromarty',1),(1787,'804',703,NULL,0,NULL,'Roxburghshire',1),(1788,'805',703,NULL,0,NULL,'Selkirkshire',1),(1789,'806',703,NULL,0,NULL,'Shetland',1),(1790,'807',703,NULL,0,NULL,'Stirlingshire',1),(1791,'808',703,NULL,0,NULL,'Sutherland',1),(1792,'809',703,NULL,0,NULL,'West Lothian',1),(1793,'810',703,NULL,0,NULL,'Wigtownshire',1),(1794,'811',704,NULL,0,NULL,'Antrim',1),(1795,'812',704,NULL,0,NULL,'Armagh',1),(1796,'813',704,NULL,0,NULL,'Co. Down',1),(1797,'814',704,NULL,0,NULL,'Co. Fermanagh',1),(1798,'815',704,NULL,0,NULL,'Co. Londonderry',1),(1849,'GR',1701,NULL,NULL,NULL,'Groningen',1),(1850,'FR',1701,NULL,NULL,NULL,'Friesland',1),(1851,'DR',1701,NULL,NULL,NULL,'Drenthe',1),(1852,'OV',1701,NULL,NULL,NULL,'Overijssel',1),(1853,'GD',1701,NULL,NULL,NULL,'Gelderland',1),(1854,'FL',1701,NULL,NULL,NULL,'Flevoland',1),(1855,'UT',1701,NULL,NULL,NULL,'Utrecht',1),(1856,'NH',1701,NULL,NULL,NULL,'Noord-Holland',1),(1857,'ZH',1701,NULL,NULL,NULL,'Zuid-Holland',1),(1858,'ZL',1701,NULL,NULL,NULL,'Zeeland',1),(1859,'NB',1701,NULL,NULL,NULL,'Noord-Brabant',1),(1860,'LB',1701,NULL,NULL,NULL,'Limburg',1),(1900,'AC',5601,'ACRE',0,'AC','Acre',1),(1901,'AL',5601,'ALAGOAS',0,'AL','Alagoas',1),(1902,'AP',5601,'AMAPA',0,'AP','Amapá',1),(1903,'AM',5601,'AMAZONAS',0,'AM','Amazonas',1),(1904,'BA',5601,'BAHIA',0,'BA','Bahia',1),(1905,'CE',5601,'CEARA',0,'CE','Ceará',1),(1906,'ES',5601,'ESPIRITO SANTO',0,'ES','Espirito Santo',1),(1907,'GO',5601,'GOIAS',0,'GO','Goiás',1),(1908,'MA',5601,'MARANHAO',0,'MA','Maranhão',1),(1909,'MT',5601,'MATO GROSSO',0,'MT','Mato Grosso',1),(1910,'MS',5601,'MATO GROSSO DO SUL',0,'MS','Mato Grosso do Sul',1),(1911,'MG',5601,'MINAS GERAIS',0,'MG','Minas Gerais',1),(1912,'PA',5601,'PARA',0,'PA','Pará',1),(1913,'PB',5601,'PARAIBA',0,'PB','Paraiba',1),(1914,'PR',5601,'PARANA',0,'PR','Paraná',1),(1915,'PE',5601,'PERNAMBUCO',0,'PE','Pernambuco',1),(1916,'PI',5601,'PIAUI',0,'PI','Piauí',1),(1917,'RJ',5601,'RIO DE JANEIRO',0,'RJ','Rio de Janeiro',1),(1918,'RN',5601,'RIO GRANDE DO NORTE',0,'RN','Rio Grande do Norte',1),(1919,'RS',5601,'RIO GRANDE DO SUL',0,'RS','Rio Grande do Sul',1),(1920,'RO',5601,'RONDONIA',0,'RO','Rondônia',1),(1921,'RR',5601,'RORAIMA',0,'RR','Roraima',1),(1922,'SC',5601,'SANTA CATARINA',0,'SC','Santa Catarina',1),(1923,'SE',5601,'SERGIPE',0,'SE','Sergipe',1),(1924,'SP',5601,'SAO PAULO',0,'SP','Sao Paulo',1),(1925,'TO',5601,'TOCANTINS',0,'TO','Tocantins',1),(1926,'DF',5601,'DISTRITO FEDERAL',0,'DF','Distrito Federal',1),(1927,'001',5201,'',0,'','Belisario Boeto',1),(1928,'002',5201,'',0,'','Hernando Siles',1),(1929,'003',5201,'',0,'','Jaime Zudáñez',1),(1930,'004',5201,'',0,'','Juana Azurduy de Padilla',1),(1931,'005',5201,'',0,'','Luis Calvo',1),(1932,'006',5201,'',0,'','Nor Cinti',1),(1933,'007',5201,'',0,'','Oropeza',1),(1934,'008',5201,'',0,'','Sud Cinti',1),(1935,'009',5201,'',0,'','Tomina',1),(1936,'010',5201,'',0,'','Yamparáez',1),(1937,'011',5202,'',0,'','Abel Iturralde',1),(1938,'012',5202,'',0,'','Aroma',1),(1939,'013',5202,'',0,'','Bautista Saavedra',1),(1940,'014',5202,'',0,'','Caranavi',1),(1941,'015',5202,'',0,'','Eliodoro Camacho',1),(1942,'016',5202,'',0,'','Franz Tamayo',1),(1943,'017',5202,'',0,'','Gualberto Villarroel',1),(1944,'018',5202,'',0,'','Ingaví',1),(1945,'019',5202,'',0,'','Inquisivi',1),(1946,'020',5202,'',0,'','José Ramón Loayza',1),(1947,'021',5202,'',0,'','Larecaja',1),(1948,'022',5202,'',0,'','Los Andes (Bolivia)',1),(1949,'023',5202,'',0,'','Manco Kapac',1),(1950,'024',5202,'',0,'','Muñecas',1),(1951,'025',5202,'',0,'','Nor Yungas',1),(1952,'026',5202,'',0,'','Omasuyos',1),(1953,'027',5202,'',0,'','Pacajes',1),(1954,'028',5202,'',0,'','Pedro Domingo Murillo',1),(1955,'029',5202,'',0,'','Sud Yungas',1),(1956,'030',5202,'',0,'','General José Manuel Pando',1),(1957,'031',5203,'',0,'','Arani',1),(1958,'032',5203,'',0,'','Arque',1),(1959,'033',5203,'',0,'','Ayopaya',1),(1960,'034',5203,'',0,'','Bolívar (Bolivia)',1),(1961,'035',5203,'',0,'','Campero',1),(1962,'036',5203,'',0,'','Capinota',1),(1963,'037',5203,'',0,'','Cercado (Cochabamba)',1),(1964,'038',5203,'',0,'','Esteban Arze',1),(1965,'039',5203,'',0,'','Germán Jordán',1),(1966,'040',5203,'',0,'','José Carrasco',1),(1967,'041',5203,'',0,'','Mizque',1),(1968,'042',5203,'',0,'','Punata',1),(1969,'043',5203,'',0,'','Quillacollo',1),(1970,'044',5203,'',0,'','Tapacarí',1),(1971,'045',5203,'',0,'','Tiraque',1),(1972,'046',5203,'',0,'','Chapare',1),(1973,'047',5204,'',0,'','Carangas',1),(1974,'048',5204,'',0,'','Cercado (Oruro)',1),(1975,'049',5204,'',0,'','Eduardo Avaroa',1),(1976,'050',5204,'',0,'','Ladislao Cabrera',1),(1977,'051',5204,'',0,'','Litoral de Atacama',1),(1978,'052',5204,'',0,'','Mejillones',1),(1979,'053',5204,'',0,'','Nor Carangas',1),(1980,'054',5204,'',0,'','Pantaleón Dalence',1),(1981,'055',5204,'',0,'','Poopó',1),(1982,'056',5204,'',0,'','Sabaya',1),(1983,'057',5204,'',0,'','Sajama',1),(1984,'058',5204,'',0,'','San Pedro de Totora',1),(1985,'059',5204,'',0,'','Saucarí',1),(1986,'060',5204,'',0,'','Sebastián Pagador',1),(1987,'061',5204,'',0,'','Sud Carangas',1),(1988,'062',5204,'',0,'','Tomás Barrón',1),(1989,'063',5205,'',0,'','Alonso de Ibáñez',1),(1990,'064',5205,'',0,'','Antonio Quijarro',1),(1991,'065',5205,'',0,'','Bernardino Bilbao',1),(1992,'066',5205,'',0,'','Charcas (Potosí)',1),(1993,'067',5205,'',0,'','Chayanta',1),(1994,'068',5205,'',0,'','Cornelio Saavedra',1),(1995,'069',5205,'',0,'','Daniel Campos',1),(1996,'070',5205,'',0,'','Enrique Baldivieso',1),(1997,'071',5205,'',0,'','José María Linares',1),(1998,'072',5205,'',0,'','Modesto Omiste',1),(1999,'073',5205,'',0,'','Nor Chichas',1),(2000,'074',5205,'',0,'','Nor Lípez',1),(2001,'075',5205,'',0,'','Rafael Bustillo',1),(2002,'076',5205,'',0,'','Sud Chichas',1),(2003,'077',5205,'',0,'','Sud Lípez',1),(2004,'078',5205,'',0,'','Tomás Frías',1),(2005,'079',5206,'',0,'','Aniceto Arce',1),(2006,'080',5206,'',0,'','Burdet O\'Connor',1),(2007,'081',5206,'',0,'','Cercado (Tarija)',1),(2008,'082',5206,'',0,'','Eustaquio Méndez',1),(2009,'083',5206,'',0,'','José María Avilés',1),(2010,'084',5206,'',0,'','Gran Chaco',1),(2011,'085',5207,'',0,'','Andrés Ibáñez',1),(2012,'086',5207,'',0,'','Caballero',1),(2013,'087',5207,'',0,'','Chiquitos',1),(2014,'088',5207,'',0,'','Cordillera (Bolivia)',1),(2015,'089',5207,'',0,'','Florida',1),(2016,'090',5207,'',0,'','Germán Busch',1),(2017,'091',5207,'',0,'','Guarayos',1),(2018,'092',5207,'',0,'','Ichilo',1),(2019,'093',5207,'',0,'','Obispo Santistevan',1),(2020,'094',5207,'',0,'','Sara',1),(2021,'095',5207,'',0,'','Vallegrande',1),(2022,'096',5207,'',0,'','Velasco',1),(2023,'097',5207,'',0,'','Warnes',1),(2024,'098',5207,'',0,'','Ángel Sandóval',1),(2025,'099',5207,'',0,'','Ñuflo de Chaves',1),(2026,'100',5208,'',0,'','Cercado (Beni)',1),(2027,'101',5208,'',0,'','Iténez',1),(2028,'102',5208,'',0,'','Mamoré',1),(2029,'103',5208,'',0,'','Marbán',1),(2030,'104',5208,'',0,'','Moxos',1),(2031,'105',5208,'',0,'','Vaca Díez',1),(2032,'106',5208,'',0,'','Yacuma',1),(2033,'107',5208,'',0,'','General José Ballivián Segurola',1),(2034,'108',5209,'',0,'','Abuná',1),(2035,'109',5209,'',0,'','Madre de Dios',1),(2036,'110',5209,'',0,'','Manuripi',1),(2037,'111',5209,'',0,'','Nicolás Suárez',1),(2038,'112',5209,'',0,'','General Federico Román',1),(2039,'B',4101,NULL,NULL,'BURGENLAND','Burgenland',1),(2040,'K',4101,NULL,NULL,'KAERNTEN','Kärnten',1),(2041,'N',4101,NULL,NULL,'NIEDEROESTERREICH','Niederösterreich',1),(2042,'O',4101,NULL,NULL,'OBEROESTERREICH','Oberösterreich',1),(2043,'S',4101,NULL,NULL,'SALZBURG','Salzburg',1),(2044,'ST',4101,NULL,NULL,'STEIERMARK','Steiermark',1),(2045,'T',4101,NULL,NULL,'TIROL','Tirol',1),(2046,'V',4101,NULL,NULL,'VORARLBERG','Vorarlberg',1),(2047,'W',4101,NULL,NULL,'WIEN','Wien',1),(2048,'2326',2305,'',0,'MISIONES','Misiones',1); +/*!40000 ALTER TABLE `llx_c_departements` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_ecotaxe` +-- + +DROP TABLE IF EXISTS `llx_c_ecotaxe`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_ecotaxe` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(64) NOT NULL, + `libelle` varchar(255) DEFAULT NULL, + `price` double(24,8) DEFAULT NULL, + `organization` varchar(255) DEFAULT NULL, + `fk_pays` int(11) NOT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_ecotaxe` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=39 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_ecotaxe` +-- + +LOCK TABLES `llx_c_ecotaxe` WRITE; +/*!40000 ALTER TABLE `llx_c_ecotaxe` DISABLE KEYS */; +INSERT INTO `llx_c_ecotaxe` VALUES (1,'ER-A-A','Materiels electriques < 0,2kg',0.01000000,'ERP',1,1),(2,'ER-A-B','Materiels electriques >= 0,2 kg et < 0,5 kg',0.03000000,'ERP',1,1),(3,'ER-A-C','Materiels electriques >= 0,5 kg et < 1 kg',0.04000000,'ERP',1,1),(4,'ER-A-D','Materiels electriques >= 1 kg et < 2 kg',0.13000000,'ERP',1,1),(5,'ER-A-E','Materiels electriques >= 2 kg et < 4kg',0.21000000,'ERP',1,1),(6,'ER-A-F','Materiels electriques >= 4 kg et < 8 kg',0.42000000,'ERP',1,1),(7,'ER-A-G','Materiels electriques >= 8 kg et < 15 kg',0.84000000,'ERP',1,1),(8,'ER-A-H','Materiels electriques >= 15 kg et < 20 kg',1.25000000,'ERP',1,1),(9,'ER-A-I','Materiels electriques >= 20 kg et < 30 kg',1.88000000,'ERP',1,1),(10,'ER-A-J','Materiels electriques >= 30 kg',3.34000000,'ERP',1,1),(11,'ER-M-1','TV, Moniteurs < 9kg',0.84000000,'ERP',1,1),(12,'ER-M-2','TV, Moniteurs >= 9kg et < 15kg',1.67000000,'ERP',1,1),(13,'ER-M-3','TV, Moniteurs >= 15kg et < 30kg',3.34000000,'ERP',1,1),(14,'ER-M-4','TV, Moniteurs >= 30 kg',6.69000000,'ERP',1,1),(15,'EC-A-A','Materiels electriques 0,2 kg max',0.00840000,'Ecologic',1,1),(16,'EC-A-B','Materiels electriques 0,21 kg min - 0,50 kg max',0.02500000,'Ecologic',1,1),(17,'EC-A-C','Materiels electriques 0,51 kg min - 1 kg max',0.04000000,'Ecologic',1,1),(18,'EC-A-D','Materiels electriques 1,01 kg min - 2,5 kg max',0.13000000,'Ecologic',1,1),(19,'EC-A-E','Materiels electriques 2,51 kg min - 4 kg max',0.21000000,'Ecologic',1,1),(20,'EC-A-F','Materiels electriques 4,01 kg min - 8 kg max',0.42000000,'Ecologic',1,1),(21,'EC-A-G','Materiels electriques 8,01 kg min - 12 kg max',0.63000000,'Ecologic',1,1),(22,'EC-A-H','Materiels electriques 12,01 kg min - 20 kg max',1.05000000,'Ecologic',1,1),(23,'EC-A-I','Materiels electriques 20,01 kg min',1.88000000,'Ecologic',1,1),(24,'EC-M-1','TV, Moniteurs 9 kg max',0.84000000,'Ecologic',1,1),(25,'EC-M-2','TV, Moniteurs 9,01 kg min - 18 kg max',1.67000000,'Ecologic',1,1),(26,'EC-M-3','TV, Moniteurs 18,01 kg min - 36 kg max',3.34000000,'Ecologic',1,1),(27,'EC-M-4','TV, Moniteurs 36,01 kg min',6.69000000,'Ecologic',1,1),(28,'ES-M-1','TV, Moniteurs <= 20 pouces',0.84000000,'Eco-systemes',1,1),(29,'ES-M-2','TV, Moniteurs > 20 pouces et <= 32 pouces',3.34000000,'Eco-systemes',1,1),(30,'ES-M-3','TV, Moniteurs > 32 pouces et autres grands ecrans',6.69000000,'Eco-systemes',1,1),(31,'ES-A-A','Ordinateur fixe, Audio home systems (HIFI), elements hifi separes',0.84000000,'Eco-systemes',1,1),(32,'ES-A-B','Ordinateur portable, CD-RCR, VCR, lecteurs et enregistreurs DVD, instruments de musique et caisses de resonance, haut parleurs...',0.25000000,'Eco-systemes',1,1),(33,'ES-A-C','Imprimante, photocopieur, telecopieur',0.42000000,'Eco-systemes',1,1),(34,'ES-A-D','Accessoires, clavier, souris, PDA, imprimante photo, appareil photo, gps, telephone, repondeur, telephone sans fil, modem, telecommande, casque, camescope, baladeur mp3, radio portable, radio K7 et CD portable, radio reveil',0.08400000,'Eco-systemes',1,1),(35,'ES-A-E','GSM',0.00840000,'Eco-systemes',1,1),(36,'ES-A-F','Jouets et equipements de loisirs et de sports < 0,5 kg',0.04200000,'Eco-systemes',1,1),(37,'ES-A-G','Jouets et equipements de loisirs et de sports > 0,5 kg',0.17000000,'Eco-systemes',1,1),(38,'ES-A-H','Jouets et equipements de loisirs et de sports > 10 kg',1.25000000,'Eco-systemes',1,1); +/*!40000 ALTER TABLE `llx_c_ecotaxe` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_effectif` +-- + +DROP TABLE IF EXISTS `llx_c_effectif`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_effectif` ( + `id` int(11) NOT NULL, + `code` varchar(12) NOT NULL, + `libelle` varchar(30) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `module` varchar(32) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `uk_c_effectif` (`code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_effectif` +-- + +LOCK TABLES `llx_c_effectif` WRITE; +/*!40000 ALTER TABLE `llx_c_effectif` DISABLE KEYS */; +INSERT INTO `llx_c_effectif` VALUES (0,'EF0','-',1,NULL),(1,'EF1-5','1 - 5',1,NULL),(2,'EF6-10','6 - 10',1,NULL),(3,'EF11-50','11 - 50',1,NULL),(4,'EF51-100','51 - 100',1,NULL),(5,'EF100-500','100 - 500',1,NULL),(6,'EF500-','> 500',1,NULL); +/*!40000 ALTER TABLE `llx_c_effectif` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_email_templates` +-- + +DROP TABLE IF EXISTS `llx_c_email_templates`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_email_templates` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `module` varchar(32) DEFAULT NULL, + `type_template` varchar(32) DEFAULT NULL, + `lang` varchar(6) DEFAULT NULL, + `private` smallint(6) NOT NULL DEFAULT '0', + `fk_user` int(11) DEFAULT NULL, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `label` varchar(255) DEFAULT NULL, + `position` smallint(6) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `topic` text, + `content` text, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_email_templates` (`entity`,`label`,`lang`), + KEY `idx_type` (`type_template`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_email_templates` +-- + +LOCK TABLES `llx_c_email_templates` WRITE; +/*!40000 ALTER TABLE `llx_c_email_templates` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_c_email_templates` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_field_list` +-- + +DROP TABLE IF EXISTS `llx_c_field_list`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_field_list` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `element` varchar(64) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `name` varchar(32) NOT NULL, + `alias` varchar(32) NOT NULL, + `title` varchar(32) NOT NULL, + `align` varchar(6) DEFAULT 'left', + `sort` tinyint(4) NOT NULL DEFAULT '1', + `search` tinyint(4) NOT NULL DEFAULT '0', + `enabled` varchar(255) DEFAULT '1', + `rang` int(11) DEFAULT '0', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_field_list` +-- + +LOCK TABLES `llx_c_field_list` WRITE; +/*!40000 ALTER TABLE `llx_c_field_list` DISABLE KEYS */; +INSERT INTO `llx_c_field_list` VALUES (1,'2011-02-06 11:18:30','product_default',1,'p.ref','ref','Ref','left',1,1,'1',1),(2,'2011-02-06 11:18:30','product_default',1,'p.label','label','Label','left',1,1,'1',2),(3,'2011-02-06 11:18:30','product_default',1,'p.barcode','barcode','BarCode','center',1,1,'$conf->barcode->enabled',3),(4,'2011-02-06 11:18:30','product_default',1,'p.tms','datem','DateModification','center',1,0,'1',4),(5,'2011-02-06 11:18:30','product_default',1,'p.price','price','SellingPriceHT','right',1,0,'1',5),(6,'2011-02-06 11:18:30','product_default',1,'p.price_ttc','price_ttc','SellingPriceTTC','right',1,0,'1',6),(7,'2011-02-06 11:18:30','product_default',1,'p.stock','stock','Stock','right',0,0,'$conf->stock->enabled',7),(8,'2011-02-06 11:18:30','product_default',1,'p.envente','status','Status','right',1,0,'1',8); +/*!40000 ALTER TABLE `llx_c_field_list` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_format_cards` +-- + +DROP TABLE IF EXISTS `llx_c_format_cards`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_format_cards` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(50) NOT NULL, + `name` varchar(50) NOT NULL, + `paper_size` varchar(20) NOT NULL, + `orientation` varchar(1) NOT NULL, + `metric` varchar(5) NOT NULL, + `leftmargin` double(24,8) NOT NULL, + `topmargin` double(24,8) NOT NULL, + `nx` int(11) NOT NULL, + `ny` int(11) NOT NULL, + `spacex` double(24,8) NOT NULL, + `spacey` double(24,8) NOT NULL, + `width` double(24,8) NOT NULL, + `height` double(24,8) NOT NULL, + `font_size` int(11) NOT NULL, + `custom_x` double(24,8) NOT NULL, + `custom_y` double(24,8) NOT NULL, + `active` int(11) NOT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_format_cards` +-- + +LOCK TABLES `llx_c_format_cards` WRITE; +/*!40000 ALTER TABLE `llx_c_format_cards` DISABLE KEYS */; +INSERT INTO `llx_c_format_cards` VALUES (1,'5160','Avery-5160, WL-875WX','letter','P','mm',5.58165000,12.70000000,3,10,3.55600000,0.00000000,65.87490000,25.40000000,7,0.00000000,0.00000000,1),(2,'5161','Avery-5161, WL-75WX','letter','P','mm',4.44500000,12.70000000,2,10,3.96800000,0.00000000,101.60000000,25.40000000,7,0.00000000,0.00000000,1),(3,'5162','Avery-5162, WL-100WX','letter','P','mm',3.87350000,22.35200000,2,7,4.95400000,0.00000000,101.60000000,33.78100000,8,0.00000000,0.00000000,1),(4,'5163','Avery-5163, WL-125WX','letter','P','mm',4.57200000,12.70000000,2,5,3.55600000,0.00000000,101.60000000,50.80000000,10,0.00000000,0.00000000,1),(5,'5164','5164 (Letter)','letter','P','in',0.14800000,0.50000000,2,3,0.20310000,0.00000000,4.00000000,3.33000000,12,0.00000000,0.00000000,0),(6,'8600','Avery-8600','letter','P','mm',7.10000000,19.00000000,3,10,9.50000000,3.10000000,66.60000000,25.40000000,7,0.00000000,0.00000000,1),(7,'99012','DYMO 99012 89*36mm','custom','L','mm',1.00000000,1.00000000,1,1,0.00000000,0.00000000,36.00000000,89.00000000,10,36.00000000,89.00000000,1),(8,'99014','DYMO 99014 101*54mm','custom','L','mm',1.00000000,1.00000000,1,1,0.00000000,0.00000000,54.00000000,101.00000000,10,54.00000000,101.00000000,1),(9,'AVERYC32010','Avery-C32010','A4','P','mm',15.00000000,13.00000000,2,5,10.00000000,0.00000000,85.00000000,54.00000000,10,0.00000000,0.00000000,1),(10,'CARD','Dolibarr Business cards','A4','P','mm',15.00000000,15.00000000,2,5,0.00000000,0.00000000,85.00000000,54.00000000,10,0.00000000,0.00000000,1),(11,'L7163','Avery-L7163','A4','P','mm',5.00000000,15.00000000,2,7,2.50000000,0.00000000,99.10000000,38.10000000,8,0.00000000,0.00000000,1); +/*!40000 ALTER TABLE `llx_c_format_cards` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_forme_juridique` +-- + +DROP TABLE IF EXISTS `llx_c_forme_juridique`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_forme_juridique` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` int(11) NOT NULL, + `fk_pays` int(11) NOT NULL, + `libelle` varchar(255) DEFAULT NULL, + `isvatexempted` tinyint(4) NOT NULL DEFAULT '0', + `active` tinyint(4) NOT NULL DEFAULT '1', + `module` varchar(32) DEFAULT NULL, + `position` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_forme_juridique` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=100231 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_forme_juridique` +-- + +LOCK TABLES `llx_c_forme_juridique` WRITE; +/*!40000 ALTER TABLE `llx_c_forme_juridique` DISABLE KEYS */; +INSERT INTO `llx_c_forme_juridique` VALUES (100009,0,0,'-',0,1,NULL,0),(100010,2301,23,'Monotributista',0,1,NULL,0),(100011,2302,23,'Sociedad Civil',0,1,NULL,0),(100012,2303,23,'Sociedades Comerciales',0,1,NULL,0),(100013,2304,23,'Sociedades de Hecho',0,1,NULL,0),(100014,2305,23,'Sociedades Irregulares',0,1,NULL,0),(100015,2306,23,'Sociedad Colectiva',0,1,NULL,0),(100016,2307,23,'Sociedad en Comandita Simple',0,1,NULL,0),(100017,2308,23,'Sociedad de Capital e Industria',0,1,NULL,0),(100018,2309,23,'Sociedad Accidental o en participación',0,1,NULL,0),(100019,2310,23,'Sociedad de Responsabilidad Limitada',0,1,NULL,0),(100020,2311,23,'Sociedad Anónima',0,1,NULL,0),(100021,2312,23,'Sociedad Anónima con Participación Estatal Mayoritaria',0,1,NULL,0),(100022,2313,23,'Sociedad en Comandita por Acciones (arts. 315 a 324, LSC)',0,1,NULL,0),(100023,11,1,'Artisan Commerçant (EI)',0,1,NULL,0),(100024,12,1,'Commerçant (EI)',0,1,NULL,0),(100025,13,1,'Artisan (EI)',0,1,NULL,0),(100026,14,1,'Officier public ou ministériel',0,1,NULL,0),(100027,15,1,'Profession libérale (EI)',0,1,NULL,0),(100028,16,1,'Exploitant agricole',0,1,NULL,0),(100029,17,1,'Agent commercial',0,1,NULL,0),(100030,18,1,'Associé Gérant de société',0,1,NULL,0),(100031,19,1,'Personne physique',0,1,NULL,0),(100032,21,1,'Indivision',0,1,NULL,0),(100033,22,1,'Société créée de fait',0,1,NULL,0),(100034,23,1,'Société en participation',0,1,NULL,0),(100035,27,1,'Paroisse hors zone concordataire',0,1,NULL,0),(100036,29,1,'Groupement de droit privé non doté de la personnalité morale',0,1,NULL,0),(100037,31,1,'Personne morale de droit étranger, immatriculée au RCS',0,1,NULL,0),(100038,32,1,'Personne morale de droit étranger, non immatriculée au RCS',0,1,NULL,0),(100039,35,1,'Régime auto-entrepreneur',0,1,NULL,0),(100040,41,1,'Etablissement public ou régie à caractère industriel ou commercial',0,1,NULL,0),(100041,51,1,'Société coopérative commerciale particulière',0,1,NULL,0),(100042,52,1,'Société en nom collectif',0,1,NULL,0),(100043,53,1,'Société en commandite',0,1,NULL,0),(100044,54,1,'Société à responsabilité limitée (SARL)',0,1,NULL,0),(100045,55,1,'Société anonyme à conseil d administration',0,1,NULL,0),(100046,56,1,'Société anonyme à directoire',0,1,NULL,0),(100047,57,1,'Société par actions simplifiée (SAS)',0,1,NULL,0),(100048,58,1,'Entreprise Unipersonnelle à Responsabilité Limitée (EURL)',0,1,NULL,0),(100049,59,1,'Société par actions simplifiée unipersonnelle (SASU)',0,1,NULL,0),(100050,60,1,'Entreprise Individuelle à Responsabilité Limitée (EIRL)',0,1,NULL,0),(100051,61,1,'Caisse d\'épargne et de prévoyance',0,1,NULL,0),(100052,62,1,'Groupement d\'intérêt économique (GIE)',0,1,NULL,0),(100053,63,1,'Société coopérative agricole',0,1,NULL,0),(100054,64,1,'Société non commerciale d assurances',0,1,NULL,0),(100055,65,1,'Société civile',0,1,NULL,0),(100056,69,1,'Personnes de droit privé inscrites au RCS',0,1,NULL,0),(100057,71,1,'Administration de l état',0,1,NULL,0),(100058,72,1,'Collectivité territoriale',0,1,NULL,0),(100059,73,1,'Etablissement public administratif',0,1,NULL,0),(100060,74,1,'Personne morale de droit public administratif',0,1,NULL,0),(100061,81,1,'Organisme gérant régime de protection social à adhésion obligatoire',0,1,NULL,0),(100062,82,1,'Organisme mutualiste',0,1,NULL,0),(100063,83,1,'Comité d entreprise',0,1,NULL,0),(100064,84,1,'Organisme professionnel',0,1,NULL,0),(100065,85,1,'Organisme de retraite à adhésion non obligatoire',0,1,NULL,0),(100066,91,1,'Syndicat de propriétaires',0,1,NULL,0),(100067,92,1,'Association loi 1901 ou assimilé',0,1,NULL,0),(100068,93,1,'Fondation',0,1,NULL,0),(100069,99,1,'Personne morale de droit privé',0,1,NULL,0),(100070,200,2,'Indépendant',0,1,NULL,0),(100071,201,2,'SPRL - Société à responsabilité limitée',0,1,NULL,0),(100072,202,2,'SA - Société Anonyme',0,1,NULL,0),(100073,203,2,'SCRL - Société coopérative à responsabilité limitée',0,1,NULL,0),(100074,204,2,'ASBL - Association sans but Lucratif',0,1,NULL,0),(100075,205,2,'SCRI - Société coopérative à responsabilité illimitée',0,1,NULL,0),(100076,206,2,'SCS - Société en commandite simple',0,1,NULL,0),(100077,207,2,'SCA - Société en commandite par action',0,1,NULL,0),(100078,208,2,'SNC - Société en nom collectif',0,1,NULL,0),(100079,209,2,'GIE - Groupement d intérêt économique',0,1,NULL,0),(100080,210,2,'GEIE - Groupement européen d intérêt économique',0,1,NULL,0),(100081,220,2,'Eenmanszaak',0,1,NULL,0),(100082,221,2,'BVBA - Besloten vennootschap met beperkte aansprakelijkheid',0,1,NULL,0),(100083,222,2,'NV - Naamloze Vennootschap',0,1,NULL,0),(100084,223,2,'CVBA - Coöperatieve vennootschap met beperkte aansprakelijkheid',0,1,NULL,0),(100085,224,2,'VZW - Vereniging zonder winstoogmerk',0,1,NULL,0),(100086,225,2,'CVOA - Coöperatieve vennootschap met onbeperkte aansprakelijkheid ',0,1,NULL,0),(100087,226,2,'GCV - Gewone commanditaire vennootschap',0,1,NULL,0),(100088,227,2,'Comm.VA - Commanditaire vennootschap op aandelen',0,1,NULL,0),(100089,228,2,'VOF - Vennootschap onder firma',0,1,NULL,0),(100090,229,2,'VS0 - Vennootschap met sociaal oogmerk',0,1,NULL,0),(100091,500,5,'GmbH - Gesellschaft mit beschränkter Haftung',0,1,NULL,0),(100092,501,5,'AG - Aktiengesellschaft ',0,1,NULL,0),(100093,502,5,'GmbH&Co. KG - Gesellschaft mit beschränkter Haftung & Compagnie Kommanditgesellschaft',0,1,NULL,0),(100094,503,5,'Gewerbe - Personengesellschaft',0,1,NULL,0),(100095,504,5,'UG - Unternehmergesellschaft -haftungsbeschränkt-',0,1,NULL,0),(100096,505,5,'GbR - Gesellschaft des bürgerlichen Rechts',0,1,NULL,0),(100097,506,5,'KG - Kommanditgesellschaft',0,1,NULL,0),(100098,507,5,'Ltd. - Limited Company',0,1,NULL,0),(100099,508,5,'OHG - Offene Handelsgesellschaft',0,1,NULL,0),(100100,10201,102,'Ατομική επιχείρηση',0,1,NULL,0),(100101,10202,102,'Εταιρική επιχείρηση',0,1,NULL,0),(100102,10203,102,'Ομόρρυθμη Εταιρεία Ο.Ε',0,1,NULL,0),(100103,10204,102,'Ετερόρρυθμη Εταιρεία Ε.Ε',0,1,NULL,0),(100104,10205,102,'Εταιρεία Περιορισμένης Ευθύνης Ε.Π.Ε',0,1,NULL,0),(100105,10206,102,'Ανώνυμη Εταιρεία Α.Ε',0,1,NULL,0),(100106,10207,102,'Ανώνυμη ναυτιλιακή εταιρεία Α.Ν.Ε',0,1,NULL,0),(100107,10208,102,'Συνεταιρισμός',0,1,NULL,0),(100108,10209,102,'Συμπλοιοκτησία',0,1,NULL,0),(100109,301,3,'Società semplice',0,1,NULL,0),(100110,302,3,'Società in nome collettivo s.n.c.',0,1,NULL,0),(100111,303,3,'Società in accomandita semplice s.a.s.',0,1,NULL,0),(100112,304,3,'Società per azioni s.p.a.',0,1,NULL,0),(100113,305,3,'Società a responsabilità limitata s.r.l.',0,1,NULL,0),(100114,306,3,'Società in accomandita per azioni s.a.p.a.',0,1,NULL,0),(100115,307,3,'Società cooperativa a r.l.',0,1,NULL,0),(100116,308,3,'Società consortile',0,1,NULL,0),(100117,309,3,'Società europea',0,1,NULL,0),(100118,310,3,'Società cooperativa europea',0,1,NULL,0),(100119,311,3,'Società unipersonale',0,1,NULL,0),(100120,312,3,'Società di professionisti',0,1,NULL,0),(100121,313,3,'Società di fatto',0,1,NULL,0),(100122,315,3,'Società apparente',0,1,NULL,0),(100123,316,3,'Impresa individuale ',0,1,NULL,0),(100124,317,3,'Impresa coniugale',0,1,NULL,0),(100125,318,3,'Impresa familiare',0,1,NULL,0),(100126,319,3,'Consorzio cooperativo',0,1,NULL,0),(100127,320,3,'Società cooperativa sociale',0,1,NULL,0),(100128,321,3,'Società cooperativa di consumo',0,1,NULL,0),(100129,322,3,'Società cooperativa agricola',0,1,NULL,0),(100130,323,3,'A.T.I. Associazione temporanea di imprese',0,1,NULL,0),(100131,324,3,'R.T.I. Raggruppamento temporaneo di imprese',0,1,NULL,0),(100132,325,3,'Studio associato',0,1,NULL,0),(100133,600,6,'Raison Individuelle',0,1,NULL,0),(100134,601,6,'Société Simple',0,1,NULL,0),(100135,602,6,'Société en nom collectif',0,1,NULL,0),(100136,603,6,'Société en commandite',0,1,NULL,0),(100137,604,6,'Société anonyme (SA)',0,1,NULL,0),(100138,605,6,'Société en commandite par actions',0,1,NULL,0),(100139,606,6,'Société à responsabilité limitée (SARL)',0,1,NULL,0),(100140,607,6,'Société coopérative',0,1,NULL,0),(100141,608,6,'Association',0,1,NULL,0),(100142,609,6,'Fondation',0,1,NULL,0),(100143,700,7,'Sole Trader',0,1,NULL,0),(100144,701,7,'Partnership',0,1,NULL,0),(100145,702,7,'Private Limited Company by shares (LTD)',0,1,NULL,0),(100146,703,7,'Public Limited Company',0,1,NULL,0),(100147,704,7,'Workers Cooperative',0,1,NULL,0),(100148,705,7,'Limited Liability Partnership',0,1,NULL,0),(100149,706,7,'Franchise',0,1,NULL,0),(100150,1000,10,'Société à responsabilité limitée (SARL)',0,1,NULL,0),(100151,1001,10,'Société en Nom Collectif (SNC)',0,1,NULL,0),(100152,1002,10,'Société en Commandite Simple (SCS)',0,1,NULL,0),(100153,1003,10,'société en participation',0,1,NULL,0),(100154,1004,10,'Société Anonyme (SA)',0,1,NULL,0),(100155,1005,10,'Société Unipersonnelle à Responsabilité Limitée (SUARL)',0,1,NULL,0),(100156,1006,10,'Groupement d\'intérêt économique (GEI)',0,1,NULL,0),(100157,1007,10,'Groupe de sociétés',0,1,NULL,0),(100158,1701,17,'Eenmanszaak',0,1,NULL,0),(100159,1702,17,'Maatschap',0,1,NULL,0),(100160,1703,17,'Vennootschap onder firma',0,1,NULL,0),(100161,1704,17,'Commanditaire vennootschap',0,1,NULL,0),(100162,1705,17,'Besloten vennootschap (BV)',0,1,NULL,0),(100163,1706,17,'Naamloze Vennootschap (NV)',0,1,NULL,0),(100164,1707,17,'Vereniging',0,1,NULL,0),(100165,1708,17,'Stichting',0,1,NULL,0),(100166,1709,17,'Coöperatie met beperkte aansprakelijkheid (BA)',0,1,NULL,0),(100167,1710,17,'Coöperatie met uitgesloten aansprakelijkheid (UA)',0,1,NULL,0),(100168,1711,17,'Coöperatie met wettelijke aansprakelijkheid (WA)',0,1,NULL,0),(100169,1712,17,'Onderlinge waarborgmaatschappij',0,1,NULL,0),(100170,401,4,'Empresario Individual',0,1,NULL,0),(100171,402,4,'Comunidad de Bienes',0,1,NULL,0),(100172,403,4,'Sociedad Civil',0,1,NULL,0),(100173,404,4,'Sociedad Colectiva',0,1,NULL,0),(100174,405,4,'Sociedad Limitada',0,1,NULL,0),(100175,406,4,'Sociedad Anónima',0,1,NULL,0),(100176,407,4,'Sociedad Comanditaria por Acciones',0,1,NULL,0),(100177,408,4,'Sociedad Comanditaria Simple',0,1,NULL,0),(100178,409,4,'Sociedad Laboral',0,1,NULL,0),(100179,410,4,'Sociedad Cooperativa',0,1,NULL,0),(100180,411,4,'Sociedad de Garantía Recíproca',0,1,NULL,0),(100181,412,4,'Entidad de Capital-Riesgo',0,1,NULL,0),(100182,413,4,'Agrupación de Interés Económico',0,1,NULL,0),(100183,414,4,'Sociedad de Inversión Mobiliaria',0,1,NULL,0),(100184,415,4,'Agrupación sin Ánimo de Lucro',0,1,NULL,0),(100185,15201,152,'Mauritius Private Company Limited By Shares',0,1,NULL,0),(100186,15202,152,'Mauritius Company Limited By Guarantee',0,1,NULL,0),(100187,15203,152,'Mauritius Public Company Limited By Shares',0,1,NULL,0),(100188,15204,152,'Mauritius Foreign Company',0,1,NULL,0),(100189,15205,152,'Mauritius GBC1 (Offshore Company)',0,1,NULL,0),(100190,15206,152,'Mauritius GBC2 (International Company)',0,1,NULL,0),(100191,15207,152,'Mauritius General Partnership',0,1,NULL,0),(100192,15208,152,'Mauritius Limited Partnership',0,1,NULL,0),(100193,15209,152,'Mauritius Sole Proprietorship',0,1,NULL,0),(100194,15210,152,'Mauritius Trusts',0,1,NULL,0),(100195,15401,154,'Sociedad en nombre colectivo',0,1,NULL,0),(100196,15402,154,'Sociedad en comandita simple',0,1,NULL,0),(100197,15403,154,'Sociedad de responsabilidad limitada',0,1,NULL,0),(100198,15404,154,'Sociedad anónima',0,1,NULL,0),(100199,15405,154,'Sociedad en comandita por acciones',0,1,NULL,0),(100200,15406,154,'Sociedad cooperativa',0,1,NULL,0),(100201,4100,41,'GmbH - Gesellschaft mit beschränkter Haftung',0,1,NULL,0),(100202,4101,41,'GesmbH - Gesellschaft mit beschränkter Haftung',0,1,NULL,0),(100203,4102,41,'AG - Aktiengesellschaft',0,1,NULL,0),(100204,4103,41,'EWIV - Europäische wirtschaftliche Interessenvereinigung',0,1,NULL,0),(100205,4104,41,'KEG - Kommanditerwerbsgesellschaft',0,1,NULL,0),(100206,4105,41,'OEG - Offene Erwerbsgesellschaft',0,1,NULL,0),(100207,4106,41,'OHG - Offene Handelsgesellschaft',0,1,NULL,0),(100208,4107,41,'AG & Co KG - Kommanditgesellschaft',0,1,NULL,0),(100209,4108,41,'GmbH & Co KG - Kommanditgesellschaft',0,1,NULL,0),(100210,4109,41,'KG - Kommanditgesellschaft',0,1,NULL,0),(100211,4110,41,'OG - Offene Gesellschaft',0,1,NULL,0),(100212,4111,41,'GbR - Gesellschaft nach bürgerlichem Recht',0,1,NULL,0),(100213,4112,41,'GesbR - Gesellschaft nach bürgerlichem Recht',0,1,NULL,0),(100214,4113,41,'GesnbR - Gesellschaft nach bürgerlichem Recht',0,1,NULL,0),(100215,4114,41,'e.U. - eingetragener Einzelunternehmer',0,1,NULL,0); +/*!40000 ALTER TABLE `llx_c_forme_juridique` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_holiday_types` +-- + +DROP TABLE IF EXISTS `llx_c_holiday_types`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_holiday_types` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(16) NOT NULL, + `label` varchar(255) NOT NULL, + `affect` int(11) NOT NULL, + `delay` int(11) NOT NULL, + `newByMonth` double(8,5) NOT NULL DEFAULT '0.00000', + `fk_country` int(11) DEFAULT NULL, + `active` int(11) DEFAULT '1', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_holiday_types` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_holiday_types` +-- + +LOCK TABLES `llx_c_holiday_types` WRITE; +/*!40000 ALTER TABLE `llx_c_holiday_types` DISABLE KEYS */; +INSERT INTO `llx_c_holiday_types` VALUES (1,'LEAVE_SICK','Sick leave',0,0,0.00000,NULL,1),(2,'LEAVE_OTHER','Other leave',0,0,0.00000,NULL,1),(3,'LEAVE_PAID','Paid vacation',1,7,0.00000,NULL,1),(4,'LEAVE_RTT_FR','RTT',1,7,0.83000,1,0),(5,'LEAVE_PAID_FR','Paid vacation',1,30,2.08334,1,0); +/*!40000 ALTER TABLE `llx_c_holiday_types` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_hrm_department` +-- + +DROP TABLE IF EXISTS `llx_c_hrm_department`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_hrm_department` ( + `rowid` int(11) NOT NULL, + `pos` tinyint(4) NOT NULL DEFAULT '0', + `code` varchar(16) NOT NULL, + `label` varchar(50) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_hrm_department` +-- + +LOCK TABLES `llx_c_hrm_department` WRITE; +/*!40000 ALTER TABLE `llx_c_hrm_department` DISABLE KEYS */; +INSERT INTO `llx_c_hrm_department` VALUES (1,5,'MANAGEMENT','Management',1),(2,10,'GESTION','Gestion',1),(3,15,'TRAINING','Training',1),(4,20,'IT','Inform. Technology (IT)',1),(5,25,'MARKETING','Marketing',1),(6,30,'SALES','Sales',1),(7,35,'LEGAL','Legal',1),(8,40,'FINANCIAL','Financial accounting',1),(9,45,'HUMANRES','Human resources',1),(10,50,'PURCHASING','Purchasing',1),(11,55,'SERVICES','Services',1),(12,60,'CUSTOMSERV','Customer service',1),(13,65,'CONSULTING','Consulting',1),(14,70,'LOGISTIC','Logistics',1),(15,75,'CONSTRUCT','Engineering/design',1),(16,80,'PRODUCTION','Manufacturing',1),(17,85,'QUALITY','Quality assurance',1),(18,85,'MAINT','Plant assurance',1); +/*!40000 ALTER TABLE `llx_c_hrm_department` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_hrm_function` +-- + +DROP TABLE IF EXISTS `llx_c_hrm_function`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_hrm_function` ( + `rowid` int(11) NOT NULL, + `pos` tinyint(4) NOT NULL DEFAULT '0', + `code` varchar(16) NOT NULL, + `label` varchar(50) DEFAULT NULL, + `c_level` tinyint(4) NOT NULL DEFAULT '0', + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_hrm_function` +-- + +LOCK TABLES `llx_c_hrm_function` WRITE; +/*!40000 ALTER TABLE `llx_c_hrm_function` DISABLE KEYS */; +INSERT INTO `llx_c_hrm_function` VALUES (1,5,'EXECBOARD','Executive board',0,1),(2,10,'MANAGDIR','Managing director',1,1),(3,15,'ACCOUNTMANAG','Account manager',0,1),(4,20,'ENGAGDIR','Engagement director',1,1),(5,25,'DIRECTOR','Director',1,1),(6,30,'PROJMANAG','Project manager',0,1),(7,35,'DEPHEAD','Department head',0,1),(8,40,'SECRETAR','Secretary',0,1),(9,45,'EMPLOYEE','Department employee',0,1); +/*!40000 ALTER TABLE `llx_c_hrm_function` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_incoterms` +-- + +DROP TABLE IF EXISTS `llx_c_incoterms`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_incoterms` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(3) NOT NULL, + `libelle` varchar(255) NOT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_incoterms` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_incoterms` +-- + +LOCK TABLES `llx_c_incoterms` WRITE; +/*!40000 ALTER TABLE `llx_c_incoterms` DISABLE KEYS */; +INSERT INTO `llx_c_incoterms` VALUES (1,'EXW','Ex Works, au départ non chargé, non dédouané sortie d\'usine (uniquement adapté aux flux domestiques, nationaux)',1),(2,'FCA','Free Carrier, marchandises dédouanées et chargées dans le pays de départ, chez le vendeur ou chez le commissionnaire de transport de l\'acheteur',1),(3,'FAS','Free Alongside Ship, sur le quai du port de départ',1),(4,'FOB','Free On Board, chargé sur le bateau, les frais de chargement dans celui-ci étant fonction du liner term indiqué par la compagnie maritime (à la charge du vendeur)',1),(5,'CFR','Cost and Freight, chargé dans le bateau, livraison au port de départ, frais payés jusqu\'au port d\'arrivée, sans assurance pour le transport, non déchargé du navire à destination (les frais de déchargement sont inclus ou non au port d\'arrivée)',1),(6,'CIF','Cost, Insurance and Freight, chargé sur le bateau, frais jusqu\'au port d\'arrivée, avec l\'assurance marchandise transportée souscrite par le vendeur pour le compte de l\'acheteur',1),(7,'CPT','Carriage Paid To, livraison au premier transporteur, frais jusqu\'au déchargement du mode de transport, sans assurance pour le transport',1),(8,'CIP','Carriage and Insurance Paid to, idem CPT, avec assurance marchandise transportée souscrite par le vendeur pour le compte de l\'acheteur',1),(9,'DAT','Delivered At Terminal, marchandises (déchargées) livrées sur quai, dans un terminal maritime, fluvial, aérien, routier ou ferroviaire désigné (dédouanement import, et post-acheminement payés par l\'acheteur)',1),(10,'DAP','Delivered At Place, marchandises (non déchargées) mises à disposition de l\'acheteur dans le pays d\'importation au lieu précisé dans le contrat (déchargement, dédouanement import payé par l\'acheteur)',1),(11,'DDP','Delivered Duty Paid, marchandises (non déchargées) livrées à destination finale, dédouanement import et taxes à la charge du vendeur ; l\'acheteur prend en charge uniquement le déchargement (si exclusion des taxes type TVA, le préciser clairement)',1); +/*!40000 ALTER TABLE `llx_c_incoterms` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_input_method` +-- + +DROP TABLE IF EXISTS `llx_c_input_method`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_input_method` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(30) DEFAULT NULL, + `libelle` varchar(60) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `module` varchar(32) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_methode_commande_fournisseur` (`code`), + UNIQUE KEY `uk_c_input_method` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_input_method` +-- + +LOCK TABLES `llx_c_input_method` WRITE; +/*!40000 ALTER TABLE `llx_c_input_method` DISABLE KEYS */; +INSERT INTO `llx_c_input_method` VALUES (1,'OrderByMail','Courrier',1,NULL),(2,'OrderByFax','Fax',1,NULL),(3,'OrderByEMail','EMail',1,NULL),(4,'OrderByPhone','Téléphone',1,NULL),(5,'OrderByWWW','En ligne',1,NULL); +/*!40000 ALTER TABLE `llx_c_input_method` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_input_reason` +-- + +DROP TABLE IF EXISTS `llx_c_input_reason`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_input_reason` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(30) NOT NULL, + `label` varchar(60) NOT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `module` varchar(32) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_input_reason` (`code`) +) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_input_reason` +-- + +LOCK TABLES `llx_c_input_reason` WRITE; +/*!40000 ALTER TABLE `llx_c_input_reason` DISABLE KEYS */; +INSERT INTO `llx_c_input_reason` VALUES (1,'SRC_INTE','Web site',1,NULL),(2,'SRC_CAMP_MAIL','Mailing campaign',1,NULL),(3,'SRC_CAMP_PHO','Phone campaign',1,NULL),(4,'SRC_CAMP_FAX','Fax campaign',1,NULL),(5,'SRC_COMM','Commercial contact',1,NULL),(6,'SRC_SHOP','Shop contact',1,NULL),(7,'SRC_CAMP_EMAIL','EMailing campaign',1,NULL),(8,'SRC_WOM','Word of mouth',1,NULL),(9,'SRC_PARTNER','Partner',1,NULL),(10,'SRC_EMPLOYEE','Employee',1,NULL),(11,'SRC_SPONSORING','Sponsoring',1,NULL); +/*!40000 ALTER TABLE `llx_c_input_reason` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_lead_status` +-- + +DROP TABLE IF EXISTS `llx_c_lead_status`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_lead_status` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(10) DEFAULT NULL, + `label` varchar(50) DEFAULT NULL, + `position` int(11) DEFAULT NULL, + `percent` double(5,2) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_lead_status_code` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_lead_status` +-- + +LOCK TABLES `llx_c_lead_status` WRITE; +/*!40000 ALTER TABLE `llx_c_lead_status` DISABLE KEYS */; +INSERT INTO `llx_c_lead_status` VALUES (1,'PROSP','Prospection',10,0.00,1),(2,'QUAL','Qualification',20,20.00,1),(3,'PROPO','Proposal',30,40.00,1),(4,'NEGO','Negotiation',40,60.00,1),(5,'PENDING','Pending',50,50.00,0),(6,'WON','Won',60,100.00,1),(7,'LOST','Lost',70,0.00,1); +/*!40000 ALTER TABLE `llx_c_lead_status` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_methode_commande_fournisseur` +-- + +DROP TABLE IF EXISTS `llx_c_methode_commande_fournisseur`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_methode_commande_fournisseur` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(30) DEFAULT NULL, + `libelle` varchar(60) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_methode_commande_fournisseur` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_methode_commande_fournisseur` +-- + +LOCK TABLES `llx_c_methode_commande_fournisseur` WRITE; +/*!40000 ALTER TABLE `llx_c_methode_commande_fournisseur` DISABLE KEYS */; +INSERT INTO `llx_c_methode_commande_fournisseur` VALUES (1,'OrderByMail','Courrier',1),(2,'OrderByFax','Fax',1),(3,'OrderByEMail','EMail',1),(4,'OrderByPhone','Téléphone',1),(5,'OrderByWWW','En ligne',1); +/*!40000 ALTER TABLE `llx_c_methode_commande_fournisseur` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_paiement` +-- + +DROP TABLE IF EXISTS `llx_c_paiement`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_paiement` ( + `id` int(11) NOT NULL, + `code` varchar(6) NOT NULL, + `libelle` varchar(62) DEFAULT NULL, + `type` smallint(6) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `accountancy_code` varchar(32) DEFAULT NULL, + `module` varchar(32) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `uk_c_paiement` (`code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_paiement` +-- + +LOCK TABLES `llx_c_paiement` WRITE; +/*!40000 ALTER TABLE `llx_c_paiement` DISABLE KEYS */; +INSERT INTO `llx_c_paiement` VALUES (0,'','-',3,1,NULL,NULL),(1,'TIP','TIP',2,0,NULL,NULL),(2,'VIR','Virement',2,1,NULL,NULL),(3,'PRE','Prélèvement',2,1,NULL,NULL),(4,'LIQ','Espèces',2,1,NULL,NULL),(6,'CB','Carte Bancaire',2,1,NULL,NULL),(7,'CHQ','Chèque',2,1,NULL,NULL),(50,'VAD','Paiement en ligne',2,0,NULL,NULL),(51,'TRA','Traite',2,0,NULL,NULL),(52,'LCR','LCR',2,0,NULL,NULL),(53,'FAC','Factor',2,0,NULL,NULL); +/*!40000 ALTER TABLE `llx_c_paiement` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_paper_format` +-- + +DROP TABLE IF EXISTS `llx_c_paper_format`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_paper_format` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(16) NOT NULL, + `label` varchar(50) NOT NULL, + `width` float(6,2) DEFAULT '0.00', + `height` float(6,2) DEFAULT '0.00', + `unit` varchar(5) NOT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `module` varchar(32) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=226 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_paper_format` +-- + +LOCK TABLES `llx_c_paper_format` WRITE; +/*!40000 ALTER TABLE `llx_c_paper_format` DISABLE KEYS */; +INSERT INTO `llx_c_paper_format` VALUES (1,'EU4A0','Format 4A0',1682.00,2378.00,'mm',1,NULL),(2,'EU2A0','Format 2A0',1189.00,1682.00,'mm',1,NULL),(3,'EUA0','Format A0',840.00,1189.00,'mm',1,NULL),(4,'EUA1','Format A1',594.00,840.00,'mm',1,NULL),(5,'EUA2','Format A2',420.00,594.00,'mm',1,NULL),(6,'EUA3','Format A3',297.00,420.00,'mm',1,NULL),(7,'EUA4','Format A4',210.00,297.00,'mm',1,NULL),(8,'EUA5','Format A5',148.00,210.00,'mm',1,NULL),(9,'EUA6','Format A6',105.00,148.00,'mm',1,NULL),(100,'USLetter','Format Letter (A)',216.00,279.00,'mm',1,NULL),(105,'USLegal','Format Legal',216.00,356.00,'mm',1,NULL),(110,'USExecutive','Format Executive',190.00,254.00,'mm',1,NULL),(115,'USLedger','Format Ledger/Tabloid (B)',279.00,432.00,'mm',1,NULL),(200,'CAP1','Format Canadian P1',560.00,860.00,'mm',1,NULL),(205,'CAP2','Format Canadian P2',430.00,560.00,'mm',1,NULL),(210,'CAP3','Format Canadian P3',280.00,430.00,'mm',1,NULL),(215,'CAP4','Format Canadian P4',215.00,280.00,'mm',1,NULL),(220,'CAP5','Format Canadian P5',140.00,215.00,'mm',1,NULL),(225,'CAP6','Format Canadian P6',107.00,140.00,'mm',1,NULL); +/*!40000 ALTER TABLE `llx_c_paper_format` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_payment_term` +-- + +DROP TABLE IF EXISTS `llx_c_payment_term`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_payment_term` ( + `rowid` int(11) NOT NULL, + `code` varchar(16) DEFAULT NULL, + `sortorder` smallint(6) DEFAULT NULL, + `active` tinyint(4) DEFAULT '1', + `libelle` varchar(255) DEFAULT NULL, + `libelle_facture` text, + `fdm` tinyint(4) DEFAULT NULL, + `nbjour` smallint(6) DEFAULT NULL, + `decalage` smallint(6) DEFAULT NULL, + `module` varchar(32) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_payment_term` +-- + +LOCK TABLES `llx_c_payment_term` WRITE; +/*!40000 ALTER TABLE `llx_c_payment_term` DISABLE KEYS */; +INSERT INTO `llx_c_payment_term` VALUES (1,'RECEP',1,1,'A réception','Réception de facture',0,0,NULL,NULL),(2,'30D',2,1,'30 jours','Réglement à 30 jours',0,30,NULL,NULL),(3,'30DENDMONTH',3,1,'30 jours fin de mois','Réglement à 30 jours fin de mois',1,30,NULL,NULL),(4,'60D',4,1,'60 jours','Réglement à 60 jours',0,60,NULL,NULL),(5,'60DENDMONTH',5,1,'60 jours fin de mois','Réglement à 60 jours fin de mois',1,60,NULL,NULL),(6,'PT_ORDER',6,1,'A réception de commande','A réception de commande',0,0,NULL,NULL),(7,'PT_DELIVERY',7,1,'Livraison','Règlement à la livraison',0,0,NULL,NULL),(8,'PT_5050',8,1,'50 et 50','Règlement 50% à la commande, 50% à la livraison',0,0,NULL,NULL); +/*!40000 ALTER TABLE `llx_c_payment_term` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_pays` +-- + +DROP TABLE IF EXISTS `llx_c_pays`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_pays` ( + `rowid` int(11) NOT NULL, + `code` varchar(2) NOT NULL, + `code_iso` varchar(3) DEFAULT NULL, + `libelle` varchar(50) NOT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + UNIQUE KEY `idx_c_pays_code` (`code`), + UNIQUE KEY `idx_c_pays_libelle` (`libelle`), + UNIQUE KEY `idx_c_pays_code_iso` (`code_iso`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_pays` +-- + +LOCK TABLES `llx_c_pays` WRITE; +/*!40000 ALTER TABLE `llx_c_pays` DISABLE KEYS */; +INSERT INTO `llx_c_pays` VALUES (0,'',NULL,'-',1),(1,'FR',NULL,'France',1),(2,'BE',NULL,'Belgium',1),(3,'IT',NULL,'Italy',1),(4,'ES',NULL,'Spain',1),(5,'DE',NULL,'Germany',1),(6,'CH',NULL,'Suisse',1),(7,'GB',NULL,'United Kingdow',1),(8,'IE',NULL,'Irland',1),(9,'CN',NULL,'China',1),(10,'TN',NULL,'Tunisie',1),(11,'US',NULL,'United States',1),(12,'MA',NULL,'Maroc',1),(13,'DZ',NULL,'Algérie',1),(14,'CA',NULL,'Canada',1),(15,'TG',NULL,'Togo',1),(16,'GA',NULL,'Gabon',1),(17,'NL',NULL,'Nerderland',1),(18,'HU',NULL,'Hongrie',1),(19,'RU',NULL,'Russia',1),(20,'SE',NULL,'Sweden',1),(21,'CI',NULL,'Côte d\'Ivoire',1),(22,'SN',NULL,'Sénégal',1),(23,'AR',NULL,'Argentine',1),(24,'CM',NULL,'Cameroun',1),(25,'PT',NULL,'Portugal',1),(26,'SA',NULL,'Arabie Saoudite',1),(27,'MC',NULL,'Monaco',1),(28,'AU',NULL,'Australia',1),(29,'SG',NULL,'Singapour',1),(30,'AF',NULL,'Afghanistan',1),(31,'AX',NULL,'Iles Aland',1),(32,'AL',NULL,'Albanie',1),(33,'AS',NULL,'Samoa américaines',1),(34,'AD',NULL,'Andorre',1),(35,'AO',NULL,'Angola',1),(36,'AI',NULL,'Anguilla',1),(37,'AQ',NULL,'Antarctique',1),(38,'AG',NULL,'Antigua-et-Barbuda',1),(39,'AM',NULL,'Arménie',1),(40,'AW',NULL,'Aruba',1),(41,'AT',NULL,'Autriche',1),(42,'AZ',NULL,'Azerbaïdjan',1),(43,'BS',NULL,'Bahamas',1),(44,'BH',NULL,'Bahreïn',1),(45,'BD',NULL,'Bangladesh',1),(46,'BB',NULL,'Barbade',1),(47,'BY',NULL,'Biélorussie',1),(48,'BZ',NULL,'Belize',1),(49,'BJ',NULL,'Bénin',1),(50,'BM',NULL,'Bermudes',1),(51,'BT',NULL,'Bhoutan',1),(52,'BO',NULL,'Bolivie',1),(53,'BA',NULL,'Bosnie-Herzégovine',1),(54,'BW',NULL,'Botswana',1),(55,'BV',NULL,'Ile Bouvet',1),(56,'BR',NULL,'Brésil',1),(57,'IO',NULL,'Territoire britannique de l\'Océan Indien',1),(58,'BN',NULL,'Brunei',1),(59,'BG',NULL,'Bulgarie',1),(60,'BF',NULL,'Burkina Faso',1),(61,'BI',NULL,'Burundi',1),(62,'KH',NULL,'Cambodge',1),(63,'CV',NULL,'Cap-Vert',1),(64,'KY',NULL,'Iles Cayman',1),(65,'CF',NULL,'République centrafricaine',1),(66,'TD',NULL,'Tchad',1),(67,'CL',NULL,'Chili',1),(68,'CX',NULL,'Ile Christmas',1),(69,'CC',NULL,'Iles des Cocos (Keeling)',1),(70,'CO',NULL,'Colombie',1),(71,'KM',NULL,'Comores',1),(72,'CG',NULL,'Congo',1),(73,'CD',NULL,'République démocratique du Congo',1),(74,'CK',NULL,'Iles Cook',1),(75,'CR',NULL,'Costa Rica',1),(76,'HR',NULL,'Croatie',1),(77,'CU',NULL,'Cuba',1),(78,'CY',NULL,'Chypre',1),(79,'CZ',NULL,'République Tchèque',1),(80,'DK',NULL,'Danemark',1),(81,'DJ',NULL,'Djibouti',1),(82,'DM',NULL,'Dominique',1),(83,'DO',NULL,'République Dominicaine',1),(84,'EC',NULL,'Equateur',1),(85,'EG',NULL,'Egypte',1),(86,'SV',NULL,'Salvador',1),(87,'GQ',NULL,'Guinée Equatoriale',1),(88,'ER',NULL,'Erythrée',1),(89,'EE',NULL,'Estonie',1),(90,'ET',NULL,'Ethiopie',1),(91,'FK',NULL,'Iles Falkland',1),(92,'FO',NULL,'Iles Féroé',1),(93,'FJ',NULL,'Iles Fidji',1),(94,'FI',NULL,'Finlande',1),(95,'GF',NULL,'Guyane française',1),(96,'PF',NULL,'Polynésie française',1),(97,'TF',NULL,'Terres australes françaises',1),(98,'GM',NULL,'Gambie',1),(99,'GE',NULL,'Géorgie',1),(100,'GH',NULL,'Ghana',1),(101,'GI',NULL,'Gibraltar',1),(102,'GR',NULL,'Grèce',1),(103,'GL',NULL,'Groenland',1),(104,'GD',NULL,'Grenade',1),(105,'GP',NULL,'Guadeloupe',1),(106,'GU',NULL,'Guam',1),(107,'GT',NULL,'Guatemala',1),(108,'GN',NULL,'Guinée',1),(109,'GW',NULL,'Guinée-Bissao',1),(110,'GY',NULL,'Guyana',1),(111,'HT',NULL,'Haiti',1),(112,'HM',NULL,'Iles Heard et McDonald',1),(113,'VA',NULL,'Saint-Siège (Vatican)',1),(114,'HN',NULL,'Honduras',1),(115,'HK',NULL,'Hong Kong',1),(116,'IS',NULL,'Islande',1),(117,'IN',NULL,'India',1),(118,'ID',NULL,'Indonésie',1),(119,'IR',NULL,'Iran',1),(120,'IQ',NULL,'Iraq',1),(121,'IL',NULL,'Israel',1),(122,'JM',NULL,'Jamaïque',1),(123,'JP',NULL,'Japon',1),(124,'JO',NULL,'Jordanie',1),(125,'KZ',NULL,'Kazakhstan',1),(126,'KE',NULL,'Kenya',1),(127,'KI',NULL,'Kiribati',1),(128,'KP',NULL,'Corée du Nord',1),(129,'KR',NULL,'Corée du Sud',1),(130,'KW',NULL,'Koweït',1),(131,'KG',NULL,'Kirghizistan',1),(132,'LA',NULL,'Laos',1),(133,'LV',NULL,'Lettonie',1),(134,'LB',NULL,'Liban',1),(135,'LS',NULL,'Lesotho',1),(136,'LR',NULL,'Liberia',1),(137,'LY',NULL,'Libye',1),(138,'LI',NULL,'Liechtenstein',1),(139,'LT',NULL,'Lituanie',1),(140,'LU',NULL,'Luxembourg',1),(141,'MO',NULL,'Macao',1),(142,'MK',NULL,'ex-République yougoslave de Macédoine',1),(143,'MG',NULL,'Madagascar',1),(144,'MW',NULL,'Malawi',1),(145,'MY',NULL,'Malaisie',1),(146,'MV',NULL,'Maldives',1),(147,'ML',NULL,'Mali',1),(148,'MT',NULL,'Malte',1),(149,'MH',NULL,'Iles Marshall',1),(150,'MQ',NULL,'Martinique',1),(151,'MR',NULL,'Mauritanie',1),(152,'MU',NULL,'Maurice',1),(153,'YT',NULL,'Mayotte',1),(154,'MX',NULL,'Mexique',1),(155,'FM',NULL,'Micronésie',1),(156,'MD',NULL,'Moldavie',1),(157,'MN',NULL,'Mongolie',1),(158,'MS',NULL,'Monserrat',1),(159,'MZ',NULL,'Mozambique',1),(160,'MM',NULL,'Birmanie (Myanmar)',1),(161,'NA',NULL,'Namibie',1),(162,'NR',NULL,'Nauru',1),(163,'NP',NULL,'Népal',1),(164,'AN',NULL,'Antilles néerlandaises',1),(165,'NC',NULL,'Nouvelle-Calédonie',1),(166,'NZ',NULL,'Nouvelle-Zélande',1),(167,'NI',NULL,'Nicaragua',1),(168,'NE',NULL,'Niger',1),(169,'NG',NULL,'Nigeria',1),(170,'NU',NULL,'Nioué',1),(171,'NF',NULL,'Ile Norfolk',1),(172,'MP',NULL,'Mariannes du Nord',1),(173,'NO',NULL,'Norvège',1),(174,'OM',NULL,'Oman',1),(175,'PK',NULL,'Pakistan',1),(176,'PW',NULL,'Palaos',1),(177,'PS',NULL,'territoire Palestinien Occupé',1),(178,'PA',NULL,'Panama',1),(179,'PG',NULL,'Papouasie-Nouvelle-Guinée',1),(180,'PY',NULL,'Paraguay',1),(181,'PE',NULL,'Pérou',1),(182,'PH',NULL,'Philippines',1),(183,'PN',NULL,'Iles Pitcairn',1),(184,'PL',NULL,'Pologne',1),(185,'PR',NULL,'Porto Rico',1),(186,'QA',NULL,'Qatar',1),(187,'RE',NULL,'Réunion',1),(188,'RO',NULL,'Roumanie',1),(189,'RW',NULL,'Rwanda',1),(190,'SH',NULL,'Sainte-Hélène',1),(191,'KN',NULL,'Saint-Christophe-et-Niévès',1),(192,'LC',NULL,'Sainte-Lucie',1),(193,'PM',NULL,'Saint-Pierre-et-Miquelon',1),(194,'VC',NULL,'Saint-Vincent-et-les-Grenadines',1),(195,'WS',NULL,'Samoa',1),(196,'SM',NULL,'Saint-Marin',1),(197,'ST',NULL,'Sao Tomé-et-Principe',1),(198,'RS',NULL,'Serbie',1),(199,'SC',NULL,'Seychelles',1),(200,'SL',NULL,'Sierra Leone',1),(201,'SK',NULL,'Slovaquie',1),(202,'SI',NULL,'Slovénie',1),(203,'SB',NULL,'Iles Salomon',1),(204,'SO',NULL,'Somalie',1),(205,'ZA',NULL,'Afrique du Sud',1),(206,'GS',NULL,'Iles Géorgie du Sud et Sandwich du Sud',1),(207,'LK',NULL,'Sri Lanka',1),(208,'SD',NULL,'Soudan',1),(209,'SR',NULL,'Suriname',1),(210,'SJ',NULL,'Iles Svalbard et Jan Mayen',1),(211,'SZ',NULL,'Swaziland',1),(212,'SY',NULL,'Syrie',1),(213,'TW',NULL,'Taïwan',1),(214,'TJ',NULL,'Tadjikistan',1),(215,'TZ',NULL,'Tanzanie',1),(216,'TH',NULL,'Thaïlande',1),(217,'TL',NULL,'Timor Oriental',1),(218,'TK',NULL,'Tokélaou',1),(219,'TO',NULL,'Tonga',1),(220,'TT',NULL,'Trinité-et-Tobago',1),(221,'TR',NULL,'Turquie',1),(222,'TM',NULL,'Turkménistan',1),(223,'TC',NULL,'Iles Turks-et-Caicos',1),(224,'TV',NULL,'Tuvalu',1),(225,'UG',NULL,'Ouganda',1),(226,'UA',NULL,'Ukraine',1),(227,'AE',NULL,'Émirats arabes unis',1),(228,'UM',NULL,'Iles mineures éloignées des États-Unis',1),(229,'UY',NULL,'Uruguay',1),(230,'UZ',NULL,'Ouzbékistan',1),(231,'VU',NULL,'Vanuatu',1),(232,'VE',NULL,'Vénézuela',1),(233,'VN',NULL,'Viêt Nam',1),(234,'VG',NULL,'Iles Vierges britanniques',1),(235,'VI',NULL,'Iles Vierges américaines',1),(236,'WF',NULL,'Wallis-et-Futuna',1),(237,'EH',NULL,'Sahara occidental',1),(238,'YE',NULL,'Yémen',1),(239,'ZM',NULL,'Zambie',1),(240,'ZW',NULL,'Zimbabwe',1),(241,'GG',NULL,'Guernesey',1),(242,'IM',NULL,'Ile de Man',1),(243,'JE',NULL,'Jersey',1),(244,'ME',NULL,'Monténégro',1),(245,'BL',NULL,'Saint-Barthélemy',1),(246,'MF',NULL,'Saint-Martin',1); +/*!40000 ALTER TABLE `llx_c_pays` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_price_expression` +-- + +DROP TABLE IF EXISTS `llx_c_price_expression`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_price_expression` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `title` varchar(20) NOT NULL, + `expression` varchar(80) NOT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_price_expression` +-- + +LOCK TABLES `llx_c_price_expression` WRITE; +/*!40000 ALTER TABLE `llx_c_price_expression` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_c_price_expression` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_price_global_variable` +-- + +DROP TABLE IF EXISTS `llx_c_price_global_variable`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_price_global_variable` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(20) NOT NULL, + `description` text, + `value` double(24,8) DEFAULT '0.00000000', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_price_global_variable` +-- + +LOCK TABLES `llx_c_price_global_variable` WRITE; +/*!40000 ALTER TABLE `llx_c_price_global_variable` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_c_price_global_variable` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_price_global_variable_updater` +-- + +DROP TABLE IF EXISTS `llx_c_price_global_variable_updater`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_price_global_variable_updater` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `type` int(11) NOT NULL, + `description` text, + `parameters` text, + `fk_variable` int(11) NOT NULL, + `update_interval` int(11) DEFAULT '0', + `next_update` int(11) DEFAULT '0', + `last_status` text, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_price_global_variable_updater` +-- + +LOCK TABLES `llx_c_price_global_variable_updater` WRITE; +/*!40000 ALTER TABLE `llx_c_price_global_variable_updater` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_c_price_global_variable_updater` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_propalst` +-- + +DROP TABLE IF EXISTS `llx_c_propalst`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_propalst` ( + `id` smallint(6) NOT NULL, + `code` varchar(12) NOT NULL, + `label` varchar(30) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_c_propalst` (`code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_propalst` +-- + +LOCK TABLES `llx_c_propalst` WRITE; +/*!40000 ALTER TABLE `llx_c_propalst` DISABLE KEYS */; +INSERT INTO `llx_c_propalst` VALUES (0,'PR_DRAFT','Brouillon',1),(1,'PR_OPEN','Ouverte',1),(2,'PR_SIGNED','Signée',1),(3,'PR_NOTSIGNED','Non Signée',1),(4,'PR_FAC','Facturée',1); +/*!40000 ALTER TABLE `llx_c_propalst` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_prospectlevel` +-- + +DROP TABLE IF EXISTS `llx_c_prospectlevel`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_prospectlevel` ( + `code` varchar(12) NOT NULL, + `label` varchar(30) DEFAULT NULL, + `sortorder` smallint(6) DEFAULT NULL, + `active` smallint(6) NOT NULL DEFAULT '1', + `module` varchar(32) DEFAULT NULL, + PRIMARY KEY (`code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_prospectlevel` +-- + +LOCK TABLES `llx_c_prospectlevel` WRITE; +/*!40000 ALTER TABLE `llx_c_prospectlevel` DISABLE KEYS */; +INSERT INTO `llx_c_prospectlevel` VALUES ('PL_HIGH','High',4,1,NULL),('PL_LOW','Low',2,1,NULL),('PL_MEDIUM','Medium',3,1,NULL),('PL_NONE','None',1,1,NULL); +/*!40000 ALTER TABLE `llx_c_prospectlevel` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_regions` +-- + +DROP TABLE IF EXISTS `llx_c_regions`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_regions` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code_region` int(11) NOT NULL, + `fk_pays` int(11) NOT NULL, + `cheflieu` varchar(50) DEFAULT NULL, + `tncc` int(11) DEFAULT NULL, + `nom` varchar(50) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + UNIQUE KEY `code_region` (`code_region`), + UNIQUE KEY `uk_code_region` (`code_region`), + KEY `idx_c_regions_fk_pays` (`fk_pays`), + CONSTRAINT `fk_c_regions_fk_pays` FOREIGN KEY (`fk_pays`) REFERENCES `llx_c_pays` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=23354 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_regions` +-- + +LOCK TABLES `llx_c_regions` WRITE; +/*!40000 ALTER TABLE `llx_c_regions` DISABLE KEYS */; +INSERT INTO `llx_c_regions` VALUES (1,0,0,'0',0,'-',1),(101,1,1,'97105',3,'Guadeloupe',1),(102,2,1,'97209',3,'Martinique',1),(103,3,1,'97302',3,'Guyane',1),(104,4,1,'97411',3,'Réunion',1),(105,11,1,'75056',1,'Île-de-France',1),(106,21,1,'51108',0,'Champagne-Ardenne',1),(107,22,1,'80021',0,'Picardie',1),(108,23,1,'76540',0,'Haute-Normandie',1),(109,24,1,'45234',2,'Centre',1),(110,25,1,'14118',0,'Basse-Normandie',1),(111,26,1,'21231',0,'Bourgogne',1),(112,31,1,'59350',2,'Nord-Pas-de-Calais',1),(113,41,1,'57463',0,'Lorraine',1),(114,42,1,'67482',1,'Alsace',1),(115,43,1,'25056',0,'Franche-Comté',1),(116,52,1,'44109',4,'Pays de la Loire',1),(117,53,1,'35238',0,'Bretagne',1),(118,54,1,'86194',2,'Poitou-Charentes',1),(119,72,1,'33063',1,'Aquitaine',1),(120,73,1,'31555',0,'Midi-Pyrénées',1),(121,74,1,'87085',2,'Limousin',1),(122,82,1,'69123',2,'Rhône-Alpes',1),(123,83,1,'63113',1,'Auvergne',1),(124,91,1,'34172',2,'Languedoc-Roussillon',1),(125,93,1,'13055',0,'Provence-Alpes-Côte d\'Azur',1),(126,94,1,'2A004',0,'Corse',1),(201,201,2,'',1,'Flandre',1),(202,202,2,'',2,'Wallonie',1),(203,203,2,'',3,'Bruxelles-Capitale',1),(301,301,3,NULL,1,'Abruzzo',1),(302,302,3,NULL,1,'Basilicata',1),(303,303,3,NULL,1,'Calabria',1),(304,304,3,NULL,1,'Campania',1),(305,305,3,NULL,1,'Emilia-Romagna',1),(306,306,3,NULL,1,'Friuli-Venezia Giulia',1),(307,307,3,NULL,1,'Lazio',1),(308,308,3,NULL,1,'Liguria',1),(309,309,3,NULL,1,'Lombardia',1),(310,310,3,NULL,1,'Marche',1),(311,311,3,NULL,1,'Molise',1),(312,312,3,NULL,1,'Piemonte',1),(313,313,3,NULL,1,'Puglia',1),(314,314,3,NULL,1,'Sardegna',1),(315,315,3,NULL,1,'Sicilia',1),(316,316,3,NULL,1,'Toscana',1),(317,317,3,NULL,1,'Trentino-Alto Adige',1),(318,318,3,NULL,1,'Umbria',1),(319,319,3,NULL,1,'Valle d Aosta',1),(320,320,3,NULL,1,'Veneto',1),(401,401,4,'',0,'Andalucia',1),(402,402,4,'',0,'Aragón',1),(403,403,4,'',0,'Castilla y León',1),(404,404,4,'',0,'Castilla la Mancha',1),(405,405,4,'',0,'Canarias',1),(406,406,4,'',0,'Cataluña',1),(407,407,4,'',0,'Comunidad de Ceuta',1),(408,408,4,'',0,'Comunidad Foral de Navarra',1),(409,409,4,'',0,'Comunidad de Melilla',1),(410,410,4,'',0,'Cantabria',1),(411,411,4,'',0,'Comunidad Valenciana',1),(412,412,4,'',0,'Extemadura',1),(413,413,4,'',0,'Galicia',1),(414,414,4,'',0,'Islas Baleares',1),(415,415,4,'',0,'La Rioja',1),(416,416,4,'',0,'Comunidad de Madrid',1),(417,417,4,'',0,'Región de Murcia',1),(418,418,4,'',0,'Principado de Asturias',1),(419,419,4,'',0,'Pais Vasco',1),(601,601,6,'',1,'Cantons',1),(1001,1001,10,'',0,'Ariana',1),(1002,1002,10,'',0,'Béja',1),(1003,1003,10,'',0,'Ben Arous',1),(1004,1004,10,'',0,'Bizerte',1),(1005,1005,10,'',0,'Gabès',1),(1006,1006,10,'',0,'Gafsa',1),(1007,1007,10,'',0,'Jendouba',1),(1008,1008,10,'',0,'Kairouan',1),(1009,1009,10,'',0,'Kasserine',1),(1010,1010,10,'',0,'Kébili',1),(1011,1011,10,'',0,'La Manouba',1),(1012,1012,10,'',0,'Le Kef',1),(1013,1013,10,'',0,'Mahdia',1),(1014,1014,10,'',0,'Médenine',1),(1015,1015,10,'',0,'Monastir',1),(1016,1016,10,'',0,'Nabeul',1),(1017,1017,10,'',0,'Sfax',1),(1018,1018,10,'',0,'Sidi Bouzid',1),(1019,1019,10,'',0,'Siliana',1),(1020,1020,10,'',0,'Sousse',1),(1021,1021,10,'',0,'Tataouine',1),(1022,1022,10,'',0,'Tozeur',1),(1023,1023,10,'',0,'Tunis',1),(1024,1024,10,'',0,'Zaghouan',1),(1101,1101,11,'',0,'United-States',1),(1201,1201,12,'',0,'Tanger-Tétouan',1),(1202,1202,12,'',0,'Gharb-Chrarda-Beni Hssen',1),(1203,1203,12,'',0,'Taza-Al Hoceima-Taounate',1),(1204,1204,12,'',0,'L\'Oriental',1),(1205,1205,12,'',0,'Fès-Boulemane',1),(1206,1206,12,'',0,'Meknès-Tafialet',1),(1207,1207,12,'',0,'Rabat-Salé-Zemour-Zaër',1),(1208,1208,12,'',0,'Grand Cassablanca',1),(1209,1209,12,'',0,'Chaouia-Ouardigha',1),(1210,1210,12,'',0,'Doukahla-Adba',1),(1211,1211,12,'',0,'Marrakech-Tensift-Al Haouz',1),(1212,1212,12,'',0,'Tadla-Azilal',1),(1213,1213,12,'',0,'Sous-Massa-Drâa',1),(1214,1214,12,'',0,'Guelmim-Es Smara',1),(1215,1215,12,'',0,'Laâyoune-Boujdour-Sakia el Hamra',1),(1216,1216,12,'',0,'Oued Ed-Dahab Lagouira',1),(1301,1301,13,'',0,'Algerie',1),(2301,2301,23,'',0,'Norte',1),(2302,2302,23,'',0,'Litoral',1),(2303,2303,23,'',0,'Cuyana',1),(2304,2304,23,'',0,'Central',1),(2305,2305,23,'',0,'Patagonia',1),(2801,2801,28,'',0,'Australia',1),(4601,4601,46,'',0,'Barbados',1),(6701,6701,67,NULL,NULL,'Tarapacá',1),(6702,6702,67,NULL,NULL,'Antofagasta',1),(6703,6703,67,NULL,NULL,'Atacama',1),(6704,6704,67,NULL,NULL,'Coquimbo',1),(6705,6705,67,NULL,NULL,'Valparaíso',1),(6706,6706,67,NULL,NULL,'General Bernardo O Higgins',1),(6707,6707,67,NULL,NULL,'Maule',1),(6708,6708,67,NULL,NULL,'Biobío',1),(6709,6709,67,NULL,NULL,'Raucanía',1),(6710,6710,67,NULL,NULL,'Los Lagos',1),(6711,6711,67,NULL,NULL,'Aysén General Carlos Ibáñez del Campo',1),(6712,6712,67,NULL,NULL,'Magallanes y Antártica Chilena',1),(6713,6713,67,NULL,NULL,'Santiago',1),(6714,6714,67,NULL,NULL,'Los Ríos',1),(6715,6715,67,NULL,NULL,'Arica y Parinacota',1),(7001,7001,70,'',0,'Colombie',1),(8601,8601,86,NULL,NULL,'Central',1),(8602,8602,86,NULL,NULL,'Oriental',1),(8603,8603,86,NULL,NULL,'Occidental',1),(10201,10201,102,NULL,NULL,'??????',1),(10202,10202,102,NULL,NULL,'?????? ??????',1),(10203,10203,102,NULL,NULL,'???????? ?????????',1),(10204,10204,102,NULL,NULL,'?????',1),(10205,10205,102,NULL,NULL,'????????? ????????? ??? ?????',1),(10206,10206,102,NULL,NULL,'???????',1),(10207,10207,102,NULL,NULL,'????? ?????',1),(10208,10208,102,NULL,NULL,'?????? ??????',1),(10209,10209,102,NULL,NULL,'????????????',1),(10210,10210,102,NULL,NULL,'????? ??????',1),(10211,10211,102,NULL,NULL,'?????? ??????',1),(10212,10212,102,NULL,NULL,'????????',1),(10213,10213,102,NULL,NULL,'?????? ?????????',1),(11401,11401,114,'',0,'Honduras',1),(11701,11701,117,'',0,'India',1),(15201,15201,152,'',0,'Rivière Noire',1),(15202,15202,152,'',0,'Flacq',1),(15203,15203,152,'',0,'Grand Port',1),(15204,15204,152,'',0,'Moka',1),(15205,15205,152,'',0,'Pamplemousses',1),(15206,15206,152,'',0,'Plaines Wilhems',1),(15207,15207,152,'',0,'Port-Louis',1),(15208,15208,152,'',0,'Rivière du Rempart',1),(15209,15209,152,'',0,'Savanne',1),(15210,15210,152,'',0,'Rodrigues',1),(15211,15211,152,'',0,'Les îles Agaléga',1),(15212,15212,152,'',0,'Les écueils des Cargados Carajos',1),(15401,15401,154,'',0,'Mexique',1),(23201,23201,232,'',0,'Los Andes',1),(23202,23202,232,'',0,'Capital',1),(23203,23203,232,'',0,'Central',1),(23204,23204,232,'',0,'Cento Occidental',1),(23205,23205,232,'',0,'Guayana',1),(23206,23206,232,'',0,'Insular',1),(23207,23207,232,'',0,'Los Llanos',1),(23208,23208,232,'',0,'Nor-Oriental',1),(23209,23209,232,'',0,'Zuliana',1),(23215,6,1,'97601',3,'Mayotte',1),(23280,420,4,'',0,'Otros',1),(23281,501,5,'',0,'Deutschland',1),(23296,701,7,'',0,'England',1),(23297,702,7,'',0,'Wales',1),(23298,703,7,'',0,'Scotland',1),(23299,704,7,'',0,'Northern Ireland',1),(23325,1401,14,'',0,'Canada',1),(23326,1701,17,'',0,'Provincies van Nederland ',1),(23333,5601,56,'',0,'Brasil',1),(23334,5201,52,'',0,'Chuquisaca',1),(23335,5202,52,'',0,'La Paz',1),(23336,5203,52,'',0,'Cochabamba',1),(23337,5204,52,'',0,'Oruro',1),(23338,5205,52,'',0,'Potosí',1),(23339,5206,52,'',0,'Tarija',1),(23340,5207,52,'',0,'Santa Cruz',1),(23341,5208,52,'',0,'El Beni',1),(23342,5209,52,'',0,'Pando',1),(23343,4101,41,'',0,'Österreich',1); +/*!40000 ALTER TABLE `llx_c_regions` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_revenuestamp` +-- + +DROP TABLE IF EXISTS `llx_c_revenuestamp`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_revenuestamp` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_pays` int(11) NOT NULL, + `taux` double NOT NULL, + `note` varchar(128) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `accountancy_code_sell` varchar(32) DEFAULT NULL, + `accountancy_code_buy` varchar(32) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=102 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_revenuestamp` +-- + +LOCK TABLES `llx_c_revenuestamp` WRITE; +/*!40000 ALTER TABLE `llx_c_revenuestamp` DISABLE KEYS */; +INSERT INTO `llx_c_revenuestamp` VALUES (101,10,0.4,'Revenue stamp tunisia',1,NULL,NULL); +/*!40000 ALTER TABLE `llx_c_revenuestamp` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_shipment_mode` +-- + +DROP TABLE IF EXISTS `llx_c_shipment_mode`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_shipment_mode` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `code` varchar(30) NOT NULL, + `libelle` varchar(50) NOT NULL, + `description` text, + `tracking` varchar(256) NOT NULL, + `active` tinyint(4) DEFAULT '0', + `module` varchar(32) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_shipment_mode` +-- + +LOCK TABLES `llx_c_shipment_mode` WRITE; +/*!40000 ALTER TABLE `llx_c_shipment_mode` DISABLE KEYS */; +INSERT INTO `llx_c_shipment_mode` VALUES (1,'2010-10-09 23:43:16','CATCH','Catch','Catch by client','',1,NULL),(2,'2010-10-09 23:43:16','TRANS','Transporter','Generic transporter','',1,NULL),(3,'2010-10-09 23:43:16','COLSUI','Colissimo Suivi','Colissimo Suivi','',0,NULL),(4,'2011-07-18 17:28:27','LETTREMAX','Lettre Max','Courrier Suivi et Lettre Max','',0,NULL),(9,'2013-02-24 01:48:18','UPS','UPS','United Parcel Service','http://wwwapps.ups.com/etracking/tracking.cgi?InquiryNumber2=&InquiryNumber3=&tracknums_displayed=3&loc=fr_FR&TypeOfInquiryNumber=T&HTMLVersion=4.0&InquiryNumber22=&InquiryNumber32=&track=Track&Suivi.x=64&Suivi.y=7&Suivi=Valider&InquiryNumber1={TRACKID}',0,NULL),(10,'2013-02-24 01:48:18','KIALA','KIALA','Relais Kiala','http://www.kiala.fr/tnt/delivery/{TRACKID}',0,NULL),(11,'2013-02-24 01:48:18','GLS','GLS','General Logistics Systems','http://www.gls-group.eu/276-I-PORTAL-WEB/content/GLS/FR01/FR/5004.htm?txtAction=71000&txtRefNo={TRACKID}',0,NULL),(12,'2013-02-24 01:48:18','CHRONO','Chronopost','Chronopost','http://www.chronopost.fr/expedier/inputLTNumbersNoJahia.do?listeNumeros={TRACKID}',0,NULL); +/*!40000 ALTER TABLE `llx_c_shipment_mode` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_stcomm` +-- + +DROP TABLE IF EXISTS `llx_c_stcomm`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_stcomm` ( + `id` int(11) NOT NULL, + `code` varchar(12) NOT NULL, + `libelle` varchar(30) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `picto` varchar(128) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `uk_c_stcomm` (`code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_stcomm` +-- + +LOCK TABLES `llx_c_stcomm` WRITE; +/*!40000 ALTER TABLE `llx_c_stcomm` DISABLE KEYS */; +INSERT INTO `llx_c_stcomm` VALUES (-1,'ST_NO','Do not contact',1,NULL),(0,'ST_NEVER','Never contacted',1,NULL),(1,'ST_TODO','To contact',1,NULL),(2,'ST_PEND','Contact in progress',1,NULL),(3,'ST_DONE','Contacted',1,NULL); +/*!40000 ALTER TABLE `llx_c_stcomm` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_tva` +-- + +DROP TABLE IF EXISTS `llx_c_tva`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_tva` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_pays` int(11) NOT NULL, + `code` varchar(10) DEFAULT '', + `taux` double NOT NULL, + `localtax1` varchar(20) DEFAULT NULL, + `localtax1_type` varchar(10) NOT NULL DEFAULT '0', + `localtax2` varchar(20) DEFAULT NULL, + `localtax2_type` varchar(10) NOT NULL DEFAULT '0', + `recuperableonly` int(11) NOT NULL DEFAULT '0', + `note` varchar(128) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `accountancy_code_sell` varchar(32) DEFAULT NULL, + `accountancy_code_buy` varchar(32) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_tva_id` (`fk_pays`,`code`,`taux`,`recuperableonly`) +) ENGINE=InnoDB AUTO_INCREMENT=2469 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_tva` +-- + +LOCK TABLES `llx_c_tva` WRITE; +/*!40000 ALTER TABLE `llx_c_tva` DISABLE KEYS */; +INSERT INTO `llx_c_tva` VALUES (11,1,'',20,NULL,'0',NULL,'0',0,'VAT standard rate (France hors DOM-TOM)',1,NULL,NULL),(12,1,'',8.5,NULL,'0',NULL,'0',0,'VAT standard rate (DOM sauf Guyane et Saint-Martin)',0,NULL,NULL),(13,1,'',8.5,NULL,'0',NULL,'0',1,'VAT standard rate (DOM sauf Guyane et Saint-Martin), non perçu par le vendeur mais récupérable par acheteur',0,NULL,NULL),(14,1,'',5.5,NULL,'0',NULL,'0',0,'VAT reduced rate (France hors DOM-TOM)',1,NULL,NULL),(15,1,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0 ou non applicable',1,NULL,NULL),(16,1,'',2.1,NULL,'0',NULL,'0',0,'VAT super-reduced rate',1,NULL,NULL),(17,1,'',10,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(21,2,'',21,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(22,2,'',6,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(23,2,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0 ou non applicable',1,NULL,NULL),(24,2,'',12,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(31,3,'',21,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(32,3,'',10,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(33,3,'',4,NULL,'0',NULL,'0',0,'VAT super-reduced rate',1,NULL,NULL),(34,3,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(41,4,'',21,'5.2','3','-19:-15:-9','5',0,'VAT standard rate',1,NULL,NULL),(42,4,'',10,'1.4','3','-19:-15:-9','5',0,'VAT reduced rate',1,NULL,NULL),(43,4,'',4,'0.5','3','-19:-15:-9','5',0,'VAT super-reduced rate',1,NULL,NULL),(44,4,'',0,'0','3','-19:-15:-9','5',0,'VAT Rate 0',1,NULL,NULL),(51,5,'',19,NULL,'0',NULL,'0',0,'allgemeine Ust.',1,NULL,NULL),(52,5,'',7,NULL,'0',NULL,'0',0,'ermäßigte USt.',1,NULL,NULL),(53,5,'',0,NULL,'0',NULL,'0',0,'keine USt.',1,NULL,NULL),(54,5,'',5.5,NULL,'0',NULL,'0',0,'USt. Forst',0,NULL,NULL),(55,5,'',10.7,NULL,'0',NULL,'0',0,'USt. Landwirtschaft',0,NULL,NULL),(61,6,'',8,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(62,6,'',3.8,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(63,6,'',2.5,NULL,'0',NULL,'0',0,'VAT super-reduced rate',1,NULL,NULL),(64,6,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(71,7,'',20,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(72,7,'',17.5,NULL,'0',NULL,'0',0,'VAT standard rate before 2011',1,NULL,NULL),(73,7,'',5,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(74,7,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(81,8,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(82,8,'',23,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(83,8,'',13.5,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(84,8,'',9,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(85,8,'',4.8,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(91,9,'',17,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(92,9,'',13,NULL,'0',NULL,'0',0,'VAT reduced rate 0',1,NULL,NULL),(93,9,'',3,NULL,'0',NULL,'0',0,'VAT super reduced rate 0',1,NULL,NULL),(94,9,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(101,10,'',6,'1','4','0','0',0,'VAT 6%',1,NULL,NULL),(102,10,'',12,'1','4','0','0',0,'VAT 12%',1,NULL,NULL),(103,10,'',18,'1','4','0','0',0,'VAT 18%',1,NULL,NULL),(104,10,'',7.5,'1','4','0','0',0,'VAT 6% Majoré à 25% (7.5%)',1,NULL,NULL),(105,10,'',15,'1','4','0','0',0,'VAT 12% Majoré à 25% (15%)',1,NULL,NULL),(106,10,'',22.5,'1','4','0','0',0,'VAT 18% Majoré à 25% (22.5%)',1,NULL,NULL),(107,10,'',0,'1','4','0','0',0,'VAT Rate 0',1,NULL,NULL),(111,11,'',0,NULL,'0',NULL,'0',0,'No Sales Tax',1,NULL,NULL),(112,11,'',4,NULL,'0',NULL,'0',0,'Sales Tax 4%',1,NULL,NULL),(113,11,'',6,NULL,'0',NULL,'0',0,'Sales Tax 6%',1,NULL,NULL),(121,12,'',20,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(122,12,'',14,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(123,12,'',10,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(124,12,'',7,NULL,'0',NULL,'0',0,'VAT super-reduced rate',1,NULL,NULL),(125,12,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(141,14,'',7,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(142,14,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(143,14,'',5,'9.975','1',NULL,'0',0,'GST/TPS and PST/TVQ rate for Province',1,NULL,NULL),(171,17,'',19,NULL,'0',NULL,'0',0,'Algemeen BTW tarief',1,NULL,NULL),(172,17,'',6,NULL,'0',NULL,'0',0,'Verlaagd BTW tarief',1,NULL,NULL),(173,17,'',0,NULL,'0',NULL,'0',0,'0 BTW tarief',1,NULL,NULL),(174,17,'',21,NULL,'0',NULL,'0',0,'Algemeen BTW tarief (vanaf 1 oktober 2012)',0,NULL,NULL),(201,20,'',25,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(202,20,'',12,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(203,20,'',6,NULL,'0',NULL,'0',0,'VAT super-reduced rate',1,NULL,NULL),(204,20,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(211,21,'',0,'0','0','0','0',0,'IVA Rate 0',1,NULL,NULL),(212,21,'',18,'7.5','2','0','0',0,'IVA standard rate',1,NULL,NULL),(221,22,'',18,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(222,22,'',10,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(223,22,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(231,23,'',21,NULL,'0',NULL,'0',0,'IVA standard rate',1,NULL,NULL),(232,23,'',10.5,NULL,'0',NULL,'0',0,'IVA reduced rate',1,NULL,NULL),(233,23,'',0,NULL,'0',NULL,'0',0,'IVA Rate 0',1,NULL,NULL),(241,24,'',19.25,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(242,24,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(251,25,'',23,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(252,25,'',13,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(253,25,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(254,25,'',6,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(261,26,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(271,27,'',19.6,NULL,'0',NULL,'0',0,'VAT standard rate (France hors DOM-TOM)',1,NULL,NULL),(272,27,'',8.5,NULL,'0',NULL,'0',0,'VAT standard rate (DOM sauf Guyane et Saint-Martin)',0,NULL,NULL),(273,27,'',8.5,NULL,'0',NULL,'0',1,'VAT standard rate (DOM sauf Guyane et Saint-Martin), non perçu par le vendeur mais récupérable par acheteur',0,NULL,NULL),(274,27,'',5.5,NULL,'0',NULL,'0',0,'VAT reduced rate (France hors DOM-TOM)',0,NULL,NULL),(275,27,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0 ou non applicable',1,NULL,NULL),(276,27,'',2.1,NULL,'0',NULL,'0',0,'VAT super-reduced rate',1,NULL,NULL),(277,27,'',7,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(281,28,'',10,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(282,28,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(411,41,'',20,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(412,41,'',10,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(413,41,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(461,46,'',0,NULL,'0',NULL,'0',0,'No VAT',1,NULL,NULL),(462,46,'',15,NULL,'0',NULL,'0',0,'VAT 15%',1,NULL,NULL),(463,46,'',7.5,NULL,'0',NULL,'0',0,'VAT 7.5%',1,NULL,NULL),(561,56,'',0,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(591,59,'',20,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(592,59,'',7,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(593,59,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(671,67,'',19,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(672,67,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(801,80,'',25,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(802,80,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(861,86,'',13,NULL,'0',NULL,'0',0,'IVA 13',1,NULL,NULL),(862,86,'',0,NULL,'0',NULL,'0',0,'SIN IVA',1,NULL,NULL),(1141,114,'',0,NULL,'0',NULL,'0',0,'No ISV',1,NULL,NULL),(1142,114,'',12,NULL,'0',NULL,'0',0,'ISV 12%',1,NULL,NULL),(1161,116,'',25.5,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(1162,116,'',7,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(1163,116,'',0,NULL,'0',NULL,'0',0,'VAT rate 0',1,NULL,NULL),(1171,117,'',12.5,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(1172,117,'',4,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(1173,117,'',1,NULL,'0',NULL,'0',0,'VAT super-reduced rate',1,NULL,NULL),(1174,117,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(1231,123,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(1232,123,'',5,NULL,'0',NULL,'0',0,'VAT Rate 5',1,NULL,NULL),(1401,140,'',15,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(1402,140,'',12,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(1403,140,'',6,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(1404,140,'',3,NULL,'0',NULL,'0',0,'VAT super-reduced rate',1,NULL,NULL),(1405,140,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(1481,148,'',18,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(1482,148,'',7,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(1483,148,'',5,NULL,'0',NULL,'0',0,'VAT super-reduced rate',1,NULL,NULL),(1484,148,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(1511,151,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(1512,151,'',14,NULL,'0',NULL,'0',0,'VAT Rate 14',1,NULL,NULL),(1521,152,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(1522,152,'',15,NULL,'0',NULL,'0',0,'VAT Rate 15',1,NULL,NULL),(1541,154,'',0,NULL,'0',NULL,'0',0,'No VAT',1,NULL,NULL),(1542,154,'',16,NULL,'0',NULL,'0',0,'VAT 16%',1,NULL,NULL),(1543,154,'',10,NULL,'0',NULL,'0',0,'VAT Frontero',1,NULL,NULL),(1662,166,'',15,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(1663,166,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(1692,169,'',5,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(1693,169,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(1731,173,'',25,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(1732,173,'',14,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(1733,173,'',8,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(1734,173,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(1811,181,'',18,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(1812,181,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(1841,184,'',20,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(1842,184,'',7,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(1843,184,'',3,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(1844,184,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(1881,188,'',24,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(1882,188,'',9,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(1883,188,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(1884,188,'',5,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(1931,193,'',0,NULL,'0',NULL,'0',0,'No VAT in SPM',1,NULL,NULL),(2011,201,'',19,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(2012,201,'',10,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(2013,201,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(2021,202,'',22,NULL,'0',NULL,'0',0,'VAT standard rate',1,NULL,NULL),(2022,202,'',9.5,NULL,'0',NULL,'0',0,'VAT reduced rate',1,NULL,NULL),(2023,202,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(2051,205,'',0,NULL,'0',NULL,'0',0,'No VAT',1,NULL,NULL),(2052,205,'',14,NULL,'0',NULL,'0',0,'VAT 14%',1,NULL,NULL),(2131,213,'',5,NULL,'0',NULL,'0',0,'VAT 5%',1,NULL,NULL),(2261,226,'',20,NULL,'0',NULL,'0',0,'VAT standart rate',1,NULL,NULL),(2262,226,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(2321,232,'',0,NULL,'0',NULL,'0',0,'No VAT',1,NULL,NULL),(2322,232,'',12,NULL,'0',NULL,'0',0,'VAT 12%',1,NULL,NULL),(2323,232,'',8,NULL,'0',NULL,'0',0,'VAT 8%',1,NULL,NULL),(2461,246,'',0,NULL,'0',NULL,'0',0,'VAT Rate 0',1,NULL,NULL),(2462,102,'',23,'0','0','0','0',0,'Κανονικός Φ.Π.Α.',1,NULL,NULL),(2463,102,'',0,'0','0','0','0',0,'Μηδενικό Φ.Π.Α.',1,NULL,NULL),(2464,102,'',13,'0','0','0','0',0,'Μειωμένος Φ.Π.Α.',1,NULL,NULL),(2465,102,'',6.5,'0','0','0','0',0,'Υπερμειωμένος Φ.Π.Α.',1,NULL,NULL),(2466,102,'',16,'0','0','0','0',0,'Νήσων κανονικός Φ.Π.Α.',1,NULL,NULL),(2467,102,'',9,'0','0','0','0',0,'Νήσων μειωμένος Φ.Π.Α.',1,NULL,NULL),(2468,102,'',5,'0','0','0','0',0,'Νήσων υπερμειωμένος Φ.Π.Α.',1,NULL,NULL); +/*!40000 ALTER TABLE `llx_c_tva` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_type_contact` +-- + +DROP TABLE IF EXISTS `llx_c_type_contact`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_type_contact` ( + `rowid` int(11) NOT NULL, + `element` varchar(30) NOT NULL, + `source` varchar(8) NOT NULL DEFAULT 'external', + `code` varchar(32) NOT NULL, + `libelle` varchar(64) NOT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `module` varchar(32) DEFAULT NULL, + `position` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_type_contact_id` (`element`,`source`,`code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_type_contact` +-- + +LOCK TABLES `llx_c_type_contact` WRITE; +/*!40000 ALTER TABLE `llx_c_type_contact` DISABLE KEYS */; +INSERT INTO `llx_c_type_contact` VALUES (10,'contrat','internal','SALESREPSIGN','Commercial signataire du contrat',1,NULL,0),(11,'contrat','internal','SALESREPFOLL','Commercial suivi du contrat',1,NULL,0),(20,'contrat','external','BILLING','Contact client facturation contrat',1,NULL,0),(21,'contrat','external','CUSTOMER','Contact client suivi contrat',1,NULL,0),(22,'contrat','external','SALESREPSIGN','Contact client signataire contrat',1,NULL,0),(31,'propal','internal','SALESREPFOLL','Commercial à l\'origine de la propale',1,NULL,0),(40,'propal','external','BILLING','Contact client facturation propale',1,NULL,0),(41,'propal','external','CUSTOMER','Contact client suivi propale',1,NULL,0),(50,'facture','internal','SALESREPFOLL','Responsable suivi du paiement',1,NULL,0),(60,'facture','external','BILLING','Contact client facturation',1,NULL,0),(61,'facture','external','SHIPPING','Contact client livraison',1,NULL,0),(62,'facture','external','SERVICE','Contact client prestation',1,NULL,0),(70,'invoice_supplier','internal','SALESREPFOLL','Responsable suivi du paiement',1,NULL,0),(71,'invoice_supplier','external','BILLING','Contact fournisseur facturation',1,NULL,0),(72,'invoice_supplier','external','SHIPPING','Contact fournisseur livraison',1,NULL,0),(73,'invoice_supplier','external','SERVICE','Contact fournisseur prestation',1,NULL,0),(80,'agenda','internal','ACTOR','Responsable',1,NULL,0),(81,'agenda','internal','GUEST','Guest',1,NULL,0),(85,'agenda','external','ACTOR','Responsable',1,NULL,0),(86,'agenda','external','GUEST','Guest',1,NULL,0),(91,'commande','internal','SALESREPFOLL','Responsable suivi de la commande',1,NULL,0),(100,'commande','external','BILLING','Contact client facturation commande',1,NULL,0),(101,'commande','external','CUSTOMER','Contact client suivi commande',1,NULL,0),(102,'commande','external','SHIPPING','Contact client livraison commande',1,NULL,0),(120,'fichinter','internal','INTERREPFOLL','Responsable suivi de l\'intervention',1,NULL,0),(121,'fichinter','internal','INTERVENING','Intervenant',1,NULL,0),(130,'fichinter','external','BILLING','Contact client facturation intervention',1,NULL,0),(131,'fichinter','external','CUSTOMER','Contact client suivi de l\'intervention',1,NULL,0),(140,'order_supplier','internal','SALESREPFOLL','Responsable suivi de la commande',1,NULL,0),(141,'order_supplier','internal','SHIPPING','Responsable réception de la commande',1,NULL,0),(142,'order_supplier','external','BILLING','Contact fournisseur facturation commande',1,NULL,0),(143,'order_supplier','external','CUSTOMER','Contact fournisseur suivi commande',1,NULL,0),(145,'order_supplier','external','SHIPPING','Contact fournisseur livraison commande',1,NULL,0),(150,'dolresource','internal','USERINCHARGE','In charge of resource',1,NULL,0),(151,'dolresource','external','THIRDINCHARGE','In charge of resource',1,NULL,0),(160,'project','internal','PROJECTLEADER','Chef de Projet',1,NULL,0),(161,'project','internal','PROJECTCONTRIBUTOR','Intervenant',1,NULL,0),(170,'project','external','PROJECTLEADER','Chef de Projet',1,NULL,0),(171,'project','external','PROJECTCONTRIBUTOR','Intervenant',1,NULL,0),(180,'project_task','internal','TASKEXECUTIVE','Responsable',1,NULL,0),(181,'project_task','internal','TASKCONTRIBUTOR','Intervenant',1,NULL,0),(190,'project_task','external','TASKEXECUTIVE','Responsable',1,NULL,0),(191,'project_task','external','TASKCONTRIBUTOR','Intervenant',1,NULL,0),(200,'societe','external','GENERALREF','Généraliste (référent)',0,'cabinetmed',0),(201,'societe','external','GENERALISTE','Généraliste',0,'cabinetmed',0),(210,'societe','external','SPECCHIROR','Chirurgien ortho',0,'cabinetmed',0),(211,'societe','external','SPECCHIROT','Chirurgien autre',0,'cabinetmed',0),(220,'societe','external','SPECDERMA','Dermatologue',0,'cabinetmed',0),(225,'societe','external','SPECENDOC','Endocrinologue',0,'cabinetmed',0),(230,'societe','external','SPECGYNECO','Gynécologue',0,'cabinetmed',0),(240,'societe','external','SPECGASTRO','Gastroantérologue',0,'cabinetmed',0),(245,'societe','external','SPECINTERNE','Interniste',0,'cabinetmed',0),(250,'societe','external','SPECCARDIO','Cardiologue',0,'cabinetmed',0),(260,'societe','external','SPECNEPHRO','Néphrologue',0,'cabinetmed',0),(263,'societe','external','SPECPNEUMO','Pneumologue',0,'cabinetmed',0),(265,'societe','external','SPECNEURO','Neurologue',0,'cabinetmed',0),(270,'societe','external','SPECRHUMATO','Rhumatologue',0,'cabinetmed',0),(280,'societe','external','KINE','Kinésithérapeute',0,'cabinetmed',0); +/*!40000 ALTER TABLE `llx_c_type_contact` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_type_fees` +-- + +DROP TABLE IF EXISTS `llx_c_type_fees`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_type_fees` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(12) NOT NULL, + `label` varchar(30) DEFAULT NULL, + `accountancy_code` varchar(32) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `module` varchar(32) DEFAULT NULL, + `position` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_c_type_fees` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_type_fees` +-- + +LOCK TABLES `llx_c_type_fees` WRITE; +/*!40000 ALTER TABLE `llx_c_type_fees` DISABLE KEYS */; +INSERT INTO `llx_c_type_fees` VALUES (1,'TF_OTHER','Other',NULL,1,NULL,0),(2,'TF_TRIP','Trip',NULL,1,NULL,0),(3,'TF_LUNCH','Lunch',NULL,1,NULL,0); +/*!40000 ALTER TABLE `llx_c_type_fees` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_type_resource` +-- + +DROP TABLE IF EXISTS `llx_c_type_resource`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_type_resource` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(32) NOT NULL, + `label` varchar(64) NOT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_type_resource_id` (`label`,`code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_type_resource` +-- + +LOCK TABLES `llx_c_type_resource` WRITE; +/*!40000 ALTER TABLE `llx_c_type_resource` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_c_type_resource` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_typent` +-- + +DROP TABLE IF EXISTS `llx_c_typent`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_typent` ( + `id` int(11) NOT NULL, + `code` varchar(12) NOT NULL, + `libelle` varchar(30) DEFAULT NULL, + `fk_country` int(11) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + `module` varchar(32) DEFAULT NULL, + `position` int(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_c_typent` (`code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_typent` +-- + +LOCK TABLES `llx_c_typent` WRITE; +/*!40000 ALTER TABLE `llx_c_typent` DISABLE KEYS */; +INSERT INTO `llx_c_typent` VALUES (0,'TE_UNKNOWN','-',NULL,1,NULL,0),(1,'TE_STARTUP','Start-up',NULL,0,NULL,0),(2,'TE_GROUP','Grand groupe',NULL,1,NULL,0),(3,'TE_MEDIUM','PME/PMI',NULL,1,NULL,0),(4,'TE_SMALL','TPE',NULL,1,NULL,0),(5,'TE_ADMIN','Administration',NULL,1,NULL,0),(6,'TE_WHOLE','Grossiste',NULL,0,NULL,0),(7,'TE_RETAIL','Revendeur',NULL,0,NULL,0),(8,'TE_PRIVATE','Particulier',NULL,1,NULL,0),(100,'TE_OTHER','Autres',NULL,1,NULL,0),(231,'TE_A_RI','Responsable Inscripto',23,0,NULL,0),(232,'TE_B_RNI','Responsable No Inscripto',23,0,NULL,0),(233,'TE_C_FE','Consumidor Final/Exento',23,0,NULL,0); +/*!40000 ALTER TABLE `llx_c_typent` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_units` +-- + +DROP TABLE IF EXISTS `llx_c_units`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_units` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(3) DEFAULT NULL, + `label` varchar(50) DEFAULT NULL, + `short_label` varchar(5) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_c_units_code` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_units` +-- + +LOCK TABLES `llx_c_units` WRITE; +/*!40000 ALTER TABLE `llx_c_units` DISABLE KEYS */; +INSERT INTO `llx_c_units` VALUES (1,'P','piece','p',1),(2,'SET','set','se',1),(3,'S','second','s',1),(4,'H','hour','h',1),(5,'D','day','d',1),(6,'KG','kilogram','kg',1),(7,'G','gram','g',1),(8,'M','meter','m',1),(9,'LM','linear meter','lm',1),(10,'M2','square meter','m2',1),(11,'M3','cubic meter','m3',1),(12,'L','liter','l',1); +/*!40000 ALTER TABLE `llx_c_units` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_c_ziptown` +-- + +DROP TABLE IF EXISTS `llx_c_ziptown`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_c_ziptown` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `code` varchar(5) DEFAULT NULL, + `fk_county` int(11) DEFAULT NULL, + `fk_pays` int(11) NOT NULL DEFAULT '0', + `zip` varchar(10) NOT NULL, + `town` varchar(255) NOT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_ziptown_fk_pays` (`zip`,`town`,`fk_pays`), + KEY `idx_c_ziptown_fk_county` (`fk_county`), + KEY `idx_c_ziptown_fk_pays` (`fk_pays`), + KEY `idx_c_ziptown_zip` (`zip`), + CONSTRAINT `fk_c_ziptown_fk_county` FOREIGN KEY (`fk_county`) REFERENCES `llx_c_departements` (`rowid`), + CONSTRAINT `fk_c_ziptown_fk_pays` FOREIGN KEY (`fk_pays`) REFERENCES `llx_c_pays` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_c_ziptown` +-- + +LOCK TABLES `llx_c_ziptown` WRITE; +/*!40000 ALTER TABLE `llx_c_ziptown` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_c_ziptown` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_categorie` +-- + +DROP TABLE IF EXISTS `llx_categorie`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_categorie` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_parent` int(11) NOT NULL DEFAULT '0', + `label` varchar(255) NOT NULL, + `type` tinyint(4) NOT NULL DEFAULT '1', + `entity` int(11) NOT NULL DEFAULT '1', + `description` text, + `fk_soc` int(11) DEFAULT NULL, + `visible` tinyint(4) NOT NULL DEFAULT '1', + `import_key` varchar(14) DEFAULT NULL, + `color` varchar(8) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_categorie_ref` (`entity`,`fk_parent`,`label`,`type`), + KEY `idx_categorie_type` (`type`), + KEY `idx_categorie_label` (`label`) +) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_categorie` +-- + +LOCK TABLES `llx_categorie` WRITE; +/*!40000 ALTER TABLE `llx_categorie` DISABLE KEYS */; +INSERT INTO `llx_categorie` VALUES (1,0,'Preferred Partners',1,1,'This category is used to tag suppliers that are Prefered Partners',NULL,0,NULL,'005fbf'),(2,0,'MyCategory',1,1,'This is description of MyCategory for customer and prospects
',NULL,0,NULL,NULL),(3,7,'Hot products',1,1,'This is description of hot products
',NULL,0,NULL,NULL),(4,0,'Merchant',1,1,'Category dedicated to merchant third parties',NULL,0,NULL,'bf5f00'),(5,7,'Bio Fairtrade',0,1,'',NULL,0,NULL,NULL),(6,7,'Bio AB',0,1,'',NULL,0,NULL,NULL),(7,9,'Bio',0,1,'This product is a BIO product',NULL,0,NULL,NULL),(8,7,'Bio Dynamic',0,1,'',NULL,0,NULL,NULL),(9,0,'High Quality Product',0,1,'Label dedicated for High quality products',NULL,0,NULL,'7f7f00'),(10,0,'Reserved for VIP',0,1,'Product of thi category are reserved to VIP customers',NULL,0,NULL,'7f0000'),(11,9,'ISO',0,1,'Product of this category has an ISO label',NULL,0,NULL,NULL),(12,0,'VIP',2,1,'',NULL,0,NULL,'bf5f00'),(13,0,'Region North',2,1,'Customer of North Region',NULL,0,NULL,'7f007f'),(14,0,'Regular customer',2,1,'',NULL,0,NULL,'5fbf00'),(15,13,'Region North A',2,1,'',NULL,0,NULL,'bf00bf'),(17,0,'MyTag1',4,1,'',NULL,0,NULL,NULL),(18,0,'Met during meeting',4,1,'',NULL,0,NULL,'ff7f00'),(19,17,'MySubTag1',4,1,'',NULL,0,NULL,NULL),(20,13,'Region North B',2,1,'',NULL,0,NULL,'bf005f'),(21,0,'Region South',2,1,'',NULL,0,NULL,NULL),(22,21,'Region South A',2,1,'',NULL,0,NULL,NULL),(23,21,'Region South B',2,1,'',NULL,0,NULL,NULL),(24,0,'Limited Edition',0,1,'This is a limited edition',NULL,0,NULL,'ff7f00'),(25,0,'Imported products',0,1,'For product we have to import from another country',NULL,0,NULL,NULL),(26,28,'Friends',4,1,'Category of friends contact',NULL,0,NULL,'00bf00'),(27,28,'Family',4,1,'Category of family contacts',NULL,0,NULL,'007f3f'),(28,0,'Personal contacts',4,1,'For personal contacts',NULL,0,NULL,'007f3f'),(29,0,'Online only merchant',1,1,'',NULL,0,NULL,'aaaaff'); +/*!40000 ALTER TABLE `llx_categorie` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_categorie_account` +-- + +DROP TABLE IF EXISTS `llx_categorie_account`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_categorie_account` ( + `fk_categorie` int(11) NOT NULL, + `fk_account` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`fk_categorie`,`fk_account`), + KEY `idx_categorie_account_fk_categorie` (`fk_categorie`), + KEY `idx_categorie_account_fk_account` (`fk_account`), + CONSTRAINT `fk_categorie_account_categorie_rowid` FOREIGN KEY (`fk_categorie`) REFERENCES `llx_categorie` (`rowid`), + CONSTRAINT `fk_categorie_account_fk_account` FOREIGN KEY (`fk_account`) REFERENCES `llx_bank_account` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_categorie_account` +-- + +LOCK TABLES `llx_categorie_account` WRITE; +/*!40000 ALTER TABLE `llx_categorie_account` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_categorie_account` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_categorie_association` +-- + +DROP TABLE IF EXISTS `llx_categorie_association`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_categorie_association` ( + `fk_categorie_mere` int(11) NOT NULL, + `fk_categorie_fille` int(11) NOT NULL, + UNIQUE KEY `uk_categorie_association` (`fk_categorie_mere`,`fk_categorie_fille`), + UNIQUE KEY `uk_categorie_association_fk_categorie_fille` (`fk_categorie_fille`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_categorie_association` +-- + +LOCK TABLES `llx_categorie_association` WRITE; +/*!40000 ALTER TABLE `llx_categorie_association` DISABLE KEYS */; +INSERT INTO `llx_categorie_association` VALUES (3,5),(9,11); +/*!40000 ALTER TABLE `llx_categorie_association` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_categorie_contact` +-- + +DROP TABLE IF EXISTS `llx_categorie_contact`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_categorie_contact` ( + `fk_categorie` int(11) NOT NULL, + `fk_socpeople` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`fk_categorie`,`fk_socpeople`), + KEY `idx_categorie_contact_fk_categorie` (`fk_categorie`), + KEY `idx_categorie_contact_fk_socpeople` (`fk_socpeople`), + CONSTRAINT `fk_categorie_contact_categorie_rowid` FOREIGN KEY (`fk_categorie`) REFERENCES `llx_categorie` (`rowid`), + CONSTRAINT `fk_categorie_contact_fk_socpeople` FOREIGN KEY (`fk_socpeople`) REFERENCES `llx_socpeople` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_categorie_contact` +-- + +LOCK TABLES `llx_categorie_contact` WRITE; +/*!40000 ALTER TABLE `llx_categorie_contact` DISABLE KEYS */; +INSERT INTO `llx_categorie_contact` VALUES (18,3,NULL),(18,6,NULL),(19,6,NULL),(26,9,NULL),(27,7,NULL),(27,8,NULL),(27,10,NULL); +/*!40000 ALTER TABLE `llx_categorie_contact` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_categorie_fournisseur` +-- + +DROP TABLE IF EXISTS `llx_categorie_fournisseur`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_categorie_fournisseur` ( + `fk_categorie` int(11) NOT NULL, + `fk_soc` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`fk_categorie`,`fk_soc`), + KEY `idx_categorie_fournisseur_fk_categorie` (`fk_categorie`), + KEY `idx_categorie_fournisseur_fk_societe` (`fk_soc`), + CONSTRAINT `fk_categorie_fournisseur_categorie_rowid` FOREIGN KEY (`fk_categorie`) REFERENCES `llx_categorie` (`rowid`), + CONSTRAINT `fk_categorie_fournisseur_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_categorie_fournisseur` +-- + +LOCK TABLES `llx_categorie_fournisseur` WRITE; +/*!40000 ALTER TABLE `llx_categorie_fournisseur` DISABLE KEYS */; +INSERT INTO `llx_categorie_fournisseur` VALUES (1,2,NULL),(1,10,NULL),(9,2,NULL); +/*!40000 ALTER TABLE `llx_categorie_fournisseur` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_categorie_lang` +-- + +DROP TABLE IF EXISTS `llx_categorie_lang`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_categorie_lang` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_category` int(11) NOT NULL DEFAULT '0', + `lang` varchar(5) NOT NULL DEFAULT '0', + `label` varchar(255) NOT NULL, + `description` text, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_category_lang` (`fk_category`,`lang`), + CONSTRAINT `fk_category_lang_fk_category` FOREIGN KEY (`fk_category`) REFERENCES `llx_categorie` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_categorie_lang` +-- + +LOCK TABLES `llx_categorie_lang` WRITE; +/*!40000 ALTER TABLE `llx_categorie_lang` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_categorie_lang` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_categorie_member` +-- + +DROP TABLE IF EXISTS `llx_categorie_member`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_categorie_member` ( + `fk_categorie` int(11) NOT NULL, + `fk_member` int(11) NOT NULL, + PRIMARY KEY (`fk_categorie`,`fk_member`), + KEY `idx_categorie_member_fk_categorie` (`fk_categorie`), + KEY `idx_categorie_member_fk_member` (`fk_member`), + CONSTRAINT `fk_categorie_member_categorie_rowid` FOREIGN KEY (`fk_categorie`) REFERENCES `llx_categorie` (`rowid`), + CONSTRAINT `fk_categorie_member_member_rowid` FOREIGN KEY (`fk_member`) REFERENCES `llx_adherent` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_categorie_member` +-- + +LOCK TABLES `llx_categorie_member` WRITE; +/*!40000 ALTER TABLE `llx_categorie_member` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_categorie_member` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_categorie_product` +-- + +DROP TABLE IF EXISTS `llx_categorie_product`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_categorie_product` ( + `fk_categorie` int(11) NOT NULL, + `fk_product` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`fk_categorie`,`fk_product`), + KEY `idx_categorie_product_fk_categorie` (`fk_categorie`), + KEY `idx_categorie_product_fk_product` (`fk_product`), + CONSTRAINT `fk_categorie_product_categorie_rowid` FOREIGN KEY (`fk_categorie`) REFERENCES `llx_categorie` (`rowid`), + CONSTRAINT `fk_categorie_product_product_rowid` FOREIGN KEY (`fk_product`) REFERENCES `llx_product` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_categorie_product` +-- + +LOCK TABLES `llx_categorie_product` WRITE; +/*!40000 ALTER TABLE `llx_categorie_product` DISABLE KEYS */; +INSERT INTO `llx_categorie_product` VALUES (5,2,NULL),(6,2,NULL),(8,4,NULL),(9,5,NULL),(9,12,NULL),(10,3,NULL),(10,4,NULL),(24,1,NULL),(24,11,NULL),(25,10,NULL); +/*!40000 ALTER TABLE `llx_categorie_product` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_categorie_project` +-- + +DROP TABLE IF EXISTS `llx_categorie_project`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_categorie_project` ( + `fk_categorie` int(11) NOT NULL, + `fk_project` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`fk_categorie`,`fk_project`), + KEY `idx_categorie_project_fk_categorie` (`fk_categorie`), + KEY `idx_categorie_project_fk_project` (`fk_project`), + CONSTRAINT `fk_categorie_project_categorie_rowid` FOREIGN KEY (`fk_categorie`) REFERENCES `llx_categorie` (`rowid`), + CONSTRAINT `fk_categorie_project_fk_project` FOREIGN KEY (`fk_project`) REFERENCES `llx_projet` (`rowid`), + CONSTRAINT `fk_categorie_project_fk_project_rowid` FOREIGN KEY (`fk_project`) REFERENCES `llx_projet` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_categorie_project` +-- + +LOCK TABLES `llx_categorie_project` WRITE; +/*!40000 ALTER TABLE `llx_categorie_project` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_categorie_project` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_categorie_societe` +-- + +DROP TABLE IF EXISTS `llx_categorie_societe`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_categorie_societe` ( + `fk_categorie` int(11) NOT NULL, + `fk_soc` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`fk_categorie`,`fk_soc`), + KEY `idx_categorie_societe_fk_categorie` (`fk_categorie`), + KEY `idx_categorie_societe_fk_societe` (`fk_soc`), + CONSTRAINT `fk_categorie_societe_categorie_rowid` FOREIGN KEY (`fk_categorie`) REFERENCES `llx_categorie` (`rowid`), + CONSTRAINT `fk_categorie_societe_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_categorie_societe` +-- + +LOCK TABLES `llx_categorie_societe` WRITE; +/*!40000 ALTER TABLE `llx_categorie_societe` DISABLE KEYS */; +INSERT INTO `llx_categorie_societe` VALUES (2,2,NULL),(2,19,NULL),(12,10,NULL); +/*!40000 ALTER TABLE `llx_categorie_societe` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_categorie_user` +-- + +DROP TABLE IF EXISTS `llx_categorie_user`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_categorie_user` ( + `fk_categorie` int(11) NOT NULL, + `fk_user` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`fk_categorie`,`fk_user`), + KEY `idx_categorie_user_fk_categorie` (`fk_categorie`), + KEY `idx_categorie_user_fk_user` (`fk_user`), + CONSTRAINT `fk_categorie_user_categorie_rowid` FOREIGN KEY (`fk_categorie`) REFERENCES `llx_categorie` (`rowid`), + CONSTRAINT `fk_categorie_user_fk_user` FOREIGN KEY (`fk_user`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_categorie_user` +-- + +LOCK TABLES `llx_categorie_user` WRITE; +/*!40000 ALTER TABLE `llx_categorie_user` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_categorie_user` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_categories_extrafields` +-- + +DROP TABLE IF EXISTS `llx_categories_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_categories_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_categories_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_categories_extrafields` +-- + +LOCK TABLES `llx_categories_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_categories_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_categories_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_chargesociales` +-- + +DROP TABLE IF EXISTS `llx_chargesociales`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_chargesociales` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `date_ech` datetime NOT NULL, + `libelle` varchar(80) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `fk_type` int(11) NOT NULL, + `amount` double NOT NULL DEFAULT '0', + `paye` smallint(6) NOT NULL DEFAULT '0', + `periode` date DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `date_creation` datetime DEFAULT NULL, + `date_valid` datetime DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_chargesociales` +-- + +LOCK TABLES `llx_chargesociales` WRITE; +/*!40000 ALTER TABLE `llx_chargesociales` DISABLE KEYS */; +INSERT INTO `llx_chargesociales` VALUES (4,'2011-08-09 00:00:00','fff',1,60,10,1,'2011-08-01','2012-12-08 13:11:10',NULL,NULL,NULL); +/*!40000 ALTER TABLE `llx_chargesociales` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_commande` +-- + +DROP TABLE IF EXISTS `llx_commande`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_commande` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_soc` int(11) NOT NULL, + `fk_projet` int(11) DEFAULT NULL, + `ref` varchar(30) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `ref_ext` varchar(255) DEFAULT NULL, + `ref_int` varchar(255) DEFAULT NULL, + `ref_client` varchar(255) DEFAULT NULL, + `date_creation` datetime DEFAULT NULL, + `date_valid` datetime DEFAULT NULL, + `date_cloture` datetime DEFAULT NULL, + `date_commande` date DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `fk_user_cloture` int(11) DEFAULT NULL, + `source` smallint(6) DEFAULT NULL, + `fk_statut` smallint(6) DEFAULT '0', + `amount_ht` double DEFAULT '0', + `remise_percent` double DEFAULT '0', + `remise_absolue` double DEFAULT '0', + `remise` double DEFAULT '0', + `tva` double(24,8) DEFAULT '0.00000000', + `localtax1` double(24,8) DEFAULT '0.00000000', + `localtax2` double(24,8) DEFAULT '0.00000000', + `total_ht` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) DEFAULT '0.00000000', + `note_private` text, + `note_public` text, + `model_pdf` varchar(255) DEFAULT NULL, + `facture` tinyint(4) DEFAULT '0', + `fk_account` int(11) DEFAULT NULL, + `fk_currency` varchar(3) DEFAULT NULL, + `fk_cond_reglement` int(11) DEFAULT NULL, + `fk_mode_reglement` int(11) DEFAULT NULL, + `date_livraison` date DEFAULT NULL, + `fk_shipping_method` int(11) DEFAULT NULL, + `fk_warehouse` int(11) DEFAULT NULL, + `fk_availability` int(11) DEFAULT NULL, + `fk_input_reason` int(11) DEFAULT NULL, + `fk_delivery_address` int(11) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + `extraparams` varchar(255) DEFAULT NULL, + `fk_incoterms` int(11) DEFAULT NULL, + `location_incoterms` varchar(255) DEFAULT NULL, + `fk_multicurrency` int(11) DEFAULT NULL, + `multicurrency_code` varchar(255) DEFAULT NULL, + `multicurrency_tx` double(24,8) DEFAULT '1.00000000', + `multicurrency_total_ht` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_tva` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_ttc` double(24,8) DEFAULT '0.00000000', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_commande_ref` (`ref`,`entity`), + KEY `idx_commande_fk_soc` (`fk_soc`), + KEY `idx_commande_fk_user_author` (`fk_user_author`), + KEY `idx_commande_fk_user_valid` (`fk_user_valid`), + KEY `idx_commande_fk_user_cloture` (`fk_user_cloture`), + KEY `idx_commande_fk_projet` (`fk_projet`), + KEY `idx_commande_fk_account` (`fk_account`), + KEY `idx_commande_fk_currency` (`fk_currency`), + CONSTRAINT `fk_commande_fk_projet` FOREIGN KEY (`fk_projet`) REFERENCES `llx_projet` (`rowid`), + CONSTRAINT `fk_commande_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`), + CONSTRAINT `fk_commande_fk_user_author` FOREIGN KEY (`fk_user_author`) REFERENCES `llx_user` (`rowid`), + CONSTRAINT `fk_commande_fk_user_cloture` FOREIGN KEY (`fk_user_cloture`) REFERENCES `llx_user` (`rowid`), + CONSTRAINT `fk_commande_fk_user_valid` FOREIGN KEY (`fk_user_valid`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_commande` +-- + +LOCK TABLES `llx_commande` WRITE; +/*!40000 ALTER TABLE `llx_commande` DISABLE KEYS */; +INSERT INTO `llx_commande` VALUES (1,'2016-07-30 15:13:20',1,NULL,'CO1107-0002',1,NULL,NULL,'','2011-07-20 15:23:12','2016-08-08 13:59:09',NULL,'2016-07-20',1,NULL,1,NULL,NULL,1,0,0,NULL,0,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,'','','einstein',0,NULL,NULL,1,1,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(2,'2016-07-30 15:13:20',1,NULL,'CO1107-0003',1,NULL,NULL,'','2011-07-20 23:20:12','2018-02-12 17:06:51',NULL,'2016-07-21',1,NULL,1,NULL,NULL,1,0,0,NULL,0,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,'','','einstein',0,NULL,NULL,0,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(3,'2016-07-30 15:13:20',1,NULL,'CO1107-0004',1,NULL,NULL,'','2011-07-20 23:22:53','2018-02-17 18:27:56',NULL,'2016-07-21',1,NULL,1,NULL,NULL,1,0,0,NULL,0,0.00000000,0.00000000,0.00000000,30.00000000,30.00000000,'','','einstein',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(5,'2016-07-30 15:12:32',1,NULL,'CO1108-0001',1,NULL,NULL,'','2011-08-08 03:04:11','2015-08-08 03:04:21',NULL,'2015-08-08',1,NULL,1,NULL,NULL,2,0,0,NULL,0,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,'','','einstein',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(6,'2016-07-30 15:13:20',19,NULL,'(PROV6)',1,NULL,NULL,'','2013-02-17 16:22:14',NULL,NULL,'2016-02-17',1,NULL,NULL,NULL,NULL,0,0,0,NULL,0,11.76000000,0.00000000,0.00000000,60.00000000,71.76000000,'','','einstein',0,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000); +/*!40000 ALTER TABLE `llx_commande` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_commande_extrafields` +-- + +DROP TABLE IF EXISTS `llx_commande_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_commande_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_commande_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_commande_extrafields` +-- + +LOCK TABLES `llx_commande_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_commande_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_commande_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_commande_fournisseur` +-- + +DROP TABLE IF EXISTS `llx_commande_fournisseur`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_commande_fournisseur` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_soc` int(11) NOT NULL, + `ref` varchar(255) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `ref_ext` varchar(255) DEFAULT NULL, + `ref_supplier` varchar(255) DEFAULT NULL, + `fk_projet` int(11) DEFAULT '0', + `date_creation` datetime DEFAULT NULL, + `date_valid` datetime DEFAULT NULL, + `date_approve` datetime DEFAULT NULL, + `date_approve2` datetime DEFAULT NULL, + `date_commande` date DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `fk_user_approve` int(11) DEFAULT NULL, + `fk_user_approve2` int(11) DEFAULT NULL, + `source` smallint(6) NOT NULL, + `fk_statut` smallint(6) DEFAULT '0', + `billed` smallint(6) DEFAULT '0', + `amount_ht` double DEFAULT '0', + `remise_percent` double DEFAULT '0', + `remise` double DEFAULT '0', + `tva` double(24,8) DEFAULT '0.00000000', + `localtax1` double(24,8) DEFAULT '0.00000000', + `localtax2` double(24,8) DEFAULT '0.00000000', + `total_ht` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) DEFAULT '0.00000000', + `note_private` text, + `note_public` text, + `model_pdf` varchar(255) DEFAULT NULL, + `fk_input_method` int(11) DEFAULT '0', + `fk_cond_reglement` int(11) DEFAULT '0', + `fk_mode_reglement` int(11) DEFAULT '0', + `import_key` varchar(14) DEFAULT NULL, + `extraparams` varchar(255) DEFAULT NULL, + `date_livraison` datetime DEFAULT NULL, + `fk_account` int(11) DEFAULT NULL, + `fk_incoterms` int(11) DEFAULT NULL, + `location_incoterms` varchar(255) DEFAULT NULL, + `fk_multicurrency` int(11) DEFAULT NULL, + `multicurrency_code` varchar(255) DEFAULT NULL, + `multicurrency_tx` double(24,8) DEFAULT '1.00000000', + `multicurrency_total_ht` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_tva` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_ttc` double(24,8) DEFAULT '0.00000000', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_commande_fournisseur_ref` (`ref`,`fk_soc`,`entity`), + KEY `idx_commande_fournisseur_fk_soc` (`fk_soc`), + KEY `billed` (`billed`), + CONSTRAINT `fk_commande_fournisseur_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_commande_fournisseur` +-- + +LOCK TABLES `llx_commande_fournisseur` WRITE; +/*!40000 ALTER TABLE `llx_commande_fournisseur` DISABLE KEYS */; +INSERT INTO `llx_commande_fournisseur` VALUES (1,'2016-07-30 16:11:52',13,'CF1007-0001',1,NULL,NULL,NULL,'2016-07-11 17:13:40','2016-07-11 17:15:42',NULL,NULL,'2016-07-11',1,NULL,1,NULL,NULL,0,5,0,0,0,0,39.20000000,0.00000000,0.00000000,200.00000000,239.20000000,NULL,NULL,'muscadet',2,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(2,'2016-07-30 16:11:52',1,'CF1007-0002',1,NULL,NULL,NULL,'2016-07-11 18:46:28','2016-07-11 18:47:33',NULL,NULL,'2016-07-11',1,NULL,1,NULL,NULL,0,3,0,0,0,0,0.00000000,0.00000000,0.00000000,200.00000000,200.00000000,NULL,NULL,'muscadet',4,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(3,'2012-12-08 13:11:07',17,'(PROV3)',1,NULL,NULL,NULL,'2011-08-04 23:00:52',NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,0,0,0,0,0,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,'muscadet',0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(4,'2012-12-08 13:11:07',17,'(PROV4)',1,NULL,NULL,NULL,'2011-08-04 23:19:32',NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,0,0,0,0,0,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,'muscadet',0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(13,'2016-07-30 16:11:52',1,'CF1303-0004',1,NULL,NULL,NULL,'2016-03-09 19:39:18','2016-03-09 19:39:27','2016-03-09 19:39:32',NULL,'2016-03-09',1,NULL,1,1,NULL,0,3,0,0,0,0,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,NULL,NULL,'muscadet',1,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000); +/*!40000 ALTER TABLE `llx_commande_fournisseur` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_commande_fournisseur_dispatch` +-- + +DROP TABLE IF EXISTS `llx_commande_fournisseur_dispatch`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_commande_fournisseur_dispatch` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_commande` int(11) DEFAULT NULL, + `fk_product` int(11) DEFAULT NULL, + `fk_commandefourndet` int(11) NOT NULL DEFAULT '0', + `qty` float DEFAULT NULL, + `fk_entrepot` int(11) DEFAULT NULL, + `fk_user` int(11) DEFAULT NULL, + `datec` datetime DEFAULT NULL, + `comment` varchar(255) DEFAULT NULL, + `status` int(11) DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `batch` varchar(30) DEFAULT NULL, + `eatby` date DEFAULT NULL, + `sellby` date DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_commande_fournisseur_dispatch_fk_commande` (`fk_commande`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_commande_fournisseur_dispatch` +-- + +LOCK TABLES `llx_commande_fournisseur_dispatch` WRITE; +/*!40000 ALTER TABLE `llx_commande_fournisseur_dispatch` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_commande_fournisseur_dispatch` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_commande_fournisseur_extrafields` +-- + +DROP TABLE IF EXISTS `llx_commande_fournisseur_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_commande_fournisseur_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_commande_fournisseur_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_commande_fournisseur_extrafields` +-- + +LOCK TABLES `llx_commande_fournisseur_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_commande_fournisseur_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_commande_fournisseur_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_commande_fournisseur_log` +-- + +DROP TABLE IF EXISTS `llx_commande_fournisseur_log`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_commande_fournisseur_log` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datelog` datetime NOT NULL, + `fk_commande` int(11) NOT NULL, + `fk_statut` smallint(6) NOT NULL, + `fk_user` int(11) NOT NULL, + `comment` varchar(255) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_commande_fournisseur_log` +-- + +LOCK TABLES `llx_commande_fournisseur_log` WRITE; +/*!40000 ALTER TABLE `llx_commande_fournisseur_log` DISABLE KEYS */; +INSERT INTO `llx_commande_fournisseur_log` VALUES (1,'2010-07-11 15:13:40','2010-07-11 17:13:40',1,0,1,NULL),(2,'2010-07-11 15:15:42','2010-07-11 17:15:42',1,1,1,NULL),(3,'2010-07-11 15:16:28','2010-07-11 17:16:28',1,2,1,NULL),(4,'2010-07-11 15:19:14','2010-07-11 00:00:00',1,3,1,NULL),(5,'2010-07-11 15:19:36','2010-07-11 00:00:00',1,5,1,NULL),(6,'2010-07-11 16:46:28','2010-07-11 18:46:28',2,0,1,NULL),(7,'2010-07-11 16:47:33','2010-07-11 18:47:33',2,1,1,NULL),(8,'2010-07-11 16:47:41','2010-07-11 18:47:41',2,2,1,NULL),(9,'2010-07-11 16:48:00','2010-07-11 00:00:00',2,3,1,NULL),(10,'2011-08-04 21:00:52','2011-08-04 23:00:52',3,0,1,NULL),(11,'2011-08-04 21:19:32','2011-08-04 23:19:32',4,0,1,NULL),(12,'2011-08-04 21:22:16','2011-08-04 23:22:16',5,0,1,NULL),(13,'2011-08-04 21:22:54','2011-08-04 23:22:54',6,0,1,NULL),(14,'2011-08-04 21:23:29','2011-08-04 23:23:29',7,0,1,NULL),(15,'2011-08-04 21:36:10','2011-08-04 23:36:10',8,0,1,NULL),(19,'2011-08-08 13:04:37','2011-08-08 15:04:37',6,1,1,NULL),(20,'2011-08-08 13:04:38','2011-08-08 15:04:38',6,2,1,NULL),(29,'2013-03-09 18:39:18','2013-03-09 19:39:18',13,0,1,NULL),(30,'2013-03-09 18:39:27','2013-03-09 19:39:27',13,1,1,NULL),(31,'2013-03-09 18:39:32','2013-03-09 19:39:32',13,2,1,NULL),(32,'2013-03-09 18:39:41','2013-03-09 00:00:00',13,3,1,'hf'),(33,'2013-03-22 09:26:38','2013-03-22 10:26:38',14,0,1,NULL); +/*!40000 ALTER TABLE `llx_commande_fournisseur_log` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_commande_fournisseurdet` +-- + +DROP TABLE IF EXISTS `llx_commande_fournisseurdet`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_commande_fournisseurdet` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_commande` int(11) NOT NULL, + `fk_parent_line` int(11) DEFAULT NULL, + `fk_product` int(11) DEFAULT NULL, + `ref` varchar(50) DEFAULT NULL, + `label` varchar(255) DEFAULT NULL, + `description` text, + `tva_tx` double(6,3) DEFAULT '0.000', + `localtax1_tx` double(6,3) DEFAULT '0.000', + `localtax1_type` varchar(10) NOT NULL DEFAULT '0', + `localtax2_tx` double(6,3) DEFAULT '0.000', + `localtax2_type` varchar(10) NOT NULL DEFAULT '0', + `qty` double DEFAULT NULL, + `remise_percent` double DEFAULT '0', + `remise` double DEFAULT '0', + `subprice` double(24,8) DEFAULT '0.00000000', + `total_ht` double(24,8) DEFAULT '0.00000000', + `total_tva` double(24,8) DEFAULT '0.00000000', + `total_localtax1` double(24,8) DEFAULT '0.00000000', + `total_localtax2` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) DEFAULT '0.00000000', + `product_type` int(11) DEFAULT '0', + `date_start` datetime DEFAULT NULL, + `date_end` datetime DEFAULT NULL, + `info_bits` int(11) DEFAULT '0', + `import_key` varchar(14) DEFAULT NULL, + `special_code` int(11) DEFAULT '0', + `rang` int(11) DEFAULT '0', + `fk_unit` int(11) DEFAULT NULL, + `fk_multicurrency` int(11) DEFAULT NULL, + `multicurrency_code` varchar(255) DEFAULT NULL, + `multicurrency_subprice` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_ht` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_tva` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_ttc` double(24,8) DEFAULT '0.00000000', + PRIMARY KEY (`rowid`), + KEY `fk_commande_fournisseurdet_fk_unit` (`fk_unit`), + CONSTRAINT `fk_commande_fournisseurdet_fk_unit` FOREIGN KEY (`fk_unit`) REFERENCES `llx_c_units` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_commande_fournisseurdet` +-- + +LOCK TABLES `llx_commande_fournisseurdet` WRITE; +/*!40000 ALTER TABLE `llx_commande_fournisseurdet` DISABLE KEYS */; +INSERT INTO `llx_commande_fournisseurdet` VALUES (1,1,NULL,NULL,'','','Chips',19.600,0.000,'',0.000,'',10,0,0,20.00000000,200.00000000,39.20000000,0.00000000,0.00000000,239.20000000,0,NULL,NULL,0,NULL,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(2,2,NULL,4,'ABCD','Decapsuleur','',0.000,0.000,'',0.000,'',20,0,0,10.00000000,200.00000000,0.00000000,0.00000000,0.00000000,200.00000000,0,NULL,NULL,0,NULL,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(6,13,NULL,NULL,'','','dfgdf',0.000,0.000,'0',0.000,'0',1,0,0,10.00000000,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000); +/*!40000 ALTER TABLE `llx_commande_fournisseurdet` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_commande_fournisseurdet_extrafields` +-- + +DROP TABLE IF EXISTS `llx_commande_fournisseurdet_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_commande_fournisseurdet_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_commande_fournisseurdet_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_commande_fournisseurdet_extrafields` +-- + +LOCK TABLES `llx_commande_fournisseurdet_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_commande_fournisseurdet_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_commande_fournisseurdet_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_commandedet` +-- + +DROP TABLE IF EXISTS `llx_commandedet`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_commandedet` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_commande` int(11) DEFAULT NULL, + `fk_parent_line` int(11) DEFAULT NULL, + `fk_product` int(11) DEFAULT NULL, + `label` varchar(255) DEFAULT NULL, + `description` text, + `tva_tx` double(6,3) DEFAULT NULL, + `localtax1_tx` double(6,3) DEFAULT NULL, + `localtax1_type` varchar(10) NOT NULL DEFAULT '0', + `localtax2_tx` double(6,3) DEFAULT NULL, + `localtax2_type` varchar(10) NOT NULL DEFAULT '0', + `qty` double DEFAULT NULL, + `remise_percent` double DEFAULT '0', + `remise` double DEFAULT '0', + `fk_remise_except` int(11) DEFAULT NULL, + `price` double DEFAULT NULL, + `subprice` double(24,8) DEFAULT '0.00000000', + `total_ht` double(24,8) DEFAULT '0.00000000', + `total_tva` double(24,8) DEFAULT '0.00000000', + `total_localtax1` double(24,8) DEFAULT '0.00000000', + `total_localtax2` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) DEFAULT '0.00000000', + `product_type` int(11) DEFAULT '0', + `date_start` datetime DEFAULT NULL, + `date_end` datetime DEFAULT NULL, + `info_bits` int(11) DEFAULT '0', + `fk_product_fournisseur_price` int(11) DEFAULT NULL, + `buy_price_ht` double(24,8) DEFAULT '0.00000000', + `special_code` int(10) unsigned DEFAULT '0', + `rang` int(11) DEFAULT '0', + `import_key` varchar(14) DEFAULT NULL, + `fk_unit` int(11) DEFAULT NULL, + `fk_multicurrency` int(11) DEFAULT NULL, + `multicurrency_code` varchar(255) DEFAULT NULL, + `multicurrency_subprice` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_ht` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_tva` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_ttc` double(24,8) DEFAULT '0.00000000', + PRIMARY KEY (`rowid`), + KEY `idx_commandedet_fk_commande` (`fk_commande`), + KEY `idx_commandedet_fk_product` (`fk_product`), + KEY `fk_commandedet_fk_unit` (`fk_unit`), + CONSTRAINT `fk_commandedet_fk_commande` FOREIGN KEY (`fk_commande`) REFERENCES `llx_commande` (`rowid`), + CONSTRAINT `fk_commandedet_fk_unit` FOREIGN KEY (`fk_unit`) REFERENCES `llx_c_units` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_commandedet` +-- + +LOCK TABLES `llx_commandedet` WRITE; +/*!40000 ALTER TABLE `llx_commandedet` DISABLE KEYS */; +INSERT INTO `llx_commandedet` VALUES (1,1,NULL,NULL,NULL,'Product 1',0.000,0.000,'',0.000,'',1,0,0,NULL,10,10.00000000,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,1,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(2,1,NULL,2,NULL,'',0.000,0.000,'',0.000,'',1,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,NULL,NULL,0,NULL,0.00000000,0,2,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(3,1,NULL,5,NULL,'cccc',0.000,0.000,'',0.000,'',1,0,0,NULL,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,NULL,NULL,0,NULL,0.00000000,0,3,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(4,2,NULL,NULL,NULL,'hgf',0.000,0.000,'',0.000,'',1,0,0,NULL,10,10.00000000,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,1,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(10,5,NULL,NULL,NULL,'gfdgdf',0.000,0.000,'',0.000,'',1,0,0,NULL,10,10.00000000,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,1,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(11,6,NULL,NULL,NULL,'gdfg',19.600,0.000,'',0.000,'',1,0,0,NULL,10,10.00000000,10.00000000,1.96000000,0.00000000,0.00000000,11.96000000,0,NULL,NULL,0,NULL,0.00000000,0,1,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(12,6,NULL,NULL,NULL,'gfdgd',19.600,0.000,'',0.000,'',1,0,0,NULL,50,50.00000000,50.00000000,9.80000000,0.00000000,0.00000000,59.80000000,1,NULL,NULL,0,NULL,0.00000000,0,2,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(14,3,NULL,NULL,NULL,'gdfgdf',0.000,0.000,'',0.000,'',1,0,0,NULL,10,10.00000000,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,1,NULL,NULL,0,NULL,0.00000000,0,1,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(15,3,NULL,NULL,NULL,'fghfgh',0.000,0.000,'',0.000,'',1,0,0,NULL,20,20.00000000,20.00000000,0.00000000,0.00000000,0.00000000,20.00000000,0,NULL,NULL,0,NULL,0.00000000,0,2,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000); +/*!40000 ALTER TABLE `llx_commandedet` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_commandedet_extrafields` +-- + +DROP TABLE IF EXISTS `llx_commandedet_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_commandedet_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_commandedet_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_commandedet_extrafields` +-- + +LOCK TABLES `llx_commandedet_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_commandedet_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_commandedet_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_const` +-- + +DROP TABLE IF EXISTS `llx_const`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_const` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `value` text NOT NULL, + `type` varchar(6) DEFAULT NULL, + `visible` tinyint(4) NOT NULL DEFAULT '1', + `note` text, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_const` (`name`,`entity`) +) ENGINE=InnoDB AUTO_INCREMENT=5810 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_const` +-- + +LOCK TABLES `llx_const` WRITE; +/*!40000 ALTER TABLE `llx_const` DISABLE KEYS */; +INSERT INTO `llx_const` VALUES (5,'SYSLOG_LEVEL',0,'7','chaine',0,'Level of debug info to show','2010-07-08 11:17:57'),(8,'MAIN_UPLOAD_DOC',0,'2048','chaine',0,'Max size for file upload (0 means no upload allowed)','2010-07-08 11:17:57'),(9,'MAIN_SEARCHFORM_SOCIETE',0,'1','yesno',0,'Show form for quick company search','2010-07-08 11:17:57'),(10,'MAIN_SEARCHFORM_CONTACT',0,'1','yesno',0,'Show form for quick contact search','2010-07-08 11:17:57'),(11,'MAIN_SEARCHFORM_PRODUITSERVICE',0,'1','yesno',0,'Show form for quick product search','2010-07-08 11:17:58'),(12,'MAIN_SEARCHFORM_ADHERENT',0,'1','yesno',0,'Show form for quick member search','2010-07-08 11:17:58'),(16,'MAIN_SIZE_LISTE_LIMIT',0,'25','chaine',0,'Longueur maximum des listes','2010-07-08 11:17:58'),(17,'MAIN_SHOW_WORKBOARD',0,'1','yesno',0,'Affichage tableau de bord de travail Dolibarr','2010-07-08 11:17:58'),(29,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',1,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2010-07-08 11:17:58'),(33,'SOCIETE_NOLIST_COURRIER',0,'1','yesno',0,'Liste les fichiers du repertoire courrier','2010-07-08 11:17:58'),(36,'ADHERENT_MAIL_REQUIRED',1,'1','yesno',0,'EMail required to create a new member','2010-07-08 11:17:58'),(37,'ADHERENT_MAIL_FROM',1,'adherents@domain.com','chaine',0,'Sender EMail for automatic emails','2010-07-08 11:17:58'),(38,'ADHERENT_MAIL_RESIL',1,'Your subscription has been resiliated.\r\nWe hope to see you soon again','texte',0,'Mail resiliation','2010-07-08 11:17:58'),(39,'ADHERENT_MAIL_VALID',1,'Your subscription has been validated.\r\nThis is a remind of your personal information :\r\n\r\n%INFOS%\r\n\r\n','texte',0,'Mail de validation','2010-07-08 11:17:59'),(40,'ADHERENT_MAIL_COTIS',1,'Hello %PRENOM%,\r\nThanks for your subscription.\r\nThis email confirms that your subscription has been received and processed.\r\n\r\n','texte',0,'Mail de validation de cotisation','2010-07-08 11:17:59'),(41,'ADHERENT_MAIL_VALID_SUBJECT',1,'Your subscription has been validated','chaine',0,'Sujet du mail de validation','2010-07-08 11:17:59'),(42,'ADHERENT_MAIL_RESIL_SUBJECT',1,'Resiliating your subscription','chaine',0,'Sujet du mail de resiliation','2010-07-08 11:17:59'),(43,'ADHERENT_MAIL_COTIS_SUBJECT',1,'Receipt of your subscription','chaine',0,'Sujet du mail de validation de cotisation','2010-07-08 11:17:59'),(44,'MAILING_EMAIL_FROM',1,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2010-07-08 11:17:59'),(45,'ADHERENT_USE_MAILMAN',1,'0','yesno',0,'Utilisation de Mailman','2010-07-08 11:17:59'),(46,'ADHERENT_MAILMAN_UNSUB_URL',1,'http://lists.domain.com/cgi-bin/mailman/admin/%LISTE%/members?adminpw=%MAILMAN_ADMINPW%&user=%EMAIL%','chaine',0,'Url de desinscription aux listes mailman','2010-07-08 11:17:59'),(47,'ADHERENT_MAILMAN_URL',1,'http://lists.domain.com/cgi-bin/mailman/admin/%LISTE%/members?adminpw=%MAILMAN_ADMINPW%&send_welcome_msg_to_this_batch=1&subscribees=%EMAIL%','chaine',0,'Url pour les inscriptions mailman','2010-07-08 11:17:59'),(48,'ADHERENT_MAILMAN_LISTS',1,'test-test,test-test2','chaine',0,'Listes auxquelles inscrire les nouveaux adherents','2010-07-08 11:17:59'),(49,'ADHERENT_MAILMAN_ADMINPW',1,'','chaine',0,'Mot de passe Admin des liste mailman','2010-07-08 11:17:59'),(50,'ADHERENT_MAILMAN_SERVER',1,'lists.domain.com','chaine',0,'Serveur hebergeant les interfaces d Admin des listes mailman','2010-07-08 11:17:59'),(51,'ADHERENT_MAILMAN_LISTS_COTISANT',1,'','chaine',0,'Liste(s) auxquelles les nouveaux cotisants sont inscris automatiquement','2010-07-08 11:17:59'),(52,'ADHERENT_USE_SPIP',1,'0','yesno',0,'Utilisation de SPIP ?','2010-07-08 11:17:59'),(53,'ADHERENT_USE_SPIP_AUTO',1,'0','yesno',0,'Utilisation de SPIP automatiquement','2010-07-08 11:17:59'),(54,'ADHERENT_SPIP_USER',1,'user','chaine',0,'user spip','2010-07-08 11:17:59'),(55,'ADHERENT_SPIP_PASS',1,'pass','chaine',0,'Pass de connection','2010-07-08 11:17:59'),(56,'ADHERENT_SPIP_SERVEUR',1,'localhost','chaine',0,'serveur spip','2010-07-08 11:17:59'),(57,'ADHERENT_SPIP_DB',1,'spip','chaine',0,'db spip','2010-07-08 11:17:59'),(58,'ADHERENT_CARD_HEADER_TEXT',1,'%ANNEE%','chaine',0,'Texte imprime sur le haut de la carte adherent','2010-07-08 11:17:59'),(59,'ADHERENT_CARD_FOOTER_TEXT',1,'Association AZERTY','chaine',0,'Texte imprime sur le bas de la carte adherent','2010-07-08 11:17:59'),(61,'FCKEDITOR_ENABLE_USER',1,'1','yesno',0,'Activation fckeditor sur notes utilisateurs','2010-07-08 11:17:59'),(62,'FCKEDITOR_ENABLE_SOCIETE',1,'1','yesno',0,'Activation fckeditor sur notes societe','2010-07-08 11:17:59'),(63,'FCKEDITOR_ENABLE_PRODUCTDESC',1,'1','yesno',0,'Activation fckeditor sur notes produits','2010-07-08 11:17:59'),(64,'FCKEDITOR_ENABLE_MEMBER',1,'1','yesno',0,'Activation fckeditor sur notes adherent','2010-07-08 11:17:59'),(65,'FCKEDITOR_ENABLE_MAILING',1,'1','yesno',0,'Activation fckeditor sur emailing','2010-07-08 11:17:59'),(67,'DON_ADDON_MODEL',1,'html_cerfafr','chaine',0,'','2010-07-08 11:18:00'),(68,'PROPALE_ADDON',1,'mod_propale_marbre','chaine',0,'','2010-07-08 11:18:00'),(69,'PROPALE_ADDON_PDF',1,'azur','chaine',0,'','2010-07-08 11:18:00'),(70,'COMMANDE_ADDON',1,'mod_commande_marbre','chaine',0,'','2010-07-08 11:18:00'),(71,'COMMANDE_ADDON_PDF',1,'einstein','chaine',0,'','2010-07-08 11:18:00'),(72,'COMMANDE_SUPPLIER_ADDON',1,'mod_commande_fournisseur_muguet','chaine',0,'','2010-07-08 11:18:00'),(73,'COMMANDE_SUPPLIER_ADDON_PDF',1,'muscadet','chaine',0,'','2010-07-08 11:18:00'),(74,'EXPEDITION_ADDON',1,'enlevement','chaine',0,'','2010-07-08 11:18:00'),(76,'FICHEINTER_ADDON',1,'pacific','chaine',0,'','2010-07-08 11:18:00'),(77,'FICHEINTER_ADDON_PDF',1,'soleil','chaine',0,'','2010-07-08 11:18:00'),(79,'FACTURE_ADDON_PDF',1,'crabe','chaine',0,'','2010-07-08 11:18:00'),(80,'PROPALE_VALIDITY_DURATION',1,'15','chaine',0,'Durée de validitée des propales','2010-07-08 11:18:00'),(230,'COMPANY_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/thirdparties','chaine',0,NULL,'2010-07-08 11:26:20'),(238,'LIVRAISON_ADDON_PDF',1,'typhon','chaine',0,'Nom du gestionnaire de generation des commandes en PDF','2010-07-08 11:26:27'),(239,'LIVRAISON_ADDON_NUMBER',1,'mod_livraison_jade','chaine',0,'Nom du gestionnaire de numerotation des bons de livraison','2013-03-20 13:17:36'),(242,'MAIN_SUBMODULE_EXPEDITION',1,'1','chaine',0,'','2010-07-08 11:26:34'),(245,'FACTURE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/invoices','chaine',0,NULL,'2010-07-08 11:28:53'),(249,'DON_FORM',1,'fsfe.fr.php','chaine',0,'Nom du gestionnaire de formulaire de dons','2010-07-08 11:29:00'),(253,'ADHERENT_BANK_USE_AUTO',1,'','yesno',0,'Insertion automatique des cotisation dans le compte banquaire','2010-07-08 11:29:05'),(254,'ADHERENT_BANK_ACCOUNT',1,'','chaine',0,'ID du Compte banquaire utilise','2010-07-08 11:29:05'),(255,'ADHERENT_BANK_CATEGORIE',1,'','chaine',0,'ID de la categorie banquaire des cotisations','2010-07-08 11:29:05'),(256,'ADHERENT_ETIQUETTE_TYPE',1,'L7163','chaine',0,'Type d etiquette (pour impression de planche d etiquette)','2010-07-08 11:29:05'),(269,'PROJECT_ADDON_PDF',1,'baleine','chaine',0,'Nom du gestionnaire de generation des projets en PDF','2010-07-08 11:29:33'),(270,'PROJECT_ADDON',1,'mod_project_simple','chaine',0,'Nom du gestionnaire de numerotation des projets','2010-07-08 11:29:33'),(368,'STOCK_USERSTOCK_AUTOCREATE',1,'1','chaine',0,'','2010-07-08 22:44:59'),(369,'EXPEDITION_ADDON_PDF',1,'merou','chaine',0,'','2010-07-08 22:58:07'),(370,'MAIN_SUBMODULE_LIVRAISON',1,'1','chaine',0,'','2010-07-08 23:00:29'),(377,'FACTURE_ADDON',1,'mod_facture_terre','chaine',0,'','2010-07-08 23:08:12'),(380,'ADHERENT_CARD_TEXT',1,'%TYPE% n° %ID%\r\n%PRENOM% %NOM%\r\n<%EMAIL%>\r\n%ADRESSE%\r\n%CP% %VILLE%\r\n%PAYS%','',0,'Texte imprime sur la carte adherent','2010-07-08 23:14:46'),(381,'ADHERENT_CARD_TEXT_RIGHT',1,'aaa','',0,'','2010-07-08 23:14:55'),(384,'PRODUIT_SOUSPRODUITS',1,'1','chaine',0,'','2010-07-08 23:22:12'),(385,'PRODUIT_USE_SEARCH_TO_SELECT',1,'1','chaine',0,'','2010-07-08 23:22:19'),(386,'STOCK_CALCULATE_ON_SHIPMENT',1,'1','chaine',0,'','2010-07-08 23:23:21'),(387,'STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER',1,'1','chaine',0,'','2010-07-08 23:23:26'),(392,'MAIN_AGENDA_XCAL_EXPORTKEY',1,'dolibarr','chaine',0,'','2010-07-08 23:27:50'),(393,'MAIN_AGENDA_EXPORT_PAST_DELAY',1,'100','chaine',0,'','2010-07-08 23:27:50'),(610,'CASHDESK_ID_THIRDPARTY',1,'7','chaine',0,'','2010-07-11 17:08:18'),(611,'CASHDESK_ID_BANKACCOUNT_CASH',1,'3','chaine',0,'','2010-07-11 17:08:18'),(612,'CASHDESK_ID_BANKACCOUNT_CHEQUE',1,'1','chaine',0,'','2010-07-11 17:08:18'),(613,'CASHDESK_ID_BANKACCOUNT_CB',1,'1','chaine',0,'','2010-07-11 17:08:18'),(614,'CASHDESK_ID_WAREHOUSE',1,'2','chaine',0,'','2010-07-11 17:08:18'),(660,'LDAP_USER_DN',1,'ou=users,dc=my-domain,dc=com','chaine',0,NULL,'2010-07-18 10:25:27'),(661,'LDAP_GROUP_DN',1,'ou=groups,dc=my-domain,dc=com','chaine',0,NULL,'2010-07-18 10:25:27'),(662,'LDAP_FILTER_CONNECTION',1,'&(objectClass=user)(objectCategory=person)','chaine',0,NULL,'2010-07-18 10:25:27'),(663,'LDAP_FIELD_LOGIN',1,'uid','chaine',0,NULL,'2010-07-18 10:25:27'),(664,'LDAP_FIELD_FULLNAME',1,'cn','chaine',0,NULL,'2010-07-18 10:25:27'),(665,'LDAP_FIELD_NAME',1,'sn','chaine',0,NULL,'2010-07-18 10:25:27'),(666,'LDAP_FIELD_FIRSTNAME',1,'givenname','chaine',0,NULL,'2010-07-18 10:25:27'),(667,'LDAP_FIELD_MAIL',1,'mail','chaine',0,NULL,'2010-07-18 10:25:27'),(668,'LDAP_FIELD_PHONE',1,'telephonenumber','chaine',0,NULL,'2010-07-18 10:25:27'),(669,'LDAP_FIELD_FAX',1,'facsimiletelephonenumber','chaine',0,NULL,'2010-07-18 10:25:27'),(670,'LDAP_FIELD_MOBILE',1,'mobile','chaine',0,NULL,'2010-07-18 10:25:27'),(671,'LDAP_SERVER_TYPE',1,'openldap','chaine',0,'','2010-07-18 10:25:46'),(672,'LDAP_SERVER_PROTOCOLVERSION',1,'3','chaine',0,'','2010-07-18 10:25:47'),(673,'LDAP_SERVER_HOST',1,'localhost','chaine',0,'','2010-07-18 10:25:47'),(674,'LDAP_SERVER_PORT',1,'389','chaine',0,'','2010-07-18 10:25:47'),(675,'LDAP_SERVER_USE_TLS',1,'0','chaine',0,'','2010-07-18 10:25:47'),(676,'LDAP_SYNCHRO_ACTIVE',1,'dolibarr2ldap','chaine',0,'','2010-07-18 10:25:47'),(677,'LDAP_CONTACT_ACTIVE',1,'1','chaine',0,'','2010-07-18 10:25:47'),(678,'LDAP_MEMBER_ACTIVE',1,'1','chaine',0,'','2010-07-18 10:25:47'),(974,'MAIN_MODULE_WORKFLOW_TRIGGERS',1,'1','chaine',0,NULL,'2011-07-18 18:02:20'),(975,'WORKFLOW_PROPAL_AUTOCREATE_ORDER',1,'1','chaine',0,'','2011-07-18 18:02:24'),(979,'PRELEVEMENT_USER',1,'1','chaine',0,'','2011-07-18 18:05:50'),(980,'PRELEVEMENT_NUMERO_NATIONAL_EMETTEUR',1,'1234567','chaine',0,'','2011-07-18 18:05:50'),(981,'PRELEVEMENT_ID_BANKACCOUNT',1,'1','chaine',0,'','2011-07-18 18:05:50'),(983,'FACTURE_RIB_NUMBER',1,'1','chaine',0,'','2011-07-18 18:35:14'),(984,'FACTURE_CHQ_NUMBER',1,'1','chaine',0,'','2011-07-18 18:35:14'),(1016,'GOOGLE_DUPLICATE_INTO_GCAL',1,'1','chaine',0,'','2011-07-18 21:40:20'),(1152,'SOCIETE_CODECLIENT_ADDON',1,'mod_codeclient_monkey','chaine',0,'','2011-07-29 20:50:02'),(1231,'MAIN_UPLOAD_DOC',1,'2048','chaine',0,'','2011-07-29 21:04:00'),(1234,'MAIN_UMASK',1,'0664','chaine',0,'','2011-07-29 21:04:11'),(1240,'MAIN_LOGEVENTS_USER_LOGIN',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1241,'MAIN_LOGEVENTS_USER_LOGIN_FAILED',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1242,'MAIN_LOGEVENTS_USER_LOGOUT',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1243,'MAIN_LOGEVENTS_USER_CREATE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1244,'MAIN_LOGEVENTS_USER_MODIFY',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1245,'MAIN_LOGEVENTS_USER_NEW_PASSWORD',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1246,'MAIN_LOGEVENTS_USER_ENABLEDISABLE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1247,'MAIN_LOGEVENTS_USER_DELETE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1248,'MAIN_LOGEVENTS_GROUP_CREATE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1249,'MAIN_LOGEVENTS_GROUP_MODIFY',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1250,'MAIN_LOGEVENTS_GROUP_DELETE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1251,'MAIN_BOXES_MAXLINES',1,'5','',0,'','2011-07-29 21:05:42'),(1482,'EXPEDITION_ADDON_NUMBER',1,'mod_expedition_safor','chaine',0,'Nom du gestionnaire de numerotation des expeditions','2011-08-05 17:53:11'),(1490,'CONTRACT_ADDON',1,'mod_contract_serpis','chaine',0,'Nom du gestionnaire de numerotation des contrats','2011-08-05 18:11:58'),(1677,'COMMANDE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/orders','chaine',0,NULL,'2012-12-08 13:11:02'),(1698,'PRODUCT_CODEPRODUCT_ADDON',1,'mod_codeproduct_leopard','yesno',0,'Module to control product codes','2012-12-08 13:11:25'),(1719,'ACCOUNTING_USEDICTTOEDIT',1,'1','chaine',1,'','2012-12-08 13:15:00'),(1724,'PROPALE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/proposals','chaine',0,NULL,'2012-12-08 13:17:14'),(1730,'OPENSTREETMAP_ENABLE_MAPS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1731,'OPENSTREETMAP_ENABLE_MAPS_CONTACTS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1732,'OPENSTREETMAP_ENABLE_MAPS_MEMBERS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1733,'OPENSTREETMAP_MAPS_ZOOM_LEVEL',1,'15','chaine',0,'','2012-12-08 13:22:47'),(1737,'MAIN_INFO_SOCIETE_COUNTRY',2,'1:FR:France','chaine',0,'','2013-02-26 21:56:28'),(1738,'MAIN_INFO_SOCIETE_NOM',2,'aaa','chaine',0,'','2012-12-08 14:08:14'),(1739,'MAIN_INFO_SOCIETE_STATE',2,'0','chaine',0,'','2013-02-27 14:20:27'),(1740,'MAIN_MONNAIE',2,'EUR','chaine',0,'','2012-12-08 14:08:14'),(1741,'MAIN_LANG_DEFAULT',2,'auto','chaine',0,'','2012-12-08 14:08:14'),(1742,'MAIN_MAIL_EMAIL_FROM',2,'dolibarr-robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2012-12-08 14:08:14'),(1743,'MAIN_MENU_STANDARD',2,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs internes','2013-02-11 19:43:54'),(1744,'MAIN_MENUFRONT_STANDARD',2,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs externes','2013-02-11 19:43:54'),(1745,'MAIN_MENU_SMARTPHONE',2,'iphone_backoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs internes','2012-12-08 14:08:14'),(1746,'MAIN_MENUFRONT_SMARTPHONE',2,'iphone_frontoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs externes','2012-12-08 14:08:14'),(1747,'MAIN_THEME',2,'eldy','chaine',0,'Default theme','2012-12-08 14:08:14'),(1748,'MAIN_DELAY_ACTIONS_TODO',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur actions planifiées non réalisées','2012-12-08 14:08:14'),(1749,'MAIN_DELAY_ORDERS_TO_PROCESS',2,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes clients non traitées','2012-12-08 14:08:14'),(1750,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes fournisseurs non traitées','2012-12-08 14:08:14'),(1751,'MAIN_DELAY_PROPALS_TO_CLOSE',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales à cloturer','2012-12-08 14:08:14'),(1752,'MAIN_DELAY_PROPALS_TO_BILL',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales non facturées','2012-12-08 14:08:14'),(1753,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures client impayées','2012-12-08 14:08:14'),(1754,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',2,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures fournisseur impayées','2012-12-08 14:08:14'),(1755,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',2,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2012-12-08 14:08:14'),(1756,'MAIN_DELAY_RUNNING_SERVICES',2,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services expirés','2012-12-08 14:08:14'),(1757,'MAIN_DELAY_MEMBERS',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur cotisations adhérent en retard','2012-12-08 14:08:14'),(1758,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',2,'62','chaine',0,'Tolérance de retard avant alerte (en jours) sur rapprochements bancaires à faire','2012-12-08 14:08:14'),(1759,'MAILING_EMAIL_FROM',2,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2012-12-08 14:08:14'),(1760,'MAIN_INFO_SOCIETE_COUNTRY',3,'1:FR:France','chaine',0,'','2013-02-26 21:56:28'),(1761,'MAIN_INFO_SOCIETE_NOM',3,'bbb','chaine',0,'','2012-12-08 14:08:20'),(1762,'MAIN_INFO_SOCIETE_STATE',3,'0','chaine',0,'','2013-02-27 14:20:27'),(1763,'MAIN_MONNAIE',3,'EUR','chaine',0,'','2012-12-08 14:08:20'),(1764,'MAIN_LANG_DEFAULT',3,'auto','chaine',0,'','2012-12-08 14:08:20'),(1765,'MAIN_MAIL_EMAIL_FROM',3,'dolibarr-robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2012-12-08 14:08:20'),(1766,'MAIN_MENU_STANDARD',3,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs internes','2013-02-11 19:43:54'),(1767,'MAIN_MENUFRONT_STANDARD',3,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs externes','2013-02-11 19:43:54'),(1768,'MAIN_MENU_SMARTPHONE',3,'iphone_backoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs internes','2012-12-08 14:08:20'),(1769,'MAIN_MENUFRONT_SMARTPHONE',3,'iphone_frontoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs externes','2012-12-08 14:08:20'),(1770,'MAIN_THEME',3,'eldy','chaine',0,'Default theme','2012-12-08 14:08:20'),(1771,'MAIN_DELAY_ACTIONS_TODO',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur actions planifiées non réalisées','2012-12-08 14:08:20'),(1772,'MAIN_DELAY_ORDERS_TO_PROCESS',3,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes clients non traitées','2012-12-08 14:08:20'),(1773,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes fournisseurs non traitées','2012-12-08 14:08:20'),(1774,'MAIN_DELAY_PROPALS_TO_CLOSE',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales à cloturer','2012-12-08 14:08:20'),(1775,'MAIN_DELAY_PROPALS_TO_BILL',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales non facturées','2012-12-08 14:08:20'),(1776,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures client impayées','2012-12-08 14:08:20'),(1777,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',3,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures fournisseur impayées','2012-12-08 14:08:20'),(1778,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',3,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2012-12-08 14:08:20'),(1779,'MAIN_DELAY_RUNNING_SERVICES',3,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services expirés','2012-12-08 14:08:20'),(1780,'MAIN_DELAY_MEMBERS',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur cotisations adhérent en retard','2012-12-08 14:08:20'),(1781,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',3,'62','chaine',0,'Tolérance de retard avant alerte (en jours) sur rapprochements bancaires à faire','2012-12-08 14:08:20'),(1782,'MAILING_EMAIL_FROM',3,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2012-12-08 14:08:20'),(1803,'SYSLOG_FILE',1,'DOL_DATA_ROOT/dolibarr.log','chaine',0,'','2012-12-08 14:15:08'),(1804,'SYSLOG_HANDLERS',1,'[\"mod_syslog_file\"]','chaine',0,'','2012-12-08 14:15:08'),(1805,'MAIN_MODULE_SKINCOLOREDITOR',3,'1',NULL,0,NULL,'2012-12-08 14:35:40'),(1806,'MAIN_MODULE_SKINCOLOREDITOR_TABS_0',3,'user:+tabskincoloreditors:ColorEditor:skincoloreditor@skincoloreditor:/skincoloreditor/usercolors.php?id=__ID__','chaine',0,NULL,'2012-12-08 14:35:40'),(1922,'PAYPAL_API_SANDBOX',1,'1','chaine',0,'','2012-12-12 12:11:05'),(1923,'PAYPAL_API_USER',1,'seller_1355312017_biz_api1.nltechno.com','chaine',0,'','2012-12-12 12:11:05'),(1924,'PAYPAL_API_PASSWORD',1,'1355312040','chaine',0,'','2012-12-12 12:11:05'),(1925,'PAYPAL_API_SIGNATURE',1,'AXqqdsWBzvfn0q5iNmbuiDv1y.3EAXIMWyl4C5KvDReR9HDwwAd6dQ4Q','chaine',0,'','2012-12-12 12:11:05'),(1926,'PAYPAL_API_INTEGRAL_OR_PAYPALONLY',1,'integral','chaine',0,'','2012-12-12 12:11:05'),(1927,'PAYPAL_SECURITY_TOKEN',1,'50c82fab36bb3b6aa83e2a50691803b2','chaine',0,'','2012-12-12 12:11:05'),(1928,'PAYPAL_SECURITY_TOKEN_UNIQUE',1,'0','chaine',0,'','2012-12-12 12:11:05'),(1929,'PAYPAL_ADD_PAYMENT_URL',1,'1','chaine',0,'','2012-12-12 12:11:05'),(1980,'MAIN_PDF_FORMAT',1,'EUA4','chaine',0,'','2012-12-12 19:58:05'),(1981,'MAIN_PROFID1_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1982,'MAIN_PROFID2_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1983,'MAIN_PROFID3_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1984,'MAIN_PROFID4_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1985,'MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1990,'MAIN_SMS_SENDMODE',1,'ovh','chaine',0,'This is to enable OVH SMS engine','2012-12-17 21:19:01'),(2040,'MAIN_MAIL_SMTP_PORT',1,'465','chaine',0,'','2015-07-19 13:41:06'),(2041,'MAIN_MAIL_SMTP_SERVER',1,'smtp.mail.com','chaine',0,'','2015-07-19 13:41:06'),(2044,'MAIN_MAIL_EMAIL_TLS',1,'1','chaine',0,'','2015-07-19 13:41:06'),(2251,'FCKEDITOR_TEST',1,'Test
\r\n\"\"fdfs','chaine',0,'','2012-12-19 19:12:24'),(2293,'SYSTEMTOOLS_MYSQLDUMP',1,'/usr/bin/mysqldump','chaine',0,'','2012-12-27 02:02:00'),(2835,'MAIN_USE_CONNECT_TIMEOUT',1,'10','chaine',0,'','2013-01-16 19:28:50'),(2836,'MAIN_USE_RESPONSE_TIMEOUT',1,'30','chaine',0,'','2013-01-16 19:28:50'),(2837,'MAIN_PROXY_USE',1,'0','chaine',0,'','2013-01-16 19:28:50'),(2838,'MAIN_PROXY_HOST',1,'localhost','chaine',0,'','2013-01-16 19:28:50'),(2839,'MAIN_PROXY_PORT',1,'8080','chaine',0,'','2013-01-16 19:28:50'),(2840,'MAIN_PROXY_USER',1,'aaa','chaine',0,'','2013-01-16 19:28:50'),(2841,'MAIN_PROXY_PASS',1,'bbb','chaine',0,'','2013-01-16 19:28:50'),(2848,'OVHSMS_NICK',1,'BN196-OVH','chaine',0,'','2013-01-16 19:32:36'),(2849,'OVHSMS_PASS',1,'bigone-10','chaine',0,'','2013-01-16 19:32:36'),(2850,'OVHSMS_SOAPURL',1,'https://www.ovh.com/soapi/soapi-re-1.55.wsdl','chaine',0,'','2013-01-16 19:32:36'),(2854,'THEME_ELDY_RGB',1,'bfbf00','chaine',0,'','2013-01-18 10:02:53'),(2855,'THEME_ELDY_ENABLE_PERSONALIZED',1,'0','chaine',0,'','2013-01-18 10:02:55'),(2858,'MAIN_SESSION_TIMEOUT',1,'2000','chaine',0,'','2013-01-19 17:01:53'),(2862,'TICKET_ADDON',1,'mod_ticket_avenc','chaine',0,'Nom du gestionnaire de numerotation des tickets','2013-01-19 17:16:10'),(2867,'FACSIM_ADDON',1,'mod_facsim_alcoy','chaine',0,'','2013-01-19 17:16:25'),(2868,'POS_SERVICES',1,'0','chaine',0,'','2013-01-19 17:16:51'),(2869,'POS_USE_TICKETS',1,'1','chaine',0,'','2013-01-19 17:16:51'),(2870,'POS_MAX_TTC',1,'100','chaine',0,'','2013-01-19 17:16:51'),(3190,'MAIN_MODULE_HOLIDAY',2,'1',NULL,0,NULL,'2013-02-01 08:52:34'),(3191,'MAIN_MODULE_HOLIDAY_TABS_0',2,'user:+paidholidays:CPTitreMenu:holiday:$user->rights->holiday->write:/holiday/index.php?mainmenu=holiday&id=__ID__','chaine',0,NULL,'2013-02-01 08:52:34'),(3195,'INVOICE_SUPPLIER_ADDON_PDF',1,'canelle','chaine',0,'','2013-02-10 19:50:27'),(3199,'MAIN_FORCE_RELOAD_PAGE',1,'1','chaine',0,NULL,'2013-02-12 16:22:55'),(3217,'MAIN_PDF_TITLE_BACKGROUND_COLOR',1,'240,240,240','chaine',1,'','2013-02-13 15:18:02'),(3223,'OVH_THIRDPARTY_IMPORT',1,'2','chaine',0,'','2013-02-13 16:20:18'),(3241,'COMPANY_USE_SEARCH_TO_SELECT',1,'2','chaine',0,'','2013-02-17 14:33:39'),(3409,'AGENDA_USE_EVENT_TYPE',1,'1','chaine',0,'','2013-02-27 18:12:24'),(3886,'MAIN_REMOVE_INSTALL_WARNING',1,'1','chaine',1,'','2013-03-02 18:32:50'),(4013,'MAIN_DELAY_ACTIONS_TODO',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4014,'MAIN_DELAY_PROPALS_TO_CLOSE',1,'31','chaine',0,'','2013-03-06 08:59:12'),(4015,'MAIN_DELAY_PROPALS_TO_BILL',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4016,'MAIN_DELAY_ORDERS_TO_PROCESS',1,'2','chaine',0,'','2013-03-06 08:59:12'),(4017,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',1,'31','chaine',0,'','2013-03-06 08:59:12'),(4018,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4019,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',1,'2','chaine',0,'','2013-03-06 08:59:12'),(4020,'MAIN_DELAY_RUNNING_SERVICES',1,'-15','chaine',0,'','2013-03-06 08:59:12'),(4021,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',1,'62','chaine',0,'','2013-03-06 08:59:13'),(4022,'MAIN_DELAY_MEMBERS',1,'31','chaine',0,'','2013-03-06 08:59:13'),(4023,'MAIN_DISABLE_METEO',1,'0','chaine',0,'','2013-03-06 08:59:13'),(4044,'ADHERENT_VAT_FOR_SUBSCRIPTIONS',1,'0','',0,'','2013-03-06 16:06:38'),(4047,'ADHERENT_BANK_USE',1,'bankviainvoice','',0,'','2013-03-06 16:12:30'),(4049,'PHPSANE_SCANIMAGE',1,'/usr/bin/scanimage','chaine',0,'','2013-03-06 21:54:13'),(4050,'PHPSANE_PNMTOJPEG',1,'/usr/bin/pnmtojpeg','chaine',0,'','2013-03-06 21:54:13'),(4051,'PHPSANE_PNMTOTIFF',1,'/usr/bin/pnmtotiff','chaine',0,'','2013-03-06 21:54:13'),(4052,'PHPSANE_OCR',1,'/usr/bin/gocr','chaine',0,'','2013-03-06 21:54:13'),(4548,'ECM_AUTO_TREE_ENABLED',1,'1','chaine',0,'','2013-03-10 15:57:21'),(4579,'MAIN_MODULE_AGENDA',2,'1',NULL,0,NULL,'2013-03-13 15:29:19'),(4580,'MAIN_AGENDA_ACTIONAUTO_COMPANY_CREATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4581,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4582,'MAIN_AGENDA_ACTIONAUTO_PROPAL_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4583,'MAIN_AGENDA_ACTIONAUTO_PROPAL_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4584,'MAIN_AGENDA_ACTIONAUTO_ORDER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4585,'MAIN_AGENDA_ACTIONAUTO_ORDER_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4586,'MAIN_AGENDA_ACTIONAUTO_BILL_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4587,'MAIN_AGENDA_ACTIONAUTO_BILL_PAYED',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4588,'MAIN_AGENDA_ACTIONAUTO_BILL_CANCEL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4589,'MAIN_AGENDA_ACTIONAUTO_BILL_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4590,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4591,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4592,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4593,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4594,'MAIN_AGENDA_ACTIONAUTO_BILL_UNVALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4595,'MAIN_MODULE_GOOGLE',2,'1',NULL,0,NULL,'2013-03-13 15:29:47'),(4596,'MAIN_MODULE_GOOGLE_TABS_0',2,'agenda:+gcal:MenuAgendaGoogle:google@google:$conf->google->enabled && $conf->global->GOOGLE_ENABLE_AGENDA:/google/index.php','chaine',0,NULL,'2013-03-13 15:29:47'),(4597,'MAIN_MODULE_GOOGLE_TABS_1',2,'user:+gsetup:GoogleUserConf:google@google:$conf->google->enabled && $conf->global->GOOGLE_DUPLICATE_INTO_GCAL:/google/admin/google_calsync_user.php?id=__ID__','chaine',0,NULL,'2013-03-13 15:29:47'),(4598,'MAIN_MODULE_GOOGLE_TRIGGERS',2,'1','chaine',0,NULL,'2013-03-13 15:29:47'),(4599,'MAIN_MODULE_GOOGLE_HOOKS',2,'[\"toprightmenu\"]','chaine',0,NULL,'2013-03-13 15:29:47'),(4688,'GOOGLE_ENABLE_AGENDA',2,'1','chaine',0,'','2013-03-13 15:36:29'),(4689,'GOOGLE_AGENDA_NAME1',2,'eldy','chaine',0,'','2013-03-13 15:36:29'),(4690,'GOOGLE_AGENDA_SRC1',2,'eldy10@mail.com','chaine',0,'','2013-03-13 15:36:29'),(4691,'GOOGLE_AGENDA_COLOR1',2,'BE6D00','chaine',0,'','2013-03-13 15:36:29'),(4692,'GOOGLE_AGENDA_COLOR2',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4693,'GOOGLE_AGENDA_COLOR3',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4694,'GOOGLE_AGENDA_COLOR4',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4695,'GOOGLE_AGENDA_COLOR5',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4696,'GOOGLE_AGENDA_TIMEZONE',2,'Europe/Paris','chaine',0,'','2013-03-13 15:36:29'),(4697,'GOOGLE_AGENDA_NB',2,'5','chaine',0,'','2013-03-13 15:36:29'),(4698,'MAIN_DISABLE_ALL_MAILS',1,'0','chaine',0,'','2013-03-13 17:22:24'),(4699,'MAIN_MAIL_SENDMODE',1,'mail','chaine',0,'','2015-07-19 13:41:06'),(4700,'MAIN_MAIL_SMTPS_ID',1,'eldy10@mail.com','chaine',0,'','2015-07-19 13:41:06'),(4701,'MAIN_MAIL_SMTPS_PW',1,'bidonge','chaine',0,'','2015-07-19 13:41:06'),(4711,'GOOGLE_ENABLE_AGENDA',1,'1','chaine',0,'','2013-03-13 19:37:38'),(4712,'GOOGLE_AGENDA_NAME1',1,'asso master','chaine',0,'','2013-03-13 19:37:38'),(4713,'GOOGLE_AGENDA_SRC1',1,'assodolibarr@mail.com','chaine',0,'','2013-03-13 19:37:38'),(4714,'GOOGLE_AGENDA_COLOR1',1,'1B887A','chaine',0,'','2013-03-13 19:37:38'),(4715,'GOOGLE_AGENDA_COLOR2',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4716,'GOOGLE_AGENDA_COLOR3',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4717,'GOOGLE_AGENDA_COLOR4',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4718,'GOOGLE_AGENDA_COLOR5',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4719,'GOOGLE_AGENDA_TIMEZONE',1,'Europe/Paris','chaine',0,'','2013-03-13 19:37:38'),(4720,'GOOGLE_AGENDA_NB',1,'5','chaine',0,'','2013-03-13 19:37:38'),(4725,'SOCIETE_CODECLIENT_ADDON',2,'mod_codeclient_leopard','chaine',0,'Module to control third parties codes','2013-03-13 20:21:35'),(4726,'SOCIETE_CODECOMPTA_ADDON',2,'mod_codecompta_panicum','chaine',0,'Module to control third parties codes','2013-03-13 20:21:35'),(4727,'SOCIETE_FISCAL_MONTH_START',2,'','chaine',0,'Mettre le numero du mois du debut d\\\'annee fiscale, ex: 9 pour septembre','2013-03-13 20:21:35'),(4728,'MAIN_SEARCHFORM_SOCIETE',2,'1','yesno',0,'Show form for quick company search','2013-03-13 20:21:35'),(4729,'MAIN_SEARCHFORM_CONTACT',2,'1','yesno',0,'Show form for quick contact search','2013-03-13 20:21:35'),(4730,'COMPANY_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/thirdparties','chaine',0,NULL,'2013-03-13 20:21:35'),(4743,'MAIN_MODULE_CLICKTODIAL',2,'1',NULL,0,NULL,'2013-03-13 20:30:28'),(4744,'MAIN_MODULE_NOTIFICATION',2,'1',NULL,0,NULL,'2013-03-13 20:30:34'),(4745,'MAIN_MODULE_WEBSERVICES',2,'1',NULL,0,NULL,'2013-03-13 20:30:41'),(4746,'MAIN_MODULE_PROPALE',2,'1',NULL,0,NULL,'2013-03-13 20:32:38'),(4747,'PROPALE_ADDON_PDF',2,'azur','chaine',0,'Nom du gestionnaire de generation des propales en PDF','2013-03-13 20:32:38'),(4748,'PROPALE_ADDON',2,'mod_propale_marbre','chaine',0,'Nom du gestionnaire de numerotation des propales','2013-03-13 20:32:38'),(4749,'PROPALE_VALIDITY_DURATION',2,'15','chaine',0,'Duration of validity of business proposals','2013-03-13 20:32:38'),(4750,'PROPALE_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/proposals','chaine',0,NULL,'2013-03-13 20:32:38'),(4752,'MAIN_MODULE_TAX',2,'1',NULL,0,NULL,'2013-03-13 20:32:47'),(4753,'MAIN_MODULE_DON',2,'1',NULL,0,NULL,'2013-03-13 20:32:54'),(4754,'DON_ADDON_MODEL',2,'html_cerfafr','chaine',0,'Nom du gestionnaire de generation de recu de dons','2013-03-13 20:32:54'),(4755,'POS_USE_TICKETS',2,'1','chaine',0,'','2013-03-13 20:33:09'),(4756,'POS_MAX_TTC',2,'100','chaine',0,'','2013-03-13 20:33:09'),(4757,'MAIN_MODULE_POS',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4758,'TICKET_ADDON',2,'mod_ticket_avenc','chaine',0,'Nom du gestionnaire de numerotation des tickets','2013-03-13 20:33:09'),(4759,'MAIN_MODULE_BANQUE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4760,'MAIN_MODULE_FACTURE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4761,'FACTURE_ADDON_PDF',2,'crabe','chaine',0,'Name of PDF model of invoice','2013-03-13 20:33:09'),(4762,'FACTURE_ADDON',2,'mod_facture_terre','chaine',0,'Name of numbering numerotation rules of invoice','2013-03-13 20:33:09'),(4763,'FACTURE_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/invoices','chaine',0,NULL,'2013-03-13 20:33:09'),(4764,'MAIN_MODULE_SOCIETE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4765,'MAIN_MODULE_PRODUCT',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4766,'PRODUCT_CODEPRODUCT_ADDON',2,'mod_codeproduct_leopard','chaine',0,'Module to control product codes','2013-03-13 20:33:09'),(4767,'MAIN_SEARCHFORM_PRODUITSERVICE',2,'1','yesno',0,'Show form for quick product search','2013-03-13 20:33:09'),(4772,'FACSIM_ADDON',2,'mod_facsim_alcoy','chaine',0,'','2013-03-13 20:33:32'),(4773,'MAIN_MODULE_MAILING',2,'1',NULL,0,NULL,'2013-03-13 20:33:37'),(4774,'MAIN_MODULE_OPENSURVEY',2,'1',NULL,0,NULL,'2013-03-13 20:33:42'),(4782,'AGENDA_USE_EVENT_TYPE',2,'1','chaine',0,'','2013-03-13 20:53:36'),(4884,'AGENDA_DISABLE_EXT',2,'1','chaine',0,'','2013-03-13 22:03:40'),(4928,'COMMANDE_SUPPLIER_ADDON_NUMBER',1,'mod_commande_fournisseur_muguet','chaine',0,'Nom du gestionnaire de numerotation des commandes fournisseur','2013-03-22 09:24:29'),(4929,'INVOICE_SUPPLIER_ADDON_NUMBER',1,'mod_facture_fournisseur_cactus','chaine',0,'Nom du gestionnaire de numerotation des factures fournisseur','2013-03-22 09:24:29'),(5001,'MAIN_CRON_KEY',0,'bc54582fe30d5d4a830c6f582ec28810','chaine',0,'','2013-03-23 17:54:53'),(5009,'CRON_KEY',0,'2c2e755c20be2014098f629865598006','chaine',0,'','2013-03-23 18:06:24'),(5075,'MAIN_MENU_STANDARD',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5076,'MAIN_MENU_SMARTPHONE',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5077,'MAIN_MENUFRONT_STANDARD',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5078,'MAIN_MENUFRONT_SMARTPHONE',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5139,'SOCIETE_ADD_REF_IN_LIST',1,'','yesno',0,'Display customer ref into select list','2013-09-08 23:06:08'),(5150,'PROJECT_TASK_ADDON_PDF',1,'','chaine',0,'Name of PDF/ODT tasks manager class','2013-09-08 23:06:14'),(5151,'PROJECT_TASK_ADDON',1,'mod_task_simple','chaine',0,'Name of Numbering Rule task manager class','2013-09-08 23:06:14'),(5152,'PROJECT_TASK_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/tasks','chaine',0,'','2013-09-08 23:06:14'),(5195,'GOOGLE_DUPLICATE_INTO_THIRDPARTIES',1,'1','chaine',0,'','2013-11-07 00:02:34'),(5196,'GOOGLE_DUPLICATE_INTO_CONTACTS',1,'0','chaine',0,'','2013-11-07 00:02:34'),(5197,'GOOGLE_DUPLICATE_INTO_MEMBERS',1,'0','chaine',0,'','2013-11-07 00:02:34'),(5198,'GOOGLE_CONTACT_LOGIN',1,'eldy10@mail.com','chaine',0,'','2013-11-07 00:02:34'),(5199,'GOOGLE_CONTACT_PASSWORD',1,'bidonge','chaine',0,'','2013-11-07 00:02:34'),(5200,'GOOGLE_TAG_PREFIX',1,'Dolibarr (Thirdparties)','chaine',0,'','2013-11-07 00:02:34'),(5201,'GOOGLE_TAG_PREFIX_CONTACTS',1,'Dolibarr (Contacts/Addresses)','chaine',0,'','2013-11-07 00:02:34'),(5202,'GOOGLE_TAG_PREFIX_MEMBERS',1,'Dolibarr (Members)','chaine',0,'','2013-11-07 00:02:34'),(5239,'BOOKMARKS_SHOW_IN_MENU',1,'10','chaine',0,'','2014-03-02 15:42:26'),(5271,'DONATION_ART200',1,'','yesno',0,'Option Française - Eligibilité Art200 du CGI','2014-12-21 12:51:28'),(5272,'DONATION_ART238',1,'','yesno',0,'Option Française - Eligibilité Art238 bis du CGI','2014-12-21 12:51:28'),(5273,'DONATION_ART885',1,'','yesno',0,'Option Française - Eligibilité Art885-0 V bis du CGI','2014-12-21 12:51:28'),(5274,'DONATION_MESSAGE',1,'Thank you','chaine',0,'Message affiché sur le récépissé de versements ou dons','2014-12-21 12:51:28'),(5288,'DONATION_ACCOUNTINGACCOUNT',1,'7581','chaine',0,'Compte comptable de remise des versements ou dons','2015-07-19 13:41:21'),(5317,'INVOICE_CAN_ALWAYS_BE_REMOVED',1,'1','chaine',1,'','2015-10-03 09:25:30'),(5338,'MAIN_LANG_DEFAULT',1,'en_US','chaine',0,'','2015-10-03 10:11:33'),(5339,'MAIN_MULTILANGS',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5340,'MAIN_SIZE_LISTE_LIMIT',1,'25','chaine',0,'','2015-10-03 10:11:33'),(5341,'MAIN_DISABLE_JAVASCRIPT',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5342,'MAIN_BUTTON_HIDE_UNAUTHORIZED',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5343,'MAIN_START_WEEK',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5344,'MAIN_DEFAULT_WORKING_DAYS',1,'1-5','chaine',0,'','2015-10-03 10:11:33'),(5345,'MAIN_DEFAULT_WORKING_HOURS',1,'9-18','chaine',0,'','2015-10-03 10:11:33'),(5346,'MAIN_SHOW_LOGO',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5347,'MAIN_FIRSTNAME_NAME_POSITION',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5348,'MAIN_THEME',1,'eldy','chaine',0,'','2015-10-03 10:11:33'),(5349,'MAIN_SEARCHFORM_CONTACT',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5350,'MAIN_SEARCHFORM_SOCIETE',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5351,'MAIN_SEARCHFORM_PRODUITSERVICE',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5352,'MAIN_SEARCHFORM_PRODUITSERVICE_SUPPLIER',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5353,'MAIN_SEARCHFORM_ADHERENT',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5354,'MAIN_SEARCHFORM_PROJECT',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5355,'MAIN_HELPCENTER_DISABLELINK',0,'1','chaine',0,'','2015-10-03 10:11:33'),(5356,'MAIN_HOME',1,'__(NoteSomeFeaturesAreDisabled)__
\r\n
\r\n__(SomeTranslationAreUncomplete)__
','chaine',0,'','2015-10-03 10:11:33'),(5357,'MAIN_HELP_DISABLELINK',0,'0','chaine',0,'','2015-10-03 10:11:33'),(5358,'MAIN_BUGTRACK_ENABLELINK',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5359,'THEME_ELDY_USE_HOVER',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5394,'FCKEDITOR_ENABLE_DETAILS',1,'1','yesno',0,'WYSIWIG for products details lines for all entities','2015-11-04 15:27:44'),(5395,'FCKEDITOR_ENABLE_USERSIGN',1,'1','yesno',0,'WYSIWIG for user signature','2015-11-04 15:27:44'),(5396,'FCKEDITOR_ENABLE_MAIL',1,'1','yesno',0,'WYSIWIG for products details lines for all entities','2015-11-04 15:27:44'),(5398,'CATEGORIE_RECURSIV_ADD',1,'','yesno',0,'Affect parent categories','2015-11-04 15:27:46'),(5403,'MAIN_MODULE_FCKEDITOR',1,'1',NULL,0,NULL,'2015-11-04 15:41:40'),(5404,'MAIN_MODULE_CATEGORIE',1,'1',NULL,0,NULL,'2015-11-04 15:41:43'),(5415,'EXPEDITION_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/shipment','chaine',0,NULL,'2015-11-15 22:38:28'),(5416,'LIVRAISON_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/delivery','chaine',0,NULL,'2015-11-15 22:38:28'),(5419,'MAIN_MODULE_CASHDESK',1,'1',NULL,0,NULL,'2015-11-15 22:38:33'),(5426,'MAIN_MODULE_PROJET',1,'1',NULL,0,NULL,'2015-11-15 22:38:44'),(5427,'PROJECT_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/projects','chaine',0,NULL,'2015-11-15 22:38:44'),(5428,'PROJECT_USE_OPPORTUNIES',1,'1','chaine',0,NULL,'2015-11-15 22:38:44'),(5430,'MAIN_MODULE_EXPORT',1,'1',NULL,0,NULL,'2015-11-15 22:38:56'),(5431,'MAIN_MODULE_IMPORT',1,'1',NULL,0,NULL,'2015-11-15 22:38:58'),(5432,'MAIN_MODULE_MAILING',1,'1',NULL,0,NULL,'2015-11-15 22:39:00'),(5433,'MAIN_MODULE_EXPENSEREPORT',1,'1',NULL,0,NULL,'2015-11-15 22:39:05'),(5434,'EXPENSEREPORT_ADDON_PDF',1,'standard','chaine',0,'Name of manager to build PDF expense reports documents','2015-11-15 22:39:05'),(5435,'MAIN_MODULE_SALARIES',1,'1',NULL,0,NULL,'2015-11-15 22:39:08'),(5436,'SALARIES_ACCOUNTING_ACCOUNT_PAYMENT',1,'421','chaine',0,NULL,'2015-11-15 22:39:08'),(5437,'SALARIES_ACCOUNTING_ACCOUNT_CHARGE',1,'641','chaine',0,NULL,'2015-11-15 22:39:08'),(5440,'MAIN_MODULE_ADHERENT',1,'1',NULL,0,NULL,'2015-11-15 22:39:17'),(5441,'ADHERENT_ETIQUETTE_TEXT',1,'%FULLNAME%\n%ADDRESS%\n%ZIP% %TOWN%\n%COUNTRY%','texte',0,'Text to print on member address sheets','2015-11-15 22:39:17'),(5442,'MAIN_MODULE_TAX',1,'1',NULL,0,NULL,'2015-11-15 22:39:22'),(5443,'MAIN_MODULE_PRELEVEMENT',1,'1',NULL,0,NULL,'2015-11-15 22:39:33'),(5449,'MAIN_MODULE_COMPTABILITE',1,'1',NULL,0,NULL,'2015-11-15 22:39:46'),(5452,'MAIN_MODULE_BANQUE',1,'1',NULL,0,NULL,'2015-11-15 22:39:46'),(5453,'MAIN_MODULE_CONTRAT',1,'1',NULL,0,NULL,'2015-11-15 22:39:52'),(5455,'MAIN_MODULE_FICHEINTER',1,'1',NULL,0,NULL,'2015-11-15 22:39:56'),(5458,'MAIN_MODULE_BOOKMARK',1,'1',NULL,0,NULL,'2015-11-15 22:40:51'),(5459,'MAIN_MODULE_PAYPAL',1,'1',NULL,0,NULL,'2015-11-15 22:41:02'),(5460,'MAIN_MODULE_MARGIN',1,'1',NULL,0,NULL,'2015-11-15 22:41:47'),(5461,'MAIN_MODULE_MARGIN_TABS_0',1,'product:+margin:Margins:margins:$user->rights->margins->liretous:/margin/tabs/productMargins.php?id=__ID__','chaine',0,NULL,'2015-11-15 22:41:47'),(5462,'MAIN_MODULE_MARGIN_TABS_1',1,'thirdparty:+margin:Margins:margins:empty($user->societe_id) && $user->rights->margins->liretous && ($object->client > 0):/margin/tabs/thirdpartyMargins.php?socid=__ID__','chaine',0,NULL,'2015-11-15 22:41:47'),(5463,'MAIN_MODULE_PROPALE',1,'1',NULL,0,NULL,'2015-11-15 22:41:47'),(5483,'GENBARCODE_BARCODETYPE_THIRDPARTY',1,'6','chaine',0,'','2016-01-16 15:49:43'),(5484,'PRODUIT_DEFAULT_BARCODE_TYPE',1,'2','chaine',0,'','2016-01-16 15:49:46'),(5539,'PRODUCT_USE_OLD_PATH_FOR_PHOTO',0,'0','chaine',1,'Use old path for products images','2016-01-22 13:34:23'),(5540,'MAIN_SOAP_DEBUG',1,'0','chaine',1,'','2016-01-22 13:34:57'),(5541,'MODULE_GOOGLE_DEBUG',1,'0','chaine',1,'','2016-01-22 13:34:57'),(5543,'MAIN_MAIL_DEBUG',1,'1','chaine',1,'','2016-01-22 13:35:24'),(5548,'MAIN_MODULE_ECM',1,'1',NULL,0,NULL,'2016-01-22 17:26:43'),(5551,'MAIN_MODULE_HOLIDAY',1,'1',NULL,0,NULL,'2016-01-22 17:26:43'),(5552,'MAIN_MODULE_HOLIDAY_TABS_0',1,'user:+paidholidays:CPTitreMenu:holiday:$user->rights->holiday->read:/holiday/list.php?mainmenu=holiday&id=__ID__','chaine',0,NULL,'2016-01-22 17:26:43'),(5553,'MAIN_MODULE_OPENSURVEY',1,'1',NULL,0,NULL,'2016-01-22 17:26:43'),(5555,'MAIN_MODULE_SERVICE',1,'1',NULL,0,NULL,'2016-01-22 17:26:43'),(5560,'MAILING_LIMIT_SENDBYWEB',0,'25','chaine',1,'Number of targets to defined packet size when sending mass email','2016-01-22 17:28:18'),(5561,'SYSLOG_HANDLERS',0,'[\"mod_syslog_file\"]','chaine',0,'Which logger to use','2016-01-22 17:28:18'),(5562,'SYSLOG_FILE',0,'DOL_DATA_ROOT/dolibarr.log','chaine',0,'Directory where to write log file','2016-01-22 17:28:18'),(5568,'MAIN_MAIL_EMAIL_FROM',1,'robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2016-01-22 17:28:18'),(5586,'MAIN_DELAY_EXPENSEREPORTS_TO_PAY',1,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur les notes de frais impayées','2016-01-22 17:28:18'),(5587,'MAIN_FIX_FOR_BUGGED_MTA',1,'1','chaine',1,'Set constant to fix email ending from PHP with some linux ike system','2016-01-22 17:28:18'),(5589,'MAIN_MODULE_USER',0,'1',NULL,0,NULL,'2016-01-22 17:28:42'),(5590,'MAIN_VERSION_LAST_INSTALL',0,'3.8.3','chaine',0,'Dolibarr version when install','2016-01-22 17:28:42'),(5604,'MAIN_INFO_SOCIETE_LOGO',1,'mybigcompany.png','chaine',0,'','2016-01-22 17:33:49'),(5605,'MAIN_INFO_SOCIETE_LOGO_SMALL',1,'mybigcompany_small.png','chaine',0,'','2016-01-22 17:33:49'),(5606,'MAIN_INFO_SOCIETE_LOGO_MINI',1,'mybigcompany_mini.png','chaine',0,'','2016-01-22 17:33:49'),(5612,'MAIN_ENABLE_LOG_TO_HTML',0,'0','chaine',1,'If this option is set to 1, it is possible to see log output at end of HTML sources by adding paramater logtohtml=1 on URL','2016-03-13 10:54:45'),(5614,'MAIN_SIZE_SHORTLISTE_LIMIT',1,'4','chaine',0,'Longueur maximum des listes courtes (fiche client)','2016-03-13 10:54:46'),(5622,'MAIN_MODULE_BARCODE',1,'1',NULL,0,NULL,'2016-07-30 11:12:59'),(5623,'MAIN_MODULE_FACTURE',1,'1',NULL,0,NULL,'2016-07-30 11:12:59'),(5624,'MAIN_VERSION_LAST_UPGRADE',0,'4.0.0-rc2','chaine',0,'Dolibarr version for last upgrade','2016-07-30 11:13:02'),(5626,'MAIN_MODULE_SUPPLIERPROPOSAL',1,'1',NULL,0,NULL,'2016-07-30 11:13:20'),(5627,'SUPPLIER_PROPOSAL_ADDON_PDF',1,'aurore','chaine',0,'Name of submodule to generate PDF for supplier quotation request','2016-07-30 11:13:20'),(5628,'SUPPLIER_PROPOSAL_ADDON',1,'mod_supplier_proposal_marbre','chaine',0,'Name of submodule to number supplier quotation request','2016-07-30 11:13:20'),(5629,'SUPPLIER_PROPOSAL_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/supplier_proposal','chaine',0,NULL,'2016-07-30 11:13:20'),(5632,'MAIN_MODULE_RESOURCE',1,'1',NULL,0,NULL,'2016-07-30 11:13:32'),(5633,'MAIN_MODULE_API',1,'1',NULL,0,NULL,'2016-07-30 11:13:54'),(5634,'MAIN_MODULE_WEBSERVICES',1,'1',NULL,0,NULL,'2016-07-30 11:13:56'),(5635,'WEBSERVICES_KEY',1,'dolibarrkey','chaine',0,'','2016-07-30 11:14:04'),(5636,'MAIN_MODULE_CRON',1,'1',NULL,0,NULL,'2016-07-30 11:14:25'),(5637,'MAIN_MODULE_SYSLOG',0,'1',NULL,0,NULL,'2016-07-30 11:14:27'),(5638,'MAIN_MODULE_EXTERNALRSS',1,'1',NULL,0,NULL,'2016-07-30 11:15:04'),(5639,'EXTERNAL_RSS_TITLE_1',1,'Dolibarr.org News','chaine',0,'','2016-07-30 11:15:25'),(5640,'EXTERNAL_RSS_URLRSS_1',1,'https://www.dolibarr.org/rss','chaine',0,'','2016-07-30 11:15:25'),(5641,'MAIN_MODULE_DON',1,'1',NULL,0,NULL,'2016-07-30 11:16:22'),(5642,'SOCIETE_CODECOMPTA_ADDON',1,'mod_codecompta_aquarium','chaine',0,'','2016-07-30 11:16:42'),(5680,'MAIN_INFO_SOCIETE_COUNTRY',1,'14:CA:Canada','chaine',0,'','2016-07-30 11:19:05'),(5681,'MAIN_INFO_SOCIETE_NOM',1,'MyBigCompany','chaine',0,'','2016-07-30 11:19:05'),(5682,'MAIN_INFO_SOCIETE_ADDRESS',1,'21 Jump street','chaine',0,'','2016-07-30 11:19:05'),(5683,'MAIN_INFO_SOCIETE_TOWN',1,'MyTown','chaine',0,'','2016-07-30 11:19:05'),(5684,'MAIN_INFO_SOCIETE_ZIP',1,'75500','chaine',0,'','2016-07-30 11:19:05'),(5685,'MAIN_INFO_SOCIETE_STATE',1,'1514','chaine',0,'','2016-07-30 11:19:05'),(5686,'MAIN_MONNAIE',1,'EUR','chaine',0,'','2016-07-30 11:19:05'),(5687,'MAIN_INFO_SOCIETE_TEL',1,'09123123','chaine',0,'','2016-07-30 11:19:05'),(5688,'MAIN_INFO_SOCIETE_FAX',1,'09123124','chaine',0,'','2016-07-30 11:19:05'),(5689,'MAIN_INFO_SOCIETE_MAIL',1,'myemail@mybigcompany.com','chaine',0,'','2016-07-30 11:19:05'),(5690,'MAIN_INFO_SOCIETE_WEB',1,'http://www.dolibarr.org','chaine',0,'','2016-07-30 11:19:05'),(5691,'MAIN_INFO_SOCIETE_NOTE',1,'This is note about my company','chaine',0,'','2016-07-30 11:19:05'),(5692,'MAIN_INFO_SOCIETE_GENCOD',1,'1234567890','chaine',0,'','2016-07-30 11:19:05'),(5693,'MAIN_INFO_SOCIETE_MANAGERS',1,'Zack Zeceo','chaine',0,'','2016-07-30 11:19:05'),(5694,'MAIN_INFO_CAPITAL',1,'10000','chaine',0,'','2016-07-30 11:19:05'),(5695,'MAIN_INFO_SOCIETE_FORME_JURIDIQUE',1,'0','chaine',0,'','2016-07-30 11:19:05'),(5696,'MAIN_INFO_SIREN',1,'123456','chaine',0,'','2016-07-30 11:19:05'),(5697,'MAIN_INFO_TVAINTRA',1,'FR1234567','chaine',0,'','2016-07-30 11:19:05'),(5698,'MAIN_INFO_SOCIETE_OBJECT',1,'A company demo to show how Dolibarr ERP CRM is wonderfull','chaine',0,'','2016-07-30 11:19:05'),(5699,'SOCIETE_FISCAL_MONTH_START',1,'1','chaine',0,'','2016-07-30 11:19:05'),(5700,'FACTURE_TVAOPTION',1,'1','chaine',0,'','2016-07-30 11:19:05'),(5701,'FACTURE_LOCAL_TAX1_OPTION',1,'localtax1on','chaine',0,'','2016-07-30 11:19:05'),(5702,'MAIN_INFO_VALUE_LOCALTAX1',1,'0','chaine',0,'','2016-07-30 11:19:05'),(5703,'MAIN_INFO_LOCALTAX_CALC1',1,'0','chaine',0,'','2016-07-30 11:19:05'),(5704,'PROJECT_USE_OPPORTUNITIES',1,'1','chaine',0,'','2016-07-30 11:19:17'),(5707,'CASHDESK_NO_DECREASE_STOCK',1,'1','chaine',0,'','2016-07-30 13:38:11'),(5708,'MAIN_MODULE_PRODUCTBATCH',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5710,'MAIN_MODULE_STOCK',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5711,'MAIN_MODULE_PRODUCT',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5712,'MAIN_MODULE_EXPEDITION',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5713,'MAIN_MODULE_COMMANDE',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5715,'MAIN_MODULE_FOURNISSEUR',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5716,'MAIN_MODULE_SOCIETE',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5717,'MAIN_FEATURES_LEVEL',0,'2','chaine',1,'Level of features to show (0=stable only, 1=stable+experimental, 2=stable+experimental+development','2016-07-30 14:39:14'),(5765,'MAIN_MODULE_AGENDA',1,'1',NULL,0,NULL,'2016-07-30 15:42:32'),(5766,'MAIN_AGENDA_ACTIONAUTO_COMPANY_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5767,'MAIN_AGENDA_ACTIONAUTO_COMPANY_CREATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5768,'MAIN_AGENDA_ACTIONAUTO_PROPAL_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5769,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLOSE_SIGNED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5770,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLOSE_REFUSED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5771,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5772,'MAIN_AGENDA_ACTIONAUTO_PROPAL_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5773,'MAIN_AGENDA_ACTIONAUTO_ORDER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5774,'MAIN_AGENDA_ACTIONAUTO_ORDER_CLOSE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5775,'MAIN_AGENDA_ACTIONAUTO_ORDER_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5776,'MAIN_AGENDA_ACTIONAUTO_ORDER_CANCEL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5777,'MAIN_AGENDA_ACTIONAUTO_ORDER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5778,'MAIN_AGENDA_ACTIONAUTO_BILL_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5779,'MAIN_AGENDA_ACTIONAUTO_BILL_PAYED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5780,'MAIN_AGENDA_ACTIONAUTO_BILL_CANCEL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5781,'MAIN_AGENDA_ACTIONAUTO_BILL_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5782,'MAIN_AGENDA_ACTIONAUTO_BILL_UNVALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5783,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5784,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_APPROVE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5785,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_SUBMIT',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5786,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_RECEIVE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5787,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_REFUSE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5788,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5789,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5790,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5791,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_UNVALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5792,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_PAYED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5793,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5794,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_CANCELED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5795,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5796,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5797,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5798,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_CLASSIFY_UNBILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5799,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_REOPEN',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5800,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5801,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5802,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5803,'MAIN_AGENDA_ACTIONAUTO_MEMBER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5804,'MAIN_AGENDA_ACTIONAUTO_MEMBER_SUBSCRIPTION',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5805,'MAIN_AGENDA_ACTIONAUTO_MEMBER_RESILIATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5806,'MAIN_AGENDA_ACTIONAUTO_MEMBER_MODIFY',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5807,'MAIN_AGENDA_ACTIONAUTO_MEMBER_DELETE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5808,'MARGIN_TYPE',1,'costprice','chaine',0,'','2016-07-30 16:32:18'),(5809,'DISPLAY_MARGIN_RATES',1,'1','chaine',0,'','2016-07-30 16:32:20'); +/*!40000 ALTER TABLE `llx_const` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_contrat` +-- + +DROP TABLE IF EXISTS `llx_contrat`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_contrat` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `ref` varchar(30) DEFAULT NULL, + `ref_ext` varchar(30) DEFAULT NULL, + `ref_supplier` varchar(30) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datec` datetime DEFAULT NULL, + `date_contrat` datetime DEFAULT NULL, + `statut` smallint(6) DEFAULT '0', + `mise_en_service` datetime DEFAULT NULL, + `fin_validite` datetime DEFAULT NULL, + `date_cloture` datetime DEFAULT NULL, + `fk_soc` int(11) NOT NULL, + `fk_projet` int(11) DEFAULT NULL, + `fk_commercial_signature` int(11) DEFAULT NULL, + `fk_commercial_suivi` int(11) DEFAULT NULL, + `fk_user_author` int(11) NOT NULL DEFAULT '0', + `fk_user_mise_en_service` int(11) DEFAULT NULL, + `fk_user_cloture` int(11) DEFAULT NULL, + `note_private` text, + `note_public` text, + `model_pdf` varchar(255) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + `extraparams` varchar(255) DEFAULT NULL, + `ref_customer` varchar(30) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_contrat_ref` (`ref`,`entity`), + KEY `idx_contrat_fk_soc` (`fk_soc`), + KEY `idx_contrat_fk_user_author` (`fk_user_author`), + CONSTRAINT `fk_contrat_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`), + CONSTRAINT `fk_contrat_user_author` FOREIGN KEY (`fk_user_author`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_contrat` +-- + +LOCK TABLES `llx_contrat` WRITE; +/*!40000 ALTER TABLE `llx_contrat` DISABLE KEYS */; +INSERT INTO `llx_contrat` VALUES (1,'CONTRACT1',NULL,NULL,1,'2010-07-08 23:53:55','2010-07-09 01:53:25','2010-07-09 00:00:00',1,NULL,NULL,NULL,3,NULL,2,2,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(2,'CONTRAT1',NULL,NULL,1,'2010-07-10 16:18:16','2010-07-10 18:13:37','2010-07-10 00:00:00',1,NULL,NULL,NULL,2,NULL,2,2,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(3,'CT1303-0001',NULL,NULL,1,'2013-03-06 09:05:07','2013-03-06 10:04:57','2013-03-06 00:00:00',1,NULL,NULL,NULL,19,NULL,1,1,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +/*!40000 ALTER TABLE `llx_contrat` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_contrat_extrafields` +-- + +DROP TABLE IF EXISTS `llx_contrat_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_contrat_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_contrat_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_contrat_extrafields` +-- + +LOCK TABLES `llx_contrat_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_contrat_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_contrat_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_contratdet` +-- + +DROP TABLE IF EXISTS `llx_contratdet`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_contratdet` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_contrat` int(11) NOT NULL, + `fk_product` int(11) DEFAULT NULL, + `statut` smallint(6) DEFAULT '0', + `label` text, + `description` text, + `fk_remise_except` int(11) DEFAULT NULL, + `date_commande` datetime DEFAULT NULL, + `date_ouverture_prevue` datetime DEFAULT NULL, + `date_ouverture` datetime DEFAULT NULL, + `date_fin_validite` datetime DEFAULT NULL, + `date_cloture` datetime DEFAULT NULL, + `tva_tx` double(6,3) DEFAULT '0.000', + `localtax1_tx` double(6,3) DEFAULT '0.000', + `localtax1_type` varchar(10) NOT NULL DEFAULT '0', + `localtax2_tx` double(6,3) DEFAULT '0.000', + `localtax2_type` varchar(10) NOT NULL DEFAULT '0', + `qty` double NOT NULL, + `remise_percent` double DEFAULT '0', + `subprice` double(24,8) DEFAULT '0.00000000', + `price_ht` double DEFAULT NULL, + `remise` double DEFAULT '0', + `total_ht` double(24,8) DEFAULT '0.00000000', + `total_tva` double(24,8) DEFAULT '0.00000000', + `total_localtax1` double(24,8) DEFAULT '0.00000000', + `total_localtax2` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) DEFAULT '0.00000000', + `product_type` int(11) DEFAULT '1', + `info_bits` int(11) DEFAULT '0', + `fk_product_fournisseur_price` int(11) DEFAULT NULL, + `buy_price_ht` double(24,8) DEFAULT '0.00000000', + `fk_user_author` int(11) NOT NULL DEFAULT '0', + `fk_user_ouverture` int(11) DEFAULT NULL, + `fk_user_cloture` int(11) DEFAULT NULL, + `commentaire` text, + `fk_unit` int(11) DEFAULT NULL, + `fk_multicurrency` int(11) DEFAULT NULL, + `multicurrency_code` varchar(255) DEFAULT NULL, + `multicurrency_subprice` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_ht` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_tva` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_ttc` double(24,8) DEFAULT '0.00000000', + PRIMARY KEY (`rowid`), + KEY `idx_contratdet_fk_contrat` (`fk_contrat`), + KEY `idx_contratdet_fk_product` (`fk_product`), + KEY `idx_contratdet_date_ouverture_prevue` (`date_ouverture_prevue`), + KEY `idx_contratdet_date_ouverture` (`date_ouverture`), + KEY `idx_contratdet_date_fin_validite` (`date_fin_validite`), + KEY `fk_contratdet_fk_unit` (`fk_unit`), + CONSTRAINT `fk_contratdet_fk_contrat` FOREIGN KEY (`fk_contrat`) REFERENCES `llx_contrat` (`rowid`), + CONSTRAINT `fk_contratdet_fk_product` FOREIGN KEY (`fk_product`) REFERENCES `llx_product` (`rowid`), + CONSTRAINT `fk_contratdet_fk_unit` FOREIGN KEY (`fk_unit`) REFERENCES `llx_c_units` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_contratdet` +-- + +LOCK TABLES `llx_contratdet` WRITE; +/*!40000 ALTER TABLE `llx_contratdet` DISABLE KEYS */; +INSERT INTO `llx_contratdet` VALUES (1,'2013-03-06 09:00:00',1,3,4,'','',NULL,NULL,'2010-07-09 00:00:00','2010-07-09 12:00:00','2013-03-15 00:00:00',NULL,0.000,0.000,'',0.000,'',1,0,0.00000000,0,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,1,0,0,0.00000000,0,1,1,'',NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(2,'2010-07-10 16:14:14',2,NULL,0,'','Abonnement annuel assurance',NULL,NULL,'2010-07-10 00:00:00',NULL,'2011-07-10 00:00:00',NULL,1.000,0.000,'',0.000,'',1,0,10.00000000,10,0,10.00000000,0.10000000,0.00000000,0.00000000,10.10000000,1,0,NULL,0.00000000,0,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(3,'2013-03-05 10:20:58',2,3,5,'','gdfg',NULL,NULL,'2010-07-10 00:00:00','2010-07-10 12:00:00','2011-07-09 00:00:00','2013-03-06 12:00:00',4.000,0.000,'',0.000,'',1,0,0.00000000,0,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,1,0,0,0.00000000,0,1,1,'',NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(4,'2012-12-08 13:11:17',2,3,0,'','',NULL,NULL,'2010-07-10 00:00:00',NULL,NULL,NULL,0.000,0.000,'',0.000,'',1,10,40.00000000,40,NULL,36.00000000,0.00000000,0.00000000,0.00000000,36.00000000,1,0,NULL,0.00000000,0,NULL,1,'',NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(5,'2013-03-06 09:05:40',3,NULL,4,'','gfdg',NULL,NULL,NULL,'2013-03-06 12:00:00','2013-03-07 12:00:00',NULL,0.000,0.000,'',0.000,'',1,0,10.00000000,10,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,1,0,0,0.00000000,0,1,1,'',NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000); +/*!40000 ALTER TABLE `llx_contratdet` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_contratdet_extrafields` +-- + +DROP TABLE IF EXISTS `llx_contratdet_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_contratdet_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_contratdet_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_contratdet_extrafields` +-- + +LOCK TABLES `llx_contratdet_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_contratdet_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_contratdet_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_contratdet_log` +-- + +DROP TABLE IF EXISTS `llx_contratdet_log`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_contratdet_log` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_contratdet` int(11) NOT NULL, + `date` datetime NOT NULL, + `statut` smallint(6) NOT NULL, + `fk_user_author` int(11) NOT NULL, + `commentaire` text, + PRIMARY KEY (`rowid`), + KEY `idx_contratdet_log_fk_contratdet` (`fk_contratdet`), + KEY `idx_contratdet_log_date` (`date`), + CONSTRAINT `fk_contratdet_log_fk_contratdet` FOREIGN KEY (`fk_contratdet`) REFERENCES `llx_contratdet` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_contratdet_log` +-- + +LOCK TABLES `llx_contratdet_log` WRITE; +/*!40000 ALTER TABLE `llx_contratdet_log` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_contratdet_log` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_cotisation` +-- + +DROP TABLE IF EXISTS `llx_cotisation`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_cotisation` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datec` datetime DEFAULT NULL, + `fk_adherent` int(11) DEFAULT NULL, + `dateadh` datetime DEFAULT NULL, + `datef` date DEFAULT NULL, + `cotisation` double DEFAULT NULL, + `fk_bank` int(11) DEFAULT NULL, + `note` text, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_cotisation` (`fk_adherent`,`dateadh`) +) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_cotisation` +-- + +LOCK TABLES `llx_cotisation` WRITE; +/*!40000 ALTER TABLE `llx_cotisation` DISABLE KEYS */; +INSERT INTO `llx_cotisation` VALUES (1,'2010-07-10 13:05:30','2010-07-10 15:05:30',2,'2010-07-10 00:00:00','2011-07-10',20,NULL,'Adhésion/cotisation 2010'),(2,'2010-07-11 14:20:00','2010-07-11 16:20:00',2,'2011-07-11 00:00:00','2012-07-10',10,NULL,'Adhésion/cotisation 2011'),(3,'2010-07-18 10:20:33','2010-07-18 12:20:33',2,'2012-07-11 00:00:00','2013-07-17',10,NULL,'Adhésion/cotisation 2012'),(4,'2013-03-06 15:43:37','2013-03-06 16:43:37',2,'2013-07-18 00:00:00','2014-07-17',10,NULL,'Adhésion/cotisation 2013'),(5,'2013-03-06 15:44:12','2013-03-06 16:44:12',2,'2014-07-18 00:00:00','2015-07-17',11,NULL,'Adhésion/cotisation 2014'),(6,'2013-03-06 15:47:48','2013-03-06 16:47:48',2,'2015-07-18 00:00:00','2016-07-17',10,NULL,'Adhésion/cotisation 2015'),(7,'2013-03-06 15:48:16','2013-03-06 16:48:16',2,'2016-07-18 00:00:00','2017-07-17',20,22,'Adhésion/cotisation 2016'),(8,'2013-03-20 13:17:57','2013-03-20 14:17:57',1,'2010-07-10 00:00:00','2011-07-09',10,NULL,'Adhésion/cotisation 2010'),(10,'2013-03-20 13:30:11','2013-03-20 14:30:11',1,'2011-07-10 00:00:00','2012-07-09',10,23,'Adhésion/cotisation 2011'); +/*!40000 ALTER TABLE `llx_cotisation` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_cronjob` +-- + +DROP TABLE IF EXISTS `llx_cronjob`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_cronjob` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datec` datetime DEFAULT NULL, + `jobtype` varchar(10) NOT NULL, + `label` text NOT NULL, + `command` varchar(255) DEFAULT NULL, + `classesname` varchar(255) DEFAULT NULL, + `objectname` varchar(255) DEFAULT NULL, + `methodename` varchar(255) DEFAULT NULL, + `params` text, + `md5params` varchar(32) DEFAULT NULL, + `module_name` varchar(255) DEFAULT NULL, + `priority` int(11) DEFAULT '0', + `datelastrun` datetime DEFAULT NULL, + `datenextrun` datetime DEFAULT NULL, + `datestart` datetime DEFAULT NULL, + `dateend` datetime DEFAULT NULL, + `datelastresult` datetime DEFAULT NULL, + `lastresult` text, + `lastoutput` text, + `unitfrequency` varchar(255) NOT NULL DEFAULT '3600', + `frequency` int(11) NOT NULL DEFAULT '0', + `nbrun` int(11) DEFAULT NULL, + `status` int(11) NOT NULL DEFAULT '1', + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_mod` int(11) DEFAULT NULL, + `note` text, + `libname` varchar(255) DEFAULT NULL, + `entity` int(11) DEFAULT '0', + `maxrun` int(11) NOT NULL DEFAULT '0', + `autodelete` int(11) DEFAULT '0', + `fk_mailing` int(11) DEFAULT NULL, + `test` varchar(255) DEFAULT '1', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_cronjob` +-- + +LOCK TABLES `llx_cronjob` WRITE; +/*!40000 ALTER TABLE `llx_cronjob` DISABLE KEYS */; +INSERT INTO `llx_cronjob` VALUES (1,'2013-03-23 18:18:39','2013-03-23 19:18:39','command','aaa','aaaa','','','','','','',0,NULL,NULL,'2013-03-23 19:18:00',NULL,NULL,NULL,NULL,'3600',3600,0,0,1,1,'',NULL,0,0,0,NULL,'1'),(2,'2016-07-30 11:12:59','2016-07-30 15:12:59','method','RecurringInvoices',NULL,'compta/facture/class/facture-rec.class.php','FactureRec','createRecurringInvoices',NULL,NULL,'facture',0,NULL,NULL,'2016-07-30 15:12:59',NULL,NULL,NULL,NULL,'86400',1,NULL,1,NULL,NULL,'Generate recurring invoices',NULL,1,0,0,NULL,''),(3,'2016-07-30 11:14:25','2016-07-30 15:14:25','method','PurgeDeleteTemporaryFilesShort',NULL,'core/class/utils.class.php','Utils','purgeFiles',NULL,NULL,'cron',10,NULL,NULL,'2016-07-30 15:14:25',NULL,NULL,NULL,NULL,'604800',2,NULL,1,NULL,NULL,'PurgeDeleteTemporaryFiles',NULL,1,0,0,NULL,'1'),(4,'2016-07-30 11:14:25','2016-07-30 15:14:25','method','MakeLocalDatabaseDumpShort',NULL,'core/class/utils.class.php','Utils','dumpDatabase','none',NULL,'cron',20,NULL,NULL,'2016-07-30 15:14:25',NULL,NULL,NULL,NULL,'604800',1,NULL,0,NULL,NULL,'MakeLocalDatabaseDump',NULL,1,0,0,NULL,'1'); +/*!40000 ALTER TABLE `llx_cronjob` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_deplacement` +-- + +DROP TABLE IF EXISTS `llx_deplacement`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_deplacement` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `ref` varchar(30) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `datec` datetime NOT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `dated` datetime DEFAULT NULL, + `fk_user` int(11) NOT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + `type` varchar(12) NOT NULL, + `fk_statut` int(11) NOT NULL DEFAULT '1', + `km` double DEFAULT NULL, + `fk_soc` int(11) DEFAULT NULL, + `fk_projet` int(11) DEFAULT '0', + `note_private` text, + `note_public` text, + `extraparams` varchar(255) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_deplacement` +-- + +LOCK TABLES `llx_deplacement` WRITE; +/*!40000 ALTER TABLE `llx_deplacement` DISABLE KEYS */; +INSERT INTO `llx_deplacement` VALUES (1,NULL,1,'2010-07-09 01:58:04','2010-07-08 23:58:18','2010-07-09 12:00:00',2,1,NULL,'TF_LUNCH',1,10,2,1,NULL,NULL,NULL); +/*!40000 ALTER TABLE `llx_deplacement` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_document_model` +-- + +DROP TABLE IF EXISTS `llx_document_model`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_document_model` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `nom` varchar(50) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `type` varchar(20) NOT NULL, + `libelle` varchar(255) DEFAULT NULL, + `description` text, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_document_model` (`nom`,`type`,`entity`) +) ENGINE=InnoDB AUTO_INCREMENT=278 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_document_model` +-- + +LOCK TABLES `llx_document_model` WRITE; +/*!40000 ALTER TABLE `llx_document_model` DISABLE KEYS */; +INSERT INTO `llx_document_model` VALUES (9,'merou',1,'shipping',NULL,NULL),(15,'fsfe.fr.php',1,'donation',NULL,NULL),(181,'generic_invoice_odt',1,'invoice','ODT templates','FACTURE_ADDON_PDF_ODT_PATH'),(193,'canelle2',1,'invoice_supplier','canelle2',NULL),(195,'canelle',1,'invoice_supplier','canelle',NULL),(198,'azur',2,'propal',NULL,NULL),(199,'html_cerfafr',2,'donation',NULL,NULL),(200,'crabe',2,'invoice',NULL,NULL),(201,'generic_odt',1,'company','ODT templates','COMPANY_ADDON_PDF_ODT_PATH'),(250,'baleine',1,'project',NULL,NULL),(251,'standard',1,'deplacement',NULL,NULL),(255,'soleil',1,'ficheinter',NULL,NULL),(256,'azur',1,'propal',NULL,NULL),(269,'crabe',1,'invoice',NULL,NULL),(270,'aurore',1,'supplier_proposal',NULL,NULL),(272,'html_cerfafr',1,'donation',NULL,NULL),(273,'beluga',1,'project','beluga',NULL),(274,'rouget',1,'shipping',NULL,NULL),(275,'typhon',1,'delivery',NULL,NULL),(276,'einstein',1,'order',NULL,NULL),(277,'muscadet',1,'order_supplier',NULL,NULL); +/*!40000 ALTER TABLE `llx_document_model` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_don` +-- + +DROP TABLE IF EXISTS `llx_don`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_don` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `ref` varchar(30) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_statut` smallint(6) NOT NULL DEFAULT '0', + `datec` datetime DEFAULT NULL, + `datedon` datetime DEFAULT NULL, + `amount` double DEFAULT '0', + `fk_payment` int(11) DEFAULT NULL, + `paid` smallint(6) NOT NULL DEFAULT '0', + `firstname` varchar(50) DEFAULT NULL, + `lastname` varchar(50) DEFAULT NULL, + `societe` varchar(50) DEFAULT NULL, + `address` text, + `zip` varchar(10) DEFAULT NULL, + `town` varchar(50) DEFAULT NULL, + `country` varchar(50) DEFAULT NULL, + `fk_country` int(11) NOT NULL, + `email` varchar(255) DEFAULT NULL, + `phone` varchar(24) DEFAULT NULL, + `phone_mobile` varchar(24) DEFAULT NULL, + `public` smallint(6) NOT NULL DEFAULT '1', + `fk_projet` int(11) DEFAULT NULL, + `fk_user_author` int(11) NOT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `note_private` text, + `note_public` text, + `model_pdf` varchar(255) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_don` +-- + +LOCK TABLES `llx_don` WRITE; +/*!40000 ALTER TABLE `llx_don` DISABLE KEYS */; +INSERT INTO `llx_don` VALUES (1,NULL,1,'2010-07-08 23:57:17',1,'2010-07-09 01:55:33','2010-07-09 12:00:00',10,1,0,'Donator','','Guest company','','','','France',0,'',NULL,NULL,1,1,1,1,'',NULL,'html_cerfafr',NULL); +/*!40000 ALTER TABLE `llx_don` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_don_extrafields` +-- + +DROP TABLE IF EXISTS `llx_don_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_don_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_don_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_don_extrafields` +-- + +LOCK TABLES `llx_don_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_don_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_don_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_ecm_directories` +-- + +DROP TABLE IF EXISTS `llx_ecm_directories`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_ecm_directories` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `label` varchar(64) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `fk_parent` int(11) DEFAULT NULL, + `description` varchar(255) NOT NULL, + `cachenbofdoc` int(11) NOT NULL DEFAULT '0', + `fullpath` varchar(750) DEFAULT NULL, + `extraparams` varchar(255) DEFAULT NULL, + `date_c` datetime DEFAULT NULL, + `date_m` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_user_c` int(11) DEFAULT NULL, + `fk_user_m` int(11) DEFAULT NULL, + `acl` text, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_ecm_directories` (`label`,`fk_parent`,`entity`), + KEY `idx_ecm_directories_fk_user_c` (`fk_user_c`), + KEY `idx_ecm_directories_fk_user_m` (`fk_user_m`), + CONSTRAINT `fk_ecm_directories_fk_user_c` FOREIGN KEY (`fk_user_c`) REFERENCES `llx_user` (`rowid`), + CONSTRAINT `fk_ecm_directories_fk_user_m` FOREIGN KEY (`fk_user_m`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_ecm_directories` +-- + +LOCK TABLES `llx_ecm_directories` WRITE; +/*!40000 ALTER TABLE `llx_ecm_directories` DISABLE KEYS */; +INSERT INTO `llx_ecm_directories` VALUES (8,'Administrative documents',1,0,'Directory to store administrative contacts',0,NULL,NULL,'2016-07-30 16:54:41','2016-07-30 12:54:41',12,NULL,NULL),(9,'Images',1,0,'',34,NULL,NULL,'2016-07-30 16:55:33','2016-07-30 13:24:41',12,NULL,NULL); +/*!40000 ALTER TABLE `llx_ecm_directories` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_ecm_documents` +-- + +DROP TABLE IF EXISTS `llx_ecm_documents`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_ecm_documents` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `ref` varchar(16) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `filename` varchar(255) NOT NULL, + `filesize` int(11) NOT NULL, + `filemime` varchar(32) NOT NULL, + `fullpath_dol` varchar(255) NOT NULL, + `fullpath_orig` varchar(255) NOT NULL, + `description` text, + `manualkeyword` text, + `fk_create` int(11) NOT NULL, + `fk_update` int(11) DEFAULT NULL, + `date_c` datetime NOT NULL, + `date_u` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_directory` int(11) DEFAULT NULL, + `fk_status` smallint(6) DEFAULT '0', + `private` smallint(6) DEFAULT '0', + `crc` varchar(32) NOT NULL DEFAULT '', + `cryptkey` varchar(50) NOT NULL DEFAULT '', + `cipher` varchar(50) NOT NULL DEFAULT 'twofish', + PRIMARY KEY (`rowid`), + UNIQUE KEY `idx_ecm_documents` (`fullpath_dol`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_ecm_documents` +-- + +LOCK TABLES `llx_ecm_documents` WRITE; +/*!40000 ALTER TABLE `llx_ecm_documents` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_ecm_documents` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_ecm_files` +-- + +DROP TABLE IF EXISTS `llx_ecm_files`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_ecm_files` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `label` varchar(64) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `filename` varchar(255) NOT NULL, + `fullpath` varchar(750) NOT NULL, + `fullpath_orig` varchar(750) DEFAULT NULL, + `description` text, + `keywords` text, + `cover` text, + `extraparams` varchar(255) DEFAULT NULL, + `date_c` datetime DEFAULT NULL, + `date_m` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_user_c` int(11) DEFAULT NULL, + `fk_user_m` int(11) DEFAULT NULL, + `acl` text, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_ecm_files` (`label`,`entity`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_ecm_files` +-- + +LOCK TABLES `llx_ecm_files` WRITE; +/*!40000 ALTER TABLE `llx_ecm_files` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_ecm_files` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_element_contact` +-- + +DROP TABLE IF EXISTS `llx_element_contact`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_element_contact` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `datecreate` datetime DEFAULT NULL, + `statut` smallint(6) DEFAULT '5', + `element_id` int(11) NOT NULL, + `fk_c_type_contact` int(11) NOT NULL, + `fk_socpeople` int(11) NOT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `idx_element_contact_idx1` (`element_id`,`fk_c_type_contact`,`fk_socpeople`), + KEY `fk_element_contact_fk_c_type_contact` (`fk_c_type_contact`), + KEY `idx_element_contact_fk_socpeople` (`fk_socpeople`), + CONSTRAINT `fk_element_contact_fk_c_type_contact` FOREIGN KEY (`fk_c_type_contact`) REFERENCES `llx_c_type_contact` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_element_contact` +-- + +LOCK TABLES `llx_element_contact` WRITE; +/*!40000 ALTER TABLE `llx_element_contact` DISABLE KEYS */; +INSERT INTO `llx_element_contact` VALUES (1,'2010-07-09 00:49:43',4,1,160,1),(2,'2010-07-09 00:49:56',4,2,160,1),(3,'2010-07-09 00:50:19',4,3,160,1),(4,'2010-07-09 00:50:42',4,4,160,1),(5,'2010-07-09 01:52:36',4,1,120,1),(6,'2010-07-09 01:53:25',4,1,10,2),(7,'2010-07-09 01:53:25',4,1,11,2),(8,'2010-07-10 18:13:37',4,2,10,2),(9,'2010-07-10 18:13:37',4,2,11,2),(11,'2010-07-11 16:22:36',4,5,160,1),(12,'2010-07-11 16:23:53',4,2,180,1),(13,'2013-01-23 15:04:27',4,19,200,5),(14,'2013-01-23 16:06:37',4,19,210,2),(15,'2013-01-23 16:12:43',4,19,220,2),(16,'2013-03-06 10:04:57',4,3,10,1),(17,'2013-03-06 10:04:57',4,3,11,1),(18,'2014-12-21 13:52:41',4,3,180,1),(19,'2014-12-21 13:55:39',4,4,180,1),(20,'2014-12-21 14:16:58',4,5,180,1),(21,'2016-07-30 15:29:07',4,6,160,12),(22,'2016-07-30 15:29:48',4,7,160,12),(23,'2016-07-30 15:30:25',4,8,160,12),(24,'2016-07-30 15:33:27',4,6,180,12),(25,'2016-07-30 15:33:39',4,7,180,12),(26,'2016-07-30 15:33:54',4,8,180,12),(27,'2016-07-30 15:34:09',4,9,180,12); +/*!40000 ALTER TABLE `llx_element_contact` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_element_element` +-- + +DROP TABLE IF EXISTS `llx_element_element`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_element_element` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_source` int(11) NOT NULL, + `sourcetype` varchar(32) NOT NULL, + `fk_target` int(11) NOT NULL, + `targettype` varchar(32) NOT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `idx_element_element_idx1` (`fk_source`,`sourcetype`,`fk_target`,`targettype`), + KEY `idx_element_element_fk_target` (`fk_target`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_element_element` +-- + +LOCK TABLES `llx_element_element` WRITE; +/*!40000 ALTER TABLE `llx_element_element` DISABLE KEYS */; +INSERT INTO `llx_element_element` VALUES (1,2,'contrat',2,'facture'),(2,2,'propal',1,'commande'),(3,5,'commande',1,'shipping'); +/*!40000 ALTER TABLE `llx_element_element` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_element_resources` +-- + +DROP TABLE IF EXISTS `llx_element_resources`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_element_resources` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `element_id` int(11) DEFAULT NULL, + `element_type` varchar(64) DEFAULT NULL, + `resource_id` int(11) DEFAULT NULL, + `resource_type` varchar(64) DEFAULT NULL, + `busy` int(11) DEFAULT NULL, + `mandatory` int(11) DEFAULT NULL, + `fk_user_create` int(11) DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `duree` double DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `idx_element_resources_idx1` (`resource_id`,`resource_type`,`element_id`,`element_type`), + KEY `idx_element_element_element_id` (`element_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_element_resources` +-- + +LOCK TABLES `llx_element_resources` WRITE; +/*!40000 ALTER TABLE `llx_element_resources` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_element_resources` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_element_tag` +-- + +DROP TABLE IF EXISTS `llx_element_tag`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_element_tag` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `lang` varchar(5) NOT NULL, + `tag` varchar(255) NOT NULL, + `fk_element` int(11) NOT NULL, + `element` varchar(64) NOT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_element_tag` (`entity`,`lang`,`tag`,`fk_element`,`element`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_element_tag` +-- + +LOCK TABLES `llx_element_tag` WRITE; +/*!40000 ALTER TABLE `llx_element_tag` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_element_tag` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_entrepot` +-- + +DROP TABLE IF EXISTS `llx_entrepot`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_entrepot` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `label` varchar(255) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `description` text, + `lieu` varchar(64) DEFAULT NULL, + `address` varchar(255) DEFAULT NULL, + `zip` varchar(10) DEFAULT NULL, + `town` varchar(50) DEFAULT NULL, + `fk_departement` int(11) DEFAULT NULL, + `fk_pays` int(11) DEFAULT '0', + `statut` tinyint(4) DEFAULT '1', + `valo_pmp` float(12,4) DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_entrepot_label` (`label`,`entity`) +) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_entrepot` +-- + +LOCK TABLES `llx_entrepot` WRITE; +/*!40000 ALTER TABLE `llx_entrepot` DISABLE KEYS */; +INSERT INTO `llx_entrepot` VALUES (1,'2010-07-09 00:31:22','2010-07-08 22:40:36','WAREHOUSEHOUSTON',1,'Warehouse located at Houston','Warehouse houston','','','Houston',NULL,11,1,NULL,1,NULL),(2,'2010-07-09 00:41:03','2010-07-08 22:41:03','WAREHOUSEPARIS',1,'
','Warehouse Paris','','75000','Paris',NULL,1,1,NULL,1,NULL),(3,'2010-07-11 16:18:59','2016-07-30 13:52:08','Stock personnel Dupont',1,'Cet entrepôt représente le stock personnel de Alain Dupont','','','','',NULL,2,1,NULL,1,NULL),(9,'2015-10-03 11:47:41','2015-10-03 09:47:41','Personal stock Marie Curie',1,'This warehouse represents personal stock of Marie Curie','','','','',NULL,1,1,NULL,1,NULL),(10,'2015-10-05 09:07:52','2016-07-30 13:52:24','Personal stock Alex Theceo',1,'This warehouse represents personal stock of Alex Theceo','','','','',NULL,3,1,NULL,1,NULL),(12,'2015-10-05 21:29:35','2015-10-05 19:29:35','Personal stock Charly Commery',1,'This warehouse represents personal stock of Charly Commery','','','','',NULL,1,1,NULL,11,NULL),(13,'2015-10-05 21:33:33','2016-07-30 13:51:38','Personal stock Sam Scientol',1,'This warehouse represents personal stock of Sam Scientol','','','7500','Paris',NULL,1,0,NULL,11,NULL),(18,'2016-01-22 17:27:02','2016-01-22 16:27:02','Personal stock Laurent Destailleur',1,'This warehouse represents personal stock of Laurent Destailleur','','','','',NULL,1,1,NULL,12,NULL),(19,'2016-07-30 16:50:23','2016-07-30 12:50:23','Personal stock Eldy',1,'This warehouse represents personal stock of Eldy','','','','',NULL,14,1,NULL,12,NULL); +/*!40000 ALTER TABLE `llx_entrepot` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_establishment` +-- + +DROP TABLE IF EXISTS `llx_establishment`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_establishment` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `name` varchar(50) DEFAULT NULL, + `address` varchar(255) DEFAULT NULL, + `zip` varchar(25) DEFAULT NULL, + `town` varchar(50) DEFAULT NULL, + `fk_state` int(11) DEFAULT '0', + `fk_country` int(11) DEFAULT '0', + `profid1` varchar(20) DEFAULT NULL, + `profid2` varchar(20) DEFAULT NULL, + `profid3` varchar(20) DEFAULT NULL, + `phone` varchar(20) DEFAULT NULL, + `fk_user_author` int(11) NOT NULL, + `fk_user_mod` int(11) NOT NULL, + `datec` datetime NOT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `status` tinyint(4) DEFAULT '1', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_establishment` +-- + +LOCK TABLES `llx_establishment` WRITE; +/*!40000 ALTER TABLE `llx_establishment` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_establishment` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_event_element` +-- + +DROP TABLE IF EXISTS `llx_event_element`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_event_element` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_source` int(11) NOT NULL, + `fk_target` int(11) NOT NULL, + `targettype` varchar(32) NOT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_event_element` +-- + +LOCK TABLES `llx_event_element` WRITE; +/*!40000 ALTER TABLE `llx_event_element` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_event_element` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_events` +-- + +DROP TABLE IF EXISTS `llx_events`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_events` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `type` varchar(32) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `dateevent` datetime DEFAULT NULL, + `fk_user` int(11) DEFAULT NULL, + `description` varchar(250) NOT NULL, + `ip` varchar(32) NOT NULL, + `user_agent` varchar(255) DEFAULT NULL, + `fk_object` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_events_dateevent` (`dateevent`) +) ENGINE=InnoDB AUTO_INCREMENT=750 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_events` +-- + +LOCK TABLES `llx_events` WRITE; +/*!40000 ALTER TABLE `llx_events` DISABLE KEYS */; +INSERT INTO `llx_events` VALUES (30,'2011-07-18 18:23:06','USER_LOGOUT',1,'2011-07-18 20:23:06',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(31,'2011-07-18 18:23:12','USER_LOGIN_FAILED',1,'2011-07-18 20:23:12',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(32,'2011-07-18 18:23:17','USER_LOGIN',1,'2011-07-18 20:23:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(33,'2011-07-18 20:10:51','USER_LOGIN_FAILED',1,'2011-07-18 22:10:51',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(34,'2011-07-18 20:10:55','USER_LOGIN',1,'2011-07-18 22:10:55',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(35,'2011-07-18 21:18:57','USER_LOGIN',1,'2011-07-18 23:18:57',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(36,'2011-07-20 10:34:10','USER_LOGIN',1,'2011-07-20 12:34:10',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(37,'2011-07-20 12:36:44','USER_LOGIN',1,'2011-07-20 14:36:44',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(38,'2011-07-20 13:20:51','USER_LOGIN_FAILED',1,'2011-07-20 15:20:51',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(39,'2011-07-20 13:20:54','USER_LOGIN',1,'2011-07-20 15:20:54',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(40,'2011-07-20 15:03:46','USER_LOGIN_FAILED',1,'2011-07-20 17:03:46',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(41,'2011-07-20 15:03:55','USER_LOGIN',1,'2011-07-20 17:03:55',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(42,'2011-07-20 18:05:05','USER_LOGIN_FAILED',1,'2011-07-20 20:05:05',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(43,'2011-07-20 18:05:08','USER_LOGIN',1,'2011-07-20 20:05:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(44,'2011-07-20 21:08:53','USER_LOGIN_FAILED',1,'2011-07-20 23:08:53',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(45,'2011-07-20 21:08:56','USER_LOGIN',1,'2011-07-20 23:08:56',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(46,'2011-07-21 01:26:12','USER_LOGIN',1,'2011-07-21 03:26:12',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(47,'2011-07-21 22:35:45','USER_LOGIN_FAILED',1,'2011-07-22 00:35:45',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(48,'2011-07-21 22:35:49','USER_LOGIN',1,'2011-07-22 00:35:49',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(49,'2011-07-26 23:09:47','USER_LOGIN_FAILED',1,'2011-07-27 01:09:47',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(50,'2011-07-26 23:09:50','USER_LOGIN',1,'2011-07-27 01:09:50',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(51,'2011-07-27 17:02:27','USER_LOGIN_FAILED',1,'2011-07-27 19:02:27',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(52,'2011-07-27 17:02:32','USER_LOGIN',1,'2011-07-27 19:02:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(53,'2011-07-27 23:33:37','USER_LOGIN_FAILED',1,'2011-07-28 01:33:37',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(54,'2011-07-27 23:33:41','USER_LOGIN',1,'2011-07-28 01:33:41',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(55,'2011-07-28 18:20:36','USER_LOGIN_FAILED',1,'2011-07-28 20:20:36',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(56,'2011-07-28 18:20:38','USER_LOGIN',1,'2011-07-28 20:20:38',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(57,'2011-07-28 20:13:30','USER_LOGIN_FAILED',1,'2011-07-28 22:13:30',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(58,'2011-07-28 20:13:34','USER_LOGIN',1,'2011-07-28 22:13:34',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(59,'2011-07-28 20:22:51','USER_LOGIN',1,'2011-07-28 22:22:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(60,'2011-07-28 23:05:06','USER_LOGIN',1,'2011-07-29 01:05:06',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(61,'2011-07-29 20:15:50','USER_LOGIN_FAILED',1,'2011-07-29 22:15:50',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(62,'2011-07-29 20:15:53','USER_LOGIN',1,'2011-07-29 22:15:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(68,'2011-07-29 20:51:01','USER_LOGOUT',1,'2011-07-29 22:51:01',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(69,'2011-07-29 20:51:05','USER_LOGIN',1,'2011-07-29 22:51:05',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(70,'2011-07-30 08:46:20','USER_LOGIN_FAILED',1,'2011-07-30 10:46:20',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(71,'2011-07-30 08:46:38','USER_LOGIN_FAILED',1,'2011-07-30 10:46:38',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(72,'2011-07-30 08:46:42','USER_LOGIN',1,'2011-07-30 10:46:42',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(73,'2011-07-30 10:05:12','USER_LOGIN_FAILED',1,'2011-07-30 12:05:12',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(74,'2011-07-30 10:05:15','USER_LOGIN',1,'2011-07-30 12:05:15',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(75,'2011-07-30 12:15:46','USER_LOGIN',1,'2011-07-30 14:15:46',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(76,'2011-07-31 22:19:30','USER_LOGIN',1,'2011-08-01 00:19:30',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(77,'2011-07-31 23:32:52','USER_LOGIN',1,'2011-08-01 01:32:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(78,'2011-08-01 01:24:50','USER_LOGIN_FAILED',1,'2011-08-01 03:24:50',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(79,'2011-08-01 01:24:54','USER_LOGIN',1,'2011-08-01 03:24:54',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(80,'2011-08-01 19:31:36','USER_LOGIN_FAILED',1,'2011-08-01 21:31:35',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(81,'2011-08-01 19:31:39','USER_LOGIN',1,'2011-08-01 21:31:39',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(82,'2011-08-01 20:01:36','USER_LOGIN',1,'2011-08-01 22:01:36',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(83,'2011-08-01 20:52:54','USER_LOGIN_FAILED',1,'2011-08-01 22:52:54',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(84,'2011-08-01 20:52:58','USER_LOGIN',1,'2011-08-01 22:52:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(85,'2011-08-01 21:17:28','USER_LOGIN_FAILED',1,'2011-08-01 23:17:28',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(86,'2011-08-01 21:17:31','USER_LOGIN',1,'2011-08-01 23:17:31',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(87,'2011-08-04 11:55:17','USER_LOGIN',1,'2011-08-04 13:55:17',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(88,'2011-08-04 20:19:03','USER_LOGIN_FAILED',1,'2011-08-04 22:19:03',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(89,'2011-08-04 20:19:07','USER_LOGIN',1,'2011-08-04 22:19:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(90,'2011-08-05 17:51:42','USER_LOGIN_FAILED',1,'2011-08-05 19:51:42',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(91,'2011-08-05 17:51:47','USER_LOGIN',1,'2011-08-05 19:51:47',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(92,'2011-08-05 17:56:03','USER_LOGIN',1,'2011-08-05 19:56:03',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(93,'2011-08-05 17:59:10','USER_LOGIN',1,'2011-08-05 19:59:10',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30',NULL),(94,'2011-08-05 18:01:58','USER_LOGIN',1,'2011-08-05 20:01:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30',NULL),(95,'2011-08-05 19:59:56','USER_LOGIN',1,'2011-08-05 21:59:56',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(96,'2011-08-06 18:33:22','USER_LOGIN',1,'2011-08-06 20:33:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(97,'2011-08-07 00:56:59','USER_LOGIN',1,'2011-08-07 02:56:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(98,'2011-08-07 22:49:14','USER_LOGIN',1,'2011-08-08 00:49:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(99,'2011-08-07 23:05:18','USER_LOGOUT',1,'2011-08-08 01:05:18',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(105,'2011-08-08 00:41:09','USER_LOGIN',1,'2011-08-08 02:41:09',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(106,'2011-08-08 11:58:55','USER_LOGIN',1,'2011-08-08 13:58:55',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(107,'2011-08-08 14:35:48','USER_LOGIN',1,'2011-08-08 16:35:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(108,'2011-08-08 14:36:31','USER_LOGOUT',1,'2011-08-08 16:36:31',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(109,'2011-08-08 14:38:28','USER_LOGIN',1,'2011-08-08 16:38:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(110,'2011-08-08 14:39:02','USER_LOGOUT',1,'2011-08-08 16:39:02',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(111,'2011-08-08 14:39:10','USER_LOGIN',1,'2011-08-08 16:39:10',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(112,'2011-08-08 14:39:28','USER_LOGOUT',1,'2011-08-08 16:39:28',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(113,'2011-08-08 14:39:37','USER_LOGIN',1,'2011-08-08 16:39:37',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(114,'2011-08-08 14:50:02','USER_LOGOUT',1,'2011-08-08 16:50:02',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(115,'2011-08-08 14:51:45','USER_LOGIN_FAILED',1,'2011-08-08 16:51:45',NULL,'Identifiants login ou mot de passe incorrects - login=','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(116,'2011-08-08 14:51:52','USER_LOGIN',1,'2011-08-08 16:51:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(117,'2011-08-08 15:09:54','USER_LOGOUT',1,'2011-08-08 17:09:54',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(118,'2011-08-08 15:10:19','USER_LOGIN_FAILED',1,'2011-08-08 17:10:19',NULL,'Identifiants login ou mot de passe incorrects - login=','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(119,'2011-08-08 15:10:28','USER_LOGIN',1,'2011-08-08 17:10:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(121,'2011-08-08 15:14:58','USER_LOGOUT',1,'2011-08-08 17:14:58',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(122,'2011-08-08 15:15:00','USER_LOGIN_FAILED',1,'2011-08-08 17:15:00',NULL,'Identifiants login ou mot de passe incorrects - login=','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(123,'2011-08-08 15:17:57','USER_LOGIN',1,'2011-08-08 17:17:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(124,'2011-08-08 15:35:56','USER_LOGOUT',1,'2011-08-08 17:35:56',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(125,'2011-08-08 15:36:05','USER_LOGIN',1,'2011-08-08 17:36:05',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(126,'2011-08-08 17:32:42','USER_LOGIN',1,'2011-08-08 19:32:42',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(127,'2012-12-08 13:49:37','USER_LOGOUT',1,'2012-12-08 14:49:37',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(128,'2012-12-08 13:49:42','USER_LOGIN',1,'2012-12-08 14:49:42',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(129,'2012-12-08 13:50:12','USER_LOGOUT',1,'2012-12-08 14:50:12',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(130,'2012-12-08 13:50:14','USER_LOGIN',1,'2012-12-08 14:50:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(131,'2012-12-08 13:50:17','USER_LOGOUT',1,'2012-12-08 14:50:17',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(132,'2012-12-08 13:52:47','USER_LOGIN',1,'2012-12-08 14:52:47',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(133,'2012-12-08 13:53:08','USER_MODIFY',1,'2012-12-08 14:53:08',1,'User admin modified','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(134,'2012-12-08 14:08:45','USER_LOGOUT',1,'2012-12-08 15:08:45',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(135,'2012-12-08 14:09:09','USER_LOGIN',1,'2012-12-08 15:09:09',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(136,'2012-12-08 14:11:43','USER_LOGOUT',1,'2012-12-08 15:11:43',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(137,'2012-12-08 14:11:45','USER_LOGIN',1,'2012-12-08 15:11:45',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(138,'2012-12-08 14:22:53','USER_LOGOUT',1,'2012-12-08 15:22:53',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(139,'2012-12-08 14:22:54','USER_LOGIN',1,'2012-12-08 15:22:54',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(140,'2012-12-08 14:23:10','USER_LOGOUT',1,'2012-12-08 15:23:10',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(141,'2012-12-08 14:23:11','USER_LOGIN',1,'2012-12-08 15:23:11',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(142,'2012-12-08 14:23:49','USER_LOGOUT',1,'2012-12-08 15:23:49',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(143,'2012-12-08 14:23:50','USER_LOGIN',1,'2012-12-08 15:23:50',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(144,'2012-12-08 14:28:08','USER_LOGOUT',1,'2012-12-08 15:28:08',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(145,'2012-12-08 14:35:15','USER_LOGIN',1,'2012-12-08 15:35:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(146,'2012-12-08 14:35:18','USER_LOGOUT',1,'2012-12-08 15:35:18',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(147,'2012-12-08 14:36:07','USER_LOGIN',1,'2012-12-08 15:36:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(148,'2012-12-08 14:36:09','USER_LOGOUT',1,'2012-12-08 15:36:09',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(149,'2012-12-08 14:36:41','USER_LOGIN',1,'2012-12-08 15:36:41',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(150,'2012-12-08 15:59:13','USER_LOGIN',1,'2012-12-08 16:59:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(151,'2012-12-09 11:49:52','USER_LOGIN',1,'2012-12-09 12:49:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(152,'2012-12-09 13:46:31','USER_LOGIN',1,'2012-12-09 14:46:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(153,'2012-12-09 19:03:14','USER_LOGIN',1,'2012-12-09 20:03:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(154,'2012-12-10 00:16:31','USER_LOGIN',1,'2012-12-10 01:16:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(170,'2012-12-11 22:03:31','USER_LOGIN',1,'2012-12-11 23:03:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(171,'2012-12-12 00:32:39','USER_LOGIN',1,'2012-12-12 01:32:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(172,'2012-12-12 10:49:59','USER_LOGIN',1,'2012-12-12 11:49:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(175,'2012-12-12 10:57:40','USER_MODIFY',1,'2012-12-12 11:57:40',1,'Modification utilisateur admin','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(176,'2012-12-12 13:29:15','USER_LOGIN',1,'2012-12-12 14:29:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(177,'2012-12-12 13:30:15','USER_LOGIN',1,'2012-12-12 14:30:15',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(178,'2012-12-12 13:40:08','USER_LOGOUT',1,'2012-12-12 14:40:08',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(179,'2012-12-12 13:40:10','USER_LOGIN',1,'2012-12-12 14:40:10',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(180,'2012-12-12 13:40:26','USER_MODIFY',1,'2012-12-12 14:40:26',1,'Modification utilisateur admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(181,'2012-12-12 13:40:34','USER_LOGOUT',1,'2012-12-12 14:40:34',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(182,'2012-12-12 13:42:23','USER_LOGIN',1,'2012-12-12 14:42:23',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(183,'2012-12-12 13:43:02','USER_NEW_PASSWORD',1,'2012-12-12 14:43:02',NULL,'Changement mot de passe de admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(184,'2012-12-12 13:43:25','USER_LOGOUT',1,'2012-12-12 14:43:25',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(185,'2012-12-12 13:43:27','USER_LOGIN_FAILED',1,'2012-12-12 14:43:27',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(186,'2012-12-12 13:43:30','USER_LOGIN',1,'2012-12-12 14:43:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(187,'2012-12-12 14:52:11','USER_LOGIN',1,'2012-12-12 15:52:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(188,'2012-12-12 17:53:00','USER_LOGIN_FAILED',1,'2012-12-12 18:53:00',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(189,'2012-12-12 17:53:07','USER_LOGIN_FAILED',1,'2012-12-12 18:53:07',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(190,'2012-12-12 17:53:51','USER_NEW_PASSWORD',1,'2012-12-12 18:53:51',NULL,'Changement mot de passe de admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(191,'2012-12-12 17:54:00','USER_LOGIN',1,'2012-12-12 18:54:00',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(192,'2012-12-12 17:54:10','USER_NEW_PASSWORD',1,'2012-12-12 18:54:10',1,'Changement mot de passe de admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(193,'2012-12-12 17:54:10','USER_MODIFY',1,'2012-12-12 18:54:10',1,'Modification utilisateur admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(194,'2012-12-12 18:57:09','USER_LOGIN',1,'2012-12-12 19:57:09',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(195,'2012-12-12 23:04:08','USER_LOGIN',1,'2012-12-13 00:04:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(196,'2012-12-17 20:03:14','USER_LOGIN',1,'2012-12-17 21:03:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(197,'2012-12-17 21:18:45','USER_LOGIN',1,'2012-12-17 22:18:45',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(198,'2012-12-17 22:30:08','USER_LOGIN',1,'2012-12-17 23:30:08',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(199,'2012-12-18 23:32:03','USER_LOGIN',1,'2012-12-19 00:32:03',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(200,'2012-12-19 09:38:03','USER_LOGIN',1,'2012-12-19 10:38:03',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(201,'2012-12-19 11:23:35','USER_LOGIN',1,'2012-12-19 12:23:35',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(202,'2012-12-19 12:46:22','USER_LOGIN',1,'2012-12-19 13:46:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(214,'2012-12-19 19:11:31','USER_LOGIN',1,'2012-12-19 20:11:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(215,'2012-12-21 16:36:57','USER_LOGIN',1,'2012-12-21 17:36:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(216,'2012-12-21 16:38:43','USER_NEW_PASSWORD',1,'2012-12-21 17:38:43',1,'Changement mot de passe de adupont','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(217,'2012-12-21 16:38:43','USER_MODIFY',1,'2012-12-21 17:38:43',1,'Modification utilisateur adupont','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(218,'2012-12-21 16:38:51','USER_LOGOUT',1,'2012-12-21 17:38:51',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(219,'2012-12-21 16:38:55','USER_LOGIN',1,'2012-12-21 17:38:55',3,'(UserLogged,adupont)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(220,'2012-12-21 16:48:18','USER_LOGOUT',1,'2012-12-21 17:48:18',3,'(UserLogoff,adupont)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(221,'2012-12-21 16:48:20','USER_LOGIN',1,'2012-12-21 17:48:20',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(222,'2012-12-26 18:28:18','USER_LOGIN',1,'2012-12-26 19:28:18',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(223,'2012-12-26 20:00:24','USER_LOGIN',1,'2012-12-26 21:00:24',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(224,'2012-12-27 01:10:27','USER_LOGIN',1,'2012-12-27 02:10:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(225,'2012-12-28 19:12:08','USER_LOGIN',1,'2012-12-28 20:12:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(226,'2012-12-28 20:16:58','USER_LOGIN',1,'2012-12-28 21:16:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(227,'2012-12-29 14:35:46','USER_LOGIN',1,'2012-12-29 15:35:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(228,'2012-12-29 14:37:59','USER_LOGOUT',1,'2012-12-29 15:37:59',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(229,'2012-12-29 14:38:00','USER_LOGIN',1,'2012-12-29 15:38:00',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(230,'2012-12-29 17:16:48','USER_LOGIN',1,'2012-12-29 18:16:48',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(231,'2012-12-31 12:02:59','USER_LOGIN',1,'2012-12-31 13:02:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(232,'2013-01-02 20:32:51','USER_LOGIN',1,'2013-01-02 21:32:51',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:17.0) Gecko/20100101 Firefox/17.0',NULL),(233,'2013-01-02 20:58:59','USER_LOGIN',1,'2013-01-02 21:58:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(234,'2013-01-03 09:25:07','USER_LOGIN',1,'2013-01-03 10:25:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(235,'2013-01-03 19:39:31','USER_LOGIN',1,'2013-01-03 20:39:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(236,'2013-01-04 22:40:19','USER_LOGIN',1,'2013-01-04 23:40:19',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(237,'2013-01-05 12:59:59','USER_LOGIN',1,'2013-01-05 13:59:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(238,'2013-01-05 15:28:52','USER_LOGIN',1,'2013-01-05 16:28:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(239,'2013-01-05 17:02:08','USER_LOGIN',1,'2013-01-05 18:02:08',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(240,'2013-01-06 12:13:33','USER_LOGIN',1,'2013-01-06 13:13:33',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(241,'2013-01-07 01:21:15','USER_LOGIN',1,'2013-01-07 02:21:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(242,'2013-01-07 01:46:31','USER_LOGOUT',1,'2013-01-07 02:46:31',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(243,'2013-01-07 19:54:50','USER_LOGIN',1,'2013-01-07 20:54:50',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(244,'2013-01-08 21:55:01','USER_LOGIN',1,'2013-01-08 22:55:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(245,'2013-01-09 11:13:28','USER_LOGIN',1,'2013-01-09 12:13:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(246,'2013-01-10 18:30:46','USER_LOGIN',1,'2013-01-10 19:30:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(247,'2013-01-11 18:03:26','USER_LOGIN',1,'2013-01-11 19:03:26',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(248,'2013-01-12 11:15:04','USER_LOGIN',1,'2013-01-12 12:15:04',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(249,'2013-01-12 14:42:44','USER_LOGIN',1,'2013-01-12 15:42:44',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(250,'2013-01-13 12:07:17','USER_LOGIN',1,'2013-01-13 13:07:17',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(251,'2013-01-13 17:37:58','USER_LOGIN',1,'2013-01-13 18:37:58',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(252,'2013-01-13 19:24:21','USER_LOGIN',1,'2013-01-13 20:24:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(253,'2013-01-13 19:29:19','USER_LOGOUT',1,'2013-01-13 20:29:19',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(254,'2013-01-13 21:39:39','USER_LOGIN',1,'2013-01-13 22:39:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(255,'2013-01-14 00:52:21','USER_LOGIN',1,'2013-01-14 01:52:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(256,'2013-01-16 11:34:31','USER_LOGIN',1,'2013-01-16 12:34:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(257,'2013-01-16 15:36:21','USER_LOGIN',1,'2013-01-16 16:36:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(258,'2013-01-16 19:17:36','USER_LOGIN',1,'2013-01-16 20:17:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(259,'2013-01-16 19:48:08','GROUP_CREATE',1,'2013-01-16 20:48:08',1,'Création groupe ggg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(260,'2013-01-16 21:48:53','USER_LOGIN',1,'2013-01-16 22:48:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(261,'2013-01-17 19:55:53','USER_LOGIN',1,'2013-01-17 20:55:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(262,'2013-01-18 09:48:01','USER_LOGIN',1,'2013-01-18 10:48:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(263,'2013-01-18 13:22:36','USER_LOGIN',1,'2013-01-18 14:22:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(264,'2013-01-18 16:10:23','USER_LOGIN',1,'2013-01-18 17:10:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(265,'2013-01-18 17:41:40','USER_LOGIN',1,'2013-01-18 18:41:40',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(266,'2013-01-19 14:33:48','USER_LOGIN',1,'2013-01-19 15:33:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(267,'2013-01-19 16:47:43','USER_LOGIN',1,'2013-01-19 17:47:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(268,'2013-01-19 16:59:43','USER_LOGIN',1,'2013-01-19 17:59:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(269,'2013-01-19 17:00:22','USER_LOGIN',1,'2013-01-19 18:00:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(270,'2013-01-19 17:04:16','USER_LOGOUT',1,'2013-01-19 18:04:16',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(271,'2013-01-19 17:04:18','USER_LOGIN',1,'2013-01-19 18:04:18',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(272,'2013-01-20 00:34:19','USER_LOGIN',1,'2013-01-20 01:34:19',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(273,'2013-01-21 11:54:17','USER_LOGIN',1,'2013-01-21 12:54:17',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(274,'2013-01-21 13:48:15','USER_LOGIN',1,'2013-01-21 14:48:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(275,'2013-01-21 14:30:22','USER_LOGIN',1,'2013-01-21 15:30:22',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(276,'2013-01-21 15:10:46','USER_LOGIN',1,'2013-01-21 16:10:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(277,'2013-01-21 17:27:43','USER_LOGIN',1,'2013-01-21 18:27:43',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(278,'2013-01-21 21:48:15','USER_LOGIN',1,'2013-01-21 22:48:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(279,'2013-01-21 21:50:42','USER_LOGIN',1,'2013-01-21 22:50:42',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(280,'2013-01-23 09:28:26','USER_LOGIN',1,'2013-01-23 10:28:26',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(281,'2013-01-23 13:21:57','USER_LOGIN',1,'2013-01-23 14:21:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(282,'2013-01-23 16:52:00','USER_LOGOUT',1,'2013-01-23 17:52:00',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(283,'2013-01-23 16:52:05','USER_LOGIN_FAILED',1,'2013-01-23 17:52:05',NULL,'Bad value for login or password - login=bbb','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(284,'2013-01-23 16:52:09','USER_LOGIN',1,'2013-01-23 17:52:09',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(285,'2013-01-23 16:52:27','USER_CREATE',1,'2013-01-23 17:52:27',1,'Création utilisateur aaa','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(286,'2013-01-23 16:52:27','USER_NEW_PASSWORD',1,'2013-01-23 17:52:27',1,'Changement mot de passe de aaa','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(287,'2013-01-23 16:52:37','USER_CREATE',1,'2013-01-23 17:52:37',1,'Création utilisateur bbb','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(288,'2013-01-23 16:52:37','USER_NEW_PASSWORD',1,'2013-01-23 17:52:37',1,'Changement mot de passe de bbb','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(289,'2013-01-23 16:53:15','USER_LOGOUT',1,'2013-01-23 17:53:15',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(290,'2013-01-23 16:53:20','USER_LOGIN',1,'2013-01-23 17:53:20',4,'(UserLogged,aaa)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(291,'2013-01-23 19:16:58','USER_LOGIN',1,'2013-01-23 20:16:58',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(292,'2013-01-26 10:54:07','USER_LOGIN',1,'2013-01-26 11:54:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(293,'2013-01-29 10:15:36','USER_LOGIN',1,'2013-01-29 11:15:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(294,'2013-01-30 17:42:50','USER_LOGIN',1,'2013-01-30 18:42:50',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(295,'2013-02-01 08:49:55','USER_LOGIN',1,'2013-02-01 09:49:55',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(296,'2013-02-01 08:51:57','USER_LOGOUT',1,'2013-02-01 09:51:57',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(297,'2013-02-01 08:52:39','USER_LOGIN',1,'2013-02-01 09:52:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(298,'2013-02-01 21:03:01','USER_LOGIN',1,'2013-02-01 22:03:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(299,'2013-02-10 19:48:39','USER_LOGIN',1,'2013-02-10 20:48:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(300,'2013-02-10 20:46:48','USER_LOGIN',1,'2013-02-10 21:46:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(301,'2013-02-10 21:39:23','USER_LOGIN',1,'2013-02-10 22:39:23',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(302,'2013-02-11 19:00:13','USER_LOGIN',1,'2013-02-11 20:00:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(303,'2013-02-11 19:43:44','USER_LOGIN_FAILED',1,'2013-02-11 20:43:44',NULL,'Unknown column \'u.fk_user\' in \'field list\'','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(304,'2013-02-11 19:44:01','USER_LOGIN',1,'2013-02-11 20:44:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(305,'2013-02-12 00:27:35','USER_LOGIN',1,'2013-02-12 01:27:35',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(306,'2013-02-12 00:27:38','USER_LOGOUT',1,'2013-02-12 01:27:38',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(307,'2013-02-12 00:28:07','USER_LOGIN',1,'2013-02-12 01:28:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(308,'2013-02-12 00:28:09','USER_LOGOUT',1,'2013-02-12 01:28:09',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(309,'2013-02-12 00:28:26','USER_LOGIN',1,'2013-02-12 01:28:26',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(310,'2013-02-12 00:28:30','USER_LOGOUT',1,'2013-02-12 01:28:30',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(311,'2013-02-12 12:42:15','USER_LOGIN',1,'2013-02-12 13:42:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(312,'2013-02-12 13:46:16','USER_LOGIN',1,'2013-02-12 14:46:16',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(313,'2013-02-12 14:54:28','USER_LOGIN',1,'2013-02-12 15:54:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(314,'2013-02-12 16:04:46','USER_LOGIN',1,'2013-02-12 17:04:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(315,'2013-02-13 14:02:43','USER_LOGIN',1,'2013-02-13 15:02:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(316,'2013-02-13 14:48:30','USER_LOGIN',1,'2013-02-13 15:48:30',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(317,'2013-02-13 17:44:53','USER_LOGIN',1,'2013-02-13 18:44:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(318,'2013-02-15 08:44:36','USER_LOGIN',1,'2013-02-15 09:44:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(319,'2013-02-15 08:53:20','USER_LOGIN',1,'2013-02-15 09:53:20',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(320,'2013-02-16 19:10:28','USER_LOGIN',1,'2013-02-16 20:10:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(321,'2013-02-16 19:22:40','USER_CREATE',1,'2013-02-16 20:22:40',1,'Création utilisateur aaab','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(322,'2013-02-16 19:22:40','USER_NEW_PASSWORD',1,'2013-02-16 20:22:40',1,'Changement mot de passe de aaab','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(323,'2013-02-16 19:48:15','USER_CREATE',1,'2013-02-16 20:48:15',1,'Création utilisateur zzz','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(324,'2013-02-16 19:48:15','USER_NEW_PASSWORD',1,'2013-02-16 20:48:15',1,'Changement mot de passe de zzz','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(325,'2013-02-16 19:50:08','USER_CREATE',1,'2013-02-16 20:50:08',1,'Création utilisateur zzzg','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(326,'2013-02-16 19:50:08','USER_NEW_PASSWORD',1,'2013-02-16 20:50:08',1,'Changement mot de passe de zzzg','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(327,'2013-02-16 21:20:03','USER_LOGIN',1,'2013-02-16 22:20:03',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(328,'2013-02-17 14:30:51','USER_LOGIN',1,'2013-02-17 15:30:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(329,'2013-02-17 17:21:22','USER_LOGIN',1,'2013-02-17 18:21:22',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(330,'2013-02-17 17:48:43','USER_MODIFY',1,'2013-02-17 18:48:43',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(331,'2013-02-17 17:48:47','USER_MODIFY',1,'2013-02-17 18:48:47',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(332,'2013-02-17 17:48:51','USER_MODIFY',1,'2013-02-17 18:48:51',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(333,'2013-02-17 17:48:56','USER_MODIFY',1,'2013-02-17 18:48:56',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(334,'2013-02-18 22:00:01','USER_LOGIN',1,'2013-02-18 23:00:01',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(335,'2013-02-19 08:19:52','USER_LOGIN',1,'2013-02-19 09:19:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(336,'2013-02-19 22:00:52','USER_LOGIN',1,'2013-02-19 23:00:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(337,'2013-02-20 09:34:52','USER_LOGIN',1,'2013-02-20 10:34:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(338,'2013-02-20 13:12:28','USER_LOGIN',1,'2013-02-20 14:12:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(339,'2013-02-20 17:19:44','USER_LOGIN',1,'2013-02-20 18:19:44',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(340,'2013-02-20 19:07:21','USER_MODIFY',1,'2013-02-20 20:07:21',1,'Modification utilisateur adupont','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(341,'2013-02-20 19:47:17','USER_LOGIN',1,'2013-02-20 20:47:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(342,'2013-02-20 19:48:01','USER_MODIFY',1,'2013-02-20 20:48:01',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(343,'2013-02-21 08:27:07','USER_LOGIN',1,'2013-02-21 09:27:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(344,'2013-02-23 13:34:13','USER_LOGIN',1,'2013-02-23 14:34:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(345,'2013-02-24 01:06:41','USER_LOGIN_FAILED',1,'2013-02-24 02:06:41',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(346,'2013-02-24 01:06:45','USER_LOGIN_FAILED',1,'2013-02-24 02:06:45',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(347,'2013-02-24 01:06:55','USER_LOGIN_FAILED',1,'2013-02-24 02:06:55',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(348,'2013-02-24 01:07:03','USER_LOGIN_FAILED',1,'2013-02-24 02:07:03',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(349,'2013-02-24 01:07:21','USER_LOGIN_FAILED',1,'2013-02-24 02:07:21',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(350,'2013-02-24 01:08:12','USER_LOGIN_FAILED',1,'2013-02-24 02:08:12',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(351,'2013-02-24 01:08:42','USER_LOGIN_FAILED',1,'2013-02-24 02:08:42',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(352,'2013-02-24 01:08:50','USER_LOGIN_FAILED',1,'2013-02-24 02:08:50',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(353,'2013-02-24 01:09:08','USER_LOGIN_FAILED',1,'2013-02-24 02:09:08',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(354,'2013-02-24 01:09:42','USER_LOGIN_FAILED',1,'2013-02-24 02:09:42',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(355,'2013-02-24 01:09:50','USER_LOGIN_FAILED',1,'2013-02-24 02:09:50',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(356,'2013-02-24 01:10:05','USER_LOGIN_FAILED',1,'2013-02-24 02:10:05',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(357,'2013-02-24 01:10:22','USER_LOGIN_FAILED',1,'2013-02-24 02:10:22',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(358,'2013-02-24 01:10:30','USER_LOGIN_FAILED',1,'2013-02-24 02:10:30',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(359,'2013-02-24 01:10:56','USER_LOGIN_FAILED',1,'2013-02-24 02:10:56',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(360,'2013-02-24 01:11:26','USER_LOGIN_FAILED',1,'2013-02-24 02:11:26',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(361,'2013-02-24 01:12:06','USER_LOGIN_FAILED',1,'2013-02-24 02:12:06',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(362,'2013-02-24 01:21:14','USER_LOGIN_FAILED',1,'2013-02-24 02:21:14',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(363,'2013-02-24 01:21:25','USER_LOGIN_FAILED',1,'2013-02-24 02:21:25',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(364,'2013-02-24 01:21:54','USER_LOGIN_FAILED',1,'2013-02-24 02:21:54',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(365,'2013-02-24 01:22:14','USER_LOGIN_FAILED',1,'2013-02-24 02:22:14',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(366,'2013-02-24 01:22:37','USER_LOGIN_FAILED',1,'2013-02-24 02:22:37',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(367,'2013-02-24 01:23:01','USER_LOGIN_FAILED',1,'2013-02-24 02:23:01',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(368,'2013-02-24 01:23:39','USER_LOGIN_FAILED',1,'2013-02-24 02:23:39',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(369,'2013-02-24 01:24:04','USER_LOGIN_FAILED',1,'2013-02-24 02:24:04',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(370,'2013-02-24 01:24:39','USER_LOGIN_FAILED',1,'2013-02-24 02:24:39',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(371,'2013-02-24 01:25:01','USER_LOGIN_FAILED',1,'2013-02-24 02:25:01',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(372,'2013-02-24 01:25:12','USER_LOGIN_FAILED',1,'2013-02-24 02:25:12',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(373,'2013-02-24 01:27:30','USER_LOGIN_FAILED',1,'2013-02-24 02:27:30',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(374,'2013-02-24 01:28:00','USER_LOGIN_FAILED',1,'2013-02-24 02:28:00',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(375,'2013-02-24 01:28:35','USER_LOGIN_FAILED',1,'2013-02-24 02:28:35',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(376,'2013-02-24 01:29:03','USER_LOGIN_FAILED',1,'2013-02-24 02:29:03',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(377,'2013-02-24 01:29:55','USER_LOGIN_FAILED',1,'2013-02-24 02:29:55',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(378,'2013-02-24 01:32:40','USER_LOGIN_FAILED',1,'2013-02-24 02:32:40',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(379,'2013-02-24 01:39:33','USER_LOGIN_FAILED',1,'2013-02-24 02:39:33',NULL,'Identifiants login ou mot de passe incorrects - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(380,'2013-02-24 01:39:38','USER_LOGIN_FAILED',1,'2013-02-24 02:39:38',NULL,'Identifiants login ou mot de passe incorrects - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(381,'2013-02-24 01:39:47','USER_LOGIN_FAILED',1,'2013-02-24 02:39:47',NULL,'Identifiants login ou mot de passe incorrects - login=lmkm','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(382,'2013-02-24 01:40:54','USER_LOGIN_FAILED',1,'2013-02-24 02:40:54',NULL,'Identifiants login ou mot de passe incorrects - login=lmkm','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(383,'2013-02-24 01:47:57','USER_LOGIN_FAILED',1,'2013-02-24 02:47:57',NULL,'Identifiants login ou mot de passe incorrects - login=lmkm','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(384,'2013-02-24 01:48:05','USER_LOGIN_FAILED',1,'2013-02-24 02:48:05',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(385,'2013-02-24 01:48:07','USER_LOGIN_FAILED',1,'2013-02-24 02:48:07',NULL,'Unknown column \'u.lastname\' in \'field list\'','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(386,'2013-02-24 01:48:35','USER_LOGIN',1,'2013-02-24 02:48:35',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(387,'2013-02-24 01:56:32','USER_LOGIN',1,'2013-02-24 02:56:32',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',NULL),(388,'2013-02-24 02:05:55','USER_LOGOUT',1,'2013-02-24 03:05:55',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(389,'2013-02-24 02:39:52','USER_LOGIN',1,'2013-02-24 03:39:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(390,'2013-02-24 02:51:10','USER_LOGOUT',1,'2013-02-24 03:51:10',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(391,'2013-02-24 12:46:41','USER_LOGIN',1,'2013-02-24 13:46:41',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(392,'2013-02-24 12:46:52','USER_LOGOUT',1,'2013-02-24 13:46:52',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(393,'2013-02-24 12:46:56','USER_LOGIN',1,'2013-02-24 13:46:56',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(394,'2013-02-24 12:47:56','USER_LOGOUT',1,'2013-02-24 13:47:56',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(395,'2013-02-24 12:48:00','USER_LOGIN',1,'2013-02-24 13:48:00',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(396,'2013-02-24 12:48:11','USER_LOGOUT',1,'2013-02-24 13:48:11',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(397,'2013-02-24 12:48:32','USER_LOGIN',1,'2013-02-24 13:48:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(398,'2013-02-24 12:52:22','USER_LOGOUT',1,'2013-02-24 13:52:22',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(399,'2013-02-24 12:52:27','USER_LOGIN',1,'2013-02-24 13:52:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(400,'2013-02-24 12:52:54','USER_LOGOUT',1,'2013-02-24 13:52:54',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(401,'2013-02-24 12:52:59','USER_LOGIN',1,'2013-02-24 13:52:59',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(402,'2013-02-24 12:55:39','USER_LOGOUT',1,'2013-02-24 13:55:39',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(403,'2013-02-24 12:55:59','USER_LOGIN',1,'2013-02-24 13:55:59',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(404,'2013-02-24 12:56:07','USER_LOGOUT',1,'2013-02-24 13:56:07',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(405,'2013-02-24 12:56:23','USER_LOGIN',1,'2013-02-24 13:56:23',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(406,'2013-02-24 12:56:46','USER_LOGOUT',1,'2013-02-24 13:56:46',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(407,'2013-02-24 12:58:30','USER_LOGIN',1,'2013-02-24 13:58:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(408,'2013-02-24 12:58:33','USER_LOGOUT',1,'2013-02-24 13:58:33',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(409,'2013-02-24 12:58:51','USER_LOGIN',1,'2013-02-24 13:58:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(410,'2013-02-24 12:58:58','USER_LOGOUT',1,'2013-02-24 13:58:58',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(411,'2013-02-24 13:18:53','USER_LOGIN',1,'2013-02-24 14:18:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(412,'2013-02-24 13:19:52','USER_LOGOUT',1,'2013-02-24 14:19:52',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(413,'2013-02-24 15:39:31','USER_LOGIN_FAILED',1,'2013-02-24 16:39:31',NULL,'ErrorBadValueForCode - login=admin','127.0.0.1',NULL,NULL),(414,'2013-02-24 15:42:07','USER_LOGIN',1,'2013-02-24 16:42:07',1,'(UserLogged,admin)','127.0.0.1',NULL,NULL),(415,'2013-02-24 15:42:52','USER_LOGOUT',1,'2013-02-24 16:42:52',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(416,'2013-02-24 16:04:21','USER_LOGIN',1,'2013-02-24 17:04:21',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',NULL),(417,'2013-02-24 16:11:28','USER_LOGIN_FAILED',1,'2013-02-24 17:11:28',NULL,'ErrorBadValueForCode - login=admin','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(418,'2013-02-24 16:11:37','USER_LOGIN',1,'2013-02-24 17:11:37',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(419,'2013-02-24 16:36:52','USER_LOGOUT',1,'2013-02-24 17:36:52',1,'(UserLogoff,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',NULL),(420,'2013-02-24 16:40:37','USER_LOGIN',1,'2013-02-24 17:40:37',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(421,'2013-02-24 16:57:16','USER_LOGIN',1,'2013-02-24 17:57:16',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 - 2131034114',NULL),(422,'2013-02-24 17:01:30','USER_LOGOUT',1,'2013-02-24 18:01:30',1,'(UserLogoff,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 - 2131034114',NULL),(423,'2013-02-24 17:02:33','USER_LOGIN',1,'2013-02-24 18:02:33',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(424,'2013-02-24 17:14:22','USER_LOGOUT',1,'2013-02-24 18:14:22',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(425,'2013-02-24 17:15:07','USER_LOGIN_FAILED',1,'2013-02-24 18:15:07',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(426,'2013-02-24 17:15:20','USER_LOGIN',1,'2013-02-24 18:15:20',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(427,'2013-02-24 17:20:14','USER_LOGIN',1,'2013-02-24 18:20:14',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(428,'2013-02-24 17:20:51','USER_LOGIN',1,'2013-02-24 18:20:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(429,'2013-02-24 17:20:54','USER_LOGOUT',1,'2013-02-24 18:20:54',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(430,'2013-02-24 17:21:19','USER_LOGIN',1,'2013-02-24 18:21:19',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(431,'2013-02-24 17:32:35','USER_LOGIN',1,'2013-02-24 18:32:35',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 - 2131034114',NULL),(432,'2013-02-24 18:28:48','USER_LOGIN',1,'2013-02-24 19:28:48',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(433,'2013-02-24 18:29:27','USER_LOGOUT',1,'2013-02-24 19:29:27',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(434,'2013-02-24 18:29:32','USER_LOGIN',1,'2013-02-24 19:29:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(435,'2013-02-24 20:13:13','USER_LOGOUT',1,'2013-02-24 21:13:13',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(436,'2013-02-24 20:13:17','USER_LOGIN',1,'2013-02-24 21:13:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(437,'2013-02-25 08:57:16','USER_LOGIN',1,'2013-02-25 09:57:16',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(438,'2013-02-25 08:57:59','USER_LOGOUT',1,'2013-02-25 09:57:59',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(439,'2013-02-25 09:15:02','USER_LOGIN',1,'2013-02-25 10:15:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(440,'2013-02-25 09:15:50','USER_LOGOUT',1,'2013-02-25 10:15:50',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(441,'2013-02-25 09:15:57','USER_LOGIN',1,'2013-02-25 10:15:57',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(442,'2013-02-25 09:16:12','USER_LOGOUT',1,'2013-02-25 10:16:12',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(443,'2013-02-25 09:16:19','USER_LOGIN',1,'2013-02-25 10:16:19',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(444,'2013-02-25 09:16:25','USER_LOGOUT',1,'2013-02-25 10:16:25',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(445,'2013-02-25 09:16:39','USER_LOGIN_FAILED',1,'2013-02-25 10:16:39',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(446,'2013-02-25 09:16:42','USER_LOGIN_FAILED',1,'2013-02-25 10:16:42',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(447,'2013-02-25 09:16:54','USER_LOGIN_FAILED',1,'2013-02-25 10:16:54',NULL,'Identificadors d'usuari o contrasenya incorrectes - login=gfdg','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(448,'2013-02-25 09:17:53','USER_LOGIN',1,'2013-02-25 10:17:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(449,'2013-02-25 09:18:37','USER_LOGOUT',1,'2013-02-25 10:18:37',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(450,'2013-02-25 09:18:41','USER_LOGIN',1,'2013-02-25 10:18:41',4,'(UserLogged,aaa)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(451,'2013-02-25 09:18:47','USER_LOGOUT',1,'2013-02-25 10:18:47',4,'(UserLogoff,aaa)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(452,'2013-02-25 10:05:34','USER_LOGIN',1,'2013-02-25 11:05:34',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(453,'2013-02-26 21:51:40','USER_LOGIN',1,'2013-02-26 22:51:40',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(454,'2013-02-26 23:30:06','USER_LOGIN',1,'2013-02-27 00:30:06',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(455,'2013-02-27 14:13:11','USER_LOGIN',1,'2013-02-27 15:13:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(456,'2013-02-27 18:12:06','USER_LOGIN_FAILED',1,'2013-02-27 19:12:06',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(457,'2013-02-27 18:12:10','USER_LOGIN',1,'2013-02-27 19:12:10',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(458,'2013-02-27 20:20:08','USER_LOGIN',1,'2013-02-27 21:20:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(459,'2013-03-01 22:12:03','USER_LOGIN',1,'2013-03-01 23:12:03',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(460,'2013-03-02 11:45:50','USER_LOGIN',1,'2013-03-02 12:45:50',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(461,'2013-03-02 15:53:51','USER_LOGIN_FAILED',1,'2013-03-02 16:53:51',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(462,'2013-03-02 15:53:53','USER_LOGIN',1,'2013-03-02 16:53:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(463,'2013-03-02 18:32:32','USER_LOGIN',1,'2013-03-02 19:32:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(464,'2013-03-02 22:59:36','USER_LOGIN',1,'2013-03-02 23:59:36',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(465,'2013-03-03 16:26:26','USER_LOGIN',1,'2013-03-03 17:26:26',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(466,'2013-03-03 22:50:27','USER_LOGIN',1,'2013-03-03 23:50:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(467,'2013-03-04 08:29:27','USER_LOGIN',1,'2013-03-04 09:29:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(468,'2013-03-04 18:27:28','USER_LOGIN',1,'2013-03-04 19:27:28',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; NP06)',NULL),(469,'2013-03-04 19:27:23','USER_LOGIN',1,'2013-03-04 20:27:23',1,'(UserLogged,admin)','192.168.0.254','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)',NULL),(470,'2013-03-04 19:35:14','USER_LOGIN',1,'2013-03-04 20:35:14',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(471,'2013-03-04 19:55:49','USER_LOGIN',1,'2013-03-04 20:55:49',1,'(UserLogged,admin)','192.168.0.254','Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)',NULL),(472,'2013-03-04 21:16:13','USER_LOGIN',1,'2013-03-04 22:16:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(473,'2013-03-05 10:17:30','USER_LOGIN',1,'2013-03-05 11:17:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(474,'2013-03-05 11:02:43','USER_LOGIN',1,'2013-03-05 12:02:43',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(475,'2013-03-05 23:14:39','USER_LOGIN',1,'2013-03-06 00:14:39',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(476,'2013-03-06 08:58:57','USER_LOGIN',1,'2013-03-06 09:58:57',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(477,'2013-03-06 14:29:40','USER_LOGIN',1,'2013-03-06 15:29:40',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(478,'2013-03-06 21:53:02','USER_LOGIN',1,'2013-03-06 22:53:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(479,'2013-03-07 21:14:39','USER_LOGIN',1,'2013-03-07 22:14:39',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(480,'2013-03-08 00:06:05','USER_LOGIN',1,'2013-03-08 01:06:05',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(481,'2013-03-08 01:38:13','USER_LOGIN',1,'2013-03-08 02:38:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(482,'2013-03-08 08:59:50','USER_LOGIN',1,'2013-03-08 09:59:50',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(483,'2013-03-09 12:08:51','USER_LOGIN',1,'2013-03-09 13:08:51',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(484,'2013-03-09 15:19:53','USER_LOGIN',1,'2013-03-09 16:19:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(495,'2013-03-09 18:06:21','USER_LOGIN',1,'2013-03-09 19:06:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(496,'2013-03-09 20:01:24','USER_LOGIN',1,'2013-03-09 21:01:24',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(497,'2013-03-09 23:36:45','USER_LOGIN',1,'2013-03-10 00:36:45',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(498,'2013-03-10 14:37:13','USER_LOGIN',1,'2013-03-10 15:37:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(499,'2013-03-10 17:54:12','USER_LOGIN',1,'2013-03-10 18:54:12',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(500,'2013-03-11 08:57:09','USER_LOGIN',1,'2013-03-11 09:57:09',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(501,'2013-03-11 22:05:13','USER_LOGIN',1,'2013-03-11 23:05:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(502,'2013-03-12 08:34:27','USER_LOGIN',1,'2013-03-12 09:34:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(503,'2013-03-13 09:11:02','USER_LOGIN',1,'2013-03-13 10:11:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(504,'2013-03-13 10:02:11','USER_LOGIN',1,'2013-03-13 11:02:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(505,'2013-03-13 13:20:58','USER_LOGIN',1,'2013-03-13 14:20:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(506,'2013-03-13 16:19:28','USER_LOGIN',1,'2013-03-13 17:19:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(507,'2013-03-13 18:34:30','USER_LOGIN',1,'2013-03-13 19:34:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(508,'2013-03-14 08:25:02','USER_LOGIN',1,'2013-03-14 09:25:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(509,'2013-03-14 19:15:22','USER_LOGIN',1,'2013-03-14 20:15:22',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(510,'2013-03-14 21:58:53','USER_LOGIN',1,'2013-03-14 22:58:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(511,'2013-03-14 21:58:59','USER_LOGOUT',1,'2013-03-14 22:58:59',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(512,'2013-03-14 21:59:07','USER_LOGIN',1,'2013-03-14 22:59:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(513,'2013-03-14 22:58:22','USER_LOGOUT',1,'2013-03-14 23:58:22',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(514,'2013-03-14 23:00:25','USER_LOGIN',1,'2013-03-15 00:00:25',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(515,'2013-03-16 12:14:28','USER_LOGIN',1,'2013-03-16 13:14:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(516,'2013-03-16 16:09:01','USER_LOGIN',1,'2013-03-16 17:09:01',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(517,'2013-03-16 16:57:11','USER_LOGIN',1,'2013-03-16 17:57:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(518,'2013-03-16 19:31:31','USER_LOGIN',1,'2013-03-16 20:31:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(519,'2013-03-17 17:44:39','USER_LOGIN',1,'2013-03-17 18:44:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(520,'2013-03-17 20:40:57','USER_LOGIN',1,'2013-03-17 21:40:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(521,'2013-03-17 23:14:05','USER_LOGIN',1,'2013-03-18 00:14:05',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(522,'2013-03-17 23:28:47','USER_LOGOUT',1,'2013-03-18 00:28:47',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(523,'2013-03-17 23:28:54','USER_LOGIN',1,'2013-03-18 00:28:54',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(524,'2013-03-18 17:37:30','USER_LOGIN',1,'2013-03-18 18:37:30',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(525,'2013-03-18 18:11:37','USER_LOGIN',1,'2013-03-18 19:11:37',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(526,'2013-03-19 08:35:08','USER_LOGIN',1,'2013-03-19 09:35:08',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(527,'2013-03-19 09:20:23','USER_LOGIN',1,'2013-03-19 10:20:23',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(528,'2013-03-20 13:17:13','USER_LOGIN',1,'2013-03-20 14:17:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(529,'2013-03-20 14:44:31','USER_LOGIN',1,'2013-03-20 15:44:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(530,'2013-03-20 18:24:25','USER_LOGIN',1,'2013-03-20 19:24:25',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(531,'2013-03-20 19:15:54','USER_LOGIN',1,'2013-03-20 20:15:54',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(532,'2013-03-21 18:40:47','USER_LOGIN',1,'2013-03-21 19:40:47',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(533,'2013-03-21 21:42:24','USER_LOGIN',1,'2013-03-21 22:42:24',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(534,'2013-03-22 08:39:23','USER_LOGIN',1,'2013-03-22 09:39:23',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(535,'2013-03-23 13:04:55','USER_LOGIN',1,'2013-03-23 14:04:55',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(536,'2013-03-23 15:47:43','USER_LOGIN',1,'2013-03-23 16:47:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(537,'2013-03-23 22:56:36','USER_LOGIN',1,'2013-03-23 23:56:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(538,'2013-03-24 01:22:32','USER_LOGIN',1,'2013-03-24 02:22:32',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(539,'2013-03-24 14:40:42','USER_LOGIN',1,'2013-03-24 15:40:42',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(540,'2013-03-24 15:30:26','USER_LOGOUT',1,'2013-03-24 16:30:26',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(541,'2013-03-24 15:30:29','USER_LOGIN',1,'2013-03-24 16:30:29',2,'(UserLogged,demo)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(542,'2013-03-24 15:49:40','USER_LOGOUT',1,'2013-03-24 16:49:40',2,'(UserLogoff,demo)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(543,'2013-03-24 15:49:48','USER_LOGIN',1,'2013-03-24 16:49:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(544,'2013-03-24 15:52:35','USER_MODIFY',1,'2013-03-24 16:52:35',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(545,'2013-03-24 15:52:52','USER_MODIFY',1,'2013-03-24 16:52:52',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(546,'2013-03-24 15:53:09','USER_MODIFY',1,'2013-03-24 16:53:09',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(547,'2013-03-24 15:53:23','USER_MODIFY',1,'2013-03-24 16:53:23',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(548,'2013-03-24 16:00:04','USER_MODIFY',1,'2013-03-24 17:00:04',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(549,'2013-03-24 16:01:50','USER_MODIFY',1,'2013-03-24 17:01:50',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(550,'2013-03-24 16:10:14','USER_MODIFY',1,'2013-03-24 17:10:14',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(551,'2013-03-24 16:55:13','USER_LOGIN',1,'2013-03-24 17:55:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(552,'2013-03-24 17:44:29','USER_LOGIN',1,'2013-03-24 18:44:29',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(553,'2013-09-08 23:06:26','USER_LOGIN',1,'2013-09-09 01:06:26',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36',NULL),(554,'2013-10-21 22:32:28','USER_LOGIN',1,'2013-10-22 00:32:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.66 Safari/537.36',NULL),(555,'2013-10-21 22:32:48','USER_LOGIN',1,'2013-10-22 00:32:48',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.66 Safari/537.36',NULL),(556,'2013-11-07 00:01:51','USER_LOGIN',1,'2013-11-07 01:01:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.114 Safari/537.36',NULL),(557,'2014-03-02 15:21:07','USER_LOGIN',1,'2014-03-02 16:21:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(558,'2014-03-02 15:36:53','USER_LOGIN',1,'2014-03-02 16:36:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(559,'2014-03-02 18:54:23','USER_LOGIN',1,'2014-03-02 19:54:23',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(560,'2014-03-02 19:11:17','USER_LOGIN',1,'2014-03-02 20:11:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(561,'2014-03-03 18:19:24','USER_LOGIN',1,'2014-03-03 19:19:24',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(562,'2014-12-21 12:51:38','USER_LOGIN',1,'2014-12-21 13:51:38',1,'(UserLogged,admin) - TZ=1;TZString=CET;Screen=1920x969','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36',NULL),(563,'2014-12-21 19:52:09','USER_LOGIN',1,'2014-12-21 20:52:09',1,'(UserLogged,admin) - TZ=1;TZString=CET;Screen=1920x969','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36',NULL),(566,'2015-10-03 08:49:43','USER_NEW_PASSWORD',1,'2015-10-03 10:49:43',1,'Password change for admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(567,'2015-10-03 08:49:43','USER_MODIFY',1,'2015-10-03 10:49:43',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(568,'2015-10-03 09:03:12','USER_MODIFY',1,'2015-10-03 11:03:12',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(569,'2015-10-03 09:03:42','USER_MODIFY',1,'2015-10-03 11:03:42',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(570,'2015-10-03 09:07:36','USER_MODIFY',1,'2015-10-03 11:07:36',1,'User demo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(571,'2015-10-03 09:08:58','USER_NEW_PASSWORD',1,'2015-10-03 11:08:58',1,'Password change for pcurie','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(572,'2015-10-03 09:08:58','USER_MODIFY',1,'2015-10-03 11:08:58',1,'User pcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(573,'2015-10-03 09:09:23','USER_MODIFY',1,'2015-10-03 11:09:23',1,'User pcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(574,'2015-10-03 09:11:04','USER_NEW_PASSWORD',1,'2015-10-03 11:11:04',1,'Password change for athestudent','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(575,'2015-10-03 09:11:04','USER_MODIFY',1,'2015-10-03 11:11:04',1,'User athestudent modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(576,'2015-10-03 09:11:53','USER_MODIFY',1,'2015-10-03 11:11:53',1,'User abookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(577,'2015-10-03 09:42:12','USER_LOGIN_FAILED',1,'2015-10-03 11:42:11',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(578,'2015-10-03 09:42:19','USER_LOGIN_FAILED',1,'2015-10-03 11:42:19',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(579,'2015-10-03 09:42:42','USER_LOGIN_FAILED',1,'2015-10-03 11:42:42',NULL,'Bad value for login or password - login=aeinstein','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(580,'2015-10-03 09:43:50','USER_LOGIN',1,'2015-10-03 11:43:50',1,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x788','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(581,'2015-10-03 09:44:44','GROUP_MODIFY',1,'2015-10-03 11:44:44',1,'Group Sale representatives modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(582,'2015-10-03 09:46:25','GROUP_CREATE',1,'2015-10-03 11:46:25',1,'Group Management created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(583,'2015-10-03 09:46:46','GROUP_CREATE',1,'2015-10-03 11:46:46',1,'Group Scientists created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(584,'2015-10-03 09:47:41','USER_CREATE',1,'2015-10-03 11:47:41',1,'User mcurie created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(585,'2015-10-03 09:47:41','USER_NEW_PASSWORD',1,'2015-10-03 11:47:41',1,'Password change for mcurie','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(586,'2015-10-03 09:47:53','USER_MODIFY',1,'2015-10-03 11:47:53',1,'User mcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(587,'2015-10-03 09:48:32','USER_DELETE',1,'2015-10-03 11:48:32',1,'User bbb removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(588,'2015-10-03 09:48:52','USER_MODIFY',1,'2015-10-03 11:48:52',1,'User bookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(589,'2015-10-03 10:01:28','USER_MODIFY',1,'2015-10-03 12:01:28',1,'User bookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(590,'2015-10-03 10:01:39','USER_MODIFY',1,'2015-10-03 12:01:39',1,'User bookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(591,'2015-10-05 06:32:38','USER_LOGIN_FAILED',1,'2015-10-05 08:32:38',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(592,'2015-10-05 06:32:44','USER_LOGIN',1,'2015-10-05 08:32:44',1,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(593,'2015-10-05 07:07:52','USER_CREATE',1,'2015-10-05 09:07:52',1,'User atheceo created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(594,'2015-10-05 07:07:52','USER_NEW_PASSWORD',1,'2015-10-05 09:07:52',1,'Password change for atheceo','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(595,'2015-10-05 07:09:08','USER_NEW_PASSWORD',1,'2015-10-05 09:09:08',1,'Password change for aeinstein','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(596,'2015-10-05 07:09:08','USER_MODIFY',1,'2015-10-05 09:09:08',1,'User aeinstein modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(597,'2015-10-05 07:09:46','USER_CREATE',1,'2015-10-05 09:09:46',1,'User admin created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(598,'2015-10-05 07:09:46','USER_NEW_PASSWORD',1,'2015-10-05 09:09:46',1,'Password change for admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(599,'2015-10-05 07:10:20','USER_MODIFY',1,'2015-10-05 09:10:20',1,'User demo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(600,'2015-10-05 07:10:48','USER_MODIFY',1,'2015-10-05 09:10:48',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(601,'2015-10-05 07:11:22','USER_NEW_PASSWORD',1,'2015-10-05 09:11:22',1,'Password change for bbookkeeper','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(602,'2015-10-05 07:11:22','USER_MODIFY',1,'2015-10-05 09:11:22',1,'User bbookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(603,'2015-10-05 07:12:37','USER_MODIFY',1,'2015-10-05 09:12:37',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(604,'2015-10-05 07:13:27','USER_MODIFY',1,'2015-10-05 09:13:27',1,'User demo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(605,'2015-10-05 07:13:52','USER_MODIFY',1,'2015-10-05 09:13:52',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(606,'2015-10-05 07:14:35','USER_LOGOUT',1,'2015-10-05 09:14:35',1,'(UserLogoff,aeinstein)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(607,'2015-10-05 07:14:40','USER_LOGIN_FAILED',1,'2015-10-05 09:14:40',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(608,'2015-10-05 07:14:44','USER_LOGIN_FAILED',1,'2015-10-05 09:14:44',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(609,'2015-10-05 07:14:49','USER_LOGIN',1,'2015-10-05 09:14:49',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(610,'2015-10-05 07:57:18','USER_MODIFY',1,'2015-10-05 09:57:18',12,'User aeinstein modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(611,'2015-10-05 08:06:54','USER_LOGOUT',1,'2015-10-05 10:06:54',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(612,'2015-10-05 08:07:03','USER_LOGIN',1,'2015-10-05 10:07:03',11,'(UserLogged,atheceo) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(613,'2015-10-05 19:18:46','USER_LOGIN',1,'2015-10-05 21:18:46',11,'(UserLogged,atheceo) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(614,'2015-10-05 19:29:35','USER_CREATE',1,'2015-10-05 21:29:35',11,'User ccommercy created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(615,'2015-10-05 19:29:35','USER_NEW_PASSWORD',1,'2015-10-05 21:29:35',11,'Password change for ccommercy','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(616,'2015-10-05 19:30:13','GROUP_CREATE',1,'2015-10-05 21:30:13',11,'Group Commercial created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(617,'2015-10-05 19:31:37','USER_NEW_PASSWORD',1,'2015-10-05 21:31:37',11,'Password change for admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(618,'2015-10-05 19:31:37','USER_MODIFY',1,'2015-10-05 21:31:37',11,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(619,'2015-10-05 19:32:00','USER_MODIFY',1,'2015-10-05 21:32:00',11,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(620,'2015-10-05 19:33:33','USER_CREATE',1,'2015-10-05 21:33:33',11,'User sscientol created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(621,'2015-10-05 19:33:33','USER_NEW_PASSWORD',1,'2015-10-05 21:33:33',11,'Password change for sscientol','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(622,'2015-10-05 19:33:47','USER_NEW_PASSWORD',1,'2015-10-05 21:33:47',11,'Password change for mcurie','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(623,'2015-10-05 19:33:47','USER_MODIFY',1,'2015-10-05 21:33:47',11,'User mcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(624,'2015-10-05 19:34:23','USER_NEW_PASSWORD',1,'2015-10-05 21:34:23',11,'Password change for pcurie','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(625,'2015-10-05 19:34:23','USER_MODIFY',1,'2015-10-05 21:34:23',11,'User pcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(626,'2015-10-05 19:34:42','USER_MODIFY',1,'2015-10-05 21:34:42',11,'User aeinstein modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(627,'2015-10-05 19:36:06','USER_NEW_PASSWORD',1,'2015-10-05 21:36:06',11,'Password change for ccommercy','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(628,'2015-10-05 19:36:06','USER_MODIFY',1,'2015-10-05 21:36:06',11,'User ccommercy modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(629,'2015-10-05 19:36:57','USER_NEW_PASSWORD',1,'2015-10-05 21:36:57',11,'Password change for atheceo','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(630,'2015-10-05 19:36:57','USER_MODIFY',1,'2015-10-05 21:36:57',11,'User atheceo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(631,'2015-10-05 19:37:27','USER_LOGOUT',1,'2015-10-05 21:37:27',11,'(UserLogoff,atheceo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(632,'2015-10-05 19:37:35','USER_LOGIN_FAILED',1,'2015-10-05 21:37:35',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(633,'2015-10-05 19:37:39','USER_LOGIN_FAILED',1,'2015-10-05 21:37:39',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(634,'2015-10-05 19:37:44','USER_LOGIN_FAILED',1,'2015-10-05 21:37:44',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(635,'2015-10-05 19:37:49','USER_LOGIN_FAILED',1,'2015-10-05 21:37:49',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(636,'2015-10-05 19:38:12','USER_LOGIN_FAILED',1,'2015-10-05 21:38:12',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(637,'2015-10-05 19:40:48','USER_LOGIN_FAILED',1,'2015-10-05 21:40:48',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(638,'2015-10-05 19:40:55','USER_LOGIN',1,'2015-10-05 21:40:55',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(639,'2015-10-05 19:43:34','USER_MODIFY',1,'2015-10-05 21:43:34',12,'User aeinstein modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(640,'2015-10-05 19:45:43','USER_CREATE',1,'2015-10-05 21:45:43',12,'User aaa created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(641,'2015-10-05 19:45:43','USER_NEW_PASSWORD',1,'2015-10-05 21:45:43',12,'Password change for aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(642,'2015-10-05 19:46:18','USER_DELETE',1,'2015-10-05 21:46:18',12,'User aaa removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(643,'2015-10-05 19:47:09','USER_MODIFY',1,'2015-10-05 21:47:09',12,'User demo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(644,'2015-10-05 19:47:22','USER_MODIFY',1,'2015-10-05 21:47:22',12,'User demo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(645,'2015-10-05 19:52:05','USER_MODIFY',1,'2015-10-05 21:52:05',12,'User sscientol modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(646,'2015-10-05 19:52:23','USER_MODIFY',1,'2015-10-05 21:52:23',12,'User bbookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(647,'2015-10-05 19:54:54','USER_NEW_PASSWORD',1,'2015-10-05 21:54:54',12,'Password change for zzeceo','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(648,'2015-10-05 19:54:54','USER_MODIFY',1,'2015-10-05 21:54:54',12,'User zzeceo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(649,'2015-10-05 19:57:02','USER_MODIFY',1,'2015-10-05 21:57:02',12,'User zzeceo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(650,'2015-10-05 19:57:57','USER_NEW_PASSWORD',1,'2015-10-05 21:57:57',12,'Password change for pcurie','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(651,'2015-10-05 19:57:57','USER_MODIFY',1,'2015-10-05 21:57:57',12,'User pcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(652,'2015-10-05 19:59:42','USER_NEW_PASSWORD',1,'2015-10-05 21:59:42',12,'Password change for admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(653,'2015-10-05 19:59:42','USER_MODIFY',1,'2015-10-05 21:59:42',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(654,'2015-10-05 20:00:21','USER_MODIFY',1,'2015-10-05 22:00:21',12,'User adminx modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(655,'2015-10-05 20:05:36','USER_MODIFY',1,'2015-10-05 22:05:36',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(656,'2015-10-05 20:06:25','USER_MODIFY',1,'2015-10-05 22:06:25',12,'User ccommercy modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(657,'2015-10-05 20:07:18','USER_MODIFY',1,'2015-10-05 22:07:18',12,'User mcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(658,'2015-10-05 20:07:36','USER_MODIFY',1,'2015-10-05 22:07:36',12,'User aeinstein modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(659,'2015-10-05 20:08:34','USER_MODIFY',1,'2015-10-05 22:08:34',12,'User bbookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(660,'2015-10-05 20:47:52','USER_CREATE',1,'2015-10-05 22:47:52',12,'User cc1 created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(661,'2015-10-05 20:47:52','USER_NEW_PASSWORD',1,'2015-10-05 22:47:52',12,'Password change for cc1','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(662,'2015-10-05 20:47:55','USER_LOGOUT',1,'2015-10-05 22:47:55',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(663,'2015-10-05 20:48:08','USER_LOGIN',1,'2015-10-05 22:48:08',11,'(UserLogged,zzeceo) - TZ=1;TZString=Europe/Berlin;Screen=1590x434','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(664,'2015-10-05 20:48:39','USER_CREATE',1,'2015-10-05 22:48:39',11,'User cc2 created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(665,'2015-10-05 20:48:39','USER_NEW_PASSWORD',1,'2015-10-05 22:48:39',11,'Password change for cc2','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(666,'2015-10-05 20:48:59','USER_NEW_PASSWORD',1,'2015-10-05 22:48:59',11,'Password change for cc1','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(667,'2015-10-05 20:48:59','USER_MODIFY',1,'2015-10-05 22:48:59',11,'User cc1 modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(668,'2015-10-05 21:06:36','USER_LOGOUT',1,'2015-10-05 23:06:35',11,'(UserLogoff,zzeceo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(669,'2015-10-05 21:06:44','USER_LOGIN_FAILED',1,'2015-10-05 23:06:44',NULL,'Bad value for login or password - login=cc1','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(670,'2015-10-05 21:07:12','USER_LOGIN_FAILED',1,'2015-10-05 23:07:12',NULL,'Bad value for login or password - login=cc1','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(671,'2015-10-05 21:07:19','USER_LOGIN_FAILED',1,'2015-10-05 23:07:19',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(672,'2015-10-05 21:07:27','USER_LOGIN_FAILED',1,'2015-10-05 23:07:27',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(673,'2015-10-05 21:07:32','USER_LOGIN',1,'2015-10-05 23:07:32',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(674,'2015-10-05 21:12:28','USER_NEW_PASSWORD',1,'2015-10-05 23:12:28',12,'Password change for cc1','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(675,'2015-10-05 21:12:28','USER_MODIFY',1,'2015-10-05 23:12:28',12,'User cc1 modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(676,'2015-10-05 21:13:00','USER_CREATE',1,'2015-10-05 23:13:00',12,'User aaa created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(677,'2015-10-05 21:13:00','USER_NEW_PASSWORD',1,'2015-10-05 23:13:00',12,'Password change for aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(678,'2015-10-05 21:13:40','USER_DELETE',1,'2015-10-05 23:13:40',12,'User aaa removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(679,'2015-10-05 21:14:47','USER_LOGOUT',1,'2015-10-05 23:14:47',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(680,'2015-10-05 21:14:56','USER_LOGIN',1,'2015-10-05 23:14:56',16,'(UserLogged,cc1) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(681,'2015-10-05 21:15:56','USER_LOGOUT',1,'2015-10-05 23:15:56',16,'(UserLogoff,cc1)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(682,'2015-10-05 21:16:06','USER_LOGIN',1,'2015-10-05 23:16:06',17,'(UserLogged,cc2) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(683,'2015-10-05 21:37:25','USER_LOGOUT',1,'2015-10-05 23:37:25',17,'(UserLogoff,cc2)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(684,'2015-10-05 21:37:31','USER_LOGIN',1,'2015-10-05 23:37:31',16,'(UserLogged,cc1) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(685,'2015-10-05 21:43:53','USER_LOGOUT',1,'2015-10-05 23:43:53',16,'(UserLogoff,cc1)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(686,'2015-10-05 21:44:00','USER_LOGIN',1,'2015-10-05 23:44:00',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(687,'2015-10-05 21:46:17','USER_LOGOUT',1,'2015-10-05 23:46:17',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(688,'2015-10-05 21:46:24','USER_LOGIN',1,'2015-10-05 23:46:24',16,'(UserLogged,cc1) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(689,'2015-11-04 15:17:06','USER_LOGIN',1,'2015-11-04 16:17:06',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(690,'2015-11-15 22:04:04','USER_LOGIN',1,'2015-11-15 23:04:04',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(691,'2015-11-15 22:23:45','USER_MODIFY',1,'2015-11-15 23:23:45',12,'User ccommercy modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(692,'2015-11-15 22:24:22','USER_MODIFY',1,'2015-11-15 23:24:22',12,'User cc1 modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(693,'2015-11-15 22:24:53','USER_MODIFY',1,'2015-11-15 23:24:53',12,'User cc2 modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(694,'2015-11-15 22:25:17','USER_MODIFY',1,'2015-11-15 23:25:17',12,'User cc1 modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(695,'2015-11-15 22:45:37','USER_LOGOUT',1,'2015-11-15 23:45:37',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(696,'2015-11-18 13:41:02','USER_LOGIN',1,'2015-11-18 14:41:02',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(697,'2015-11-18 14:23:35','USER_LOGIN',1,'2015-11-18 15:23:35',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(698,'2015-11-18 15:15:46','USER_LOGOUT',1,'2015-11-18 16:15:46',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(699,'2015-11-18 15:15:51','USER_LOGIN',1,'2015-11-18 16:15:51',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(700,'2015-11-30 17:52:08','USER_LOGIN',1,'2015-11-30 18:52:08',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(701,'2016-01-10 16:45:43','USER_LOGIN',1,'2016-01-10 17:45:43',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(702,'2016-01-10 16:45:52','USER_LOGOUT',1,'2016-01-10 17:45:52',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(703,'2016-01-10 16:46:06','USER_LOGIN',1,'2016-01-10 17:46:06',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(704,'2016-01-16 14:53:47','USER_LOGIN',1,'2016-01-16 15:53:47',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(705,'2016-01-16 15:04:29','USER_LOGOUT',1,'2016-01-16 16:04:29',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(706,'2016-01-16 15:04:40','USER_LOGIN',1,'2016-01-16 16:04:40',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(707,'2016-01-22 09:33:26','USER_LOGIN',1,'2016-01-22 10:33:26',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(708,'2016-01-22 09:35:19','USER_LOGOUT',1,'2016-01-22 10:35:19',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(709,'2016-01-22 09:35:29','USER_LOGIN',1,'2016-01-22 10:35:29',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(710,'2016-01-22 10:47:34','USER_CREATE',1,'2016-01-22 11:47:34',12,'User aaa created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(711,'2016-01-22 10:47:34','USER_NEW_PASSWORD',1,'2016-01-22 11:47:34',12,'Password change for aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(712,'2016-01-22 12:07:56','USER_LOGIN',1,'2016-01-22 13:07:56',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(713,'2016-01-22 12:36:25','USER_NEW_PASSWORD',1,'2016-01-22 13:36:25',12,'Password change for admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(714,'2016-01-22 12:36:25','USER_MODIFY',1,'2016-01-22 13:36:25',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(715,'2016-01-22 12:56:32','USER_MODIFY',1,'2016-01-22 13:56:32',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(716,'2016-01-22 12:58:05','USER_MODIFY',1,'2016-01-22 13:58:05',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(717,'2016-01-22 13:01:02','USER_MODIFY',1,'2016-01-22 14:01:02',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(718,'2016-01-22 13:01:18','USER_MODIFY',1,'2016-01-22 14:01:18',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(719,'2016-01-22 13:13:42','USER_MODIFY',1,'2016-01-22 14:13:42',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(720,'2016-01-22 13:15:20','USER_DELETE',1,'2016-01-22 14:15:20',12,'User aaa removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(721,'2016-01-22 13:19:21','USER_LOGOUT',1,'2016-01-22 14:19:21',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(722,'2016-01-22 13:19:32','USER_LOGIN',1,'2016-01-22 14:19:32',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(723,'2016-01-22 13:19:51','USER_LOGOUT',1,'2016-01-22 14:19:51',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(724,'2016-01-22 13:20:01','USER_LOGIN',1,'2016-01-22 14:20:01',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(725,'2016-01-22 13:28:22','USER_LOGOUT',1,'2016-01-22 14:28:22',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(726,'2016-01-22 13:28:35','USER_LOGIN',1,'2016-01-22 14:28:35',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(727,'2016-01-22 13:33:54','USER_LOGOUT',1,'2016-01-22 14:33:54',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(728,'2016-01-22 13:34:05','USER_LOGIN',1,'2016-01-22 14:34:05',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(729,'2016-01-22 13:51:46','USER_MODIFY',1,'2016-01-22 14:51:46',12,'User ccommercy modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(730,'2016-01-22 16:20:12','USER_LOGIN',1,'2016-01-22 17:20:12',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(731,'2016-01-22 16:20:22','USER_LOGOUT',1,'2016-01-22 17:20:22',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(732,'2016-01-22 16:20:36','USER_LOGIN',1,'2016-01-22 17:20:36',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(733,'2016-01-22 16:27:02','USER_CREATE',1,'2016-01-22 17:27:02',12,'User ldestailleur created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(734,'2016-01-22 16:27:02','USER_NEW_PASSWORD',1,'2016-01-22 17:27:02',12,'Password change for ldestailleur','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(735,'2016-01-22 16:28:34','USER_MODIFY',1,'2016-01-22 17:28:34',12,'User ldestailleur modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(736,'2016-01-22 16:30:01','USER_ENABLEDISABLE',1,'2016-01-22 17:30:01',12,'User cc2 activated','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(737,'2016-01-22 17:11:06','USER_LOGIN',1,'2016-01-22 18:11:06',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(738,'2016-01-22 18:00:02','USER_DELETE',1,'2016-01-22 19:00:02',12,'User zzz removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(739,'2016-01-22 18:01:40','USER_DELETE',1,'2016-01-22 19:01:40',12,'User aaab removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(740,'2016-01-22 18:01:52','USER_DELETE',1,'2016-01-22 19:01:52',12,'User zzzg removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(741,'2016-03-13 10:54:59','USER_LOGIN',1,'2016-03-13 14:54:59',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1920x971','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36',NULL),(742,'2016-07-30 11:13:10','USER_LOGIN',1,'2016-07-30 15:13:10',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(743,'2016-07-30 12:50:23','USER_CREATE',1,'2016-07-30 16:50:23',12,'User eldy created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(744,'2016-07-30 12:50:23','USER_CREATE',1,'2016-07-30 16:50:23',12,'User eldy created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(745,'2016-07-30 12:50:23','USER_NEW_PASSWORD',1,'2016-07-30 16:50:23',12,'Password change for eldy','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(746,'2016-07-30 12:50:38','USER_MODIFY',1,'2016-07-30 16:50:38',12,'User eldy modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(747,'2016-07-30 12:50:54','USER_DELETE',1,'2016-07-30 16:50:54',12,'User eldy removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(748,'2016-07-30 12:51:23','USER_NEW_PASSWORD',1,'2016-07-30 16:51:23',12,'Password change for ldestailleur','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(749,'2016-07-30 12:51:23','USER_MODIFY',1,'2016-07-30 16:51:23',12,'User ldestailleur modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL); +/*!40000 ALTER TABLE `llx_events` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_expedition` +-- + +DROP TABLE IF EXISTS `llx_expedition`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_expedition` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `ref` varchar(30) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `ref_customer` varchar(30) DEFAULT NULL, + `fk_soc` int(11) NOT NULL, + `ref_ext` varchar(30) DEFAULT NULL, + `ref_int` varchar(30) DEFAULT NULL, + `date_creation` datetime DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `date_valid` datetime DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `date_expedition` datetime DEFAULT NULL, + `date_delivery` datetime DEFAULT NULL, + `fk_address` int(11) DEFAULT NULL, + `fk_shipping_method` int(11) DEFAULT NULL, + `tracking_number` varchar(50) DEFAULT NULL, + `fk_statut` smallint(6) DEFAULT '0', + `height` float DEFAULT NULL, + `height_unit` int(11) DEFAULT NULL, + `width` float DEFAULT NULL, + `size_units` int(11) DEFAULT NULL, + `size` float DEFAULT NULL, + `weight_units` int(11) DEFAULT NULL, + `weight` float DEFAULT NULL, + `note_private` text, + `note_public` text, + `model_pdf` varchar(255) DEFAULT NULL, + `fk_incoterms` int(11) DEFAULT NULL, + `location_incoterms` varchar(255) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + `extraparams` varchar(255) DEFAULT NULL, + `billed` smallint(6) DEFAULT '0', + PRIMARY KEY (`rowid`), + UNIQUE KEY `idx_expedition_uk_ref` (`ref`,`entity`), + KEY `idx_expedition_fk_soc` (`fk_soc`), + KEY `idx_expedition_fk_user_author` (`fk_user_author`), + KEY `idx_expedition_fk_user_valid` (`fk_user_valid`), + KEY `idx_expedition_fk_shipping_method` (`fk_shipping_method`), + CONSTRAINT `fk_expedition_fk_shipping_method` FOREIGN KEY (`fk_shipping_method`) REFERENCES `llx_c_shipment_mode` (`rowid`), + CONSTRAINT `fk_expedition_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`), + CONSTRAINT `fk_expedition_fk_user_author` FOREIGN KEY (`fk_user_author`) REFERENCES `llx_user` (`rowid`), + CONSTRAINT `fk_expedition_fk_user_valid` FOREIGN KEY (`fk_user_valid`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_expedition` +-- + +LOCK TABLES `llx_expedition` WRITE; +/*!40000 ALTER TABLE `llx_expedition` DISABLE KEYS */; +INSERT INTO `llx_expedition` VALUES (1,'2016-01-22 17:33:03','SH1302-0001',1,NULL,1,NULL,NULL,'2011-08-08 03:05:34',1,'2013-02-17 18:22:51',1,NULL,'2011-08-09 00:00:00',NULL,NULL,'',1,NULL,NULL,NULL,0,NULL,0,NULL,NULL,NULL,'merou',NULL,NULL,NULL,NULL,0); +/*!40000 ALTER TABLE `llx_expedition` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_expedition_extrafields` +-- + +DROP TABLE IF EXISTS `llx_expedition_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_expedition_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_expedition_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_expedition_extrafields` +-- + +LOCK TABLES `llx_expedition_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_expedition_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_expedition_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_expedition_methode` +-- + +DROP TABLE IF EXISTS `llx_expedition_methode`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_expedition_methode` ( + `rowid` int(11) NOT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `code` varchar(30) NOT NULL, + `libelle` varchar(50) NOT NULL, + `description` text, + `active` tinyint(4) DEFAULT '0', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_expedition_methode` +-- + +LOCK TABLES `llx_expedition_methode` WRITE; +/*!40000 ALTER TABLE `llx_expedition_methode` DISABLE KEYS */; +INSERT INTO `llx_expedition_methode` VALUES (1,'2010-07-08 11:18:00','CATCH','Catch','Catch by client',1),(2,'2010-07-08 11:18:00','TRANS','Transporter','Generic transporter',1),(3,'2010-07-08 11:18:01','COLSUI','Colissimo Suivi','Colissimo Suivi',0); +/*!40000 ALTER TABLE `llx_expedition_methode` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_expeditiondet` +-- + +DROP TABLE IF EXISTS `llx_expeditiondet`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_expeditiondet` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_expedition` int(11) NOT NULL, + `fk_origin_line` int(11) DEFAULT NULL, + `fk_entrepot` int(11) DEFAULT NULL, + `qty` double DEFAULT NULL, + `rang` int(11) DEFAULT '0', + PRIMARY KEY (`rowid`), + KEY `idx_expeditiondet_fk_expedition` (`fk_expedition`), + CONSTRAINT `fk_expeditiondet_fk_expedition` FOREIGN KEY (`fk_expedition`) REFERENCES `llx_expedition` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_expeditiondet` +-- + +LOCK TABLES `llx_expeditiondet` WRITE; +/*!40000 ALTER TABLE `llx_expeditiondet` DISABLE KEYS */; +INSERT INTO `llx_expeditiondet` VALUES (1,1,10,3,1,0); +/*!40000 ALTER TABLE `llx_expeditiondet` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_expeditiondet_batch` +-- + +DROP TABLE IF EXISTS `llx_expeditiondet_batch`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_expeditiondet_batch` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_expeditiondet` int(11) NOT NULL, + `eatby` date DEFAULT NULL, + `sellby` date DEFAULT NULL, + `batch` varchar(30) DEFAULT NULL, + `qty` double NOT NULL DEFAULT '0', + `fk_origin_stock` int(11) NOT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_fk_expeditiondet` (`fk_expeditiondet`), + CONSTRAINT `fk_expeditiondet_batch_fk_expeditiondet` FOREIGN KEY (`fk_expeditiondet`) REFERENCES `llx_expeditiondet` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_expeditiondet_batch` +-- + +LOCK TABLES `llx_expeditiondet_batch` WRITE; +/*!40000 ALTER TABLE `llx_expeditiondet_batch` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_expeditiondet_batch` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_expeditiondet_extrafields` +-- + +DROP TABLE IF EXISTS `llx_expeditiondet_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_expeditiondet_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_expeditiondet_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_expeditiondet_extrafields` +-- + +LOCK TABLES `llx_expeditiondet_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_expeditiondet_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_expeditiondet_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_expensereport` +-- + +DROP TABLE IF EXISTS `llx_expensereport`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_expensereport` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `ref` varchar(50) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `ref_number_int` int(11) DEFAULT NULL, + `ref_ext` int(11) DEFAULT NULL, + `total_ht` double(24,8) DEFAULT '0.00000000', + `total_tva` double(24,8) DEFAULT '0.00000000', + `localtax1` double(24,8) DEFAULT '0.00000000', + `localtax2` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) DEFAULT '0.00000000', + `date_debut` date NOT NULL, + `date_fin` date NOT NULL, + `date_create` datetime NOT NULL, + `date_valid` datetime DEFAULT NULL, + `date_approve` datetime DEFAULT NULL, + `date_refuse` datetime DEFAULT NULL, + `date_cancel` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_user_author` int(11) NOT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `fk_user_validator` int(11) DEFAULT NULL, + `fk_user_approve` int(11) DEFAULT NULL, + `fk_user_refuse` int(11) DEFAULT NULL, + `fk_user_cancel` int(11) DEFAULT NULL, + `fk_statut` int(11) NOT NULL, + `fk_c_paiement` int(11) DEFAULT NULL, + `paid` smallint(6) NOT NULL DEFAULT '0', + `note_public` text, + `note_private` text, + `detail_refuse` varchar(255) DEFAULT NULL, + `detail_cancel` varchar(255) DEFAULT NULL, + `integration_compta` int(11) DEFAULT NULL, + `fk_bank_account` int(11) DEFAULT NULL, + `model_pdf` varchar(50) DEFAULT NULL, + `fk_multicurrency` int(11) DEFAULT NULL, + `multicurrency_code` varchar(255) DEFAULT NULL, + `multicurrency_tx` double(24,8) DEFAULT '1.00000000', + `multicurrency_total_ht` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_tva` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_ttc` double(24,8) DEFAULT '0.00000000', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_expensereport` +-- + +LOCK TABLES `llx_expensereport` WRITE; +/*!40000 ALTER TABLE `llx_expensereport` DISABLE KEYS */; +INSERT INTO `llx_expensereport` VALUES (1,'ADMIN-ER00002-150101',1,2,NULL,8.33000000,1.67000000,0.00000000,0.00000000,10.00000000,'2015-01-01','2015-01-03','2016-01-22 19:03:37','2016-01-22 19:06:50',NULL,NULL,NULL,'2016-01-22 18:06:50',12,NULL,12,12,NULL,NULL,NULL,2,NULL,0,'Holidays',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(2,'(PROV2)',1,NULL,NULL,141.67000000,28.33000000,0.00000000,0.00000000,170.00000000,'2015-02-01','2015-02-28','2016-01-22 19:04:44',NULL,NULL,NULL,NULL,'2016-01-22 18:06:21',12,12,NULL,12,NULL,NULL,NULL,0,NULL,0,'Work on projet X','','',NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000); +/*!40000 ALTER TABLE `llx_expensereport` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_expensereport_det` +-- + +DROP TABLE IF EXISTS `llx_expensereport_det`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_expensereport_det` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_expensereport` int(11) NOT NULL, + `fk_c_type_fees` int(11) NOT NULL, + `fk_projet` int(11) DEFAULT NULL, + `comments` text NOT NULL, + `product_type` int(11) DEFAULT '-1', + `qty` double NOT NULL, + `value_unit` double NOT NULL, + `remise_percent` double DEFAULT NULL, + `tva_tx` double(6,3) DEFAULT NULL, + `localtax1_tx` double(6,3) DEFAULT '0.000', + `localtax1_type` varchar(10) DEFAULT NULL, + `localtax2_tx` double(6,3) DEFAULT '0.000', + `localtax2_type` varchar(10) DEFAULT NULL, + `total_ht` double(24,8) NOT NULL DEFAULT '0.00000000', + `total_tva` double(24,8) NOT NULL DEFAULT '0.00000000', + `total_localtax1` double(24,8) DEFAULT '0.00000000', + `total_localtax2` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) NOT NULL DEFAULT '0.00000000', + `date` date NOT NULL, + `info_bits` int(11) DEFAULT '0', + `special_code` int(11) DEFAULT '0', + `rang` int(11) DEFAULT '0', + `import_key` varchar(14) DEFAULT NULL, + `fk_multicurrency` int(11) DEFAULT NULL, + `multicurrency_code` varchar(255) DEFAULT NULL, + `multicurrency_subprice` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_ht` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_tva` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_ttc` double(24,8) DEFAULT '0.00000000', + `fk_facture` int(11) DEFAULT '0', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_expensereport_det` +-- + +LOCK TABLES `llx_expensereport_det` WRITE; +/*!40000 ALTER TABLE `llx_expensereport_det` DISABLE KEYS */; +INSERT INTO `llx_expensereport_det` VALUES (1,1,3,1,'',-1,1,10,NULL,20.000,0.000,NULL,0.000,NULL,8.33000000,1.67000000,0.00000000,0.00000000,10.00000000,'2015-01-01',0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0),(2,2,3,4,'',-1,1,20,NULL,20.000,0.000,NULL,0.000,NULL,16.67000000,3.33000000,0.00000000,0.00000000,20.00000000,'2015-01-07',0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0),(3,2,2,5,'Train',-1,1,150,NULL,20.000,0.000,NULL,0.000,NULL,125.00000000,25.00000000,0.00000000,0.00000000,150.00000000,'2015-02-05',0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0); +/*!40000 ALTER TABLE `llx_expensereport_det` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_export_compta` +-- + +DROP TABLE IF EXISTS `llx_export_compta`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_export_compta` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `ref` varchar(12) NOT NULL, + `date_export` datetime NOT NULL, + `fk_user` int(11) NOT NULL, + `note` text, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_export_compta` +-- + +LOCK TABLES `llx_export_compta` WRITE; +/*!40000 ALTER TABLE `llx_export_compta` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_export_compta` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_export_model` +-- + +DROP TABLE IF EXISTS `llx_export_model`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_export_model` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_user` int(11) NOT NULL DEFAULT '0', + `label` varchar(50) NOT NULL, + `type` varchar(20) NOT NULL, + `field` text NOT NULL, + `filter` text, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_export_model` (`label`,`type`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_export_model` +-- + +LOCK TABLES `llx_export_model` WRITE; +/*!40000 ALTER TABLE `llx_export_model` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_export_model` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_extrafields` +-- + +DROP TABLE IF EXISTS `llx_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `elementtype` varchar(64) NOT NULL DEFAULT 'member', + `name` varchar(64) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `label` varchar(255) NOT NULL, + `type` varchar(8) DEFAULT NULL, + `size` varchar(8) DEFAULT NULL, + `pos` int(11) DEFAULT '0', + `alwayseditable` int(11) DEFAULT '0', + `param` text, + `fieldunique` int(11) DEFAULT '0', + `fieldrequired` int(11) DEFAULT '0', + `perms` varchar(255) DEFAULT NULL, + `list` int(11) DEFAULT '0', + `ishidden` int(11) DEFAULT '0', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_extrafields_name` (`name`,`entity`,`elementtype`) +) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_extrafields` +-- + +LOCK TABLES `llx_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_extrafields` DISABLE KEYS */; +INSERT INTO `llx_extrafields` VALUES (2,'adherent','zzz',1,'2013-09-08 23:04:20','zzz','varchar','255',0,0,NULL,0,0,NULL,0,0),(23,'societe','anotheraddedfield',1,'2015-10-03 09:36:35','Another added field','varchar','15',0,1,'a:1:{s:7:\"options\";a:1:{s:0:\"\";N;}}',0,0,NULL,0,0),(27,'projet','priority',1,'2016-07-30 11:28:27','Priority','select','',0,1,'a:1:{s:7:\"options\";a:5:{i:1;s:1:\"1\";i:2;s:1:\"2\";i:3;s:1:\"3\";i:4;s:1:\"4\";i:5;s:1:\"5\";}}',0,0,NULL,0,0); +/*!40000 ALTER TABLE `llx_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_facture` +-- + +DROP TABLE IF EXISTS `llx_facture`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_facture` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `facnumber` varchar(30) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `ref_ext` varchar(255) DEFAULT NULL, + `ref_int` varchar(255) DEFAULT NULL, + `type` smallint(6) NOT NULL DEFAULT '0', + `ref_client` varchar(255) DEFAULT NULL, + `increment` varchar(10) DEFAULT NULL, + `fk_soc` int(11) NOT NULL, + `datec` datetime DEFAULT NULL, + `datef` date DEFAULT NULL, + `date_valid` date DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `paye` smallint(6) NOT NULL DEFAULT '0', + `amount` double(24,8) NOT NULL DEFAULT '0.00000000', + `remise_percent` double DEFAULT '0', + `remise_absolue` double DEFAULT '0', + `remise` double DEFAULT '0', + `close_code` varchar(16) DEFAULT NULL, + `close_note` varchar(128) DEFAULT NULL, + `tva` double(24,8) DEFAULT '0.00000000', + `localtax1` double(24,8) DEFAULT '0.00000000', + `localtax2` double(24,8) DEFAULT '0.00000000', + `revenuestamp` double(24,8) DEFAULT '0.00000000', + `total` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) DEFAULT '0.00000000', + `fk_statut` smallint(6) NOT NULL DEFAULT '0', + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `fk_facture_source` int(11) DEFAULT NULL, + `fk_projet` int(11) DEFAULT NULL, + `fk_account` int(11) DEFAULT NULL, + `fk_currency` varchar(3) DEFAULT NULL, + `fk_cond_reglement` int(11) NOT NULL DEFAULT '1', + `fk_mode_reglement` int(11) DEFAULT NULL, + `date_lim_reglement` date DEFAULT NULL, + `note_private` text, + `note_public` text, + `model_pdf` varchar(255) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + `extraparams` varchar(255) DEFAULT NULL, + `situation_cycle_ref` smallint(6) DEFAULT NULL, + `situation_counter` smallint(6) DEFAULT NULL, + `situation_final` smallint(6) DEFAULT NULL, + `fk_incoterms` int(11) DEFAULT NULL, + `location_incoterms` varchar(255) DEFAULT NULL, + `date_pointoftax` date DEFAULT NULL, + `fk_multicurrency` int(11) DEFAULT NULL, + `multicurrency_code` varchar(255) DEFAULT NULL, + `multicurrency_tx` double(24,8) DEFAULT '1.00000000', + `multicurrency_total_ht` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_tva` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_ttc` double(24,8) DEFAULT '0.00000000', + PRIMARY KEY (`rowid`), + UNIQUE KEY `idx_facture_uk_facnumber` (`facnumber`,`entity`), + KEY `idx_facture_fk_soc` (`fk_soc`), + KEY `idx_facture_fk_user_author` (`fk_user_author`), + KEY `idx_facture_fk_user_valid` (`fk_user_valid`), + KEY `idx_facture_fk_facture_source` (`fk_facture_source`), + KEY `idx_facture_fk_projet` (`fk_projet`), + KEY `idx_facture_fk_account` (`fk_account`), + KEY `idx_facture_fk_currency` (`fk_currency`), + KEY `idx_facture_fk_statut` (`fk_statut`), + CONSTRAINT `fk_facture_fk_facture_source` FOREIGN KEY (`fk_facture_source`) REFERENCES `llx_facture` (`rowid`), + CONSTRAINT `fk_facture_fk_projet` FOREIGN KEY (`fk_projet`) REFERENCES `llx_projet` (`rowid`), + CONSTRAINT `fk_facture_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`), + CONSTRAINT `fk_facture_fk_user_author` FOREIGN KEY (`fk_user_author`) REFERENCES `llx_user` (`rowid`), + CONSTRAINT `fk_facture_fk_user_valid` FOREIGN KEY (`fk_user_valid`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=214 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_facture` +-- + +LOCK TABLES `llx_facture` WRITE; +/*!40000 ALTER TABLE `llx_facture` DISABLE KEYS */; +INSERT INTO `llx_facture` VALUES (2,'FA1007-0002',1,NULL,NULL,0,NULL,NULL,2,'2010-07-10 18:20:13','2016-07-10',NULL,'2016-07-30 15:13:20',1,10.00000000,NULL,NULL,0,NULL,NULL,0.10000000,0.00000000,0.00000000,0.00000000,46.00000000,46.10000000,2,1,NULL,1,NULL,NULL,NULL,NULL,1,0,'2016-07-10',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(3,'FA1107-0006',1,NULL,NULL,0,NULL,NULL,10,'2011-07-18 20:33:35','2016-07-18',NULL,'2016-07-30 15:13:20',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,15.00000000,15.00000000,2,1,NULL,1,NULL,1,NULL,NULL,1,0,'2016-07-18',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(5,'FA1108-0003',1,NULL,NULL,0,NULL,NULL,7,'2011-08-01 03:34:11','2015-08-01',NULL,'2016-07-30 15:12:32',1,0.00000000,NULL,NULL,0,NULL,NULL,0.63000000,0.00000000,0.00000000,0.00000000,5.00000000,5.63000000,2,1,NULL,1,NULL,NULL,NULL,NULL,0,6,'2015-08-01',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(6,'FA1108-0004',1,NULL,NULL,0,NULL,NULL,7,'2011-08-06 20:33:53','2015-08-06',NULL,'2016-07-30 15:12:32',1,0.00000000,NULL,NULL,0,NULL,NULL,0.98000000,0.00000000,0.00000000,0.00000000,5.00000000,5.98000000,2,1,NULL,1,NULL,NULL,NULL,NULL,0,4,'2015-08-06','Cash\nReceived : 6 EUR\nRendu : 0.02 EUR\n\n--------------------------------------',NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(8,'FA1108-0005',1,NULL,NULL,3,NULL,NULL,2,'2011-08-08 02:41:44','2015-08-08',NULL,'2016-07-30 15:12:32',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,2,1,NULL,1,NULL,NULL,NULL,NULL,1,0,'2015-08-08',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(9,'FA1108-0007',1,NULL,NULL,3,NULL,NULL,10,'2011-08-08 02:55:14','2015-08-08',NULL,'2016-07-30 15:12:32',0,0.00000000,NULL,NULL,0,NULL,NULL,1.96000000,0.00000000,0.00000000,0.00000000,10.00000000,11.96000000,1,1,NULL,1,NULL,NULL,NULL,NULL,1,0,'2015-08-08',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(10,'AV1212-0001',1,NULL,NULL,2,NULL,NULL,10,'2012-12-08 17:45:20','2015-12-08','2015-12-08','2016-07-30 15:12:32',0,0.00000000,NULL,NULL,0,NULL,NULL,-0.63000000,0.00000000,0.00000000,0.00000000,-11.00000000,-11.63000000,1,1,NULL,1,3,NULL,NULL,NULL,0,0,'2015-12-08',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(12,'AV1212-0002',1,NULL,NULL,2,NULL,NULL,10,'2012-12-08 18:20:14','2015-12-08','2015-12-08','2016-07-30 15:12:32',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,-5.00000000,-5.00000000,2,1,NULL,1,3,NULL,NULL,NULL,0,0,'2015-12-08',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(13,'FA1212-0011',1,NULL,NULL,0,NULL,NULL,7,'2012-12-09 20:04:19','2015-12-09','2016-02-12','2016-07-30 15:12:32',0,0.00000000,NULL,NULL,0,NULL,NULL,2.74000000,0.00000000,0.00000000,0.00000000,14.00000000,16.74000000,1,1,NULL,1,NULL,NULL,NULL,NULL,1,0,'2015-12-09',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(32,'FA1212-0021',1,NULL,NULL,0,NULL,NULL,1,'2012-12-11 09:34:23','2015-12-11','2016-03-24','2016-07-30 15:12:32',0,0.00000000,NULL,NULL,0,NULL,NULL,90.00000000,0.00000000,0.00000000,0.60000000,520.00000000,610.60000000,1,1,NULL,1,NULL,NULL,NULL,NULL,1,0,'2015-12-11','This is a comment (private)','This is a comment (public)','crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(33,'FA1212-0023',1,NULL,NULL,0,NULL,NULL,1,'2012-12-11 09:34:23','2015-12-11','2017-03-03','2016-07-30 15:12:32',0,0.00000000,NULL,NULL,0,'abandon',NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,3,1,NULL,1,NULL,NULL,NULL,NULL,1,0,'2015-12-11','This is a comment (private)','This is a comment (public)','crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(55,'FA1212-0009',1,NULL,NULL,0,NULL,NULL,1,'2012-12-11 09:35:51','2015-12-11','2015-12-12','2016-07-30 15:12:32',0,0.00000000,NULL,NULL,0,NULL,NULL,0.24000000,0.00000000,0.00000000,0.00000000,2.48000000,2.72000000,1,1,NULL,1,NULL,NULL,NULL,NULL,1,0,'2015-12-11','This is a comment (private)','This is a comment (public)','generic_invoice_odt:/home/ldestailleur/git/dolibarr_3.8/documents/doctemplates/invoices/template_invoice.odt',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(148,'FS1301-0001',1,NULL,NULL,0,NULL,NULL,1,'2013-01-19 18:22:48','2016-01-19','2016-01-19','2016-07-30 15:13:20',0,0.00000000,NULL,NULL,0,NULL,NULL,0.63000000,0.00000000,0.00000000,0.00000000,5.00000000,5.63000000,1,1,NULL,1,NULL,NULL,NULL,NULL,0,1,'2016-01-19',NULL,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(149,'(PROV149)',1,NULL,NULL,0,NULL,NULL,1,'2013-01-19 18:30:05','2016-01-19',NULL,'2016-07-30 15:13:20',0,0.00000000,NULL,NULL,0,NULL,NULL,1.96000000,0.00000000,0.00000000,0.00000000,10.00000000,11.96000000,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0,0,'2016-01-19',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(150,'FA6801-0010',1,NULL,NULL,0,NULL,NULL,1,'2013-01-19 18:31:10','2016-01-19','2016-01-19','2016-07-30 15:13:20',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,2,1,NULL,1,NULL,NULL,NULL,NULL,0,1,'2016-01-19',NULL,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(151,'FS1301-0002',1,NULL,NULL,0,NULL,NULL,1,'2013-01-19 18:31:58','2016-01-19','2016-01-19','2016-07-30 15:13:20',1,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,2,1,NULL,1,NULL,NULL,NULL,NULL,0,1,'2016-01-19',NULL,NULL,'',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(160,'FA1507-0015',1,NULL,NULL,0,NULL,NULL,12,'2013-03-06 16:47:48','2016-07-18','2014-03-06','2016-07-30 15:13:20',0,0.00000000,NULL,NULL,0,NULL,NULL,1.11000000,0.00000000,0.00000000,0.00000000,8.89000000,10.00000000,1,1,NULL,1,NULL,NULL,NULL,NULL,1,0,'2016-07-18',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(210,'FA1107-0019',1,NULL,NULL,0,NULL,NULL,10,'2013-03-20 14:30:11','2016-07-10','2018-03-20','2016-07-30 15:13:20',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,10.00000000,10.00000000,1,1,NULL,1,NULL,NULL,NULL,NULL,1,0,'2016-07-10',NULL,NULL,'generic_invoice_odt:/home/ldestailleur/git/dolibarr_3.8/documents/doctemplates/invoices/template_invoice.odt',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(211,'FA1303-0020',1,NULL,NULL,0,NULL,NULL,19,'2013-03-22 09:40:10','2016-03-22','2017-03-02','2016-07-30 15:13:20',0,0.00000000,NULL,NULL,0,NULL,NULL,17.64000000,0.00000000,0.00000000,0.40000000,340.00000000,358.04000000,1,1,NULL,1,NULL,NULL,NULL,NULL,1,0,'2016-03-22',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(213,'AV1303-0003',1,NULL,NULL,2,NULL,NULL,1,'2014-03-03 19:22:03','2016-03-03','2017-03-03','2016-07-30 15:13:20',0,0.00000000,NULL,NULL,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,-1000.00000000,-1000.00000000,1,1,NULL,1,32,NULL,NULL,NULL,0,0,'2016-03-03',NULL,NULL,'crabe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000); +/*!40000 ALTER TABLE `llx_facture` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_facture_extrafields` +-- + +DROP TABLE IF EXISTS `llx_facture_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_facture_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_facture_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_facture_extrafields` +-- + +LOCK TABLES `llx_facture_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_facture_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_facture_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_facture_fourn` +-- + +DROP TABLE IF EXISTS `llx_facture_fourn`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_facture_fourn` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `ref` varchar(255) NOT NULL, + `ref_supplier` varchar(255) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `ref_ext` varchar(255) DEFAULT NULL, + `type` smallint(6) NOT NULL DEFAULT '0', + `fk_soc` int(11) NOT NULL, + `datec` datetime DEFAULT NULL, + `datef` date DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `libelle` varchar(255) DEFAULT NULL, + `paye` smallint(6) NOT NULL DEFAULT '0', + `amount` double(24,8) NOT NULL DEFAULT '0.00000000', + `remise` double(24,8) DEFAULT '0.00000000', + `close_code` varchar(16) DEFAULT NULL, + `close_note` varchar(128) DEFAULT NULL, + `tva` double(24,8) DEFAULT '0.00000000', + `localtax1` double(24,8) DEFAULT '0.00000000', + `localtax2` double(24,8) DEFAULT '0.00000000', + `total` double(24,8) DEFAULT '0.00000000', + `total_ht` double(24,8) DEFAULT '0.00000000', + `total_tva` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) DEFAULT '0.00000000', + `fk_statut` smallint(6) NOT NULL DEFAULT '0', + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `fk_facture_source` int(11) DEFAULT NULL, + `fk_projet` int(11) DEFAULT NULL, + `fk_account` int(11) DEFAULT NULL, + `fk_cond_reglement` int(11) DEFAULT NULL, + `fk_mode_reglement` int(11) DEFAULT NULL, + `date_lim_reglement` date DEFAULT NULL, + `note_private` text, + `note_public` text, + `model_pdf` varchar(255) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + `extraparams` varchar(255) DEFAULT NULL, + `fk_incoterms` int(11) DEFAULT NULL, + `location_incoterms` varchar(255) DEFAULT NULL, + `fk_multicurrency` int(11) DEFAULT NULL, + `multicurrency_code` varchar(255) DEFAULT NULL, + `multicurrency_tx` double(24,8) DEFAULT '1.00000000', + `multicurrency_total_ht` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_tva` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_ttc` double(24,8) DEFAULT '0.00000000', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_facture_fourn_ref` (`ref`,`entity`), + UNIQUE KEY `uk_facture_fourn_ref_supplier` (`ref_supplier`,`fk_soc`,`entity`), + KEY `idx_facture_fourn_date_lim_reglement` (`date_lim_reglement`), + KEY `idx_facture_fourn_fk_soc` (`fk_soc`), + KEY `idx_facture_fourn_fk_user_author` (`fk_user_author`), + KEY `idx_facture_fourn_fk_user_valid` (`fk_user_valid`), + KEY `idx_facture_fourn_fk_projet` (`fk_projet`), + CONSTRAINT `fk_facture_fourn_fk_projet` FOREIGN KEY (`fk_projet`) REFERENCES `llx_projet` (`rowid`), + CONSTRAINT `fk_facture_fourn_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`), + CONSTRAINT `fk_facture_fourn_fk_user_author` FOREIGN KEY (`fk_user_author`) REFERENCES `llx_user` (`rowid`), + CONSTRAINT `fk_facture_fourn_fk_user_valid` FOREIGN KEY (`fk_user_valid`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_facture_fourn` +-- + +LOCK TABLES `llx_facture_fourn` WRITE; +/*!40000 ALTER TABLE `llx_facture_fourn` DISABLE KEYS */; +INSERT INTO `llx_facture_fourn` VALUES (16,'16','FR70813',1,NULL,0,1,'2012-12-19 15:24:11','2003-04-11','2016-01-22 17:54:46','OVH FR70813',0,0.00000000,0.00000000,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,829.00000000,162.48000000,991.48000000,1,1,NULL,12,NULL,NULL,NULL,1,NULL,'2003-04-11','','',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(17,'17','FR81385',1,NULL,0,1,'2013-02-13 17:19:35','2003-06-04','2016-01-22 17:56:56','OVH FR81385',0,0.00000000,0.00000000,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,26.00000000,5.10000000,31.10000000,0,1,NULL,NULL,NULL,NULL,NULL,1,NULL,'2003-06-04','','','canelle',NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(18,'18','FR81385',1,NULL,0,2,'2013-02-13 17:20:25','2003-06-04','2015-07-19 13:40:54','OVH FR81385',0,0.00000000,0.00000000,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,26.00000000,5.10000000,31.10000000,0,1,NULL,NULL,NULL,NULL,NULL,1,NULL,'2003-06-04','','',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(19,'19','FR813852',1,NULL,0,2,'2013-03-16 17:59:02','2013-03-16','2015-07-19 13:40:54','OVH FR81385',0,0.00000000,0.00000000,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,26.00000000,5.10000000,31.10000000,0,1,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,'','',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000); +/*!40000 ALTER TABLE `llx_facture_fourn` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_facture_fourn_det` +-- + +DROP TABLE IF EXISTS `llx_facture_fourn_det`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_facture_fourn_det` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_facture_fourn` int(11) NOT NULL, + `fk_parent_line` int(11) DEFAULT NULL, + `fk_product` int(11) DEFAULT NULL, + `ref` varchar(50) DEFAULT NULL, + `label` varchar(255) DEFAULT NULL, + `description` text, + `pu_ht` double(24,8) DEFAULT NULL, + `pu_ttc` double(24,8) DEFAULT NULL, + `qty` double DEFAULT NULL, + `remise_percent` double DEFAULT '0', + `tva_tx` double(6,3) DEFAULT NULL, + `localtax1_tx` double(6,3) DEFAULT '0.000', + `localtax1_type` varchar(10) NOT NULL DEFAULT '0', + `localtax2_tx` double(6,3) DEFAULT '0.000', + `localtax2_type` varchar(10) NOT NULL DEFAULT '0', + `total_ht` double(24,8) DEFAULT NULL, + `tva` double(24,8) DEFAULT NULL, + `total_localtax1` double(24,8) DEFAULT '0.00000000', + `total_localtax2` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) DEFAULT NULL, + `product_type` int(11) DEFAULT '0', + `date_start` datetime DEFAULT NULL, + `date_end` datetime DEFAULT NULL, + `info_bits` int(11) NOT NULL DEFAULT '0', + `import_key` varchar(14) DEFAULT NULL, + `fk_code_ventilation` int(11) NOT NULL DEFAULT '0', + `special_code` int(11) DEFAULT '0', + `rang` int(11) DEFAULT '0', + `fk_unit` int(11) DEFAULT NULL, + `fk_multicurrency` int(11) DEFAULT NULL, + `multicurrency_code` varchar(255) DEFAULT NULL, + `multicurrency_subprice` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_ht` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_tva` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_ttc` double(24,8) DEFAULT '0.00000000', + PRIMARY KEY (`rowid`), + KEY `idx_facture_fourn_det_fk_facture` (`fk_facture_fourn`), + KEY `fk_facture_fourn_det_fk_unit` (`fk_unit`), + CONSTRAINT `fk_facture_fourn_det_fk_facture` FOREIGN KEY (`fk_facture_fourn`) REFERENCES `llx_facture_fourn` (`rowid`), + CONSTRAINT `fk_facture_fourn_det_fk_unit` FOREIGN KEY (`fk_unit`) REFERENCES `llx_c_units` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=53 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_facture_fourn_det` +-- + +LOCK TABLES `llx_facture_fourn_det` WRITE; +/*!40000 ALTER TABLE `llx_facture_fourn_det` DISABLE KEYS */; +INSERT INTO `llx_facture_fourn_det` VALUES (44,16,NULL,NULL,NULL,NULL,'ref :sd.loc.sp.512.6
6 mois - Location de SuperPlan avec la connexion 512kbs
Du 11/04/2003 à 11/10/2003',414.00000000,495.14400000,1,0,19.600,0.000,'',0.000,'',414.00000000,81.14000000,0.00000000,0.00000000,495.14000000,0,NULL,NULL,0,NULL,0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(45,16,NULL,NULL,NULL,NULL,'ref :sd.loc.sp.512.6
6 mois - Location de SuperPlan avec la connexion 512kbs
Du 11/10/2003 à 11/04/2004',414.00000000,495.14400000,1,0,19.600,0.000,'',0.000,'',414.00000000,81.14000000,0.00000000,0.00000000,495.14000000,0,NULL,NULL,0,NULL,0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(46,16,NULL,NULL,NULL,NULL,'ref :sd.installation.annuel
Frais de mise en service d\'un serveur dédié pour un paiement annuel
',1.00000000,1.19600000,1,0,19.600,0.000,'',0.000,'',1.00000000,0.20000000,0.00000000,0.00000000,1.20000000,0,NULL,NULL,0,NULL,0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(47,17,NULL,NULL,NULL,NULL,'ref :bk.full250.creation
Création du compte backup ftp 250Mo.
',1.00000000,1.19600000,1,0,19.600,0.000,'',0.000,'',1.00000000,0.20000000,0.00000000,0.00000000,1.20000000,0,NULL,NULL,0,NULL,0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(48,17,NULL,NULL,NULL,NULL,'ref :bk.full250.12
Redevance pour un backup de 250Mo sur 12 mois
',25.00000000,29.90000000,1,0,19.600,0.000,'',0.000,'',25.00000000,4.90000000,0.00000000,0.00000000,29.90000000,0,NULL,NULL,0,NULL,0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(49,18,NULL,NULL,NULL,NULL,'ref :bk.full250.creation
Création du compte backup ftp 250Mo.
',1.00000000,1.19600000,1,0,19.600,0.000,'',0.000,'',1.00000000,0.20000000,0.00000000,0.00000000,1.20000000,0,NULL,NULL,0,NULL,0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(50,18,NULL,NULL,NULL,NULL,'ref :bk.full250.12
Redevance pour un backup de 250Mo sur 12 mois
',25.00000000,29.90000000,1,0,19.600,0.000,'',0.000,'',25.00000000,4.90000000,0.00000000,0.00000000,29.90000000,0,NULL,NULL,0,NULL,0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(51,19,NULL,NULL,NULL,NULL,'ref :bk.full250.creation
Création du compte backup ftp 250Mo.
',1.00000000,1.19600000,1,0,19.600,0.000,'0',0.000,'0',1.00000000,0.20000000,0.00000000,0.00000000,1.20000000,0,NULL,NULL,0,NULL,0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(52,19,NULL,NULL,NULL,NULL,'ref :bk.full250.12
Redevance pour un backup de 250Mo sur 12 mois
',25.00000000,29.90000000,1,0,19.600,0.000,'0',0.000,'0',25.00000000,4.90000000,0.00000000,0.00000000,29.90000000,0,NULL,NULL,0,NULL,0,0,0,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000); +/*!40000 ALTER TABLE `llx_facture_fourn_det` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_facture_fourn_det_extrafields` +-- + +DROP TABLE IF EXISTS `llx_facture_fourn_det_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_facture_fourn_det_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_facture_fourn_det_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_facture_fourn_det_extrafields` +-- + +LOCK TABLES `llx_facture_fourn_det_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_facture_fourn_det_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_facture_fourn_det_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_facture_fourn_extrafields` +-- + +DROP TABLE IF EXISTS `llx_facture_fourn_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_facture_fourn_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_facture_fourn_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_facture_fourn_extrafields` +-- + +LOCK TABLES `llx_facture_fourn_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_facture_fourn_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_facture_fourn_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_facture_rec` +-- + +DROP TABLE IF EXISTS `llx_facture_rec`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_facture_rec` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `titre` varchar(50) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `fk_soc` int(11) NOT NULL, + `datec` datetime DEFAULT NULL, + `amount` double(24,8) NOT NULL DEFAULT '0.00000000', + `remise` double DEFAULT '0', + `remise_percent` double DEFAULT '0', + `remise_absolue` double DEFAULT '0', + `tva` double(24,8) DEFAULT '0.00000000', + `localtax1` double(24,8) DEFAULT '0.00000000', + `localtax2` double(24,8) DEFAULT '0.00000000', + `total` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) DEFAULT '0.00000000', + `fk_user_author` int(11) DEFAULT NULL, + `fk_projet` int(11) DEFAULT NULL, + `fk_cond_reglement` int(11) DEFAULT '0', + `fk_mode_reglement` int(11) DEFAULT '0', + `date_lim_reglement` date DEFAULT NULL, + `note_private` text, + `note_public` text, + `last_gen` varchar(7) DEFAULT NULL, + `unit_frequency` varchar(2) DEFAULT 'd', + `date_when` datetime DEFAULT NULL, + `date_last_gen` datetime DEFAULT NULL, + `nb_gen_done` int(11) DEFAULT NULL, + `nb_gen_max` int(11) DEFAULT NULL, + `frequency` int(11) DEFAULT NULL, + `usenewprice` int(11) DEFAULT '0', + `revenuestamp` double(24,8) DEFAULT '0.00000000', + `auto_validate` int(11) DEFAULT '0', + `fk_account` int(11) DEFAULT '0', + `fk_multicurrency` int(11) DEFAULT NULL, + `multicurrency_code` varchar(255) DEFAULT NULL, + `multicurrency_tx` double(24,8) DEFAULT '1.00000000', + `multicurrency_total_ht` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_tva` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_ttc` double(24,8) DEFAULT '0.00000000', + PRIMARY KEY (`rowid`), + UNIQUE KEY `idx_facture_rec_uk_titre` (`titre`,`entity`), + KEY `idx_facture_rec_fk_soc` (`fk_soc`), + KEY `idx_facture_rec_fk_user_author` (`fk_user_author`), + KEY `idx_facture_rec_fk_projet` (`fk_projet`), + CONSTRAINT `fk_facture_rec_fk_projet` FOREIGN KEY (`fk_projet`) REFERENCES `llx_projet` (`rowid`), + CONSTRAINT `fk_facture_rec_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`), + CONSTRAINT `fk_facture_rec_fk_user_author` FOREIGN KEY (`fk_user_author`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_facture_rec` +-- + +LOCK TABLES `llx_facture_rec` WRITE; +/*!40000 ALTER TABLE `llx_facture_rec` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_facture_rec` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_facturedet` +-- + +DROP TABLE IF EXISTS `llx_facturedet`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_facturedet` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_facture` int(11) NOT NULL, + `fk_parent_line` int(11) DEFAULT NULL, + `fk_product` int(11) DEFAULT NULL, + `label` varchar(255) DEFAULT NULL, + `description` text, + `tva_tx` double(6,3) DEFAULT NULL, + `localtax1_tx` double(6,3) DEFAULT '0.000', + `localtax1_type` varchar(10) NOT NULL DEFAULT '0', + `localtax2_tx` double(6,3) DEFAULT '0.000', + `localtax2_type` varchar(10) NOT NULL DEFAULT '0', + `qty` double DEFAULT NULL, + `remise_percent` double DEFAULT '0', + `remise` double DEFAULT '0', + `fk_remise_except` int(11) DEFAULT NULL, + `subprice` double(24,8) DEFAULT NULL, + `price` double(24,8) DEFAULT NULL, + `total_ht` double(24,8) DEFAULT NULL, + `total_tva` double(24,8) DEFAULT NULL, + `total_localtax1` double(24,8) DEFAULT '0.00000000', + `total_localtax2` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) DEFAULT NULL, + `product_type` int(11) DEFAULT '0', + `date_start` datetime DEFAULT NULL, + `date_end` datetime DEFAULT NULL, + `info_bits` int(11) DEFAULT '0', + `fk_product_fournisseur_price` int(11) DEFAULT NULL, + `buy_price_ht` double(24,8) DEFAULT '0.00000000', + `fk_code_ventilation` int(11) NOT NULL DEFAULT '0', + `special_code` int(10) unsigned DEFAULT '0', + `rang` int(11) DEFAULT '0', + `fk_contract_line` int(11) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + `situation_percent` double DEFAULT NULL, + `fk_prev_id` int(11) DEFAULT NULL, + `fk_unit` int(11) DEFAULT NULL, + `fk_multicurrency` int(11) DEFAULT NULL, + `multicurrency_code` varchar(255) DEFAULT NULL, + `multicurrency_subprice` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_ht` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_tva` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_ttc` double(24,8) DEFAULT '0.00000000', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_fk_remise_except` (`fk_remise_except`,`fk_facture`), + KEY `idx_facturedet_fk_facture` (`fk_facture`), + KEY `idx_facturedet_fk_product` (`fk_product`), + KEY `fk_facturedet_fk_unit` (`fk_unit`), + CONSTRAINT `fk_facturedet_fk_facture` FOREIGN KEY (`fk_facture`) REFERENCES `llx_facture` (`rowid`), + CONSTRAINT `fk_facturedet_fk_unit` FOREIGN KEY (`fk_unit`) REFERENCES `llx_c_units` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=1027 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_facturedet` +-- + +LOCK TABLES `llx_facturedet` WRITE; +/*!40000 ALTER TABLE `llx_facturedet` DISABLE KEYS */; +INSERT INTO `llx_facturedet` VALUES (3,2,NULL,3,NULL,'Service S1',0.000,0.000,'',0.000,'',1,10,4,NULL,40.00000000,36.00000000,36.00000000,0.00000000,0.00000000,0.00000000,36.00000000,1,'2010-07-10 00:00:00',NULL,0,NULL,0.00000000,0,0,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(4,2,NULL,NULL,NULL,'Abonnement annuel assurance',1.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,10.00000000,0.10000000,0.00000000,0.00000000,10.10000000,0,'2010-07-10 00:00:00','2011-07-10 00:00:00',0,NULL,0.00000000,0,0,3,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(11,3,NULL,4,NULL,'afsdfsdfsdfsdf',0.000,0.000,'',0.000,'',1,0,0,NULL,5.00000000,5.00000000,5.00000000,0.00000000,0.00000000,0.00000000,5.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(12,3,NULL,NULL,NULL,'dfdfd',0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(13,5,NULL,4,NULL,'Decapsuleur',12.500,0.000,'',0.000,'',1,0,0,NULL,5.00000000,5.00000000,5.00000000,0.63000000,0.00000000,0.00000000,5.63000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(14,6,NULL,4,NULL,'Decapsuleur',19.600,0.000,'',0.000,'',1,0,0,NULL,5.00000000,5.00000000,5.00000000,0.98000000,0.00000000,0.00000000,5.98000000,0,NULL,NULL,0,NULL,0.00000000,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(21,8,NULL,NULL,NULL,'dddd',0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(22,9,NULL,NULL,NULL,'ggg',19.600,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,10.00000000,1.96000000,0.00000000,0.00000000,11.96000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(23,10,NULL,4,NULL,'',12.500,0.000,'',0.000,'',1,0,0,NULL,-5.00000000,NULL,-5.00000000,-0.63000000,0.00000000,0.00000000,-5.63000000,0,NULL,NULL,0,NULL,12.00000000,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(24,10,NULL,1,NULL,'A beatifull pink dress\r\nlkm',0.000,0.000,'',0.000,'',1,0,0,NULL,-6.00000000,NULL,-6.00000000,0.00000000,0.00000000,0.00000000,-6.00000000,0,NULL,NULL,0,0,0.00000000,0,0,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(26,12,NULL,1,NULL,'A beatifull pink dress\r\nhfghf',0.000,0.000,'',0.000,'',1,0,0,NULL,-5.00000000,NULL,-5.00000000,0.00000000,0.00000000,0.00000000,-5.00000000,0,NULL,NULL,0,0,0.00000000,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(27,13,NULL,NULL,NULL,'gdfgdf',19.600,0.000,'',0.000,'',1.4,0,0,NULL,10.00000000,NULL,14.00000000,2.74000000,0.00000000,0.00000000,16.74000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(137,33,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(138,33,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(256,55,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(257,55,NULL,NULL,NULL,'Desc',10.000,0.000,'',0.000,'',1,0,0,NULL,1.24000000,NULL,1.24000000,0.12000000,0.00000000,0.00000000,1.36000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(753,13,NULL,2,NULL,'(Pays d\'origine: Albanie)',0.000,0.000,'',0.000,'',1,0,0,NULL,0.00000000,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,NULL,NULL,0,0,0.00000000,0,0,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(754,148,NULL,11,NULL,'hfghf',0.000,0.000,'',0.000,'',1,0,0,NULL,0.00000000,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(755,148,NULL,4,NULL,'Decapsuleur',12.500,0.000,'',0.000,'',1,0,0,NULL,5.00000000,NULL,5.00000000,0.63000000,0.00000000,0.00000000,5.63000000,0,NULL,NULL,0,NULL,0.00000000,0,0,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(756,149,NULL,5,NULL,'aaaa',19.600,0.000,'',0.000,'',1,0,0,NULL,10.00000000,NULL,10.00000000,1.96000000,0.00000000,0.00000000,11.96000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(757,150,NULL,2,NULL,'Product P1',12.500,0.000,'',0.000,'',1,0,0,NULL,0.00000000,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(758,151,NULL,2,NULL,'Product P1',12.500,0.000,'',0.000,'',1,0,0,NULL,0.00000000,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(768,32,NULL,NULL,NULL,'mlml',18.000,0.000,'',0.000,'',1,0,0,NULL,100.00000000,NULL,100.00000000,18.00000000,0.00000000,0.00000000,118.00000000,0,NULL,NULL,0,NULL,46.00000000,0,0,3,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(769,32,NULL,NULL,NULL,'mlkml',18.000,0.000,'',0.000,'',1,0,0,NULL,400.00000000,NULL,400.00000000,72.00000000,0.00000000,0.00000000,472.00000000,0,NULL,NULL,0,NULL,300.00000000,0,0,4,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(772,160,NULL,NULL,NULL,'Adhésion/cotisation 2015',12.500,0.000,'',0.000,'',1,0,0,NULL,8.88889000,NULL,8.89000000,1.11000000,0.00000000,0.00000000,10.00000000,1,'2015-07-18 00:00:00','2016-07-17 00:00:00',0,NULL,0.00000000,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(776,32,NULL,NULL,NULL,'fsdfsdfds',0.000,0.000,'0',0.000,'0',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,5,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(777,32,NULL,NULL,NULL,'fsdfsdfds',0.000,0.000,'0',0.000,'0',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,6,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(779,32,NULL,NULL,NULL,'fsdfds',0.000,0.000,'0',0.000,'0',0,0,0,NULL,0.00000000,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,9,NULL,NULL,0,0,0.00000000,0,0,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(780,32,NULL,NULL,NULL,'ffsdf',0.000,0.000,'0',0.000,'0',0,0,0,NULL,0.00000000,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,9,NULL,NULL,0,NULL,0.00000000,0,1790,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(1022,210,NULL,NULL,NULL,'Adhésion/cotisation 2011',0.000,0.000,'0',0.000,'0',1,0,0,NULL,10.00000000,NULL,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,1,'2011-07-10 00:00:00','2012-07-09 00:00:00',0,NULL,0.00000000,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(1023,211,NULL,NULL,NULL,'Samsung Android x4',0.000,0.000,'0',0.000,'0',1,0,0,NULL,250.00000000,NULL,250.00000000,0.00000000,0.00000000,0.00000000,250.00000000,0,NULL,NULL,0,NULL,200.00000000,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(1024,211,NULL,1,NULL,'A beatifull pink dress\r\nSize XXL',19.600,0.000,'0',0.000,'0',1,10,0,NULL,100.00000000,NULL,90.00000000,17.64000000,0.00000000,0.00000000,107.64000000,0,NULL,NULL,0,NULL,90.00000000,0,0,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(1026,213,NULL,1,NULL,'A beatifull pink dress',0.000,0.000,'0',0.000,'0',10,0,0,NULL,-100.00000000,NULL,-1000.00000000,0.00000000,0.00000000,0.00000000,-1000.00000000,0,NULL,NULL,0,NULL,0.00000000,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000); +/*!40000 ALTER TABLE `llx_facturedet` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_facturedet_extrafields` +-- + +DROP TABLE IF EXISTS `llx_facturedet_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_facturedet_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_facturedet_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_facturedet_extrafields` +-- + +LOCK TABLES `llx_facturedet_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_facturedet_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_facturedet_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_facturedet_rec` +-- + +DROP TABLE IF EXISTS `llx_facturedet_rec`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_facturedet_rec` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_facture` int(11) NOT NULL, + `fk_parent_line` int(11) DEFAULT NULL, + `fk_product` int(11) DEFAULT NULL, + `product_type` int(11) DEFAULT '0', + `label` varchar(255) DEFAULT NULL, + `description` text, + `tva_tx` double(6,3) DEFAULT NULL, + `localtax1_tx` double(6,3) DEFAULT '0.000', + `localtax1_type` varchar(10) NOT NULL DEFAULT '0', + `localtax2_tx` double(6,3) DEFAULT '0.000', + `localtax2_type` varchar(10) NOT NULL DEFAULT '0', + `qty` double DEFAULT NULL, + `remise_percent` double DEFAULT '0', + `remise` double DEFAULT '0', + `subprice` double(24,8) DEFAULT NULL, + `price` double(24,8) DEFAULT NULL, + `total_ht` double(24,8) DEFAULT NULL, + `total_tva` double(24,8) DEFAULT NULL, + `total_localtax1` double(24,8) DEFAULT '0.00000000', + `total_localtax2` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) DEFAULT NULL, + `info_bits` int(11) DEFAULT '0', + `special_code` int(10) unsigned DEFAULT '0', + `rang` int(11) DEFAULT '0', + `fk_contract_line` int(11) DEFAULT NULL, + `fk_unit` int(11) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + `fk_multicurrency` int(11) DEFAULT NULL, + `multicurrency_code` varchar(255) DEFAULT NULL, + `multicurrency_subprice` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_ht` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_tva` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_ttc` double(24,8) DEFAULT '0.00000000', + PRIMARY KEY (`rowid`), + KEY `fk_facturedet_rec_fk_unit` (`fk_unit`), + CONSTRAINT `fk_facturedet_rec_fk_unit` FOREIGN KEY (`fk_unit`) REFERENCES `llx_c_units` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_facturedet_rec` +-- + +LOCK TABLES `llx_facturedet_rec` WRITE; +/*!40000 ALTER TABLE `llx_facturedet_rec` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_facturedet_rec` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_fichinter` +-- + +DROP TABLE IF EXISTS `llx_fichinter`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_fichinter` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_soc` int(11) NOT NULL, + `fk_projet` int(11) DEFAULT '0', + `fk_contrat` int(11) DEFAULT '0', + `ref` varchar(30) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datec` datetime DEFAULT NULL, + `date_valid` datetime DEFAULT NULL, + `datei` date DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `fk_statut` smallint(6) DEFAULT '0', + `duree` double DEFAULT NULL, + `dateo` date DEFAULT NULL, + `datee` date DEFAULT NULL, + `datet` date DEFAULT NULL, + `description` text, + `note_private` text, + `note_public` text, + `model_pdf` varchar(255) DEFAULT NULL, + `extraparams` varchar(255) DEFAULT NULL, + `ref_ext` varchar(255) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_fichinter_ref` (`ref`,`entity`), + KEY `idx_fichinter_fk_soc` (`fk_soc`), + CONSTRAINT `fk_fichinter_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_fichinter` +-- + +LOCK TABLES `llx_fichinter` WRITE; +/*!40000 ALTER TABLE `llx_fichinter` DISABLE KEYS */; +INSERT INTO `llx_fichinter` VALUES (1,2,1,0,'FI1007-0001',1,'2016-01-22 17:39:37','2010-07-09 01:42:41','2016-01-22 18:39:37',NULL,1,NULL,12,1,10800,NULL,NULL,NULL,NULL,NULL,NULL,'soleil',NULL,NULL),(2,1,NULL,0,'FI1007-0002',1,'2012-12-08 13:11:07','2010-07-11 16:07:51',NULL,NULL,1,NULL,NULL,0,3600,NULL,NULL,NULL,'ferfrefeferf',NULL,NULL,'soleil',NULL,NULL),(3,2,NULL,0,'FI1511-0003',1,'2016-07-30 15:51:16','2015-11-18 15:57:34','2016-01-22 18:38:46',NULL,2,NULL,12,1,36000,NULL,NULL,NULL,NULL,NULL,NULL,'soleil',NULL,NULL); +/*!40000 ALTER TABLE `llx_fichinter` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_fichinter_extrafields` +-- + +DROP TABLE IF EXISTS `llx_fichinter_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_fichinter_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_ficheinter_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_fichinter_extrafields` +-- + +LOCK TABLES `llx_fichinter_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_fichinter_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_fichinter_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_fichinterdet` +-- + +DROP TABLE IF EXISTS `llx_fichinterdet`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_fichinterdet` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_fichinter` int(11) DEFAULT NULL, + `fk_parent_line` int(11) DEFAULT NULL, + `date` datetime DEFAULT NULL, + `description` text, + `duree` int(11) DEFAULT NULL, + `rang` int(11) DEFAULT '0', + PRIMARY KEY (`rowid`), + KEY `idx_fichinterdet_fk_fichinter` (`fk_fichinter`), + CONSTRAINT `fk_fichinterdet_fk_fichinter` FOREIGN KEY (`fk_fichinter`) REFERENCES `llx_fichinter` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_fichinterdet` +-- + +LOCK TABLES `llx_fichinterdet` WRITE; +/*!40000 ALTER TABLE `llx_fichinterdet` DISABLE KEYS */; +INSERT INTO `llx_fichinterdet` VALUES (1,1,NULL,'2010-07-07 04:00:00','Intervention sur site',3600,0),(2,1,NULL,'2010-07-08 11:00:00','Other actions on client site.',7200,0),(3,2,NULL,'2010-07-11 05:00:00','Pres',3600,0),(5,3,NULL,'2015-11-18 09:00:00','Intervention on building windows 1',32400,0),(6,3,NULL,'2016-01-22 00:00:00','Intervention on building windows 2',3600,0); +/*!40000 ALTER TABLE `llx_fichinterdet` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_fichinterdet_extrafields` +-- + +DROP TABLE IF EXISTS `llx_fichinterdet_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_fichinterdet_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_ficheinterdet_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_fichinterdet_extrafields` +-- + +LOCK TABLES `llx_fichinterdet_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_fichinterdet_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_fichinterdet_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_holiday` +-- + +DROP TABLE IF EXISTS `llx_holiday`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_holiday` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_user` int(11) NOT NULL, + `date_create` datetime NOT NULL, + `description` varchar(255) NOT NULL, + `date_debut` date NOT NULL, + `date_fin` date NOT NULL, + `halfday` int(11) DEFAULT '0', + `statut` int(11) NOT NULL DEFAULT '1', + `fk_validator` int(11) NOT NULL, + `date_valid` datetime DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `date_refuse` datetime DEFAULT NULL, + `fk_user_refuse` int(11) DEFAULT NULL, + `date_cancel` datetime DEFAULT NULL, + `fk_user_cancel` int(11) DEFAULT NULL, + `detail_refuse` varchar(250) DEFAULT NULL, + `note_private` text, + `note_public` text, + `note` text, + `fk_user_create` int(11) DEFAULT NULL, + `fk_type` int(11) NOT NULL DEFAULT '1', + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `entity` int(11) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + KEY `idx_holiday_fk_user` (`fk_user`), + KEY `idx_holiday_date_debut` (`date_debut`), + KEY `idx_holiday_date_fin` (`date_fin`), + KEY `idx_holiday_fk_user_create` (`fk_user_create`), + KEY `idx_holiday_date_create` (`date_create`), + KEY `idx_holiday_fk_validator` (`fk_validator`), + KEY `idx_holiday_entity` (`entity`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_holiday` +-- + +LOCK TABLES `llx_holiday` WRITE; +/*!40000 ALTER TABLE `llx_holiday` DISABLE KEYS */; +INSERT INTO `llx_holiday` VALUES (1,1,'2013-02-17 19:06:35','gdf','2013-02-10','2013-02-11',0,3,1,'2013-02-17 19:06:57',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'0000-00-00 00:00:00',1),(2,12,'2016-01-22 19:10:01','','2016-01-04','2016-01-08',0,1,11,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,12,5,'0000-00-00 00:00:00',1),(3,13,'2016-01-22 19:10:29','','2016-01-11','2016-01-13',0,2,11,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,12,5,'0000-00-00 00:00:00',1); +/*!40000 ALTER TABLE `llx_holiday` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_holiday_config` +-- + +DROP TABLE IF EXISTS `llx_holiday_config`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_holiday_config` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) NOT NULL, + `value` text, + PRIMARY KEY (`rowid`), + UNIQUE KEY `name` (`name`) +) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_holiday_config` +-- + +LOCK TABLES `llx_holiday_config` WRITE; +/*!40000 ALTER TABLE `llx_holiday_config` DISABLE KEYS */; +INSERT INTO `llx_holiday_config` VALUES (1,'userGroup','1'),(2,'lastUpdate','20160730194419'),(3,'nbUser',''),(4,'delayForRequest','31'),(5,'AlertValidatorDelay','0'),(6,'AlertValidatorSolde','0'),(7,'nbHolidayDeducted','1'),(8,'nbHolidayEveryMonth','2.08334'); +/*!40000 ALTER TABLE `llx_holiday_config` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_holiday_events` +-- + +DROP TABLE IF EXISTS `llx_holiday_events`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_holiday_events` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `name` varchar(255) NOT NULL, + `value` text NOT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_holiday_name` (`name`,`entity`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_holiday_events` +-- + +LOCK TABLES `llx_holiday_events` WRITE; +/*!40000 ALTER TABLE `llx_holiday_events` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_holiday_events` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_holiday_logs` +-- + +DROP TABLE IF EXISTS `llx_holiday_logs`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_holiday_logs` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `date_action` datetime NOT NULL, + `fk_user_action` int(11) NOT NULL, + `fk_user_update` int(11) NOT NULL, + `type_action` varchar(255) NOT NULL, + `prev_solde` varchar(255) NOT NULL, + `new_solde` varchar(255) NOT NULL, + `fk_type` int(11) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=195 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_holiday_logs` +-- + +LOCK TABLES `llx_holiday_logs` WRITE; +/*!40000 ALTER TABLE `llx_holiday_logs` DISABLE KEYS */; +INSERT INTO `llx_holiday_logs` VALUES (1,'2013-01-17 21:03:15',1,1,'Event : Mise à jour mensuelle','0.00','2.08',1),(2,'2013-01-17 21:03:15',1,2,'Event : Mise à jour mensuelle','0.00','2.08',1),(3,'2013-01-17 21:03:15',1,3,'Event : Mise à jour mensuelle','0.00','2.08',1),(4,'2013-02-01 09:53:26',1,1,'Event : Mise à jour mensuelle','2.08','4.16',1),(5,'2013-02-01 09:53:26',1,2,'Event : Mise à jour mensuelle','2.08','4.16',1),(6,'2013-02-01 09:53:26',1,3,'Event : Mise à jour mensuelle','2.08','4.16',1),(7,'2013-02-01 09:53:26',1,1,'Event : Mise à jour mensuelle','4.17','6.25',1),(8,'2013-02-01 09:53:26',1,2,'Event : Mise à jour mensuelle','4.17','6.25',1),(9,'2013-02-01 09:53:26',1,3,'Event : Mise à jour mensuelle','4.17','6.25',1),(10,'2013-02-01 09:53:26',1,4,'Event : Mise à jour mensuelle','0.00','2.08',1),(11,'2013-02-01 09:53:31',1,1,'Event : Mise à jour mensuelle','6.25','8.33',1),(12,'2013-02-01 09:53:31',1,2,'Event : Mise à jour mensuelle','6.25','8.33',1),(13,'2013-02-01 09:53:31',1,3,'Event : Mise à jour mensuelle','6.25','8.33',1),(14,'2013-02-01 09:53:31',1,4,'Event : Mise à jour mensuelle','2.08','4.16',1),(15,'2013-02-01 09:53:31',1,1,'Event : Mise à jour mensuelle','8.33','10.41',1),(16,'2013-02-01 09:53:31',1,2,'Event : Mise à jour mensuelle','8.33','10.41',1),(17,'2013-02-01 09:53:31',1,3,'Event : Mise à jour mensuelle','8.33','10.41',1),(18,'2013-02-01 09:53:31',1,4,'Event : Mise à jour mensuelle','4.17','6.25',1),(19,'2013-02-01 09:53:33',1,1,'Event : Mise à jour mensuelle','10.42','12.50',1),(20,'2013-02-01 09:53:33',1,2,'Event : Mise à jour mensuelle','10.42','12.50',1),(21,'2013-02-01 09:53:33',1,3,'Event : Mise à jour mensuelle','10.42','12.50',1),(22,'2013-02-01 09:53:33',1,4,'Event : Mise à jour mensuelle','6.25','8.33',1),(23,'2013-02-01 09:53:34',1,1,'Event : Mise à jour mensuelle','12.50','14.58',1),(24,'2013-02-01 09:53:34',1,2,'Event : Mise à jour mensuelle','12.50','14.58',1),(25,'2013-02-01 09:53:34',1,3,'Event : Mise à jour mensuelle','12.50','14.58',1),(26,'2013-02-01 09:53:34',1,4,'Event : Mise à jour mensuelle','8.33','10.41',1),(27,'2013-02-01 09:53:34',1,1,'Event : Mise à jour mensuelle','14.58','16.66',1),(28,'2013-02-01 09:53:34',1,2,'Event : Mise à jour mensuelle','14.58','16.66',1),(29,'2013-02-01 09:53:34',1,3,'Event : Mise à jour mensuelle','14.58','16.66',1),(30,'2013-02-01 09:53:34',1,4,'Event : Mise à jour mensuelle','10.42','12.50',1),(31,'2013-02-01 09:53:36',1,1,'Event : Mise à jour mensuelle','16.67','18.75',1),(32,'2013-02-01 09:53:36',1,2,'Event : Mise à jour mensuelle','16.67','18.75',1),(33,'2013-02-01 09:53:36',1,3,'Event : Mise à jour mensuelle','16.67','18.75',1),(34,'2013-02-01 09:53:36',1,4,'Event : Mise à jour mensuelle','12.50','14.58',1),(35,'2013-02-01 09:53:36',1,1,'Event : Mise à jour mensuelle','18.75','20.83',1),(36,'2013-02-01 09:53:36',1,2,'Event : Mise à jour mensuelle','18.75','20.83',1),(37,'2013-02-01 09:53:36',1,3,'Event : Mise à jour mensuelle','18.75','20.83',1),(38,'2013-02-01 09:53:36',1,4,'Event : Mise à jour mensuelle','14.58','16.66',1),(39,'2013-02-01 09:53:37',1,1,'Event : Mise à jour mensuelle','20.83','22.91',1),(40,'2013-02-01 09:53:37',1,2,'Event : Mise à jour mensuelle','20.83','22.91',1),(41,'2013-02-01 09:53:37',1,3,'Event : Mise à jour mensuelle','20.83','22.91',1),(42,'2013-02-01 09:53:37',1,4,'Event : Mise à jour mensuelle','16.67','18.75',1),(43,'2013-02-01 09:53:37',1,1,'Event : Mise à jour mensuelle','22.92','25.00',1),(44,'2013-02-01 09:53:37',1,2,'Event : Mise à jour mensuelle','22.92','25.00',1),(45,'2013-02-01 09:53:37',1,3,'Event : Mise à jour mensuelle','22.92','25.00',1),(46,'2013-02-01 09:53:37',1,4,'Event : Mise à jour mensuelle','18.75','20.83',1),(47,'2013-02-01 09:53:44',1,1,'Event : Mise à jour mensuelle','25.00','27.08',1),(48,'2013-02-01 09:53:44',1,2,'Event : Mise à jour mensuelle','25.00','27.08',1),(49,'2013-02-01 09:53:44',1,3,'Event : Mise à jour mensuelle','25.00','27.08',1),(50,'2013-02-01 09:53:44',1,4,'Event : Mise à jour mensuelle','20.83','22.91',1),(51,'2013-02-01 09:53:47',1,1,'Event : Mise à jour mensuelle','27.08','29.16',1),(52,'2013-02-01 09:53:47',1,2,'Event : Mise à jour mensuelle','27.08','29.16',1),(53,'2013-02-01 09:53:47',1,3,'Event : Mise à jour mensuelle','27.08','29.16',1),(54,'2013-02-01 09:53:47',1,4,'Event : Mise à jour mensuelle','22.92','25.00',1),(55,'2013-02-01 09:53:47',1,1,'Event : Mise à jour mensuelle','29.17','31.25',1),(56,'2013-02-01 09:53:47',1,2,'Event : Mise à jour mensuelle','29.17','31.25',1),(57,'2013-02-01 09:53:47',1,3,'Event : Mise à jour mensuelle','29.17','31.25',1),(58,'2013-02-01 09:53:47',1,4,'Event : Mise à jour mensuelle','25.00','27.08',1),(59,'2013-02-01 09:53:49',1,1,'Event : Mise à jour mensuelle','31.25','33.33',1),(60,'2013-02-01 09:53:49',1,2,'Event : Mise à jour mensuelle','31.25','33.33',1),(61,'2013-02-01 09:53:49',1,3,'Event : Mise à jour mensuelle','31.25','33.33',1),(62,'2013-02-01 09:53:49',1,4,'Event : Mise à jour mensuelle','27.08','29.16',1),(63,'2013-02-01 09:53:52',1,1,'Event : Mise à jour mensuelle','33.33','35.41',1),(64,'2013-02-01 09:53:52',1,2,'Event : Mise à jour mensuelle','33.33','35.41',1),(65,'2013-02-01 09:53:52',1,3,'Event : Mise à jour mensuelle','33.33','35.41',1),(66,'2013-02-01 09:53:52',1,4,'Event : Mise à jour mensuelle','29.17','31.25',1),(67,'2013-02-01 09:53:52',1,1,'Event : Mise à jour mensuelle','35.42','37.50',1),(68,'2013-02-01 09:53:52',1,2,'Event : Mise à jour mensuelle','35.42','37.50',1),(69,'2013-02-01 09:53:52',1,3,'Event : Mise à jour mensuelle','35.42','37.50',1),(70,'2013-02-01 09:53:52',1,4,'Event : Mise à jour mensuelle','31.25','33.33',1),(71,'2013-02-01 09:53:53',1,1,'Event : Mise à jour mensuelle','37.50','39.58',1),(72,'2013-02-01 09:53:53',1,2,'Event : Mise à jour mensuelle','37.50','39.58',1),(73,'2013-02-01 09:53:53',1,3,'Event : Mise à jour mensuelle','37.50','39.58',1),(74,'2013-02-01 09:53:53',1,4,'Event : Mise à jour mensuelle','33.33','35.41',1),(75,'2013-02-01 09:53:54',1,1,'Event : Mise à jour mensuelle','39.58','41.66',1),(76,'2013-02-01 09:53:54',1,2,'Event : Mise à jour mensuelle','39.58','41.66',1),(77,'2013-02-01 09:53:54',1,3,'Event : Mise à jour mensuelle','39.58','41.66',1),(78,'2013-02-01 09:53:54',1,4,'Event : Mise à jour mensuelle','35.42','37.50',1),(79,'2013-02-01 09:53:54',1,1,'Event : Mise à jour mensuelle','41.67','43.75',1),(80,'2013-02-01 09:53:54',1,2,'Event : Mise à jour mensuelle','41.67','43.75',1),(81,'2013-02-01 09:53:54',1,3,'Event : Mise à jour mensuelle','41.67','43.75',1),(82,'2013-02-01 09:53:54',1,4,'Event : Mise à jour mensuelle','37.50','39.58',1),(83,'2013-02-01 09:55:49',1,1,'Event : Mise à jour mensuelle','43.75','45.83',1),(84,'2013-02-01 09:55:49',1,2,'Event : Mise à jour mensuelle','43.75','45.83',1),(85,'2013-02-01 09:55:49',1,3,'Event : Mise à jour mensuelle','43.75','45.83',1),(86,'2013-02-01 09:55:49',1,4,'Event : Mise à jour mensuelle','39.58','41.66',1),(87,'2013-02-01 09:55:56',1,1,'Event : Mise à jour mensuelle','45.83','47.91',1),(88,'2013-02-01 09:55:56',1,2,'Event : Mise à jour mensuelle','45.83','47.91',1),(89,'2013-02-01 09:55:56',1,3,'Event : Mise à jour mensuelle','45.83','47.91',1),(90,'2013-02-01 09:55:56',1,4,'Event : Mise à jour mensuelle','41.67','43.75',1),(91,'2013-02-01 09:56:01',1,1,'Event : Mise à jour mensuelle','47.92','50.00',1),(92,'2013-02-01 09:56:01',1,2,'Event : Mise à jour mensuelle','47.92','50.00',1),(93,'2013-02-01 09:56:01',1,3,'Event : Mise à jour mensuelle','47.92','50.00',1),(94,'2013-02-01 09:56:01',1,4,'Event : Mise à jour mensuelle','43.75','45.83',1),(95,'2013-02-01 09:56:01',1,1,'Event : Mise à jour mensuelle','50.00','52.08',1),(96,'2013-02-01 09:56:01',1,2,'Event : Mise à jour mensuelle','50.00','52.08',1),(97,'2013-02-01 09:56:01',1,3,'Event : Mise à jour mensuelle','50.00','52.08',1),(98,'2013-02-01 09:56:01',1,4,'Event : Mise à jour mensuelle','45.83','47.91',1),(99,'2013-02-01 09:56:03',1,1,'Event : Mise à jour mensuelle','52.08','54.16',1),(100,'2013-02-01 09:56:03',1,2,'Event : Mise à jour mensuelle','52.08','54.16',1),(101,'2013-02-01 09:56:03',1,3,'Event : Mise à jour mensuelle','52.08','54.16',1),(102,'2013-02-01 09:56:03',1,4,'Event : Mise à jour mensuelle','47.92','50.00',1),(103,'2013-02-01 09:56:03',1,1,'Event : Mise à jour mensuelle','54.17','56.25',1),(104,'2013-02-01 09:56:03',1,2,'Event : Mise à jour mensuelle','54.17','56.25',1),(105,'2013-02-01 09:56:03',1,3,'Event : Mise à jour mensuelle','54.17','56.25',1),(106,'2013-02-01 09:56:03',1,4,'Event : Mise à jour mensuelle','50.00','52.08',1),(107,'2013-02-01 09:56:05',1,1,'Event : Mise à jour mensuelle','56.25','58.33',1),(108,'2013-02-01 09:56:05',1,2,'Event : Mise à jour mensuelle','56.25','58.33',1),(109,'2013-02-01 09:56:05',1,3,'Event : Mise à jour mensuelle','56.25','58.33',1),(110,'2013-02-01 09:56:05',1,4,'Event : Mise à jour mensuelle','52.08','54.16',1),(111,'2013-02-01 09:56:06',1,1,'Event : Mise à jour mensuelle','58.33','60.41',1),(112,'2013-02-01 09:56:06',1,2,'Event : Mise à jour mensuelle','58.33','60.41',1),(113,'2013-02-01 09:56:06',1,3,'Event : Mise à jour mensuelle','58.33','60.41',1),(114,'2013-02-01 09:56:06',1,4,'Event : Mise à jour mensuelle','54.17','56.25',1),(115,'2013-02-01 09:56:06',1,1,'Event : Mise à jour mensuelle','60.42','62.50',1),(116,'2013-02-01 09:56:06',1,2,'Event : Mise à jour mensuelle','60.42','62.50',1),(117,'2013-02-01 09:56:06',1,3,'Event : Mise à jour mensuelle','60.42','62.50',1),(118,'2013-02-01 09:56:06',1,4,'Event : Mise à jour mensuelle','56.25','58.33',1),(119,'2013-02-01 09:56:07',1,1,'Event : Mise à jour mensuelle','62.50','64.58',1),(120,'2013-02-01 09:56:07',1,2,'Event : Mise à jour mensuelle','62.50','64.58',1),(121,'2013-02-01 09:56:07',1,3,'Event : Mise à jour mensuelle','62.50','64.58',1),(122,'2013-02-01 09:56:07',1,4,'Event : Mise à jour mensuelle','58.33','60.41',1),(123,'2013-02-01 09:56:07',1,1,'Event : Mise à jour mensuelle','64.58','66.66',1),(124,'2013-02-01 09:56:07',1,2,'Event : Mise à jour mensuelle','64.58','66.66',1),(125,'2013-02-01 09:56:07',1,3,'Event : Mise à jour mensuelle','64.58','66.66',1),(126,'2013-02-01 09:56:07',1,4,'Event : Mise à jour mensuelle','60.42','62.50',1),(127,'2013-02-01 09:56:50',1,1,'Event : Mise à jour mensuelle','66.67','68.75',1),(128,'2013-02-01 09:56:50',1,2,'Event : Mise à jour mensuelle','66.67','68.75',1),(129,'2013-02-01 09:56:50',1,3,'Event : Mise à jour mensuelle','66.67','68.75',1),(130,'2013-02-01 09:56:50',1,4,'Event : Mise à jour mensuelle','62.50','64.58',1),(131,'2013-02-01 09:56:50',1,1,'Event : Mise à jour mensuelle','68.75','70.83',1),(132,'2013-02-01 09:56:50',1,2,'Event : Mise à jour mensuelle','68.75','70.83',1),(133,'2013-02-01 09:56:50',1,3,'Event : Mise à jour mensuelle','68.75','70.83',1),(134,'2013-02-01 09:56:50',1,4,'Event : Mise à jour mensuelle','64.58','66.66',1),(135,'2013-02-17 18:49:21',1,1,'Event : Mise à jour mensuelle','70.83','72.91',1),(136,'2013-02-17 18:49:21',1,2,'Event : Mise à jour mensuelle','70.83','72.91',1),(137,'2013-02-17 18:49:21',1,3,'Event : Mise à jour mensuelle','70.83','72.91',1),(138,'2013-02-17 18:49:21',1,4,'Event : Mise à jour mensuelle','66.67','68.75',1),(139,'2013-02-17 19:06:57',1,1,'Event : Holiday','72.92','71.92',1),(140,'2013-03-01 23:12:31',1,1,'Event : Mise à jour mensuelle','71.92','74.00',1),(141,'2013-03-01 23:12:31',1,2,'Event : Mise à jour mensuelle','72.92','75.00',1),(142,'2013-03-01 23:12:31',1,3,'Event : Mise à jour mensuelle','72.92','75.00',1),(143,'2013-03-01 23:12:31',1,4,'Event : Mise à jour mensuelle','68.75','70.83',1),(145,'2015-07-19 15:44:57',1,1,'Monthly update','0','2.08334',4),(146,'2015-07-19 15:44:57',1,2,'Monthly update','0','2.08334',4),(147,'2015-07-19 15:44:57',1,3,'Monthly update','0','2.08334',4),(148,'2015-07-19 15:44:57',1,4,'Monthly update','0','2.08334',4),(151,'2015-07-19 15:44:57',1,1,'Monthly update','0','2.08334',5),(152,'2015-07-19 15:44:57',1,2,'Monthly update','0','2.08334',5),(153,'2015-07-19 15:44:57',1,3,'Monthly update','0','2.08334',5),(154,'2015-07-19 15:44:57',1,4,'Monthly update','0','2.08334',5),(157,'2015-07-19 15:44:57',1,1,'Monthly update','0','2.08334',9),(158,'2015-07-19 15:44:57',1,2,'Monthly update','0','2.08334',9),(159,'2015-07-19 15:44:57',1,3,'Monthly update','0','2.08334',9),(160,'2015-07-19 15:44:57',1,4,'Monthly update','0','2.08334',9),(163,'2016-01-22 18:59:06',12,1,'Monthly update','0','2.08334',4),(164,'2016-01-22 18:59:06',12,2,'Monthly update','0','2.08334',4),(165,'2016-01-22 18:59:06',12,3,'Monthly update','0','2.08334',4),(166,'2016-01-22 18:59:06',12,4,'Monthly update','0','2.08334',4),(168,'2016-01-22 18:59:06',12,1,'Monthly update','0','2.08334',5),(169,'2016-01-22 18:59:06',12,2,'Monthly update','0','2.08334',5),(170,'2016-01-22 18:59:06',12,3,'Monthly update','0','2.08334',5),(171,'2016-01-22 18:59:06',12,4,'Monthly update','0','2.08334',5),(173,'2016-01-22 18:59:06',12,1,'Monthly update','0','2.08334',9),(174,'2016-01-22 18:59:06',12,2,'Monthly update','0','2.08334',9),(175,'2016-01-22 18:59:06',12,3,'Monthly update','0','2.08334',9),(176,'2016-01-22 18:59:06',12,4,'Monthly update','0','2.08334',9),(178,'2016-01-22 18:59:38',12,18,'Manual update','0','10',5),(179,'2016-01-22 18:59:42',12,16,'Manual update','0','10',5),(180,'2016-01-22 18:59:45',12,12,'Manual update','0','10',5),(181,'2016-01-22 18:59:49',12,1,'Manual update','0','10',5),(182,'2016-01-22 18:59:52',12,2,'Manual update','0','10',5),(183,'2016-01-22 18:59:55',12,3,'Manual update','0','5',5),(184,'2016-07-30 19:45:49',12,1,'Manual update','0','25',3),(185,'2016-07-30 19:45:52',12,2,'Manual update','0','23',3),(186,'2016-07-30 19:45:54',12,3,'Manual update','0','10',3),(187,'2016-07-30 19:45:57',12,4,'Manual update','0','-4',3),(188,'2016-07-30 19:46:02',12,10,'Manual update','0','20',3),(189,'2016-07-30 19:46:04',12,11,'Manual update','0','30',3),(190,'2016-07-30 19:46:07',12,12,'Manual update','0','15',3),(191,'2016-07-30 19:46:09',12,13,'Manual update','0','11',3),(192,'2016-07-30 19:46:12',12,14,'Manual update','0','4',3),(193,'2016-07-30 19:46:14',12,16,'Manual update','0','5',3),(194,'2016-07-30 19:46:16',12,18,'Manual update','0','22',3); +/*!40000 ALTER TABLE `llx_holiday_logs` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_holiday_users` +-- + +DROP TABLE IF EXISTS `llx_holiday_users`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_holiday_users` ( + `fk_user` int(11) NOT NULL, + `nb_holiday` double NOT NULL DEFAULT '0', + `fk_type` int(11) NOT NULL DEFAULT '1' +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_holiday_users` +-- + +LOCK TABLES `llx_holiday_users` WRITE; +/*!40000 ALTER TABLE `llx_holiday_users` DISABLE KEYS */; +INSERT INTO `llx_holiday_users` VALUES (0,0,1),(1,74.00334000000001,1),(2,75.00024000000003,1),(3,75.00024000000003,1),(4,70.83356000000002,1),(5,2.08334,1),(6,0,1),(18,10,5),(16,10,5),(12,10,5),(1,10,5),(2,10,5),(3,5,5),(1,25,3),(2,23,3),(3,10,3),(4,-4,3),(10,20,3),(11,30,3),(12,15,3),(13,11,3),(14,4,3),(16,5,3),(18,22,3); +/*!40000 ALTER TABLE `llx_holiday_users` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_import_model` +-- + +DROP TABLE IF EXISTS `llx_import_model`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_import_model` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_user` int(11) NOT NULL DEFAULT '0', + `label` varchar(50) NOT NULL, + `type` varchar(50) DEFAULT NULL, + `field` text NOT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_import_model` (`label`,`type`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_import_model` +-- + +LOCK TABLES `llx_import_model` WRITE; +/*!40000 ALTER TABLE `llx_import_model` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_import_model` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_links` +-- + +DROP TABLE IF EXISTS `llx_links`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_links` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `datea` datetime NOT NULL, + `url` varchar(255) NOT NULL, + `label` varchar(255) NOT NULL, + `objecttype` varchar(255) NOT NULL, + `objectid` int(11) NOT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_links` +-- + +LOCK TABLES `llx_links` WRITE; +/*!40000 ALTER TABLE `llx_links` DISABLE KEYS */; +INSERT INTO `llx_links` VALUES (1,1,'2016-01-16 16:45:35','http://www.dolicloud.com','The DoliCoud service','societe',10),(2,1,'2016-01-16 17:14:35','https://www.dolistore.com/en/tools-documentation/12-SVG-file-for-85cm-x-200cm-rollup.html','Link to rollup file on dolistore.com','product',11),(3,1,'2016-01-22 17:40:23','http://www.nltechno.com','NLtechno portal','societe',10),(4,1,'2016-01-22 18:32:31','https://play.google.com/store/apps/details?id=com.nltechno.dolidroidpro','Link on Google Play','product',5); +/*!40000 ALTER TABLE `llx_links` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_livraison` +-- + +DROP TABLE IF EXISTS `llx_livraison`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_livraison` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `ref` varchar(30) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `ref_customer` varchar(30) DEFAULT NULL, + `fk_soc` int(11) NOT NULL, + `ref_ext` varchar(30) DEFAULT NULL, + `ref_int` varchar(30) DEFAULT NULL, + `date_creation` datetime DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `date_valid` datetime DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `date_delivery` datetime DEFAULT NULL, + `fk_address` int(11) DEFAULT NULL, + `fk_statut` smallint(6) DEFAULT '0', + `total_ht` double(24,8) DEFAULT '0.00000000', + `note_private` text, + `note_public` text, + `model_pdf` varchar(255) DEFAULT NULL, + `fk_incoterms` int(11) DEFAULT NULL, + `location_incoterms` varchar(255) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `idx_livraison_uk_ref` (`ref`,`entity`), + KEY `idx_livraison_fk_soc` (`fk_soc`), + KEY `idx_livraison_fk_user_author` (`fk_user_author`), + KEY `idx_livraison_fk_user_valid` (`fk_user_valid`), + CONSTRAINT `fk_livraison_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`), + CONSTRAINT `fk_livraison_fk_user_author` FOREIGN KEY (`fk_user_author`) REFERENCES `llx_user` (`rowid`), + CONSTRAINT `fk_livraison_fk_user_valid` FOREIGN KEY (`fk_user_valid`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_livraison` +-- + +LOCK TABLES `llx_livraison` WRITE; +/*!40000 ALTER TABLE `llx_livraison` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_livraison` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_livraison_extrafields` +-- + +DROP TABLE IF EXISTS `llx_livraison_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_livraison_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_livraison_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_livraison_extrafields` +-- + +LOCK TABLES `llx_livraison_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_livraison_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_livraison_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_livraisondet` +-- + +DROP TABLE IF EXISTS `llx_livraisondet`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_livraisondet` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_livraison` int(11) DEFAULT NULL, + `fk_origin_line` int(11) DEFAULT NULL, + `fk_product` int(11) DEFAULT NULL, + `description` text, + `qty` double DEFAULT NULL, + `subprice` double(24,8) DEFAULT '0.00000000', + `total_ht` double(24,8) DEFAULT '0.00000000', + `rang` int(11) DEFAULT '0', + PRIMARY KEY (`rowid`), + KEY `idx_livraisondet_fk_expedition` (`fk_livraison`), + CONSTRAINT `fk_livraisondet_fk_livraison` FOREIGN KEY (`fk_livraison`) REFERENCES `llx_livraison` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_livraisondet` +-- + +LOCK TABLES `llx_livraisondet` WRITE; +/*!40000 ALTER TABLE `llx_livraisondet` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_livraisondet` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_livraisondet_extrafields` +-- + +DROP TABLE IF EXISTS `llx_livraisondet_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_livraisondet_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_livraisondet_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_livraisondet_extrafields` +-- + +LOCK TABLES `llx_livraisondet_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_livraisondet_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_livraisondet_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_loan` +-- + +DROP TABLE IF EXISTS `llx_loan`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_loan` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `label` varchar(80) NOT NULL, + `fk_bank` int(11) DEFAULT NULL, + `capital` double NOT NULL DEFAULT '0', + `datestart` date DEFAULT NULL, + `dateend` date DEFAULT NULL, + `nbterm` double DEFAULT NULL, + `rate` double NOT NULL, + `note_private` text, + `note_public` text, + `capital_position` double DEFAULT '0', + `date_position` date DEFAULT NULL, + `paid` smallint(6) NOT NULL DEFAULT '0', + `accountancy_account_capital` varchar(32) DEFAULT NULL, + `accountancy_account_insurance` varchar(32) DEFAULT NULL, + `accountancy_account_interest` varchar(32) DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + `active` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_loan` +-- + +LOCK TABLES `llx_loan` WRITE; +/*!40000 ALTER TABLE `llx_loan` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_loan` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_localtax` +-- + +DROP TABLE IF EXISTS `llx_localtax`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_localtax` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `localtaxtype` tinyint(4) DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datep` date DEFAULT NULL, + `datev` date DEFAULT NULL, + `amount` double NOT NULL DEFAULT '0', + `label` varchar(255) DEFAULT NULL, + `note` text, + `fk_bank` int(11) DEFAULT NULL, + `fk_user_creat` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_localtax` +-- + +LOCK TABLES `llx_localtax` WRITE; +/*!40000 ALTER TABLE `llx_localtax` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_localtax` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_mailing` +-- + +DROP TABLE IF EXISTS `llx_mailing`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_mailing` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `statut` smallint(6) DEFAULT '0', + `titre` varchar(60) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `sujet` varchar(60) DEFAULT NULL, + `body` mediumtext, + `bgcolor` varchar(8) DEFAULT NULL, + `bgimage` varchar(255) DEFAULT NULL, + `cible` varchar(60) DEFAULT NULL, + `nbemail` int(11) DEFAULT NULL, + `email_from` varchar(160) DEFAULT NULL, + `email_replyto` varchar(160) DEFAULT NULL, + `email_errorsto` varchar(160) DEFAULT NULL, + `tag` varchar(128) DEFAULT NULL, + `date_creat` datetime DEFAULT NULL, + `date_valid` datetime DEFAULT NULL, + `date_appro` datetime DEFAULT NULL, + `date_envoi` datetime DEFAULT NULL, + `fk_user_creat` int(11) DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `fk_user_appro` int(11) DEFAULT NULL, + `joined_file1` varchar(255) DEFAULT NULL, + `joined_file2` varchar(255) DEFAULT NULL, + `joined_file3` varchar(255) DEFAULT NULL, + `joined_file4` varchar(255) DEFAULT NULL, + `extraparams` varchar(255) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_mailing` +-- + +LOCK TABLES `llx_mailing` WRITE; +/*!40000 ALTER TABLE `llx_mailing` DISABLE KEYS */; +INSERT INTO `llx_mailing` VALUES (3,1,'My commercial emailing',1,'Buy my product','Please buy my product','','',NULL,2,'dolibarr@domain.com','','',NULL,'2010-07-11 13:15:59','2010-07-11 13:46:20',NULL,NULL,1,1,NULL,NULL,NULL,NULL,NULL,NULL),(4,0,'Copy of My commercial emailing',1,'Buy my product','This is a new éEéé"Mailing content
\r\n
\r\n\r\nYou can adit it with the WYSIWYG editor.
\r\nIt is\r\n
    \r\n
  • \r\n Fast
  • \r\n
  • \r\n Easy to use
  • \r\n
  • \r\n Pretty
  • \r\n
','','',NULL,NULL,'dolibarr@domain.com','','',NULL,'2011-07-18 20:44:33',NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +/*!40000 ALTER TABLE `llx_mailing` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_mailing_cibles` +-- + +DROP TABLE IF EXISTS `llx_mailing_cibles`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_mailing_cibles` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_mailing` int(11) NOT NULL, + `fk_contact` int(11) NOT NULL, + `lastname` varchar(50) DEFAULT NULL, + `firstname` varchar(50) DEFAULT NULL, + `email` varchar(160) NOT NULL, + `other` varchar(255) DEFAULT NULL, + `tag` varchar(128) DEFAULT NULL, + `statut` smallint(6) NOT NULL DEFAULT '0', + `source_url` varchar(160) DEFAULT NULL, + `source_id` int(11) DEFAULT NULL, + `source_type` varchar(16) DEFAULT NULL, + `date_envoi` datetime DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_mailing_cibles` (`fk_mailing`,`email`), + KEY `idx_mailing_cibles_email` (`email`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_mailing_cibles` +-- + +LOCK TABLES `llx_mailing_cibles` WRITE; +/*!40000 ALTER TABLE `llx_mailing_cibles` DISABLE KEYS */; +INSERT INTO `llx_mailing_cibles` VALUES (1,1,0,'Dupont','Alain','toto@aa.com','Date fin=10/07/2011',NULL,0,'0',NULL,NULL,NULL),(2,2,0,'Swiss customer supplier','','abademail@aa.com','',NULL,0,'0',NULL,NULL,NULL),(3,2,0,'Smith Vick','','vsmith@email.com','',NULL,0,'0',NULL,NULL,NULL),(4,3,0,'Swiss customer supplier','','abademail@aa.com','',NULL,0,'0',NULL,NULL,NULL),(5,3,0,'Smith Vick','','vsmith@email.com','',NULL,0,'0',NULL,NULL,NULL); +/*!40000 ALTER TABLE `llx_mailing_cibles` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_menu` +-- + +DROP TABLE IF EXISTS `llx_menu`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_menu` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `menu_handler` varchar(16) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `module` varchar(64) DEFAULT NULL, + `type` varchar(4) NOT NULL, + `mainmenu` varchar(100) NOT NULL, + `fk_menu` int(11) NOT NULL, + `fk_leftmenu` varchar(24) DEFAULT NULL, + `fk_mainmenu` varchar(24) DEFAULT NULL, + `position` int(11) NOT NULL, + `url` varchar(255) NOT NULL, + `target` varchar(100) DEFAULT NULL, + `titre` varchar(255) NOT NULL, + `langs` varchar(100) DEFAULT NULL, + `level` smallint(6) DEFAULT NULL, + `leftmenu` varchar(100) DEFAULT NULL, + `perms` varchar(255) DEFAULT NULL, + `enabled` varchar(255) DEFAULT '1', + `usertype` int(11) NOT NULL DEFAULT '0', + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`rowid`), + UNIQUE KEY `idx_menu_uk_menu` (`menu_handler`,`fk_menu`,`position`,`url`,`entity`), + KEY `idx_menu_menuhandler_type` (`menu_handler`,`type`) +) ENGINE=InnoDB AUTO_INCREMENT=145108 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_menu` +-- + +LOCK TABLES `llx_menu` WRITE; +/*!40000 ALTER TABLE `llx_menu` DISABLE KEYS */; +INSERT INTO `llx_menu` VALUES (103094,'all',2,'agenda','top','agenda',0,NULL,NULL,100,'/comm/action/index.php','','Agenda','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103095,'all',2,'agenda','left','agenda',103094,NULL,NULL,100,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Actions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103096,'all',2,'agenda','left','agenda',103095,NULL,NULL,101,'/comm/action/card.php?mainmenu=agenda&leftmenu=agenda&action=create','','NewAction','commercial',NULL,NULL,'($user->rights->agenda->myactions->create||$user->rights->agenda->allactions->create)','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103097,'all',2,'agenda','left','agenda',103095,NULL,NULL,102,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Calendar','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103098,'all',2,'agenda','left','agenda',103097,NULL,NULL,103,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103099,'all',2,'agenda','left','agenda',103097,NULL,NULL,104,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103100,'all',2,'agenda','left','agenda',103097,NULL,NULL,105,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo','','MenuToDoActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2013-03-13 15:29:19'),(103101,'all',2,'agenda','left','agenda',103097,NULL,NULL,106,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done','','MenuDoneActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2013-03-13 15:29:19'),(103102,'all',2,'agenda','left','agenda',103095,NULL,NULL,112,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda','','List','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103103,'all',2,'agenda','left','agenda',103102,NULL,NULL,113,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103104,'all',2,'agenda','left','agenda',103102,NULL,NULL,114,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103105,'all',2,'agenda','left','agenda',103102,NULL,NULL,115,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo','','MenuToDoActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2013-03-13 15:29:19'),(103106,'all',2,'agenda','left','agenda',103102,NULL,NULL,116,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done','','MenuDoneActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2013-03-13 15:29:19'),(103107,'all',2,'agenda','left','agenda',103095,NULL,NULL,120,'/comm/action/rapport/index.php?mainmenu=agenda&leftmenu=agenda','','Reportings','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103108,'all',2,'pos','top','pos',0,NULL,NULL,100,'/pos/backend/listefac.php','','POS','pos@pos',NULL,'1','1','1',2,'2013-03-13 20:33:09'),(103109,'all',2,'pos','left','pos',103108,NULL,NULL,100,'/pos/backend/list.php','','Tickets','pos@pos',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103110,'all',2,'pos','left','pos',103109,NULL,NULL,100,'/pos/backend/list.php','','List','main',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103111,'all',2,'pos','left','pos',103110,NULL,NULL,100,'/pos/backend/list.php?viewstatut=0','','StatusTicketDraft','pos@pos',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103112,'all',2,'pos','left','@pos',103110,NULL,NULL,100,'/pos/backend/list.php?viewstatut=1','','StatusTicketClosed','main',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103113,'all',2,'pos','left','@pos',103110,NULL,NULL,100,'/pos/backend/list.php?viewstatut=2','','StatusTicketProcessed','main',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103114,'all',2,'pos','left','@pos',103110,NULL,NULL,100,'/pos/backend/list.php?viewtype=1','','StatusTicketReturned','main',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103115,'all',2,'pos','left','pos',103108,NULL,NULL,100,'/pos/backend/listefac.php','','Factures','pos@pos',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103116,'all',2,'pos','left','pos',103115,NULL,NULL,100,'/pos/backend/listefac.php','','List','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103117,'all',2,'pos','left','pos',103116,NULL,NULL,100,'/pos/backend/listefac.php?viewstatut=0','','BillStatusDraft','bills',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103118,'all',2,'pos','left','@pos',103116,NULL,NULL,100,'/pos/backend/listefac.php?viewstatut=1','','BillStatusValidated','bills',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103119,'all',2,'pos','left','@pos',103116,NULL,NULL,100,'/pos/backend/listefac.php?viewstatut=2&viewtype=0','','BillStatusPaid','bills',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103120,'all',2,'pos','left','@pos',103116,NULL,NULL,100,'/pos/backend/listefac.php?viewtype=2','','BillStatusReturned','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103121,'all',2,'pos','left','@pos',103108,NULL,NULL,100,'/pos/frontend/index.php','','POS','main',NULL,NULL,'$user->rights->pos->frontend','1',0,'2013-03-13 20:33:09'),(103122,'all',2,'pos','left','@pos',103121,NULL,NULL,100,'/pos/frontend/index.php','','NewTicket','main',NULL,NULL,'$user->rights->pos->frontend','1',0,'2013-03-13 20:33:09'),(103123,'all',2,'pos','left','@pos',103121,NULL,NULL,101,'/pos/backend/closes.php','','CloseandArching','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103124,'all',2,'pos','left','@pos',103108,NULL,NULL,100,'/pos/backend/terminal/cash.php','','Terminal','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103125,'all',2,'pos','left','@pos',103124,NULL,NULL,100,'/pos/backend/terminal/card.php?action=create','','NewCash','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103126,'all',2,'pos','left','@pos',103124,NULL,NULL,101,'/pos/backend/terminal/cash.php','','List','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103127,'all',2,'pos','left','@pos',103123,NULL,NULL,101,'/pos/backend/closes.php?viewstatut=0','','Arqueo','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103128,'all',2,'pos','left','@pos',103123,NULL,NULL,102,'/pos/backend/closes.php?viewstatut=1','','Closes','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103129,'all',2,'pos','left','@pos',103108,NULL,NULL,102,'/pos/backend/transfers.php','','Transfer','main',NULL,NULL,'$user->rights->pos->transfer','1',0,'2013-03-13 20:33:09'),(103130,'all',2,'pos','left','@pos',103108,NULL,NULL,102,'/pos/backend/resultat/index.php','','Rapport','main',NULL,NULL,'$user->rights->pos->stats','1',0,'2013-03-13 20:33:09'),(103131,'all',2,'pos','left','@pos',103130,NULL,NULL,102,'/pos/backend/resultat/casoc.php','','ReportsCustomer','main',NULL,NULL,'$user->rights->pos->stats','1',0,'2013-03-13 20:33:09'),(103132,'all',2,'pos','left','@pos',103130,NULL,NULL,102,'/pos/backend/resultat/causer.php','','ReportsUser','main',NULL,NULL,'$user->rights->pos->stats','1',0,'2013-03-13 20:33:09'),(103133,'all',2,'pos','left','@pos',103130,NULL,NULL,102,'/pos/backend/resultat/sellsjournal.php','','ReportsSells','main',NULL,NULL,'$user->rights->pos->stats','1',0,'2013-03-13 20:33:09'),(103134,'all',2,'opensurvey','top','opensurvey',0,NULL,NULL,200,'/opensurvey/index.php','','Surveys','opensurvey',NULL,NULL,'$user->rights->opensurvey->survey->read','$conf->opensurvey->enabled',0,'2013-03-13 20:33:42'),(103135,'all',2,'opensurvey','left','opensurvey',-1,NULL,'opensurvey',200,'/opensurvey/index.php?mainmenu=opensurvey&leftmenu=opensurvey','','Survey','opensurvey@opensurvey',NULL,'opensurvey','','$conf->opensurvey->enabled',0,'2013-03-13 20:33:42'),(103136,'all',2,'opensurvey','left','opensurvey',-1,'opensurvey','opensurvey',210,'/opensurvey/public/index.php','_blank','NewSurvey','opensurvey@opensurvey',NULL,'opensurvey_new','','$conf->opensurvey->enabled',0,'2013-03-13 20:33:42'),(103137,'all',2,'opensurvey','left','opensurvey',-1,'opensurvey','opensurvey',220,'/opensurvey/list.php','','List','opensurvey@opensurvey',NULL,'opensurvey_list','','$conf->opensurvey->enabled',0,'2013-03-13 20:33:42'),(124179,'all',1,'cashdesk','top','cashdesk',0,NULL,NULL,100,'/cashdesk/index.php?user=__LOGIN__','pointofsale','CashDeskMenu','cashdesk',NULL,NULL,'$user->rights->cashdesk->use','$conf->cashdesk->enabled',0,'2015-11-15 22:38:33'),(124210,'all',1,'margins','left','accountancy',-1,NULL,'accountancy',100,'/margin/index.php','','Margins','margins',NULL,'margins','$user->rights->margins->liretous','$conf->margin->enabled',2,'2015-11-15 22:41:47'),(134675,'all',1,'ecm','top','ecm',0,NULL,NULL,100,'/ecm/index.php','','MenuECM','ecm',NULL,NULL,'$user->rights->ecm->read || $user->rights->ecm->upload || $user->rights->ecm->setup','$conf->ecm->enabled',2,'2016-01-22 17:26:43'),(134676,'all',1,'ecm','left','ecm',-1,NULL,'ecm',101,'/ecm/index.php?mainmenu=ecm&leftmenu=ecm','','ECMArea','ecm',NULL,'ecm','$user->rights->ecm->read || $user->rights->ecm->upload','$user->rights->ecm->read || $user->rights->ecm->upload',2,'2016-01-22 17:26:43'),(134677,'all',1,'ecm','left','ecm',-1,'ecm','ecm',102,'/ecm/index.php?action=file_manager&mainmenu=ecm&leftmenu=ecm','','ECMSectionsManual','ecm',NULL,'ecm_manual','$user->rights->ecm->read || $user->rights->ecm->upload','$user->rights->ecm->read || $user->rights->ecm->upload',2,'2016-01-22 17:26:43'),(134678,'all',1,'ecm','left','ecm',-1,'ecm','ecm',103,'/ecm/index_auto.php?action=file_manager&mainmenu=ecm&leftmenu=ecm','','ECMSectionsAuto','ecm',NULL,NULL,'$user->rights->ecm->read || $user->rights->ecm->upload','$user->rights->ecm->read || $user->rights->ecm->upload',2,'2016-01-22 17:26:43'),(134679,'all',1,'opensurvey','left','tools',-1,NULL,'tools',200,'/opensurvey/index.php?mainmenu=tools&leftmenu=opensurvey','','Survey','opensurvey',NULL,'opensurvey','','$conf->opensurvey->enabled',0,'2016-01-22 17:26:43'),(134680,'all',1,'opensurvey','left','tools',-1,'opensurvey','tools',210,'/opensurvey/wizard/index.php','','NewSurvey','opensurvey',NULL,'opensurvey_new','$user->rights->opensurvey->write','$conf->opensurvey->enabled',0,'2016-01-22 17:26:43'),(134681,'all',1,'opensurvey','left','tools',-1,'opensurvey','tools',220,'/opensurvey/list.php','','List','opensurvey',NULL,'opensurvey_list','','$conf->opensurvey->enabled',0,'2016-01-22 17:26:43'),(139883,'all',1,'barcode','left','tools',-1,NULL,'tools',200,'/barcode/printsheet.php?mainmenu=tools&leftmenu=barcodeprint','','BarCodePrintsheet','products',NULL,'barcodeprint','($conf->global->MAIN_USE_ADVANCED_PERMS && $user->rights->barcode->lire_advance) || (! $conf->global->MAIN_USE_ADVANCED_PERMS)','$conf->barcode->enabled',2,'2016-07-30 11:12:59'),(139884,'all',1,'barcode','left','home',-1,'admintools','home',300,'/barcode/codeinit.php?mainmenu=home&leftmenu=admintools','','MassBarcodeInit','products',NULL,NULL,'($conf->global->MAIN_USE_ADVANCED_PERMS && $user->rights->barcode->creer_advance) || (! $conf->global->MAIN_USE_ADVANCED_PERMS)','$conf->barcode->enabled && $leftmenu==\"admintools\"',0,'2016-07-30 11:12:59'),(139885,'auguria',1,'','top','home',0,NULL,NULL,10,'/index.php?mainmenu=home&leftmenu=','','Home','',-1,'','','1',2,'2016-07-30 11:13:00'),(139886,'auguria',1,'societe|fournisseur','top','companies',0,NULL,NULL,20,'/societe/index.php?mainmenu=companies&leftmenu=','','ThirdParties','companies',-1,'','$user->rights->societe->lire || $user->rights->societe->contact->lire','( ! empty($conf->societe->enabled) && (empty($conf->global->SOCIETE_DISABLE_PROSPECTS) || empty($conf->global->SOCIETE_DISABLE_CUSTOMERS))) || ! empty($conf->fournisseur->enabled)',2,'2016-07-30 11:13:00'),(139887,'auguria',1,'product|service','top','products',0,NULL,NULL,30,'/product/index.php?mainmenu=products&leftmenu=','','Products/Services','products',-1,'','$user->rights->produit->lire||$user->rights->service->lire','$conf->product->enabled || $conf->service->enabled',0,'2016-07-30 11:13:00'),(139889,'auguria',1,'propal|commande|fournisseur|contrat|ficheinter','top','commercial',0,NULL,NULL,40,'/comm/index.php?mainmenu=commercial&leftmenu=','','Commercial','commercial',-1,'','$user->rights->societe->lire || $user->rights->societe->contact->lire','$conf->propal->enabled || $conf->commande->enabled || $conf->supplier_order->enabled || $conf->contrat->enabled || $conf->ficheinter->enabled',2,'2016-07-30 11:13:00'),(139890,'auguria',1,'comptabilite|accounting|facture|don|tax|salaries|loan','top','accountancy',0,NULL,NULL,50,'/compta/index.php?mainmenu=accountancy&leftmenu=','','MenuFinancial','compta',-1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->plancompte->lire || $user->rights->facture->lire|| $user->rights->don->lire || $user->rights->tax->charges->lire || $user->rights->salaries->read || $user->rights->loan->read','$conf->comptabilite->enabled || $conf->accounting->enabled || $conf->facture->enabled || $conf->don->enabled || $conf->tax->enabled || $conf->salaries->enabled || $conf->supplier_invoice->enabled || $conf->loan->enabled',2,'2016-07-30 11:13:00'),(139891,'auguria',1,'projet','top','project',0,NULL,NULL,70,'/projet/index.php?mainmenu=project&leftmenu=','','Projects','projects',-1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(139892,'auguria',1,'mailing|export|import|opensurvey|resource','top','tools',0,NULL,NULL,90,'/core/tools.php?mainmenu=tools&leftmenu=','','Tools','other',-1,'','$user->rights->mailing->lire || $user->rights->export->lire || $user->rights->import->run || $user->rights->opensurvey->read || $user->rights->resource->read','$conf->mailing->enabled || $conf->export->enabled || $conf->import->enabled || $conf->opensurvey->enabled || $conf->resource->enabled',2,'2016-07-30 11:13:00'),(139897,'auguria',1,'adherent','top','members',0,NULL,NULL,110,'/adherents/index.php?mainmenu=members&leftmenu=','','Members','members',-1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(139898,'auguria',1,'banque|prelevement','top','bank',0,NULL,NULL,60,'/compta/bank/index.php?mainmenu=bank&leftmenu=bank','','MenuBankCash','banks',-1,'','$user->rights->banque->lire || $user->rights->prelevement->bons->lire','$conf->banque->enabled || $conf->prelevement->enabled',0,'2016-07-30 11:13:00'),(139899,'auguria',1,'hrm|holiday|deplacement|expensereport','top','hrm',0,NULL,NULL,80,'/hrm/hrm.php?mainmenu=hrm&leftmenu=','','HRM','holiday',-1,'','$user->rights->hrm->employee->read || $user->rights->holiday->write || $user->rights->deplacement->lire || $user->rights->expensereport->lire','$conf->hrm->enabled || $conf->holiday->enabled || $conf->deplacement->enabled || $conf->expensereport->enabled',0,'2016-07-30 11:13:00'),(139974,'auguria',1,'','left','home',139885,NULL,NULL,0,'/index.php','','Dashboard','',0,'','','1',2,'2016-07-30 11:13:00'),(139984,'auguria',1,'','left','home',139885,NULL,NULL,1,'/admin/index.php?leftmenu=setup','','Setup','admin',0,'setup','','$user->admin',2,'2016-07-30 11:13:00'),(139985,'auguria',1,'','left','home',139984,NULL,NULL,1,'/admin/company.php?leftmenu=setup','','MenuCompanySetup','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139986,'auguria',1,'','left','home',139984,NULL,NULL,4,'/admin/ihm.php?leftmenu=setup','','GUISetup','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139987,'auguria',1,'','left','home',139984,NULL,NULL,2,'/admin/modules.php?leftmenu=setup','','Modules','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139988,'auguria',1,'','left','home',139984,NULL,NULL,6,'/admin/boxes.php?leftmenu=setup','','Boxes','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139989,'auguria',1,'','left','home',139984,NULL,NULL,3,'/admin/menus.php?leftmenu=setup','','Menus','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139990,'auguria',1,'','left','home',139984,NULL,NULL,7,'/admin/delais.php?leftmenu=setup','','Alerts','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139991,'auguria',1,'','left','home',139984,NULL,NULL,10,'/admin/pdf.php?leftmenu=setup','','PDF','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139992,'auguria',1,'','left','home',139984,NULL,NULL,8,'/admin/security_other.php?leftmenu=setup','','Security','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139993,'auguria',1,'','left','home',139984,NULL,NULL,11,'/admin/mails.php?leftmenu=setup','','Emails','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139994,'auguria',1,'','left','home',139984,NULL,NULL,9,'/admin/limits.php?leftmenu=setup','','MenuLimits','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139995,'auguria',1,'','left','home',139984,NULL,NULL,13,'/admin/dict.php?leftmenu=setup','','Dictionary','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139996,'auguria',1,'','left','home',139984,NULL,NULL,14,'/admin/const.php?leftmenu=setup','','OtherSetup','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139997,'auguria',1,'','left','home',139984,NULL,NULL,12,'/admin/sms.php?leftmenu=setup','','SMS','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139998,'auguria',1,'','left','home',139984,NULL,NULL,4,'/admin/translation.php?leftmenu=setup','','Translation','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139999,'auguria',1,'','left','home',139984,NULL,NULL,4,'/accountancy/admin/fiscalyear.php?mainmenu=setup','','Fiscalyear','admin',1,'','','$leftmenu==\"setup\" && $conf->accounting->enabled',2,'2016-07-30 11:13:00'),(140085,'auguria',1,'','left','home',140184,NULL,NULL,0,'/admin/system/dolibarr.php?leftmenu=admintools','','InfoDolibarr','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140086,'auguria',1,'','left','home',140085,NULL,NULL,2,'/admin/system/modules.php?leftmenu=admintools','','Modules','admin',2,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140087,'auguria',1,'','left','home',140085,NULL,NULL,3,'/admin/triggers.php?leftmenu=admintools','','Triggers','admin',2,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140089,'auguria',1,'','left','home',140184,NULL,NULL,1,'/admin/system/browser.php?leftmenu=admintools','','InfoBrowser','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140090,'auguria',1,'','left','home',140184,NULL,NULL,2,'/admin/system/os.php?leftmenu=admintools','','InfoOS','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140091,'auguria',1,'','left','home',140184,NULL,NULL,3,'/admin/system/web.php?leftmenu=admintools','','InfoWebServer','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140092,'auguria',1,'','left','home',140184,NULL,NULL,4,'/admin/system/phpinfo.php?leftmenu=admintools','','InfoPHP','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140094,'auguria',1,'','left','home',140184,NULL,NULL,5,'/admin/system/database.php?leftmenu=admintools','','InfoDatabase','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140184,'auguria',1,'','left','home',139885,NULL,NULL,2,'/admin/tools/index.php?leftmenu=admintools','','AdminTools','admin',0,'admintools','','$user->admin',2,'2016-07-30 11:13:00'),(140185,'auguria',1,'','left','home',140184,NULL,NULL,6,'/admin/tools/dolibarr_export.php?leftmenu=admintools','','Backup','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140186,'auguria',1,'','left','home',140184,NULL,NULL,7,'/admin/tools/dolibarr_import.php?leftmenu=admintools','','Restore','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140189,'auguria',1,'','left','home',140184,NULL,NULL,8,'/admin/tools/update.php?leftmenu=admintools','','MenuUpgrade','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140190,'auguria',1,'','left','home',140184,NULL,NULL,9,'/admin/tools/eaccelerator.php?leftmenu=admintools','','EAccelerator','admin',1,'','','$leftmenu==\"admintools\" && function_exists(\"eaccelerator_info\")',2,'2016-07-30 11:13:00'),(140191,'auguria',1,'','left','home',140184,NULL,NULL,10,'/admin/tools/listevents.php?leftmenu=admintools','','Audit','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140192,'auguria',1,'','left','home',140184,NULL,NULL,11,'/admin/tools/listsessions.php?leftmenu=admintools','','Sessions','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140193,'auguria',1,'','left','home',140184,NULL,NULL,12,'/admin/tools/purge.php?leftmenu=admintools','','Purge','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140194,'auguria',1,'','left','home',140184,NULL,NULL,13,'/support/index.php?leftmenu=admintools','_blank','HelpCenter','help',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140195,'auguria',1,'','left','home',140184,NULL,NULL,14,'/admin/system/about.php?leftmenu=admintools','','About','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140204,'auguria',1,'','left','home',140184,NULL,NULL,0,'/product/admin/product_tools.php?mainmenu=home&leftmenu=admintools','','ProductVatMassChange','products',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140205,'auguria',1,'','left','home',140184,NULL,NULL,0,'/accountancy/admin/productaccount.php?mainmenu=home&leftmenu=admintools','','InitAccountancy','accountancy',1,'','','$leftmenu==\"admintools\" && $conf->accounting->enabled',2,'2016-07-30 11:13:00'),(140284,'auguria',1,'','left','home',139885,NULL,NULL,4,'/user/home.php?leftmenu=users','','MenuUsersAndGroups','users',0,'users','','1',2,'2016-07-30 11:13:00'),(140285,'auguria',1,'','left','home',140284,NULL,NULL,0,'/user/index.php?leftmenu=users','','Users','users',1,'','$user->rights->user->user->lire || $user->admin','$leftmenu==\"users\"',2,'2016-07-30 11:13:00'),(140286,'auguria',1,'','left','home',140285,NULL,NULL,0,'/user/card.php?leftmenu=users&action=create','','NewUser','users',2,'','$user->rights->user->user->creer || $user->admin','$leftmenu==\"users\"',2,'2016-07-30 11:13:00'),(140287,'auguria',1,'','left','home',140284,NULL,NULL,1,'/user/group/index.php?leftmenu=users','','Groups','users',1,'','($conf->global->MAIN_USE_ADVANCED_PERMS?$user->rights->user->group_advance->read:$user->rights->user->user->lire) || $user->admin','$leftmenu==\"users\"',2,'2016-07-30 11:13:00'),(140288,'auguria',1,'','left','home',140287,NULL,NULL,0,'/user/group/card.php?leftmenu=users&action=create','','NewGroup','users',2,'','($conf->global->MAIN_USE_ADVANCED_PERMS?$user->rights->user->group_advance->write:$user->rights->user->user->creer) || $user->admin','$leftmenu==\"users\"',2,'2016-07-30 11:13:00'),(140384,'auguria',1,'','left','companies',139886,NULL,NULL,0,'/societe/index.php?leftmenu=thirdparties','','ThirdParty','companies',0,'thirdparties','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140385,'auguria',1,'','left','companies',140384,NULL,NULL,0,'/societe/soc.php?action=create','','MenuNewThirdParty','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140386,'auguria',1,'','left','companies',140384,NULL,NULL,0,'/societe/list.php?action=create','','List','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140387,'auguria',1,'','left','companies',140384,NULL,NULL,5,'/societe/list.php?type=f&leftmenu=suppliers','','ListSuppliersShort','suppliers',1,'','$user->rights->societe->lire && $user->rights->fournisseur->lire','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2016-07-30 11:13:00'),(140388,'auguria',1,'','left','companies',140387,NULL,NULL,0,'/societe/soc.php?leftmenu=supplier&action=create&type=f','','NewSupplier','suppliers',2,'','$user->rights->societe->creer','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2016-07-30 11:13:00'),(140390,'auguria',1,'','left','companies',140384,NULL,NULL,3,'/societe/list.php?type=p&leftmenu=prospects','','ListProspectsShort','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140391,'auguria',1,'','left','companies',140390,NULL,NULL,0,'/societe/soc.php?leftmenu=prospects&action=create&type=p','','MenuNewProspect','companies',2,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140393,'auguria',1,'','left','companies',140384,NULL,NULL,4,'/societe/list.php?type=c&leftmenu=customers','','ListCustomersShort','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140394,'auguria',1,'','left','companies',140393,NULL,NULL,0,'/societe/soc.php?leftmenu=customers&action=create&type=c','','MenuNewCustomer','companies',2,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140484,'auguria',1,'','left','companies',139886,NULL,NULL,1,'/contact/list.php?leftmenu=contacts','','ContactsAddresses','companies',0,'contacts','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140485,'auguria',1,'','left','companies',140484,NULL,NULL,0,'/contact/card.php?leftmenu=contacts&action=create','','NewContactAddress','companies',1,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140486,'auguria',1,'','left','companies',140484,NULL,NULL,1,'/contact/list.php?leftmenu=contacts','','List','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140488,'auguria',1,'','left','companies',140486,NULL,NULL,1,'/contact/list.php?leftmenu=contacts&type=p','','ThirdPartyProspects','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140489,'auguria',1,'','left','companies',140486,NULL,NULL,2,'/contact/list.php?leftmenu=contacts&type=c','','ThirdPartyCustomers','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140490,'auguria',1,'','left','companies',140486,NULL,NULL,3,'/contact/list.php?leftmenu=contacts&type=f','','ThirdPartySuppliers','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2016-07-30 11:13:00'),(140491,'auguria',1,'','left','companies',140486,NULL,NULL,4,'/contact/list.php?leftmenu=contacts&type=o','','Others','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140534,'auguria',1,'','left','companies',139886,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=1','','SuppliersCategoriesShort','categories',0,'cat','$user->rights->categorie->lire','$conf->societe->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140535,'auguria',1,'','left','companies',140534,NULL,NULL,0,'/categories/card.php?action=create&type=1','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->societe->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140544,'auguria',1,'','left','companies',139886,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=2','','CustomersProspectsCategoriesShort','categories',0,'cat','$user->rights->categorie->lire','$conf->fournisseur->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140545,'auguria',1,'','left','companies',140544,NULL,NULL,0,'/categories/card.php?action=create&type=2','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->fournisseur->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140554,'auguria',1,'','left','companies',139886,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=4','','ContactCategoriesShort','categories',0,'cat','$user->rights->categorie->lire','$conf->societe->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140555,'auguria',1,'','left','companies',140554,NULL,NULL,0,'/categories/card.php?action=create&type=4','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->societe->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140984,'auguria',1,'','left','commercial',139889,NULL,NULL,4,'/comm/propal/index.php?leftmenu=propals','','Prop','propal',0,'propals','$user->rights->propale->lire','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(140985,'auguria',1,'','left','commercial',140984,NULL,NULL,0,'/comm/propal/card.php?action=create&leftmenu=propals','','NewPropal','propal',1,'','$user->rights->propale->creer','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(140986,'auguria',1,'','left','commercial',140984,NULL,NULL,1,'/comm/propal/list.php?leftmenu=propals','','List','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(140987,'auguria',1,'','left','commercial',140986,NULL,NULL,2,'/comm/propal/list.php?leftmenu=propals&viewstatut=0','','PropalsDraft','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2016-07-30 11:13:00'),(140988,'auguria',1,'','left','commercial',140986,NULL,NULL,3,'/comm/propal/list.php?leftmenu=propals&viewstatut=1','','PropalsOpened','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2016-07-30 11:13:00'),(140989,'auguria',1,'','left','commercial',140986,NULL,NULL,4,'/comm/propal/list.php?leftmenu=propals&viewstatut=2','','PropalStatusSigned','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2016-07-30 11:13:00'),(140990,'auguria',1,'','left','commercial',140986,NULL,NULL,5,'/comm/propal/list.php?leftmenu=propals&viewstatut=3','','PropalStatusNotSigned','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2016-07-30 11:13:00'),(140991,'auguria',1,'','left','commercial',140986,NULL,NULL,6,'/comm/propal/list.php?leftmenu=propals&viewstatut=4','','PropalStatusBilled','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2016-07-30 11:13:00'),(140994,'auguria',1,'','left','commercial',140984,NULL,NULL,4,'/comm/propal/stats/index.php?leftmenu=propals','','Statistics','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(141084,'auguria',1,'','left','commercial',139889,NULL,NULL,5,'/commande/index.php?leftmenu=orders','','CustomersOrders','orders',0,'orders','$user->rights->commande->lire','$conf->commande->enabled',2,'2016-07-30 11:13:00'),(141085,'auguria',1,'','left','commercial',141084,NULL,NULL,0,'/commande/card.php?action=create&leftmenu=orders','','NewOrder','orders',1,'','$user->rights->commande->creer','$conf->commande->enabled',2,'2016-07-30 11:13:00'),(141086,'auguria',1,'','left','commercial',141084,NULL,NULL,1,'/commande/list.php?leftmenu=orders','','List','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled',2,'2016-07-30 11:13:00'),(141087,'auguria',1,'','left','commercial',141086,NULL,NULL,2,'/commande/list.php?leftmenu=orders&viewstatut=0','','StatusOrderDraftShort','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141088,'auguria',1,'','left','commercial',141086,NULL,NULL,3,'/commande/list.php?leftmenu=orders&viewstatut=1','','StatusOrderValidated','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141089,'auguria',1,'','left','commercial',141086,NULL,NULL,4,'/commande/list.php?leftmenu=orders&viewstatut=2','','StatusOrderOnProcessShort','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141090,'auguria',1,'','left','commercial',141086,NULL,NULL,5,'/commande/list.php?leftmenu=orders&viewstatut=3','','StatusOrderToBill','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141091,'auguria',1,'','left','commercial',141086,NULL,NULL,6,'/commande/list.php?leftmenu=orders&viewstatut=4','','StatusOrderProcessed','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141092,'auguria',1,'','left','commercial',141086,NULL,NULL,7,'/commande/list.php?leftmenu=orders&viewstatut=-1','','StatusOrderCanceledShort','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141093,'auguria',1,'','left','commercial',141084,NULL,NULL,4,'/commande/stats/index.php?leftmenu=orders','','Statistics','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled',2,'2016-07-30 11:13:00'),(141184,'auguria',1,'','left','commercial',139887,NULL,NULL,6,'/expedition/index.php?leftmenu=sendings','','Shipments','sendings',0,'sendings','$user->rights->expedition->lire','$conf->expedition->enabled',2,'2016-07-30 11:13:00'),(141185,'auguria',1,'','left','commercial',141184,NULL,NULL,0,'/expedition/card.php?action=create2&leftmenu=sendings','','NewSending','sendings',1,'','$user->rights->expedition->creer','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2016-07-30 11:13:00'),(141186,'auguria',1,'','left','commercial',141184,NULL,NULL,1,'/expedition/list.php?leftmenu=sendings','','List','sendings',1,'','$user->rights->expedition->lire','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2016-07-30 11:13:00'),(141187,'auguria',1,'','left','commercial',141184,NULL,NULL,2,'/expedition/stats/index.php?leftmenu=sendings','','Statistics','sendings',1,'','$user->rights->expedition->lire','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2016-07-30 11:13:00'),(141284,'auguria',1,'','left','commercial',139889,NULL,NULL,7,'/contrat/index.php?leftmenu=contracts','','Contracts','contracts',0,'contracts','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2016-07-30 11:13:00'),(141285,'auguria',1,'','left','commercial',141284,NULL,NULL,0,'/contrat/card.php?&action=create&leftmenu=contracts','','NewContract','contracts',1,'','$user->rights->contrat->creer','$conf->contrat->enabled',2,'2016-07-30 11:13:00'),(141286,'auguria',1,'','left','commercial',141284,NULL,NULL,1,'/contrat/list.php?leftmenu=contracts','','List','contracts',1,'','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2016-07-30 11:13:00'),(141287,'auguria',1,'','left','commercial',141284,NULL,NULL,2,'/contrat/services.php?leftmenu=contracts','','MenuServices','contracts',1,'','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2016-07-30 11:13:00'),(141288,'auguria',1,'','left','commercial',141287,NULL,NULL,0,'/contrat/services.php?leftmenu=contracts&mode=0','','MenuInactiveServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2016-07-30 11:13:00'),(141289,'auguria',1,'','left','commercial',141287,NULL,NULL,1,'/contrat/services.php?leftmenu=contracts&mode=4','','MenuRunningServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2016-07-30 11:13:00'),(141290,'auguria',1,'','left','commercial',141287,NULL,NULL,2,'/contrat/services.php?leftmenu=contracts&mode=4&filter=expired','','MenuExpiredServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2016-07-30 11:13:00'),(141291,'auguria',1,'','left','commercial',141287,NULL,NULL,3,'/contrat/services.php?leftmenu=contracts&mode=5','','MenuClosedServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2016-07-30 11:13:00'),(141384,'auguria',1,'','left','commercial',139889,NULL,NULL,8,'/fichinter/list.php?leftmenu=ficheinter','','Interventions','interventions',0,'ficheinter','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2016-07-30 11:13:00'),(141385,'auguria',1,'','left','commercial',141384,NULL,NULL,0,'/fichinter/card.php?action=create&leftmenu=ficheinter','','NewIntervention','interventions',1,'','$user->rights->ficheinter->creer','$conf->ficheinter->enabled',2,'2016-07-30 11:13:00'),(141386,'auguria',1,'','left','commercial',141384,NULL,NULL,1,'/fichinter/list.php?leftmenu=ficheinter','','List','interventions',1,'','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2016-07-30 11:13:00'),(141387,'auguria',1,'','left','commercial',141384,NULL,NULL,2,'/fichinter/stats/index.php?leftmenu=ficheinter','','Statistics','interventions',1,'','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2016-07-30 11:13:00'),(141484,'auguria',1,'','left','accountancy',139890,NULL,NULL,3,'/fourn/facture/list.php?leftmenu=suppliers_bills','','BillsSuppliers','bills',0,'supplier_bills','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2016-07-30 11:13:00'),(141485,'auguria',1,'','left','accountancy',141484,NULL,NULL,0,'/fourn/facture/card.php?action=create&leftmenu=suppliers_bills','','NewBill','bills',1,'','$user->rights->fournisseur->facture->creer','$conf->supplier_invoice->enabled',2,'2016-07-30 11:13:00'),(141486,'auguria',1,'','left','accountancy',141484,NULL,NULL,1,'/fourn/facture/impayees.php?leftmenu=suppliers_bills','','Unpaid','bills',1,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2016-07-30 11:13:00'),(141487,'auguria',1,'','left','accountancy',141484,NULL,NULL,2,'/fourn/facture/paiement.php?leftmenu=suppliers_bills','','Payments','bills',1,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2016-07-30 11:13:00'),(141488,'auguria',1,'','left','accountancy',141484,NULL,NULL,8,'/compta/facture/stats/index.php?leftmenu=customers_bills&mode=supplier','','Statistics','bills',1,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2016-07-30 11:13:00'),(141584,'auguria',1,'','left','accountancy',139890,NULL,NULL,3,'/compta/facture/list.php?leftmenu=customers_bills','','BillsCustomers','bills',0,'customer_bills','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141585,'auguria',1,'','left','accountancy',141584,NULL,NULL,3,'/compta/facture.php?action=create&leftmenu=customers_bills','','NewBill','bills',1,'','$user->rights->facture->creer','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141586,'auguria',1,'','left','accountancy',141584,NULL,NULL,5,'/compta/facture/fiche-rec.php?leftmenu=customers_bills','','ListOfTemplates','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141588,'auguria',1,'','left','accountancy',141584,NULL,NULL,6,'/compta/paiement/list.php?leftmenu=customers_bills','','Payments','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141589,'auguria',1,'','left','accountancy',141584,NULL,NULL,4,'/compta/facture/list.php?leftmenu=customers_bills','','List','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141594,'auguria',1,'','left','accountancy',141588,NULL,NULL,1,'/compta/paiement/rapport.php?leftmenu=customers_bills','','Reportings','bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141595,'auguria',1,'','left','accountancy',139898,NULL,NULL,9,'/compta/paiement/cheque/index.php?leftmenu=checks&mainmenu=bank','','MenuChequeDeposits','bills',0,'checks','$user->rights->banque->lire','empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && ! empty($conf->banque->enabled) && (! empty($conf->facture->enabled) || ! empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))',2,'2016-07-30 11:13:00'),(141596,'auguria',1,'','left','accountancy',141595,NULL,NULL,0,'/compta/paiement/cheque/card.php?leftmenu=checks&action=new','','NewCheckDeposit','compta',1,'','$user->rights->banque->lire','empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && ! empty($conf->banque->enabled) && (! empty($conf->facture->enabled) || ! empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))',2,'2016-07-30 11:13:00'),(141597,'auguria',1,'','left','accountancy',141595,NULL,NULL,1,'/compta/paiement/cheque/list.php?leftmenu=checks','','List','bills',1,'','$user->rights->banque->lire','empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && ! empty($conf->banque->enabled) && (! empty($conf->facture->enabled) || ! empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))',2,'2016-07-30 11:13:00'),(141598,'auguria',1,'','left','accountancy',141584,NULL,NULL,8,'/compta/facture/stats/index.php?leftmenu=customers_bills','','Statistics','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141604,'auguria',1,'','left','accountancy',141589,NULL,NULL,1,'/compta/facture/list.php?leftmenu=customers_bills&search_status=0','','BillShortStatusDraft','bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141605,'auguria',1,'','left','accountancy',141589,NULL,NULL,2,'/compta/facture/list.php?leftmenu=customers_bills&search_status=1','','BillShortStatusNotPaid','bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141606,'auguria',1,'','left','accountancy',141589,NULL,NULL,3,'/compta/facture/list.php?leftmenu=customers_bills&search_status=2','','BillShortStatusPaid','bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141607,'auguria',1,'','left','accountancy',141589,NULL,NULL,4,'/compta/facture/list.php?leftmenu=customers_bills&search_status=3','','BillShortStatusCanceled','bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141784,'auguria',1,'','left','accountancy',139890,NULL,NULL,3,'/commande/list.php?leftmenu=orders&viewstatut=3','','MenuOrdersToBill','orders',0,'orders','$user->rights->commande->lire','$conf->commande->enabled',0,'2016-07-30 11:13:00'),(141884,'auguria',1,'','left','accountancy',139890,NULL,NULL,4,'/don/index.php?leftmenu=donations&mainmenu=accountancy','','Donations','donations',0,'donations','$user->rights->don->lire','$conf->don->enabled',2,'2016-07-30 11:13:00'),(141885,'auguria',1,'','left','accountancy',141884,NULL,NULL,0,'/don/card.php?leftmenu=donations&mainmenu=accountancy&action=create','','NewDonation','donations',1,'','$user->rights->don->creer','$conf->don->enabled && $leftmenu==\"donations\"',2,'2016-07-30 11:13:00'),(141886,'auguria',1,'','left','accountancy',141884,NULL,NULL,1,'/don/list.php?leftmenu=donations&mainmenu=accountancy','','List','donations',1,'','$user->rights->don->lire','$conf->don->enabled && $leftmenu==\"donations\"',2,'2016-07-30 11:13:00'),(141984,'auguria',1,'','left','accountancy',139899,NULL,NULL,5,'/compta/deplacement/index.php?leftmenu=tripsandexpenses','','TripsAndExpenses','trips',0,'tripsandexpenses','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2016-07-30 11:13:00'),(141985,'auguria',1,'','left','accountancy',141984,NULL,NULL,1,'/compta/deplacement/card.php?action=create&leftmenu=tripsandexpenses','','New','trips',1,'','$user->rights->deplacement->creer','$conf->deplacement->enabled',0,'2016-07-30 11:13:00'),(141986,'auguria',1,'','left','accountancy',141984,NULL,NULL,2,'/compta/deplacement/list.php?leftmenu=tripsandexpenses','','List','trips',1,'','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2016-07-30 11:13:00'),(141987,'auguria',1,'','left','accountancy',141984,NULL,NULL,2,'/compta/deplacement/stats/index.php?leftmenu=tripsandexpenses','','Statistics','trips',1,'','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2016-07-30 11:13:00'),(142084,'auguria',1,'','left','accountancy',139890,NULL,NULL,6,'/compta/charges/index.php?leftmenu=tax&mainmenu=accountancy','','MenuSpecialExpenses','compta',0,'tax','(! empty($conf->tax->enabled) && $user->rights->tax->charges->lire) || (! empty($conf->salaries->enabled) && $user->rights->salaries->read)','$conf->tax->enabled || $conf->salaries->enabled',0,'2016-07-30 11:13:00'),(142094,'auguria',1,'','left','accountancy',142084,NULL,NULL,1,'/compta/salaries/index.php?leftmenu=tax_salary&mainmenu=accountancy','','Salaries','salaries',1,'tax_sal','$user->rights->salaries->read','$conf->salaries->enabled',0,'2016-07-30 11:13:00'),(142095,'auguria',1,'','left','accountancy',142094,NULL,NULL,2,'/compta/salaries/card.php?leftmenu=tax_salary&action=create','','NewPayment','companies',2,'','$user->rights->salaries->write','$conf->salaries->enabled && $leftmenu==\"tax_salary\"',0,'2016-07-30 11:13:00'),(142096,'auguria',1,'','left','accountancy',142094,NULL,NULL,3,'/compta/salaries/index.php?leftmenu=tax_salary','','Payments','companies',2,'','$user->rights->salaries->read','$conf->salaries->enabled && $leftmenu==\"tax_salary\"',0,'2016-07-30 11:13:00'),(142104,'auguria',1,'','left','accountancy',142084,NULL,NULL,1,'/loan/index.php?leftmenu=tax_loan&mainmenu=accountancy','','Loans','loan',1,'tax_loan','$user->rights->loan->read','$conf->loan->enabled',0,'2016-07-30 11:13:00'),(142105,'auguria',1,'','left','accountancy',142104,NULL,NULL,2,'/loan/card.php?leftmenu=tax_loan&action=create','','NewLoan','loan',2,'','$user->rights->loan->write','$conf->loan->enabled && $leftmenu==\"tax_loan\"',0,'2016-07-30 11:13:00'),(142107,'auguria',1,'','left','accountancy',142104,NULL,NULL,4,'/loan/calc.php?leftmenu=tax_loan','','Calculator','companies',2,'','$user->rights->loan->calc','$conf->loan->enabled && $leftmenu==\"tax_loan\" && ! empty($conf->global->LOAN_SHOW_CALCULATOR)',0,'2016-07-30 11:13:00'),(142134,'auguria',1,'','left','accountancy',142084,NULL,NULL,1,'/compta/sociales/index.php?leftmenu=tax_social','','SocialContributions','',1,'tax_social','$user->rights->tax->charges->lire','$conf->tax->enabled',0,'2016-07-30 11:13:00'),(142135,'auguria',1,'','left','accountancy',142134,NULL,NULL,2,'/compta/sociales/charges.php?leftmenu=tax_social&action=create','','MenuNewSocialContribution','',2,'','$user->rights->tax->charges->creer','$conf->tax->enabled && $leftmenu==\"tax_social\"',0,'2016-07-30 11:13:00'),(142136,'auguria',1,'','left','accountancy',142134,NULL,NULL,3,'/compta/charges/index.php?leftmenu=tax_social&mainmenu=accountancy&mode=sconly','','Payments','',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && $leftmenu==\"tax_social\"',0,'2016-07-30 11:13:00'),(142184,'auguria',1,'','left','accountancy',142084,NULL,NULL,7,'/compta/tva/index.php?leftmenu=tax_vat&mainmenu=accountancy','','VAT','companies',1,'tax_vat','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS)',0,'2016-07-30 11:13:00'),(142185,'auguria',1,'','left','accountancy',142184,NULL,NULL,0,'/compta/tva/card.php?leftmenu=tax_vat&action=create','','New','companies',2,'','$user->rights->tax->charges->creer','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2016-07-30 11:13:00'),(142186,'auguria',1,'','left','accountancy',142184,NULL,NULL,1,'/compta/tva/reglement.php?leftmenu=tax_vat','','List','companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2016-07-30 11:13:00'),(142187,'auguria',1,'','left','accountancy',142184,NULL,NULL,2,'/compta/tva/clients.php?leftmenu=tax_vat','','ReportByCustomers','companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2016-07-30 11:13:00'),(142188,'auguria',1,'','left','accountancy',142184,NULL,NULL,3,'/compta/tva/quadri_detail.php?leftmenu=tax_vat','','ReportByQuarter','companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2016-07-30 11:13:00'),(142284,'auguria',1,'','left','accountancy',139890,NULL,NULL,7,'/accountancy/customer/index.php?leftmenu=accounting','','MenuAccountancy','accountancy',0,'accounting','! empty($conf->accounting->enabled) || $user->rights->accounting->ventilation->read || $user->rights->accounting->ventilation->dispatch || $user->rights->compta->resultat->lire','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142285,'auguria',1,'','left','accountancy',142284,NULL,NULL,1,'/accountancy/customer/index.php?leftmenu=dispatch_customer','','CustomersVentilation','accountancy',1,'dispatch_customer','$user->rights->accounting->ventilation->read','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142286,'auguria',1,'','left','accountancy',142285,NULL,NULL,2,'/accountancy/customer/list.php','','ToDispatch','accountancy',2,'','$user->rights->accounting->ventilation->dispatch','$conf->accounting->enabled && $leftmenu==\"dispatch_customer\"',0,'2016-07-30 11:13:00'),(142287,'auguria',1,'','left','accountancy',142285,NULL,NULL,3,'/accountancy/customer/lines.php','','Dispatched','accountancy',2,'','$user->rights->accounting->ventilation->read','$conf->accounting->enabled && $leftmenu==\"dispatch_customer\"',0,'2016-07-30 11:13:00'),(142294,'auguria',1,'','left','accountancy',142284,NULL,NULL,4,'/accountancy/supplier/index.php?leftmenu=dispatch_supplier','','SuppliersVentilation','accountancy',1,'ventil_supplier','$user->rights->accounting->ventilation->read','$conf->accounting->enabled && $conf->fournisseur->enabled',0,'2016-07-30 11:13:00'),(142295,'auguria',1,'','left','accountancy',142294,NULL,NULL,5,'/accountancy/supplier/list.php','','ToDispatch','accountancy',2,'','$user->rights->accounting->ventilation->dispatch','$conf->accounting->enabled && $conf->fournisseur->enabled && $leftmenu==\"dispatch_supplier\"',0,'2016-07-30 11:13:00'),(142296,'auguria',1,'','left','accountancy',142294,NULL,NULL,6,'/accountancy/supplier/lines.php','','Dispatched','accountancy',2,'','$user->rights->accounting->ventilation->read','$conf->accounting->enabled && $conf->fournisseur->enabled && $leftmenu==\"dispatch_supplier\"',0,'2016-07-30 11:13:00'),(142314,'auguria',1,'','left','accountancy',142284,NULL,NULL,15,'/accountancy/bookkeeping/list.php','','Bookkeeping','accountancy',1,'bookkeeping','$user->rights->accounting->mouvements->lire','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142319,'auguria',1,'','left','accountancy',142284,NULL,NULL,16,'/accountancy/bookkeeping/balance.php','','AccountBalance','accountancy',1,'balance','$user->rights->accounting->mouvements->lire','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142324,'auguria',1,'','left','accountancy',142284,NULL,NULL,17,'/accountancy/report/result.php?leftmenu=ca&mainmenu=accountancy','','Reportings','main',1,'report','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142325,'auguria',1,'','left','accountancy',142324,NULL,NULL,18,'/accountancy/report/result.php?leftmenu=ca','','ReportInOut','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142326,'auguria',1,'','left','accountancy',142324,NULL,NULL,19,'/compta/resultat/index.php?leftmenu=ca','','ByExpenseIncome','main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142327,'auguria',1,'','left','accountancy',142324,NULL,NULL,20,'/compta/resultat/clientfourn.php?leftmenu=ca','','ByCompanies','main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142328,'auguria',1,'','left','accountancy',142324,NULL,NULL,21,'/compta/stats/index.php?leftmenu=ca','','ReportTurnover','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142329,'auguria',1,'','left','accountancy',142324,NULL,NULL,22,'/compta/stats/casoc.php?leftmenu=ca','','ByCompanies','main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142330,'auguria',1,'','left','accountancy',142324,NULL,NULL,23,'/compta/stats/cabyuser.php?leftmenu=ca','','ByUsers','main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142331,'auguria',1,'','left','accountancy',142324,NULL,NULL,24,'/compta/stats/cabyprodserv.php?leftmenu=ca','','ByProductsAndServices','main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142335,'auguria',1,'','left','home',142284,NULL,NULL,25,'/accountancy/admin/account.php?mainmenu=accountancy','','Chartofaccounts','admin',1,'','$user->rights->accounting->chartofaccount','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142384,'auguria',1,'','left','accountancy',139898,NULL,NULL,9,'/compta/prelevement/index.php?leftmenu=withdraw&mainmenu=bank','','StandingOrders','withdrawals',0,'withdraw','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled',2,'2016-07-30 11:13:00'),(142386,'auguria',1,'','left','accountancy',142384,NULL,NULL,0,'/compta/prelevement/create.php?leftmenu=withdraw','','NewStandingOrder','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2016-07-30 11:13:00'),(142387,'auguria',1,'','left','accountancy',142384,NULL,NULL,2,'/compta/prelevement/bons.php?leftmenu=withdraw','','WithdrawalsReceipts','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2016-07-30 11:13:00'),(142388,'auguria',1,'','left','accountancy',142384,NULL,NULL,3,'/compta/prelevement/list.php?leftmenu=withdraw','','WithdrawalsLines','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2016-07-30 11:13:00'),(142390,'auguria',1,'','left','accountancy',142384,NULL,NULL,5,'/compta/prelevement/rejets.php?leftmenu=withdraw','','Rejects','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2016-07-30 11:13:00'),(142391,'auguria',1,'','left','accountancy',142384,NULL,NULL,6,'/compta/prelevement/stats.php?leftmenu=withdraw','','Statistics','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2016-07-30 11:13:00'),(142484,'auguria',1,'','left','accountancy',139898,NULL,NULL,1,'/compta/bank/index.php?leftmenu=bank&mainmenu=bank','','MenuBankCash','banks',0,'bank','$user->rights->banque->lire','$conf->banque->enabled',0,'2016-07-30 11:13:00'),(142485,'auguria',1,'','left','accountancy',142484,NULL,NULL,0,'/compta/bank/card.php?action=create&leftmenu=bank','','MenuNewFinancialAccount','banks',1,'','$user->rights->banque->configurer','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2016-07-30 11:13:00'),(142487,'auguria',1,'','left','accountancy',142484,NULL,NULL,2,'/compta/bank/search.php?leftmenu=bank','','ListTransactions','banks',1,'','$user->rights->banque->lire','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2016-07-30 11:13:00'),(142488,'auguria',1,'','left','accountancy',142484,NULL,NULL,3,'/compta/bank/budget.php?leftmenu=bank','','ListTransactionsByCategory','banks',1,'','$user->rights->banque->lire','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2016-07-30 11:13:00'),(142490,'auguria',1,'','left','accountancy',142484,NULL,NULL,5,'/compta/bank/virement.php?leftmenu=bank','','BankTransfers','banks',1,'','$user->rights->banque->transfer','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2016-07-30 11:13:00'),(142534,'auguria',1,'','left','accountancy',139898,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=5','','Categories','categories',0,'cat','$user->rights->categorie->lire','$conf->categorie->enabled',2,'2016-07-30 11:13:00'),(142535,'auguria',1,'','left','accountancy',142534,NULL,NULL,0,'/categories/card.php?action=create&type=5','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->categorie->enabled',2,'2016-07-30 11:13:00'),(142584,'auguria',1,'','left','accountancy',139890,NULL,NULL,11,'/compta/resultat/index.php?leftmenu=ca&mainmenu=accountancy','','Reportings','main',0,'ca','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled',0,'2016-07-30 11:13:00'),(142585,'auguria',1,'','left','accountancy',142584,NULL,NULL,0,'/compta/resultat/index.php?leftmenu=ca','','ReportInOut','main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142586,'auguria',1,'','left','accountancy',142585,NULL,NULL,0,'/compta/resultat/clientfourn.php?leftmenu=ca','','ByCompanies','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142587,'auguria',1,'','left','accountancy',142584,NULL,NULL,1,'/compta/stats/index.php?leftmenu=ca','','ReportTurnover','main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142588,'auguria',1,'','left','accountancy',142587,NULL,NULL,0,'/compta/stats/casoc.php?leftmenu=ca','','ByCompanies','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142589,'auguria',1,'','left','accountancy',142587,NULL,NULL,1,'/compta/stats/cabyuser.php?leftmenu=ca','','ByUsers','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142590,'auguria',1,'','left','accountancy',142584,NULL,NULL,1,'/compta/journal/sellsjournal.php?leftmenu=ca','','SellsJournal','main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142591,'auguria',1,'','left','accountancy',142584,NULL,NULL,1,'/compta/journal/purchasesjournal.php?leftmenu=ca','','PurchasesJournal','main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142592,'auguria',1,'','left','accountancy',142587,NULL,NULL,1,'/compta/stats/cabyprodserv.php?leftmenu=ca','','ByProductsAndServices','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142684,'auguria',1,'','left','products',139887,NULL,NULL,0,'/product/index.php?leftmenu=product&type=0','','Products','products',0,'product','$user->rights->produit->lire','$conf->product->enabled',2,'2016-07-30 11:13:00'),(142685,'auguria',1,'','left','products',142684,NULL,NULL,0,'/product/card.php?leftmenu=product&action=create&type=0','','NewProduct','products',1,'','$user->rights->produit->creer','$conf->product->enabled',2,'2016-07-30 11:13:00'),(142686,'auguria',1,'','left','products',142684,NULL,NULL,1,'/product/list.php?leftmenu=product&type=0','','List','products',1,'','$user->rights->produit->lire','$conf->product->enabled',2,'2016-07-30 11:13:00'),(142687,'auguria',1,'','left','products',142684,NULL,NULL,4,'/product/reassort.php?type=0','','Stocks','products',1,'','$user->rights->produit->lire && $user->rights->stock->lire','$conf->product->enabled',2,'2016-07-30 11:13:00'),(142688,'auguria',1,'','left','products',142684,NULL,NULL,6,'/product/stats/card.php?id=all&leftmenu=stats&type=0','','Statistics','main',1,'','$user->rights->produit->lire','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(142689,'auguria',1,'','left','products',142684,NULL,NULL,5,'/product/reassortlot.php?type=0','','StocksByLotSerial','products',1,'','$user->rights->produit->lire && $user->rights->stock->lire','$conf->productbatch->enabled',2,'2016-07-30 11:13:00'),(142784,'auguria',1,'','left','products',139887,NULL,NULL,1,'/product/index.php?leftmenu=service&type=1','','Services','products',0,'service','$user->rights->service->lire','$conf->service->enabled',2,'2016-07-30 11:13:00'),(142785,'auguria',1,'','left','products',142784,NULL,NULL,0,'/product/card.php?leftmenu=service&action=create&type=1','','NewService','products',1,'','$user->rights->service->creer','$conf->service->enabled',2,'2016-07-30 11:13:00'),(142786,'auguria',1,'','left','products',142784,NULL,NULL,1,'/product/list.php?leftmenu=service&type=1','','List','products',1,'','$user->rights->service->lire','$conf->service->enabled',2,'2016-07-30 11:13:00'),(142787,'auguria',1,'','left','products',142784,NULL,NULL,5,'/product/stats/card.php?id=all&leftmenu=stats&type=1','','Statistics','main',1,'','$user->rights->service->lire','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(142984,'auguria',1,'','left','products',139887,NULL,NULL,3,'/product/stock/index.php?leftmenu=stock','','Stock','stocks',0,'stock','$user->rights->stock->lire','$conf->stock->enabled',2,'2016-07-30 11:13:00'),(142985,'auguria',1,'','left','products',142984,NULL,NULL,0,'/product/stock/card.php?action=create','','MenuNewWarehouse','stocks',1,'','$user->rights->stock->creer','$conf->stock->enabled',2,'2016-07-30 11:13:00'),(142986,'auguria',1,'','left','products',142984,NULL,NULL,1,'/product/stock/list.php','','List','stocks',1,'','$user->rights->stock->lire','$conf->stock->enabled',2,'2016-07-30 11:13:00'),(142988,'auguria',1,'','left','products',142984,NULL,NULL,3,'/product/stock/mouvement.php','','Movements','stocks',1,'','$user->rights->stock->mouvement->lire','$conf->stock->enabled',2,'2016-07-30 11:13:00'),(142989,'auguria',1,'','left','products',142984,NULL,NULL,4,'/product/stock/replenish.php','','Replenishments','stocks',1,'','$user->rights->stock->mouvement->creer && $user->rights->fournisseur->lire','$conf->stock->enabled && $conf->supplier_order->enabled',2,'2016-07-30 11:13:00'),(142990,'auguria',1,'','left','products',142984,NULL,NULL,5,'/product/stock/massstockmove.php','','MassStockTransferShort','stocks',1,'','$user->rights->stock->mouvement->creer','$conf->stock->enabled',2,'2016-07-30 11:13:00'),(143084,'auguria',1,'','left','products',139887,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=0','','Categories','categories',0,'cat','$user->rights->categorie->lire','$conf->categorie->enabled',2,'2016-07-30 11:13:00'),(143085,'auguria',1,'','left','products',143084,NULL,NULL,0,'/categories/card.php?action=create&type=0','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->categorie->enabled',2,'2016-07-30 11:13:00'),(143484,'auguria',1,'','left','project',139891,NULL,NULL,0,'/projet/index.php?leftmenu=projects','','Projects','projects',0,'projects','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143485,'auguria',1,'','left','project',143484,NULL,NULL,1,'/projet/card.php?leftmenu=projects&action=create','','NewProject','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143486,'auguria',1,'','left','project',143484,NULL,NULL,2,'/projet/list.php?leftmenu=projects','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143494,'auguria',1,'','left','project',139891,NULL,NULL,0,'/projet/index.php?leftmenu=projects&mode=mine','','MyProjects','projects',0,'myprojects','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143495,'auguria',1,'','left','project',143494,NULL,NULL,1,'/projet/card.php?leftmenu=projects&action=create&mode=mine','','NewProject','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143496,'auguria',1,'','left','project',143494,NULL,NULL,2,'/projet/list.php?leftmenu=projects&mode=mine','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143584,'auguria',1,'','left','project',139891,NULL,NULL,0,'/projet/activity/index.php?leftmenu=projects','','Activities','projects',0,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143585,'auguria',1,'','left','project',143584,NULL,NULL,1,'/projet/tasks.php?leftmenu=projects&action=create','','NewTask','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143586,'auguria',1,'','left','project',143584,NULL,NULL,2,'/projet/tasks/list.php?leftmenu=projects','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143587,'auguria',1,'','left','project',143584,NULL,NULL,3,'/projet/activity/perweek.php?leftmenu=projects','','NewTimeSpent','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143684,'auguria',1,'','left','project',139891,NULL,NULL,0,'/projet/activity/index.php?leftmenu=projects&mode=mine','','MyActivities','projects',0,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143685,'auguria',1,'','left','project',143684,NULL,NULL,1,'/projet/tasks.php?leftmenu=projects&action=create','','NewTask','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143686,'auguria',1,'','left','project',143684,NULL,NULL,2,'/projet/tasks/list.php?leftmenu=projects&mode=mine','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143687,'auguria',1,'','left','project',143684,NULL,NULL,3,'/projet/activity/perweek.php?leftmenu=projects&mode=mine','','NewTimeSpent','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143784,'auguria',1,'','left','tools',139892,NULL,NULL,0,'/comm/mailing/index.php?leftmenu=mailing','','EMailings','mails',0,'mailing','$user->rights->mailing->lire','$conf->mailing->enabled',0,'2016-07-30 11:13:00'),(143785,'auguria',1,'','left','tools',143784,NULL,NULL,0,'/comm/mailing/card.php?leftmenu=mailing&action=create','','NewMailing','mails',1,'','$user->rights->mailing->creer','$conf->mailing->enabled',0,'2016-07-30 11:13:00'),(143786,'auguria',1,'','left','tools',143784,NULL,NULL,1,'/comm/mailing/list.php?leftmenu=mailing','','List','mails',1,'','$user->rights->mailing->lire','$conf->mailing->enabled',0,'2016-07-30 11:13:00'),(143984,'auguria',1,'','left','tools',139892,NULL,NULL,2,'/exports/index.php?leftmenu=export','','FormatedExport','exports',0,'export','$user->rights->export->lire','$conf->export->enabled',2,'2016-07-30 11:13:00'),(143985,'auguria',1,'','left','tools',143984,NULL,NULL,0,'/exports/export.php?leftmenu=export','','NewExport','exports',1,'','$user->rights->export->creer','$conf->export->enabled',2,'2016-07-30 11:13:00'),(144014,'auguria',1,'','left','tools',139892,NULL,NULL,2,'/imports/index.php?leftmenu=import','','FormatedImport','exports',0,'import','$user->rights->import->run','$conf->import->enabled',2,'2016-07-30 11:13:00'),(144015,'auguria',1,'','left','tools',144014,NULL,NULL,0,'/imports/import.php?leftmenu=import','','NewImport','exports',1,'','$user->rights->import->run','$conf->import->enabled',2,'2016-07-30 11:13:00'),(144084,'auguria',1,'','left','members',139897,NULL,NULL,0,'/adherents/index.php?leftmenu=members&mainmenu=members','','Members','members',0,'members','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144085,'auguria',1,'','left','members',144084,NULL,NULL,0,'/adherents/card.php?leftmenu=members&action=create','','NewMember','members',1,'','$user->rights->adherent->creer','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144086,'auguria',1,'','left','members',144084,NULL,NULL,1,'/adherents/list.php','','List','members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144087,'auguria',1,'','left','members',144086,NULL,NULL,2,'/adherents/list.php?leftmenu=members&statut=-1','','MenuMembersToValidate','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144088,'auguria',1,'','left','members',144086,NULL,NULL,3,'/adherents/list.php?leftmenu=members&statut=1','','MenuMembersValidated','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144089,'auguria',1,'','left','members',144086,NULL,NULL,4,'/adherents/list.php?leftmenu=members&statut=1&filter=outofdate','','MenuMembersNotUpToDate','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144090,'auguria',1,'','left','members',144086,NULL,NULL,5,'/adherents/list.php?leftmenu=members&statut=1&filter=uptodate','','MenuMembersUpToDate','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144091,'auguria',1,'','left','members',144086,NULL,NULL,6,'/adherents/list.php?leftmenu=members&statut=0','','MenuMembersResiliated','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144092,'auguria',1,'','left','members',144084,NULL,NULL,7,'/adherents/stats/geo.php?leftmenu=members&mode=memberbycountry','','MenuMembersStats','members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144184,'auguria',1,'','left','members',139897,NULL,NULL,1,'/adherents/index.php?leftmenu=members&mainmenu=members','','Subscriptions','compta',0,'','$user->rights->adherent->cotisation->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144185,'auguria',1,'','left','members',144184,NULL,NULL,0,'/adherents/list.php?statut=-1&leftmenu=accountancy&mainmenu=members','','NewSubscription','compta',1,'','$user->rights->adherent->cotisation->creer','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144186,'auguria',1,'','left','members',144184,NULL,NULL,1,'/adherents/cotisations.php?leftmenu=members','','List','compta',1,'','$user->rights->adherent->cotisation->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144187,'auguria',1,'','left','members',144184,NULL,NULL,7,'/adherents/stats/index.php?leftmenu=members','','MenuMembersStats','members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144384,'auguria',1,'','left','members',139897,NULL,NULL,3,'/adherents/index.php?leftmenu=export&mainmenu=members','','Exports','members',0,'export','$user->rights->adherent->export','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144385,'auguria',1,'','left','members',144384,NULL,NULL,0,'/exports/index.php?leftmenu=export','','Datas','members',1,'','$user->rights->adherent->export','$conf->adherent->enabled && $conf->export->enabled',2,'2016-07-30 11:13:00'),(144386,'auguria',1,'','left','members',144384,NULL,NULL,1,'/adherents/htpasswd.php?leftmenu=export','','Filehtpasswd','members',1,'','$user->rights->adherent->export','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144387,'auguria',1,'','left','members',144384,NULL,NULL,2,'/adherents/cartes/carte.php?leftmenu=export','','MembersCards','members',1,'','$user->rights->adherent->export','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144484,'auguria',1,'','left','hrm',139899,NULL,NULL,1,'/user/index.php?&leftmenu=hrm&mode=employee','','Employees','hrm',0,'hrm','$user->rights->hrm->employee->read','$conf->hrm->enabled',0,'2016-07-30 11:13:00'),(144485,'auguria',1,'','left','hrm',144484,NULL,NULL,1,'/user/card.php?&action=create','','NewEmployee','hrm',1,'','$user->rights->hrm->employee->write','$conf->hrm->enabled',0,'2016-07-30 11:13:00'),(144486,'auguria',1,'','left','hrm',144484,NULL,NULL,2,'/user/index.php?$leftmenu=hrm&mode=employee','','List','hrm',1,'','$user->rights->hrm->employee->read','$conf->hrm->enabled',0,'2016-07-30 11:13:00'),(144584,'auguria',1,'','left','members',139897,NULL,NULL,5,'/adherents/type.php?leftmenu=setup&mainmenu=members','','MembersTypes','members',0,'setup','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144585,'auguria',1,'','left','members',144584,NULL,NULL,0,'/adherents/type.php?leftmenu=setup&mainmenu=members&action=create','','New','members',1,'','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144586,'auguria',1,'','left','members',144584,NULL,NULL,1,'/adherents/type.php?leftmenu=setup&mainmenu=members','','List','members',1,'','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144884,'auguria',1,'','left','hrm',139899,NULL,NULL,1,'/holiday/list.php?&leftmenu=hrm','','CPTitreMenu','holiday',0,'hrm','$user->rights->holiday->read','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144885,'auguria',1,'','left','hrm',144884,NULL,NULL,1,'/holiday/card.php?&action=request','','MenuAddCP','holiday',1,'','$user->rights->holiday->write','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144886,'auguria',1,'','left','hrm',144884,NULL,NULL,1,'/holiday/list.php?&leftmenu=hrm','','List','holiday',1,'','$user->rights->holiday->read','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144887,'auguria',1,'','left','hrm',144886,NULL,NULL,1,'/holiday/list.php?select_statut=2&leftmenu=hrm','','ListToApprove','trips',2,'','$user->rights->holiday->read','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144888,'auguria',1,'','left','hrm',144884,NULL,NULL,2,'/holiday/define_holiday.php?&action=request','','MenuConfCP','holiday',1,'','$user->rights->holiday->define_holiday','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144889,'auguria',1,'','left','hrm',144884,NULL,NULL,3,'/holiday/view_log.php?&action=request','','MenuLogCP','holiday',1,'','$user->rights->holiday->define_holiday','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144984,'auguria',1,'','left','commercial',139889,NULL,NULL,6,'/fourn/commande/index.php?leftmenu=orders_suppliers','','SuppliersOrders','orders',0,'orders_suppliers','$user->rights->fournisseur->commande->lire','$conf->supplier_order->enabled',2,'2016-07-30 11:13:00'),(144985,'auguria',1,'','left','commercial',144984,NULL,NULL,0,'/fourn/commande/card.php?action=create&leftmenu=orders_suppliers','','NewOrder','orders',1,'','$user->rights->fournisseur->commande->creer','$conf->supplier_order->enabled',2,'2016-07-30 11:13:00'),(144986,'auguria',1,'','left','commercial',144984,NULL,NULL,1,'/fourn/commande/list.php?leftmenu=orders_suppliers&viewstatut=0','','List','orders',1,'','$user->rights->fournisseur->commande->lire','$conf->supplier_order->enabled',2,'2016-07-30 11:13:00'),(144992,'auguria',1,'','left','commercial',144984,NULL,NULL,7,'/commande/stats/index.php?leftmenu=orders_suppliers&mode=supplier','','Statistics','orders',1,'','$user->rights->fournisseur->commande->lire','$conf->supplier_order->enabled',2,'2016-07-30 11:13:00'),(145084,'auguria',1,'','left','members',139897,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=3','','MembersCategoriesShort','categories',0,'cat','$user->rights->categorie->lire','$conf->adherent->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(145085,'auguria',1,'','left','members',145084,NULL,NULL,0,'/categories/card.php?action=create&type=3','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->adherent->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(145086,'all',1,'supplier_proposal','left','commercial',-1,NULL,'commercial',300,'/supplier_proposal/index.php','','SupplierProposalsShort','supplier_proposal',NULL,'supplier_proposalsubmenu','$user->rights->supplier_proposal->lire','$conf->supplier_proposal->enabled',2,'2016-07-30 11:13:20'),(145087,'all',1,'supplier_proposal','left','commercial',-1,'supplier_proposalsubmenu','commercial',301,'/supplier_proposal/card.php?action=create&leftmenu=supplier_proposals','','SupplierProposalNew','supplier_proposal',NULL,NULL,'$user->rights->supplier_proposal->creer','$conf->supplier_proposal->enabled',2,'2016-07-30 11:13:20'),(145088,'all',1,'supplier_proposal','left','commercial',-1,'supplier_proposalsubmenu','commercial',302,'/supplier_proposal/list.php?leftmenu=supplier_proposals','','List','supplier_proposal',NULL,NULL,'$user->rights->supplier_proposal->lire','$conf->supplier_proposal->enabled',2,'2016-07-30 11:13:20'),(145089,'all',1,'supplier_proposal','left','commercial',-1,'supplier_proposalsubmenu','commercial',303,'/comm/propal/stats/index.php?leftmenu=supplier_proposals&mode=supplier','','Statistics','supplier_proposal',NULL,NULL,'$user->rights->supplier_proposal->lire','$conf->supplier_proposal->enabled',2,'2016-07-30 11:13:20'),(145090,'all',1,'resource','left','tools',-1,NULL,'tools',100,'/resource/list.php','','MenuResourceIndex','resource',NULL,'resource','$user->rights->resource->read','1',0,'2016-07-30 11:13:32'),(145091,'all',1,'resource','left','tools',-1,'resource','tools',101,'/resource/add.php','','MenuResourceAdd','resource',NULL,NULL,'$user->rights->resource->read','1',0,'2016-07-30 11:13:32'),(145092,'all',1,'resource','left','tools',-1,'resource','tools',102,'/resource/list.php','','List','resource',NULL,NULL,'$user->rights->resource->read','1',0,'2016-07-30 11:13:32'),(145093,'all',1,'cron','left','home',-1,'admintools','home',200,'/cron/list.php?status=-2&leftmenu=admintools','','CronList','cron',NULL,NULL,'$user->rights->cron->read','$leftmenu==\'admintools\'',2,'2016-07-30 11:14:25'),(145094,'all',1,'agenda','top','agenda',0,NULL,NULL,100,'/comm/action/index.php','','Agenda','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145095,'all',1,'agenda','left','agenda',145094,NULL,NULL,100,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Actions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145096,'all',1,'agenda','left','agenda',145095,NULL,NULL,101,'/comm/action/card.php?mainmenu=agenda&leftmenu=agenda&action=create','','NewAction','commercial',NULL,NULL,'($user->rights->agenda->myactions->create||$user->rights->agenda->allactions->create)','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145097,'all',1,'agenda','left','agenda',145095,NULL,NULL,102,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Agenda','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145098,'all',1,'agenda','left','agenda',145097,NULL,NULL,103,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145099,'all',1,'agenda','left','agenda',145097,NULL,NULL,104,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145100,'all',1,'agenda','left','agenda',145097,NULL,NULL,105,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo&filtert=-1','','MenuToDoActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2016-07-30 15:42:32'),(145101,'all',1,'agenda','left','agenda',145097,NULL,NULL,106,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done&filtert=-1','','MenuDoneActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2016-07-30 15:42:32'),(145102,'all',1,'agenda','left','agenda',145095,NULL,NULL,112,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda','','List','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145103,'all',1,'agenda','left','agenda',145102,NULL,NULL,113,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145104,'all',1,'agenda','left','agenda',145102,NULL,NULL,114,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145105,'all',1,'agenda','left','agenda',145102,NULL,NULL,115,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo&filtert=-1','','MenuToDoActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2016-07-30 15:42:32'),(145106,'all',1,'agenda','left','agenda',145102,NULL,NULL,116,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done&filtert=-1','','MenuDoneActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2016-07-30 15:42:32'),(145107,'all',1,'agenda','left','agenda',145095,NULL,NULL,120,'/comm/action/rapport/index.php?mainmenu=agenda&leftmenu=agenda','','Reportings','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'); +/*!40000 ALTER TABLE `llx_menu` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_multicurrency` +-- + +DROP TABLE IF EXISTS `llx_multicurrency`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_multicurrency` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `date_create` datetime DEFAULT NULL, + `code` varchar(255) DEFAULT NULL, + `name` varchar(255) DEFAULT NULL, + `entity` int(11) DEFAULT '1', + `fk_user` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_multicurrency` +-- + +LOCK TABLES `llx_multicurrency` WRITE; +/*!40000 ALTER TABLE `llx_multicurrency` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_multicurrency` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_multicurrency_rate` +-- + +DROP TABLE IF EXISTS `llx_multicurrency_rate`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_multicurrency_rate` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `date_sync` datetime DEFAULT NULL, + `rate` double NOT NULL DEFAULT '0', + `fk_multicurrency` int(11) NOT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_multicurrency_rate` +-- + +LOCK TABLES `llx_multicurrency_rate` WRITE; +/*!40000 ALTER TABLE `llx_multicurrency_rate` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_multicurrency_rate` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_notify` +-- + +DROP TABLE IF EXISTS `llx_notify`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_notify` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `daten` datetime DEFAULT NULL, + `fk_action` int(11) NOT NULL, + `fk_soc` int(11) DEFAULT NULL, + `fk_contact` int(11) DEFAULT NULL, + `fk_user` int(11) DEFAULT NULL, + `objet_type` varchar(24) NOT NULL, + `objet_id` int(11) NOT NULL, + `email` varchar(255) DEFAULT NULL, + `type` varchar(16) DEFAULT 'email', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_notify` +-- + +LOCK TABLES `llx_notify` WRITE; +/*!40000 ALTER TABLE `llx_notify` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_notify` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_notify_def` +-- + +DROP TABLE IF EXISTS `llx_notify_def`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_notify_def` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datec` date DEFAULT NULL, + `fk_action` int(11) NOT NULL, + `fk_soc` int(11) NOT NULL, + `fk_contact` int(11) DEFAULT NULL, + `fk_user` int(11) DEFAULT NULL, + `type` varchar(16) DEFAULT 'email', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_notify_def` +-- + +LOCK TABLES `llx_notify_def` WRITE; +/*!40000 ALTER TABLE `llx_notify_def` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_notify_def` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_oauth_state` +-- + +DROP TABLE IF EXISTS `llx_oauth_state`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_oauth_state` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `service` varchar(36) DEFAULT NULL, + `state` varchar(128) DEFAULT NULL, + `fk_user` int(11) DEFAULT NULL, + `fk_adherent` int(11) DEFAULT NULL, + `entity` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_oauth_state` +-- + +LOCK TABLES `llx_oauth_state` WRITE; +/*!40000 ALTER TABLE `llx_oauth_state` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_oauth_state` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_oauth_token` +-- + +DROP TABLE IF EXISTS `llx_oauth_token`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_oauth_token` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `service` varchar(36) DEFAULT NULL, + `token` text, + `fk_user` int(11) DEFAULT NULL, + `fk_adherent` int(11) DEFAULT NULL, + `entity` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_oauth_token` +-- + +LOCK TABLES `llx_oauth_token` WRITE; +/*!40000 ALTER TABLE `llx_oauth_token` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_oauth_token` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_opensurvey_comments` +-- + +DROP TABLE IF EXISTS `llx_opensurvey_comments`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_opensurvey_comments` ( + `id_comment` int(10) unsigned NOT NULL AUTO_INCREMENT, + `id_sondage` char(16) NOT NULL, + `comment` text NOT NULL, + `usercomment` text, + PRIMARY KEY (`id_comment`), + KEY `idx_id_comment` (`id_comment`), + KEY `idx_id_sondage` (`id_sondage`) +) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_opensurvey_comments` +-- + +LOCK TABLES `llx_opensurvey_comments` WRITE; +/*!40000 ALTER TABLE `llx_opensurvey_comments` DISABLE KEYS */; +INSERT INTO `llx_opensurvey_comments` VALUES (2,'434dio8rxfljs3p1','aaa','aaa'),(5,'434dio8rxfljs3p1','aaa','aaa'),(6,'434dio8rxfljs3p1','gfh','jj'),(11,'434dio8rxfljs3p1','fsdf','fdsf'),(12,'3imby4hf7joiilsu','fsdf','aa'),(16,'3imby4hf7joiilsu','gdfg','gfdg'),(17,'3imby4hf7joiilsu','gfdgd','gdfgd'),(18,'om4e7azfiurnjtqe','fds','fdsf'),(26,'qgsfrgb922rqzocy','gfdg','gfdg'),(27,'qgsfrgb922rqzocy','gfdg','gfd'),(28,'m4467s2mtk6khmxc','hgf','hgfh'),(29,'m4467s2mtk6khmxc','fgh','hgf'),(30,'ckanvbe7kt3rdb3h','hfgh','fdfds'),(31,'m4467s2mtk6khmxc','hgfh','hgf'); +/*!40000 ALTER TABLE `llx_opensurvey_comments` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_opensurvey_formquestions` +-- + +DROP TABLE IF EXISTS `llx_opensurvey_formquestions`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_opensurvey_formquestions` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `id_sondage` varchar(16) DEFAULT NULL, + `question` text, + `available_answers` text, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_opensurvey_formquestions` +-- + +LOCK TABLES `llx_opensurvey_formquestions` WRITE; +/*!40000 ALTER TABLE `llx_opensurvey_formquestions` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_opensurvey_formquestions` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_opensurvey_sondage` +-- + +DROP TABLE IF EXISTS `llx_opensurvey_sondage`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_opensurvey_sondage` ( + `id_sondage` varchar(16) NOT NULL, + `commentaires` text, + `mail_admin` varchar(128) DEFAULT NULL, + `nom_admin` varchar(64) DEFAULT NULL, + `fk_user_creat` int(11) NOT NULL, + `titre` text NOT NULL, + `date_fin` datetime NOT NULL, + `status` int(11) DEFAULT '1', + `format` varchar(2) NOT NULL, + `mailsonde` tinyint(4) NOT NULL DEFAULT '0', + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `entity` int(11) NOT NULL DEFAULT '1', + `allow_comments` tinyint(4) NOT NULL DEFAULT '1', + `allow_spy` tinyint(4) NOT NULL DEFAULT '1', + `sujet` text, + PRIMARY KEY (`id_sondage`), + KEY `idx_date_fin` (`date_fin`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_opensurvey_sondage` +-- + +LOCK TABLES `llx_opensurvey_sondage` WRITE; +/*!40000 ALTER TABLE `llx_opensurvey_sondage` DISABLE KEYS */; +INSERT INTO `llx_opensurvey_sondage` VALUES ('m4467s2mtk6khmxc','fdffdshfghfj jhgjgh','aaa@aaa.com','fdfds',0,'fdffds','2013-03-07 00:00:00',1,'D',1,'2016-07-30 15:51:16',1,1,1,NULL); +/*!40000 ALTER TABLE `llx_opensurvey_sondage` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_opensurvey_user_formanswers` +-- + +DROP TABLE IF EXISTS `llx_opensurvey_user_formanswers`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_opensurvey_user_formanswers` ( + `fk_user_survey` int(11) NOT NULL, + `fk_question` int(11) NOT NULL, + `reponses` text +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_opensurvey_user_formanswers` +-- + +LOCK TABLES `llx_opensurvey_user_formanswers` WRITE; +/*!40000 ALTER TABLE `llx_opensurvey_user_formanswers` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_opensurvey_user_formanswers` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_opensurvey_user_studs` +-- + +DROP TABLE IF EXISTS `llx_opensurvey_user_studs`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_opensurvey_user_studs` ( + `id_users` int(11) NOT NULL AUTO_INCREMENT, + `nom` varchar(64) NOT NULL, + `id_sondage` varchar(16) NOT NULL, + `reponses` varchar(100) NOT NULL, + PRIMARY KEY (`id_users`), + KEY `idx_id_users` (`id_users`), + KEY `idx_nom` (`nom`), + KEY `idx_id_sondage` (`id_sondage`), + KEY `idx_opensurvey_user_studs_id_users` (`id_users`), + KEY `idx_opensurvey_user_studs_nom` (`nom`), + KEY `idx_opensurvey_user_studs_id_sondage` (`id_sondage`) +) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_opensurvey_user_studs` +-- + +LOCK TABLES `llx_opensurvey_user_studs` WRITE; +/*!40000 ALTER TABLE `llx_opensurvey_user_studs` DISABLE KEYS */; +INSERT INTO `llx_opensurvey_user_studs` VALUES (1,'gfdgdf','om4e7azfiurnjtqe','01'),(2,'aa','3imby4hf7joiilsu','210'),(3,'fsdf','z2qcqjh5pm1q4p99','0110'),(5,'hfghf','z2qcqjh5pm1q4p99','1110'),(6,'qqqq','ah9xvaqu1ajjrqse','000111'),(7,'hjgh','ah9xvaqu1ajjrqse','000010'),(8,'bcvb','qgsfrgb922rqzocy','011000'),(9,'gdfg','ah9xvaqu1ajjrqse','001000'),(10,'ggg','ah9xvaqu1ajjrqse','000100'),(11,'gfdgd','ah9xvaqu1ajjrqse','001000'),(12,'hhhh','ah9xvaqu1ajjrqse','010000'),(13,'iii','ah9xvaqu1ajjrqse','000100'),(14,'kkk','ah9xvaqu1ajjrqse','001000'),(15,'lllll','ah9xvaqu1ajjrqse','000001'),(16,'kk','ah9xvaqu1ajjrqse','000001'),(17,'gggg','ah9xvaqu1ajjrqse','001000'),(18,'mmmm','ah9xvaqu1ajjrqse','000000'),(19,'jkjkj','ah9xvaqu1ajjrqse','000001'),(20,'azerty','8mcdnf2hgcntfibe','012'),(21,'hfghfg','8mcdnf2hgcntfibe','012'),(22,'fd','ckanvbe7kt3rdb3h','10'),(23,'gfdgdf','m4467s2mtk6khmxc','00011'),(24,'hgfh','m4467s2mtk6khmxc','000111'); +/*!40000 ALTER TABLE `llx_opensurvey_user_studs` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_overwrite_trans` +-- + +DROP TABLE IF EXISTS `llx_overwrite_trans`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_overwrite_trans` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `lang` varchar(5) DEFAULT NULL, + `transkey` varchar(128) DEFAULT NULL, + `transvalue` text, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_overwrite_trans` (`lang`,`transkey`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_overwrite_trans` +-- + +LOCK TABLES `llx_overwrite_trans` WRITE; +/*!40000 ALTER TABLE `llx_overwrite_trans` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_overwrite_trans` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_paiement` +-- + +DROP TABLE IF EXISTS `llx_paiement`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_paiement` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `ref` varchar(30) NOT NULL DEFAULT '', + `entity` int(11) NOT NULL DEFAULT '1', + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datep` datetime DEFAULT NULL, + `amount` double(24,8) DEFAULT NULL, + `fk_paiement` int(11) NOT NULL, + `num_paiement` varchar(50) DEFAULT NULL, + `note` text, + `fk_bank` int(11) NOT NULL DEFAULT '0', + `fk_user_creat` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + `statut` smallint(6) NOT NULL DEFAULT '0', + `fk_export_compta` int(11) NOT NULL DEFAULT '0', + `multicurrency_amount` double(24,8) DEFAULT '0.00000000', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_paiement` +-- + +LOCK TABLES `llx_paiement` WRITE; +/*!40000 ALTER TABLE `llx_paiement` DISABLE KEYS */; +INSERT INTO `llx_paiement` VALUES (2,'',1,'2011-07-18 20:50:24','2016-07-30 15:13:20','2016-07-08 12:00:00',20.00000000,6,'','',5,1,NULL,0,0,0.00000000),(3,'',1,'2011-07-18 20:50:47','2016-07-30 15:13:20','2016-07-08 12:00:00',10.00000000,4,'','',6,1,NULL,0,0,0.00000000),(5,'',1,'2011-08-01 03:34:11','2016-07-30 15:12:32','2015-08-01 03:34:11',5.63000000,6,'','Payment Invoice FA1108-0003',8,1,NULL,0,0,0.00000000),(6,'',1,'2011-08-06 20:33:54','2016-07-30 15:12:32','2015-08-06 20:33:53',5.98000000,4,'','Payment Invoice FA1108-0004',13,1,NULL,0,0,0.00000000),(8,'',1,'2011-08-08 02:53:40','2016-07-30 15:12:32','2015-08-08 12:00:00',26.10000000,4,'','',14,1,NULL,0,0,0.00000000),(9,'',1,'2011-08-08 02:55:58','2016-07-30 15:12:32','2015-08-08 12:00:00',26.96000000,1,'','',15,1,NULL,0,0,0.00000000),(17,'',1,'2012-12-09 15:28:44','2016-07-30 15:12:32','2015-12-09 12:00:00',2.00000000,4,'','',16,1,NULL,0,0,0.00000000),(18,'',1,'2012-12-09 15:28:53','2016-07-30 15:12:32','2015-12-09 12:00:00',-2.00000000,4,'','',17,1,NULL,0,0,0.00000000),(19,'',1,'2012-12-09 17:35:55','2016-07-30 15:12:32','2015-12-09 12:00:00',-2.00000000,4,'','',18,1,NULL,0,0,0.00000000),(20,'',1,'2012-12-09 17:37:02','2016-07-30 15:12:32','2015-12-09 12:00:00',2.00000000,4,'','',19,1,NULL,0,0,0.00000000),(21,'',1,'2012-12-09 18:35:07','2016-07-30 15:12:32','2015-12-09 12:00:00',-2.00000000,4,'','',20,1,NULL,0,0,0.00000000),(23,'',1,'2012-12-12 18:54:33','2016-07-30 15:12:32','2015-12-12 12:00:00',1.00000000,1,'','',21,1,NULL,0,0,0.00000000),(24,'',1,'2013-03-06 16:48:16','2016-07-30 15:13:20','2016-03-06 00:00:00',20.00000000,4,'','Adhésion/cotisation 2016',22,1,NULL,0,0,0.00000000),(25,'',1,'2013-03-20 14:30:11','2016-07-30 15:13:20','2016-03-20 00:00:00',10.00000000,2,'','Adhésion/cotisation 2011',23,1,NULL,0,0,0.00000000),(26,'',1,'2014-03-02 19:57:58','2016-07-30 15:13:20','2016-07-09 12:00:00',605.00000000,2,'','',24,1,NULL,0,0,0.00000000),(29,'',1,'2014-03-02 20:01:39','2016-07-30 15:13:20','2016-03-19 12:00:00',500.00000000,4,'','',26,1,NULL,0,0,0.00000000),(30,'',1,'2014-03-02 20:02:06','2016-07-30 15:13:20','2016-03-21 12:00:00',400.00000000,2,'','',27,1,NULL,0,0,0.00000000),(32,'',1,'2014-03-03 19:22:32','2016-07-30 15:12:32','2015-10-03 12:00:00',-400.00000000,4,'','',28,1,NULL,0,0,0.00000000),(33,'',1,'2014-03-03 19:23:16','2016-07-30 15:13:20','2016-03-10 12:00:00',-300.00000000,4,'','',29,1,NULL,0,0,0.00000000); +/*!40000 ALTER TABLE `llx_paiement` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_paiement_facture` +-- + +DROP TABLE IF EXISTS `llx_paiement_facture`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_paiement_facture` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_paiement` int(11) DEFAULT NULL, + `fk_facture` int(11) DEFAULT NULL, + `amount` double(24,8) DEFAULT NULL, + `multicurrency_amount` double(24,8) DEFAULT '0.00000000', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_paiement_facture` (`fk_paiement`,`fk_facture`), + KEY `idx_paiement_facture_fk_facture` (`fk_facture`), + KEY `idx_paiement_facture_fk_paiement` (`fk_paiement`), + CONSTRAINT `fk_paiement_facture_fk_facture` FOREIGN KEY (`fk_facture`) REFERENCES `llx_facture` (`rowid`), + CONSTRAINT `fk_paiement_facture_fk_paiement` FOREIGN KEY (`fk_paiement`) REFERENCES `llx_paiement` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=38 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_paiement_facture` +-- + +LOCK TABLES `llx_paiement_facture` WRITE; +/*!40000 ALTER TABLE `llx_paiement_facture` DISABLE KEYS */; +INSERT INTO `llx_paiement_facture` VALUES (2,2,2,20.00000000,0.00000000),(3,3,2,10.00000000,0.00000000),(5,5,5,5.63000000,0.00000000),(6,6,6,5.98000000,0.00000000),(9,8,2,16.10000000,0.00000000),(10,8,8,10.00000000,0.00000000),(11,9,3,15.00000000,0.00000000),(12,9,9,11.96000000,0.00000000),(24,20,9,1.00000000,0.00000000),(31,26,32,600.00000000,0.00000000),(36,29,32,500.00000000,0.00000000),(37,30,32,400.00000000,0.00000000); +/*!40000 ALTER TABLE `llx_paiement_facture` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_paiementcharge` +-- + +DROP TABLE IF EXISTS `llx_paiementcharge`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_paiementcharge` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_charge` int(11) DEFAULT NULL, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datep` datetime DEFAULT NULL, + `amount` double DEFAULT '0', + `fk_typepaiement` int(11) NOT NULL, + `num_paiement` varchar(50) DEFAULT NULL, + `note` text, + `fk_bank` int(11) NOT NULL, + `fk_user_creat` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_paiementcharge` +-- + +LOCK TABLES `llx_paiementcharge` WRITE; +/*!40000 ALTER TABLE `llx_paiementcharge` DISABLE KEYS */; +INSERT INTO `llx_paiementcharge` VALUES (4,4,'2011-08-05 23:11:37','2011-08-05 21:11:37','2011-08-05 12:00:00',10,2,'','',12,1,NULL); +/*!40000 ALTER TABLE `llx_paiementcharge` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_paiementfourn` +-- + +DROP TABLE IF EXISTS `llx_paiementfourn`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_paiementfourn` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `ref` varchar(30) DEFAULT NULL, + `entity` int(11) DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datec` datetime DEFAULT NULL, + `datep` datetime DEFAULT NULL, + `amount` double DEFAULT '0', + `fk_user_author` int(11) DEFAULT NULL, + `fk_paiement` int(11) NOT NULL, + `num_paiement` varchar(50) DEFAULT NULL, + `note` text, + `fk_bank` int(11) NOT NULL, + `statut` smallint(6) NOT NULL DEFAULT '0', + `multicurrency_amount` double(24,8) DEFAULT '0.00000000', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_paiementfourn` +-- + +LOCK TABLES `llx_paiementfourn` WRITE; +/*!40000 ALTER TABLE `llx_paiementfourn` DISABLE KEYS */; +INSERT INTO `llx_paiementfourn` VALUES (1,NULL,NULL,'2016-01-22 17:56:34','2016-01-22 18:56:34','2016-01-22 12:00:00',900,12,4,'','',30,0,0.00000000); +/*!40000 ALTER TABLE `llx_paiementfourn` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_paiementfourn_facturefourn` +-- + +DROP TABLE IF EXISTS `llx_paiementfourn_facturefourn`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_paiementfourn_facturefourn` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_paiementfourn` int(11) DEFAULT NULL, + `fk_facturefourn` int(11) DEFAULT NULL, + `amount` double DEFAULT '0', + `multicurrency_amount` double(24,8) DEFAULT '0.00000000', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_paiementfourn_facturefourn` (`fk_paiementfourn`,`fk_facturefourn`), + KEY `idx_paiementfourn_facturefourn_fk_facture` (`fk_facturefourn`), + KEY `idx_paiementfourn_facturefourn_fk_paiement` (`fk_paiementfourn`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_paiementfourn_facturefourn` +-- + +LOCK TABLES `llx_paiementfourn_facturefourn` WRITE; +/*!40000 ALTER TABLE `llx_paiementfourn_facturefourn` DISABLE KEYS */; +INSERT INTO `llx_paiementfourn_facturefourn` VALUES (1,1,16,900,0.00000000); +/*!40000 ALTER TABLE `llx_paiementfourn_facturefourn` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_payment_donation` +-- + +DROP TABLE IF EXISTS `llx_payment_donation`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_payment_donation` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_donation` int(11) DEFAULT NULL, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datep` datetime DEFAULT NULL, + `amount` double DEFAULT '0', + `fk_typepayment` int(11) NOT NULL, + `num_payment` varchar(50) DEFAULT NULL, + `note` text, + `fk_bank` int(11) NOT NULL, + `fk_user_creat` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_payment_donation` +-- + +LOCK TABLES `llx_payment_donation` WRITE; +/*!40000 ALTER TABLE `llx_payment_donation` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_payment_donation` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_payment_expensereport` +-- + +DROP TABLE IF EXISTS `llx_payment_expensereport`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_payment_expensereport` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_expensereport` int(11) DEFAULT NULL, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datep` datetime DEFAULT NULL, + `amount` double DEFAULT '0', + `fk_typepayment` int(11) NOT NULL, + `num_payment` varchar(50) DEFAULT NULL, + `note` text, + `fk_bank` int(11) NOT NULL, + `fk_user_creat` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_payment_expensereport` +-- + +LOCK TABLES `llx_payment_expensereport` WRITE; +/*!40000 ALTER TABLE `llx_payment_expensereport` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_payment_expensereport` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_payment_loan` +-- + +DROP TABLE IF EXISTS `llx_payment_loan`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_payment_loan` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_loan` int(11) DEFAULT NULL, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datep` datetime DEFAULT NULL, + `amount_capital` double DEFAULT '0', + `amount_insurance` double DEFAULT '0', + `amount_interest` double DEFAULT '0', + `fk_typepayment` int(11) NOT NULL, + `num_payment` varchar(50) DEFAULT NULL, + `note_private` text, + `note_public` text, + `fk_bank` int(11) NOT NULL, + `fk_user_creat` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_payment_loan` +-- + +LOCK TABLES `llx_payment_loan` WRITE; +/*!40000 ALTER TABLE `llx_payment_loan` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_payment_loan` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_payment_salary` +-- + +DROP TABLE IF EXISTS `llx_payment_salary`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_payment_salary` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datec` datetime DEFAULT NULL, + `fk_user` int(11) NOT NULL, + `datep` date DEFAULT NULL, + `datev` date DEFAULT NULL, + `salary` double DEFAULT NULL, + `amount` double NOT NULL DEFAULT '0', + `fk_typepayment` int(11) NOT NULL, + `num_payment` varchar(50) DEFAULT NULL, + `label` varchar(255) DEFAULT NULL, + `datesp` date DEFAULT NULL, + `dateep` date DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `note` text, + `fk_bank` int(11) DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_payment_salary_ref` (`num_payment`), + KEY `idx_payment_salary_user` (`fk_user`,`entity`), + KEY `idx_payment_salary_datep` (`datep`), + KEY `idx_payment_salary_datesp` (`datesp`), + KEY `idx_payment_salary_dateep` (`dateep`), + CONSTRAINT `fk_payment_salary_user` FOREIGN KEY (`fk_user`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_payment_salary` +-- + +LOCK TABLES `llx_payment_salary` WRITE; +/*!40000 ALTER TABLE `llx_payment_salary` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_payment_salary` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_prelevement_bons` +-- + +DROP TABLE IF EXISTS `llx_prelevement_bons`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_prelevement_bons` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `ref` varchar(12) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `datec` datetime DEFAULT NULL, + `amount` double DEFAULT '0', + `statut` smallint(6) DEFAULT '0', + `credite` smallint(6) DEFAULT '0', + `note` text, + `date_trans` datetime DEFAULT NULL, + `method_trans` smallint(6) DEFAULT NULL, + `fk_user_trans` int(11) DEFAULT NULL, + `date_credit` datetime DEFAULT NULL, + `fk_user_credit` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_prelevement_bons_ref` (`ref`,`entity`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_prelevement_bons` +-- + +LOCK TABLES `llx_prelevement_bons` WRITE; +/*!40000 ALTER TABLE `llx_prelevement_bons` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_prelevement_bons` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_prelevement_facture` +-- + +DROP TABLE IF EXISTS `llx_prelevement_facture`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_prelevement_facture` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_facture` int(11) NOT NULL, + `fk_prelevement_lignes` int(11) NOT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_prelevement_facture_fk_prelevement_lignes` (`fk_prelevement_lignes`), + CONSTRAINT `fk_prelevement_facture_fk_prelevement_lignes` FOREIGN KEY (`fk_prelevement_lignes`) REFERENCES `llx_prelevement_lignes` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_prelevement_facture` +-- + +LOCK TABLES `llx_prelevement_facture` WRITE; +/*!40000 ALTER TABLE `llx_prelevement_facture` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_prelevement_facture` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_prelevement_facture_demande` +-- + +DROP TABLE IF EXISTS `llx_prelevement_facture_demande`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_prelevement_facture_demande` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_facture` int(11) NOT NULL, + `amount` double NOT NULL, + `date_demande` datetime NOT NULL, + `traite` smallint(6) DEFAULT '0', + `date_traite` datetime DEFAULT NULL, + `fk_prelevement_bons` int(11) DEFAULT NULL, + `fk_user_demande` int(11) NOT NULL, + `code_banque` varchar(128) DEFAULT NULL, + `code_guichet` varchar(6) DEFAULT NULL, + `number` varchar(255) DEFAULT NULL, + `cle_rib` varchar(5) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_prelevement_facture_demande` +-- + +LOCK TABLES `llx_prelevement_facture_demande` WRITE; +/*!40000 ALTER TABLE `llx_prelevement_facture_demande` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_prelevement_facture_demande` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_prelevement_lignes` +-- + +DROP TABLE IF EXISTS `llx_prelevement_lignes`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_prelevement_lignes` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_prelevement_bons` int(11) DEFAULT NULL, + `fk_soc` int(11) NOT NULL, + `statut` smallint(6) DEFAULT '0', + `client_nom` varchar(255) DEFAULT NULL, + `amount` double DEFAULT '0', + `code_banque` varchar(128) DEFAULT NULL, + `code_guichet` varchar(6) DEFAULT NULL, + `number` varchar(255) DEFAULT NULL, + `cle_rib` varchar(5) DEFAULT NULL, + `note` text, + PRIMARY KEY (`rowid`), + KEY `idx_prelevement_lignes_fk_prelevement_bons` (`fk_prelevement_bons`), + CONSTRAINT `fk_prelevement_lignes_fk_prelevement_bons` FOREIGN KEY (`fk_prelevement_bons`) REFERENCES `llx_prelevement_bons` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_prelevement_lignes` +-- + +LOCK TABLES `llx_prelevement_lignes` WRITE; +/*!40000 ALTER TABLE `llx_prelevement_lignes` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_prelevement_lignes` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_prelevement_rejet` +-- + +DROP TABLE IF EXISTS `llx_prelevement_rejet`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_prelevement_rejet` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_prelevement_lignes` int(11) DEFAULT NULL, + `date_rejet` datetime DEFAULT NULL, + `motif` int(11) DEFAULT NULL, + `date_creation` datetime DEFAULT NULL, + `fk_user_creation` int(11) DEFAULT NULL, + `note` text, + `afacturer` tinyint(4) DEFAULT '0', + `fk_facture` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_prelevement_rejet` +-- + +LOCK TABLES `llx_prelevement_rejet` WRITE; +/*!40000 ALTER TABLE `llx_prelevement_rejet` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_prelevement_rejet` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_printing` +-- + +DROP TABLE IF EXISTS `llx_printing`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_printing` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datec` datetime DEFAULT NULL, + `printer_name` text NOT NULL, + `printer_location` text NOT NULL, + `printer_id` varchar(255) NOT NULL, + `copy` int(11) NOT NULL DEFAULT '1', + `module` varchar(16) NOT NULL, + `driver` varchar(16) NOT NULL, + `userid` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_printing` +-- + +LOCK TABLES `llx_printing` WRITE; +/*!40000 ALTER TABLE `llx_printing` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_printing` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_product` +-- + +DROP TABLE IF EXISTS `llx_product`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_product` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `virtual` tinyint(4) NOT NULL DEFAULT '0', + `fk_parent` int(11) DEFAULT '0', + `ref` varchar(128) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `ref_ext` varchar(128) DEFAULT NULL, + `label` varchar(255) NOT NULL, + `description` text, + `note` text, + `customcode` varchar(32) DEFAULT NULL, + `fk_country` int(11) DEFAULT NULL, + `price` double(24,8) DEFAULT '0.00000000', + `price_ttc` double(24,8) DEFAULT '0.00000000', + `price_min` double(24,8) DEFAULT '0.00000000', + `price_min_ttc` double(24,8) DEFAULT '0.00000000', + `price_base_type` varchar(3) DEFAULT 'HT', + `tva_tx` double(6,3) DEFAULT NULL, + `recuperableonly` int(11) NOT NULL DEFAULT '0', + `localtax1_tx` double(6,3) DEFAULT '0.000', + `localtax1_type` varchar(10) NOT NULL DEFAULT '0', + `localtax2_tx` double(6,3) DEFAULT '0.000', + `localtax2_type` varchar(10) NOT NULL DEFAULT '0', + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + `tosell` tinyint(4) DEFAULT '1', + `tobuy` tinyint(4) DEFAULT '1', + `onportal` smallint(6) DEFAULT '0', + `tobatch` tinyint(4) NOT NULL DEFAULT '0', + `fk_product_type` int(11) DEFAULT '0', + `duration` varchar(6) DEFAULT NULL, + `seuil_stock_alerte` int(11) DEFAULT '0', + `url` varchar(255) DEFAULT NULL, + `barcode` varchar(255) DEFAULT NULL, + `fk_barcode_type` int(11) DEFAULT NULL, + `accountancy_code_sell` varchar(32) DEFAULT NULL, + `accountancy_code_buy` varchar(32) DEFAULT NULL, + `partnumber` varchar(32) DEFAULT NULL, + `weight` float DEFAULT NULL, + `weight_units` tinyint(4) DEFAULT NULL, + `length` float DEFAULT NULL, + `length_units` tinyint(4) DEFAULT NULL, + `surface` float DEFAULT NULL, + `surface_units` tinyint(4) DEFAULT NULL, + `volume` float DEFAULT NULL, + `volume_units` tinyint(4) DEFAULT NULL, + `stock` double DEFAULT NULL, + `pmp` double(24,8) NOT NULL DEFAULT '0.00000000', + `fifo` double(24,8) DEFAULT NULL, + `lifo` double(24,8) DEFAULT NULL, + `canvas` varchar(32) DEFAULT 'default@product', + `finished` tinyint(4) DEFAULT NULL, + `hidden` tinyint(4) DEFAULT '0', + `import_key` varchar(14) DEFAULT NULL, + `desiredstock` int(11) DEFAULT '0', + `fk_price_expression` int(11) DEFAULT NULL, + `fk_unit` int(11) DEFAULT NULL, + `cost_price` double(24,8) DEFAULT NULL, + `default_vat_code` varchar(10) DEFAULT NULL, + `price_autogen` smallint(6) DEFAULT '0', + `note_public` text, + `model_pdf` varchar(255) DEFAULT '', + `width` float DEFAULT NULL, + `width_units` tinyint(4) DEFAULT NULL, + `height` float DEFAULT NULL, + `height_units` tinyint(4) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_product_ref` (`ref`,`entity`), + UNIQUE KEY `uk_product_barcode` (`barcode`,`fk_barcode_type`,`entity`), + KEY `idx_product_label` (`label`), + KEY `idx_product_barcode` (`barcode`), + KEY `idx_product_import_key` (`import_key`), + KEY `idx_product_fk_country` (`fk_country`), + KEY `idx_product_fk_user_author` (`fk_user_author`), + KEY `idx_product_fk_barcode_type` (`fk_barcode_type`), + KEY `fk_product_fk_unit` (`fk_unit`), + KEY `idx_product_seuil_stock_alerte` (`seuil_stock_alerte`), + CONSTRAINT `fk_product_barcode_type` FOREIGN KEY (`fk_barcode_type`) REFERENCES `llx_c_barcode_type` (`rowid`), + CONSTRAINT `fk_product_fk_country` FOREIGN KEY (`fk_country`) REFERENCES `llx_c_country` (`rowid`), + CONSTRAINT `fk_product_fk_unit` FOREIGN KEY (`fk_unit`) REFERENCES `llx_c_units` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_product` +-- + +LOCK TABLES `llx_product` WRITE; +/*!40000 ALTER TABLE `llx_product` DISABLE KEYS */; +INSERT INTO `llx_product` VALUES (1,'2010-07-08 14:33:17','2016-01-16 16:30:35',0,0,'PINKDRESS',1,NULL,'Pink dress','A beatifull pink dress','','',NULL,100.00000000,112.50000000,90.00000000,101.25000000,'HT',12.500,0,0.000,'0',0.000,'0',1,NULL,1,1,0,0,0,'',NULL,NULL,'123456789066',2,'701PINKDRESS','601PINKDRESS',NULL,670,-3,NULL,0,NULL,0,NULL,0,2,0.00000000,NULL,NULL,NULL,1,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL),(2,'2010-07-09 00:30:01','2016-01-16 16:37:14',0,0,'PEARPIE',1,NULL,'Pear Pie','','','',NULL,0.00000000,0.00000000,0.00000000,0.00000000,'HT',12.500,0,0.000,'0',0.000,'0',1,NULL,1,1,0,0,0,'',NULL,NULL,'123456789077',2,'','',NULL,NULL,0,NULL,0,NULL,0,NULL,0,998,0.00000000,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL),(3,'2010-07-09 00:30:25','2016-01-16 16:40:03',0,0,'CAKECONTRIB',1,NULL,'Cake making contribution','','','',NULL,0.00000000,0.00000000,0.00000000,0.00000000,'HT',12.500,0,0.000,'0',0.000,'0',1,NULL,1,1,0,0,1,'1m',NULL,NULL,'123456789088',2,'701CAKEM','601CAKEM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,NULL,NULL,NULL,0,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL),(4,'2010-07-10 14:44:06','2016-01-16 15:58:20',0,0,'APPLEPIE',1,NULL,'Apple Pie','Nice Bio Apple Pie.
\r\n ','','',NULL,5.00000000,5.62500000,0.00000000,0.00000000,'HT',12.500,0,0.000,'0',0.000,'0',1,NULL,1,1,0,0,0,'',NULL,NULL,'123456789034',2,'701','601',NULL,500,-3,NULL,0,NULL,0,NULL,0,1001,10.00000000,NULL,NULL,NULL,1,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL),(5,'2011-07-20 23:11:38','2016-01-16 16:18:24',0,0,'DOLIDROID',1,NULL,'DoliDroid, Android app for Dolibarr','DoliDroid is the Android front-end client for Dolibarr ERP & CRM web software.
\r\nThis application is not a standalone program. It is a front end to use a online hosted Dolibarr ERP & CRM software (an Open-source web software to manage your business).
\r\n

The advantage of DoliDroid are :
\r\n- DoliDroid is not a duplicate code of Dolibarr, but a front-end of a Dolibarr web installation, so all your online existing features are supported by this application. This is also true for external modules features.
\r\n- Upgrading Dolibarr will not break DoliDroid.
\r\n- DoliDroid use embedded image resources to reduce bandwidth usage.
\r\n- DoliDroid use internal cache for pages that should not change (like menu page)
\r\n- Connections parameters are saved. No need to enter them each time you use DoliDroid.
\r\n- Integration with your phone or other applications (Clicking on PDF open PDF reader, clicking onto email or phone launch your email application or launch Android dialer, ...)

\r\n\r\n

WARNING ! 

\r\n\r\n

This application need Android 4.0+ and a hosted Dolibarr ERP & CRM version 3.5 or newer accessible by internet
\r\n(For example, when hosted on any SaaS solution like DoliCloud - http://www.dolicloud.com).

','','',NULL,10.00000000,11.96000000,0.00000000,0.00000000,'HT',19.600,0,0.000,'0',0.000,'0',1,NULL,1,1,0,0,0,'',NULL,'https://play.google.com/store/apps/details?id=com.nltechno.dolidroidpro','123456789023',2,'701','601',NULL,NULL,0,NULL,0,NULL,0,NULL,0,NULL,0.00000000,NULL,NULL,'',NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL),(10,'2008-12-31 00:00:00','2016-07-30 13:41:16',0,0,'COMP-XP4523',1,NULL,'Computer XP4523','A powerfull computer XP4523 ','This product is imported.
\r\nWarning: Delay to get it are not reliable.','USXP765',11,100.00000000,110.00000000,0.00000000,0.00000000,'HT',10.000,0,0.000,'0',0.000,'0',NULL,12,1,1,0,1,0,'',150,NULL,'123456789055',2,'701OLDC','601OLDC',NULL,1.7,0,NULL,0,NULL,0,NULL,0,110,0.00000000,NULL,NULL,NULL,NULL,0,'20110729232310',200,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL),(11,'2013-01-13 20:24:42','2016-07-30 13:42:31',0,0,'ROLLUPABC',1,NULL,'Rollup Dolibarr','A nice rollup','','',NULL,0.00000000,0.00000000,0.00000000,0.00000000,'HT',0.000,0,0.000,'0',0.000,'0',1,12,0,0,0,0,0,'',NULL,NULL,'123456789044',2,'','',NULL,2.5,0,NULL,0,2.34,0,NULL,0,-1,0.00000000,NULL,NULL,'',1,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'',NULL,NULL,NULL,NULL),(12,'2016-07-30 17:31:29','2016-07-30 13:35:02',0,0,'DOLICLOUD',1,NULL,'SaaS service of Dolibarr ERP CRM','Cloud hosting of Dolibarr ERP and CRM software','','',NULL,9.00000000,9.00000000,9.00000000,9.00000000,'HT',0.000,0,0.000,'0',0.000,'0',12,12,1,1,0,0,1,'',NULL,'http://www.dolicloud.com','123456789013',2,'','',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0.00000000,NULL,NULL,'',0,0,NULL,NULL,NULL,NULL,8.50000000,NULL,0,NULL,'',NULL,NULL,NULL,NULL); +/*!40000 ALTER TABLE `llx_product` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_product_association` +-- + +DROP TABLE IF EXISTS `llx_product_association`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_product_association` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_product_pere` int(11) NOT NULL DEFAULT '0', + `fk_product_fils` int(11) NOT NULL DEFAULT '0', + `qty` double DEFAULT NULL, + `incdec` int(11) DEFAULT '1', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_product_association` (`fk_product_pere`,`fk_product_fils`), + KEY `idx_product_association` (`fk_product_fils`), + KEY `idx_product_association_fils` (`fk_product_fils`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_product_association` +-- + +LOCK TABLES `llx_product_association` WRITE; +/*!40000 ALTER TABLE `llx_product_association` DISABLE KEYS */; +INSERT INTO `llx_product_association` VALUES (1,4,1,2,1),(2,5,1,1,1); +/*!40000 ALTER TABLE `llx_product_association` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_product_batch` +-- + +DROP TABLE IF EXISTS `llx_product_batch`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_product_batch` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_product_stock` int(11) NOT NULL, + `eatby` datetime DEFAULT NULL, + `sellby` datetime DEFAULT NULL, + `batch` varchar(30) NOT NULL, + `qty` double NOT NULL DEFAULT '0', + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_product_batch` (`fk_product_stock`,`batch`), + KEY `idx_fk_product_stock` (`fk_product_stock`), + KEY `ix_fk_product_stock` (`fk_product_stock`), + KEY `idx_batch` (`batch`), + CONSTRAINT `fk_product_batch_fk_product_stock` FOREIGN KEY (`fk_product_stock`) REFERENCES `llx_product_stock` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_product_batch` +-- + +LOCK TABLES `llx_product_batch` WRITE; +/*!40000 ALTER TABLE `llx_product_batch` DISABLE KEYS */; +INSERT INTO `llx_product_batch` VALUES (1,'2016-07-30 13:40:39',8,NULL,NULL,'5599887766452',15,NULL),(2,'2016-07-30 13:40:12',8,NULL,NULL,'4494487766452',60,NULL),(3,'2016-07-30 13:40:39',9,NULL,NULL,'5599887766452',35,NULL); +/*!40000 ALTER TABLE `llx_product_batch` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_product_customer_price` +-- + +DROP TABLE IF EXISTS `llx_product_customer_price`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_product_customer_price` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_product` int(11) NOT NULL, + `fk_soc` int(11) NOT NULL, + `price` double(24,8) DEFAULT '0.00000000', + `price_ttc` double(24,8) DEFAULT '0.00000000', + `price_min` double(24,8) DEFAULT '0.00000000', + `price_min_ttc` double(24,8) DEFAULT '0.00000000', + `price_base_type` varchar(3) DEFAULT 'HT', + `tva_tx` double(6,3) DEFAULT NULL, + `recuperableonly` int(11) NOT NULL DEFAULT '0', + `localtax1_tx` double(6,3) DEFAULT '0.000', + `localtax1_type` varchar(10) NOT NULL DEFAULT '0', + `localtax2_tx` double(6,3) DEFAULT '0.000', + `localtax2_type` varchar(10) NOT NULL DEFAULT '0', + `fk_user` int(11) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_customer_price_fk_product_fk_soc` (`fk_product`,`fk_soc`), + KEY `idx_product_customer_price_fk_user` (`fk_user`), + KEY `fk_customer_price_fk_soc` (`fk_soc`), + KEY `idx_product_customer_price_fk_soc` (`fk_soc`), + CONSTRAINT `fk_customer_price_fk_product` FOREIGN KEY (`fk_product`) REFERENCES `llx_product` (`rowid`) ON DELETE CASCADE, + CONSTRAINT `fk_customer_price_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`) ON DELETE CASCADE, + CONSTRAINT `fk_product_customer_price_fk_product` FOREIGN KEY (`fk_product`) REFERENCES `llx_product` (`rowid`), + CONSTRAINT `fk_product_customer_price_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`), + CONSTRAINT `fk_product_customer_price_fk_user` FOREIGN KEY (`fk_user`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_product_customer_price` +-- + +LOCK TABLES `llx_product_customer_price` WRITE; +/*!40000 ALTER TABLE `llx_product_customer_price` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_product_customer_price` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_product_customer_price_log` +-- + +DROP TABLE IF EXISTS `llx_product_customer_price_log`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_product_customer_price_log` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `datec` datetime DEFAULT NULL, + `fk_product` int(11) NOT NULL, + `fk_soc` int(11) NOT NULL, + `price` double(24,8) DEFAULT '0.00000000', + `price_ttc` double(24,8) DEFAULT '0.00000000', + `price_min` double(24,8) DEFAULT '0.00000000', + `price_min_ttc` double(24,8) DEFAULT '0.00000000', + `price_base_type` varchar(3) DEFAULT 'HT', + `tva_tx` double(6,3) DEFAULT NULL, + `recuperableonly` int(11) NOT NULL DEFAULT '0', + `localtax1_tx` double(6,3) DEFAULT '0.000', + `localtax1_type` varchar(10) NOT NULL DEFAULT '0', + `localtax2_tx` double(6,3) DEFAULT '0.000', + `localtax2_type` varchar(10) NOT NULL DEFAULT '0', + `fk_user` int(11) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_product_customer_price_log` +-- + +LOCK TABLES `llx_product_customer_price_log` WRITE; +/*!40000 ALTER TABLE `llx_product_customer_price_log` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_product_customer_price_log` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_product_extrafields` +-- + +DROP TABLE IF EXISTS `llx_product_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_product_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_product_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_product_extrafields` +-- + +LOCK TABLES `llx_product_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_product_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_product_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_product_fournisseur_price` +-- + +DROP TABLE IF EXISTS `llx_product_fournisseur_price`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_product_fournisseur_price` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_product` int(11) DEFAULT NULL, + `fk_soc` int(11) DEFAULT NULL, + `ref_fourn` varchar(30) DEFAULT NULL, + `fk_availability` int(11) DEFAULT NULL, + `price` double(24,8) DEFAULT '0.00000000', + `quantity` double DEFAULT NULL, + `remise_percent` double NOT NULL DEFAULT '0', + `remise` double NOT NULL DEFAULT '0', + `unitprice` double(24,8) DEFAULT '0.00000000', + `charges` double(24,8) DEFAULT '0.00000000', + `unitcharges` double(24,8) DEFAULT '0.00000000', + `tva_tx` double(6,3) NOT NULL DEFAULT '0.000', + `info_bits` int(11) NOT NULL DEFAULT '0', + `fk_user` int(11) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `fk_supplier_price_expression` int(11) DEFAULT NULL, + `fk_price_expression` int(11) DEFAULT NULL, + `delivery_time_days` int(11) DEFAULT NULL, + `supplier_reputation` varchar(10) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_product_fournisseur_price_ref` (`ref_fourn`,`fk_soc`,`quantity`,`entity`), + KEY `idx_product_fournisseur_price_fk_user` (`fk_user`), + KEY `idx_product_fourn_price_fk_product` (`fk_product`,`entity`), + KEY `idx_product_fourn_price_fk_soc` (`fk_soc`,`entity`), + CONSTRAINT `fk_product_fournisseur_price_fk_product` FOREIGN KEY (`fk_product`) REFERENCES `llx_product` (`rowid`), + CONSTRAINT `fk_product_fournisseur_price_fk_user` FOREIGN KEY (`fk_user`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_product_fournisseur_price` +-- + +LOCK TABLES `llx_product_fournisseur_price` WRITE; +/*!40000 ALTER TABLE `llx_product_fournisseur_price` DISABLE KEYS */; +INSERT INTO `llx_product_fournisseur_price` VALUES (1,'2010-07-11 18:45:42','2012-12-08 13:11:08',4,1,'ABCD',NULL,10.00000000,1,0,0,10.00000000,0.00000000,0.00000000,0.000,0,1,NULL,1,NULL,NULL,NULL,NULL),(2,'2016-07-30 17:34:38','2016-07-30 13:34:38',12,10,'BASIC',0,9.00000000,1,0,0,9.00000000,0.00000000,0.00000000,0.000,0,12,NULL,1,NULL,NULL,NULL,'FAVORITE'); +/*!40000 ALTER TABLE `llx_product_fournisseur_price` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_product_fournisseur_price_log` +-- + +DROP TABLE IF EXISTS `llx_product_fournisseur_price_log`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_product_fournisseur_price_log` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `datec` datetime DEFAULT NULL, + `fk_product_fournisseur` int(11) NOT NULL, + `price` double(24,8) DEFAULT '0.00000000', + `quantity` double DEFAULT NULL, + `fk_user` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_product_fournisseur_price_log` +-- + +LOCK TABLES `llx_product_fournisseur_price_log` WRITE; +/*!40000 ALTER TABLE `llx_product_fournisseur_price_log` DISABLE KEYS */; +INSERT INTO `llx_product_fournisseur_price_log` VALUES (1,'2010-07-11 18:45:42',1,10.00000000,1,1); +/*!40000 ALTER TABLE `llx_product_fournisseur_price_log` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_product_lang` +-- + +DROP TABLE IF EXISTS `llx_product_lang`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_product_lang` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_product` int(11) NOT NULL DEFAULT '0', + `lang` varchar(5) NOT NULL DEFAULT '0', + `label` varchar(255) NOT NULL, + `description` text, + `note` text, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_product_lang` (`fk_product`,`lang`), + CONSTRAINT `fk_product_lang_fk_product` FOREIGN KEY (`fk_product`) REFERENCES `llx_product` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_product_lang` +-- + +LOCK TABLES `llx_product_lang` WRITE; +/*!40000 ALTER TABLE `llx_product_lang` DISABLE KEYS */; +INSERT INTO `llx_product_lang` VALUES (1,1,'en_US','Pink dress','A beatifull pink dress','',NULL),(2,2,'en_US','Pear Pie','','',NULL),(3,3,'en_US','Cake making contribution','','',NULL),(4,4,'fr_FR','Decapsuleur','','',NULL),(5,5,'en_US','DoliDroid, Android app for Dolibarr','DoliDroid is the Android front-end client for Dolibarr ERP & CRM web software.
\r\nThis application is not a standalone program. It is a front end to use a online hosted Dolibarr ERP & CRM software (an Open-source web software to manage your business).
\r\n

The advantage of DoliDroid are :
\r\n- DoliDroid is not a duplicate code of Dolibarr, but a front-end of a Dolibarr web installation, so all your online existing features are supported by this application. This is also true for external modules features.
\r\n- Upgrading Dolibarr will not break DoliDroid.
\r\n- DoliDroid use embedded image resources to reduce bandwidth usage.
\r\n- DoliDroid use internal cache for pages that should not change (like menu page)
\r\n- Connections parameters are saved. No need to enter them each time you use DoliDroid.
\r\n- Integration with your phone or other applications (Clicking on PDF open PDF reader, clicking onto email or phone launch your email application or launch Android dialer, ...)

\r\n\r\n

WARNING ! 

\r\n\r\n

This application need Android 4.0+ and a hosted Dolibarr ERP & CRM version 3.5 or newer accessible by internet
\r\n(For example, when hosted on any SaaS solution like DoliCloud - http://www.dolicloud.com).

','',NULL),(9,11,'fr_FR','hfghf','','',NULL),(10,2,'fr_FR','Product P1','','',NULL),(11,4,'en_US','Apple Pie','Nice Bio Apple Pie.
\r\n ','',NULL),(12,11,'en_US','Rollup Dolibarr','A nice rollup','',NULL),(13,10,'en_US','Computer XP4523','A powerfull computer XP4523 ','This product is imported.
\r\nWarning: Delay to get it are not reliable.',NULL),(14,12,'en_US','SaaS hosting of Dolibarr ERP CRM','Cloud hosting of Dolibarr ERP and CRM software','',NULL),(15,12,'fr_FR','Service SaaS Hébergement Dolibarr ERP CRM','Service SaaS d'hébergement de la solution Dolibarr ERP CRM','',NULL); +/*!40000 ALTER TABLE `llx_product_lang` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_product_lot` +-- + +DROP TABLE IF EXISTS `llx_product_lot`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_product_lot` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) DEFAULT NULL, + `fk_product` int(11) NOT NULL, + `batch` varchar(30) DEFAULT NULL, + `eatby` date DEFAULT NULL, + `sellby` date DEFAULT NULL, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_user_creat` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + `import_key` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_product_lot` (`fk_product`,`batch`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_product_lot` +-- + +LOCK TABLES `llx_product_lot` WRITE; +/*!40000 ALTER TABLE `llx_product_lot` DISABLE KEYS */; +INSERT INTO `llx_product_lot` VALUES (1,NULL,2,'123456','2016-07-07',NULL,'2016-07-21 20:55:19','2016-07-21 16:55:19',NULL,NULL,NULL),(2,NULL,2,'2222','2016-07-08','2016-07-07','2016-07-21 21:00:42','2016-07-21 17:00:42',NULL,NULL,NULL),(3,NULL,10,'5599887766452',NULL,NULL,'2016-07-30 17:39:31','2016-07-30 13:39:31',NULL,NULL,NULL),(4,NULL,10,'4494487766452',NULL,NULL,'2016-07-30 17:40:12','2016-07-30 13:40:12',NULL,NULL,NULL); +/*!40000 ALTER TABLE `llx_product_lot` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_product_price` +-- + +DROP TABLE IF EXISTS `llx_product_price`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_product_price` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_product` int(11) NOT NULL, + `date_price` datetime NOT NULL, + `price_level` smallint(6) DEFAULT '1', + `price` double(24,8) DEFAULT NULL, + `price_ttc` double(24,8) DEFAULT NULL, + `price_min` double(24,8) DEFAULT NULL, + `price_min_ttc` double(24,8) DEFAULT NULL, + `price_base_type` varchar(3) DEFAULT 'HT', + `tva_tx` double(6,3) NOT NULL, + `recuperableonly` int(11) NOT NULL DEFAULT '0', + `localtax1_tx` double(6,3) DEFAULT '0.000', + `localtax1_type` varchar(10) NOT NULL DEFAULT '0', + `localtax2_tx` double(6,3) DEFAULT '0.000', + `localtax2_type` varchar(10) NOT NULL DEFAULT '0', + `fk_user_author` int(11) DEFAULT NULL, + `tosell` tinyint(4) DEFAULT '1', + `price_by_qty` int(11) NOT NULL DEFAULT '0', + `import_key` varchar(14) DEFAULT NULL, + `fk_price_expression` int(11) DEFAULT NULL, + `fk_multicurrency` int(11) DEFAULT NULL, + `multicurrency_code` varchar(255) DEFAULT NULL, + `multicurrency_price` double(24,8) DEFAULT '0.00000000', + PRIMARY KEY (`rowid`), + KEY `idx_product_price_fk_user_author` (`fk_user_author`), + KEY `idx_product_price_fk_product` (`fk_product`), + CONSTRAINT `fk_product_price_product` FOREIGN KEY (`fk_product`) REFERENCES `llx_product` (`rowid`), + CONSTRAINT `fk_product_price_user_author` FOREIGN KEY (`fk_user_author`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_product_price` +-- + +LOCK TABLES `llx_product_price` WRITE; +/*!40000 ALTER TABLE `llx_product_price` DISABLE KEYS */; +INSERT INTO `llx_product_price` VALUES (1,1,'2010-07-08 12:33:17',1,'2010-07-08 14:33:17',1,0.00000000,0.00000000,0.00000000,0.00000000,'HT',12.500,0,0.000,'0',0.000,'0',1,1,0,NULL,NULL,NULL,NULL,0.00000000),(2,1,'2010-07-08 22:30:01',2,'2010-07-09 00:30:01',1,0.00000000,0.00000000,0.00000000,0.00000000,'HT',12.500,0,0.000,'0',0.000,'0',1,1,0,NULL,NULL,NULL,NULL,0.00000000),(3,1,'2010-07-08 22:30:25',3,'2010-07-09 00:30:25',1,0.00000000,0.00000000,0.00000000,0.00000000,'HT',12.500,0,0.000,'0',0.000,'0',1,1,0,NULL,NULL,NULL,NULL,0.00000000),(4,1,'2010-07-10 12:44:06',4,'2010-07-10 14:44:06',1,0.00000000,0.00000000,0.00000000,0.00000000,'HT',12.500,0,0.000,'0',0.000,'0',1,1,0,NULL,NULL,NULL,NULL,0.00000000),(5,1,'2011-07-20 21:11:38',5,'2011-07-20 23:11:38',1,0.00000000,0.00000000,0.00000000,0.00000000,'HT',19.600,0,0.000,'0',0.000,'0',1,1,0,NULL,NULL,NULL,NULL,0.00000000),(6,1,'2011-07-27 17:02:59',5,'2011-07-27 19:02:59',1,10.00000000,11.96000000,0.00000000,0.00000000,'HT',19.600,0,0.000,'0',0.000,'0',1,1,0,NULL,NULL,NULL,NULL,0.00000000),(10,1,'2011-07-31 22:34:27',4,'2011-08-01 00:34:27',1,5.00000000,5.62500000,0.00000000,0.00000000,'HT',12.500,0,0.000,'0',0.000,'0',1,1,0,NULL,NULL,NULL,NULL,0.00000000),(12,1,'2013-01-13 19:24:59',11,'2013-01-13 20:24:59',1,0.00000000,0.00000000,0.00000000,0.00000000,'HT',0.000,0,0.000,'0',0.000,'0',1,1,0,NULL,NULL,NULL,NULL,0.00000000),(13,1,'2013-03-12 09:30:24',1,'2013-03-12 10:30:24',1,100.00000000,112.50000000,90.00000000,101.25000000,'HT',12.500,0,0.000,'0',0.000,'0',1,1,0,NULL,NULL,NULL,NULL,0.00000000),(14,1,'2016-07-30 13:31:29',12,'2016-07-30 17:31:29',1,9.00000000,9.00000000,9.00000000,9.00000000,'HT',0.000,0,0.000,'0',0.000,'0',12,1,0,NULL,NULL,NULL,NULL,0.00000000); +/*!40000 ALTER TABLE `llx_product_price` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_product_price_by_qty` +-- + +DROP TABLE IF EXISTS `llx_product_price_by_qty`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_product_price_by_qty` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_product_price` int(11) NOT NULL, + `date_price` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `price` double(24,8) DEFAULT '0.00000000', + `price_ttc` double(24,8) DEFAULT '0.00000000', + `remise_percent` double NOT NULL DEFAULT '0', + `remise` double NOT NULL DEFAULT '0', + `qty_min` double DEFAULT '0', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_product_price_by_qty_level` (`fk_product_price`,`qty_min`), + KEY `idx_product_price_by_qty_fk_product_price` (`fk_product_price`), + CONSTRAINT `fk_product_price_by_qty_fk_product_price` FOREIGN KEY (`fk_product_price`) REFERENCES `llx_product_price` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_product_price_by_qty` +-- + +LOCK TABLES `llx_product_price_by_qty` WRITE; +/*!40000 ALTER TABLE `llx_product_price_by_qty` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_product_price_by_qty` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_product_pricerules` +-- + +DROP TABLE IF EXISTS `llx_product_pricerules`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_product_pricerules` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `level` int(11) NOT NULL, + `fk_level` int(11) NOT NULL, + `var_percent` float NOT NULL, + `var_min_percent` float NOT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `unique_level` (`level`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_product_pricerules` +-- + +LOCK TABLES `llx_product_pricerules` WRITE; +/*!40000 ALTER TABLE `llx_product_pricerules` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_product_pricerules` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_product_stock` +-- + +DROP TABLE IF EXISTS `llx_product_stock`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_product_stock` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_product` int(11) NOT NULL, + `fk_entrepot` int(11) NOT NULL, + `reel` double DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_product_stock` (`fk_product`,`fk_entrepot`), + KEY `idx_product_stock_fk_product` (`fk_product`), + KEY `idx_product_stock_fk_entrepot` (`fk_entrepot`) +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_product_stock` +-- + +LOCK TABLES `llx_product_stock` WRITE; +/*!40000 ALTER TABLE `llx_product_stock` DISABLE KEYS */; +INSERT INTO `llx_product_stock` VALUES (1,'2010-07-08 22:43:51',2,2,1000,NULL),(3,'2010-07-10 23:02:20',4,2,1000,NULL),(4,'2013-01-19 17:22:48',4,1,1,NULL),(5,'2013-01-19 17:22:48',1,1,2,NULL),(6,'2013-01-19 17:22:48',11,1,-1,NULL),(7,'2013-01-19 17:31:58',2,1,-2,NULL),(8,'2016-07-30 13:40:39',10,2,75,NULL),(9,'2016-07-30 13:40:39',10,1,35,NULL); +/*!40000 ALTER TABLE `llx_product_stock` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_product_subproduct` +-- + +DROP TABLE IF EXISTS `llx_product_subproduct`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_product_subproduct` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_product` int(11) NOT NULL, + `fk_product_subproduct` int(11) NOT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `fk_product` (`fk_product`,`fk_product_subproduct`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_product_subproduct` +-- + +LOCK TABLES `llx_product_subproduct` WRITE; +/*!40000 ALTER TABLE `llx_product_subproduct` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_product_subproduct` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_projet` +-- + +DROP TABLE IF EXISTS `llx_projet`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_projet` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_soc` int(11) DEFAULT NULL, + `datec` date DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `dateo` date DEFAULT NULL, + `datee` date DEFAULT NULL, + `ref` varchar(50) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `title` varchar(255) NOT NULL, + `description` text, + `fk_user_creat` int(11) NOT NULL, + `public` int(11) DEFAULT NULL, + `fk_statut` smallint(6) NOT NULL DEFAULT '0', + `fk_opp_status` int(11) DEFAULT NULL, + `opp_percent` double(5,2) DEFAULT NULL, + `note_private` text, + `note_public` text, + `model_pdf` varchar(255) DEFAULT NULL, + `budget_amount` double(24,8) DEFAULT NULL, + `date_close` datetime DEFAULT NULL, + `fk_user_close` int(11) DEFAULT NULL, + `opp_amount` double(24,8) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_projet_ref` (`ref`,`entity`), + KEY `idx_projet_fk_soc` (`fk_soc`), + CONSTRAINT `fk_projet_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_projet` +-- + +LOCK TABLES `llx_projet` WRITE; +/*!40000 ALTER TABLE `llx_projet` DISABLE KEYS */; +INSERT INTO `llx_projet` VALUES (1,11,'2010-07-09','2015-10-05 20:51:28','2010-07-09',NULL,'PROJ1',1,'Project One','',1,0,1,NULL,NULL,NULL,'gdfgdfg','baleine',NULL,NULL,NULL,NULL),(2,13,'2010-07-09','2015-10-05 20:51:51','2010-07-09',NULL,'PROJ2',1,'Project Two','',1,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(3,1,'2010-07-09','2016-01-16 15:09:29','2010-07-09',NULL,'PROJINDIAN',1,'Project for Indian company move','',1,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(4,NULL,'2010-07-09','2010-07-08 22:50:49','2010-07-09',NULL,'PROJSHARED',1,'The Global project','',1,1,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(5,NULL,'2010-07-11','2010-07-11 14:22:49','2010-07-11','2011-07-14','RMLL',1,'Projet gestion RMLL 2011','',1,1,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(6,10,'2016-07-30','2016-07-30 15:53:07','2016-07-30',NULL,'PJ1607-0001',1,'PROJALICE1','The Alice project number 1',12,0,1,2,20.00,NULL,NULL,NULL,5000.00000000,NULL,NULL,8000.00000000),(7,10,'2016-07-30','2016-07-30 15:53:14','2016-07-30',NULL,'PJ1607-0002',1,'PROJALICE2','The Alice project number 2',12,0,1,4,60.00,NULL,NULL,NULL,NULL,NULL,NULL,7000.00000000),(8,10,'2016-07-30','2016-07-30 15:53:23','2016-07-30',NULL,'PJ1607-0003',1,'PROJALICE2','The Alice project number 3',12,0,1,6,100.00,NULL,NULL,NULL,NULL,NULL,NULL,3550.00000000); +/*!40000 ALTER TABLE `llx_projet` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_projet_extrafields` +-- + +DROP TABLE IF EXISTS `llx_projet_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_projet_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + `priority` text, + PRIMARY KEY (`rowid`), + KEY `idx_projet_extrafields` (`fk_object`) +) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_projet_extrafields` +-- + +LOCK TABLES `llx_projet_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_projet_extrafields` DISABLE KEYS */; +INSERT INTO `llx_projet_extrafields` VALUES (5,'2016-07-30 15:53:07',6,NULL,'3'),(6,'2016-07-30 15:53:14',7,NULL,'1'),(7,'2016-07-30 15:53:23',8,NULL,'5'); +/*!40000 ALTER TABLE `llx_projet_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_projet_task` +-- + +DROP TABLE IF EXISTS `llx_projet_task`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_projet_task` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `ref` varchar(50) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `fk_projet` int(11) NOT NULL, + `fk_task_parent` int(11) NOT NULL DEFAULT '0', + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `dateo` datetime DEFAULT NULL, + `datee` datetime DEFAULT NULL, + `datev` datetime DEFAULT NULL, + `label` varchar(255) NOT NULL, + `description` text, + `duration_effective` double DEFAULT '0', + `planned_workload` double DEFAULT '0', + `progress` int(11) DEFAULT '0', + `priority` int(11) DEFAULT '0', + `fk_user_creat` int(11) DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `fk_statut` smallint(6) NOT NULL DEFAULT '0', + `note_private` text, + `note_public` text, + `rang` int(11) DEFAULT '0', + `model_pdf` varchar(255) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_projet_task_fk_projet` (`fk_projet`), + KEY `idx_projet_task_fk_user_creat` (`fk_user_creat`), + KEY `idx_projet_task_fk_user_valid` (`fk_user_valid`), + CONSTRAINT `fk_projet_task_fk_projet` FOREIGN KEY (`fk_projet`) REFERENCES `llx_projet` (`rowid`), + CONSTRAINT `fk_projet_task_fk_user_creat` FOREIGN KEY (`fk_user_creat`) REFERENCES `llx_user` (`rowid`), + CONSTRAINT `fk_projet_task_fk_user_valid` FOREIGN KEY (`fk_user_valid`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_projet_task` +-- + +LOCK TABLES `llx_projet_task` WRITE; +/*!40000 ALTER TABLE `llx_projet_task` DISABLE KEYS */; +INSERT INTO `llx_projet_task` VALUES (2,'2',1,5,0,'2010-07-11 16:23:53','2013-09-08 23:06:14','2010-07-11 12:00:00','2011-07-14 12:00:00',NULL,'Heberger site RMLL','',0,0,0,0,1,NULL,0,NULL,NULL,0,NULL),(3,'TK1007-0001',1,1,0,'2014-12-21 13:52:41','2016-07-30 11:35:40','2014-12-21 16:52:00',NULL,NULL,'Analyze','',9000,36000,0,0,1,NULL,0,NULL,'gdfgdfgdf',0,NULL),(4,'TK1007-0002',1,1,0,'2014-12-21 13:55:39','2016-07-30 11:35:51','2014-12-21 16:55:00',NULL,NULL,'Specification','',7200,18000,25,0,1,NULL,0,NULL,NULL,0,NULL),(5,'TK1007-0003',1,1,0,'2014-12-21 14:16:58','2016-07-30 11:35:59','2014-12-21 17:16:00',NULL,NULL,'Development','',0,0,0,0,1,NULL,0,NULL,NULL,0,NULL),(6,'TK1607-0004',1,6,0,'2016-07-30 15:33:27','2016-07-30 11:34:47','2016-07-30 02:00:00',NULL,NULL,'Project preparation phase A','',75600,720000,10,0,12,NULL,0,NULL,NULL,0,NULL),(7,'TK1607-0005',1,6,0,'2016-07-30 15:33:39','2016-07-30 11:34:47','2016-07-30 02:00:00',NULL,NULL,'Project preparation phase B','',39600,1080000,5,0,12,NULL,0,NULL,NULL,0,NULL),(8,'TK1607-0006',1,6,0,'2016-07-30 15:33:53','2016-07-30 11:33:53','2016-07-30 02:00:00',NULL,NULL,'Project execution phase A','',0,162000,0,0,12,NULL,0,NULL,NULL,0,NULL),(9,'TK1607-0007',1,6,0,'2016-07-30 15:34:09','2016-07-30 11:34:09','2016-10-27 02:00:00',NULL,NULL,'Project execution phase B','',0,2160000,0,0,12,NULL,0,NULL,NULL,0,NULL),(10,'TK1007-0008',1,1,0,'2016-07-30 15:36:31','2016-07-30 11:36:31','2016-07-30 02:00:00',NULL,NULL,'Tests','',0,316800,0,0,12,NULL,0,NULL,NULL,0,NULL); +/*!40000 ALTER TABLE `llx_projet_task` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_projet_task_extrafields` +-- + +DROP TABLE IF EXISTS `llx_projet_task_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_projet_task_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_projet_task_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_projet_task_extrafields` +-- + +LOCK TABLES `llx_projet_task_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_projet_task_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_projet_task_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_projet_task_time` +-- + +DROP TABLE IF EXISTS `llx_projet_task_time`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_projet_task_time` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_task` int(11) NOT NULL, + `task_date` date DEFAULT NULL, + `task_datehour` datetime DEFAULT NULL, + `task_date_withhour` int(11) DEFAULT '0', + `task_duration` double DEFAULT NULL, + `fk_user` int(11) DEFAULT NULL, + `thm` double(24,8) DEFAULT NULL, + `note` text, + `invoice_id` int(11) DEFAULT NULL, + `invoice_line_id` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_projet_task_time_task` (`fk_task`), + KEY `idx_projet_task_time_date` (`task_date`), + KEY `idx_projet_task_time_datehour` (`task_datehour`) +) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_projet_task_time` +-- + +LOCK TABLES `llx_projet_task_time` WRITE; +/*!40000 ALTER TABLE `llx_projet_task_time` DISABLE KEYS */; +INSERT INTO `llx_projet_task_time` VALUES (2,4,'2014-12-21','2014-12-21 12:00:00',0,3600,1,NULL,'',NULL,NULL),(3,4,'2014-12-18','2014-12-18 12:00:00',0,3600,1,NULL,NULL,NULL,NULL),(4,3,'2014-12-21','2014-12-21 12:00:00',0,3600,1,NULL,NULL,NULL,NULL),(5,3,'2014-12-21','2014-12-21 12:00:00',0,1800,1,NULL,NULL,NULL,NULL),(6,3,'2014-12-21','2014-12-21 12:00:00',0,3600,1,NULL,NULL,NULL,NULL),(7,6,'2016-07-25','2016-07-25 00:00:00',0,18000,12,NULL,NULL,NULL,NULL),(8,6,'2016-07-26','2016-07-25 00:00:00',0,14400,12,NULL,NULL,NULL,NULL),(9,6,'2016-07-27','2016-07-25 00:00:00',0,14400,12,NULL,NULL,NULL,NULL),(10,6,'2016-07-29','2016-07-25 00:00:00',0,14400,12,NULL,NULL,NULL,NULL),(11,6,'2016-07-31','2016-07-25 00:00:00',0,14400,12,NULL,NULL,NULL,NULL),(12,7,'2016-07-25','2016-07-25 00:00:00',0,10800,12,NULL,NULL,NULL,NULL),(13,7,'2016-07-26','2016-07-25 00:00:00',0,14400,12,NULL,NULL,NULL,NULL),(14,7,'2016-07-27','2016-07-25 00:00:00',0,14400,12,NULL,NULL,NULL,NULL); +/*!40000 ALTER TABLE `llx_projet_task_time` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_propal` +-- + +DROP TABLE IF EXISTS `llx_propal`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_propal` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_soc` int(11) DEFAULT NULL, + `fk_projet` int(11) DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `ref` varchar(30) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `ref_ext` varchar(255) DEFAULT NULL, + `ref_int` varchar(255) DEFAULT NULL, + `ref_client` varchar(255) DEFAULT NULL, + `datec` datetime DEFAULT NULL, + `datep` date DEFAULT NULL, + `fin_validite` datetime DEFAULT NULL, + `date_valid` datetime DEFAULT NULL, + `date_cloture` datetime DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `fk_user_cloture` int(11) DEFAULT NULL, + `fk_statut` smallint(6) NOT NULL DEFAULT '0', + `price` double DEFAULT '0', + `remise_percent` double DEFAULT '0', + `remise_absolue` double DEFAULT '0', + `remise` double DEFAULT '0', + `total_ht` double(24,8) DEFAULT '0.00000000', + `tva` double(24,8) DEFAULT '0.00000000', + `localtax1` double(24,8) DEFAULT '0.00000000', + `localtax2` double(24,8) DEFAULT '0.00000000', + `total` double(24,8) DEFAULT '0.00000000', + `fk_account` int(11) DEFAULT NULL, + `fk_currency` varchar(3) DEFAULT NULL, + `fk_cond_reglement` int(11) DEFAULT NULL, + `fk_mode_reglement` int(11) DEFAULT NULL, + `note_private` text, + `note_public` text, + `model_pdf` varchar(255) DEFAULT NULL, + `date_livraison` date DEFAULT NULL, + `fk_shipping_method` int(11) DEFAULT NULL, + `fk_availability` int(11) DEFAULT NULL, + `fk_delivery_address` int(11) DEFAULT NULL, + `fk_input_reason` int(11) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + `extraparams` varchar(255) DEFAULT NULL, + `fk_incoterms` int(11) DEFAULT NULL, + `location_incoterms` varchar(255) DEFAULT NULL, + `fk_multicurrency` int(11) DEFAULT NULL, + `multicurrency_code` varchar(255) DEFAULT NULL, + `multicurrency_tx` double(24,8) DEFAULT '1.00000000', + `multicurrency_total_ht` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_tva` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_ttc` double(24,8) DEFAULT '0.00000000', + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_propal_ref` (`ref`,`entity`), + KEY `idx_propal_fk_soc` (`fk_soc`), + KEY `idx_propal_fk_user_author` (`fk_user_author`), + KEY `idx_propal_fk_user_valid` (`fk_user_valid`), + KEY `idx_propal_fk_user_cloture` (`fk_user_cloture`), + KEY `idx_propal_fk_projet` (`fk_projet`), + KEY `idx_propal_fk_account` (`fk_account`), + KEY `idx_propal_fk_currency` (`fk_currency`), + CONSTRAINT `fk_propal_fk_projet` FOREIGN KEY (`fk_projet`) REFERENCES `llx_projet` (`rowid`), + CONSTRAINT `fk_propal_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`), + CONSTRAINT `fk_propal_fk_user_author` FOREIGN KEY (`fk_user_author`) REFERENCES `llx_user` (`rowid`), + CONSTRAINT `fk_propal_fk_user_cloture` FOREIGN KEY (`fk_user_cloture`) REFERENCES `llx_user` (`rowid`), + CONSTRAINT `fk_propal_fk_user_valid` FOREIGN KEY (`fk_user_valid`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_propal` +-- + +LOCK TABLES `llx_propal` WRITE; +/*!40000 ALTER TABLE `llx_propal` DISABLE KEYS */; +INSERT INTO `llx_propal` VALUES (1,2,NULL,'2016-07-30 15:56:45','PR1007-0001',1,NULL,NULL,'','2010-07-09 01:33:49','2016-07-09','2016-07-24 12:00:00','2017-08-08 14:24:18',NULL,1,NULL,1,NULL,1,0,NULL,NULL,0,30.00000000,3.84000000,0.00000000,0.00000000,33.84000000,NULL,NULL,1,0,'','','azur',NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(2,1,NULL,'2016-07-30 15:56:54','PR1007-0002',1,NULL,NULL,'','2010-07-10 02:11:44','2016-07-10','2016-07-25 12:00:00','2016-07-10 02:12:55','2017-07-20 15:23:12',1,NULL,1,1,2,0,NULL,NULL,0,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,NULL,NULL,1,1,'','','azur',NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(3,4,NULL,'2016-07-30 15:56:54','PR1007-0003',1,NULL,NULL,'','2010-07-18 11:35:11','2016-07-18','2016-08-02 12:00:00','2016-07-18 11:36:18','2017-07-20 15:21:15',1,NULL,1,1,2,0,NULL,NULL,0,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,NULL,NULL,1,0,'','','azur',NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(5,19,NULL,'2016-07-30 15:56:54','PR1302-0005',1,NULL,NULL,'','2013-02-17 15:39:56','2016-02-17','2016-03-04 12:00:00','2018-11-15 23:27:10',NULL,1,NULL,12,NULL,1,0,NULL,NULL,0,10.00000000,2.00000000,0.00000000,0.00000000,12.00000000,NULL,NULL,1,0,'','','azur',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(6,19,NULL,'2016-07-30 15:56:54','PR1302-0006',1,NULL,NULL,'','2013-02-17 15:40:12','2016-02-17','2016-03-04 12:00:00',NULL,NULL,1,NULL,NULL,NULL,0,0,NULL,NULL,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,1,0,'','','azur',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(7,19,NULL,'2016-07-30 15:13:20','PR1302-0007',1,NULL,NULL,'','2013-02-17 15:41:15','2016-02-17','2016-03-04 12:00:00',NULL,NULL,1,NULL,NULL,NULL,0,0,NULL,NULL,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,1,0,'','','azur',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(8,19,NULL,'2016-07-30 15:56:39','PR1302-0008',1,NULL,NULL,'','2013-02-17 15:43:39','2016-02-17','2016-03-04 12:00:00',NULL,NULL,1,NULL,NULL,NULL,0,0,NULL,NULL,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,1,0,'','','azur',NULL,NULL,0,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000),(10,7,NULL,'2016-07-30 15:57:25','(PROV10)',1,NULL,NULL,'','2015-11-15 23:37:08','2015-11-15','2016-11-30 12:00:00',NULL,NULL,12,NULL,NULL,NULL,0,0,NULL,NULL,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,1,3,'','','azur',NULL,NULL,0,NULL,0,NULL,NULL,0,'',NULL,NULL,1.00000000,0.00000000,0.00000000,0.00000000); +/*!40000 ALTER TABLE `llx_propal` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_propal_extrafields` +-- + +DROP TABLE IF EXISTS `llx_propal_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_propal_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_propal_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_propal_extrafields` +-- + +LOCK TABLES `llx_propal_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_propal_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_propal_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_propal_merge_pdf_product` +-- + +DROP TABLE IF EXISTS `llx_propal_merge_pdf_product`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_propal_merge_pdf_product` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_product` int(11) NOT NULL, + `file_name` varchar(200) NOT NULL, + `lang` varchar(5) DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_mod` int(11) NOT NULL, + `datec` datetime NOT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_propal_merge_pdf_product` +-- + +LOCK TABLES `llx_propal_merge_pdf_product` WRITE; +/*!40000 ALTER TABLE `llx_propal_merge_pdf_product` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_propal_merge_pdf_product` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_propaldet` +-- + +DROP TABLE IF EXISTS `llx_propaldet`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_propaldet` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_propal` int(11) DEFAULT NULL, + `fk_parent_line` int(11) DEFAULT NULL, + `fk_product` int(11) DEFAULT NULL, + `label` varchar(255) DEFAULT NULL, + `description` text, + `fk_remise_except` int(11) DEFAULT NULL, + `tva_tx` double(6,3) DEFAULT '0.000', + `localtax1_tx` double(6,3) DEFAULT '0.000', + `localtax1_type` varchar(10) NOT NULL DEFAULT '0', + `localtax2_tx` double(6,3) DEFAULT '0.000', + `localtax2_type` varchar(10) NOT NULL DEFAULT '0', + `qty` double DEFAULT NULL, + `remise_percent` double DEFAULT '0', + `remise` double DEFAULT '0', + `price` double DEFAULT NULL, + `subprice` double(24,8) DEFAULT '0.00000000', + `total_ht` double(24,8) DEFAULT '0.00000000', + `total_tva` double(24,8) DEFAULT '0.00000000', + `total_localtax1` double(24,8) DEFAULT '0.00000000', + `total_localtax2` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) DEFAULT '0.00000000', + `product_type` int(11) DEFAULT '0', + `date_start` datetime DEFAULT NULL, + `date_end` datetime DEFAULT NULL, + `info_bits` int(11) DEFAULT '0', + `fk_product_fournisseur_price` int(11) DEFAULT NULL, + `buy_price_ht` double(24,8) DEFAULT '0.00000000', + `special_code` int(10) unsigned DEFAULT '0', + `rang` int(11) DEFAULT '0', + `fk_unit` int(11) DEFAULT NULL, + `fk_multicurrency` int(11) DEFAULT NULL, + `multicurrency_code` varchar(255) DEFAULT NULL, + `multicurrency_subprice` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_ht` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_tva` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_ttc` double(24,8) DEFAULT '0.00000000', + PRIMARY KEY (`rowid`), + KEY `idx_propaldet_fk_propal` (`fk_propal`), + KEY `idx_propaldet_fk_product` (`fk_product`), + KEY `fk_propaldet_fk_unit` (`fk_unit`), + CONSTRAINT `fk_propaldet_fk_propal` FOREIGN KEY (`fk_propal`) REFERENCES `llx_propal` (`rowid`), + CONSTRAINT `fk_propaldet_fk_unit` FOREIGN KEY (`fk_unit`) REFERENCES `llx_c_units` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_propaldet` +-- + +LOCK TABLES `llx_propaldet` WRITE; +/*!40000 ALTER TABLE `llx_propaldet` DISABLE KEYS */; +INSERT INTO `llx_propaldet` VALUES (1,1,NULL,NULL,NULL,'Une machine à café',NULL,12.500,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,1.25000000,0.00000000,0.00000000,11.25000000,0,NULL,NULL,0,NULL,0.00000000,0,1,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(2,2,NULL,NULL,NULL,'Product 1',NULL,0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,1,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(3,2,NULL,2,NULL,'',NULL,0.000,0.000,'',0.000,'',1,0,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,NULL,NULL,0,NULL,0.00000000,0,2,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(4,3,NULL,NULL,NULL,'A new marvelous product',NULL,0.000,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,0.00000000,0.00000000,0.00000000,10.00000000,0,NULL,NULL,0,NULL,0.00000000,0,1,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(5,1,NULL,5,NULL,'cccc',NULL,19.600,0.000,'',0.000,'',1,0,0,NULL,10.00000000,10.00000000,1.96000000,0.00000000,0.00000000,11.96000000,0,NULL,NULL,0,NULL,0.00000000,0,2,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(11,1,NULL,4,NULL,'',NULL,0.000,0.000,'',0.000,'',1,0,0,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,NULL,NULL,0,NULL,0.00000000,0,3,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(12,1,NULL,4,NULL,'',NULL,0.000,0.000,'',0.000,'',1,0,0,NULL,5.00000000,5.00000000,0.00000000,0.00000000,0.00000000,5.00000000,0,NULL,NULL,0,NULL,0.00000000,0,4,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(13,1,NULL,4,NULL,'',NULL,12.500,0.000,'',0.000,'',1,0,0,NULL,5.00000000,5.00000000,0.63000000,0.00000000,0.00000000,5.63000000,0,NULL,NULL,0,NULL,0.00000000,0,5,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000),(24,5,NULL,NULL,NULL,'On demand Apple pie',NULL,20.000,0.000,'0',0.000,'0',1,0,0,NULL,10.00000000,10.00000000,2.00000000,0.00000000,0.00000000,12.00000000,0,NULL,NULL,0,NULL,0.00000000,0,1,NULL,NULL,NULL,0.00000000,0.00000000,0.00000000,0.00000000); +/*!40000 ALTER TABLE `llx_propaldet` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_propaldet_extrafields` +-- + +DROP TABLE IF EXISTS `llx_propaldet_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_propaldet_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_propaldet_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_propaldet_extrafields` +-- + +LOCK TABLES `llx_propaldet_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_propaldet_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_propaldet_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_resource` +-- + +DROP TABLE IF EXISTS `llx_resource`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_resource` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `ref` varchar(255) DEFAULT NULL, + `asset_number` varchar(255) DEFAULT NULL, + `description` text, + `fk_code_type_resource` varchar(32) DEFAULT NULL, + `note_public` text, + `note_private` text, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datec` datetime DEFAULT NULL, + `date_valid` datetime DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `fk_statut` smallint(6) NOT NULL DEFAULT '0', + `import_key` varchar(14) DEFAULT NULL, + `extraparams` varchar(255) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `fk_code_type_resource_idx` (`fk_code_type_resource`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_resource` +-- + +LOCK TABLES `llx_resource` WRITE; +/*!40000 ALTER TABLE `llx_resource` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_resource` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_rights_def` +-- + +DROP TABLE IF EXISTS `llx_rights_def`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_rights_def` ( + `id` int(11) NOT NULL DEFAULT '0', + `libelle` varchar(255) DEFAULT NULL, + `module` varchar(64) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `perms` varchar(50) DEFAULT NULL, + `subperms` varchar(50) DEFAULT NULL, + `type` varchar(1) DEFAULT NULL, + `bydefault` tinyint(4) DEFAULT '0', + PRIMARY KEY (`id`,`entity`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_rights_def` +-- + +LOCK TABLES `llx_rights_def` WRITE; +/*!40000 ALTER TABLE `llx_rights_def` DISABLE KEYS */; +INSERT INTO `llx_rights_def` VALUES (11,'Lire les factures','facture',1,'lire',NULL,'a',1),(11,'Lire les factures','facture',2,'lire',NULL,'a',1),(12,'Creer/modifier les factures','facture',1,'creer',NULL,'a',0),(12,'Creer/modifier les factures','facture',2,'creer',NULL,'a',0),(13,'Dévalider les factures','facture',1,'invoice_advance','unvalidate','a',0),(13,'Dévalider les factures','facture',2,'invoice_advance','unvalidate','a',0),(14,'Valider les factures','facture',1,'invoice_advance','validate','a',0),(14,'Valider les factures','facture',2,'valider',NULL,'a',0),(15,'Envoyer les factures par mail','facture',1,'invoice_advance','send','a',0),(15,'Envoyer les factures par mail','facture',2,'invoice_advance','send','a',0),(16,'Emettre des paiements sur les factures','facture',1,'paiement',NULL,'a',0),(16,'Emettre des paiements sur les factures','facture',2,'paiement',NULL,'a',0),(19,'Supprimer les factures','facture',1,'supprimer',NULL,'a',0),(19,'Supprimer les factures','facture',2,'supprimer',NULL,'a',0),(21,'Lire les propositions commerciales','propale',1,'lire',NULL,'r',1),(21,'Lire les propositions commerciales','propale',2,'lire',NULL,'r',1),(22,'Creer/modifier les propositions commerciales','propale',1,'creer',NULL,'w',0),(22,'Creer/modifier les propositions commerciales','propale',2,'creer',NULL,'w',0),(24,'Valider les propositions commerciales','propale',1,'propal_advance','validate','d',0),(24,'Valider les propositions commerciales','propale',2,'valider',NULL,'d',0),(25,'Envoyer les propositions commerciales aux clients','propale',1,'propal_advance','send','d',0),(25,'Envoyer les propositions commerciales aux clients','propale',2,'propal_advance','send','d',0),(26,'Cloturer les propositions commerciales','propale',1,'cloturer',NULL,'d',0),(26,'Cloturer les propositions commerciales','propale',2,'cloturer',NULL,'d',0),(27,'Supprimer les propositions commerciales','propale',1,'supprimer',NULL,'d',0),(27,'Supprimer les propositions commerciales','propale',2,'supprimer',NULL,'d',0),(28,'Exporter les propositions commerciales et attributs','propale',1,'export',NULL,'r',0),(28,'Exporter les propositions commerciales et attributs','propale',2,'export',NULL,'r',0),(31,'Lire les produits','produit',1,'lire',NULL,'r',1),(31,'Lire les produits','produit',2,'lire',NULL,'r',1),(32,'Creer/modifier les produits','produit',1,'creer',NULL,'w',0),(32,'Creer/modifier les produits','produit',2,'creer',NULL,'w',0),(34,'Supprimer les produits','produit',1,'supprimer',NULL,'d',0),(34,'Supprimer les produits','produit',2,'supprimer',NULL,'d',0),(38,'Exporter les produits','produit',1,'export',NULL,'r',0),(38,'Exporter les produits','produit',2,'export',NULL,'r',0),(41,'Read projects and tasks (shared projects or projects I am contact for). Can also enter time consumed on assigned tasks (timesheet)','projet',1,'lire',NULL,'r',1),(42,'Create/modify projects and tasks (shared projects or projects I am contact for)','projet',1,'creer',NULL,'w',0),(44,'Delete project and tasks (shared projects or projects I am contact for)','projet',1,'supprimer',NULL,'d',0),(45,'Export projects','projet',1,'export',NULL,'d',0),(61,'Lire les fiches d\'intervention','ficheinter',1,'lire',NULL,'r',1),(62,'Creer/modifier les fiches d\'intervention','ficheinter',1,'creer',NULL,'w',0),(64,'Supprimer les fiches d\'intervention','ficheinter',1,'supprimer',NULL,'d',0),(67,'Exporter les fiches interventions','ficheinter',1,'export',NULL,'r',0),(68,'Envoyer les fiches d\'intervention par courriel','ficheinter',1,'ficheinter_advance','send','r',0),(71,'Read members\' card','adherent',1,'lire',NULL,'r',1),(72,'Create/modify members (need also user module permissions if member linked to a user)','adherent',1,'creer',NULL,'w',0),(74,'Remove members','adherent',1,'supprimer',NULL,'d',0),(75,'Setup types of membership','adherent',1,'configurer',NULL,'w',0),(76,'Export members','adherent',1,'export',NULL,'r',0),(78,'Read subscriptions','adherent',1,'cotisation','lire','r',1),(79,'Create/modify/remove subscriptions','adherent',1,'cotisation','creer','w',0),(81,'Lire les commandes clients','commande',1,'lire',NULL,'r',1),(82,'Creer/modifier les commandes clients','commande',1,'creer',NULL,'w',0),(84,'Valider les commandes clients','commande',1,'order_advance','validate','d',0),(86,'Envoyer les commandes clients','commande',1,'order_advance','send','d',0),(87,'Cloturer les commandes clients','commande',1,'cloturer',NULL,'d',0),(88,'Annuler les commandes clients','commande',1,'order_advance','annuler','d',0),(89,'Supprimer les commandes clients','commande',1,'supprimer',NULL,'d',0),(91,'Lire les charges','tax',1,'charges','lire','r',1),(91,'Lire les charges','tax',2,'charges','lire','r',1),(92,'Creer/modifier les charges','tax',1,'charges','creer','w',0),(92,'Creer/modifier les charges','tax',2,'charges','creer','w',0),(93,'Supprimer les charges','tax',1,'charges','supprimer','d',0),(93,'Supprimer les charges','tax',2,'charges','supprimer','d',0),(94,'Exporter les charges','tax',1,'charges','export','r',0),(94,'Exporter les charges','tax',2,'charges','export','r',0),(95,'Lire CA, bilans, resultats','compta',1,'resultat','lire','r',1),(101,'Lire les expeditions','expedition',1,'lire',NULL,'r',1),(102,'Creer modifier les expeditions','expedition',1,'creer',NULL,'w',0),(104,'Valider les expeditions','expedition',1,'shipping_advance','validate','d',0),(105,'Envoyer les expeditions aux clients','expedition',1,'shipping_advance','send','d',0),(106,'Exporter les expeditions','expedition',1,'shipment','export','r',0),(109,'Supprimer les expeditions','expedition',1,'supprimer',NULL,'d',0),(111,'Lire les comptes bancaires','banque',1,'lire',NULL,'r',1),(111,'Lire les comptes bancaires','banque',2,'lire',NULL,'r',1),(112,'Creer/modifier montant/supprimer ecriture bancaire','banque',1,'modifier',NULL,'w',0),(112,'Creer/modifier montant/supprimer ecriture bancaire','banque',2,'modifier',NULL,'w',0),(113,'Configurer les comptes bancaires (creer, gerer categories)','banque',1,'configurer',NULL,'a',0),(113,'Configurer les comptes bancaires (creer, gerer categories)','banque',2,'configurer',NULL,'a',0),(114,'Rapprocher les ecritures bancaires','banque',1,'consolidate',NULL,'w',0),(114,'Rapprocher les ecritures bancaires','banque',2,'consolidate',NULL,'w',0),(115,'Exporter transactions et releves','banque',1,'export',NULL,'r',0),(115,'Exporter transactions et releves','banque',2,'export',NULL,'r',0),(116,'Virements entre comptes','banque',1,'transfer',NULL,'w',0),(116,'Virements entre comptes','banque',2,'transfer',NULL,'w',0),(117,'Gerer les envois de cheques','banque',1,'cheque',NULL,'w',0),(117,'Gerer les envois de cheques','banque',2,'cheque',NULL,'w',0),(121,'Lire les societes','societe',1,'lire',NULL,'r',1),(121,'Lire les societes','societe',2,'lire',NULL,'r',1),(122,'Creer modifier les societes','societe',1,'creer',NULL,'w',0),(122,'Creer modifier les societes','societe',2,'creer',NULL,'w',0),(125,'Supprimer les societes','societe',1,'supprimer',NULL,'d',0),(125,'Supprimer les societes','societe',2,'supprimer',NULL,'d',0),(126,'Exporter les societes','societe',1,'export',NULL,'r',0),(126,'Exporter les societes','societe',2,'export',NULL,'r',0),(141,'Read all projects and tasks (also private projects I am not contact for)','projet',1,'all','lire','r',0),(142,'Create/modify all projects and tasks (also private projects I am not contact for)','projet',1,'all','creer','w',0),(144,'Delete all projects and tasks (also private projects I am not contact for)','projet',1,'all','supprimer','d',0),(151,'Read withdrawals','prelevement',1,'bons','lire','r',1),(152,'Create/modify a withdrawals','prelevement',1,'bons','creer','w',0),(153,'Send withdrawals to bank','prelevement',1,'bons','send','a',0),(154,'credit/refuse withdrawals','prelevement',1,'bons','credit','a',0),(161,'Lire les contrats','contrat',1,'lire',NULL,'r',1),(162,'Creer / modifier les contrats','contrat',1,'creer',NULL,'w',0),(163,'Activer un service d\'un contrat','contrat',1,'activer',NULL,'w',0),(164,'Desactiver un service d\'un contrat','contrat',1,'desactiver',NULL,'w',0),(165,'Supprimer un contrat','contrat',1,'supprimer',NULL,'d',0),(167,'Export contracts','contrat',1,'export',NULL,'r',0),(221,'Consulter les mailings','mailing',1,'lire',NULL,'r',1),(221,'Consulter les mailings','mailing',2,'lire',NULL,'r',1),(222,'Creer/modifier les mailings (sujet, destinataires...)','mailing',1,'creer',NULL,'w',0),(222,'Creer/modifier les mailings (sujet, destinataires...)','mailing',2,'creer',NULL,'w',0),(223,'Valider les mailings (permet leur envoi)','mailing',1,'valider',NULL,'w',0),(223,'Valider les mailings (permet leur envoi)','mailing',2,'valider',NULL,'w',0),(229,'Supprimer les mailings','mailing',1,'supprimer',NULL,'d',0),(229,'Supprimer les mailings','mailing',2,'supprimer',NULL,'d',0),(237,'View recipients and info','mailing',1,'mailing_advance','recipient','r',0),(237,'View recipients and info','mailing',2,'mailing_advance','recipient','r',0),(238,'Manually send mailings','mailing',1,'mailing_advance','send','w',0),(238,'Manually send mailings','mailing',2,'mailing_advance','send','w',0),(239,'Delete mailings after validation and/or sent','mailing',1,'mailing_advance','delete','d',0),(239,'Delete mailings after validation and/or sent','mailing',2,'mailing_advance','delete','d',0),(241,'Lire les categories','categorie',1,'lire',NULL,'r',1),(242,'Creer/modifier les categories','categorie',1,'creer',NULL,'w',0),(243,'Supprimer les categories','categorie',1,'supprimer',NULL,'d',0),(251,'Consulter les autres utilisateurs','user',1,'user','lire','r',0),(252,'Consulter les permissions des autres utilisateurs','user',1,'user_advance','readperms','r',0),(253,'Creer/modifier utilisateurs internes et externes','user',1,'user','creer','w',0),(254,'Creer/modifier utilisateurs externes seulement','user',1,'user_advance','write','w',0),(255,'Modifier le mot de passe des autres utilisateurs','user',1,'user','password','w',0),(256,'Supprimer ou desactiver les autres utilisateurs','user',1,'user','supprimer','d',0),(262,'Consulter tous les tiers par utilisateurs internes (sinon uniquement si contact commercial). Non effectif pour utilisateurs externes (tjs limités à eux-meme).','societe',1,'client','voir','r',1),(262,'Consulter tous les tiers par utilisateurs internes (sinon uniquement si contact commercial). Non effectif pour utilisateurs externes (tjs limités à eux-meme).','societe',2,'client','voir','r',1),(281,'Lire les contacts','societe',1,'contact','lire','r',1),(281,'Lire les contacts','societe',2,'contact','lire','r',1),(282,'Creer modifier les contacts','societe',1,'contact','creer','w',0),(282,'Creer modifier les contacts','societe',2,'contact','creer','w',0),(283,'Supprimer les contacts','societe',1,'contact','supprimer','d',0),(283,'Supprimer les contacts','societe',2,'contact','supprimer','d',0),(286,'Exporter les contacts','societe',1,'contact','export','d',0),(286,'Exporter les contacts','societe',2,'contact','export','d',0),(300,'Read barcodes','barcode',1,'lire_advance',NULL,'r',1),(301,'Create/modify barcodes','barcode',1,'creer_advance',NULL,'w',0),(331,'Lire les bookmarks','bookmark',1,'lire',NULL,'r',1),(332,'Creer/modifier les bookmarks','bookmark',1,'creer',NULL,'r',1),(333,'Supprimer les bookmarks','bookmark',1,'supprimer',NULL,'r',1),(341,'Consulter ses propres permissions','user',1,'self_advance','readperms','r',1),(342,'Creer/modifier ses propres infos utilisateur','user',1,'self','creer','w',1),(343,'Modifier son propre mot de passe','user',1,'self','password','w',1),(344,'Modifier ses propres permissions','user',1,'self_advance','writeperms','w',1),(351,'Consulter les groupes','user',1,'group_advance','read','r',0),(352,'Consulter les permissions des groupes','user',1,'group_advance','readperms','r',0),(353,'Creer/modifier les groupes et leurs permissions','user',1,'group_advance','write','w',0),(354,'Supprimer ou desactiver les groupes','user',1,'group_advance','delete','d',0),(358,'Exporter les utilisateurs','user',1,'user','export','r',0),(510,'Read salaries','salaries',1,'read',NULL,'r',0),(512,'Create/modify salaries','salaries',1,'write',NULL,'w',0),(514,'Delete salaries','salaries',1,'delete',NULL,'d',0),(517,'Export salaries','salaries',1,'export',NULL,'r',0),(531,'Lire les services','service',1,'lire',NULL,'r',1),(532,'Creer/modifier les services','service',1,'creer',NULL,'w',0),(534,'Supprimer les services','service',1,'supprimer',NULL,'d',0),(538,'Exporter les services','service',1,'export',NULL,'r',0),(701,'Lire les dons','don',1,'lire',NULL,'r',1),(701,'Lire les dons','don',2,'lire',NULL,'r',1),(702,'Creer/modifier les dons','don',1,'creer',NULL,'w',0),(702,'Creer/modifier les dons','don',2,'creer',NULL,'w',0),(703,'Supprimer les dons','don',1,'supprimer',NULL,'d',0),(703,'Supprimer les dons','don',2,'supprimer',NULL,'d',0),(771,'Read expense reports (yours and your subordinates)','expensereport',1,'lire',NULL,'r',1),(772,'Create/modify expense reports','expensereport',1,'creer',NULL,'w',0),(773,'Delete expense reports','expensereport',1,'supprimer',NULL,'d',0),(774,'Read all expense reports','expensereport',1,'readall',NULL,'r',1),(775,'Approve expense reports','expensereport',1,'approve',NULL,'w',0),(776,'Pay expense reports','expensereport',1,'to_paid',NULL,'w',0),(779,'Export expense reports','expensereport',1,'export',NULL,'r',0),(1001,'Lire les stocks','stock',1,'lire',NULL,'r',1),(1002,'Creer/Modifier les stocks','stock',1,'creer',NULL,'w',0),(1003,'Supprimer les stocks','stock',1,'supprimer',NULL,'d',0),(1004,'Lire mouvements de stocks','stock',1,'mouvement','lire','r',1),(1005,'Creer/modifier mouvements de stocks','stock',1,'mouvement','creer','w',0),(1101,'Lire les bons de livraison','expedition',1,'livraison','lire','r',1),(1102,'Creer modifier les bons de livraison','expedition',1,'livraison','creer','w',0),(1104,'Valider les bons de livraison','expedition',1,'livraison_advance','validate','d',0),(1109,'Supprimer les bons de livraison','expedition',1,'livraison','supprimer','d',0),(1121,'Read supplier proposals','supplier_proposal',1,'lire',NULL,'w',1),(1122,'Create/modify supplier proposals','supplier_proposal',1,'creer',NULL,'w',1),(1123,'Validate supplier proposals','supplier_proposal',1,'validate_advance',NULL,'w',0),(1124,'Envoyer les demandes fournisseurs','supplier_proposal',1,'send_advance',NULL,'w',0),(1125,'Delete supplier proposals','supplier_proposal',1,'supprimer',NULL,'w',0),(1126,'Close supplier price requests','supplier_proposal',1,'cloturer',NULL,'w',0),(1181,'Consulter les fournisseurs','fournisseur',1,'lire',NULL,'r',1),(1182,'Consulter les commandes fournisseur','fournisseur',1,'commande','lire','r',1),(1183,'Creer une commande fournisseur','fournisseur',1,'commande','creer','w',0),(1184,'Valider une commande fournisseur','fournisseur',1,'supplier_order_advance','validate','w',0),(1185,'Approuver une commande fournisseur','fournisseur',1,'commande','approuver','w',0),(1186,'Commander une commande fournisseur','fournisseur',1,'commande','commander','w',0),(1187,'Receptionner une commande fournisseur','fournisseur',1,'commande','receptionner','d',0),(1188,'Supprimer une commande fournisseur','fournisseur',1,'commande','supprimer','d',0),(1189,'Check/Uncheck a supplier order reception','fournisseur',1,'commande_advance','check','w',0),(1201,'Lire les exports','export',1,'lire',NULL,'r',1),(1202,'Creer/modifier un export','export',1,'creer',NULL,'w',0),(1231,'Consulter les factures fournisseur','fournisseur',1,'facture','lire','r',1),(1232,'Creer une facture fournisseur','fournisseur',1,'facture','creer','w',0),(1233,'Valider une facture fournisseur','fournisseur',1,'supplier_invoice_advance','validate','w',0),(1234,'Supprimer une facture fournisseur','fournisseur',1,'facture','supprimer','d',0),(1235,'Envoyer les factures par mail','fournisseur',1,'supplier_invoice_advance','send','a',0),(1236,'Exporter les factures fournisseurs, attributs et reglements','fournisseur',1,'facture','export','r',0),(1237,'Exporter les commande fournisseurs, attributs','fournisseur',1,'commande','export','r',0),(1251,'Run mass imports of external data (data load)','import',1,'run',NULL,'r',0),(1321,'Exporter les factures clients, attributs et reglements','facture',1,'facture','export','r',0),(1321,'Exporter les factures clients, attributs et reglements','facture',2,'facture','export','r',0),(1421,'Exporter les commandes clients et attributs','commande',1,'commande','export','r',0),(2401,'Read actions/tasks linked to his account','agenda',1,'myactions','read','r',1),(2401,'Read actions/tasks linked to his account','agenda',2,'myactions','read','r',1),(2402,'Create/modify actions/tasks linked to his account','agenda',1,'myactions','create','w',0),(2402,'Create/modify actions/tasks linked to his account','agenda',2,'myactions','create','w',0),(2403,'Delete actions/tasks linked to his account','agenda',1,'myactions','delete','w',0),(2403,'Delete actions/tasks linked to his account','agenda',2,'myactions','delete','w',0),(2411,'Read actions/tasks of others','agenda',1,'allactions','read','r',0),(2411,'Read actions/tasks of others','agenda',2,'allactions','read','r',0),(2412,'Create/modify actions/tasks of others','agenda',1,'allactions','create','w',0),(2412,'Create/modify actions/tasks of others','agenda',2,'allactions','create','w',0),(2413,'Delete actions/tasks of others','agenda',1,'allactions','delete','w',0),(2413,'Delete actions/tasks of others','agenda',2,'allactions','delete','w',0),(2414,'Export actions/tasks of others','agenda',1,'export',NULL,'w',0),(2501,'Consulter/Télécharger les documents','ecm',1,'read',NULL,'r',1),(2503,'Soumettre ou supprimer des documents','ecm',1,'upload',NULL,'w',1),(2515,'Administrer les rubriques de documents','ecm',1,'setup',NULL,'w',1),(20001,'Read your own holidays','holiday',1,'read',NULL,'w',1),(20001,'Créer / Modifier / Lire ses demandes de congés payés','holiday',2,'write',NULL,'w',1),(20002,'Create/modify your own holidays','holiday',1,'write',NULL,'w',1),(20002,'Lire / Modifier toutes les demandes de congés payés','holiday',2,'lire_tous',NULL,'w',0),(20003,'Delete holidays','holiday',1,'delete',NULL,'w',0),(20003,'Supprimer des demandes de congés payés','holiday',2,'delete',NULL,'w',0),(20004,'Read holidays for everybody','holiday',1,'read_all',NULL,'w',0),(20004,'Définir les congés payés des utilisateurs','holiday',2,'define_holiday',NULL,'w',0),(20005,'Create/modify holidays for everybody','holiday',1,'write_all',NULL,'w',0),(20005,'Voir les logs de modification des congés payés','holiday',2,'view_log',NULL,'w',0),(20006,'Setup holidays of users (setup and update balance)','holiday',1,'define_holiday',NULL,'w',0),(20006,'Accéder au rapport mensuel des congés payés','holiday',2,'month_report',NULL,'w',0),(23001,'Read cron jobs','cron',1,'read',NULL,'w',1),(23002,'Create cron Jobs','cron',1,'create',NULL,'w',0),(23003,'Delete cron Jobs','cron',1,'delete',NULL,'w',0),(23004,'Execute cron Jobs','cron',1,'execute',NULL,'w',0),(50101,'Use point of sale','cashdesk',1,'use',NULL,'a',1),(55001,'Read surveys','opensurvey',1,'read',NULL,'r',0),(55002,'Create/modify surveys','opensurvey',1,'write',NULL,'w',0),(59001,'Visualiser les marges','margins',1,'liretous',NULL,'r',1),(59002,'Définir les marges','margins',1,'creer',NULL,'w',0),(59003,'Read every user margin','margins',1,'read','all','r',0),(63001,'Read resources','resource',1,'read',NULL,'w',0),(63002,'Create/Modify resources','resource',1,'write',NULL,'w',0),(63003,'Delete resources','resource',1,'delete',NULL,'w',0),(63004,'Link resources','resource',1,'link',NULL,'w',0),(101250,'Read surveys','opensurvey',2,'survey','read','r',0),(101251,'Create/modify surveys','opensurvey',2,'survey','write','w',0),(400051,'Use POS','pos',2,'frontend',NULL,'a',1),(400052,'Use Backend','pos',2,'backend',NULL,'a',1),(400053,'Make Transfers','pos',2,'transfer',NULL,'a',1),(400055,'Stats','pos',2,'stats',NULL,'a',1); +/*!40000 ALTER TABLE `llx_rights_def` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_societe` +-- + +DROP TABLE IF EXISTS `llx_societe`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_societe` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `statut` tinyint(4) DEFAULT '0', + `parent` int(11) DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datec` datetime DEFAULT NULL, + `nom` varchar(128) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `ref_ext` varchar(128) DEFAULT NULL, + `ref_int` varchar(60) DEFAULT NULL, + `code_client` varchar(24) DEFAULT NULL, + `code_fournisseur` varchar(24) DEFAULT NULL, + `code_compta` varchar(24) DEFAULT NULL, + `code_compta_fournisseur` varchar(24) DEFAULT NULL, + `address` varchar(255) DEFAULT NULL, + `zip` varchar(25) DEFAULT NULL, + `town` varchar(50) DEFAULT NULL, + `fk_departement` int(11) DEFAULT '0', + `fk_pays` int(11) DEFAULT '0', + `phone` varchar(20) DEFAULT NULL, + `fax` varchar(20) DEFAULT NULL, + `url` varchar(255) DEFAULT NULL, + `email` varchar(128) DEFAULT NULL, + `skype` varchar(255) DEFAULT NULL, + `fk_effectif` int(11) DEFAULT '0', + `fk_typent` int(11) DEFAULT '0', + `fk_forme_juridique` int(11) DEFAULT '0', + `fk_currency` varchar(3) DEFAULT NULL, + `siren` varchar(128) DEFAULT NULL, + `siret` varchar(128) DEFAULT NULL, + `ape` varchar(128) DEFAULT NULL, + `idprof4` varchar(128) DEFAULT NULL, + `tva_intra` varchar(20) DEFAULT NULL, + `capital` double DEFAULT NULL, + `fk_stcomm` int(11) NOT NULL, + `note_private` text, + `note_public` text, + `prefix_comm` varchar(5) DEFAULT NULL, + `client` tinyint(4) DEFAULT '0', + `fournisseur` tinyint(4) DEFAULT '0', + `supplier_account` varchar(32) DEFAULT NULL, + `fk_prospectlevel` varchar(12) DEFAULT NULL, + `customer_bad` tinyint(4) DEFAULT '0', + `customer_rate` double DEFAULT '0', + `supplier_rate` double DEFAULT '0', + `fk_user_creat` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + `remise_client` double DEFAULT '0', + `mode_reglement` tinyint(4) DEFAULT NULL, + `cond_reglement` tinyint(4) DEFAULT NULL, + `mode_reglement_supplier` int(11) DEFAULT NULL, + `outstanding_limit` double(24,8) DEFAULT NULL, + `cond_reglement_supplier` int(11) DEFAULT NULL, + `fk_shipping_method` int(11) DEFAULT NULL, + `tva_assuj` tinyint(4) DEFAULT '1', + `localtax1_assuj` tinyint(4) DEFAULT '0', + `localtax1_value` double(6,3) DEFAULT NULL, + `localtax2_assuj` tinyint(4) DEFAULT '0', + `localtax2_value` double(6,3) DEFAULT NULL, + `barcode` varchar(255) DEFAULT NULL, + `price_level` int(11) DEFAULT NULL, + `default_lang` varchar(6) DEFAULT NULL, + `canvas` varchar(32) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + `status` tinyint(4) DEFAULT '1', + `logo` varchar(255) DEFAULT NULL, + `idprof5` varchar(128) DEFAULT NULL, + `idprof6` varchar(128) DEFAULT NULL, + `fk_barcode_type` int(11) DEFAULT '0', + `webservices_url` varchar(255) DEFAULT NULL, + `webservices_key` varchar(128) DEFAULT NULL, + `name_alias` varchar(128) DEFAULT NULL, + `fk_incoterms` int(11) DEFAULT NULL, + `location_incoterms` varchar(255) DEFAULT NULL, + `model_pdf` varchar(255) DEFAULT NULL, + `fk_multicurrency` int(11) DEFAULT NULL, + `multicurrency_code` varchar(255) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_societe_prefix_comm` (`prefix_comm`,`entity`), + UNIQUE KEY `uk_societe_code_client` (`code_client`,`entity`), + UNIQUE KEY `uk_societe_barcode` (`barcode`,`fk_barcode_type`,`entity`), + UNIQUE KEY `uk_societe_code_fournisseur` (`code_fournisseur`,`entity`), + KEY `idx_societe_user_creat` (`fk_user_creat`), + KEY `idx_societe_user_modif` (`fk_user_modif`), + KEY `idx_societe_barcode` (`barcode`) +) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_societe` +-- + +LOCK TABLES `llx_societe` WRITE; +/*!40000 ALTER TABLE `llx_societe` DISABLE KEYS */; +INSERT INTO `llx_societe` VALUES (1,0,NULL,'2016-01-16 15:21:09','2010-07-08 14:21:44','Indian SAS',1,NULL,NULL,'CU1212-0007','SU1212-0005','7050','6050','1 alalah road',NULL,'Delhi',0,117,NULL,NULL,NULL,NULL,NULL,NULL,4,NULL,'0','','','','','',5000,1,NULL,NULL,NULL,1,1,NULL,NULL,0,0,0,1,12,0,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,0.000,NULL,0.000,NULL,NULL,'en_IN',NULL,NULL,1,'indiancompany.png','','',0,NULL,NULL,'',0,NULL,NULL,NULL,NULL),(2,0,NULL,'2016-07-30 11:45:49','2010-07-08 14:23:48','Teclib',1,NULL,NULL,'CU1108-0001','SU1108-0001','411CU11080001','401SU11080001','',NULL,'Paris',0,1,NULL,NULL,'www.teclib.com',NULL,NULL,4,3,57,'0','123456789','','ACE14','','',400000,0,NULL,NULL,NULL,3,1,NULL,'',0,0,0,1,12,0,NULL,NULL,NULL,NULL,NULL,NULL,1,0,0.000,NULL,0.000,NULL,NULL,'fr_FR',NULL,NULL,1,'teclibcompany.png','','',0,NULL,NULL,'',0,NULL,NULL,0,''),(3,0,NULL,'2016-01-16 15:28:17','2010-07-08 22:42:12','Spanish Comp',1,NULL,NULL,'SPANISHCOMP','SU1601-0009',NULL,NULL,'1 via mallere',NULL,'Madrid',123,4,NULL,NULL,NULL,NULL,NULL,3,4,408,'0','','','','','',10000,0,NULL,NULL,NULL,3,1,NULL,NULL,0,0,0,1,12,0,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,0.000,NULL,0.000,NULL,NULL,'es_AR',NULL,NULL,1,'spanishcompany.png','','',0,NULL,NULL,'',0,NULL,NULL,NULL,NULL),(4,0,NULL,'2016-01-22 17:24:53','2010-07-08 22:48:18','Prospector Vaalen',1,NULL,NULL,'CU1303-0014',NULL,NULL,NULL,'',NULL,'Bruxelles',103,2,NULL,NULL,NULL,NULL,NULL,3,4,201,'0','12345678','','','','',0,0,NULL,NULL,NULL,3,0,NULL,'PL_LOW',0,0,0,1,12,0,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,0.000,NULL,0.000,NULL,NULL,NULL,NULL,NULL,1,'valeencompany.png','','',0,NULL,NULL,'',0,NULL,NULL,NULL,NULL),(5,0,NULL,'2016-01-16 15:31:29','2010-07-08 23:22:57','NoCountry',1,NULL,NULL,NULL,NULL,NULL,NULL,'',NULL,NULL,0,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'0','','','','','',0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,0,0,1,12,0,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,0.000,NULL,0.000,NULL,NULL,NULL,NULL,NULL,1,'nocountrycomp.png','','',0,NULL,NULL,'',0,NULL,NULL,NULL,NULL),(6,0,NULL,'2016-01-16 15:35:56','2010-07-09 00:15:09','Swiss Touch',1,NULL,NULL,'CU1601-0018','SU1601-0010',NULL,NULL,'',NULL,'Genevia',0,6,NULL,NULL,NULL,'swisstouch@example.ch',NULL,2,2,601,'0','','','','','',56000,0,NULL,NULL,NULL,3,1,NULL,NULL,0,0,0,1,12,0,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,0.000,NULL,0.000,NULL,NULL,NULL,NULL,NULL,1,'swisstouch.png','','',0,NULL,NULL,'',0,NULL,NULL,NULL,NULL),(7,0,NULL,'2016-01-16 15:38:32','2010-07-09 01:24:26','Generic customer',1,NULL,NULL,'CU1302-0011',NULL,NULL,NULL,'',NULL,NULL,0,7,NULL,NULL,NULL,'ttt@ttt.com',NULL,NULL,8,NULL,'0','','','','','',0,0,'Generic customer to use for Point Of Sale module.
',NULL,NULL,1,0,NULL,NULL,0,0,0,1,12,0,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,0.000,NULL,0.000,NULL,NULL,NULL,NULL,NULL,1,'genericcustomer.png','','',0,NULL,NULL,'',0,NULL,NULL,NULL,NULL),(10,0,NULL,'2016-01-16 15:44:20','2010-07-10 15:13:08','NLTechno',1,NULL,NULL,'CU1212-0005','SU1601-0011',NULL,NULL,'',NULL,NULL,0,1,NULL,NULL,NULL,'notanemail@nltechno.com',NULL,1,4,54,'0','493861496','49386149600039','6209Z','22-01-2007','FR123456789',10000,0,NULL,NULL,NULL,1,1,NULL,NULL,0,0,0,1,12,0,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,0.000,NULL,0.000,'123456789012',NULL,'fr_FR',NULL,NULL,1,'logo_nltechno_94x100.png','','',0,NULL,NULL,'The OpenSource company',0,NULL,NULL,NULL,NULL),(11,0,NULL,'2016-01-22 17:11:20','2010-07-10 18:35:57','Company Corp 1',1,NULL,NULL,'CU1510-0017',NULL,'7051',NULL,'',NULL,NULL,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'0','','','','','',0,0,NULL,NULL,NULL,3,0,NULL,'PL_LOW',0,0,0,1,12,0,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,0.000,NULL,0.000,NULL,NULL,NULL,NULL,NULL,1,'comapnycorp1company.png','','',0,NULL,NULL,'',0,NULL,NULL,NULL,NULL),(12,0,NULL,'2016-01-22 16:41:56','2010-07-11 16:18:08','Dupont Alain',1,NULL,NULL,'CU1601-0019',NULL,NULL,NULL,'',NULL,NULL,0,1,NULL,NULL,NULL,'dalain@example.com',NULL,NULL,0,NULL,'0','','','','','',0,0,NULL,NULL,NULL,1,0,NULL,NULL,0,0,0,1,12,0,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,0.000,NULL,0.000,NULL,NULL,NULL,NULL,NULL,1,'pierrecurie.jpg','','',0,NULL,NULL,'',0,NULL,NULL,NULL,NULL),(13,0,NULL,'2016-01-22 17:13:16','2010-07-11 17:13:20','Company Corp 2',1,NULL,NULL,NULL,'SU1510-0008',NULL,NULL,'',NULL,NULL,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'0','','','','','',0,0,NULL,NULL,NULL,0,1,NULL,NULL,0,0,0,1,12,0,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,0.000,NULL,0.000,NULL,NULL,NULL,NULL,NULL,1,'companycorp2company.png','','',0,NULL,NULL,'',0,NULL,NULL,NULL,NULL),(17,0,NULL,'2016-01-22 17:13:46','2011-08-01 02:41:26','Book Keeping Company',1,NULL,NULL,'CU1108-0004','SU1108-0004',NULL,NULL,'The French Company',NULL,NULL,0,1,NULL,NULL,NULL,NULL,NULL,1,3,NULL,'0','','','','','',0,0,NULL,NULL,NULL,3,1,NULL,NULL,0,0,0,1,12,0,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,0.000,NULL,0.000,NULL,NULL,NULL,NULL,NULL,1,'bookkeepercompany.png','','',0,NULL,NULL,'',0,NULL,NULL,NULL,NULL),(19,0,NULL,'2016-01-22 17:18:08','2013-01-12 12:23:05','Magic Food Store',1,NULL,NULL,'CU1301-0008',NULL,NULL,NULL,'65 holdywood boulevard','123456','BigTown',0,4,NULL,'0101',NULL,'myemail@domain.com',NULL,NULL,0,NULL,'0','','','10/10/2010','','',0,0,NULL,NULL,NULL,1,0,NULL,NULL,0,0,0,1,12,0,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,0.000,NULL,0.000,NULL,NULL,'en_US','patient@cabinetmed',NULL,1,'magicfoodstore.png','','',0,NULL,NULL,'',0,NULL,NULL,NULL,NULL),(25,0,NULL,'2016-01-22 17:21:17','2013-03-10 15:47:37','Print Company',1,NULL,NULL,'CU1303-0016','SU1303-0007',NULL,NULL,'21 Gutenberg street','45600','Berlin',0,5,NULL,NULL,NULL,'printcompany@example.com',NULL,NULL,0,NULL,'0','','','','','',0,0,NULL,NULL,NULL,0,1,NULL,NULL,0,0,0,1,12,0,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,0.000,NULL,0.000,NULL,NULL,'de_DE',NULL,NULL,1,'printcompany.png','','',0,NULL,NULL,'',0,NULL,NULL,NULL,NULL); +/*!40000 ALTER TABLE `llx_societe` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_societe_address` +-- + +DROP TABLE IF EXISTS `llx_societe_address`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_societe_address` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `label` varchar(30) DEFAULT NULL, + `fk_soc` int(11) DEFAULT '0', + `name` varchar(60) DEFAULT NULL, + `address` varchar(255) DEFAULT NULL, + `zip` varchar(10) DEFAULT NULL, + `town` varchar(50) DEFAULT NULL, + `fk_pays` int(11) DEFAULT '0', + `phone` varchar(20) DEFAULT NULL, + `fax` varchar(20) DEFAULT NULL, + `note` text, + `fk_user_creat` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_societe_address` +-- + +LOCK TABLES `llx_societe_address` WRITE; +/*!40000 ALTER TABLE `llx_societe_address` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_societe_address` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_societe_commerciaux` +-- + +DROP TABLE IF EXISTS `llx_societe_commerciaux`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_societe_commerciaux` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_soc` int(11) DEFAULT NULL, + `fk_user` int(11) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_societe_commerciaux` (`fk_soc`,`fk_user`) +) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_societe_commerciaux` +-- + +LOCK TABLES `llx_societe_commerciaux` WRITE; +/*!40000 ALTER TABLE `llx_societe_commerciaux` DISABLE KEYS */; +INSERT INTO `llx_societe_commerciaux` VALUES (1,2,2,NULL),(2,3,2,NULL),(5,17,1,NULL),(6,19,1,NULL),(8,19,3,NULL),(9,11,16,NULL),(10,13,17,NULL); +/*!40000 ALTER TABLE `llx_societe_commerciaux` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_societe_extrafields` +-- + +DROP TABLE IF EXISTS `llx_societe_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_societe_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + `anotheraddedfield` varchar(15) DEFAULT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_societe_extrafields` (`fk_object`) +) ENGINE=InnoDB AUTO_INCREMENT=93 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_societe_extrafields` +-- + +LOCK TABLES `llx_societe_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_societe_extrafields` DISABLE KEYS */; +INSERT INTO `llx_societe_extrafields` VALUES (75,'2016-01-22 16:40:03',10,NULL,NULL),(77,'2016-01-22 16:41:56',12,NULL,NULL),(78,'2016-01-22 17:11:20',11,NULL,NULL),(79,'2016-01-22 17:13:16',13,NULL,NULL),(80,'2016-01-22 17:13:46',17,NULL,NULL),(81,'2016-01-22 17:18:08',19,NULL,NULL),(82,'2016-01-22 17:21:17',25,NULL,NULL),(83,'2016-01-22 17:21:51',1,NULL,NULL),(85,'2016-01-22 17:22:32',3,NULL,NULL),(86,'2016-01-22 17:24:53',4,NULL,NULL),(87,'2016-01-22 17:25:11',5,NULL,NULL),(88,'2016-01-22 17:25:26',6,NULL,NULL),(89,'2016-01-22 17:25:41',7,NULL,NULL),(92,'2016-07-30 11:45:49',2,NULL,NULL); +/*!40000 ALTER TABLE `llx_societe_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_societe_log` +-- + +DROP TABLE IF EXISTS `llx_societe_log`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_societe_log` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `datel` datetime DEFAULT NULL, + `fk_soc` int(11) DEFAULT NULL, + `fk_statut` int(11) DEFAULT NULL, + `fk_user` int(11) DEFAULT NULL, + `author` varchar(30) DEFAULT NULL, + `label` varchar(128) DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_societe_log` +-- + +LOCK TABLES `llx_societe_log` WRITE; +/*!40000 ALTER TABLE `llx_societe_log` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_societe_log` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_societe_prices` +-- + +DROP TABLE IF EXISTS `llx_societe_prices`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_societe_prices` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_soc` int(11) DEFAULT '0', + `tms` timestamp NULL DEFAULT NULL, + `datec` datetime DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `price_level` tinyint(4) DEFAULT '1', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_societe_prices` +-- + +LOCK TABLES `llx_societe_prices` WRITE; +/*!40000 ALTER TABLE `llx_societe_prices` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_societe_prices` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_societe_remise` +-- + +DROP TABLE IF EXISTS `llx_societe_remise`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_societe_remise` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_soc` int(11) NOT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datec` datetime DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `remise_client` double(6,3) NOT NULL DEFAULT '0.000', + `note` text, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_societe_remise` +-- + +LOCK TABLES `llx_societe_remise` WRITE; +/*!40000 ALTER TABLE `llx_societe_remise` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_societe_remise` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_societe_remise_except` +-- + +DROP TABLE IF EXISTS `llx_societe_remise_except`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_societe_remise_except` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_soc` int(11) NOT NULL, + `datec` datetime DEFAULT NULL, + `amount_ht` double(24,8) NOT NULL, + `amount_tva` double(24,8) NOT NULL DEFAULT '0.00000000', + `amount_ttc` double(24,8) NOT NULL DEFAULT '0.00000000', + `tva_tx` double(6,3) NOT NULL DEFAULT '0.000', + `fk_user` int(11) NOT NULL, + `fk_facture_line` int(11) DEFAULT NULL, + `fk_facture` int(11) DEFAULT NULL, + `fk_facture_source` int(11) DEFAULT NULL, + `description` text NOT NULL, + `multicurrency_amount_ht` double(24,8) NOT NULL DEFAULT '0.00000000', + `multicurrency_amount_tva` double(24,8) NOT NULL DEFAULT '0.00000000', + `multicurrency_amount_ttc` double(24,8) NOT NULL DEFAULT '0.00000000', + PRIMARY KEY (`rowid`), + KEY `idx_societe_remise_except_fk_user` (`fk_user`), + KEY `idx_societe_remise_except_fk_soc` (`fk_soc`), + KEY `idx_societe_remise_except_fk_facture_line` (`fk_facture_line`), + KEY `idx_societe_remise_except_fk_facture` (`fk_facture`), + KEY `idx_societe_remise_except_fk_facture_source` (`fk_facture_source`), + CONSTRAINT `fk_societe_remise_fk_facture` FOREIGN KEY (`fk_facture`) REFERENCES `llx_facture` (`rowid`), + CONSTRAINT `fk_societe_remise_fk_facture_line` FOREIGN KEY (`fk_facture_line`) REFERENCES `llx_facturedet` (`rowid`), + CONSTRAINT `fk_societe_remise_fk_facture_source` FOREIGN KEY (`fk_facture_source`) REFERENCES `llx_facture` (`rowid`), + CONSTRAINT `fk_societe_remise_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`), + CONSTRAINT `fk_societe_remise_fk_user` FOREIGN KEY (`fk_user`) REFERENCES `llx_user` (`rowid`), + CONSTRAINT `fk_soc_remise_fk_facture_line` FOREIGN KEY (`fk_facture_line`) REFERENCES `llx_facturedet` (`rowid`), + CONSTRAINT `fk_soc_remise_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_societe_remise_except` +-- + +LOCK TABLES `llx_societe_remise_except` WRITE; +/*!40000 ALTER TABLE `llx_societe_remise_except` DISABLE KEYS */; +INSERT INTO `llx_societe_remise_except` VALUES (2,19,'2013-03-19 09:36:15',10.00000000,1.25000000,11.25000000,12.500,1,NULL,NULL,NULL,'hfghgf',0.00000000,0.00000000,0.00000000); +/*!40000 ALTER TABLE `llx_societe_remise_except` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_societe_rib` +-- + +DROP TABLE IF EXISTS `llx_societe_rib`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_societe_rib` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_soc` int(11) NOT NULL, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `label` varchar(30) DEFAULT NULL, + `bank` varchar(255) DEFAULT NULL, + `code_banque` varchar(128) DEFAULT NULL, + `code_guichet` varchar(6) DEFAULT NULL, + `number` varchar(255) DEFAULT NULL, + `cle_rib` varchar(5) DEFAULT NULL, + `bic` varchar(20) DEFAULT NULL, + `iban_prefix` varchar(34) DEFAULT NULL, + `domiciliation` varchar(255) DEFAULT NULL, + `proprio` varchar(60) DEFAULT NULL, + `owner_address` text, + `default_rib` tinyint(4) NOT NULL DEFAULT '0', + `rum` varchar(32) DEFAULT NULL, + `date_rum` date DEFAULT NULL, + `frstrecur` varchar(16) DEFAULT 'FRST', + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_societe_rib` +-- + +LOCK TABLES `llx_societe_rib` WRITE; +/*!40000 ALTER TABLE `llx_societe_rib` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_societe_rib` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_socpeople` +-- + +DROP TABLE IF EXISTS `llx_socpeople`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_socpeople` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_soc` int(11) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `ref_ext` varchar(128) DEFAULT NULL, + `civility` varchar(6) DEFAULT NULL, + `lastname` varchar(50) DEFAULT NULL, + `firstname` varchar(50) DEFAULT NULL, + `address` varchar(255) DEFAULT NULL, + `zip` varchar(10) DEFAULT NULL, + `town` text, + `fk_departement` int(11) DEFAULT NULL, + `fk_pays` int(11) DEFAULT '0', + `birthday` date DEFAULT NULL, + `poste` varchar(80) DEFAULT NULL, + `phone` varchar(30) DEFAULT NULL, + `phone_perso` varchar(30) DEFAULT NULL, + `phone_mobile` varchar(30) DEFAULT NULL, + `fax` varchar(30) DEFAULT NULL, + `email` varchar(255) DEFAULT NULL, + `jabberid` varchar(255) DEFAULT NULL, + `skype` varchar(255) DEFAULT NULL, + `photo` varchar(255) DEFAULT NULL, + `priv` smallint(6) NOT NULL DEFAULT '0', + `no_email` smallint(6) NOT NULL DEFAULT '0', + `fk_user_creat` int(11) DEFAULT '0', + `fk_user_modif` int(11) DEFAULT NULL, + `note_private` text, + `note_public` text, + `default_lang` varchar(6) DEFAULT NULL, + `canvas` varchar(32) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + `statut` tinyint(4) NOT NULL DEFAULT '1', + PRIMARY KEY (`rowid`), + KEY `idx_socpeople_fk_soc` (`fk_soc`), + KEY `idx_socpeople_fk_user_creat` (`fk_user_creat`), + CONSTRAINT `fk_socpeople_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`), + CONSTRAINT `fk_socpeople_user_creat_user_rowid` FOREIGN KEY (`fk_user_creat`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_socpeople` +-- + +LOCK TABLES `llx_socpeople` WRITE; +/*!40000 ALTER TABLE `llx_socpeople` DISABLE KEYS */; +INSERT INTO `llx_socpeople` VALUES (1,'2010-07-08 14:26:14','2016-01-16 15:07:51',1,1,NULL,'MR','Indra','Mahala','','','',297,117,'2010-07-08','Project leader','','','','','','','',NULL,0,0,1,12,'Met during a congress at Dubai','',NULL,NULL,NULL,1),(2,'2010-07-08 22:44:50','2010-07-08 20:59:57',NULL,1,NULL,'MR','Freeman','Public','','','',200,11,NULL,'','','','','','','',NULL,NULL,0,0,1,1,'A friend that is a free contact not linked to any company',NULL,NULL,NULL,NULL,1),(3,'2010-07-08 22:59:02','2016-01-22 17:30:07',NULL,1,NULL,'MR','Mywife','Nicy','','','',NULL,11,'1980-10-03','','','','','','','','',NULL,1,0,1,12,'This is a private contact','',NULL,NULL,NULL,1),(4,'2010-07-09 00:16:58','2010-07-08 22:16:58',6,1,NULL,'MR','Rotchield','Evan','','','',NULL,6,NULL,'Bank director','','','','','','',NULL,NULL,0,0,1,1,'The bank director',NULL,NULL,NULL,NULL,1),(6,'2011-08-01 02:41:26','2016-01-22 17:29:53',17,1,NULL,'','Bookkeeper','Bob','99 account street','123456','BigTown',NULL,4,NULL,'book keeper','','','','','','','',NULL,0,0,1,12,'','',NULL,NULL,NULL,1),(7,'2016-07-30 16:11:06','2016-07-30 12:16:07',NULL,1,'','MR','Dad','','','','',NULL,14,'1967-09-04','','','','','','','','','',1,0,12,12,'','',NULL,NULL,NULL,1),(8,'2016-07-30 16:13:03','2016-07-30 12:15:58',NULL,1,'','MLE','Mom','','','','',NULL,14,NULL,'','','','','','','','','',1,0,12,12,'','',NULL,NULL,NULL,1),(9,'2016-07-30 16:14:41','2016-07-30 12:15:51',NULL,1,'','MR','Francky','','','89455','Virigia',NULL,205,'1980-07-09','Baker','555-98989898','','','','francky@example.com','','','',0,0,12,12,'','',NULL,NULL,NULL,1),(10,'2016-07-30 16:26:22','2016-07-30 12:52:38',10,1,'','MR','Eldy','','','33600','Pessac',NULL,1,'1972-10-10','Dolibarr project leader','','','','','eldy@example.com','','','ldestailleur_200x200.jpg',0,0,NULL,12,'','',NULL,NULL,NULL,1); +/*!40000 ALTER TABLE `llx_socpeople` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_socpeople_extrafields` +-- + +DROP TABLE IF EXISTS `llx_socpeople_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_socpeople_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_socpeople_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_socpeople_extrafields` +-- + +LOCK TABLES `llx_socpeople_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_socpeople_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_socpeople_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_stock_mouvement` +-- + +DROP TABLE IF EXISTS `llx_stock_mouvement`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_stock_mouvement` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datem` datetime DEFAULT NULL, + `fk_product` int(11) NOT NULL, + `fk_entrepot` int(11) NOT NULL, + `value` double DEFAULT NULL, + `price` double(24,8) DEFAULT '0.00000000', + `type_mouvement` smallint(6) DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `label` varchar(255) DEFAULT NULL, + `fk_origin` int(11) DEFAULT NULL, + `origintype` varchar(32) DEFAULT NULL, + `inventorycode` varchar(128) DEFAULT NULL, + `batch` varchar(30) DEFAULT NULL, + `eatby` date DEFAULT NULL, + `sellby` date DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_stock_mouvement_fk_product` (`fk_product`), + KEY `idx_stock_mouvement_fk_entrepot` (`fk_entrepot`) +) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_stock_mouvement` +-- + +LOCK TABLES `llx_stock_mouvement` WRITE; +/*!40000 ALTER TABLE `llx_stock_mouvement` DISABLE KEYS */; +INSERT INTO `llx_stock_mouvement` VALUES (1,'2010-07-08 22:43:51','2010-07-09 00:43:51',2,2,1000,0.00000000,0,1,'Correct stock',NULL,NULL,NULL,NULL,NULL,NULL),(3,'2010-07-10 22:56:18','2010-07-11 00:56:18',4,2,500,0.00000000,0,1,'Init',NULL,NULL,NULL,NULL,NULL,NULL),(4,'2010-07-10 23:02:20','2010-07-11 01:02:20',4,2,500,0.00000000,0,1,'',NULL,NULL,NULL,NULL,NULL,NULL),(5,'2010-07-11 16:49:44','2010-07-11 18:49:44',4,1,2,10.00000000,3,1,'',NULL,NULL,NULL,NULL,NULL,NULL),(6,'2010-07-11 16:49:44','2010-07-11 18:49:44',1,1,4,0.00000000,3,1,'',NULL,NULL,NULL,NULL,NULL,NULL),(7,'2013-01-19 17:22:48','2013-01-19 18:22:48',11,1,-1,0.00000000,2,1,'Facture créée dans DoliPOS',NULL,NULL,NULL,NULL,NULL,NULL),(8,'2013-01-19 17:22:48','2013-01-19 18:22:48',4,1,-1,5.00000000,2,1,'Facture créée dans DoliPOS',NULL,NULL,NULL,NULL,NULL,NULL),(9,'2013-01-19 17:22:48','2013-01-19 18:22:48',1,1,-2,0.00000000,2,1,'Facture créée dans DoliPOS',NULL,NULL,NULL,NULL,NULL,NULL),(10,'2013-01-19 17:31:10','2013-01-19 18:31:10',2,1,-1,0.00000000,2,1,'Facture créée dans DoliPOS',NULL,NULL,NULL,NULL,NULL,NULL),(11,'2013-01-19 17:31:58','2013-01-19 18:31:58',2,1,-1,0.00000000,2,1,'Facture créée dans DoliPOS',NULL,NULL,NULL,NULL,NULL,NULL),(12,'2016-07-30 13:39:31','2016-07-30 17:39:31',10,2,50,0.00000000,0,12,'Stock correction for product COMP-XP4523',0,'',NULL,'5599887766452',NULL,NULL),(13,'2016-07-30 13:40:12','2016-07-30 17:40:12',10,2,60,0.00000000,0,12,'Stock correction for product COMP-XP4523',0,'',NULL,'4494487766452',NULL,NULL),(14,'2016-07-30 13:40:39','2016-07-30 17:40:39',10,2,-35,0.00000000,1,12,'Stock transfer of product COMP-XP4523 into another warehouse',0,'','160730174015','5599887766452',NULL,NULL),(15,'2016-07-30 13:40:39','2016-07-30 17:40:39',10,1,35,0.00000000,0,12,'Stock transfer of product COMP-XP4523 into another warehouse',0,'','160730174015','5599887766452',NULL,NULL); +/*!40000 ALTER TABLE `llx_stock_mouvement` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_supplier_proposal` +-- + +DROP TABLE IF EXISTS `llx_supplier_proposal`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_supplier_proposal` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `ref` varchar(30) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `ref_ext` varchar(255) DEFAULT NULL, + `ref_int` varchar(255) DEFAULT NULL, + `fk_soc` int(11) DEFAULT NULL, + `fk_projet` int(11) DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datec` datetime DEFAULT NULL, + `date_valid` datetime DEFAULT NULL, + `date_cloture` datetime DEFAULT NULL, + `fk_user_author` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + `fk_user_valid` int(11) DEFAULT NULL, + `fk_user_cloture` int(11) DEFAULT NULL, + `fk_statut` smallint(6) NOT NULL DEFAULT '0', + `price` double DEFAULT '0', + `remise_percent` double DEFAULT '0', + `remise_absolue` double DEFAULT '0', + `remise` double DEFAULT '0', + `total_ht` double(24,8) DEFAULT '0.00000000', + `tva` double(24,8) DEFAULT '0.00000000', + `localtax1` double(24,8) DEFAULT '0.00000000', + `localtax2` double(24,8) DEFAULT '0.00000000', + `total` double(24,8) DEFAULT '0.00000000', + `fk_account` int(11) DEFAULT NULL, + `fk_currency` varchar(3) DEFAULT NULL, + `fk_cond_reglement` int(11) DEFAULT NULL, + `fk_mode_reglement` int(11) DEFAULT NULL, + `note_private` text, + `note_public` text, + `model_pdf` varchar(255) DEFAULT NULL, + `date_livraison` date DEFAULT NULL, + `fk_shipping_method` int(11) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + `extraparams` varchar(255) DEFAULT NULL, + `fk_multicurrency` int(11) DEFAULT NULL, + `multicurrency_code` varchar(255) DEFAULT NULL, + `multicurrency_tx` double(24,8) DEFAULT '1.00000000', + `multicurrency_total_ht` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_tva` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_ttc` double(24,8) DEFAULT '0.00000000', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_supplier_proposal` +-- + +LOCK TABLES `llx_supplier_proposal` WRITE; +/*!40000 ALTER TABLE `llx_supplier_proposal` DISABLE KEYS */; +INSERT INTO `llx_supplier_proposal` VALUES (1,'RQ1607-0001',1,NULL,NULL,3,NULL,'2016-07-30 14:35:13','2016-07-30 18:34:33','2016-07-30 18:35:13',NULL,12,NULL,12,NULL,1,0,NULL,NULL,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,NULL,NULL,0,0,'','','aurore',NULL,NULL,NULL,NULL,0,'EUR',1.00000000,0.00000000,0.00000000,0.00000000); +/*!40000 ALTER TABLE `llx_supplier_proposal` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_supplier_proposal_extrafields` +-- + +DROP TABLE IF EXISTS `llx_supplier_proposal_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_supplier_proposal_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_supplier_proposal_extrafields` +-- + +LOCK TABLES `llx_supplier_proposal_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_supplier_proposal_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_supplier_proposal_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_supplier_proposaldet` +-- + +DROP TABLE IF EXISTS `llx_supplier_proposaldet`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_supplier_proposaldet` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_supplier_proposal` int(11) NOT NULL, + `fk_parent_line` int(11) DEFAULT NULL, + `fk_product` int(11) DEFAULT NULL, + `label` varchar(255) DEFAULT NULL, + `description` text, + `fk_remise_except` int(11) DEFAULT NULL, + `tva_tx` double(6,3) DEFAULT '0.000', + `localtax1_tx` double(6,3) DEFAULT '0.000', + `localtax1_type` varchar(10) DEFAULT NULL, + `localtax2_tx` double(6,3) DEFAULT '0.000', + `localtax2_type` varchar(10) DEFAULT NULL, + `qty` double DEFAULT NULL, + `remise_percent` double DEFAULT '0', + `remise` double DEFAULT '0', + `price` double DEFAULT NULL, + `subprice` double(24,8) DEFAULT '0.00000000', + `total_ht` double(24,8) DEFAULT '0.00000000', + `total_tva` double(24,8) DEFAULT '0.00000000', + `total_localtax1` double(24,8) DEFAULT '0.00000000', + `total_localtax2` double(24,8) DEFAULT '0.00000000', + `total_ttc` double(24,8) DEFAULT '0.00000000', + `product_type` int(11) DEFAULT '0', + `info_bits` int(11) DEFAULT '0', + `buy_price_ht` double(24,8) DEFAULT '0.00000000', + `fk_product_fournisseur_price` int(11) DEFAULT NULL, + `special_code` int(11) DEFAULT '0', + `rang` int(11) DEFAULT '0', + `ref_fourn` varchar(30) DEFAULT NULL, + `fk_multicurrency` int(11) DEFAULT NULL, + `multicurrency_code` varchar(255) DEFAULT NULL, + `multicurrency_subprice` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_ht` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_tva` double(24,8) DEFAULT '0.00000000', + `multicurrency_total_ttc` double(24,8) DEFAULT '0.00000000', + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_supplier_proposaldet` +-- + +LOCK TABLES `llx_supplier_proposaldet` WRITE; +/*!40000 ALTER TABLE `llx_supplier_proposaldet` DISABLE KEYS */; +INSERT INTO `llx_supplier_proposaldet` VALUES (1,1,NULL,10,NULL,'A powerfull computer XP4523 
\r\n(Customs code: USXP765 - Origin country: United States)',NULL,0.000,0.000,'0',0.000,'0',10,0,0,0,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0.00000000,0,0,0.00000000,NULL,0,1,NULL,NULL,'EUR',0.00000000,0.00000000,0.00000000,0.00000000); +/*!40000 ALTER TABLE `llx_supplier_proposaldet` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_supplier_proposaldet_extrafields` +-- + +DROP TABLE IF EXISTS `llx_supplier_proposaldet_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_supplier_proposaldet_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_supplier_proposaldet_extrafields` +-- + +LOCK TABLES `llx_supplier_proposaldet_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_supplier_proposaldet_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_supplier_proposaldet_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_tva` +-- + +DROP TABLE IF EXISTS `llx_tva`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_tva` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `datep` date DEFAULT NULL, + `datev` date DEFAULT NULL, + `amount` double NOT NULL DEFAULT '0', + `label` varchar(255) DEFAULT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `note` text, + `fk_bank` int(11) DEFAULT NULL, + `fk_user_creat` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + `fk_typepayment` int(11) DEFAULT NULL, + `num_payment` varchar(50) DEFAULT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_tva` +-- + +LOCK TABLES `llx_tva` WRITE; +/*!40000 ALTER TABLE `llx_tva` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_tva` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_user` +-- + +DROP TABLE IF EXISTS `llx_user`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_user` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_user_creat` int(11) DEFAULT NULL, + `fk_user_modif` int(11) DEFAULT NULL, + `login` varchar(24) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `civility` varchar(6) DEFAULT NULL, + `ref_ext` varchar(50) DEFAULT NULL, + `ref_int` varchar(50) DEFAULT NULL, + `employee` smallint(6) DEFAULT '1', + `fk_establishment` int(11) DEFAULT '0', + `pass` varchar(128) DEFAULT NULL, + `pass_crypted` varchar(128) DEFAULT NULL, + `pass_temp` varchar(128) DEFAULT NULL, + `api_key` varchar(128) DEFAULT NULL, + `lastname` varchar(50) DEFAULT NULL, + `firstname` varchar(50) DEFAULT NULL, + `job` varchar(128) DEFAULT NULL, + `skype` varchar(255) DEFAULT NULL, + `office_phone` varchar(20) DEFAULT NULL, + `office_fax` varchar(20) DEFAULT NULL, + `user_mobile` varchar(20) DEFAULT NULL, + `email` varchar(255) DEFAULT NULL, + `signature` text, + `admin` smallint(6) DEFAULT '0', + `webcal_login` varchar(25) DEFAULT NULL, + `phenix_login` varchar(25) DEFAULT NULL, + `phenix_pass` varchar(128) DEFAULT NULL, + `module_comm` smallint(6) DEFAULT '1', + `module_compta` smallint(6) DEFAULT '1', + `fk_soc` int(11) DEFAULT NULL, + `fk_socpeople` int(11) DEFAULT NULL, + `fk_member` int(11) DEFAULT NULL, + `note` text, + `datelastlogin` datetime DEFAULT NULL, + `datepreviouslogin` datetime DEFAULT NULL, + `egroupware_id` int(11) DEFAULT NULL, + `ldap_sid` varchar(255) DEFAULT NULL, + `statut` tinyint(4) DEFAULT '1', + `photo` varchar(255) DEFAULT NULL, + `lang` varchar(6) DEFAULT NULL, + `openid` varchar(255) DEFAULT NULL, + `fk_user` int(11) DEFAULT NULL, + `thm` double(24,8) DEFAULT NULL, + `address` varchar(255) DEFAULT NULL, + `zip` varchar(25) DEFAULT NULL, + `town` varchar(50) DEFAULT NULL, + `fk_state` int(11) DEFAULT '0', + `fk_country` int(11) DEFAULT '0', + `color` varchar(6) DEFAULT NULL, + `accountancy_code` varchar(32) DEFAULT NULL, + `barcode` varchar(255) DEFAULT NULL, + `fk_barcode_type` int(11) DEFAULT '0', + `nb_holiday` int(11) DEFAULT '0', + `salary` double(24,8) DEFAULT NULL, + `tjm` double(24,8) DEFAULT NULL, + `salaryextra` double(24,8) DEFAULT NULL, + `weeklyhours` double(16,8) DEFAULT NULL, + `gender` varchar(10) DEFAULT NULL, + `note_public` text, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_user_login` (`login`,`entity`), + UNIQUE KEY `uk_user_fk_socpeople` (`fk_socpeople`), + UNIQUE KEY `uk_user_fk_member` (`fk_member`), + UNIQUE KEY `uk_user_api_key` (`api_key`), + KEY `idx_user_api_key` (`api_key`), + KEY `idx_user_fk_societe` (`fk_soc`) +) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_user` +-- + +LOCK TABLES `llx_user` WRITE; +/*!40000 ALTER TABLE `llx_user` DISABLE KEYS */; +INSERT INTO `llx_user` VALUES (1,'2010-07-08 13:20:11','2015-10-05 20:07:36',NULL,NULL,'aeinstein',0,NULL,NULL,NULL,1,0,'aeinstein','11c9c772d6471aa24c27274bdd8a223b',NULL,NULL,'Einstein','Albert','','','123456789','','','aeinstein@example.com','',0,'','','',1,1,NULL,NULL,NULL,'','2015-10-05 08:32:44','2015-10-03 11:43:50',NULL,'',1,'alberteinstein.jpg',NULL,NULL,14,NULL,'','','',NULL,NULL,'aaaaff','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL),(2,'2010-07-08 13:54:48','2015-10-05 19:47:22',NULL,NULL,'demo',1,NULL,NULL,NULL,1,0,'demo','fe01ce2a7fbac8fafaed7c982a04e229',NULL,NULL,'Doe','David','','','09123123','','','daviddoe@mycompany.com','',0,'','','',1,1,NULL,NULL,NULL,'','2016-01-22 17:20:12','2016-01-22 14:28:35',NULL,'',1,'johndoe.png',NULL,NULL,11,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL),(3,'2010-07-11 16:18:59','2015-10-05 19:57:57',NULL,NULL,'pcurie',1,NULL,NULL,NULL,1,0,'pcuriedolibarr','ab335b4eb4c3c99334f656e5db9584c9',NULL,NULL,'Curie','Pierre','','','','','','pcurie@example.com','',0,'','','',1,1,NULL,NULL,2,'','2012-12-21 17:38:55',NULL,NULL,'',1,'pierrecurie.jpg',NULL,NULL,14,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,NULL,NULL),(4,'2013-01-23 17:52:27','2015-10-05 20:08:34',NULL,NULL,'bbookkeeper',1,NULL,NULL,NULL,1,0,'bbookkeeper','a7d30b58d647fcf59b7163f9592b1dbb',NULL,NULL,'Bookkeeper','Bob','Bookkeeper','','','','','','',0,'','','',1,1,17,6,NULL,'','2013-02-25 10:18:41','2013-01-23 17:53:20',NULL,'',1,NULL,NULL,NULL,11,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL),(10,'2015-10-03 11:47:41','2015-10-05 20:07:18',NULL,NULL,'mcurie',1,NULL,NULL,NULL,1,0,'mcurie','11c9c772d6471aa24c27274bdd8a223b',NULL,'t3mnkbhs','Curie','Marie','','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',1,'mariecurie.jpg',NULL,NULL,14,NULL,'','','',NULL,NULL,'ffaaff','',NULL,0,0,NULL,NULL,NULL,NULL,'woman',NULL),(11,'2015-10-05 09:07:52','2015-10-05 19:57:02',NULL,NULL,'zzeceo',1,NULL,NULL,NULL,1,0,'zzeceo','92af989c4c3a5140fb5d73eb77a52454',NULL,'cq78nf9m','Zeceo','Zack','President','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'','2015-10-05 22:48:08','2015-10-05 21:18:46',NULL,'',1,NULL,NULL,NULL,NULL,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,NULL,NULL),(12,'2015-10-05 09:09:46','2016-01-22 13:13:42',NULL,NULL,'admin',0,NULL,NULL,NULL,1,0,'admin','21232f297a57a5a743894a0e4a801fc3',NULL,'nd6hgbcr','Adminson','Alice','Admin Technical','','','','','','',1,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'','2016-07-30 15:13:10','2016-03-13 14:54:59',NULL,'',1,'mariecurie.jpg',NULL,NULL,11,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,'woman',NULL),(13,'2015-10-05 21:29:35','2016-01-22 13:51:46',NULL,NULL,'ccommercy',1,NULL,NULL,NULL,1,0,'ccomercy','11c9c772d6471aa24c27274bdd8a223b',NULL,'y451ksdv','Commercy','Charle','Commercial leader','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',1,NULL,NULL,NULL,11,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL),(14,'2015-10-05 21:33:33','2015-10-05 19:52:05',NULL,NULL,'sscientol',1,NULL,NULL,NULL,1,0,'sscientol','39bee07ac42f31c98e79cdcd5e5fe4c5',NULL,'s2hp8bxd','Scientol','Sam','Scientist leader','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',1,NULL,NULL,NULL,11,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,NULL,NULL),(16,'2015-10-05 22:47:52','2015-11-15 22:25:17',NULL,NULL,'cc1',1,NULL,NULL,NULL,1,0,'cc1','d68005ccf362b82d084551b6291792a3',NULL,'cx9y1dk0','Charle1','Commerson','Sale representative','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'','2015-10-05 23:46:24','2015-10-05 23:37:31',NULL,'',1,NULL,NULL,NULL,13,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,NULL,NULL),(17,'2015-10-05 22:48:39','2016-01-22 16:30:01',NULL,NULL,'cc2',1,NULL,NULL,NULL,1,0,'cc2','a964065211872fb76f876c6c3e952ea3',NULL,'gw8cb7xj','Charle2','Commerson','Sale representative','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'','2015-10-05 23:16:06',NULL,NULL,'',0,NULL,NULL,NULL,13,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL),(18,'2016-01-22 17:27:02','2016-07-30 12:51:23',NULL,NULL,'ldestailleur',1,NULL,NULL,NULL,1,0,'laurentd2013','1bb7805145a7a5066df9e6d585b8b645',NULL,'87g06wbx','Destailleur','Laurent','Project leader of Dolibarr ERP CRM','','','','','ldestailleur@example.com','
Laurent DESTAILLEUR
\r\n\r\n
\r\n
Project Director
\r\nldestailleur@example.com
\r\n\r\n
 
\r\n\r\n\r\n
',0,NULL,NULL,NULL,1,1,10,10,NULL,'More information on http://www.destailleur.fr',NULL,NULL,NULL,'',1,'ldestailleur_200x200.jpg',NULL,NULL,NULL,NULL,'','','',NULL,NULL,'007f7f','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL); +/*!40000 ALTER TABLE `llx_user` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_user_alert` +-- + +DROP TABLE IF EXISTS `llx_user_alert`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_user_alert` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `type` int(11) DEFAULT NULL, + `fk_contact` int(11) DEFAULT NULL, + `fk_user` int(11) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_user_alert` +-- + +LOCK TABLES `llx_user_alert` WRITE; +/*!40000 ALTER TABLE `llx_user_alert` DISABLE KEYS */; +INSERT INTO `llx_user_alert` VALUES (1,1,1,1),(2,1,10,12); +/*!40000 ALTER TABLE `llx_user_alert` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_user_clicktodial` +-- + +DROP TABLE IF EXISTS `llx_user_clicktodial`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_user_clicktodial` ( + `fk_user` int(11) NOT NULL, + `url` varchar(255) DEFAULT NULL, + `login` varchar(32) DEFAULT NULL, + `pass` varchar(64) DEFAULT NULL, + `poste` varchar(20) DEFAULT NULL, + PRIMARY KEY (`fk_user`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_user_clicktodial` +-- + +LOCK TABLES `llx_user_clicktodial` WRITE; +/*!40000 ALTER TABLE `llx_user_clicktodial` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_user_clicktodial` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_user_extrafields` +-- + +DROP TABLE IF EXISTS `llx_user_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_user_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_user_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_user_extrafields` +-- + +LOCK TABLES `llx_user_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_user_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_user_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_user_param` +-- + +DROP TABLE IF EXISTS `llx_user_param`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_user_param` ( + `fk_user` int(11) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `param` varchar(255) NOT NULL, + `value` text NOT NULL, + UNIQUE KEY `uk_user_param` (`fk_user`,`param`,`entity`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_user_param` +-- + +LOCK TABLES `llx_user_param` WRITE; +/*!40000 ALTER TABLE `llx_user_param` DISABLE KEYS */; +INSERT INTO `llx_user_param` VALUES (1,1,'MAIN_BOXES_0','1'),(1,1,'MAIN_THEME','eldy'),(1,3,'THEME_ELDY_ENABLE_PERSONALIZED','1'),(1,1,'THEME_ELDY_RGB','ded0ed'),(1,3,'THEME_ELDY_RGB','d0ddc3'),(11,1,'MAIN_BOXES_0','1'),(12,1,'MAIN_BOXES_0','1'),(12,1,'MAIN_SELECTEDFIELDS_projectlist','ef.priority,p.ref,p.title,s.nom,commercial,p.dateo,p.datee,p.public,p.opp_amount,p.fk_opp_status,p.opp_percent,p.fk_statut,'); +/*!40000 ALTER TABLE `llx_user_param` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_user_rib` +-- + +DROP TABLE IF EXISTS `llx_user_rib`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_user_rib` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_user` int(11) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `label` varchar(30) DEFAULT NULL, + `bank` varchar(255) DEFAULT NULL, + `code_banque` varchar(128) DEFAULT NULL, + `code_guichet` varchar(6) DEFAULT NULL, + `number` varchar(255) DEFAULT NULL, + `cle_rib` varchar(5) DEFAULT NULL, + `bic` varchar(11) DEFAULT NULL, + `iban_prefix` varchar(34) DEFAULT NULL, + `domiciliation` varchar(255) DEFAULT NULL, + `proprio` varchar(60) DEFAULT NULL, + `owner_address` varchar(255) DEFAULT NULL, + PRIMARY KEY (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_user_rib` +-- + +LOCK TABLES `llx_user_rib` WRITE; +/*!40000 ALTER TABLE `llx_user_rib` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_user_rib` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_user_rights` +-- + +DROP TABLE IF EXISTS `llx_user_rights`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_user_rights` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_user` int(11) NOT NULL, + `fk_id` int(11) NOT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_user_rights` (`fk_user`,`fk_id`), + CONSTRAINT `fk_user_rights_fk_user_user` FOREIGN KEY (`fk_user`) REFERENCES `llx_user` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=15048 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_user_rights` +-- + +LOCK TABLES `llx_user_rights` WRITE; +/*!40000 ALTER TABLE `llx_user_rights` DISABLE KEYS */; +INSERT INTO `llx_user_rights` VALUES (12402,1,11),(12380,1,12),(12385,1,13),(12389,1,14),(12393,1,15),(12398,1,16),(12404,1,19),(9726,1,21),(9700,1,22),(9706,1,24),(9711,1,25),(9716,1,26),(9722,1,27),(9728,1,28),(9978,1,31),(9968,1,32),(9974,1,34),(1910,1,36),(9980,1,38),(11573,1,41),(11574,1,42),(11575,1,44),(11576,1,45),(7184,1,61),(7181,1,62),(7183,1,64),(7185,1,67),(7186,1,68),(1678,1,71),(1673,1,72),(1675,1,74),(1679,1,75),(1677,1,76),(1681,1,78),(1682,1,79),(12322,1,81),(12309,1,82),(12312,1,84),(12314,1,86),(12317,1,87),(12320,1,88),(12323,1,89),(11580,1,91),(11581,1,92),(11582,1,93),(11583,1,94),(10097,1,95),(10099,1,96),(10103,1,97),(10104,1,98),(7139,1,101),(7134,1,102),(7136,1,104),(7137,1,105),(7138,1,106),(7140,1,109),(10229,1,111),(10201,1,112),(10207,1,113),(10213,1,114),(10219,1,115),(10225,1,116),(10231,1,117),(12518,1,121),(12508,1,122),(12514,1,125),(12520,1,126),(11577,1,141),(11578,1,142),(11579,1,144),(2307,1,151),(2304,1,152),(2306,1,153),(2308,1,154),(10092,1,161),(10093,1,162),(10094,1,163),(10095,1,164),(10096,1,165),(1585,1,170),(12342,1,171),(12331,1,172),(12335,1,173),(12339,1,174),(12343,1,178),(10000,1,221),(9990,1,222),(9996,1,223),(10002,1,229),(10007,1,237),(10011,1,238),(10015,1,239),(1686,1,241),(1685,1,242),(1687,1,243),(12604,1,251),(12566,1,252),(12569,1,253),(12572,1,254),(12575,1,255),(12579,1,256),(1617,1,258),(12525,1,262),(12544,1,281),(12534,1,282),(12540,1,283),(12546,1,286),(12288,1,300),(12290,1,301),(11591,1,302),(1763,1,331),(1762,1,332),(1764,1,333),(12582,1,341),(12584,1,342),(12586,1,343),(12588,1,344),(12600,1,351),(12593,1,352),(12597,1,353),(12601,1,354),(12605,1,358),(12560,1,531),(12553,1,532),(12557,1,534),(1625,1,536),(12561,1,538),(12358,1,700),(12348,1,701),(12354,1,702),(12360,1,703),(1755,1,1001),(1754,1,1002),(1756,1,1003),(1758,1,1004),(1759,1,1005),(7146,1,1101),(7143,1,1102),(7145,1,1104),(7147,1,1109),(12412,1,1181),(12458,1,1182),(12417,1,1183),(12420,1,1184),(12423,1,1185),(12427,1,1186),(12431,1,1187),(12437,1,1188),(12434,1,1189),(1578,1,1201),(1579,1,1202),(12454,1,1231),(12443,1,1232),(12446,1,1233),(12449,1,1234),(12452,1,1235),(12455,1,1236),(12459,1,1237),(1736,1,1251),(12409,1,1321),(12326,1,1421),(8190,1,1791),(8187,1,1792),(8191,1,1793),(12264,1,2401),(12260,1,2402),(12266,1,2403),(12280,1,2411),(12276,1,2412),(12282,1,2413),(12286,1,2414),(1618,1,2500),(12370,1,2501),(12367,1,2503),(12371,1,2515),(9610,1,5001),(9611,1,5002),(12490,1,20001),(12468,1,20002),(12474,1,20003),(12480,1,20004),(12486,1,20005),(12492,1,20006),(12302,1,23001),(12295,1,23002),(12299,1,23003),(12303,1,23004),(7701,1,50101),(4984,1,50401),(4983,1,50402),(4985,1,50403),(4987,1,50411),(4988,1,50412),(4989,1,50415),(12498,1,55001),(12499,1,55002),(3564,1,100700),(3565,1,100701),(9596,1,101051),(9598,1,101052),(9600,1,101053),(9604,1,101060),(9605,1,101061),(7177,1,101201),(7178,1,101202),(10353,1,101250),(10355,1,101251),(8980,1,101261),(8981,1,101262),(7616,1,101331),(10030,1,101701),(10031,1,101702),(3582,1,102000),(3583,1,102001),(9819,1,400051),(9823,1,400052),(9827,1,400053),(9831,1,400055),(132,2,11),(133,2,12),(134,2,13),(135,2,14),(136,2,16),(137,2,19),(138,2,21),(139,2,22),(140,2,24),(141,2,25),(142,2,26),(143,2,27),(10359,2,31),(145,2,32),(10361,2,34),(146,2,36),(147,2,41),(148,2,42),(149,2,44),(150,2,61),(151,2,62),(152,2,64),(153,2,71),(154,2,72),(155,2,74),(156,2,75),(157,2,78),(158,2,79),(159,2,81),(160,2,82),(161,2,84),(162,2,86),(163,2,87),(164,2,88),(165,2,89),(166,2,91),(167,2,92),(168,2,93),(2475,2,95),(2476,2,96),(2477,2,97),(2478,2,98),(169,2,101),(170,2,102),(171,2,104),(172,2,109),(173,2,111),(174,2,112),(175,2,113),(176,2,114),(177,2,116),(178,2,117),(179,2,121),(180,2,122),(181,2,125),(182,2,141),(183,2,142),(184,2,144),(2479,2,151),(2480,2,152),(2481,2,153),(2482,2,154),(185,2,161),(186,2,162),(187,2,163),(188,2,164),(189,2,165),(190,2,170),(2471,2,171),(192,2,172),(2472,2,173),(193,2,221),(194,2,222),(195,2,229),(196,2,241),(197,2,242),(198,2,243),(199,2,251),(201,2,262),(202,2,281),(203,2,282),(204,2,283),(205,2,331),(2483,2,531),(207,2,532),(2484,2,534),(208,2,536),(2473,2,700),(210,2,701),(211,2,702),(2474,2,703),(212,2,1001),(213,2,1002),(214,2,1003),(215,2,1004),(216,2,1005),(217,2,1101),(218,2,1102),(219,2,1104),(220,2,1109),(221,2,1181),(222,2,1182),(223,2,1183),(224,2,1184),(225,2,1185),(226,2,1186),(227,2,1187),(228,2,1188),(229,2,1201),(230,2,1202),(231,2,1231),(232,2,1232),(233,2,1233),(234,2,1234),(235,2,1421),(236,2,2401),(237,2,2402),(238,2,2403),(239,2,2411),(240,2,2412),(241,2,2413),(242,2,2500),(2470,2,2501),(243,2,2515),(10363,2,20001),(10364,2,20002),(10365,2,20003),(10366,2,20004),(10367,2,20005),(10368,2,20006),(10362,2,50101),(10372,2,101250),(1807,3,11),(1808,3,31),(1809,3,36),(1810,3,41),(1811,3,61),(1812,3,71),(1813,3,72),(1814,3,74),(1815,3,75),(1816,3,78),(1817,3,79),(1818,3,91),(1819,3,95),(1820,3,97),(1821,3,111),(1822,3,121),(1823,3,122),(1824,3,125),(1825,3,161),(1826,3,170),(1827,3,171),(1828,3,172),(1829,3,221),(1830,3,222),(1831,3,229),(1832,3,241),(1833,3,242),(1834,3,243),(1835,3,251),(1836,3,255),(1837,3,256),(1838,3,262),(1839,3,281),(1840,3,282),(1841,3,283),(1842,3,331),(1843,3,531),(1844,3,536),(1845,3,700),(1846,3,1001),(1847,3,1002),(1848,3,1003),(1849,3,1004),(1850,3,1005),(1851,3,1181),(1852,3,1182),(1853,3,1201),(1854,3,1202),(1855,3,1231),(1856,3,2401),(1857,3,2402),(1858,3,2403),(1859,3,2411),(1860,3,2412),(1861,3,2413),(1862,3,2500),(1863,3,2515),(8026,4,11),(8027,4,21),(8028,4,31),(8029,4,41),(8030,4,61),(8031,4,71),(8032,4,72),(8033,4,74),(8034,4,75),(8035,4,78),(8036,4,79),(8037,4,81),(8038,4,91),(8039,4,95),(8040,4,97),(8041,4,101),(8042,4,111),(8043,4,121),(8044,4,151),(8045,4,161),(8046,4,171),(8047,4,221),(8048,4,222),(8049,4,229),(8050,4,241),(8051,4,242),(8052,4,243),(8146,4,251),(8147,4,253),(8053,4,262),(8054,4,281),(8055,4,331),(8056,4,341),(8057,4,342),(8058,4,343),(8059,4,344),(8060,4,531),(8061,4,700),(8062,4,1001),(8063,4,1002),(8064,4,1003),(8065,4,1004),(8066,4,1005),(8067,4,1101),(8068,4,1181),(8069,4,1182),(8070,4,1201),(8071,4,1202),(8072,4,1231),(8073,4,2401),(8074,4,2501),(8075,4,2503),(8076,4,2515),(8077,4,20001),(8078,4,50101),(8079,4,101201),(8080,4,101261),(8081,4,102000),(8082,4,400051),(8083,4,400052),(8084,4,400053),(8085,4,400055),(12608,10,11),(12609,10,21),(12610,10,31),(12611,10,41),(12612,10,61),(12613,10,71),(12614,10,72),(12615,10,74),(12616,10,75),(12617,10,78),(12618,10,79),(12619,10,81),(12620,10,91),(12621,10,95),(12622,10,97),(12623,10,101),(12624,10,111),(12625,10,121),(12626,10,151),(12627,10,161),(12628,10,171),(12629,10,221),(12630,10,222),(12631,10,229),(12632,10,241),(12633,10,242),(12634,10,243),(12635,10,262),(12636,10,281),(12637,10,300),(12638,10,331),(12639,10,341),(12640,10,342),(12641,10,343),(12642,10,344),(12643,10,531),(12644,10,700),(12645,10,1001),(12646,10,1002),(12647,10,1003),(12648,10,1004),(12649,10,1005),(12650,10,1101),(12651,10,1181),(12652,10,1182),(12653,10,1201),(12654,10,1202),(12655,10,1231),(12656,10,2401),(12657,10,2501),(12658,10,2503),(12659,10,2515),(12660,10,20001),(12661,10,20002),(12662,10,23001),(12663,10,50101),(12664,11,11),(12665,11,21),(12666,11,31),(12667,11,41),(12668,11,61),(12669,11,71),(12670,11,72),(12671,11,74),(12672,11,75),(12673,11,78),(12674,11,79),(12675,11,81),(12676,11,91),(12677,11,95),(12678,11,97),(12679,11,101),(12680,11,111),(12681,11,121),(12682,11,151),(12683,11,161),(12684,11,171),(12685,11,221),(12686,11,222),(12687,11,229),(12688,11,241),(12689,11,242),(12690,11,243),(12691,11,262),(12692,11,281),(12693,11,300),(12694,11,331),(12695,11,341),(12696,11,342),(12697,11,343),(12698,11,344),(12699,11,531),(12700,11,700),(12701,11,1001),(12702,11,1002),(12703,11,1003),(12704,11,1004),(12705,11,1005),(12706,11,1101),(12707,11,1181),(12708,11,1182),(12709,11,1201),(12710,11,1202),(12711,11,1231),(12712,11,2401),(12713,11,2501),(12714,11,2503),(12715,11,2515),(12716,11,20001),(12717,11,20002),(12718,11,23001),(12719,11,50101),(14748,12,11),(14738,12,12),(14740,12,13),(14742,12,14),(14744,12,15),(14747,12,16),(14750,12,19),(14146,12,21),(14135,12,22),(14137,12,24),(14139,12,25),(14142,12,26),(14145,12,27),(14148,12,28),(14930,12,31),(14926,12,32),(14929,12,34),(14932,12,38),(13816,12,41),(13813,12,42),(13815,12,44),(13817,12,45),(14094,12,61),(14091,12,62),(14093,12,64),(14095,12,67),(14096,12,68),(13891,12,71),(13886,12,72),(13888,12,74),(13892,12,75),(13890,12,76),(13894,12,78),(13895,12,79),(14955,12,81),(14949,12,82),(14950,12,84),(14951,12,86),(14953,12,87),(14954,12,88),(14956,12,89),(13904,12,91),(13900,12,92),(13903,12,93),(13906,12,94),(13990,12,95),(12734,12,97),(14939,12,101),(14935,12,102),(14936,12,104),(14937,12,105),(14938,12,106),(14940,12,109),(14051,12,111),(14038,12,112),(14041,12,113),(14044,12,114),(14047,12,115),(14050,12,116),(14053,12,117),(15015,12,121),(15011,12,122),(15014,12,125),(15017,12,126),(13821,12,141),(13820,12,142),(13822,12,144),(13912,12,151),(13909,12,152),(13911,12,153),(13913,12,154),(14063,12,161),(14056,12,162),(14058,12,163),(14060,12,164),(14062,12,165),(14064,12,167),(13350,12,171),(13345,12,172),(13347,12,173),(13349,12,174),(13351,12,178),(13838,12,221),(13834,12,222),(13837,12,223),(13840,12,229),(13842,12,237),(13844,12,238),(13846,12,239),(13516,12,241),(13515,12,242),(13517,12,243),(14730,12,251),(14711,12,252),(14713,12,253),(14714,12,254),(14716,12,255),(14718,12,256),(15019,12,262),(15028,12,281),(15024,12,282),(15027,12,283),(15030,12,286),(14732,12,300),(14733,12,301),(14126,12,331),(14125,12,332),(14127,12,333),(14719,12,341),(14720,12,342),(14721,12,343),(14722,12,344),(14728,12,351),(14725,12,352),(14727,12,353),(14729,12,354),(14731,12,358),(13865,12,510),(13862,12,512),(13864,12,514),(13866,12,517),(14686,12,531),(14683,12,532),(14685,12,534),(14687,12,538),(13358,12,700),(14832,12,701),(14831,12,702),(14834,12,703),(13858,12,771),(13849,12,772),(13851,12,773),(13853,12,774),(13855,12,775),(13857,12,776),(13859,12,779),(14917,12,1001),(14916,12,1002),(14918,12,1003),(14920,12,1004),(14921,12,1005),(14945,12,1101),(14943,12,1102),(14944,12,1104),(14946,12,1109),(14762,12,1121),(14755,12,1122),(14757,12,1123),(14759,12,1124),(14761,12,1125),(14763,12,1126),(14982,12,1181),(15005,12,1182),(14985,12,1183),(14986,12,1184),(14988,12,1185),(14990,12,1186),(14992,12,1187),(14995,12,1188),(14993,12,1189),(13827,12,1201),(13828,12,1202),(15003,12,1231),(14998,12,1232),(14999,12,1233),(15001,12,1234),(15002,12,1235),(15004,12,1236),(15006,12,1237),(13829,12,1251),(14752,12,1321),(14957,12,1421),(15036,12,2401),(15035,12,2402),(15038,12,2403),(15044,12,2411),(15043,12,2412),(15046,12,2413),(15047,12,2414),(14591,12,2501),(14590,12,2503),(14592,12,2515),(14651,12,20001),(14641,12,20002),(14644,12,20003),(14647,12,20004),(14650,12,20005),(14653,12,20006),(14825,12,23001),(14822,12,23002),(14824,12,23003),(14826,12,23004),(13712,12,50101),(14655,12,55001),(14656,12,55002),(14128,12,59001),(14129,12,59002),(14130,12,59003),(14818,12,63001),(14815,12,63002),(14817,12,63003),(14819,12,63004),(12776,13,11),(12777,13,21),(12778,13,31),(12779,13,41),(12780,13,61),(12781,13,71),(12782,13,72),(12783,13,74),(12784,13,75),(12785,13,78),(12786,13,79),(12787,13,81),(12788,13,91),(12789,13,95),(12790,13,97),(12791,13,101),(12792,13,111),(12793,13,121),(12794,13,151),(12795,13,161),(12796,13,171),(12797,13,221),(12798,13,222),(12799,13,229),(12800,13,241),(12801,13,242),(12802,13,243),(12803,13,262),(12804,13,281),(12805,13,300),(12806,13,331),(12807,13,341),(12808,13,342),(12809,13,343),(12810,13,344),(12811,13,531),(12812,13,700),(12813,13,1001),(12814,13,1002),(12815,13,1003),(12816,13,1004),(12817,13,1005),(12818,13,1101),(12819,13,1181),(12820,13,1182),(12821,13,1201),(12822,13,1202),(12823,13,1231),(12824,13,2401),(12825,13,2501),(12826,13,2503),(12827,13,2515),(12828,13,20001),(12829,13,20002),(12830,13,23001),(12831,13,50101),(12832,14,11),(12833,14,21),(12834,14,31),(12835,14,41),(12836,14,61),(12837,14,71),(12838,14,72),(12839,14,74),(12840,14,75),(12841,14,78),(12842,14,79),(12843,14,81),(12844,14,91),(12845,14,95),(12846,14,97),(12847,14,101),(12848,14,111),(12849,14,121),(12850,14,151),(12851,14,161),(12852,14,171),(12853,14,221),(12854,14,222),(12855,14,229),(12856,14,241),(12857,14,242),(12858,14,243),(12859,14,262),(12860,14,281),(12861,14,300),(12862,14,331),(12863,14,341),(12864,14,342),(12865,14,343),(12866,14,344),(12867,14,531),(12868,14,700),(12869,14,1001),(12870,14,1002),(12871,14,1003),(12872,14,1004),(12873,14,1005),(12874,14,1101),(12875,14,1181),(12876,14,1182),(12877,14,1201),(12878,14,1202),(12879,14,1231),(12880,14,2401),(12881,14,2501),(12882,14,2503),(12883,14,2515),(12884,14,20001),(12885,14,20002),(12886,14,23001),(12887,14,50101),(12944,16,11),(12945,16,21),(12946,16,31),(13056,16,41),(13057,16,42),(13058,16,44),(13059,16,45),(12948,16,61),(12949,16,71),(12950,16,72),(12951,16,74),(12952,16,75),(12953,16,78),(12954,16,79),(12955,16,81),(12956,16,91),(12957,16,95),(12958,16,97),(12959,16,101),(12960,16,111),(12961,16,121),(13060,16,141),(13061,16,142),(13062,16,144),(12962,16,151),(12963,16,161),(12964,16,171),(12965,16,221),(12966,16,222),(12967,16,229),(12968,16,241),(12969,16,242),(12970,16,243),(13128,16,251),(13064,16,262),(12972,16,281),(12973,16,300),(12974,16,331),(12975,16,341),(12976,16,342),(12977,16,343),(12978,16,344),(12979,16,531),(12980,16,700),(12981,16,1001),(12982,16,1002),(12983,16,1003),(12984,16,1004),(12985,16,1005),(12986,16,1101),(12987,16,1181),(12988,16,1182),(12989,16,1201),(12990,16,1202),(12991,16,1231),(12992,16,2401),(12993,16,2501),(12994,16,2503),(12995,16,2515),(12996,16,20001),(12997,16,20002),(12998,16,23001),(12999,16,50101),(13000,17,11),(13001,17,21),(13002,17,31),(13065,17,41),(13066,17,42),(13067,17,44),(13068,17,45),(13004,17,61),(13005,17,71),(13006,17,72),(13007,17,74),(13008,17,75),(13009,17,78),(13010,17,79),(13011,17,81),(13012,17,91),(13013,17,95),(13014,17,97),(13015,17,101),(13016,17,111),(13017,17,121),(13069,17,141),(13070,17,142),(13071,17,144),(13018,17,151),(13019,17,161),(13020,17,171),(13021,17,221),(13022,17,222),(13023,17,229),(13024,17,241),(13025,17,242),(13026,17,243),(13028,17,281),(13029,17,300),(13030,17,331),(13031,17,341),(13032,17,342),(13033,17,343),(13034,17,344),(13035,17,531),(13036,17,700),(13037,17,1001),(13038,17,1002),(13039,17,1003),(13040,17,1004),(13041,17,1005),(13042,17,1101),(13043,17,1181),(13044,17,1182),(13045,17,1201),(13046,17,1202),(13047,17,1231),(13048,17,2401),(13049,17,2501),(13050,17,2503),(13051,17,2515),(13052,17,20001),(13053,17,20002),(13054,17,23001),(13055,17,50101),(14504,18,11),(14505,18,21),(14506,18,31),(14507,18,41),(14508,18,61),(14509,18,71),(14510,18,78),(14511,18,81),(14512,18,91),(14513,18,95),(14514,18,101),(14515,18,111),(14516,18,121),(14517,18,151),(14518,18,161),(14519,18,221),(14520,18,241),(14521,18,262),(14522,18,281),(14523,18,300),(14524,18,331),(14525,18,332),(14526,18,333),(14527,18,341),(14528,18,342),(14529,18,343),(14530,18,344),(14531,18,531),(14532,18,701),(14533,18,771),(14534,18,774),(14535,18,1001),(14536,18,1004),(14537,18,1101),(14538,18,1181),(14539,18,1182),(14540,18,1201),(14541,18,1231),(14542,18,2401),(14543,18,2501),(14544,18,2503),(14545,18,2515),(14546,18,20001),(14547,18,20002),(14548,18,50101),(14549,18,59001); +/*!40000 ALTER TABLE `llx_user_rights` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_usergroup` +-- + +DROP TABLE IF EXISTS `llx_usergroup`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_usergroup` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `nom` varchar(255) NOT NULL, + `entity` int(11) NOT NULL DEFAULT '1', + `datec` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `note` text, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_usergroup_name` (`nom`,`entity`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_usergroup` +-- + +LOCK TABLES `llx_usergroup` WRITE; +/*!40000 ALTER TABLE `llx_usergroup` DISABLE KEYS */; +INSERT INTO `llx_usergroup` VALUES (1,'Sale representatives',1,'2013-01-16 20:48:08','2015-10-03 09:44:44','All sales representative users'),(2,'Management',1,'2015-10-03 11:46:25','2015-10-03 09:46:25',''),(3,'Scientists',1,'2015-10-03 11:46:46','2015-10-03 09:46:46',''),(4,'Commercial',1,'2015-10-05 21:30:13','2015-10-05 19:30:13',''); +/*!40000 ALTER TABLE `llx_usergroup` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_usergroup_extrafields` +-- + +DROP TABLE IF EXISTS `llx_usergroup_extrafields`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_usergroup_extrafields` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `fk_object` int(11) NOT NULL, + `import_key` varchar(14) DEFAULT NULL, + PRIMARY KEY (`rowid`), + KEY `idx_usergroup_extrafields` (`fk_object`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_usergroup_extrafields` +-- + +LOCK TABLES `llx_usergroup_extrafields` WRITE; +/*!40000 ALTER TABLE `llx_usergroup_extrafields` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_usergroup_extrafields` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_usergroup_rights` +-- + +DROP TABLE IF EXISTS `llx_usergroup_rights`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_usergroup_rights` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_usergroup` int(11) NOT NULL, + `fk_id` int(11) NOT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `fk_usergroup` (`fk_usergroup`,`fk_id`), + CONSTRAINT `fk_usergroup_rights_fk_usergroup` FOREIGN KEY (`fk_usergroup`) REFERENCES `llx_usergroup` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=200 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_usergroup_rights` +-- + +LOCK TABLES `llx_usergroup_rights` WRITE; +/*!40000 ALTER TABLE `llx_usergroup_rights` DISABLE KEYS */; +INSERT INTO `llx_usergroup_rights` VALUES (1,1,2401),(2,1,2402),(3,1,2403),(4,1,2411),(5,1,2412),(6,1,2413),(78,2,11),(79,2,12),(80,2,13),(81,2,14),(82,2,15),(83,2,16),(84,2,19),(144,2,21),(145,2,22),(146,2,24),(147,2,25),(148,2,26),(149,2,27),(150,2,28),(133,2,31),(134,2,32),(135,2,34),(136,2,38),(137,2,41),(138,2,42),(139,2,44),(140,2,45),(86,2,61),(87,2,62),(88,2,64),(89,2,67),(90,2,68),(7,2,71),(8,2,72),(9,2,74),(10,2,75),(11,2,76),(12,2,78),(13,2,79),(32,2,81),(33,2,82),(34,2,84),(35,2,86),(36,2,87),(37,2,88),(38,2,89),(173,2,91),(174,2,92),(175,2,93),(176,2,94),(40,2,95),(41,2,96),(42,2,97),(43,2,98),(66,2,101),(67,2,102),(68,2,104),(69,2,105),(70,2,106),(71,2,109),(21,2,111),(22,2,112),(23,2,113),(24,2,114),(25,2,115),(26,2,116),(27,2,117),(164,2,121),(165,2,122),(166,2,125),(167,2,126),(141,2,141),(142,2,142),(143,2,144),(129,2,151),(130,2,152),(131,2,153),(132,2,154),(44,2,161),(45,2,162),(46,2,163),(47,2,164),(48,2,165),(49,2,167),(54,2,171),(55,2,172),(56,2,173),(57,2,174),(58,2,178),(120,2,221),(121,2,222),(122,2,223),(123,2,229),(124,2,237),(125,2,238),(126,2,239),(29,2,241),(30,2,242),(31,2,243),(182,2,251),(183,2,252),(184,2,253),(185,2,254),(186,2,255),(187,2,256),(168,2,262),(169,2,281),(170,2,282),(171,2,283),(172,2,286),(197,2,331),(198,2,332),(199,2,333),(188,2,341),(189,2,342),(190,2,343),(191,2,344),(192,2,351),(193,2,352),(194,2,353),(195,2,354),(196,2,358),(151,2,531),(152,2,532),(153,2,534),(154,2,538),(59,2,700),(60,2,701),(61,2,702),(62,2,703),(177,2,1001),(178,2,1002),(179,2,1003),(180,2,1004),(181,2,1005),(72,2,1101),(73,2,1102),(74,2,1104),(75,2,1109),(91,2,1181),(92,2,1182),(93,2,1183),(94,2,1184),(95,2,1185),(96,2,1186),(97,2,1187),(98,2,1188),(99,2,1189),(76,2,1201),(77,2,1202),(100,2,1231),(101,2,1232),(102,2,1233),(103,2,1234),(104,2,1235),(105,2,1236),(106,2,1237),(113,2,1251),(85,2,1321),(39,2,1421),(14,2,2401),(15,2,2402),(16,2,2403),(17,2,2411),(18,2,2412),(19,2,2413),(20,2,2414),(63,2,2501),(64,2,2503),(65,2,2515),(114,2,20001),(115,2,20002),(116,2,20003),(117,2,20004),(118,2,20005),(119,2,20006),(50,2,23001),(51,2,23002),(52,2,23003),(53,2,23004),(28,2,50101),(127,2,55001),(128,2,55002); +/*!40000 ALTER TABLE `llx_usergroup_rights` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_usergroup_user` +-- + +DROP TABLE IF EXISTS `llx_usergroup_user`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_usergroup_user` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) NOT NULL DEFAULT '1', + `fk_user` int(11) NOT NULL, + `fk_usergroup` int(11) NOT NULL, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_usergroup_user` (`entity`,`fk_user`,`fk_usergroup`), + KEY `fk_usergroup_user_fk_user` (`fk_user`), + KEY `fk_usergroup_user_fk_usergroup` (`fk_usergroup`), + CONSTRAINT `fk_usergroup_user_fk_user` FOREIGN KEY (`fk_user`) REFERENCES `llx_user` (`rowid`), + CONSTRAINT `fk_usergroup_user_fk_usergroup` FOREIGN KEY (`fk_usergroup`) REFERENCES `llx_usergroup` (`rowid`) +) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_usergroup_user` +-- + +LOCK TABLES `llx_usergroup_user` WRITE; +/*!40000 ALTER TABLE `llx_usergroup_user` DISABLE KEYS */; +INSERT INTO `llx_usergroup_user` VALUES (2,1,1,3),(3,1,3,3),(4,1,11,2),(5,1,13,4),(6,1,16,1),(7,1,17,1),(11,1,18,1),(8,1,18,2),(9,1,18,3),(10,1,18,4); +/*!40000 ALTER TABLE `llx_usergroup_user` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_website` +-- + +DROP TABLE IF EXISTS `llx_website`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_website` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `entity` int(11) DEFAULT '1', + `ref` varchar(24) NOT NULL, + `description` varchar(255) DEFAULT NULL, + `status` int(11) DEFAULT NULL, + `fk_default_home` int(11) DEFAULT NULL, + `date_creation` datetime DEFAULT NULL, + `date_modification` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_website_ref` (`ref`,`entity`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_website` +-- + +LOCK TABLES `llx_website` WRITE; +/*!40000 ALTER TABLE `llx_website` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_website` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `llx_website_page` +-- + +DROP TABLE IF EXISTS `llx_website_page`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `llx_website_page` ( + `rowid` int(11) NOT NULL AUTO_INCREMENT, + `fk_website` int(11) NOT NULL, + `pageurl` varchar(16) NOT NULL, + `title` varchar(255) DEFAULT NULL, + `description` varchar(255) DEFAULT NULL, + `keywords` varchar(255) DEFAULT NULL, + `content` text, + `status` int(11) DEFAULT NULL, + `date_creation` datetime DEFAULT NULL, + `date_modification` datetime DEFAULT NULL, + `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`rowid`), + UNIQUE KEY `uk_website_page_url` (`fk_website`,`pageurl`), + CONSTRAINT `fk_website_page_website` FOREIGN KEY (`fk_website`) REFERENCES `llx_website` (`rowid`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `llx_website_page` +-- + +LOCK TABLES `llx_website_page` WRITE; +/*!40000 ALTER TABLE `llx_website_page` DISABLE KEYS */; +/*!40000 ALTER TABLE `llx_website_page` ENABLE KEYS */; +UNLOCK TABLES; +/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; + +/*!40101 SET SQL_MODE=@OLD_SQL_MODE */; +/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; +/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */; +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; +/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; + +-- Dump completed on 2016-07-30 20:24:56 diff --git a/dev/initdemo/savedemo.sh b/dev/initdemo/savedemo.sh index d4d6750d715..fe9cba72c43 100755 --- a/dev/initdemo/savedemo.sh +++ b/dev/initdemo/savedemo.sh @@ -187,7 +187,6 @@ export list=" --ignore-table=$base.llx_bt_webseedfiles --ignore-table=$base.llx_c_civilite --ignore-table=$base.llx_c_dolicloud_plans - --ignore-table=$base.llx_c_lead_status --ignore-table=$base.llx_c_source --ignore-table=$base.llx_cabinetmed_c_banques --ignore-table=$base.llx_cabinetmed_c_ccam From 9191692bb201caef7aa852b7378b915fa2eba8ed Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 30 Jul 2016 20:33:01 +0200 Subject: [PATCH 179/476] More files for demo data --- .../doctemplates/invoices/template_invoice.odt | Bin 37996 -> 0 bytes .../doctemplates/orders/template_order.odt | Bin 25555 -> 0 bytes .../doctemplates/projects/template_project.odt | Bin 29375 -> 0 bytes .../proposals/template_proposal.odt | Bin 25866 -> 0 bytes .../tasks/template_task_summary.odt | Bin 21249 -> 0 bytes .../thirdparties/template_thirdparty.odt | Bin 24295 -> 0 bytes .../produit/DOLICLOUD/dolicloud_logo.png | Bin 0 -> 32826 bytes .../DOLICLOUD/thumbs/dolicloud_logo_mini.png | Bin 0 -> 6329 bytes .../DOLICLOUD/thumbs/dolicloud_logo_small.png | Bin 0 -> 17054 bytes .../societe/contact/10/eldy_php.jpg | Bin 0 -> 35160 bytes .../contact/10/photos/ldestailleur_200x200.jpg | Bin 0 -> 7444 bytes .../photos/thumbs/ldestailleur_200x200_mini.jpg | Bin 0 -> 1747 bytes .../thumbs/ldestailleur_200x200_small.jpg | Bin 0 -> 4136 bytes .../societe/contact/10/thumbs/eldy_php_mini.jpg | Bin 0 -> 1805 bytes .../contact/10/thumbs/eldy_php_small.jpg | Bin 0 -> 3999 bytes .../RQ1607-0001/RQ1607-0001.pdf | Bin 0 -> 15079 bytes .../documents_demo/users/9/1/eldy_php.jpg | Bin 0 -> 35160 bytes .../users/9/1/thumbs/eldy_php_mini.jpg | Bin 0 -> 2532 bytes .../users/9/1/thumbs/eldy_php_small.jpg | Bin 0 -> 6266 bytes 19 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 dev/initdemo/documents_demo/doctemplates/invoices/template_invoice.odt delete mode 100644 dev/initdemo/documents_demo/doctemplates/orders/template_order.odt delete mode 100644 dev/initdemo/documents_demo/doctemplates/projects/template_project.odt delete mode 100644 dev/initdemo/documents_demo/doctemplates/proposals/template_proposal.odt delete mode 100644 dev/initdemo/documents_demo/doctemplates/tasks/template_task_summary.odt delete mode 100644 dev/initdemo/documents_demo/doctemplates/thirdparties/template_thirdparty.odt create mode 100644 dev/initdemo/documents_demo/produit/DOLICLOUD/dolicloud_logo.png create mode 100644 dev/initdemo/documents_demo/produit/DOLICLOUD/thumbs/dolicloud_logo_mini.png create mode 100644 dev/initdemo/documents_demo/produit/DOLICLOUD/thumbs/dolicloud_logo_small.png create mode 100644 dev/initdemo/documents_demo/societe/contact/10/eldy_php.jpg create mode 100644 dev/initdemo/documents_demo/societe/contact/10/photos/ldestailleur_200x200.jpg create mode 100644 dev/initdemo/documents_demo/societe/contact/10/photos/thumbs/ldestailleur_200x200_mini.jpg create mode 100644 dev/initdemo/documents_demo/societe/contact/10/photos/thumbs/ldestailleur_200x200_small.jpg create mode 100644 dev/initdemo/documents_demo/societe/contact/10/thumbs/eldy_php_mini.jpg create mode 100644 dev/initdemo/documents_demo/societe/contact/10/thumbs/eldy_php_small.jpg create mode 100644 dev/initdemo/documents_demo/supplier_proposal/RQ1607-0001/RQ1607-0001.pdf create mode 100644 dev/initdemo/documents_demo/users/9/1/eldy_php.jpg create mode 100644 dev/initdemo/documents_demo/users/9/1/thumbs/eldy_php_mini.jpg create mode 100644 dev/initdemo/documents_demo/users/9/1/thumbs/eldy_php_small.jpg diff --git a/dev/initdemo/documents_demo/doctemplates/invoices/template_invoice.odt b/dev/initdemo/documents_demo/doctemplates/invoices/template_invoice.odt deleted file mode 100644 index dad29a292efcae907c1af651f8caae0fba453ec1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37996 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 diff --git a/dev/initdemo/documents_demo/doctemplates/orders/template_order.odt b/dev/initdemo/documents_demo/doctemplates/orders/template_order.odt deleted file mode 100644 index 100afe5dac40738c940a936506829410a2e05243..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25555 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 PHsq%O!d$mjcUS)hQNnij diff --git a/dev/initdemo/documents_demo/doctemplates/proposals/template_proposal.odt b/dev/initdemo/documents_demo/doctemplates/proposals/template_proposal.odt deleted file mode 100644 index 8ece83c989c9ff688337dbb0edf6febd47eb0dcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25866 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 jUx%REKSA)Nd85A==G7F@&=G4A!~e?R diff --git a/dev/initdemo/documents_demo/doctemplates/tasks/template_task_summary.odt b/dev/initdemo/documents_demo/doctemplates/tasks/template_task_summary.odt deleted file mode 100644 index 76984ebcf8cb915a336d598a1899aa10abed260f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21249 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 diff --git a/dev/initdemo/documents_demo/doctemplates/thirdparties/template_thirdparty.odt b/dev/initdemo/documents_demo/doctemplates/thirdparties/template_thirdparty.odt deleted file mode 100644 index bfc4fa822f28f6756e7dc774dcbf706a99fe2772..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24295 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

nmG&9F; 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 bqDt>KOTD@hItF4GG5n_pzCJJ+ApZJ4yRc%? diff --git a/dev/initdemo/documents_demo/produit/DOLICLOUD/dolicloud_logo.png b/dev/initdemo/documents_demo/produit/DOLICLOUD/dolicloud_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6cb078b8ef964e47f53e78e36fb83658d67721a6 GIT binary patch literal 32826 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�mXT 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 P0JzCYDoIp|83z6z*wDPC literal 0 HcmV?d00001 diff --git a/dev/initdemo/documents_demo/produit/DOLICLOUD/thumbs/dolicloud_logo_mini.png b/dev/initdemo/documents_demo/produit/DOLICLOUD/thumbs/dolicloud_logo_mini.png new file mode 100644 index 0000000000000000000000000000000000000000..fdaaedc73ce9ce34e887ac5b97bb2b54ac696291 GIT binary patch literal 6329 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 literal 0 HcmV?d00001 diff --git a/dev/initdemo/documents_demo/produit/DOLICLOUD/thumbs/dolicloud_logo_small.png b/dev/initdemo/documents_demo/produit/DOLICLOUD/thumbs/dolicloud_logo_small.png new file mode 100644 index 0000000000000000000000000000000000000000..948dc776a7ff883363fdcf28c3cc52b5587bbcb3 GIT binary patch literal 17054 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 U-ZXJF0TU5}r>mdKI;Vst0LbcS;s5{u literal 0 HcmV?d00001 diff --git a/dev/initdemo/documents_demo/societe/contact/10/eldy_php.jpg b/dev/initdemo/documents_demo/societe/contact/10/eldy_php.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8ca631331f56fb7b5aa61b5572cdc28ed4d5dfd5 GIT binary patch literal 35160 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 literal 0 HcmV?d00001 diff --git a/dev/initdemo/documents_demo/societe/contact/10/photos/ldestailleur_200x200.jpg b/dev/initdemo/documents_demo/societe/contact/10/photos/ldestailleur_200x200.jpg new file mode 100644 index 0000000000000000000000000000000000000000..df68aa5f64fb1202ece7ffd58dd4af73504f8fe6 GIT binary patch literal 7444 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 O1bFGd@P*Fj)Bg`Ybcdh- literal 0 HcmV?d00001 diff --git a/dev/initdemo/documents_demo/societe/contact/10/photos/thumbs/ldestailleur_200x200_mini.jpg b/dev/initdemo/documents_demo/societe/contact/10/photos/thumbs/ldestailleur_200x200_mini.jpg new file mode 100644 index 0000000000000000000000000000000000000000..aca4a6e0586a0bf8b38002f5a9f89d2153a4f266 GIT binary patch literal 1747 zcmbW#doxwKwQY>;` zG$w|wl+r3GcXBDWcJ@?eD9NVTvAd@|XaCyW=RMC~&-c9N`JDGv^eJ8enhq=u3xGf% zz+UA66kh?$t**>1yPRDuz@UINp+|T@V8l8zDo73&gd7S2ISy>lVJDLfMwnA6tHH2v zzXKshqd;rWoQhVw1hxW5I0A`)BasLs3WZcbYogJrs%YF&4RuXz-16nxI6R)P(nz16 zL(;|L!POvXl`+MHvO<3ibq$$nM5d4zFM*&?D6|S1i$-I~1U!NKpG(mQU{nBmz#axM z0H7EM3$%si>mWl!01J01AP@pl}!h0f#HovC26B#~_vw z*KI*!UHni6VYv12srf1-J5iIC>kFA7Z67~D6^++kzJg%1%9u3ZtS=o;rQz?78m~)6y?yWM*B;zFbgvt*E%9 zw5+^Fe51BbQr~d%{)6U+k6Ir8+}hFE)!ozE*FW%jbZmTL^35;OU**#?A3n~0n)^Jz z=z;*SKUv>o|8QZHE+`xhgQFH*5NM>bVHh}qxDL5&iwnvx3~R7HUIk~DnlEZnCDB}E zTKo7f(0IcQuZ`r3v_EA34wmr0WZz(ay9NMt7)1GaFbrS|%+sv6PUZy{Le%kDqNyFe zF+D!Dqbp6f>C4yOzOc&b)NfCZL)t+4Ep@K5!;I%$GpUPDlyAV5hq=0#yeA5vdJp^T zZC>I2wwe6+(73@?W`(U?^12#%{c@9ghXm^8l= zwRTJaV4Gg=fO<f;Ec!IkKA28N(>u@2a!lGwNPnZ`q3Nw5jd*BFr?F zYn&m*h`6Mh+3_k{H+n^3yC#}vjw)jAeiCpY5##JG@Rh}1+mam@M7rZ2s;AX;BY5nN z=x{FW9$(hVJf^$kP?IB{bh5=ObDHeapOH|LnqabNs^R&oTWYWLHB&Hie6>2#J911z zi=+9}T!O~f9%DmnuIZDzSd)Rdl;+vY@rA2Awp%-pHu6SR?ILYoQIXKmqTXHPry=o; zrfAr7xutQ^A6i;*5ftfWJ(`^L@|_-|b{U1}7T|7u{oc_yW835-(O*+4cF^q8Z93vy zboAxb0dp0_tR8A;S*n#8$^T_Y`^Se-Um|N_^Y+z1S^VgDE+a6z-=Q-(X~C4;)A@kG zphOaHC1-^O8Gfbv-?zw0Odj7i>lr8+s+E*kvM1(e+`lkJb^6B-(hs~gtv~dGt#cfk z-r+M`TbfMdPTDuwU3e?}X-{Qf@}OH)wpdo^=#1xPsH43?3X|EcZ-IsV!gpnpZNp9v8V!GQ@e~MCSQ2o1d0&~e zZOpwfre!{%U&?j}neSaWI(6=*_F02)hFX-+!n?8YiUPPXgqoQx*=rWV&K=N4jhrtA z?D6K)VOgs;er4zVNS{fq&zR(0bSx4=H$Dn&PmBY7=h8hyIj;SBd510PCFf6QlOmi2 zNy-mnQeEc#4?jqdkZ?j`B{ z)N7$N_}o!Szpn9yXwvu|W;&>+08aZ$*AH<_npQUw-?R2t$|iHe&sTao)!DsZ7Y*uJ zw!XA`Gjh`NKAOwP>8=Rg7(YWWO2+u!7c%~m=!GsX-pI)h=ZEYj4pt|r5M!2o_ljq)J2p~_+wG2_a7y~_ zi^Ig*F5{Evra8xsX9T2Mdgz{MG%lTYshSJ&64%dE1`033E;Z|ezHt_L0;X2ynIiar zXnA5yMpe|r^wYIf_;)ymrvae)QYYcchPIu-vf&dhO#Y}r1}nA5SXgX-3QaD!F3MN* F{|>s?@0kDq literal 0 HcmV?d00001 diff --git a/dev/initdemo/documents_demo/societe/contact/10/photos/thumbs/ldestailleur_200x200_small.jpg b/dev/initdemo/documents_demo/societe/contact/10/photos/thumbs/ldestailleur_200x200_small.jpg new file mode 100644 index 0000000000000000000000000000000000000000..266ee91d60af2c819e2bedff45b220f195edd705 GIT binary patch literal 4136 zcmbW&cQhORy9e+@NKiFXlpul%I&6ZNUnBOYy+@5IMa*c8YHL(uD{9xMDr%3SrABE{ zqhiz^X^awkm0x@BJ->U-{p;TQe9rUN^FE*Ryw2y3&&9;WJb+PK1ET=|0)YUBKL>De z4v<$fR#&-gU@QlBbGdQX=Z+gZQ0%5C92tQ1@OFb^v^C+{hU%K|Kv_|t>u}!y$9o?B zA#gNYR+RQ)8lVOMQ&NGcD8XPVFa!dore&n1rJ?`s1RYqy$ky{F8b8p5%8%WI$xud(fn!pdqx77OHPK za5Z7!qrwOfgd=B}tZU(tg^C>9VBB>;_*Kb8;9*G>0ZIXuCyqxx!(+!&0Ql7A{l!P2 zAYC+33fpz+jOJYxA^ z7h*zZHcF7B6+8qRjphSKRyQd&DGg?e>W3PJ7~{;*mBEeL!;QsX->=%0F;T|pcVcn? zro9TQ@!J}~`&X9j5J%ZNXIVC3+VqvZH;(B=k}d#GlFB<2SKBgUf6@bf3tM~GBE}2~ zYqR~7(jZY=c49?m=FOI>ww)!FLAZ)|PMJYs@xxLVsHhR^4I1x=rld>bTQy)}Rvv!dhotE+KOdOg)@ zY}_J!ptW=9ln+{9A2|Clun;hg=Z{l;+qx5;hQl6t@#h`B;wyGOis}S{5raJ>jRaL& z#a@r?_dQX!qfg~d3<;iJy=QE257lu7upOU=o-6X2P21-cpq}0b-rUlpBlA%^uJ6v{ z{+^*f8NLYbpc#CR$BkMA`VUY3 zK5~Tqxhvk@`wTHwUE&Sex(NMXQ(93atCOO4`y_k8;K3b{gqW#{E`G`Tep+y%?8oyo z-w|<#6ff?`g_p>;k`wS4pE#gm>3GXC^*(U(bA(x_f3JeM-W|Cvwy*0poVCMoHIj>v z5@G*n;-Jt$jT-VZ{PvCzC6ig)ScJ7u2Vd6B8zA+%9pSxT2Z`}yNrT<)+Gf+T>PU?rv{g!=}zkFEMp>wj5w1K1*K z?RMJb5LVJ|Mesl5=8b;>Tn(VSRkm)gcQgq)ay<>c&IkdGJ(8^gMYIy=ii{jIBO1EWNJK2B^cdV5^||!PVX@LX<%e$`9zHMl|JS{W;0bt`(kt~xKt1Q2yGk>)C^{MWR#+%-6WV>hEwU`90?T@i4v%6Y@ z5A}VNRQ|CY(d}%TYMx+7#bGgn$_l5eIq`9NQ9%{{uuf;x{$?Bl9LHhyQ&f&4o>+LW zpAT`PMWef+zuNbVTqu$uHolsIZID$GK8J+OQid&!8K+3=D=)H2(5#> zM&NHvzGL&q9~xd~YQEQoZVE9vKJ29=4D;50;}-d%C_<7R4`MZM7>*hEB(4q3W{Ho& z&#YApu(4=kSH690X!_9sWZ%%U%o;?2Nz{mU1&Ps%6*@OQJ&)0s&(mJ9a>p?pCP^Cg z5D>_SV*^<(k*4}+Z@l4QmB856K9_WWbSED*%4`!xAj#sRk^7v8D zUnlphjedmu_&G;1Zr*f2UTf5Aaf;V)rUS;)`9eQgg;}9Gbr0sO}Tk?g`k~=A?ugc(?SMHE@UF1svXF%@btlc>p^=nn-Lb}I3T!Rx! zq+|0k`Un?O6LVa)MeMC7^Z+1%PqH--n%Qfm8Y&~z+z%;*@ZjCKfLoZ9(PB^~HcGkI zE!SXOT}E)4T$uLJ2aQ@HKz#`iNeZ#P4iaW=%rL@O139Q^W9-KOW$D#V1<*^_gm>$h zC_Ul6!y{Gq<<`PyrNNf-PwZ!&g54=oDhm}FI={TqS?S~(GyvSkZ}9QbW83VN2lvqy z^g?A7*Y%=PR?+2`jB-6Wqv*;TR6fxW!G#T{&`FO%`rn6Uro3OS1*!%~Ro!=P>kmm< z-s>x$<(&2uRKM~5wbX#FAUhbe1RrgfC-uT*Uqa(zU{+s-~YvI)6lFc$g zFlSFY>#$^cecRZG{HTcJ8)t0Y9tiH7Um3TwX#WHe{Z&tAK=8;pwofVJ%1+xJjl}PQ zAd0hO`QLY2y~(-kNw(V0VpmbNdAc?a>_-@x?t5Z+H?xuF^)F<45Gp&86TKzJ21n*m z-F^mCcwv{c_t~S%s;lTg;$ly&;7P{D!huEKxod4z7{BMCPTfpQ^lx$H4;3NrvcIRL z_^g}uF<~XD?YY+vmf81(`j^<9IFE;I9Q{h-^s_CRGY_Nzn@P&2v*)SY55qZBW#`RY zqY_4;dBh4xv72YsY)-)xXO2Dzp3v~ivMmCZ1sLu_hqKrzkyE;p!reX2IqMy;L6_`g z9AxMO*DgB+e_7m|Swgo*d~j)iUCnUSIDdAw{#lB1vZ(3wcCy6R8X6szWG(ogUwWLW z_Psz(U@@ouAy}nF>z9D$Nwk#mb&q)ey^1+DuiA0F4Ib&dve!)-8!)`)&&!TB8ko7O z-Foh_U+hZ8ii$Z4_oQ(FU3WPJ&g;W2b6@h~hM<1Y3}EG5b*~V!#;Tj%r>p-15dGyT zB5_AC{nn3v=8&#S`4laAmw+WRq{s+1HggO+mzEvo+%(hC(#c+OYa(WfUUz^2AIP8>VhtaE#=rt$}oQWqjn#A9UDtvw}qKea?=tcoS0&aUlCp zvERhECd{Tu*X+L4HNmLtF>+$4DNTylkhTyf-n~d-<89<1)&fU-CTV-wV7jW1neLoK ze|Q#c(9>$){eh)k@3sP~;D&VR^Xj~e-_}(tb^%zw9n|&iSQP)s7&7SQ0Xn?v1N*YO z-3{i^&rZHX?Pc@cs^F!kE?A62U_klOIiEy$M2GEC;!uco? zZC1;&+w0Q<;KCmx448u%Hdqo}q7Hqli5_-Oo1ZyKz1^|2E3+(=*HRj645QP@+q@M1 zOT6h!^8#S?KAhzUBbA{z>VDT#200hSjMOz5Cwm_Q0Z& z+5Hi5La{XW`D&pLm?1{`Dc9nJ4F`AUhxu&V;++|&?|;r(Q@}0`Xc{z~f-}xl>|9>( zNQ5$IBdbg(sz7m#T`r`Sm-fof%QT6Jfg$f>5?xLX&pcl>KHrd%zl`V7t*&7f4NTwK zQioQH;twPXP?qJn<*z4Hgym9UkL1jSLh?WH2RqTr7RHeZr?r-I;};b)3)E;+MZ6Ocpax(VVEI@BV$9Em;{262?ig3KH?k`<3e-7(A=p`m;|DU zfgy$!ej+*b(g*|8sy( z03;l627;gvJwOHtfg&MbFQ5Ye5Lqd8NBggU$UtGTyX4^Vh~3hGHYGp?0)@)Jpt7|H{5T1(DtysqqFPjv);b`fx+i5CSD09r>2E7ujk(_ycaEg__(wz zS^2WMw*K|o?;ATV2mt*j>rdH#xR6qp3=9T^$?doxGKtcHB4M(+gk30#huj&Kvfhyl zxQZR8s-;I>-<19t9UM1~P~C4fkCp7u{vrGCV444y>`&OgU9SNJC`5WZC=wt8y(=Se zkUrhOkyH0>mi-0-3ya$1?zV(ckNd%vB<()eus7LPBK^Y=Y=dmW73!(Z#}C-p zn2Jo(!cO!}qvmka3|$aN7t{wlFXe1)%VMZ(ImUwN-4hI5v}6zcpJV04V5FYpS@2 zd=SuXLcdRZn2%3&w`mw=^Im5@$oA9>$!Kp3&3|+G1-UXhq8Xmd6V=QL zoAQ<4Yq56DyJ5ZbujWEEEG&ui#ulx8yTzF6{=*E3d>RD2Z4Zq-z1MT+Wxur-b!g}Y z_I2Sb|Dxaf`h9r~6Ug!NE*;|ML8K7^%_Qk>q^6SUmOk7|@$=w9h9QAH85?l&_TG}` z1H^{Gh5_t=KD)%~$+bU{iR-lo^0WMf?HUS@z#NVrPY(nNgdp%s;dWTNzLsq0Sx!#3 zoh=CXSbY#|PGb|pD+OxZA@G3o1#73kgB7>sPvW5Fjc3eCSB&0PDk>~fG!rU!)A}p){So3H78y9=^cxRvrZ@&^KmCev8yY8?VTK-Jal#IkF+O3@7%W; zUvxIbt?OORRYF3D0(|wJi9)+O;g?g_UH8eG{W=uoXN)7WBiDHnr%=>&;I|LB$INPO zO2J62?Xw@3P7Ha5KSB*se&Q615}M72&x+k1sBF!p>%8c)bxUrF32g1W>6y&9QfATo z@@UDmllbKrn%G~-K6cEl7jT?_ukl-{Xwz>widh~L6>J74Af67d&g16$SG)}uFt2Y8 zdu@(WO{~n)tcd#;^ssc(C7-J3+q^UczNxll@GH(&8w3jLRUK>wL{ybL`yMTJM1PrAc1AyLoTsKHc5!?5Ew?ncwWp(k5u%09KT~p*{ctfdHqI1Zc;= zm1}4{9gHbjO$djT!~478ghCbN6@*|RL7u)iAw!gb5Xwx?KqwTUASEjl5aR6Z8B7q; z5K>WKrcD9Y0M=71XIPk7&zwHP&c=F<2gb+4#l@p2DlPz1Q`S&dRYqLaM%tTb>ssqw zMwt1STRXboJaC%E0R(?+xV;C(lJbzKgC`5m#OR&p~Si*cgFapc@Pl z0qEF3U^Wn~0}uoN5d8`DulBzJLKb*(ETJiJ6O=hnG)WLJ}q=4Oh8z8KJ6n zO;=Cf0BMM_z*t&Y+t}W4#k#rUJUsD1!6Bhx;e?1gckjg~Bqk9vv$At?ALQj1ls+yi zuc)jdS3i5+Kz;GDvFTO&yN=GT?wl>)*2f;bJ>+(Lo?!2=uQDL>G2aU^WQ7up$Gyjycph;GBq3EF;I&j7Rlt zOrpx@4NjN9L1r#7_;>NmzqJ35{qJCL|1a6UVgK!#1X#eJljDKe04<;mrUzh}9bSDy zdy7>3n9x}waKti`I*`BC&?4@&vcV7exWwI)mF1b%OuD2$nIA7lWvB6yo2+E!i0&Uq z;_@GAh#kTKMnnS2xWS&mwLsc&C*XJa;)MB|fsin*dmd!t9i@(waS4X@C~0Jf1v}aKG$T4w~T> zK?35;2nk!rt4Dqf;rT=F$oIPSc74a&*vE%1OFJ;l`6;CMW;g6#8WBv7fZ=iD z*S@*`>?LEmEnjPhcMs~pMlK3c-bDe-(U=E;Q7vZ@JqDjl9ox9BygS0{4P1O!U2;G@ z6%sh(D}Ka3d^hu@E&m^z0!_+-%KbMz5qp6@cQe`ciZ`lMP7D9^>3E{(ilUw?eayA)$-It6bwx)=O)L->)DlG+;~ihkY34|A=1V*bxPZEs9{r4PR4p8$ zQ9n7AO#?zYFKX{zW+T*?bvBOi^R>sRcW7BsWE|YThD}EgRanc}d?tQni!nfXXSm$= zF%+XJ)nez=u{er(v8`L5_q-sQ-aX%&R0&=+e_FdZZt_L0`FHd&Rr_G|S8Vh@)q@h( zJjO%{yx6GAw{(js3abyGd!mA|G=Q&0iI7o310vrvOllhe-Q&WUJ@iOGGhFQ%nIuNI&OA+{7R0 zZ?$jPg}h)V+lz_^#yF$6LeP7I28XBt{(VyPE05Z==V$Wa)~8bs3(vERdd?a$2wVfL zT1`=|NuoN>E35nz?X!^Csk-pRQql{&=hDzqMGCMCl-0w@X6S7-gQsyV*SB83jZ8Wi z4e6OlyAkgFtF+A@tF5HnrCPlvvfkcx_B$G(Y%c~J7MBNesojR%k!I?Spu~-<=KWyl zR`d}>kzn0)uZ&VIeZh!238EI=lBew9&?{{L|#y=r@uDW_HB;`+#K;4hDh8lLK$UdcaTdif0s=Pb3Mu*K! zK1Vh8_;0ty-Web+CRgk>4I?a4b9tmZV_Q-TM4zf!Y>gY?_)b-os*f-U>3Fl zP7eMUX`hLU)7g-H`yLKh+l|CEkDzp>C@2+CU4$%eog)f#6kLn%*Jz>-7(qKT^vqr9 z3pCbL(2&NOseufq%iZ-MF81pySAJEbvj|-%BQ{o*ZP6pyBI%8?;K^*pt`_QEsfBtT z6a`qHzcQLRe%+JP&3V=KSXlp-$JM$h*P|Le>G)T~jdzVW7B9a3X`C_VKcYpKwief; zN{OVl3z|zuRdr|FLnmswlsrM!Jyv~EhnMLzJdjuUlMk%8^;QEZ?S<{7bhR^QtR9&$ z&BtgM`#~R(a!cuZHH0O~xLG?Cnq1eedyO4Kz$cHU7A_e-y-(yQ?AVY&bAR1Z5RP3W zS(y}HiS}sU;@?gy58>uwo2JhX7YpIH_%ZaI7jG^3!MG!6x7VyiY)z8vd_!bH=YguM zny>1@vk*dW%VumgrvoKpyaX;D8s~S_*~n6Nus$LMRjT z-%T~X>$|9qc_<+l)8P~`OxK$nPv-PR?ALcwjo@iLxrlPe?IWB9-c;UaK4DI^3lFzT z4kR2&qb2uyXh6(Pm3!4wsabMb!{Xaz6n)?No*?QxUs5DKzA=DbbfkFMO74gTC=iOn zE{s|`B2vE|)Blm-`wG5X)-vyQPEVmgCg!I|ocUJc4^#YSJDB|3#dB*Ae+7i*ZeoUy zSqX`m>Kq_P?f&?{ViYej`qM&crhOHW6wA_r&#s2tjo`OBCaa$o%&VRnkLeyBYT61k z)L4zccLnib%%Jd!>|hE@xBh~vWw)i!c!<-zZ_sEcDYTAp9QVB`=Vy))b`G)A%`w2o zexr`b?;-yxGk;jAm+Z8*frW1p#*5n1; zY(C$Y;SZXu2KA~bCt(&JaeSBL4%VG5tL<$=N$Ys;^|-0eQ4o_ThH%l*jdQK8ApLVMW5D@pwBp zGMf&stzoS5E3bc(IRZ%;SSV|_e=62CN_ZK1bn3t=(^3FGW*2)-AB3@bFHuj~IFH^- zhKhxi7RxF0+PJc-NfmF9VLhKPau)Sgyuptr^IS%% z0VPN>csfjlTF{hGQ}|-DYTZksfm*R&>Uh22Q(dyw#$bwL@(udS>O-kHP3aY{v`&4X zV>OVT=r2*}3!@aXe0;WoJ>J4?(SY4y?GUvjD`ctPtZ2D^n89VGVr#!ehmp$L`9jXz zp^>NkO#(X(NW(6CQlLe6LtJ_vQR{g&qA%d|;r&i40ohemHO@euhp9$N87_iL@-Ek<56$d;BF^S~^UY5orB527|-%zY(Vy52W{?qK_9)zcg^ z`pMO+nMaUsu*@r5K=Y!AQ z=G7h)jG0QWNI^FmwJ30C;5tLTC~2Mf^AWv&Va>}Cv`54JI0HK6%*fRQ4XJu2<6b#9 znzyNfbn#B|wTP*aS;=bqbp2ZvoXX8VpWV#v+IH=z8vt=6H`u+cBII(&06;Q{^30XV4{NMblfZr-#>N zQg6R$`mHiZu5;})xV#xXE_~FBvv65ncbk0wQmUsvLYhw|r)v?Nh3dLP{z^4ai5eR$ z>i%@o!6xp_sJOFw@G9gC3tKvM78QjUp+y-dt}(KT*I@X9u6|$ z7&N->GH_a)x5U7QJiTAUr4-$d9NraaZ1?i@YB}bNm;c^g+*_waOL_|7(>3NH3_RX{ptJ$v+GastQh z#nf(&czKI~fzY|+A%RZ{+Ot`ZkP;}ldVCV^_)K|jeooBt9{gz2KKyed`jy&7I-2Z` zH7wEP{w;JRf{iF+_CB@HSNS^yy)zlzRyI?X70<}VWGrlP}A`Joux@{m(Gc=WEPQv27@Hi|)QV%5$ zgDb(56<~0r0urtu4MRx4U=n*EP#YYT6hOh?s1W%TL~|S#kJcdtL0n*RFvcI`#}7pn zMLBt8MMV`j1c`vlA(1M|N(eUyRF^^`|C=Z}1RM_gZ{pZd@P7X$iZ+GzZ(`_@h%`Ws zREYA5JZwlbGz|y*h8j{x0c6Nev9CNsZGmN=povs68jwFG7?1|gqK7+x$KY%Xbs!oV z5U4hhNCGIjKol7?0f|{T0}G|0!HOed>1#>nwX&vA13ZC-qd=er1c0p`4nx8MYiouh zdeeL$aHOIlK#xkJ;Lv`oK{?NyJ8TCHw%5%&-o~J~v%Y?NcYbr^v34ZeFcV_XF!p*UK@DH@B7^s$2Ye;5Zjf^4lFAtDxBMx;vJd zxNw(&AnI=>m|Cn4qG`|Ij^tyx0>)7V%dbg`l=vlraSD*sY@>sMwF)`IyiYboj z$#f}li$!6fh13&oGY)j-i;X7Rj=%HJc*2&Wzy1?PI#=kILF0Wsr?KLP=0SBGK>iBW?!P%$d4QGo_fh zKNhL9dTJcQRw*WD+bOhfGzo1dLd#?3=8`GWGZig~Jj@&xLUI1QUrpf41-aVK{BrwZ z`4uLnlwc(0T9b_v$pLy&CdsE@;SRf~bNvZ#IewP|w`k7hhOzU{Man;q8yr z>=-O9_~=Dxh>r9xV%cwyFDe*!CCYl??PmEWXGv`wWZJ46K|IdN@fTNU_tvs<&t{pqcq5&$``vFa%R5Z=?OU?L#St zhMO(nWgdltn;{#I`<@?zwH7>okW8&@T%UFWbBZ_YV;?S!SN&{?e`HXS zD}{8wQ1#Y)+LP$%flXttr>oAej~P4d`gn^wwepqIn{Bnj(Tf4_gD0CL44e=srESF_mk4|`Ul$^Tt(Cj zZOuy;IVhtJ;&&fJ7o}}Ci7hUTYy@53vKImV+^w0;8@7A>VL#E_T|qm=aVMuYz8>&| zow)Likln<&W3IaX_T3wW;)@0Qw}0KKo-RG&Z1QmA?0^Sppu9RxXhVThv#N9E5-lW~ zs@z>YJ8f__+gN9hDW7uQ=G!&%28d&Ek&$=ZN4zj&VRySzzIoY*W-yx5gYdHFCXSkZ8bDs4)sm zMjxXcU(C23Ps5Z4Z*7}<{NgY+)WmlT=AA$1Jl;?lqw@WAP_ zm`mr(Q)V2}y3^$H1i8Jb;Rv++IuFXlFh@QKmM3|gyCGz>w9?Gb|Fh)~<*a)B*7^mx z>{l1^6g4Dz{B&i&{wX#RypS^omoGB)Qt|~Os8-(NgKYLTJW_`WX4d!E&h5lwGSj&& zibknJy#m9Oi>w7)eUG~~T#SDrLaX=O>X%ad1pK7`|$pg-|*_%rgZobR% zX(cFTWffn$gA_^5(NWRw)tbmaOqXdb4TbZCwj7q}C_sI6(qb+v;M=#Of!PHqd;`f1 zcI|o5IpTQ4N5&&3`v%+A&r_gQ5tGxG&&?0Oma|JP>3-{{RV%iRRvwu{UK$e*WIJFW zn|J3%5AtTaj4!j3+vjf4b{2CApSD`lRt|09G(&NAhbfPz;1AGy{Olo)F?V1htoKjc zx<4E2xaEysw`>Pk_J3Y z<^Cq^;5^GZ?fd*o@|}-E@@w~+S#a!xm@n=f+P=4LA-gx;>fHMvzRX<>!y(wROsK}* z%*(Z5i&lvj!(KOtN2T?tXxxfB$FlADxujXyXpRr~%%Z%(6Y(6igEgMm%5?S}i3SR# zZ#HW@O?RvbP?`J!HoLjtwZY#c#`kcBG_(Frw!X1w!O`27E~|9D>JRsrX4IK=1 zmUqP-Ti>ke;#@Im`Myc|ad0a64Z6)0>8bbu%yqZ3nsZtGN!g5a&A7dzblGlI!^{uGdL9cEG@5OSG~?bE+p3I86wA#(aL_!+Ps( zuJbC21R)kxpJCar5-QWgdXpZ0vM6jPY15>1ND1MW&nf{5U6c{Cyf!J(E~L&1ge9k;#PW$aD)Rm8Xkj& zKrPUIfQvT(y7h^GyT=o~Ay7v=QJYA`|7iHh3Gu(?B&$OrV1KZa|9k9^zq50)^xTib zteu;&A0z&B#AAUFMP3<*l#FnAZyy>&1^B5;B9JJyWHbht;!03tNI?TZk`A6mwZc(! zNq%G!ksh}q0TKKu^jQgktk4ucDkJu?q5uIZhDM@5;ELbLQ-N6Oj|2hc0e(avv;_u5 zkHfx)QSu5fB>j0cjvAQB3HLc>DA4RZ6d3-Zxp zrmW34#o5e#OkG%X=oIFx!d&z1pOXibMh)6bf({MOUYN&zN+WonqS>j zdmkyCd{FS}b+~qP(W3S@{1gUr{pdRO`OvPHbx!{-8b|6m{ z_1)g~Iw%B@naH%BV^V41R5Pd$_ALji1 z*JspR>9sD2q zzS?rA_=coy4~R<99j2;{gXuax^C4}p(xtT5^vw5 zzWIK!*s5OGz}UC($y7h&wk*P4zAbihE)_5Ko9Nu$*`6fIZ0paLe=PN$b{F~*WOvm} z!lq4vg{&zV2Q)>#ZQCIM(=_WnG#a~bRP4*HtIie%fi;FpS!^6H>ak%4vqx1&$7F&t z_omqG;4_`2`BqT8x2J<9n8LX^?2u7foN@}VT;X{bxV z7^IM0?y^+i!xOVZB41P7ouP!uJFuE^vZ!q$k{R-T+w{{*7m<>2N{b}|E{9Suhx=3P z_Gp!!yS9*$nYCdm8CLIRzJvXa>OQiIea_-Gug3aqS8rT!7}smK-e&*c)z0zOT<-QH z=cUD+O~~3^x40g>F%Q{(TCPU3$=GK(dllD!fNNX8!7IwHx&r%>7CE34)@P( zIB=jo4(xCESmx^n1>a-qU8ZC&U(gO6uNAXCUt}09dWteW@`Z)lZVyP@Gg?*T^aX>L z9sQx3@^@F{w!Y;z6#9C~*w8s)AT!TC7%6$CkM)y{mxo(I`kfG35!68{Mfelu46jXZ zaGO`F77Io41gKLWCh+WFFu z8xx)T;W7VP#jbCmv%W58$C9`)v(l$B?ZbT@bey=7A?x5)QS^GS>(<9-w&C#1cqY~O zu?(gMo_;rHg9 zx?7HkTb~%YV~bimAU~Wo&5{Zljwrh#YjVvxdikMDzeRGGQC-#zVtmz-g3nUcVs~+g zabg#lc`g*2xfmrDH7HSOIVWL6!fXx`sxFlj_y!n6$=6Y;&z4>>4T>EM+f<1566A?X{N22`JTZ=c8^^w^Epo_$L@#wp78ltjJds23rvu0v{9ir|4Wkiy4GiTyLh`PC!2 z*UGOOeAp9~UPF5;K08|W)H<2#3;r92(6)n^uOru=Y#?vm)OPKntWx5O`Jj5`)Q5ds z*JJu}D$&Z4XIn}UIgKx7d8xukpm6XeZ0llQT{_ySt}pXI$KeJ_ z(HFkJBC4kk;zfPr8CEjSSJA%HhUFQj-Ik)yr@ahH9XhOyI^%P5L&DTaAL_VAuGR7I z(>&Lsk^;@Rg7D6l#v0Lw(wa9W6={bYYS7LKJx&g{y*gN7LmuaNCH{&tR0E7?I_$`s zJTAISP95<-C*VF(C&#|@h=e^ia(7o0O=D~_;_LJIPh=;}eW6xM6RqAFV-X);^^OM$ z?Z)sney}XZz_I{Uy(~9M8H40qc2O8V=Qt4lkyp;FIsB>c{g)>7hIuObsx~^?J|`9U z?Aak_bU4w7vzeDCwn43BTHi7aSu69wH%|VZf6x9dk#EE1JPG5M^l#tjCO=i}t<3Jr zl4du*Fjn%*M{;M%oa^1GyZ$8us&l53J=^704>97cx)qU-;!p&?S4 zo|jt_8lFgW=k^w8)=lY>JkAHzD-=_z$7m(Ga`D{5Y$!HK)?3$5$m)EHre5vgt*_RH z$&($p)Wf9LN7PT$vUh%P!@;qd`1?&FD%2bWT@USr;;Nv9VV zmxjC%C;Mhm`-n04fDqks(pcu^{ZGi_?>OzsN#i`58;nGckflVP1kSPQG4tS`izX$p zf9POV7hxMU*kyp%&25JH9kEX83b8FGNtWb2N`a@t9nNk0AiDv6?X!P&L(mdxmxJK+ zDOTsn_ZWCA=kABT)@Dbx^uEvUHNS({Z7m=bCh`rYf(W*nZP);M7>UPhK<>h~Y|V&$ zk#^@?S?^|@IfF_50|foZpjV(|y^0Oft_!yB;P=nk9Ay4NWZK!olJg1amTfR!+(=Mt zxFMaLI{O)x9@iSI$H$D(Xk?Cg_qqdOkdC7wZk2q|)d}{Yt_Ks;6b`P^6=2MY` zTm7g*8*|kL)(7cj4{==By@8M8Qi5(HF~*5|w^oB^uFB!!DZA?a9HWc*{T@8A>r-G~ zeQe;e_^v5L($)%bZgx$vXo2;}eA}3?lN-LA?-0<8Z%XsKUW`W+-~YJu4w>=FpO02y zd=sa1l=9HCJ@>ehu&ao`Rpb55yNXc!{cKcrbAvbQOZ8LCdXa^(pupWEXW3wmyLbH$ zPfYD7klH&ZSjslXC*68D$)7`h^M1_v-jmx{w#!IiJ#J?*2g~Sg6l)i2*S>3hp-~%Q zeKvpM+6#Ti@=Zq=k~KHgaBjPgR^gt0$qbago>hKhx1sL*b`|v=rvVIO817c;E5JPh2xi&iw4>uv&zeIg2Cj zHLbHoCBuc-H6Cx^H#}ino}U)SVxF&mO^_#69&Alv5@Bl}TguvW=Io}LGO!rCQYCWh z9=qFEeZL)TAzeX!siUx@=3&`Lw&PrGgGS-pJ(Tt9zJS3ajSU-j8uA(K?`pDs7!X}} z;Uc~_eVdzXgSBYx2pfyIz*QMdQOHtg!&cu-k-E0LdiS-^NzvlMH}IdPk+OvHHf8P` z2bGM+Z{GVBd*H|wrxru_sJMnO{lZgdALzjvejw? zmN+w~4mnjuwurU+{QAw$c@+UDYJ{QlpxiRMQ$?pak&$` zg$swW)Ob7u^5Mdz1*|F)i`9ZWdme?}@D#wAx7yNbdaLZXIcoxkZ%B4^e!i2Zy(eFQ z(?&<-&6xY%Q4|_IBjJBmy1xo#IZ_&(&FLE%fF!4)m9Vn5&ksua3O9hwO!E)jdph-4 z6J!&wU(6&R*NWCODoKxJ6)B{}ltmSIrd)mHWH=&uoO7!rdj?E2rOP7vQSxlF7BQUQ zAjeuIp8J8Ds`-)QU~Kx<3*DFJRXlja7p}NU3V!M?dEWv;vlCh6bQkyO0+HL}>eSV4i-HBW);nukk>N}Q`km75?wWY@b`DWQn!I4nIk(Y~1$qg~W zrTR9UCyxeKcYT&9**;vt$0nQ!JkG>wt6#vuuIuiX?OE$hwpIvH}>5dBM)cv}+w4px2 z2NAMh6q?zc!)4stN={IF-pBTk{aUBm_3Ni295=mtl2+>3b#Lhb>F}+6YLckr`FL-O z!MNcwsKf^nFC{!kH}YA8KexLUbxkga-i_x!_Si0sY1aCUSWBmfEPKbp&nZ48s#|MM zjwcL<&ARis&whG-n7z5^@>TP@kxzDv3ifks`Z&CmNm=fjf6u4JJaSQXb84lH1{OKF zr5)lai`Ij&yN?QQBGo_MLoSzTlaf=9lDoKFA6Mf4uxB0*V%xbr#XZ6O6E!r-e&@Au zd86!cCe3Nkzv#)p_?N8>b#G8vlRAhV{guUV-9{9D|yEqssOsb$#-&@ zcav$!J!%w3rl{`Gg8Y$Jji-Y;+r}f*g5&W?|e`c0}R^I3(36imzNy+q|{#%&5{j0bbJLft!A{A?G5P^9{g7fp72oRJy7n zHydd-lf9p%HuWhCyxF(E!%e=~I_<(faLP<>2Swm=QPk#Wc~&yGrOxT;mw>>*XC1!I zWfNf;`yQsZbNiRF8}2s@IO7(HxqY^v90_7~QM4@Z={OPVNY$*VcO4cFdFYnUr3Q|I|`hh>HFC=kbq_Sk_4ZolMsddSF zZ>2U}lBS+?K6~~8TfDjZMY|O6OWlfxc0ph>Rf3e30dME}yZ-FmlKP0A_=eO`JJ#lg z+^s~Ztxf*h6nP{Ih7U3Mc#K-13;aI57OjplP~fn6YA4_@hkWI48!3M>tfb)VwZwCI zD6oC#3*QYblhIQ_(6*UFOX{w2Pfa8XyvvWQ7tk`uknZtm;Ice8ZP%T!=lP;vY}Lun zJ_z2y$WtbA{dRVVm;!ObAv+mA9R2&FGg-BTffZZhBZE*BOJX;#6x!ZJp?HfC9-fSygb_ZVbYn@w_ALNb!Y$Xv?t(`Ogh@c7oNRAA0UYKA8D( zF7MczW5M&-_nm+bNHsV!t9Gv|HO(%1lg6`ipp*mjQC$cWFc<-u7nS*Ln3QS{?aR=z zt!EP6a>w6ts-yQPQ;UzgBjRAf*%`Aa`J_!6a8UdyAF2CSN3S^hYw^$QUw+z_>)!iG zG|L+C&YuZ=0@NAv~*vMf1G-c=#_bxVsax>GJaI#B6aeh#Dz6H=jDg;%d-!5^s zmB8Mexc`+Jq3o#4KH2ewc<{#k(27#qW7g=AN1f{8n>2PsFon!tzTG>-v?vc^lPS1+ z$9p4Y7Lf8`Mmu`nydnQV+w(h4i$F+Wx5d7u9xcvy0GFR%O6@y%;i7~tL29wOC~})( zx3{geM9L?XgrxV1Gh;(TUwUV#^;IhUpNC_a#`k?n>Pybn&RtJXKaXw$T}xBq&?GfY=E zdd6FDYsFhD-jv=Gg382pW`BNz%$9ZcEFl6`ALG$VWvmBS%f$yq|%z`J7-I2V2)$4>1g!%u&_)|&s2B!G!Kt#94>j^zM`O@BW`X5 zG}>8z|H8n)d@8jtARw1OSa|#P&Y3fHr%z{idRAs;*5>Bk$;(4)Xh_)1bzb#}Hf z47Qz(jh}<#Tu8{Zqeqp+#CX`*qa7TM?%P+BlOrW4=&h&MQd)Z2&u`a`9gZlJ04Jvb z6k2us_}zkn2zz^ksOYuiWSY6T%I@9e@$o+T`qE(VrI?u8Cr&u1sEF|LzMY(WH#Ifb z+6v*}xs{crDmrtL{?A&?(^5uI)MfOOfn})_-5Xb`rn&|J> zk(Pem*Y|38_{EbaeRuCFiHeRrdX$65Ur$YaaN~xHnp%B+z5)nj1_I5#di8cc>>TRo2(z^n(=!6xUYeMnuJ78U0u`p^S4i(8h-fD-^4^?&mJQvRDRd4@tz){v9Y?OWPejrtdo;C zAD^s{ke9CR>#?y!XXlC|M{JdpA{`vwym&D+G^8ah9cW?ESW+U!%WEnxKR-Q<6c@)E z7+4~J^NUq$S(&T4I!;F?z`|ng_3OcwmdcEbzI*p11O%)U73GA5^<-s9CMISI3NT?| zKO-Xx1qB5Wkx(0(LpC<$iHTG*Gj|P*2bGnR&z^-?TR*O^53;oM)Yk62e*IZ{`_r~I zimB;d6v|Fn86_dneBr{qbLScg3zwIdn>Q(D{8j1c6*a5(NmdjR#ui6|xIlqw9-v|b z7X)0PFm6tCzW=ZL{eNTN2+X)6qF0&#w?g!*C7__kKpsNB`mteLWUOAo&_Rr0tEX&Z zID~#`XMp^?FrwF-eBXI1Ou>bO4Y4xJ1bSm^f62M8N`OF)s8Z0euA8z-17<^v2%Cc;!pdheji# zpwPg;Ksg$QjP;TuQM~uiZ+(ma8T}Lo{FhrkJdJ>Z&?jL7vIfCHN+1|W86*pQ(?4)v zWZD5VAKISo`@hSFgqdu2we3s?#1YkR=|95Ku-W5fdIxY z8i)kInBsy1fq78>F-L&(ACZA}TYwlEV2B3@`vA|n0AoK886c|*lmpQ(#OSQ`fL8i2 zJpot>@PU93zyiP+|73w@3`icp0JISsfC1!5N3jD)SpkR!0I(7OC=dLD1K$vktK{EZ zT#)OY)q&tiL_K=N)IV8KpfK%UfdC~{WHLQTWPm16ae&g(w-;TF;cIu*ib9*?XlN{& z23)27xNmhbH~VqjhX6EsO-@HmGYGhj^ab{!C(avBR2O+$T_*y;W7S0*70qGhWL=yO z-YA5EvkkGZ!-V)^RInnN8mwwTs31SGAHWF`ASeKxn?| zBHHv0h?BV$M3+RtK@f7l){(`)5DE}Qc{v4Td1ZN|3`8CVQ-Q+ZP&iT+u84vmQ80vv z2J2=u3f2o{1K5ZaHo%j*$QsoSRG{lM6t1EIAj?DLKOas;fLZ^xLBn8maMSx*4#*fAPpi2&*5ExXk7$}Z_^P`u)LE&<6D1+E$H7o|@ zMWXnjX&S(q5P&;tI!!3B#nhlby8yNfNE&@h(FgH;7}^Bd%G1iI2zWYw6ah{2Ru>79 z#p1ls0R)N!2R2Uq8vY-zQv!eZLSlZ(Je`Tqm4U8HG z(Z>4WiBuBtPYhOZ7!1~uq_e>O6y+K=t7G~;(SI~E;KG_3Kn}oBX{0|fUZuid{5vB$ zbLxs=S;JTd?fu*Q)<_Ssh93mDcqihiK7bnfk^jVel@f#b8b&LyYcznF6Qb3{@C8{VG zObz-QBty-9w2^=kK@vejk3_(GqA3($rvbI9vJ?z(eegTX4@5>)Z1CSPnaSW=E+bFbMv*htLqE28WX8BG!cXQ-%wnG z`=7`G5GYzd2q;6Q0*3a7Jm`@P8jts5m})u*lt_gFapVdZ-TyEQJH5vi1lj-guhr80G6=_7<%}9=D%Xm7xy=+WD3p;AEW``{(|#!X&8GNeAiv1$50m*mO~wxT1@T|bpB~dN z-VlJ8qlrM-7k%sfOHur?o~zpP-GhC1E358zWuaF5|G!j|)iqsJTNDtP;JitcU=2KQ zJfRTLgq6wtwg0!Oyj5h_>BUi_aC7iKobHOTS)`hBfla3?E8WJn`W;1 zr8P^iLSse4QNJzNZ`h2W00@2lQ@#G9al>PwzYOJX>NVYZ;IY48{!7IMwlr|21XlcC z?d$)W$_&&`(jb6}u1u5e;IL@QcM<*A9)DX+0Ru++P0#+Of*J!G(;G+m4f*dV>EE`X zf7#UkRjZ&4SUfDl>iyTGiT3+_A^xT?=}DyjyOIQ6v|^kpflv!Vz#YI5{(Jg~`APaW z`TW0??22vtUm4OB)Su@ux()jg0% zGJs#dRlWbLU0;2nP!~w15J*57x&w|v4?!XH0BhwvLwc<>BOhr&kIU#4+4K~f10ENM zqgVk!6^{NA+)4*j4^IJ-iVS=+`IW>a{Z&OXbTE*K0FpI8r8@z)`tqVT4mfTBMdJ2U zoCQ!34uM*daYXGEbeEONd!Rs^W&|My5C}j5@JG^zkr1L&U(FB&0mEPgGMETfdUkQ; z52B=~sGtb(f_!h2N5FtoDg6&ZTy0ZCv(AQSs*n~J>hU+4j; zjK9!>A&`K$f5nwoLjDC#QC{IMe1SJN|I((S2;{bYqX(pheusl25DLJ$t@5Q&(0Brl z!gz($79WBGWCbLENhILy(eK%2V_a*(9 zuI{zYsd|2U@AJ9*xeY*(m6VYLfPEPQ7y|(C`2j!|b2c+_H8UmguyVB|k&*!_eXaq- z01)8d|2e)4^6P+tfr5gBgo69_4H^ak4gmok4jvv62@M4i2^9$*9t8^p6&(W;6B7X$ z8wU#m2Mq%g<3CQoAil;xLcu~o!D1l7BVzo2+h;!j6$XqEEFJ<36#$M327wCpIRGF4 z0KR@17#QGx?duE@00sRG=BpPU4Di+WW&hg?00aN}2hiU>R{;nRU;uCw2owMS?567; z6%Vf>qQf;G2`SWahE+}pXF)f}a?TZ0799j5OW`;V4*(Z~0EdG3gM~)I!a_m;NkT!v zLP7!w$tkPs6ev^A4y+9EVYpjs=@4arvD5}nEfGL~LHUIw1`ZWS3KkR;^TX}cWYnyt zrMlUy%HD3aZDFXUy<7HH6Uw-3`g(1GwUz;2G39FWG;>ou0d~eydQYG zc&0h5h^*rS*|^Y$=#&(Tq!H`G-Hj#L5B2<9oQ-%GAmDAD;9aI7^-9RukqU!xUywc1 zy#8`cwN-;!YSsK=h5ksrf=Iy+I6RQw*3rG-G&Jf@HW+boDit=F(Gn(Oy`V%>>6P4; z#`8w}9{V95A?|uCRa?y|-%kL@vMbMmVy}3Ut_KiS*~l5d$n|X15w(m|Q;Cgns;W|& zAmbX8kJ2di^6f}nFaRB(%BCfgz(6J=6P~@_g^?e@%@~8kU5~#KlgGC_?ZaABB$k6y z6?`T1^ViM0SyWm=(dwlA?h8zJlfg72A41Fek*>PVYm9lLXladvth&AR{Gy9a2}0Ei z@)6jnmsYfRcy?VP#V9FWhNW421R2F>W1bA7twndl!gX`_%C*C^iQ1sQ-1h5-`r(Vp zQjOO~Y?z)`x6>l;key5SkhjCtR>5EYskat+h z*+Mx`k-e5rkZoyRe2(gO<>j;Y2q)fwl>D43B3&__%)aZShY-6T6t#xN6 zCtf!R`Z{ogqm)u(Po~yYZ^6b^uvojS{hjz0`ra9p{}Sn+=C$B$PBq=lR4;YfV~^8| z8O?xnbRs%>Yo7YVORY(F#B$+k1yG37xMfl+@}?JkYg^zGAg+8yq*)u8f-YKuBvQ;< zy;ym8QwqkWJn0aooG0ahzl_c5<%EB;H4a=l5l$m|8#pSz6;!l-{sdHRcRZcggi-2c z=6M_udO>c;chC<_S6_BgceTT}vn|F2LvYoSbH!-BY>i&TE*==+t zq*xo7++KdzOyi5KFm0Yk1h6`o9^7C#jAzfl-rdlQR|^)f(=_fTbpSMf2H9{uUC_@X@(cn!IOu% z?qW8p(~G0BBu|4+0Q}&3g11H5X|YU&bn-qeW#xs6RZWr>&X~8w8s271EALt5@jl#i zB)Q3p)Pb23#h5rgdjzjl`O%%bAb}730m$*y-L>yAWEwd6wxO7F=hO2EfJM!B@lN_p z30gY1>)4Z|S}6mr#|R7`2}Q--z77&hWi+cU;MvKqVi}XztJA8tZ(8_lICPAcNpG&^ zZW=WDGqY7Qe55?fH;E?5N{_2craFAvRKGfHZ6&*1`PnrwTzddaUv4~ZW~N$4tK7yb zo$R68w>l8!ywi)zTd!ltlk4k+KQ^jZ1y3Q0w$bYrK!BD1YxgV1s_1l;G z$l9()))QcDz~as?4hmexn}0yvsTRD+80LIk`_zti-iqt&R!yR%ySzz+3~-DjblGW{ z1m&8j!3EabDRsN{@j?^bisc-;Dm8;?Js`WrNLi)pM*G~jzwQa|2hktNus9{JGk$^h zue&Txu0h0S+VDMTJcRq8T=Qe_98)dw@L{zyl&H?~$k?Xh!= z?W+q^3DS!MtD9Cppjl-HAgCq-RAfxAki<9^s-C|b=POM9oL6|%&S!+t)l)Nd+jjm} zW>RO9DOPjq7DA@1hlkZNUjE1L=F1#vO?=IR(<0F1k&e*;P7DTT>z(gZ)y8wxyPiry zJDIdflAQ0{Ug?1S{ubU!j3L*8^G}-H%<{w4oQzIYf8JX|iD?(xru%ICbFcfmJXyZj zb%CG5Ysq(Bm3KS8kB?FTqNX4iv17q$aZt-{vF1b@lLjsXjvM!@@5kAxKf@>~Dh0XN zkrbmo{<01i-GKeQLzXq7GLXxDV2vt56}_oyxX0x9`P{7%FBZt^d|Cc(4s||42=Kg zBh_u|aHr>P5n}qR&DubrCHBBv@pPunWqh{D08O=E!5zcpnwY$EnqKX^UYgo37TFf1 zsz~>y34cQj9KtSg$rZLC?UY%2Y14U*Gnwl7-3NLhpqK!|B5i^L_(2$o*}7%cB4h8V zv`ZI2RHz{KO1|_)EZa;|w6k>Oae6Qf12f%kPlnP|t*w6vx_Q3iiqB`ImBu)qG1IH+ z!uHVbe*BJ8n{eGp_4|e`Ila0cF!{3Bwb@Jcx|LM0G$oJq!&u^bS$M15aShU$Ti@=R zu_iM!I$bhp#ET)wcj(n$qm0RRFp0@*R{CoL8(Z=MPBTugb!XfO`JYH@!9E?fKX%^g zD%>qi3sc|wmK-%4ooqd=-FMeFVU-=diyrmjy`%4ASEI`jgoHFGgT?rfSDw4;O)>Y8 zo}dQ~)250X6CDMuxH~rUR8L6o;Y{fseK%(2zb-~jJG{J8@Q-a2oM(5ge@b2UhJI^F zYUjRHobaP&uGL5WR&cyUc)o?ydnrH|khV1T_OEF76HxFL-5w9Nje^cfn=iK3#J`~w zHmSuYjUk5?L9BlEl+#+VD`BpH%ZICBA!X4B{S0b~U?pZ9-8y^g?o8ha|1R~mXxG0{F9_V}akm9x} zMOL@AIq1!OL4;1f-_&e8CDfa?V7S%HS?IoNdo!tul>h|Avmh3LqlCE>T=>x6^{DSx z8;1oZOWSwwb{lRzcVinSuPn?JndjiM^3y$_SBA(eXAPQh*H4{KH9*3+aAfCX{7w=; z_KwOa#eeY2uofhyIwDs1H~7$gHk|rzHvt|+6)cz)#zbZFBW>n2+1lUXYXWpszyZ>n z(CbN$(BP3*ED%(sUN0E3rV)i+nq3phX8k>hW0?zx!{HG5%>CyvnU+}bUYH?$&g#(H zhdA{`$gnj^acw*ppe%1WNE(E|;$o=bHq4VYP0;ZZE8I#Z(Q~QzMabVKB~EI1d6O|m zD=VRK+N?F$xfIA!N=Gqa9*kRR)y^%MN9`$e4)<-*PikyFYvoy}cKWaU z3k-+~#s&qGisEOu5XKjm+y1Bo_@10WrRFnTa;Ry+zIAYM|7U36Qf$k`eW{`mPfWvn z#IkFPn>4s@koMaoyPz-sK~J7)DaG)+$H;8fY1g!F$#r)e_UZO-X&tms1k1oc2~q@B zKh(L@dLq(a<6tmobC}{wZI90Ew!A(6xNUy(#+3JBH%@zBI@+nz7?+j~0_Br95NWI$ z?S_rslJ1V4Hh*O;-@ds#1dLK6B^;dHPZO^{&y`Jrg@?|R4zop=L&D>dUhp3lcp>p^ z!vFx2C`98+)AegaHZwOZI@<%QF(GSvVziN4j1kM~f&2Sdvjiy16&0;f^?70bEeN^c zUugC?J#c@m@kMu1KHEM$0b550q~8&AjVN#g5KtN+x z@yEK9v@!znr+SPDPNna^@51=+s=N=s3wDKjKX9c4@sD1RuikTQI-~W%_c2s6lOqEE zyE3TX`P- zyH7xle?;4JfRQ)zm+E9i0f0e*eQCx2=;i-P&o80*r8-g3pi$5SrPA(&tBez+ zNylrsg|SM(2NoDC+9{({z$%7ID~58n&Q;MSNwq^FhO9)jSKjREG@-x9#(CzdgN!n3 zIDaoHpb96Tfx5ebeGg0{A86IA-EzLyozlNgBj@<7E24|nVERu41|^&^>c{G0X+1Q_ zATUp1z(gU!_O|tOHT<9uWM@z~c5$EjTZewJ*r54GQCgE`r4G$j!@jMo#v^9oD(`6+ zOD0xCI0*_tOLh8dM1f_K4r7lPx~PpRncAK{g^7YO!b_BYgFt-KgU*M;8{@Mz3`r)6 zj`J9D4X0R!m9k!>y^fy<3l*mXUNB-*$quLjCsU|3u1!>E&2S>_S&F1t1acnTFIz6z zUdUu%(r~_8NUT4MltY%`uiLM6Rhl_W#{&Mm)`3WgvL*U3rLjLb#wa=7bqZr@uq%}! z1Q!&~E2f`-ZOiW@C?b$31W!Ami}DHz5eJH)MSOX`4&l5tDr+0CV3f?x`?ChH7JLs1 z>z-*3d);OqZbecS?XReN?B*`fx_Rv-#?`w`J^{0j$X9`3B$>gmUBU3t0=neNPtHE* zt(=X<`SIgnjFQE5Ni_OXQN$dj=4ShF@=b}frfdbuar%u!omxu{Xs#^vFoooW3r$wo z*Um&5OErnfq#3dl!CX0$k4>cG3S#m5D0;@6?IVTgNg%wKT=URc6(u8e?V0$vV(VT6 z-4G`rts|inE4egS?FNN77U8Tr335?`uLt3(rl`Fh<@TM9dqI>!Vbushd09lJi{ zSS_%Z$WK6DfUrhRi<24Wz~W9Th2c={MYLUw-WfBJTiO|9w`9mXrt#*+LlNVdRM&cR z9q9;FE!!u+&0l}=LzxK9+1thcnh3g_UhzcaXQ2Fx(=RSTj;mrz=UrJJ^3ZovAzsHl zQ?~E@%bt;fE)0EBPt<|w1p#XdCsUg%8O=h3S|g7%IHHk;%nAR1uF)(jNTv-k^hGTn z@jivV$eU9@pq|ku;78neIZsK*w44H_~%w)jTR&k{2!D3eJXcYSpuLxqwKLu zw6?k>nn14{*%P#as0+>V6}gq!;N*akGKwS_a@SV34qELO+3H0aV;_qqF5Dsy*(M9i zYtEJv3=~^%qMA1C`kzUvnm7R~%pckB%FgS}hB3-CZ>UwD0O7!Bg=}NG1ad=xC%^o6h3AVDZ6cOS>gDI9)*u7rnLo86Kd`lC&*Rp;M-zoH~R7q`6?W>yYYkpWB z#|*K^;qSHDL_7VeO?S34Fa5q)yHcE;zw;vp0yNFrPnK2GX_E_*p@gM|iL{B;(IvZFPUCWt-L8=3jn^_)sAV z?}j!K6l;d-y<%n)zH_{l^h~~FcUf6hm-_pY8s?rtr8fh-A?VmBd6zW#x$iODINvVO z*iRTApi7%MBWl#ivFt2Q6PNt&3BXGCvovDKw%-+-|2o^L9oN*zQ%BDfVXTy- z(S&7TB0Rz|z}q`^rQ=~WH;_aFzEz*NiJofFKDec->BXqxps5M5FqDuiF+83x!xeF; zyP~Zh=M+sAKhn{1xcjuk;x9WkD)Hs&yFlgptp~yCMQ%?*vcDNrmGx@VzL4zjL3Yq&}g%=d&RkLh?-I;)+$zVQJ}G2)dG3`XLHzjadJ5=WAO)Y+;qK z6TY5~lb6CdPs;?Zj>7P$0paN<;MNB(l9h*QCNFZ)MNV(xfV8mLA@#$zfJI zIO2_zyaG9%BN^Wsbg%Ch4X>gwRQZ`-u6|+#GL9RFa7s1`Id6Jf>`4^5U}8;BCNUdJ zncK_I`~5s1(xY~0ZH~>VlF7pz9wHn7uK4C>-6;O@R9c8sr-b?YPFo-ob<(^%NpUy3 za8hfH0e7BFfw5IwmkuLh5AtBN=7nauuj;hM%2cI5`kJWb>bc%_*TN|iHa`JS6gY7q zIkLCf@NaRr?djmB|Jsvhj55ruz`pswo8s4MJX&!~mmqz*(RF6KDkM`ZY6YKV4D4U; zfOmmpl$LHKLC%>COy|@zJz=Y*e1;J&quO}q=Of^@k#xK$k#(lD0xHw{N~yqe@&tD| zukA{=D6Q)vNNQr0uaYBZe{*BH5m=3*OLBjxX#30bUO&m3_z6Jc_jkPg1e_TE^AA6W zaHzagZxDqUQts5XXWCy0AvFhI1nRT&6-l^pI2{WmBnQj|Gamycg+_Jh%kI>fA5EUD zqpQn5E)*vo@E^`JLCt48%}gkq$GzBReiw^l7tnos=65vl@if7tdOJAOx{-G zwy78<{^8=?Ue;njsx4@_k38p!VBSuLnw{>fe*$LIeij(4wXS_p zFFoX6j@&G+(vV3Tt1%sVc@(zV>ha$!z4?krikq2XPfbpIQdJ!LO4Dai~aE`VaH>4rk7$XI_I$sKl=xY7M%K<==q^q|RQpRA)!3ZTQbO_t5Pn@2f9x!Mhe@ezd~5&(a31>_73-hcsf8q=uMto(VzGc^WmsvG-=qleDhmh?hJ;Mjo6QIbdCl zm^x|4e15!Q%q_+K5KX%?j5F_Q(>xuxHYiLnjCEUS>!{anT#^|Xc=%0!3hxu2FkZde zG3=pL*6R#IdgXK_!yH&+yw^3}!!T-BjngSf-^>8JeB1tUJAwHLAX5C23nR{FwEL3T z!63^vD&XBy@4I(zGbDx)pHwr~-#H6MeUN-({v}>W%{tNG!&sVv2qZ5q9KAtirWku< z+1v7YQu*lg(c1G--;%yA`H%~rUKp9%KCg9~>`CSM{!}*s`S)Olal&Q~5~N)=?}Yf- z4S;QfD_-;u{=yt05J)5>FIFrmDW||Sv+55#rRs;KLs#Fvj|k9V5g`=ye2zOr~<$vCKQ z5D?(d5dTfkeVw90qLHGYldy_FVUV$~DLb)?8j*ijp(w!QNT|QMR_X)&S1f%c^@PDb z0i#;21j-KUqQF+ajD%dF!yBrHug^37zrLO~{6hy*2MPz`c3H2Ei*|pWbDQA7C`WzV zgs!;u?ued<9?4I@mBUtjPeOP6nXuC?wl*?0&?WtP+3hi|sjliDv5k?Y^1~vbPh2al zYZS3PQ#`hvtX{s*Ld|*HHGvraCFwmDRpV=zM$v2Z>?3bZ#@*(6Nfg$cu`Yv@*{>+u zRxEa0MPyZm;nk)NDxsw~>A2=CY2@b0yYN?ywpTf{mpI~x0LN?fE#CUY^5+qkq*KEf zR2eKXQpO6xjJt!Db*$C+G^noF)qsWG&{rBp>2q<3dd8fL0`g(EKB*x z6sz6$@YF~bpq9~EC$wcAhDw?rife+i2rG`C_1~LXWgvv7uqUmAd(;T$v|(09`iH0w z3}rVo_Iw{4RjZI0yr=Wd9U11R=EKux;~-fyDEvF<9ofWYGb0^|D!anxLMXi^Cg6~J z_`rqI#$u>Aozy@}-x(ELkL}z#pEk7)o-~<)v5=n-n|F^!1n1>KrBaz9;au!%e~?de z;6Wp>(gWw#AV)_xSz)bNF~+=t8f<+{DBdJmEj3##hq6Uh{OG#-(g;tjQIiM068xg) z@bfoh3P?`OlUA>7f3!3HRPBD;j_$VTnE&3vxmlAhrlFRugrj<7+Dr8yy~4jyk}8K! zNr6%r6IO1ykN@b2X6z}Xmx@oLTBAZ_XYRE+n(!cR`>#Uo1OKL!C7*V3g)@y!kn=OY z&;l#0^aXE;3at+gycA+qkZs>PW9u!W9}H7Sa?dR7Jw+Jq;ZcFI8-erC{#L}*eDwOA zBw3D(hL^EX-CEpy)x?0vg4fQ(FQRVE6!G6crN5WtRV*Bps;Vv;Gk=Y$9OiFMTri~q znBnK+EOt#Vl1n6c=(HWG=zdUhXGRE356EVt>4h7es`l|QFH{8nSuE1@5|ZSG)kIh3 zGlNt4yR*Q1yCVt5U2MvRU7wS+=z!bB9llw_$4<`bG}Z4uZ_uJ;{ntdoKtkKfVHkt1 z&6$57Vj;ObVp*#)N-ox3;oLK$-q-@uNM`iVxQ2t5S5Vs13x5yYZf;Eks5_bgk6 z^i~o(v$5=t1YY*dr=@pb3nkq6(W`S8s{dUX$ zEMJ3EDKUH954Dg+LXq2*zo8R4a%zkP;-AQgs#}ItXi^-E_wg#w>7~M>y(6vJtkRF( z1wObWS!bEHu5nFZm^9y#cXAT`mX(YeU7okU`69#HF~7%N7I!hf`hKl`m!N}mwco0g zgCWgwGRJZVACpocjg0}zm-R_kz2^)<*;D`QZPz)gj7y%$;qM95FI?PaHa_I@k~~bP z_nSkEdJ^}1)YDiO^}lJzclx5_YC1osJUG+wk0h(@Za=fNn%x(VHJvG?T9Ny%HcH+s zwW3E%clzz;0$&7Lq^e%}@*0$F3b)$BFeJjl@P+NQ; z=hsuc*4t!~ysZhPXvdw{{Oi#&Av_xg71`XX569VBW!rRPB2ap-vsXiltY2d&+G+u+ zssyD+Gh9s%j>n*qHLu3EVJ-BDok-bIW*C~x@0)j!m(}IROt6c_waa+(K`AW_jL(McukaDSEQkW0GE&i;eK^w56s$w z8_U%uhaw{6orOzWI|E^o$G+URN|~Ig4Ta!#|M4Mh`1!%V&^D3eEVHVWoJt}vX~2Z=R>YjezMRn z&*GXM71XZ+`oInIOd`%#WPCq7TH^(t1O9Wnkr->A$?elQ!#f8nAyYG{Lh{a2O6dxm z_d*(MpSgZdMc5ts3kl9031(f2CQ_vE3I#(K8igEQt*8}h_pQ{o*qIP^^E7r3ks9D6 z_6`Ffg_o3f1m8?~i$_?8lfUkb)0A?F=PeP{Z`JPU3Pp696O(RX zW6s%J8^Rs9E(r}tGk9x*41r$DNR_(c=#dVlsKTb&!RF01+RpDIJce0hMOl=StM$s- z!i>*6QTAD;WeQ5RiE>F~HT8CSGW9a|%+0mXn`15>^{UN#V=xslRjL(%0p+~BmXRMg zC5NszbW$96L`0Ii%7?n98p~JAw8%j?!rCy)1HG7C<578Vt2-5R9uit+#(J>2#<$q4 zSLBcvN-A`nlh28VQhE5)XU6n3a(1zC$_j#Vg9FN?H1t_b_MkLfT!a{0?UV~~LFp>F z;erlsAF`}{qk>eOh-LeWuc2aj3Ch+wBURI8EfV@!rS_|Ajr5$HOcP%=osn+;YFRZO z`4-7n<3sZ`b@`szryj>pJAkt)LU*Kc-p*MaTU3#KTcJNwcE~d=isMvUCIe-!BHpP! zzNHI?(ibS4%$Q1Dyd2G4HFeBnAjv%2qO++#-f%uaZFJTOR!WyQMykTLPa1RRff{!2 zbv82eqKUVo+#WxsWfKPRVNOiuZgp<)MTlJgB}6E22pBL32&n%@h$v|2q$I2?BFbNk z$o2(@PTw)fIgIPCD3nxGo&U>+;Q!&n>))RM)84?9fPDp8O55s5v^%bYV>{{9goeo^ z(-p~iU|W{WOcf#T+8-}!kn_QdYomBfJH85+cH=XbW;>rCx)cNZ0-RSekN5)6di>>B*fMVIA!FZ_z@+di{72)psv8~&S!Us)$eztB!q zzmTTnV7n_%v&p~ktOuBe&typdL^N!8SM{V=us?oqL7dBba$Ousb*XrRjO5Af@jQA*!maK zm_21sgDjDWddQ{-yyjQf*%NZX;S1{)-$`2~yJPnxRj{%~BNs|J1&wY|ZZ`JQ%)6^S z-X{RM^;otx#XaP*>s!tng2Pl7exuU!Q9)|Ejm4jv{&yJv#zC1udbAq)HRW3Wl6_?d zaS+mYO&m2Pwz>UaRsuKK@LbGG)DwINZ)S{W!iHJcZgPP39zU7>m@6eu1^I@#YE*Eh zW!PAQ{m7F2Uea?YH`9QHKbr}ip;G?aB-1Jo?R3abekr^&h2M3KqFUv}>D?lx^{=!3 z1Vun2s_{1r$C^F-Vcba>o6TjLd0d>cb7VWC zf2*)N$)s2h+YKGiUKH$Fm8>Ukc&*2hN<}0L^vO!@rug|wl6BEZ$P*c&e%2DWolcbjMPZh+RD}Yz?~~Isa*PPs01f8g!hSC9}WO% z$*qtQ&1(Lf49Nc7pN%3LuQ-TxueRZAs5W7;XAta^E@Pxmawe<5B0E^rBf!Qp2=gsU z5*Na0QT8tW{q`;Cs(wrV&XC9BDice8^cn)8hx7F`57nfqRF=GQcdMXNXmLNq|N1?J zu5DbVS6E~**--elU8P9B6Rygsy_;Fg>5)(d6TcVw?27fv5oN^+J{vzunjrVsv+B<@ zYNs@^$m!kspNG`}ekwXCF`X_>vx5MXUhW+)zSm01F$F!=R6)J3=-$3I8)o170R1E1T0KRstaCbp!V(N!o}^zTCJMPk`hx?IccU^M zv_5j50At#z7|T_LRhbQT;Dw77zTVAbi9Imo)Q*|T?u`!^H`-J^$JKTao0l>&*UGT= z7Mr&Z8myJYuG@1nk=kF|{Tt;s37w}*Zx;D7dmPg2C!MGp zHHe6ha{Q!k8tC@+m50&MUa~H(jiH~HVP-?8#AMn7@}uaecR^(xYpbMYl=dd2kV)KY(H?|tG<;s!3*WQ9jJ zn-7y6f9=0_yL38Dz2?pKa%EGFQCST_cqm=b8k9?E+kMREW!r@UW#D!nE^_M{4)IsY&Z&w9xEm9%sA%L2{>06m^ zJa{8deaCuGKN+^jiVyIhm(wrZ z#vV=Sto;f2qf)0y-Hbj8(Grcly0%os^kEMN633i0+L6uW{+Y5QS3H01IYp+DnZaF= z$a-s6OHRHMY4#ls@=4svZ5h6~4u8FRQcZY5S9D5?;CkSn!n2-yp{R`%1_(j^QBTvY z52UlC?sys2d?hi9_B_yp@{Fw)W~p+9DO^><3!7D5l{Iqz!}y^JFWIOgSuGUTg*SXimks zPk>P`sk77$qdl~-za+H-R#qdO#}!TKKO>RngdJBQDF``63TGD#8{;(SdfCHzsm%UP-dP!7}^0%5=5~jn$Sbdn&cy zDg0o7kGc3QaSh_;H_kKtS?_{p+`F7*p1`snSPnZOSm8$p81Vy@>x4#IXytXfYjk zbq{=#Q7VB@TH^4sb04>+b9-(6zs}$X%!&m9#6ce&Cd)l+^LFbF@0xsp_=isblzuaP zdJs(N0h85f^Z_UNrp}7kCqSjA@vB*Ly4A{Fwp2N}>&jZ^V<9jJUas?O#>b@I6xH%= z)I%*F*6POp&f5jI0%j1wP6vY47+Z#s)2X%57}26S_H?*2Ku-(t6J>Veu{;cVAyT{~ zI(!JOomVho&-bRK$0xOxO$;q@H$QSK{kGBl4Ugj;6*`Bi@0Cs>Zl?NY)v`V6eUi6_ z#H4K#c|{mY-BUHsiRs7A8*Zqf%Sw| zi1?QOIn!*xrH4u3pm9Cz)Mlpwj6#_8CQA@cGs1l*mu|m5ZD4r2nZeD44j3v+9!|fl zfeUIkdu5aNq0_fBOr$~UEK`M1*fWcq7HkP zTO(Ux=h7vW`sm(;bQe_so0W?Q-{>_NYukG%KAl5J}7@AZre2)IQ32l<^$8w;gWX-L`TaN!{i}K{F5Ki3iLRFTDJLFgHBtv zPU}4?9Zhr&1zQNMl1Q~b0mF0eVA!m|$r(YJF56gO_F7eA2p9Kcq$FMV5&D*n0p3%hDk&?d z*Y9+giO!ab??x&Xf6p6I4}|1Fpv=N34g4(GpzpZ|u^7?aYlT7ZYMWb4^410Cr!hNqoMBI*D=xHyhv%NYn0J*rXma-PkS>SW zGfUR*CP9;``Oj9_x5}Gx%8d&q7KPmd_tWy1+!&UfSli)bSlsjw-lG!+bjS%RbCAr| zTU_~z9pBf3peB!1&7V}66q=5Rg>N&vrv%2B4H*~upCy8x_N*G|;uFdl&bXGIgE0 z*1$9H{vanV`RGY4kZYoP^l7)O3H-WOp7v~25{aXI0#tSnc6^N33xc~7wFt1KP}%Y==giE;cCjDN)dHh^+>|!a-4ELtoq}UXonAG% zvDbIeW#ju;xHaOm*qD%m?w^1azO2DgeiUV#y3Hjgjc~CtCsD)#<-+`%L1$6GX|^L= zfqRtK#$9yL+eR*o76!oz68!lBK2VCHrh53vO=wgyMK^ok$O8j-)Zo!4=MkYLDY z&SZPsy#A4p{JJV~XV1{1RDb>q=_4iA;*%N72)>T4@L*k`p94%{66vCC6{oTpsN;oa za%Uw{X^AWJsaao~+`||O+s(Ov8n2?{P>^ zg}p2k2`?gaxAlXrn+xRd{Z7}t`BjUW3s^9TXd(HUtV2HPneMD9JP~5s zhB~Q3q2DP*?%BKY6Uv4Il5_1P?GqrU4sx#gmzVoX_bK){Uy??j_h+V2pWk)3LWR5= zT){Sfr|`HJe0hkTlcV~^;E`+*q&)Dj5(KFO%<1n@%W`hH6 zWcaIOkTEY3FA6+%)}y;1Me$bucH$au7&A&xW1k3;j5f~_GPS=(C;h?QEez=&UC{_H zTP}-Ru>UcXz%8FnmVzz)4t|k#fahmQL+&0p-52k(Q2ND6FGGkEXUxgd3P@TGKr~v)o9K}$AxY^i>}lfOWnp*%NV%E&_?$k zv!)CNA63D>FF#JXuYnHe8~brQx@cAWZv7f67N?!SvOLhb*J1X3_w*LK6xc@dIzs6} z-O!q4kGgm0WUSt6q`J0FwqSnf>H-5p`U0Qw79qsQkaf+EG%arP0I!4|hx38W>i5bR z!XbHh5z-bvbTM&!6LB=|0un`W$EFb9xq*##hvU$zLXBD6I?W^6f5m4QTebLoc6k!J zbUiN%Xz9BSBa{`!NG#8papf!f@?ua@D1;@fRSj@|gl%*0;TRJ?St*c`jOr9d3w0n3~yAYzOA-J?(4z9B!3%ydkNxm(r|9eDw zbTPT(b_Gs<(LN2z7u|#ZC))WxFRg+BP)S)uP`)rfD50Rf4|GMcbItNU1;fIm&M5@j zFJu)WVE=GC!l=4&?xXlGl~F>s6@Dq{Oq{nWS16MVKUF9hYY0yUTs2w1P|Bvz3EEH; z`i0Ar_HinD*3viUl90txevimVqFptjQ!Aeo?wgawNtrFEE4=vw&Am>kn5AW)dA;g4 zul$$?>dmP8V1|6rDBJZT&w7qpyZZR?tqI~Ip`conVXbf*Do|EYbMa6Eszf$j# zKTr#MW3Q6lGT$Q1-BbCBkJBx;kcovYdZcpU!vlDvYWj+D)y+aD0LcJK>TOthv=K#1*Xu<~T8%@wq3Sz&wXk+!NXkS$a=wXiQOBlzibnjIg)*nSAU|STvG^lkGSKqZvL(7+1=5KD-oU zF$ULcS7=g@RBZ%e{df9Hb2Tj=(eyVggnQjnGcHd0HH*E19%UgFRfKpGGzyu!5Wa9R zeHgLAem$kEzl>6GJ@XAAW=V$HefST6iXWS0Sce?c9 z?vtcUtX*Q}QAnCJvZHze5+yDFJp$uJO@?kGlsZ3Q|g$o**h@a%YW-bIpj zm&0;5dOff`=8nkHh-HKHbJvL8f_A@F(r%3k9tz#wiOjfT+Q$BV)tB|9yHYCsIYcqZ z_f|*~7`{Ol@yVSN6_mqf-No(ikTdikamU#Rp{Nrd@8om0V&gVfu01h&5< zS@dX?+MKd=moFa6iw!Kv!uACn8j7dm)GU+)Proq2 zxKUeBN2ZHhhq?760ppWHl=)Y`%F7ak%AoVZAcqJrf2qs9AyjJ+Q^QQ>+9R4!`ZX%N z*&IT$CnL$K{W<27XcU|NN5^)l=J*#RS&HbYuYfP1i~+668IzPK1R4Km$t9&oi25 z`|B}9q!rIQZ7FRX$`fQ*b#`e}169`abG9Lubg_zr0JikZQ%!_-lbVt-wLdQkM8S>e zXR|+Al{p7iHqE*YT$&dCY{8)8K1o{q@RcwRxKS%222_yhg=-*%P-?EVfK~%E>2Tf0 zTAiavw+*gz&aMzzPzUSO?&${ym%nvhb_S*aXJnu6zcW`b&_#cF%LzzeA4Kgi$nCc$DlgytK zy8oWbAG>yni7a!V87lFI_EQ&QbAU1?IG%r<`*+Yz;n+f&^z0{Mtt6t2T%n?VTLT{f z`0!YJzr|}U4c&rz_0JVx40C}a0*mWx?!isR)Hip9cg~BbrMZ&%Xepq&7@povWTT!u(1fQ_jC)q<^e%~GR+bjn`|NUf>;J*@_4a7COyCtyF>F=D2~3NV$sY3E;Gx>)CWH` zd}Y66usR)^;R?e{r0!XgQUR${@Z_AC*=Vvawo5!Ustjse zf?Zy(@%*F;bD75>`_p4+UGO{8a%e4_tGTFdS|^AR+SGwY%`=ru-geCetz1Kpz`S|) zM{SgA8-b;#O}b>4VOgczY6>8zNnxxe(W$cLxU>QFx^kG$ZG_MMj;!lz6i)!l^P#Ef zyFK2?U6@K3onro|f6*~}Y#>H4N58me$RA_NJ6#tJ^)cD6G5r!%+QxXkEO7O!fc|I3 z5B$WxwoI+xAz24&QB0Ir)b03v^o^2~hTQrl@uhVOLD^8n+yW83U7Um4YfU4)1>~PE z2VgaJ3|8NQ>51HOq^FnW7*sI*DJD5Lb3z>Zdc`+B_I7>zv`ffnzzWtgf5rotQ;CiGhta z)_;KZG=k&u^dl`@r&Bk`2Dxy+WwW^@PMJ)#`Z-nZcEd%v^gxOCDPrX9b;6dm*f-2m zQnmc9)+4eRw`Pa0+xcc>{{Vbr7E2AdjL#-{+#L$vJz>!uvvrWm*Hxv{(^qi8i6PzE2FA9u1K2#6`0JOqrBCFzx$^)qx-j9)w*r%vRQz8s0bWL?feW8b zI}D*GF~z&0u*01NUjN)7>WHgKsj_(sMlLblQ34H~5v>Iq`rA9oVMT3U8;DD^xl2Bl zDPcU>UxTjRB|Wkjl&jYk(a7Zx4Agak33hSMrT!T2p1$SHC*ZBgv%DLpB@tLzI!vn`f7(@*Cc|!DPLkuI zG=WIIxh`qlr3-r<-D6r)a+$Ti15VW_<$ZYLM{2@9KN|ZGtUlV_QByK(?xyoYv znZ6#I%2}QqEe3z+Rd<(E%Bt0`fG1TYT<)Gmsrn8qnr}=t#e)9;o3G!0>Y1%a;u^9U zqjTELVcDH;G6E`eTX=JJ4z9n;+Wqjt`fJZjvqo^8ma%e})4jtG-lK8qPlC*Kv@OSn8Cpy_A-P~|Z+ysce67clv4N#cuFCv&U(vd0`B;3gGi zx+SemQWc|u@EdaXK2Mc{9eg$GD2>^;}pSgWAG%NfE zaPJT6yplaB(L{^8pmap8Q`p%9cAkAe)Z6r1lX8CGw_k_hha~&!KC?45cfBd^#Fb~? z-DNHlGwPFGN*BoOXoG&i6-k~ZMkR4h=uklWjb!?{5z<*^H^K=U|E_-_nk8#eRPzm9 z8Ui%0D)#u3T#(y6^*dn5n9n0K*34kyJJZBe+h6-%#i&{bZS4O5fK0}4;cyCSB~_8e zt|rdo^1bVUE~#zd8s*< z^;3SfpV7+pCRwG$3gVA;CuX+zVZ&_Xd6x9dnqmYkL0nS)IKjfN3KgwHfS^a}% zY!u{%_&gR@_5_e;@b;seTx_(dGY~rd`x@4(KtS)oG0m*Z@90NoolaiuFr-VL7Sd5z-4g<>tFF7{9>i#!$eS?<;{rgX=kQ3t%u)P>y*_VT07#_paUZc zsyr;E4BcYfjVnqOf3I?4rTnyo7s#ejAEW;u&n^73_$A8Spyt3?2Zb#C2+Up>!D&s# zmF3jv%S%&sa{0K{$~nIE>>*}LnEBSVVv0ty%&+ld?nE?(-1Q)_tm){JI`bBt<@{}8 z5UKE8cTUC;cF=nRb-5z;E_3yO-a?e|F&a&dc%lefQnPo~uQhX?XJrgj-QB_O)_~)} zo_v#jKS*Hfzx-8ja0W03?aP&m%MeTv2I&K9h1_6`u-+Re&$p#Wj}CBNfmp7R$9=p6 z?y03L+uE*DOENYP4yEfox@F#FkRt@kiyQwonbK&ld$4rbTQYq0}2!rX| zafQc+6p23e;$w^oHc46InK3Hprbyg^Le!)x87+NJZN_9kHuV=7HOE$;3Ec&E|9dBOm;vaS+(~zGe=V{Iv{dI64V+$_hNuk(X z8(jWMuXGBfd@nP?*Q4N0O@89&Yf9;XiMsFI&p&*t(4V>MnS~#@^I0*!YS@3rQ0WO;ybPrumqqP=?S8?->$kDX@Wgml`SSqH0 zgSvEP#so)mcv0KE9H1%+F_*>!ZtYM$~2c36VfyYO0uOYmc6)`E9s z)xEy%q~rcomD~RUnv!~()Y|T_YBH>wo-U%cf)qiK_bW|k*_X)hqk7S@+4=NM_sOb? zN|#wmyk_L#LzHgk*j6DD4W$3a7_X~PQ%9nYh5VokJTSKcQL*->hDyJIi5(g8b*=MJ zCU>prXJ%d){k6^Kq)Rk(Ie+4T(dcVfjW(|wediq=yl_=GeT_Lvo<+guV?y_6KCfNS z+rfT(>0-{S51gpYuk4RP(Vu+OKSHvw&uQ{p(^0ltOBlXoi;h(pv{qEU+q31R&esu( zIf~{qCV;?rIclGkBhuWMV{(6eL&f|O{f%dZRygzY3WS;`NvOQGF|tiwvib8LAT!#Z zpxH?>%wsgLv6KdK^KnYM8R?KDTKFGeG0x$jbmEot90OU7oM|;yl~$m=b9uOzK5*Wt zV)UB&Oz)&@S39zHbz;>`Nd8aAO8648zGSTb6|(*} zRr(UL0{Q;KQoLlW3}JmQ_{9GWS^rZs0#@T;zE(a!r<`wsrHzK6P<7DXF0XoCIhQy> zGPz{=t1)GbkZh>q(+zdg+0!rIs3}8ha%3k6)fr%~)6s~Uh_tKmqm|G(gm}6k(f8^tbab%BWewNeN3HmM|Z_@ zEU4u;BG5+jwFL^YeIJ!)DzwWXp`j|Qm#`E;T`#Yfn=#I;N9QVDnvii1fkO!sEwXm9 zKjULE>|#=dcP#?Jf0gVt^JNg2jPEoU(uqOuG)ok<^){sh1+8c=t!R<8t%zuPDF}zO zSShA`!XT^zyMBE%4#fn#O7DYRRrloQd&)UY|#u! z3VKyj3>l|xS|As6^#jMkfqFS-l|-AIS$k*-A}TDYjZK;3S{@@caHj>uc}62zB#z%{ zqG?KYhjT?ByT>WXpIspvPi!v41iQ>&A=t3m8OJ1lxOpKJo^*7wf2ByG6{j0eG;5B? zxRU{nW0}_IjGi6wPK)j2ZuYWn_l=)V9=XZ4ayj~gO%zbaV!h-5t^UCWNYjGk%xT3_du= zLX#q2oV4F9)7uihfE%H)eNEQykJ50T zjeW(-fwB-jKQrblf}&INk7EWdW-oe*NS%u=l{u%j$WRQ&?R0Pa3hm13uID1Esm%k% ze*oah_w@#&%9_dcG`f$YnE6%BIo3=XJ_tdaNMh!|p13`}mGDuFMm(y=6z-jdeG?8Y zoWL$7AbuSPTN{mG7O;csj;}K}pC;nzuHYlXK|aRI*$z>cmgC&{p~9tuu>w8jnCnNR zE;V72qA2W*-KHOLsv>P#!FntVnaG4kGtv;fR(67w88{Igz(S_BkzQi7KaUPyN)xS0 zNU>U{9<-V3oL6PoS)xo1Wv~>by<&bRWDMG8nz$8N`PZn*7my<4+%~X?-bh zXXtkZ=cv}75K9NcEhn>Yw5>B)YWcGRBacTKU#Ez9_(N?zyfc%gLe58>NxuE?%@H|U$oLr4!ZHCg5S6g!?r3k27EOFC`UXN+B=ta1<7Tg1c2QNyQsX}Ey) zFPpf&idzN03mx9RzPoPG1}$_8_di{4m6IVbVqjJ^=LLVLs%Ao5JtWEBHwGAy7K9}n zj%p3?|H^P_KQi0$6YiB1`T5X=)!%Xd+|6lu_{{gsPYQ$X<~{*EWT{WeZ0yD2MN}e_ zWNM4lUqj-%T$Zv?WO#N1G;=^6bpEA6{o`TmY2-L;>5(u&K zTE?dqBYFbs1Qnd9-R~0&47UOe-oL&%od*=D^n6M}cW z9Z8B~8pX*3bZ}0pGR;jV)=RMa_a)T%Sh~B zA24N*QL&DDKPckX8^TT2Z@RqNkUR(PXL|f6k^8eQ)3#B6&z zo_xCxt1=78TV*)Jm_*%oCOb0L;BF1a>dN1EFx4@kwSDQIWy?BbVobDp9*^ zgRSQ}FOXxm36+;d+2|Oq@>jFmi_etYc=U^V+@GX>zrU#Gv19D|kQuS{7I^_hr3+$= zA(mq2e+Koo4kGoaO6SUM#~h-fEijO}V%IS1Imgm^A2KPEZue9-MBaMBID==|@ex5r z-&mX6+Jz+T=oBJ8CQFw(UHKD1TK(}wr6Y6KC%-~c)I71ZDC{Ate(Ikl^wHpq^hY%z zKD$i?=8xUGgGCpa0$V>avuA46vmzl;!IwRZ;L-ZgOjCY4^sK(&qMZw^5k6wr6~aQ* zBB7x3bs^`ub1dhKOb{->E)#9OMpoZQRKp~eo9Y?KAZJx@hIJy11STV7A5CZ~=^T)t zc|+*V>3P}lhZ)B+i53qKa3QL5sI;X1m#jDQ=spZP|Egy!N4D((8C%Kp!2P{s+&CGr zQ*Xv)=2zfo=`Ix}Rju46b-$){veo?SI8LaQUbOeu-0@36-}`rSmsBa~1nz*H&rQt^ z%$S&k$@Lr!B$9Lf2O({ofLXGwW75H(vcE(Hi!>BO$GkRwgKdL-ODNk&fOd-IaP!4e zWRc*>jF&)~T5kbK2C=fZ%uH!`!Oz-PUfz=K6m5fZ+Dz~(2^*4sy_jBL3NnL z&P}axMi0xMOh@+2AB?1AJx0%A%&%5Yt@XFqXW6%VGKMQyYFk|r0Y@XVqHwIe!Z;Tb zA}9p#FzuB5>||*e#_%|+rm~JpeD047XHXqa%dx^}0ZKl0*miJaW*o6>bsIGKhBNFM z4(;J=T$fGcSF=T=gd)+2KieBvUh^XL$Sb{}yvum%{b zGCa;JQ94pjY9_9ZD9v}EZXhwADr|6jpAn+OJqmj#+zhZbi!&!gS+Q z)U|0(YBC@Z|N6f7>VAS6uksl0<@OfG?7~xlxW)?ZUZM%^Ui$U{j)5wf;3Ay-d1pHY zn-S4WbmKPu9jv+FtM*`)8M|APA-;H!#s=7S$D#ViJFszE;Uqt;paD9Fnx!w3M~VohMzG<@)kT4dJK^1jb9(pW9BtQbGmt6(PPy&B^3 zu^-f?lDW<@yVhU0MQAxl2GUCcTL#F`mh=s|$hquW2W@fXNav4l>hRIlBWdoFYm_MC z$NU43@lM8r+IG1qig;AJ$_>&nWq=a9NUO|N-25v^L}oVGKV)M_A$<@7HxQ!5SWxl{ z|E6%+qW{dj-U-tt9R%t1D;u~T8A#rfqTW?ezY#O=V$H^k!U;rUw zC~Xp?P2Cx*)I9_LxykgrNjQHP>)WdS8AYy;SrHEs%}(ONX6HR`fRYWlq_7{-R61{vkdD!P8x$-(SG?(tm(2UM6CRe*VEG@{FR<#X=T!3fe47n0+}c4J|fw za)+jgExKn3?>zmV8h-S7dzLqI#O|?i1*8W~!_VA63^YBdQm_m{Vu~=T<;V@Efdv-7 z?Fj3`O@Sk+mA7)ef}2zwxZF%9@WD?-{+j5#bi?z_p^Gonw{XHkhJ{1JUj1!048V8A zNiGo6HH1CQ$|FLfm4(_hkm`dzob{Jx0HqAb+*!LR%!Z~G4^1EoQra_wIoQdXMn`XR zG8()RUX*Yl9YHi(rtSAB{LTcMrdextKt|zGqaYO7PKu#@NUfGx%@rOp1M*p)UGtKVz0t@N`|AaJVx^`k6SqIE~3E zJ=(J5TE0CEx2dTG|KM5$^@w@hN>z zaUBl6=bY^KM%2J`Q_+vUP))6soQYMPd3`oojmz_0=Ctddj&IgP53~CWRNXF;NcuBt z%^s*HJ5k)my(d`4KU~uu1Xk{f=CL^ngv?8C;99Ra`KAr^@yz`LFbuBWJYOv-@+Ddc zsKY&rX!3=b?J3eTJuVk{8_vuVHcdJ3KEx|ecKu~US-9Cm4d7+3e`##_C21|ic=hNS zo+Nzl@-!*Q%;+!`2x&1L9zENm3d*ZI6m(fL`YCeiBx&=e@s!Zj^mH#))5vM>L2^@K z>8K~S+8{Em@AK*Kdv4k-vfuUb)(20@>EuA;wy;(}Q+%YL4K~wv8y|H#n^qi4VZ1EX zcT0Rzcn=%NnjwqM93X4%j{RD7tDcM_OttQ?XmzVP2b-qLY%26D^wfC&#DyhC%Fo}IaJzSpK27?WUC>4*Vzq> zN)^HRl^a77a{!>;&D#{~vYSotO3!ltfzq?H*P~8_?j=D6sR9%(kFFS z_0Qq;pXqP51VGid8QASkl_6_KbSXq#L)Lrr@>Nx^W0CPa)cOcU#0nWEZiygz7>$BK zd^B+;Z@?CLC+1KlM595wHv1umU2WpC{YPUjcapwxyJ1C;6(BkgT`49IzkZpiX?3&3y`pqvPm9Zxnq+f-A z4M|*tpt{v%3_*6eh_DvI=YJx)M8bLP`U$6)Uaj#uSb~gTr^0j6e^XC&Ul#R**m_%q z#6><|E=9ihH~zULDb^)?8b;O&Q+yMgJNt@Mya*j|IKu!QTiTx5l!HaK2l+n$^PK48 z?0D-<6U-?4(~IgaXX+Hr&*P?lqLZ>Q(>y@$RP> zsvvV^sb7q(zD$H%c9Y1YS8P2mIr?%y>Tcw1;*_2{rjV0D4y=cese*HPgo;}^6QlBB z+P{aseC<|!@AuQNsOj3D0*WERy4K}R?@8G<+5FxXQHSc^fxJF%1h6w=WSz?=q4B>8 zyo{YCF0#8=_f^7=IYnM9ROb8HioRge#njk#o~+#CBVxBQ<9~pLcrGqqcN%opu}7%Z z0og7ulGVq!Unr5)-1T18U#)J?l#8%-OZ9cn>-tW7FOEt2jeXjrx>yqhOMrjcT<}+m zeIxhlMpNmDI*es>u%icwc4o`?mX-g;haud_cGMaL8bB>ZMIXE@TYZ;x>ba+&XUN~B z39_z?T!L*wv`%!`Uz$?H3lVzRiW2qFiEX4la^DWZBf4aV`S3?BhHTXvcSL3A(#C?A zdJ~sKl*LC+Idugo#y^u?L8og)8L}`Ioshf^9s&OnpQCQg(?h7!d-CvY%Z^Sj{~2w|gRydg?G74{PQ$3WnRK~! z-H~7Y5qn<_&5;H~S61)Kau$;iG58^ivo_|+l$x2b$E6l7@hB{}H5+)W^Qx8jq?b^5 zFYqIQt)i_OX$ow+y71LFHAPY6ltQqI@`urKnJE;F{}jsFVD1~mU$*5BLTe)(&d`lL zw7m+e_-X=VXqRHI)MgpSi zax9+8xw4)GTyjblGp})AhP=pp+Tcu3noM&8V8CuK3_qnQQy}W2vo>YsPi*DK<`C(I< z&C%9Fyu!WRMFfH8_h%#;Zf|l$&!LZTZG6~iBvfZ5b`Ewo%p)o@HqC9Sxx$XdZ7^L* zjfzbm!n*N8S2Iy$KU2;bD-Zk^D~U1M_;I3Qhv^KLB2g zeG_W62`!HymU@cfv`qtJOg9G3oUf+oj$EsHac}k~22p5HyY|LEK=i%1v)Yr`Ur)-j z9t|)=CDF@r-`<#{W4>f9VmH5eDh{$p{Ibtx{Vxg|`Q`ebjrM<2*#8S*12@k8AA=1n z#l>wrw?LkZtGl;L?-mEUKytY-HQ5Ilm>r3e-(?_XM0$)X!EKZa_nE`H(T>U^`2 zsM?rY!=kOim}YmVy%By7WpU6vVYR~GkoHA^SNsFS-Eij0c9%QuCv-rGw}(=&;w=UU zwx2h3X3dwmO!*N)1H;Q=85*~5v}m2}EhPCyOOXm5JP9W6q)el{#ZY<0c$}b}WS}qr*joHT-RC8y%U@B>K?a6W{lv)~d}) zM|}Qu9VZw2@mtB8*RJQvuQPA$1rz@PI_hTaPHGpVsYWVRm=iE}7C)!>tU+SL?vRE(~~Q;$0R(y{Qww^)?wBUeYJf z9|yHjFg`Sq2{j+LWS^lrBN2DNvV9#-pzIpMxtPmTPaJyCT}ll zF!Npj1D6h2$o#BF2Q&{gdB`CpxHsuLXVbb=LKX+$hcezG4ZMj<`D^=!p?qGpMAiLK zHmCRW3RwtWJqcJzdK#<^Vq80KaKzoaB{S^xBG`T(iuoo@1*&K z$#Lb-^}J2Yma>2*Y%)7Lsq+d1@2c_tg~PBj(&+j7stIP5;@ov8#ue;Lnz7S8X|;=4 zY1Q@L!Ad_n+&;^+Zn8x9^GsUhvb8^9zEN*{wgCkFURx4>N2U9oeo_s|JLb@=YwW3> zC&TsvnU8uA00=;xlv8lwKzT9!k{N>Q_3aqM&C0zrdcwJ&!sF;dYCHbMwS62SSv9?_O;<*q_L4L*Na<>HvowoU+U(2GWxQ8~YiAI9&|71oZr%#>unBFc zkTmpN3n5bASSV1sx7+$R&6o?OyWnz%3+F?& zHva(R(B#8d_$`wMRW2)5fVT=SD`R+lPP##~t|?}rGP0)xbOI|Ms=WLAZ;K)GG4c+m z^(LCX)TvNnMB8WeV7U(FPxCaOBS`{E?JPv-w*j$`)DQJ%e#y|3d#XJWxNUITmzx2< z5z#M^;D)@+mqVS&lRX*dJ@}(a9$0oi;UFC#Ftv#&aF->NHJ=SeSfpX1VM>p2?;_-V0^*lJern zw{x1z>oQ5>KFJdyr4WtdJMTWik)$`*`T;}h0x#25?`685>sx2!!q=F_s_y7iVE~R$ zv8d3GgPY$X*@F>JpV`NGIt@D}dwauCFq@Rl{sD0F&0+-~E2PJ(%u!$_C8pR|~)L1VkOK@+@69~UH;#N1Sr4`cd+LbEhQ7Q+}A^TI(A{h9F8 z0y*b>09?WKtwE{;M6suM?XMNL)qu!uA&`4H{%HX2%*X{@#dOBQA%6k`;la?er8&z= z)RPLd(%uc+lN}NAqQ^*RYmK#xi(dcL=5#jO&JN%Iwn_6ueSD_pY=J3h)+Rs~P*1O^= zb?oAyomg$EH)yt0i27){jfUT1?uE|`W~1MJh`nWC*L)41Tk*UgB(#%Z^)N*~{W*rh zx#B}^mM{J37bl*SRW=#y8&P%_`+EQ5Da@V3coonW#2q4 zVK^?}ZF;EmYv5G*yX5k_Mm%^eQP#u`Nu?RzMha2+4HvQ_QKjB0%Z#C=<^#g=vA8qe z1($#~_P!#{(cG-~d3~@T5<6BLP!T4e$oadXLf5N4BwOA~XTm>C`ftObK7_U{$1tJ& z5u$cEGRoQ`gk-D`o!M6I^#(GwX$@tl{9-xk^jcWC!NBHivLW6r&n8Orx(g3^E8Nm^ z?2mw1>{X~z5g|^{JF{#<>c~GX;+WdWH(u zHTg{NPZ)S!FSBuTj{&gU{5A;kzKjuVW66w3fsAdh#ZC!9><8y6uJR1Mnvrj_h-G|i zY-7=$eIKH%TRxR|)mV>vjk9YG7o=a2uQImF^*phpM5C=zg}6-_qi7#O#`8JRh=~#U zj5LguWfGRB6Fs|H?#r9j&FNEdsiV#7l!$#>~$`mSm2y#?xv38#>BGBvQm^$tfSs5KfE(WEnZe% z7$;uQs^$9c-Xr=4R468|+J1N}$Qb3_nEpw+5tvXx)J={5vDc_>3@7%m$lpM_{bLF- z5aC-MJP*tx_mr6L5rNRj3#%qX(=k&d;-!8c+}`4u-N!DVV#^ZHTl7#FCdDOT5WK$q zF00^|S813KO!!;Ng$v9;huVkCedWfct5ZiESX)c9c_m=I_K3QZCco68(O=i}VSZiq zEu@McBY8#LDE`1hiuH6e^@-*oR6$xb!aKzGf#~L9Z0*@aSP^%Ls%31Cy(brjfB7tBG+}5J2mZ0Qb#C0Y31x6`LzmbY z_QIK1IN%fc_z>X0+*o4EH=6Wu^ji<5^2-nPR4}~V*uTiNS;t~hg{5h1>gs$b3KvL{ z)b`W&<(gr~wKE@74-+U{oMQmU7n8TSH>|}L;@zh?{*6@qj9N#6Rl^!wkbz~c$KS!% zzM!p?T|I|;V6W0q@}%V=Uw(0tUxFBUmP@L(N7#~LILG1)enEX* z1aj#TRtHKJd-EScvr`=cLvH}2p1(N+EBPf%}hZtj1;ayr1 zY?g4Sv?>pM7D0h?xfwKn$1lR)0-Ykh?5*T`j!!*jX-mt(d}!W1yOt>FV_-zXeGD5! zNEdTz=tTgaO28K{e8KM*zOJ>&i|XkTS`XwcqH@Q+`{3uFH=0D@!Zoe^;|xT%Y?B=ZN^OSfpcp;rs9W*$MYR$3gRVixZ9crMT_)y+SW z;g?IlWxKddPgxKjBhpCSj36_IBjsaIq{khUf90*(^JkH)4b_xwRPM@})o)?}A3GlF z8OtU9AlY~0C)utXD&k}`5jaW``r(_!p=}5%^b#Q-fKjZNgjpi5e>7f^mIJ>ftqUYv z=x>ZX+#rfYQ;v73C6~q@AQWYy;Nto_(jmrHs@(vRQM`5Fb{3o~F(WaV%QS!~b2H>) zukUtt;<})luD_{fW^FSSaw$@5%MzJ&JZ-ON6bRV~l|Td(hTWMVq|qZcucfs$97@~b zW{6hWA#F28+Rm6m0Ap(f;U{_AhBA;swIf`};}A)HEzUt;rd;_$(wwXs&WbBsXX{Ch zo(ljw7ObA_lKZkisa`U@4)Yf_S*#5gEM>M=eW_r!opgWec}ifnEV-BY>E;Z*7tkoK zQX*%>^*; z-bk7E23S#kcGh*Un~5)vBD4Y+;ybK$t#aUpnJ9(=)R5jMIP3UU&UESTV4HlcQ^X$S z_D1FAuf++rz(16@`6_af4sukuhm3xai5q@!1?iYJ&XgMIQ3Ty7OoG3Z~o*bDAuC_l4 z>u8CenssJ}!^u?0;?0r>V!d{oizReT`O5gdqeg~*a9BA|%suSa^f{dPv5|MF2kXEx z45c6Hx+3`$&(zYV8sS(K7c2KJIYJdv%h_PiAKzkXmlDmCEmJ7#_jz#>LwzEhh>|c$ zcs_$>voX2K_gm0qo&`Ve*-Y9;nPm!HZ^^6 z>7q@3K(G^z3A&DU(V^ibb}zez(=Rnx*E%b|U8@J|x5LkN87KEp4t)#@4t;bqCc}wC zj3GByl7@cmJme-FO;4R-p+}H7$txui;s!*YZ2tBE?kZ z_E`D#yWy@`l+lNDa)oUk3#zuXZlzrz)3!HG?X)|QnmN`^g1Q0WWqXCinbKN6{kT(_ zK!L-`_hIOd0O4AY0Lrc)+Jn5-Y{lG-VVG6$Plsm~#$Ig?ekqEl!&r9wDoHiwCPU1n z)gF*K7!O6ECTr!{@P&ukZPiBDEs5C;Q5Fc99tCS}Fk>`DKwau$j$5 z&e7%V%L)X_#|S-*ffN`2Zl-p@OmqGE!3YwLESTka@ zgJ^00{2lo@e7HYK_}EE@7z0_gSU?RUIl91UCuaqHmf1Ib(9(3Bq@FStAFJ@i>4oW~ zKdud)a(DaX$q{7-Atw|5aM%pza^3EEP;@6DjRnk8;_o3Vs!`LNA+UAUmwC@L9*jVr zP<`~uZ&fKckT;Pt(zhARQt(|0HynwNWk@Sq>_ZS>RS8F>U14%L%DUen1c-`mckHvh zJ&Sdy9|FmRtlU>F8HhoEM!>M!Im=?EKeKCUNFaE{fpi1x{YAZMEKq(ctM?hx%$oJ1(oRE5c9MvHdi+7At}{x=S&MzDiNxVl@4=aNV^_ zEh3?kie)N>lA7RGi27`b>__%w@$bMgbeX$)z63M2RfmT3Qd$98}SZ&Jc=cO-xd#Fj{7*Vo*omOS5r* zMZ-#p5?8Xn4M(z0tA|ScD2(nog6C^i@scV85;b3}x#RR?bMv>gO(HOvx^si`Bdp>U zd3cXbp8=tsKhT?tZm_FzXa`h#DdVZ&B|!0PsK5=tt&xmpSA@IKb@>NY-7RYD&aFlwE35~M}{?xm%9>#!_s{j#^?d<>Dq%V6(f{-hBemmYsCfMT0c{! z7ZZI$;r41hgOpFry!}F|w)NgLyM7Vy;mD}mNeA-kJ0dUt@-}<)lb~>^!~uE#r}s>c znSU}?1m&BI)FqWt#ks@8+-$%I(Kb?4?i7uL?Gr(bhcq1O%)PIL1F#BM_7K_}F7|yy z^o?u@r`xg^O4KJVA5!Fsmv1~m<9&k)B^j^H6D=^F>o~a3VO;9heVDo*Lz9KW&=pop zc*B_a#saUSYRT&?o%l6E%d(LOo)pHz*nMWk!|K=COPnfatK2M<$} zYuI1wLq>2@ejr~b2nR%bY9L#@;Zc3f?x;VUybNO$qT~+AJaJ{`pRSzmj&t}kts?ZZ zkKe`4iVwmPwqv@?P~lmsd1Y{^sV4Sedg#fJ0dnP9*A=JjO$Zq(6D7k{7{2`sKgj7J-aYZmO17zvCc-)X}+E5@(;`COLZ zK0h0D4CT||K&s)RPWb$dm&}S+mIrqhcu6f=dqI1&1tc|;v@3#Fn3qs9cA+kvHpj}s z3&t}NM3p*8vJ{Fmx#MkF{^F9jQEf~Rrmi{WH6c(jiYgWqC$PA59yjrqu<1a`o?w88lxT1l;t*DtXf{* zY1>il{Cw^$7XFf;-Dwp3CBN~D`MWMO-bF1NN!c7m8LnK&oDSIC6I=p&d*)|zJ8=|X zJdHn`X=86N#4t}mA<-DEUdOLtz5?kq1mF~9iU*t_q>aOSs|_`*f7I-rPI2H6r1$J# zhT-u698eA-98lm)cx0}KcFYBOUwKOYe4<77J;QkB7Ib>=*fQ2wN0)#&oz4eHK}1}< zN(xn6pV`W0HJm!(^(spsitnpVoKxylr+=y~4sjK~TEIDCdP+5uO0%4wS}7`0Jq~rzM(C9V0LAyF@JfZ?FxNPT-8J;t04_9)<{@=uDRQK{0)r zrTJRrgZ?;n5`DH^*ru-5ZIDuNGY)$c_QkF7_ewi0g?{&P!w=uDv*mHx%%u#hMEF-h zo57yEdQ_-N7=G!bYrTYXY->xX5i~qs{mIDQ3w!9?G#(-B%$rC_YLDA`3T-1~{=n3{ zJY7CfZI>j)zhwaY1DyV!0AUB7_}c^pDy*}4=bXPV@LLVrurIv)!*bG47_B(WHnU)r zcZWp8!a%Ju`O_t~O3N!(5E~n#Q9~aCh5b!9us1)1?stTGj4)THY&E=QAZBd*L^k6Y zYTgaN+m@yaS|zQwxyE;=@~qg=5`%yu$odBb2nk%Vf}xcvpY7X^5hboVm{YHreYQcT z`;Qfyz9NTPh9?nAppJ&05Tnx_T!61}cv^1KiT4Ba1PcbLZ7ZJG{Yb_#Gx#O)WDQFD z#^YsfAfTsn7pcK`yhePmK;5JFQ5XxToB|}F8u=WDmi&=lVJbUFF3BB^-nAKFcr`^XVXk43d)DVhHmC0vUJaWmBX9d1f~E6?tH^X9UfZ;v>qX zx%^UvU_DA5we5z|31()#=6TlRKlV9Uq`4BYnHM)Xl7S@IBN*%F4JKmp4G({NIIm$>mW zd`E{7X=CMvVyJC=K-?6>X!R^l5w14fj(taAb5prgG(f7uaMNv8?yvg)0G8Xo1r)D> z7&5%hR;c^|`?-J0eG;RIlY6PQoWZrkMr#!ui09@i`7tO}rx0OT%b-}Q@hPVY7505Y z!Do3j7F{xjmJP4AS$UahcN=ArV%Q$7EPRG>RHO~>Qy00GCDu{9WI3Q*bAq9kSY!Ze zeBk;;rjfWZACNx~Aw88#1u*km_Y;e8&P_JFgsePR7Gmi4{4uiVw<7-l$zL;qRW0p` zuWdr^^h(P&3i+y2Zt>A^T^21}UTO*j+jU6YWA_-a`eL*r3583f)m_dJVo2NQLgCzT zU>0xaF{0Cu)Lk)VvhYQzTwVot^N5v=Blbh~e8z3c?e>?P#BREQdDl}s;!?8}(-s~e z57J$PbA?V=smCz`aI0mhIOs&OFUF7_JcwR-_snsgW0R;r0=H8v6^hiT|_ag5=E94qOT+DAgcU!UeIjNpdA5bE;< z(j-VdtBc|kq8h5P$M&-?S+KL>9JS(D{{Y7pV<%4#J2!im8)eMLC;)uJJOP>%U)*?O zv(-P&0#86ckdFhF>f>~;sF7^AiZ9G4`pgYFoYxY~3r;1?QK9Z))@2{KxLT`B&Civv z)d3&=(+io7De8k1SwYJV<7*`ifywGRouY-rcxA`TRH}H4YAv7)612Nb+0PMSPa#?j zDDV$jBEZZDmn>{hQjrIZv1#R)Q-k~Vvg^JPopW#XiC>zVz#q3f{md&hKo)bH7x`;5 zV+w#sK~O83_}s8+DYb;%{{SB4)qta_ef2j|4U|54?3FWK#w?YS#H#~Ikd>Z(yMp1c zrB-Vv5xPOZraZxM4BJLxNV(9dg}o7gucBRQHET_HNxBK>KR5(5%*RVGOeq3WXvI&y z=3B2(a;b`7y4*%vYORQ)OB!FEAke@tu-O5F@{m5GbBqo>VxJRJtm-1t4eD7qhneyn zbpgm`2oJ)w{m|S2VQfyKvzupkUM5rzxnl+~7;_P9-2A4qhIKR;#ah8ec!vxoL0I0t z*mVc7nyF=QS0Q;4GkORH4_{Y$|9a3&hM z0+XP64hWRQ+2Z`-j(VQ}*XA`GO$%&zdg^B7(~;&X4~v4C^DG?Pa+ok8(;QYSbeU3S z?S3Ew@DNZ;FvQV$lqBjHo4vtG-Xja|Q?^nuGRQV@F=`wC0G^i?oN6p<7ZGM+tuN+R p6{@|?Gxrz-{l_L5^EP2Dre%*a5Q*f4HTK6N2F_056-#YX|Jn9%9>D+r literal 0 HcmV?d00001 diff --git a/dev/initdemo/documents_demo/users/9/1/thumbs/eldy_php_mini.jpg b/dev/initdemo/documents_demo/users/9/1/thumbs/eldy_php_mini.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d7c66abb1788717bbd07e09093266358898b5be5 GIT binary patch literal 2532 zcmbW!c|6pM769b>{5@AG+oz4y-foWIWboX`1w4sV1v4G3A_%y9q+1Ohzw z65w%x6Q^xWjqI##k7EeF8W%(T2$)Fi!&(?+Qg~np0b_1qhOszjYKDo#YN@DWh$OE| zfe|qnLkw06$r}ew126~_28F<2P#7Ez<3|c1kq87*L~y@=keG zasVF+1V({)&44TbfS`NSAKHHfh!4DXFPtBN+_yKt6ax4_U@#v94241>V7PoLzi;{rm|5ffvIgNRd&|F|jv(y_uAJ>o)lwH7z|O^M2NYg2Kl| z#U)QlpO#m=WL8#H*Svc3wz;LXt-Ygj;Qio-q2ZCyv6M0Sa`}#xWzF}XCl3f>N3m@a>cUVy}KjsxrFjt{8&9cB^A(VHCXHQS&Rp`SCrVa z4?Px%I=lr54J{nZ2I1wBH|ZLVTzD=^4O&O=isk|SiDT@euQC29PzlaL8mT*O)c=Bj zo1#kP^WNOIHnGbG$fmfA<{OpPO2k&))J*2M#s&Is%>C}K&%c;jv#VCT zW)gel70bslj`VWGQes4v+Ny70e-hnBko^|tdQc}r@qYH4eD1t6IcQlYV8d&H%AERi zm(t5Boz43kr#bk^!1U?TpE+laUw!yfDcR>0p8V)7L|~4x;#59Sjw&~NE73#bMi(RY z-`{6(10D&0mBbf^$&}DGnEh5c79at{O(bW!K0C%{gQM`Y_W{1vCoJ!BmIWpIdiUkx z(qd!E7Nw`hj#?#M>tI?(#E<6?+Z(^v5w_SgEPEv;3^IQkj%~Z*J48}7{Ss`PQuy3f zPkmCsGNce432E%OI+1BJHah5Wk!upOQXBrNTJ>UKVnl7ke7oNMSmye!Z zI6q$$HL-0_F81szR+sVUga3tA^vpH4l-;-l&a<346U$M(N6%`hDZ`|hpcUHTWo?O# zJg>@t@j}fryFr=jxub2%?&|9S=05l*qTEgmYb|C68f#M| zooa7i5|*19l8LWoxaNHssI5S?9=nE>$<@?mjkX-(ie>?Rh4@eDO*zD@J z6(Sqn(BpK6xr<#2ifnfc@HE0IG1zoV@T~~NKQg*`K%>F)E+hl-A+BiaVq}*TEwR7R z+MN@|FJ9FlfQ6?Fb_8H~06ryr(k;QFpUFH25);bp-BFvQ-rhi^Owe|(dOMGGRLfSl z%C=S(kfTSAI;_E3bp)}q1yvXBzC?#?xtluwcJ5RjjmgSm`(7vK=7S%w9$J6&obKvqLBC}!M5+(ydz*LY>#}T{ z;$3KuzYI(bpC2qG+b@-%{fJLS%T}i+KUJ)!U2OJt%1S^b^|F2nMMa=rPn$RYqB&sh znZM|C+Ym^|+#bFZr9V2b<1^8qj!+WJSg987%kV$BjV6v6e6(T&OwS#lhhck}5j;SQ zrPLOCPfWn)>w9@_O(~c8HdzhhhxIgqmF<+*{1lFx>vrePn?thqI39#QXBSJNW(p8owvZqcQ{r;=895H5yJ>eO*G>uwePl_nqQK=Hv; zdmFXAL&&B_d=$><8GbvY{j!rjpE&bSJY=@!MD$4I>4UxBjp>c$PflQ^*Mf2iY?q^K zsL95k->c^ws?9hyDM8i}mr9ITbw9E0GF{cIJbUR@iZY_jTc7UX7~l9y_>YE}(Fe^s zkMO8Kg8GXX8;V>iOhhnVA6BhB!FWt16efn)yIOAd^}OepN9^JVr&1bR)ed1j@x8h& zHM3+jDeHBQ_PUd6neT+wR9yqd#+D@tzpqylIq;)4&XNxsj=km%tUHuMwJO}7lbJ}c zSlp(zh}au8$Yuxwxr2uef#O(ZvX%Q literal 0 HcmV?d00001 diff --git a/dev/initdemo/documents_demo/users/9/1/thumbs/eldy_php_small.jpg b/dev/initdemo/documents_demo/users/9/1/thumbs/eldy_php_small.jpg new file mode 100644 index 0000000000000000000000000000000000000000..045d8372878583feb2c20bc39c9daecfc46040f3 GIT binary patch literal 6266 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 FzW~(x0QUd@ literal 0 HcmV?d00001 From 5aa5c5259d71887243233482275cb3baba33bfa4 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 30 Jul 2016 20:39:25 +0200 Subject: [PATCH 180/476] demo is in mode stable --- dev/initdemo/mysqldump_dolibarr_4.0.0.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev/initdemo/mysqldump_dolibarr_4.0.0.sql b/dev/initdemo/mysqldump_dolibarr_4.0.0.sql index c682b62c1ab..18e560c6f00 100644 --- a/dev/initdemo/mysqldump_dolibarr_4.0.0.sql +++ b/dev/initdemo/mysqldump_dolibarr_4.0.0.sql @@ -3058,7 +3058,7 @@ CREATE TABLE `llx_const` ( LOCK TABLES `llx_const` WRITE; /*!40000 ALTER TABLE `llx_const` DISABLE KEYS */; -INSERT INTO `llx_const` VALUES (5,'SYSLOG_LEVEL',0,'7','chaine',0,'Level of debug info to show','2010-07-08 11:17:57'),(8,'MAIN_UPLOAD_DOC',0,'2048','chaine',0,'Max size for file upload (0 means no upload allowed)','2010-07-08 11:17:57'),(9,'MAIN_SEARCHFORM_SOCIETE',0,'1','yesno',0,'Show form for quick company search','2010-07-08 11:17:57'),(10,'MAIN_SEARCHFORM_CONTACT',0,'1','yesno',0,'Show form for quick contact search','2010-07-08 11:17:57'),(11,'MAIN_SEARCHFORM_PRODUITSERVICE',0,'1','yesno',0,'Show form for quick product search','2010-07-08 11:17:58'),(12,'MAIN_SEARCHFORM_ADHERENT',0,'1','yesno',0,'Show form for quick member search','2010-07-08 11:17:58'),(16,'MAIN_SIZE_LISTE_LIMIT',0,'25','chaine',0,'Longueur maximum des listes','2010-07-08 11:17:58'),(17,'MAIN_SHOW_WORKBOARD',0,'1','yesno',0,'Affichage tableau de bord de travail Dolibarr','2010-07-08 11:17:58'),(29,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',1,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2010-07-08 11:17:58'),(33,'SOCIETE_NOLIST_COURRIER',0,'1','yesno',0,'Liste les fichiers du repertoire courrier','2010-07-08 11:17:58'),(36,'ADHERENT_MAIL_REQUIRED',1,'1','yesno',0,'EMail required to create a new member','2010-07-08 11:17:58'),(37,'ADHERENT_MAIL_FROM',1,'adherents@domain.com','chaine',0,'Sender EMail for automatic emails','2010-07-08 11:17:58'),(38,'ADHERENT_MAIL_RESIL',1,'Your subscription has been resiliated.\r\nWe hope to see you soon again','texte',0,'Mail resiliation','2010-07-08 11:17:58'),(39,'ADHERENT_MAIL_VALID',1,'Your subscription has been validated.\r\nThis is a remind of your personal information :\r\n\r\n%INFOS%\r\n\r\n','texte',0,'Mail de validation','2010-07-08 11:17:59'),(40,'ADHERENT_MAIL_COTIS',1,'Hello %PRENOM%,\r\nThanks for your subscription.\r\nThis email confirms that your subscription has been received and processed.\r\n\r\n','texte',0,'Mail de validation de cotisation','2010-07-08 11:17:59'),(41,'ADHERENT_MAIL_VALID_SUBJECT',1,'Your subscription has been validated','chaine',0,'Sujet du mail de validation','2010-07-08 11:17:59'),(42,'ADHERENT_MAIL_RESIL_SUBJECT',1,'Resiliating your subscription','chaine',0,'Sujet du mail de resiliation','2010-07-08 11:17:59'),(43,'ADHERENT_MAIL_COTIS_SUBJECT',1,'Receipt of your subscription','chaine',0,'Sujet du mail de validation de cotisation','2010-07-08 11:17:59'),(44,'MAILING_EMAIL_FROM',1,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2010-07-08 11:17:59'),(45,'ADHERENT_USE_MAILMAN',1,'0','yesno',0,'Utilisation de Mailman','2010-07-08 11:17:59'),(46,'ADHERENT_MAILMAN_UNSUB_URL',1,'http://lists.domain.com/cgi-bin/mailman/admin/%LISTE%/members?adminpw=%MAILMAN_ADMINPW%&user=%EMAIL%','chaine',0,'Url de desinscription aux listes mailman','2010-07-08 11:17:59'),(47,'ADHERENT_MAILMAN_URL',1,'http://lists.domain.com/cgi-bin/mailman/admin/%LISTE%/members?adminpw=%MAILMAN_ADMINPW%&send_welcome_msg_to_this_batch=1&subscribees=%EMAIL%','chaine',0,'Url pour les inscriptions mailman','2010-07-08 11:17:59'),(48,'ADHERENT_MAILMAN_LISTS',1,'test-test,test-test2','chaine',0,'Listes auxquelles inscrire les nouveaux adherents','2010-07-08 11:17:59'),(49,'ADHERENT_MAILMAN_ADMINPW',1,'','chaine',0,'Mot de passe Admin des liste mailman','2010-07-08 11:17:59'),(50,'ADHERENT_MAILMAN_SERVER',1,'lists.domain.com','chaine',0,'Serveur hebergeant les interfaces d Admin des listes mailman','2010-07-08 11:17:59'),(51,'ADHERENT_MAILMAN_LISTS_COTISANT',1,'','chaine',0,'Liste(s) auxquelles les nouveaux cotisants sont inscris automatiquement','2010-07-08 11:17:59'),(52,'ADHERENT_USE_SPIP',1,'0','yesno',0,'Utilisation de SPIP ?','2010-07-08 11:17:59'),(53,'ADHERENT_USE_SPIP_AUTO',1,'0','yesno',0,'Utilisation de SPIP automatiquement','2010-07-08 11:17:59'),(54,'ADHERENT_SPIP_USER',1,'user','chaine',0,'user spip','2010-07-08 11:17:59'),(55,'ADHERENT_SPIP_PASS',1,'pass','chaine',0,'Pass de connection','2010-07-08 11:17:59'),(56,'ADHERENT_SPIP_SERVEUR',1,'localhost','chaine',0,'serveur spip','2010-07-08 11:17:59'),(57,'ADHERENT_SPIP_DB',1,'spip','chaine',0,'db spip','2010-07-08 11:17:59'),(58,'ADHERENT_CARD_HEADER_TEXT',1,'%ANNEE%','chaine',0,'Texte imprime sur le haut de la carte adherent','2010-07-08 11:17:59'),(59,'ADHERENT_CARD_FOOTER_TEXT',1,'Association AZERTY','chaine',0,'Texte imprime sur le bas de la carte adherent','2010-07-08 11:17:59'),(61,'FCKEDITOR_ENABLE_USER',1,'1','yesno',0,'Activation fckeditor sur notes utilisateurs','2010-07-08 11:17:59'),(62,'FCKEDITOR_ENABLE_SOCIETE',1,'1','yesno',0,'Activation fckeditor sur notes societe','2010-07-08 11:17:59'),(63,'FCKEDITOR_ENABLE_PRODUCTDESC',1,'1','yesno',0,'Activation fckeditor sur notes produits','2010-07-08 11:17:59'),(64,'FCKEDITOR_ENABLE_MEMBER',1,'1','yesno',0,'Activation fckeditor sur notes adherent','2010-07-08 11:17:59'),(65,'FCKEDITOR_ENABLE_MAILING',1,'1','yesno',0,'Activation fckeditor sur emailing','2010-07-08 11:17:59'),(67,'DON_ADDON_MODEL',1,'html_cerfafr','chaine',0,'','2010-07-08 11:18:00'),(68,'PROPALE_ADDON',1,'mod_propale_marbre','chaine',0,'','2010-07-08 11:18:00'),(69,'PROPALE_ADDON_PDF',1,'azur','chaine',0,'','2010-07-08 11:18:00'),(70,'COMMANDE_ADDON',1,'mod_commande_marbre','chaine',0,'','2010-07-08 11:18:00'),(71,'COMMANDE_ADDON_PDF',1,'einstein','chaine',0,'','2010-07-08 11:18:00'),(72,'COMMANDE_SUPPLIER_ADDON',1,'mod_commande_fournisseur_muguet','chaine',0,'','2010-07-08 11:18:00'),(73,'COMMANDE_SUPPLIER_ADDON_PDF',1,'muscadet','chaine',0,'','2010-07-08 11:18:00'),(74,'EXPEDITION_ADDON',1,'enlevement','chaine',0,'','2010-07-08 11:18:00'),(76,'FICHEINTER_ADDON',1,'pacific','chaine',0,'','2010-07-08 11:18:00'),(77,'FICHEINTER_ADDON_PDF',1,'soleil','chaine',0,'','2010-07-08 11:18:00'),(79,'FACTURE_ADDON_PDF',1,'crabe','chaine',0,'','2010-07-08 11:18:00'),(80,'PROPALE_VALIDITY_DURATION',1,'15','chaine',0,'Durée de validitée des propales','2010-07-08 11:18:00'),(230,'COMPANY_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/thirdparties','chaine',0,NULL,'2010-07-08 11:26:20'),(238,'LIVRAISON_ADDON_PDF',1,'typhon','chaine',0,'Nom du gestionnaire de generation des commandes en PDF','2010-07-08 11:26:27'),(239,'LIVRAISON_ADDON_NUMBER',1,'mod_livraison_jade','chaine',0,'Nom du gestionnaire de numerotation des bons de livraison','2013-03-20 13:17:36'),(242,'MAIN_SUBMODULE_EXPEDITION',1,'1','chaine',0,'','2010-07-08 11:26:34'),(245,'FACTURE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/invoices','chaine',0,NULL,'2010-07-08 11:28:53'),(249,'DON_FORM',1,'fsfe.fr.php','chaine',0,'Nom du gestionnaire de formulaire de dons','2010-07-08 11:29:00'),(253,'ADHERENT_BANK_USE_AUTO',1,'','yesno',0,'Insertion automatique des cotisation dans le compte banquaire','2010-07-08 11:29:05'),(254,'ADHERENT_BANK_ACCOUNT',1,'','chaine',0,'ID du Compte banquaire utilise','2010-07-08 11:29:05'),(255,'ADHERENT_BANK_CATEGORIE',1,'','chaine',0,'ID de la categorie banquaire des cotisations','2010-07-08 11:29:05'),(256,'ADHERENT_ETIQUETTE_TYPE',1,'L7163','chaine',0,'Type d etiquette (pour impression de planche d etiquette)','2010-07-08 11:29:05'),(269,'PROJECT_ADDON_PDF',1,'baleine','chaine',0,'Nom du gestionnaire de generation des projets en PDF','2010-07-08 11:29:33'),(270,'PROJECT_ADDON',1,'mod_project_simple','chaine',0,'Nom du gestionnaire de numerotation des projets','2010-07-08 11:29:33'),(368,'STOCK_USERSTOCK_AUTOCREATE',1,'1','chaine',0,'','2010-07-08 22:44:59'),(369,'EXPEDITION_ADDON_PDF',1,'merou','chaine',0,'','2010-07-08 22:58:07'),(370,'MAIN_SUBMODULE_LIVRAISON',1,'1','chaine',0,'','2010-07-08 23:00:29'),(377,'FACTURE_ADDON',1,'mod_facture_terre','chaine',0,'','2010-07-08 23:08:12'),(380,'ADHERENT_CARD_TEXT',1,'%TYPE% n° %ID%\r\n%PRENOM% %NOM%\r\n<%EMAIL%>\r\n%ADRESSE%\r\n%CP% %VILLE%\r\n%PAYS%','',0,'Texte imprime sur la carte adherent','2010-07-08 23:14:46'),(381,'ADHERENT_CARD_TEXT_RIGHT',1,'aaa','',0,'','2010-07-08 23:14:55'),(384,'PRODUIT_SOUSPRODUITS',1,'1','chaine',0,'','2010-07-08 23:22:12'),(385,'PRODUIT_USE_SEARCH_TO_SELECT',1,'1','chaine',0,'','2010-07-08 23:22:19'),(386,'STOCK_CALCULATE_ON_SHIPMENT',1,'1','chaine',0,'','2010-07-08 23:23:21'),(387,'STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER',1,'1','chaine',0,'','2010-07-08 23:23:26'),(392,'MAIN_AGENDA_XCAL_EXPORTKEY',1,'dolibarr','chaine',0,'','2010-07-08 23:27:50'),(393,'MAIN_AGENDA_EXPORT_PAST_DELAY',1,'100','chaine',0,'','2010-07-08 23:27:50'),(610,'CASHDESK_ID_THIRDPARTY',1,'7','chaine',0,'','2010-07-11 17:08:18'),(611,'CASHDESK_ID_BANKACCOUNT_CASH',1,'3','chaine',0,'','2010-07-11 17:08:18'),(612,'CASHDESK_ID_BANKACCOUNT_CHEQUE',1,'1','chaine',0,'','2010-07-11 17:08:18'),(613,'CASHDESK_ID_BANKACCOUNT_CB',1,'1','chaine',0,'','2010-07-11 17:08:18'),(614,'CASHDESK_ID_WAREHOUSE',1,'2','chaine',0,'','2010-07-11 17:08:18'),(660,'LDAP_USER_DN',1,'ou=users,dc=my-domain,dc=com','chaine',0,NULL,'2010-07-18 10:25:27'),(661,'LDAP_GROUP_DN',1,'ou=groups,dc=my-domain,dc=com','chaine',0,NULL,'2010-07-18 10:25:27'),(662,'LDAP_FILTER_CONNECTION',1,'&(objectClass=user)(objectCategory=person)','chaine',0,NULL,'2010-07-18 10:25:27'),(663,'LDAP_FIELD_LOGIN',1,'uid','chaine',0,NULL,'2010-07-18 10:25:27'),(664,'LDAP_FIELD_FULLNAME',1,'cn','chaine',0,NULL,'2010-07-18 10:25:27'),(665,'LDAP_FIELD_NAME',1,'sn','chaine',0,NULL,'2010-07-18 10:25:27'),(666,'LDAP_FIELD_FIRSTNAME',1,'givenname','chaine',0,NULL,'2010-07-18 10:25:27'),(667,'LDAP_FIELD_MAIL',1,'mail','chaine',0,NULL,'2010-07-18 10:25:27'),(668,'LDAP_FIELD_PHONE',1,'telephonenumber','chaine',0,NULL,'2010-07-18 10:25:27'),(669,'LDAP_FIELD_FAX',1,'facsimiletelephonenumber','chaine',0,NULL,'2010-07-18 10:25:27'),(670,'LDAP_FIELD_MOBILE',1,'mobile','chaine',0,NULL,'2010-07-18 10:25:27'),(671,'LDAP_SERVER_TYPE',1,'openldap','chaine',0,'','2010-07-18 10:25:46'),(672,'LDAP_SERVER_PROTOCOLVERSION',1,'3','chaine',0,'','2010-07-18 10:25:47'),(673,'LDAP_SERVER_HOST',1,'localhost','chaine',0,'','2010-07-18 10:25:47'),(674,'LDAP_SERVER_PORT',1,'389','chaine',0,'','2010-07-18 10:25:47'),(675,'LDAP_SERVER_USE_TLS',1,'0','chaine',0,'','2010-07-18 10:25:47'),(676,'LDAP_SYNCHRO_ACTIVE',1,'dolibarr2ldap','chaine',0,'','2010-07-18 10:25:47'),(677,'LDAP_CONTACT_ACTIVE',1,'1','chaine',0,'','2010-07-18 10:25:47'),(678,'LDAP_MEMBER_ACTIVE',1,'1','chaine',0,'','2010-07-18 10:25:47'),(974,'MAIN_MODULE_WORKFLOW_TRIGGERS',1,'1','chaine',0,NULL,'2011-07-18 18:02:20'),(975,'WORKFLOW_PROPAL_AUTOCREATE_ORDER',1,'1','chaine',0,'','2011-07-18 18:02:24'),(979,'PRELEVEMENT_USER',1,'1','chaine',0,'','2011-07-18 18:05:50'),(980,'PRELEVEMENT_NUMERO_NATIONAL_EMETTEUR',1,'1234567','chaine',0,'','2011-07-18 18:05:50'),(981,'PRELEVEMENT_ID_BANKACCOUNT',1,'1','chaine',0,'','2011-07-18 18:05:50'),(983,'FACTURE_RIB_NUMBER',1,'1','chaine',0,'','2011-07-18 18:35:14'),(984,'FACTURE_CHQ_NUMBER',1,'1','chaine',0,'','2011-07-18 18:35:14'),(1016,'GOOGLE_DUPLICATE_INTO_GCAL',1,'1','chaine',0,'','2011-07-18 21:40:20'),(1152,'SOCIETE_CODECLIENT_ADDON',1,'mod_codeclient_monkey','chaine',0,'','2011-07-29 20:50:02'),(1231,'MAIN_UPLOAD_DOC',1,'2048','chaine',0,'','2011-07-29 21:04:00'),(1234,'MAIN_UMASK',1,'0664','chaine',0,'','2011-07-29 21:04:11'),(1240,'MAIN_LOGEVENTS_USER_LOGIN',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1241,'MAIN_LOGEVENTS_USER_LOGIN_FAILED',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1242,'MAIN_LOGEVENTS_USER_LOGOUT',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1243,'MAIN_LOGEVENTS_USER_CREATE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1244,'MAIN_LOGEVENTS_USER_MODIFY',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1245,'MAIN_LOGEVENTS_USER_NEW_PASSWORD',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1246,'MAIN_LOGEVENTS_USER_ENABLEDISABLE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1247,'MAIN_LOGEVENTS_USER_DELETE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1248,'MAIN_LOGEVENTS_GROUP_CREATE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1249,'MAIN_LOGEVENTS_GROUP_MODIFY',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1250,'MAIN_LOGEVENTS_GROUP_DELETE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1251,'MAIN_BOXES_MAXLINES',1,'5','',0,'','2011-07-29 21:05:42'),(1482,'EXPEDITION_ADDON_NUMBER',1,'mod_expedition_safor','chaine',0,'Nom du gestionnaire de numerotation des expeditions','2011-08-05 17:53:11'),(1490,'CONTRACT_ADDON',1,'mod_contract_serpis','chaine',0,'Nom du gestionnaire de numerotation des contrats','2011-08-05 18:11:58'),(1677,'COMMANDE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/orders','chaine',0,NULL,'2012-12-08 13:11:02'),(1698,'PRODUCT_CODEPRODUCT_ADDON',1,'mod_codeproduct_leopard','yesno',0,'Module to control product codes','2012-12-08 13:11:25'),(1719,'ACCOUNTING_USEDICTTOEDIT',1,'1','chaine',1,'','2012-12-08 13:15:00'),(1724,'PROPALE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/proposals','chaine',0,NULL,'2012-12-08 13:17:14'),(1730,'OPENSTREETMAP_ENABLE_MAPS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1731,'OPENSTREETMAP_ENABLE_MAPS_CONTACTS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1732,'OPENSTREETMAP_ENABLE_MAPS_MEMBERS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1733,'OPENSTREETMAP_MAPS_ZOOM_LEVEL',1,'15','chaine',0,'','2012-12-08 13:22:47'),(1737,'MAIN_INFO_SOCIETE_COUNTRY',2,'1:FR:France','chaine',0,'','2013-02-26 21:56:28'),(1738,'MAIN_INFO_SOCIETE_NOM',2,'aaa','chaine',0,'','2012-12-08 14:08:14'),(1739,'MAIN_INFO_SOCIETE_STATE',2,'0','chaine',0,'','2013-02-27 14:20:27'),(1740,'MAIN_MONNAIE',2,'EUR','chaine',0,'','2012-12-08 14:08:14'),(1741,'MAIN_LANG_DEFAULT',2,'auto','chaine',0,'','2012-12-08 14:08:14'),(1742,'MAIN_MAIL_EMAIL_FROM',2,'dolibarr-robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2012-12-08 14:08:14'),(1743,'MAIN_MENU_STANDARD',2,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs internes','2013-02-11 19:43:54'),(1744,'MAIN_MENUFRONT_STANDARD',2,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs externes','2013-02-11 19:43:54'),(1745,'MAIN_MENU_SMARTPHONE',2,'iphone_backoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs internes','2012-12-08 14:08:14'),(1746,'MAIN_MENUFRONT_SMARTPHONE',2,'iphone_frontoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs externes','2012-12-08 14:08:14'),(1747,'MAIN_THEME',2,'eldy','chaine',0,'Default theme','2012-12-08 14:08:14'),(1748,'MAIN_DELAY_ACTIONS_TODO',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur actions planifiées non réalisées','2012-12-08 14:08:14'),(1749,'MAIN_DELAY_ORDERS_TO_PROCESS',2,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes clients non traitées','2012-12-08 14:08:14'),(1750,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes fournisseurs non traitées','2012-12-08 14:08:14'),(1751,'MAIN_DELAY_PROPALS_TO_CLOSE',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales à cloturer','2012-12-08 14:08:14'),(1752,'MAIN_DELAY_PROPALS_TO_BILL',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales non facturées','2012-12-08 14:08:14'),(1753,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures client impayées','2012-12-08 14:08:14'),(1754,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',2,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures fournisseur impayées','2012-12-08 14:08:14'),(1755,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',2,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2012-12-08 14:08:14'),(1756,'MAIN_DELAY_RUNNING_SERVICES',2,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services expirés','2012-12-08 14:08:14'),(1757,'MAIN_DELAY_MEMBERS',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur cotisations adhérent en retard','2012-12-08 14:08:14'),(1758,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',2,'62','chaine',0,'Tolérance de retard avant alerte (en jours) sur rapprochements bancaires à faire','2012-12-08 14:08:14'),(1759,'MAILING_EMAIL_FROM',2,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2012-12-08 14:08:14'),(1760,'MAIN_INFO_SOCIETE_COUNTRY',3,'1:FR:France','chaine',0,'','2013-02-26 21:56:28'),(1761,'MAIN_INFO_SOCIETE_NOM',3,'bbb','chaine',0,'','2012-12-08 14:08:20'),(1762,'MAIN_INFO_SOCIETE_STATE',3,'0','chaine',0,'','2013-02-27 14:20:27'),(1763,'MAIN_MONNAIE',3,'EUR','chaine',0,'','2012-12-08 14:08:20'),(1764,'MAIN_LANG_DEFAULT',3,'auto','chaine',0,'','2012-12-08 14:08:20'),(1765,'MAIN_MAIL_EMAIL_FROM',3,'dolibarr-robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2012-12-08 14:08:20'),(1766,'MAIN_MENU_STANDARD',3,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs internes','2013-02-11 19:43:54'),(1767,'MAIN_MENUFRONT_STANDARD',3,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs externes','2013-02-11 19:43:54'),(1768,'MAIN_MENU_SMARTPHONE',3,'iphone_backoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs internes','2012-12-08 14:08:20'),(1769,'MAIN_MENUFRONT_SMARTPHONE',3,'iphone_frontoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs externes','2012-12-08 14:08:20'),(1770,'MAIN_THEME',3,'eldy','chaine',0,'Default theme','2012-12-08 14:08:20'),(1771,'MAIN_DELAY_ACTIONS_TODO',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur actions planifiées non réalisées','2012-12-08 14:08:20'),(1772,'MAIN_DELAY_ORDERS_TO_PROCESS',3,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes clients non traitées','2012-12-08 14:08:20'),(1773,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes fournisseurs non traitées','2012-12-08 14:08:20'),(1774,'MAIN_DELAY_PROPALS_TO_CLOSE',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales à cloturer','2012-12-08 14:08:20'),(1775,'MAIN_DELAY_PROPALS_TO_BILL',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales non facturées','2012-12-08 14:08:20'),(1776,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures client impayées','2012-12-08 14:08:20'),(1777,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',3,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures fournisseur impayées','2012-12-08 14:08:20'),(1778,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',3,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2012-12-08 14:08:20'),(1779,'MAIN_DELAY_RUNNING_SERVICES',3,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services expirés','2012-12-08 14:08:20'),(1780,'MAIN_DELAY_MEMBERS',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur cotisations adhérent en retard','2012-12-08 14:08:20'),(1781,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',3,'62','chaine',0,'Tolérance de retard avant alerte (en jours) sur rapprochements bancaires à faire','2012-12-08 14:08:20'),(1782,'MAILING_EMAIL_FROM',3,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2012-12-08 14:08:20'),(1803,'SYSLOG_FILE',1,'DOL_DATA_ROOT/dolibarr.log','chaine',0,'','2012-12-08 14:15:08'),(1804,'SYSLOG_HANDLERS',1,'[\"mod_syslog_file\"]','chaine',0,'','2012-12-08 14:15:08'),(1805,'MAIN_MODULE_SKINCOLOREDITOR',3,'1',NULL,0,NULL,'2012-12-08 14:35:40'),(1806,'MAIN_MODULE_SKINCOLOREDITOR_TABS_0',3,'user:+tabskincoloreditors:ColorEditor:skincoloreditor@skincoloreditor:/skincoloreditor/usercolors.php?id=__ID__','chaine',0,NULL,'2012-12-08 14:35:40'),(1922,'PAYPAL_API_SANDBOX',1,'1','chaine',0,'','2012-12-12 12:11:05'),(1923,'PAYPAL_API_USER',1,'seller_1355312017_biz_api1.nltechno.com','chaine',0,'','2012-12-12 12:11:05'),(1924,'PAYPAL_API_PASSWORD',1,'1355312040','chaine',0,'','2012-12-12 12:11:05'),(1925,'PAYPAL_API_SIGNATURE',1,'AXqqdsWBzvfn0q5iNmbuiDv1y.3EAXIMWyl4C5KvDReR9HDwwAd6dQ4Q','chaine',0,'','2012-12-12 12:11:05'),(1926,'PAYPAL_API_INTEGRAL_OR_PAYPALONLY',1,'integral','chaine',0,'','2012-12-12 12:11:05'),(1927,'PAYPAL_SECURITY_TOKEN',1,'50c82fab36bb3b6aa83e2a50691803b2','chaine',0,'','2012-12-12 12:11:05'),(1928,'PAYPAL_SECURITY_TOKEN_UNIQUE',1,'0','chaine',0,'','2012-12-12 12:11:05'),(1929,'PAYPAL_ADD_PAYMENT_URL',1,'1','chaine',0,'','2012-12-12 12:11:05'),(1980,'MAIN_PDF_FORMAT',1,'EUA4','chaine',0,'','2012-12-12 19:58:05'),(1981,'MAIN_PROFID1_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1982,'MAIN_PROFID2_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1983,'MAIN_PROFID3_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1984,'MAIN_PROFID4_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1985,'MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1990,'MAIN_SMS_SENDMODE',1,'ovh','chaine',0,'This is to enable OVH SMS engine','2012-12-17 21:19:01'),(2040,'MAIN_MAIL_SMTP_PORT',1,'465','chaine',0,'','2015-07-19 13:41:06'),(2041,'MAIN_MAIL_SMTP_SERVER',1,'smtp.mail.com','chaine',0,'','2015-07-19 13:41:06'),(2044,'MAIN_MAIL_EMAIL_TLS',1,'1','chaine',0,'','2015-07-19 13:41:06'),(2251,'FCKEDITOR_TEST',1,'Test
\r\n\"\"fdfs','chaine',0,'','2012-12-19 19:12:24'),(2293,'SYSTEMTOOLS_MYSQLDUMP',1,'/usr/bin/mysqldump','chaine',0,'','2012-12-27 02:02:00'),(2835,'MAIN_USE_CONNECT_TIMEOUT',1,'10','chaine',0,'','2013-01-16 19:28:50'),(2836,'MAIN_USE_RESPONSE_TIMEOUT',1,'30','chaine',0,'','2013-01-16 19:28:50'),(2837,'MAIN_PROXY_USE',1,'0','chaine',0,'','2013-01-16 19:28:50'),(2838,'MAIN_PROXY_HOST',1,'localhost','chaine',0,'','2013-01-16 19:28:50'),(2839,'MAIN_PROXY_PORT',1,'8080','chaine',0,'','2013-01-16 19:28:50'),(2840,'MAIN_PROXY_USER',1,'aaa','chaine',0,'','2013-01-16 19:28:50'),(2841,'MAIN_PROXY_PASS',1,'bbb','chaine',0,'','2013-01-16 19:28:50'),(2848,'OVHSMS_NICK',1,'BN196-OVH','chaine',0,'','2013-01-16 19:32:36'),(2849,'OVHSMS_PASS',1,'bigone-10','chaine',0,'','2013-01-16 19:32:36'),(2850,'OVHSMS_SOAPURL',1,'https://www.ovh.com/soapi/soapi-re-1.55.wsdl','chaine',0,'','2013-01-16 19:32:36'),(2854,'THEME_ELDY_RGB',1,'bfbf00','chaine',0,'','2013-01-18 10:02:53'),(2855,'THEME_ELDY_ENABLE_PERSONALIZED',1,'0','chaine',0,'','2013-01-18 10:02:55'),(2858,'MAIN_SESSION_TIMEOUT',1,'2000','chaine',0,'','2013-01-19 17:01:53'),(2862,'TICKET_ADDON',1,'mod_ticket_avenc','chaine',0,'Nom du gestionnaire de numerotation des tickets','2013-01-19 17:16:10'),(2867,'FACSIM_ADDON',1,'mod_facsim_alcoy','chaine',0,'','2013-01-19 17:16:25'),(2868,'POS_SERVICES',1,'0','chaine',0,'','2013-01-19 17:16:51'),(2869,'POS_USE_TICKETS',1,'1','chaine',0,'','2013-01-19 17:16:51'),(2870,'POS_MAX_TTC',1,'100','chaine',0,'','2013-01-19 17:16:51'),(3190,'MAIN_MODULE_HOLIDAY',2,'1',NULL,0,NULL,'2013-02-01 08:52:34'),(3191,'MAIN_MODULE_HOLIDAY_TABS_0',2,'user:+paidholidays:CPTitreMenu:holiday:$user->rights->holiday->write:/holiday/index.php?mainmenu=holiday&id=__ID__','chaine',0,NULL,'2013-02-01 08:52:34'),(3195,'INVOICE_SUPPLIER_ADDON_PDF',1,'canelle','chaine',0,'','2013-02-10 19:50:27'),(3199,'MAIN_FORCE_RELOAD_PAGE',1,'1','chaine',0,NULL,'2013-02-12 16:22:55'),(3217,'MAIN_PDF_TITLE_BACKGROUND_COLOR',1,'240,240,240','chaine',1,'','2013-02-13 15:18:02'),(3223,'OVH_THIRDPARTY_IMPORT',1,'2','chaine',0,'','2013-02-13 16:20:18'),(3241,'COMPANY_USE_SEARCH_TO_SELECT',1,'2','chaine',0,'','2013-02-17 14:33:39'),(3409,'AGENDA_USE_EVENT_TYPE',1,'1','chaine',0,'','2013-02-27 18:12:24'),(3886,'MAIN_REMOVE_INSTALL_WARNING',1,'1','chaine',1,'','2013-03-02 18:32:50'),(4013,'MAIN_DELAY_ACTIONS_TODO',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4014,'MAIN_DELAY_PROPALS_TO_CLOSE',1,'31','chaine',0,'','2013-03-06 08:59:12'),(4015,'MAIN_DELAY_PROPALS_TO_BILL',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4016,'MAIN_DELAY_ORDERS_TO_PROCESS',1,'2','chaine',0,'','2013-03-06 08:59:12'),(4017,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',1,'31','chaine',0,'','2013-03-06 08:59:12'),(4018,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4019,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',1,'2','chaine',0,'','2013-03-06 08:59:12'),(4020,'MAIN_DELAY_RUNNING_SERVICES',1,'-15','chaine',0,'','2013-03-06 08:59:12'),(4021,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',1,'62','chaine',0,'','2013-03-06 08:59:13'),(4022,'MAIN_DELAY_MEMBERS',1,'31','chaine',0,'','2013-03-06 08:59:13'),(4023,'MAIN_DISABLE_METEO',1,'0','chaine',0,'','2013-03-06 08:59:13'),(4044,'ADHERENT_VAT_FOR_SUBSCRIPTIONS',1,'0','',0,'','2013-03-06 16:06:38'),(4047,'ADHERENT_BANK_USE',1,'bankviainvoice','',0,'','2013-03-06 16:12:30'),(4049,'PHPSANE_SCANIMAGE',1,'/usr/bin/scanimage','chaine',0,'','2013-03-06 21:54:13'),(4050,'PHPSANE_PNMTOJPEG',1,'/usr/bin/pnmtojpeg','chaine',0,'','2013-03-06 21:54:13'),(4051,'PHPSANE_PNMTOTIFF',1,'/usr/bin/pnmtotiff','chaine',0,'','2013-03-06 21:54:13'),(4052,'PHPSANE_OCR',1,'/usr/bin/gocr','chaine',0,'','2013-03-06 21:54:13'),(4548,'ECM_AUTO_TREE_ENABLED',1,'1','chaine',0,'','2013-03-10 15:57:21'),(4579,'MAIN_MODULE_AGENDA',2,'1',NULL,0,NULL,'2013-03-13 15:29:19'),(4580,'MAIN_AGENDA_ACTIONAUTO_COMPANY_CREATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4581,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4582,'MAIN_AGENDA_ACTIONAUTO_PROPAL_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4583,'MAIN_AGENDA_ACTIONAUTO_PROPAL_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4584,'MAIN_AGENDA_ACTIONAUTO_ORDER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4585,'MAIN_AGENDA_ACTIONAUTO_ORDER_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4586,'MAIN_AGENDA_ACTIONAUTO_BILL_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4587,'MAIN_AGENDA_ACTIONAUTO_BILL_PAYED',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4588,'MAIN_AGENDA_ACTIONAUTO_BILL_CANCEL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4589,'MAIN_AGENDA_ACTIONAUTO_BILL_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4590,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4591,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4592,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4593,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4594,'MAIN_AGENDA_ACTIONAUTO_BILL_UNVALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4595,'MAIN_MODULE_GOOGLE',2,'1',NULL,0,NULL,'2013-03-13 15:29:47'),(4596,'MAIN_MODULE_GOOGLE_TABS_0',2,'agenda:+gcal:MenuAgendaGoogle:google@google:$conf->google->enabled && $conf->global->GOOGLE_ENABLE_AGENDA:/google/index.php','chaine',0,NULL,'2013-03-13 15:29:47'),(4597,'MAIN_MODULE_GOOGLE_TABS_1',2,'user:+gsetup:GoogleUserConf:google@google:$conf->google->enabled && $conf->global->GOOGLE_DUPLICATE_INTO_GCAL:/google/admin/google_calsync_user.php?id=__ID__','chaine',0,NULL,'2013-03-13 15:29:47'),(4598,'MAIN_MODULE_GOOGLE_TRIGGERS',2,'1','chaine',0,NULL,'2013-03-13 15:29:47'),(4599,'MAIN_MODULE_GOOGLE_HOOKS',2,'[\"toprightmenu\"]','chaine',0,NULL,'2013-03-13 15:29:47'),(4688,'GOOGLE_ENABLE_AGENDA',2,'1','chaine',0,'','2013-03-13 15:36:29'),(4689,'GOOGLE_AGENDA_NAME1',2,'eldy','chaine',0,'','2013-03-13 15:36:29'),(4690,'GOOGLE_AGENDA_SRC1',2,'eldy10@mail.com','chaine',0,'','2013-03-13 15:36:29'),(4691,'GOOGLE_AGENDA_COLOR1',2,'BE6D00','chaine',0,'','2013-03-13 15:36:29'),(4692,'GOOGLE_AGENDA_COLOR2',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4693,'GOOGLE_AGENDA_COLOR3',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4694,'GOOGLE_AGENDA_COLOR4',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4695,'GOOGLE_AGENDA_COLOR5',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4696,'GOOGLE_AGENDA_TIMEZONE',2,'Europe/Paris','chaine',0,'','2013-03-13 15:36:29'),(4697,'GOOGLE_AGENDA_NB',2,'5','chaine',0,'','2013-03-13 15:36:29'),(4698,'MAIN_DISABLE_ALL_MAILS',1,'0','chaine',0,'','2013-03-13 17:22:24'),(4699,'MAIN_MAIL_SENDMODE',1,'mail','chaine',0,'','2015-07-19 13:41:06'),(4700,'MAIN_MAIL_SMTPS_ID',1,'eldy10@mail.com','chaine',0,'','2015-07-19 13:41:06'),(4701,'MAIN_MAIL_SMTPS_PW',1,'bidonge','chaine',0,'','2015-07-19 13:41:06'),(4711,'GOOGLE_ENABLE_AGENDA',1,'1','chaine',0,'','2013-03-13 19:37:38'),(4712,'GOOGLE_AGENDA_NAME1',1,'asso master','chaine',0,'','2013-03-13 19:37:38'),(4713,'GOOGLE_AGENDA_SRC1',1,'assodolibarr@mail.com','chaine',0,'','2013-03-13 19:37:38'),(4714,'GOOGLE_AGENDA_COLOR1',1,'1B887A','chaine',0,'','2013-03-13 19:37:38'),(4715,'GOOGLE_AGENDA_COLOR2',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4716,'GOOGLE_AGENDA_COLOR3',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4717,'GOOGLE_AGENDA_COLOR4',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4718,'GOOGLE_AGENDA_COLOR5',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4719,'GOOGLE_AGENDA_TIMEZONE',1,'Europe/Paris','chaine',0,'','2013-03-13 19:37:38'),(4720,'GOOGLE_AGENDA_NB',1,'5','chaine',0,'','2013-03-13 19:37:38'),(4725,'SOCIETE_CODECLIENT_ADDON',2,'mod_codeclient_leopard','chaine',0,'Module to control third parties codes','2013-03-13 20:21:35'),(4726,'SOCIETE_CODECOMPTA_ADDON',2,'mod_codecompta_panicum','chaine',0,'Module to control third parties codes','2013-03-13 20:21:35'),(4727,'SOCIETE_FISCAL_MONTH_START',2,'','chaine',0,'Mettre le numero du mois du debut d\\\'annee fiscale, ex: 9 pour septembre','2013-03-13 20:21:35'),(4728,'MAIN_SEARCHFORM_SOCIETE',2,'1','yesno',0,'Show form for quick company search','2013-03-13 20:21:35'),(4729,'MAIN_SEARCHFORM_CONTACT',2,'1','yesno',0,'Show form for quick contact search','2013-03-13 20:21:35'),(4730,'COMPANY_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/thirdparties','chaine',0,NULL,'2013-03-13 20:21:35'),(4743,'MAIN_MODULE_CLICKTODIAL',2,'1',NULL,0,NULL,'2013-03-13 20:30:28'),(4744,'MAIN_MODULE_NOTIFICATION',2,'1',NULL,0,NULL,'2013-03-13 20:30:34'),(4745,'MAIN_MODULE_WEBSERVICES',2,'1',NULL,0,NULL,'2013-03-13 20:30:41'),(4746,'MAIN_MODULE_PROPALE',2,'1',NULL,0,NULL,'2013-03-13 20:32:38'),(4747,'PROPALE_ADDON_PDF',2,'azur','chaine',0,'Nom du gestionnaire de generation des propales en PDF','2013-03-13 20:32:38'),(4748,'PROPALE_ADDON',2,'mod_propale_marbre','chaine',0,'Nom du gestionnaire de numerotation des propales','2013-03-13 20:32:38'),(4749,'PROPALE_VALIDITY_DURATION',2,'15','chaine',0,'Duration of validity of business proposals','2013-03-13 20:32:38'),(4750,'PROPALE_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/proposals','chaine',0,NULL,'2013-03-13 20:32:38'),(4752,'MAIN_MODULE_TAX',2,'1',NULL,0,NULL,'2013-03-13 20:32:47'),(4753,'MAIN_MODULE_DON',2,'1',NULL,0,NULL,'2013-03-13 20:32:54'),(4754,'DON_ADDON_MODEL',2,'html_cerfafr','chaine',0,'Nom du gestionnaire de generation de recu de dons','2013-03-13 20:32:54'),(4755,'POS_USE_TICKETS',2,'1','chaine',0,'','2013-03-13 20:33:09'),(4756,'POS_MAX_TTC',2,'100','chaine',0,'','2013-03-13 20:33:09'),(4757,'MAIN_MODULE_POS',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4758,'TICKET_ADDON',2,'mod_ticket_avenc','chaine',0,'Nom du gestionnaire de numerotation des tickets','2013-03-13 20:33:09'),(4759,'MAIN_MODULE_BANQUE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4760,'MAIN_MODULE_FACTURE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4761,'FACTURE_ADDON_PDF',2,'crabe','chaine',0,'Name of PDF model of invoice','2013-03-13 20:33:09'),(4762,'FACTURE_ADDON',2,'mod_facture_terre','chaine',0,'Name of numbering numerotation rules of invoice','2013-03-13 20:33:09'),(4763,'FACTURE_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/invoices','chaine',0,NULL,'2013-03-13 20:33:09'),(4764,'MAIN_MODULE_SOCIETE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4765,'MAIN_MODULE_PRODUCT',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4766,'PRODUCT_CODEPRODUCT_ADDON',2,'mod_codeproduct_leopard','chaine',0,'Module to control product codes','2013-03-13 20:33:09'),(4767,'MAIN_SEARCHFORM_PRODUITSERVICE',2,'1','yesno',0,'Show form for quick product search','2013-03-13 20:33:09'),(4772,'FACSIM_ADDON',2,'mod_facsim_alcoy','chaine',0,'','2013-03-13 20:33:32'),(4773,'MAIN_MODULE_MAILING',2,'1',NULL,0,NULL,'2013-03-13 20:33:37'),(4774,'MAIN_MODULE_OPENSURVEY',2,'1',NULL,0,NULL,'2013-03-13 20:33:42'),(4782,'AGENDA_USE_EVENT_TYPE',2,'1','chaine',0,'','2013-03-13 20:53:36'),(4884,'AGENDA_DISABLE_EXT',2,'1','chaine',0,'','2013-03-13 22:03:40'),(4928,'COMMANDE_SUPPLIER_ADDON_NUMBER',1,'mod_commande_fournisseur_muguet','chaine',0,'Nom du gestionnaire de numerotation des commandes fournisseur','2013-03-22 09:24:29'),(4929,'INVOICE_SUPPLIER_ADDON_NUMBER',1,'mod_facture_fournisseur_cactus','chaine',0,'Nom du gestionnaire de numerotation des factures fournisseur','2013-03-22 09:24:29'),(5001,'MAIN_CRON_KEY',0,'bc54582fe30d5d4a830c6f582ec28810','chaine',0,'','2013-03-23 17:54:53'),(5009,'CRON_KEY',0,'2c2e755c20be2014098f629865598006','chaine',0,'','2013-03-23 18:06:24'),(5075,'MAIN_MENU_STANDARD',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5076,'MAIN_MENU_SMARTPHONE',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5077,'MAIN_MENUFRONT_STANDARD',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5078,'MAIN_MENUFRONT_SMARTPHONE',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5139,'SOCIETE_ADD_REF_IN_LIST',1,'','yesno',0,'Display customer ref into select list','2013-09-08 23:06:08'),(5150,'PROJECT_TASK_ADDON_PDF',1,'','chaine',0,'Name of PDF/ODT tasks manager class','2013-09-08 23:06:14'),(5151,'PROJECT_TASK_ADDON',1,'mod_task_simple','chaine',0,'Name of Numbering Rule task manager class','2013-09-08 23:06:14'),(5152,'PROJECT_TASK_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/tasks','chaine',0,'','2013-09-08 23:06:14'),(5195,'GOOGLE_DUPLICATE_INTO_THIRDPARTIES',1,'1','chaine',0,'','2013-11-07 00:02:34'),(5196,'GOOGLE_DUPLICATE_INTO_CONTACTS',1,'0','chaine',0,'','2013-11-07 00:02:34'),(5197,'GOOGLE_DUPLICATE_INTO_MEMBERS',1,'0','chaine',0,'','2013-11-07 00:02:34'),(5198,'GOOGLE_CONTACT_LOGIN',1,'eldy10@mail.com','chaine',0,'','2013-11-07 00:02:34'),(5199,'GOOGLE_CONTACT_PASSWORD',1,'bidonge','chaine',0,'','2013-11-07 00:02:34'),(5200,'GOOGLE_TAG_PREFIX',1,'Dolibarr (Thirdparties)','chaine',0,'','2013-11-07 00:02:34'),(5201,'GOOGLE_TAG_PREFIX_CONTACTS',1,'Dolibarr (Contacts/Addresses)','chaine',0,'','2013-11-07 00:02:34'),(5202,'GOOGLE_TAG_PREFIX_MEMBERS',1,'Dolibarr (Members)','chaine',0,'','2013-11-07 00:02:34'),(5239,'BOOKMARKS_SHOW_IN_MENU',1,'10','chaine',0,'','2014-03-02 15:42:26'),(5271,'DONATION_ART200',1,'','yesno',0,'Option Française - Eligibilité Art200 du CGI','2014-12-21 12:51:28'),(5272,'DONATION_ART238',1,'','yesno',0,'Option Française - Eligibilité Art238 bis du CGI','2014-12-21 12:51:28'),(5273,'DONATION_ART885',1,'','yesno',0,'Option Française - Eligibilité Art885-0 V bis du CGI','2014-12-21 12:51:28'),(5274,'DONATION_MESSAGE',1,'Thank you','chaine',0,'Message affiché sur le récépissé de versements ou dons','2014-12-21 12:51:28'),(5288,'DONATION_ACCOUNTINGACCOUNT',1,'7581','chaine',0,'Compte comptable de remise des versements ou dons','2015-07-19 13:41:21'),(5317,'INVOICE_CAN_ALWAYS_BE_REMOVED',1,'1','chaine',1,'','2015-10-03 09:25:30'),(5338,'MAIN_LANG_DEFAULT',1,'en_US','chaine',0,'','2015-10-03 10:11:33'),(5339,'MAIN_MULTILANGS',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5340,'MAIN_SIZE_LISTE_LIMIT',1,'25','chaine',0,'','2015-10-03 10:11:33'),(5341,'MAIN_DISABLE_JAVASCRIPT',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5342,'MAIN_BUTTON_HIDE_UNAUTHORIZED',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5343,'MAIN_START_WEEK',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5344,'MAIN_DEFAULT_WORKING_DAYS',1,'1-5','chaine',0,'','2015-10-03 10:11:33'),(5345,'MAIN_DEFAULT_WORKING_HOURS',1,'9-18','chaine',0,'','2015-10-03 10:11:33'),(5346,'MAIN_SHOW_LOGO',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5347,'MAIN_FIRSTNAME_NAME_POSITION',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5348,'MAIN_THEME',1,'eldy','chaine',0,'','2015-10-03 10:11:33'),(5349,'MAIN_SEARCHFORM_CONTACT',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5350,'MAIN_SEARCHFORM_SOCIETE',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5351,'MAIN_SEARCHFORM_PRODUITSERVICE',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5352,'MAIN_SEARCHFORM_PRODUITSERVICE_SUPPLIER',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5353,'MAIN_SEARCHFORM_ADHERENT',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5354,'MAIN_SEARCHFORM_PROJECT',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5355,'MAIN_HELPCENTER_DISABLELINK',0,'1','chaine',0,'','2015-10-03 10:11:33'),(5356,'MAIN_HOME',1,'__(NoteSomeFeaturesAreDisabled)__
\r\n
\r\n__(SomeTranslationAreUncomplete)__
','chaine',0,'','2015-10-03 10:11:33'),(5357,'MAIN_HELP_DISABLELINK',0,'0','chaine',0,'','2015-10-03 10:11:33'),(5358,'MAIN_BUGTRACK_ENABLELINK',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5359,'THEME_ELDY_USE_HOVER',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5394,'FCKEDITOR_ENABLE_DETAILS',1,'1','yesno',0,'WYSIWIG for products details lines for all entities','2015-11-04 15:27:44'),(5395,'FCKEDITOR_ENABLE_USERSIGN',1,'1','yesno',0,'WYSIWIG for user signature','2015-11-04 15:27:44'),(5396,'FCKEDITOR_ENABLE_MAIL',1,'1','yesno',0,'WYSIWIG for products details lines for all entities','2015-11-04 15:27:44'),(5398,'CATEGORIE_RECURSIV_ADD',1,'','yesno',0,'Affect parent categories','2015-11-04 15:27:46'),(5403,'MAIN_MODULE_FCKEDITOR',1,'1',NULL,0,NULL,'2015-11-04 15:41:40'),(5404,'MAIN_MODULE_CATEGORIE',1,'1',NULL,0,NULL,'2015-11-04 15:41:43'),(5415,'EXPEDITION_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/shipment','chaine',0,NULL,'2015-11-15 22:38:28'),(5416,'LIVRAISON_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/delivery','chaine',0,NULL,'2015-11-15 22:38:28'),(5419,'MAIN_MODULE_CASHDESK',1,'1',NULL,0,NULL,'2015-11-15 22:38:33'),(5426,'MAIN_MODULE_PROJET',1,'1',NULL,0,NULL,'2015-11-15 22:38:44'),(5427,'PROJECT_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/projects','chaine',0,NULL,'2015-11-15 22:38:44'),(5428,'PROJECT_USE_OPPORTUNIES',1,'1','chaine',0,NULL,'2015-11-15 22:38:44'),(5430,'MAIN_MODULE_EXPORT',1,'1',NULL,0,NULL,'2015-11-15 22:38:56'),(5431,'MAIN_MODULE_IMPORT',1,'1',NULL,0,NULL,'2015-11-15 22:38:58'),(5432,'MAIN_MODULE_MAILING',1,'1',NULL,0,NULL,'2015-11-15 22:39:00'),(5433,'MAIN_MODULE_EXPENSEREPORT',1,'1',NULL,0,NULL,'2015-11-15 22:39:05'),(5434,'EXPENSEREPORT_ADDON_PDF',1,'standard','chaine',0,'Name of manager to build PDF expense reports documents','2015-11-15 22:39:05'),(5435,'MAIN_MODULE_SALARIES',1,'1',NULL,0,NULL,'2015-11-15 22:39:08'),(5436,'SALARIES_ACCOUNTING_ACCOUNT_PAYMENT',1,'421','chaine',0,NULL,'2015-11-15 22:39:08'),(5437,'SALARIES_ACCOUNTING_ACCOUNT_CHARGE',1,'641','chaine',0,NULL,'2015-11-15 22:39:08'),(5440,'MAIN_MODULE_ADHERENT',1,'1',NULL,0,NULL,'2015-11-15 22:39:17'),(5441,'ADHERENT_ETIQUETTE_TEXT',1,'%FULLNAME%\n%ADDRESS%\n%ZIP% %TOWN%\n%COUNTRY%','texte',0,'Text to print on member address sheets','2015-11-15 22:39:17'),(5442,'MAIN_MODULE_TAX',1,'1',NULL,0,NULL,'2015-11-15 22:39:22'),(5443,'MAIN_MODULE_PRELEVEMENT',1,'1',NULL,0,NULL,'2015-11-15 22:39:33'),(5449,'MAIN_MODULE_COMPTABILITE',1,'1',NULL,0,NULL,'2015-11-15 22:39:46'),(5452,'MAIN_MODULE_BANQUE',1,'1',NULL,0,NULL,'2015-11-15 22:39:46'),(5453,'MAIN_MODULE_CONTRAT',1,'1',NULL,0,NULL,'2015-11-15 22:39:52'),(5455,'MAIN_MODULE_FICHEINTER',1,'1',NULL,0,NULL,'2015-11-15 22:39:56'),(5458,'MAIN_MODULE_BOOKMARK',1,'1',NULL,0,NULL,'2015-11-15 22:40:51'),(5459,'MAIN_MODULE_PAYPAL',1,'1',NULL,0,NULL,'2015-11-15 22:41:02'),(5460,'MAIN_MODULE_MARGIN',1,'1',NULL,0,NULL,'2015-11-15 22:41:47'),(5461,'MAIN_MODULE_MARGIN_TABS_0',1,'product:+margin:Margins:margins:$user->rights->margins->liretous:/margin/tabs/productMargins.php?id=__ID__','chaine',0,NULL,'2015-11-15 22:41:47'),(5462,'MAIN_MODULE_MARGIN_TABS_1',1,'thirdparty:+margin:Margins:margins:empty($user->societe_id) && $user->rights->margins->liretous && ($object->client > 0):/margin/tabs/thirdpartyMargins.php?socid=__ID__','chaine',0,NULL,'2015-11-15 22:41:47'),(5463,'MAIN_MODULE_PROPALE',1,'1',NULL,0,NULL,'2015-11-15 22:41:47'),(5483,'GENBARCODE_BARCODETYPE_THIRDPARTY',1,'6','chaine',0,'','2016-01-16 15:49:43'),(5484,'PRODUIT_DEFAULT_BARCODE_TYPE',1,'2','chaine',0,'','2016-01-16 15:49:46'),(5539,'PRODUCT_USE_OLD_PATH_FOR_PHOTO',0,'0','chaine',1,'Use old path for products images','2016-01-22 13:34:23'),(5540,'MAIN_SOAP_DEBUG',1,'0','chaine',1,'','2016-01-22 13:34:57'),(5541,'MODULE_GOOGLE_DEBUG',1,'0','chaine',1,'','2016-01-22 13:34:57'),(5543,'MAIN_MAIL_DEBUG',1,'1','chaine',1,'','2016-01-22 13:35:24'),(5548,'MAIN_MODULE_ECM',1,'1',NULL,0,NULL,'2016-01-22 17:26:43'),(5551,'MAIN_MODULE_HOLIDAY',1,'1',NULL,0,NULL,'2016-01-22 17:26:43'),(5552,'MAIN_MODULE_HOLIDAY_TABS_0',1,'user:+paidholidays:CPTitreMenu:holiday:$user->rights->holiday->read:/holiday/list.php?mainmenu=holiday&id=__ID__','chaine',0,NULL,'2016-01-22 17:26:43'),(5553,'MAIN_MODULE_OPENSURVEY',1,'1',NULL,0,NULL,'2016-01-22 17:26:43'),(5555,'MAIN_MODULE_SERVICE',1,'1',NULL,0,NULL,'2016-01-22 17:26:43'),(5560,'MAILING_LIMIT_SENDBYWEB',0,'25','chaine',1,'Number of targets to defined packet size when sending mass email','2016-01-22 17:28:18'),(5561,'SYSLOG_HANDLERS',0,'[\"mod_syslog_file\"]','chaine',0,'Which logger to use','2016-01-22 17:28:18'),(5562,'SYSLOG_FILE',0,'DOL_DATA_ROOT/dolibarr.log','chaine',0,'Directory where to write log file','2016-01-22 17:28:18'),(5568,'MAIN_MAIL_EMAIL_FROM',1,'robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2016-01-22 17:28:18'),(5586,'MAIN_DELAY_EXPENSEREPORTS_TO_PAY',1,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur les notes de frais impayées','2016-01-22 17:28:18'),(5587,'MAIN_FIX_FOR_BUGGED_MTA',1,'1','chaine',1,'Set constant to fix email ending from PHP with some linux ike system','2016-01-22 17:28:18'),(5589,'MAIN_MODULE_USER',0,'1',NULL,0,NULL,'2016-01-22 17:28:42'),(5590,'MAIN_VERSION_LAST_INSTALL',0,'3.8.3','chaine',0,'Dolibarr version when install','2016-01-22 17:28:42'),(5604,'MAIN_INFO_SOCIETE_LOGO',1,'mybigcompany.png','chaine',0,'','2016-01-22 17:33:49'),(5605,'MAIN_INFO_SOCIETE_LOGO_SMALL',1,'mybigcompany_small.png','chaine',0,'','2016-01-22 17:33:49'),(5606,'MAIN_INFO_SOCIETE_LOGO_MINI',1,'mybigcompany_mini.png','chaine',0,'','2016-01-22 17:33:49'),(5612,'MAIN_ENABLE_LOG_TO_HTML',0,'0','chaine',1,'If this option is set to 1, it is possible to see log output at end of HTML sources by adding paramater logtohtml=1 on URL','2016-03-13 10:54:45'),(5614,'MAIN_SIZE_SHORTLISTE_LIMIT',1,'4','chaine',0,'Longueur maximum des listes courtes (fiche client)','2016-03-13 10:54:46'),(5622,'MAIN_MODULE_BARCODE',1,'1',NULL,0,NULL,'2016-07-30 11:12:59'),(5623,'MAIN_MODULE_FACTURE',1,'1',NULL,0,NULL,'2016-07-30 11:12:59'),(5624,'MAIN_VERSION_LAST_UPGRADE',0,'4.0.0-rc2','chaine',0,'Dolibarr version for last upgrade','2016-07-30 11:13:02'),(5626,'MAIN_MODULE_SUPPLIERPROPOSAL',1,'1',NULL,0,NULL,'2016-07-30 11:13:20'),(5627,'SUPPLIER_PROPOSAL_ADDON_PDF',1,'aurore','chaine',0,'Name of submodule to generate PDF for supplier quotation request','2016-07-30 11:13:20'),(5628,'SUPPLIER_PROPOSAL_ADDON',1,'mod_supplier_proposal_marbre','chaine',0,'Name of submodule to number supplier quotation request','2016-07-30 11:13:20'),(5629,'SUPPLIER_PROPOSAL_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/supplier_proposal','chaine',0,NULL,'2016-07-30 11:13:20'),(5632,'MAIN_MODULE_RESOURCE',1,'1',NULL,0,NULL,'2016-07-30 11:13:32'),(5633,'MAIN_MODULE_API',1,'1',NULL,0,NULL,'2016-07-30 11:13:54'),(5634,'MAIN_MODULE_WEBSERVICES',1,'1',NULL,0,NULL,'2016-07-30 11:13:56'),(5635,'WEBSERVICES_KEY',1,'dolibarrkey','chaine',0,'','2016-07-30 11:14:04'),(5636,'MAIN_MODULE_CRON',1,'1',NULL,0,NULL,'2016-07-30 11:14:25'),(5637,'MAIN_MODULE_SYSLOG',0,'1',NULL,0,NULL,'2016-07-30 11:14:27'),(5638,'MAIN_MODULE_EXTERNALRSS',1,'1',NULL,0,NULL,'2016-07-30 11:15:04'),(5639,'EXTERNAL_RSS_TITLE_1',1,'Dolibarr.org News','chaine',0,'','2016-07-30 11:15:25'),(5640,'EXTERNAL_RSS_URLRSS_1',1,'https://www.dolibarr.org/rss','chaine',0,'','2016-07-30 11:15:25'),(5641,'MAIN_MODULE_DON',1,'1',NULL,0,NULL,'2016-07-30 11:16:22'),(5642,'SOCIETE_CODECOMPTA_ADDON',1,'mod_codecompta_aquarium','chaine',0,'','2016-07-30 11:16:42'),(5680,'MAIN_INFO_SOCIETE_COUNTRY',1,'14:CA:Canada','chaine',0,'','2016-07-30 11:19:05'),(5681,'MAIN_INFO_SOCIETE_NOM',1,'MyBigCompany','chaine',0,'','2016-07-30 11:19:05'),(5682,'MAIN_INFO_SOCIETE_ADDRESS',1,'21 Jump street','chaine',0,'','2016-07-30 11:19:05'),(5683,'MAIN_INFO_SOCIETE_TOWN',1,'MyTown','chaine',0,'','2016-07-30 11:19:05'),(5684,'MAIN_INFO_SOCIETE_ZIP',1,'75500','chaine',0,'','2016-07-30 11:19:05'),(5685,'MAIN_INFO_SOCIETE_STATE',1,'1514','chaine',0,'','2016-07-30 11:19:05'),(5686,'MAIN_MONNAIE',1,'EUR','chaine',0,'','2016-07-30 11:19:05'),(5687,'MAIN_INFO_SOCIETE_TEL',1,'09123123','chaine',0,'','2016-07-30 11:19:05'),(5688,'MAIN_INFO_SOCIETE_FAX',1,'09123124','chaine',0,'','2016-07-30 11:19:05'),(5689,'MAIN_INFO_SOCIETE_MAIL',1,'myemail@mybigcompany.com','chaine',0,'','2016-07-30 11:19:05'),(5690,'MAIN_INFO_SOCIETE_WEB',1,'http://www.dolibarr.org','chaine',0,'','2016-07-30 11:19:05'),(5691,'MAIN_INFO_SOCIETE_NOTE',1,'This is note about my company','chaine',0,'','2016-07-30 11:19:05'),(5692,'MAIN_INFO_SOCIETE_GENCOD',1,'1234567890','chaine',0,'','2016-07-30 11:19:05'),(5693,'MAIN_INFO_SOCIETE_MANAGERS',1,'Zack Zeceo','chaine',0,'','2016-07-30 11:19:05'),(5694,'MAIN_INFO_CAPITAL',1,'10000','chaine',0,'','2016-07-30 11:19:05'),(5695,'MAIN_INFO_SOCIETE_FORME_JURIDIQUE',1,'0','chaine',0,'','2016-07-30 11:19:05'),(5696,'MAIN_INFO_SIREN',1,'123456','chaine',0,'','2016-07-30 11:19:05'),(5697,'MAIN_INFO_TVAINTRA',1,'FR1234567','chaine',0,'','2016-07-30 11:19:05'),(5698,'MAIN_INFO_SOCIETE_OBJECT',1,'A company demo to show how Dolibarr ERP CRM is wonderfull','chaine',0,'','2016-07-30 11:19:05'),(5699,'SOCIETE_FISCAL_MONTH_START',1,'1','chaine',0,'','2016-07-30 11:19:05'),(5700,'FACTURE_TVAOPTION',1,'1','chaine',0,'','2016-07-30 11:19:05'),(5701,'FACTURE_LOCAL_TAX1_OPTION',1,'localtax1on','chaine',0,'','2016-07-30 11:19:05'),(5702,'MAIN_INFO_VALUE_LOCALTAX1',1,'0','chaine',0,'','2016-07-30 11:19:05'),(5703,'MAIN_INFO_LOCALTAX_CALC1',1,'0','chaine',0,'','2016-07-30 11:19:05'),(5704,'PROJECT_USE_OPPORTUNITIES',1,'1','chaine',0,'','2016-07-30 11:19:17'),(5707,'CASHDESK_NO_DECREASE_STOCK',1,'1','chaine',0,'','2016-07-30 13:38:11'),(5708,'MAIN_MODULE_PRODUCTBATCH',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5710,'MAIN_MODULE_STOCK',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5711,'MAIN_MODULE_PRODUCT',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5712,'MAIN_MODULE_EXPEDITION',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5713,'MAIN_MODULE_COMMANDE',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5715,'MAIN_MODULE_FOURNISSEUR',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5716,'MAIN_MODULE_SOCIETE',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5717,'MAIN_FEATURES_LEVEL',0,'2','chaine',1,'Level of features to show (0=stable only, 1=stable+experimental, 2=stable+experimental+development','2016-07-30 14:39:14'),(5765,'MAIN_MODULE_AGENDA',1,'1',NULL,0,NULL,'2016-07-30 15:42:32'),(5766,'MAIN_AGENDA_ACTIONAUTO_COMPANY_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5767,'MAIN_AGENDA_ACTIONAUTO_COMPANY_CREATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5768,'MAIN_AGENDA_ACTIONAUTO_PROPAL_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5769,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLOSE_SIGNED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5770,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLOSE_REFUSED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5771,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5772,'MAIN_AGENDA_ACTIONAUTO_PROPAL_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5773,'MAIN_AGENDA_ACTIONAUTO_ORDER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5774,'MAIN_AGENDA_ACTIONAUTO_ORDER_CLOSE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5775,'MAIN_AGENDA_ACTIONAUTO_ORDER_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5776,'MAIN_AGENDA_ACTIONAUTO_ORDER_CANCEL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5777,'MAIN_AGENDA_ACTIONAUTO_ORDER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5778,'MAIN_AGENDA_ACTIONAUTO_BILL_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5779,'MAIN_AGENDA_ACTIONAUTO_BILL_PAYED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5780,'MAIN_AGENDA_ACTIONAUTO_BILL_CANCEL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5781,'MAIN_AGENDA_ACTIONAUTO_BILL_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5782,'MAIN_AGENDA_ACTIONAUTO_BILL_UNVALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5783,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5784,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_APPROVE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5785,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_SUBMIT',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5786,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_RECEIVE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5787,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_REFUSE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5788,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5789,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5790,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5791,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_UNVALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5792,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_PAYED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5793,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5794,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_CANCELED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5795,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5796,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5797,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5798,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_CLASSIFY_UNBILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5799,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_REOPEN',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5800,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5801,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5802,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5803,'MAIN_AGENDA_ACTIONAUTO_MEMBER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5804,'MAIN_AGENDA_ACTIONAUTO_MEMBER_SUBSCRIPTION',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5805,'MAIN_AGENDA_ACTIONAUTO_MEMBER_RESILIATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5806,'MAIN_AGENDA_ACTIONAUTO_MEMBER_MODIFY',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5807,'MAIN_AGENDA_ACTIONAUTO_MEMBER_DELETE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5808,'MARGIN_TYPE',1,'costprice','chaine',0,'','2016-07-30 16:32:18'),(5809,'DISPLAY_MARGIN_RATES',1,'1','chaine',0,'','2016-07-30 16:32:20'); +INSERT INTO `llx_const` VALUES (5,'SYSLOG_LEVEL',0,'7','chaine',0,'Level of debug info to show','2010-07-08 11:17:57'),(8,'MAIN_UPLOAD_DOC',0,'2048','chaine',0,'Max size for file upload (0 means no upload allowed)','2010-07-08 11:17:57'),(9,'MAIN_SEARCHFORM_SOCIETE',0,'1','yesno',0,'Show form for quick company search','2010-07-08 11:17:57'),(10,'MAIN_SEARCHFORM_CONTACT',0,'1','yesno',0,'Show form for quick contact search','2010-07-08 11:17:57'),(11,'MAIN_SEARCHFORM_PRODUITSERVICE',0,'1','yesno',0,'Show form for quick product search','2010-07-08 11:17:58'),(12,'MAIN_SEARCHFORM_ADHERENT',0,'1','yesno',0,'Show form for quick member search','2010-07-08 11:17:58'),(16,'MAIN_SIZE_LISTE_LIMIT',0,'25','chaine',0,'Longueur maximum des listes','2010-07-08 11:17:58'),(17,'MAIN_SHOW_WORKBOARD',0,'1','yesno',0,'Affichage tableau de bord de travail Dolibarr','2010-07-08 11:17:58'),(29,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',1,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2010-07-08 11:17:58'),(33,'SOCIETE_NOLIST_COURRIER',0,'1','yesno',0,'Liste les fichiers du repertoire courrier','2010-07-08 11:17:58'),(36,'ADHERENT_MAIL_REQUIRED',1,'1','yesno',0,'EMail required to create a new member','2010-07-08 11:17:58'),(37,'ADHERENT_MAIL_FROM',1,'adherents@domain.com','chaine',0,'Sender EMail for automatic emails','2010-07-08 11:17:58'),(38,'ADHERENT_MAIL_RESIL',1,'Your subscription has been resiliated.\r\nWe hope to see you soon again','texte',0,'Mail resiliation','2010-07-08 11:17:58'),(39,'ADHERENT_MAIL_VALID',1,'Your subscription has been validated.\r\nThis is a remind of your personal information :\r\n\r\n%INFOS%\r\n\r\n','texte',0,'Mail de validation','2010-07-08 11:17:59'),(40,'ADHERENT_MAIL_COTIS',1,'Hello %PRENOM%,\r\nThanks for your subscription.\r\nThis email confirms that your subscription has been received and processed.\r\n\r\n','texte',0,'Mail de validation de cotisation','2010-07-08 11:17:59'),(41,'ADHERENT_MAIL_VALID_SUBJECT',1,'Your subscription has been validated','chaine',0,'Sujet du mail de validation','2010-07-08 11:17:59'),(42,'ADHERENT_MAIL_RESIL_SUBJECT',1,'Resiliating your subscription','chaine',0,'Sujet du mail de resiliation','2010-07-08 11:17:59'),(43,'ADHERENT_MAIL_COTIS_SUBJECT',1,'Receipt of your subscription','chaine',0,'Sujet du mail de validation de cotisation','2010-07-08 11:17:59'),(44,'MAILING_EMAIL_FROM',1,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2010-07-08 11:17:59'),(45,'ADHERENT_USE_MAILMAN',1,'0','yesno',0,'Utilisation de Mailman','2010-07-08 11:17:59'),(46,'ADHERENT_MAILMAN_UNSUB_URL',1,'http://lists.domain.com/cgi-bin/mailman/admin/%LISTE%/members?adminpw=%MAILMAN_ADMINPW%&user=%EMAIL%','chaine',0,'Url de desinscription aux listes mailman','2010-07-08 11:17:59'),(47,'ADHERENT_MAILMAN_URL',1,'http://lists.domain.com/cgi-bin/mailman/admin/%LISTE%/members?adminpw=%MAILMAN_ADMINPW%&send_welcome_msg_to_this_batch=1&subscribees=%EMAIL%','chaine',0,'Url pour les inscriptions mailman','2010-07-08 11:17:59'),(48,'ADHERENT_MAILMAN_LISTS',1,'test-test,test-test2','chaine',0,'Listes auxquelles inscrire les nouveaux adherents','2010-07-08 11:17:59'),(49,'ADHERENT_MAILMAN_ADMINPW',1,'','chaine',0,'Mot de passe Admin des liste mailman','2010-07-08 11:17:59'),(50,'ADHERENT_MAILMAN_SERVER',1,'lists.domain.com','chaine',0,'Serveur hebergeant les interfaces d Admin des listes mailman','2010-07-08 11:17:59'),(51,'ADHERENT_MAILMAN_LISTS_COTISANT',1,'','chaine',0,'Liste(s) auxquelles les nouveaux cotisants sont inscris automatiquement','2010-07-08 11:17:59'),(52,'ADHERENT_USE_SPIP',1,'0','yesno',0,'Utilisation de SPIP ?','2010-07-08 11:17:59'),(53,'ADHERENT_USE_SPIP_AUTO',1,'0','yesno',0,'Utilisation de SPIP automatiquement','2010-07-08 11:17:59'),(54,'ADHERENT_SPIP_USER',1,'user','chaine',0,'user spip','2010-07-08 11:17:59'),(55,'ADHERENT_SPIP_PASS',1,'pass','chaine',0,'Pass de connection','2010-07-08 11:17:59'),(56,'ADHERENT_SPIP_SERVEUR',1,'localhost','chaine',0,'serveur spip','2010-07-08 11:17:59'),(57,'ADHERENT_SPIP_DB',1,'spip','chaine',0,'db spip','2010-07-08 11:17:59'),(58,'ADHERENT_CARD_HEADER_TEXT',1,'%ANNEE%','chaine',0,'Texte imprime sur le haut de la carte adherent','2010-07-08 11:17:59'),(59,'ADHERENT_CARD_FOOTER_TEXT',1,'Association AZERTY','chaine',0,'Texte imprime sur le bas de la carte adherent','2010-07-08 11:17:59'),(61,'FCKEDITOR_ENABLE_USER',1,'1','yesno',0,'Activation fckeditor sur notes utilisateurs','2010-07-08 11:17:59'),(62,'FCKEDITOR_ENABLE_SOCIETE',1,'1','yesno',0,'Activation fckeditor sur notes societe','2010-07-08 11:17:59'),(63,'FCKEDITOR_ENABLE_PRODUCTDESC',1,'1','yesno',0,'Activation fckeditor sur notes produits','2010-07-08 11:17:59'),(64,'FCKEDITOR_ENABLE_MEMBER',1,'1','yesno',0,'Activation fckeditor sur notes adherent','2010-07-08 11:17:59'),(65,'FCKEDITOR_ENABLE_MAILING',1,'1','yesno',0,'Activation fckeditor sur emailing','2010-07-08 11:17:59'),(67,'DON_ADDON_MODEL',1,'html_cerfafr','chaine',0,'','2010-07-08 11:18:00'),(68,'PROPALE_ADDON',1,'mod_propale_marbre','chaine',0,'','2010-07-08 11:18:00'),(69,'PROPALE_ADDON_PDF',1,'azur','chaine',0,'','2010-07-08 11:18:00'),(70,'COMMANDE_ADDON',1,'mod_commande_marbre','chaine',0,'','2010-07-08 11:18:00'),(71,'COMMANDE_ADDON_PDF',1,'einstein','chaine',0,'','2010-07-08 11:18:00'),(72,'COMMANDE_SUPPLIER_ADDON',1,'mod_commande_fournisseur_muguet','chaine',0,'','2010-07-08 11:18:00'),(73,'COMMANDE_SUPPLIER_ADDON_PDF',1,'muscadet','chaine',0,'','2010-07-08 11:18:00'),(74,'EXPEDITION_ADDON',1,'enlevement','chaine',0,'','2010-07-08 11:18:00'),(76,'FICHEINTER_ADDON',1,'pacific','chaine',0,'','2010-07-08 11:18:00'),(77,'FICHEINTER_ADDON_PDF',1,'soleil','chaine',0,'','2010-07-08 11:18:00'),(79,'FACTURE_ADDON_PDF',1,'crabe','chaine',0,'','2010-07-08 11:18:00'),(80,'PROPALE_VALIDITY_DURATION',1,'15','chaine',0,'Durée de validitée des propales','2010-07-08 11:18:00'),(230,'COMPANY_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/thirdparties','chaine',0,NULL,'2010-07-08 11:26:20'),(238,'LIVRAISON_ADDON_PDF',1,'typhon','chaine',0,'Nom du gestionnaire de generation des commandes en PDF','2010-07-08 11:26:27'),(239,'LIVRAISON_ADDON_NUMBER',1,'mod_livraison_jade','chaine',0,'Nom du gestionnaire de numerotation des bons de livraison','2013-03-20 13:17:36'),(242,'MAIN_SUBMODULE_EXPEDITION',1,'1','chaine',0,'','2010-07-08 11:26:34'),(245,'FACTURE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/invoices','chaine',0,NULL,'2010-07-08 11:28:53'),(249,'DON_FORM',1,'fsfe.fr.php','chaine',0,'Nom du gestionnaire de formulaire de dons','2010-07-08 11:29:00'),(253,'ADHERENT_BANK_USE_AUTO',1,'','yesno',0,'Insertion automatique des cotisation dans le compte banquaire','2010-07-08 11:29:05'),(254,'ADHERENT_BANK_ACCOUNT',1,'','chaine',0,'ID du Compte banquaire utilise','2010-07-08 11:29:05'),(255,'ADHERENT_BANK_CATEGORIE',1,'','chaine',0,'ID de la categorie banquaire des cotisations','2010-07-08 11:29:05'),(256,'ADHERENT_ETIQUETTE_TYPE',1,'L7163','chaine',0,'Type d etiquette (pour impression de planche d etiquette)','2010-07-08 11:29:05'),(269,'PROJECT_ADDON_PDF',1,'baleine','chaine',0,'Nom du gestionnaire de generation des projets en PDF','2010-07-08 11:29:33'),(270,'PROJECT_ADDON',1,'mod_project_simple','chaine',0,'Nom du gestionnaire de numerotation des projets','2010-07-08 11:29:33'),(368,'STOCK_USERSTOCK_AUTOCREATE',1,'1','chaine',0,'','2010-07-08 22:44:59'),(369,'EXPEDITION_ADDON_PDF',1,'merou','chaine',0,'','2010-07-08 22:58:07'),(370,'MAIN_SUBMODULE_LIVRAISON',1,'1','chaine',0,'','2010-07-08 23:00:29'),(377,'FACTURE_ADDON',1,'mod_facture_terre','chaine',0,'','2010-07-08 23:08:12'),(380,'ADHERENT_CARD_TEXT',1,'%TYPE% n° %ID%\r\n%PRENOM% %NOM%\r\n<%EMAIL%>\r\n%ADRESSE%\r\n%CP% %VILLE%\r\n%PAYS%','',0,'Texte imprime sur la carte adherent','2010-07-08 23:14:46'),(381,'ADHERENT_CARD_TEXT_RIGHT',1,'aaa','',0,'','2010-07-08 23:14:55'),(384,'PRODUIT_SOUSPRODUITS',1,'1','chaine',0,'','2010-07-08 23:22:12'),(385,'PRODUIT_USE_SEARCH_TO_SELECT',1,'1','chaine',0,'','2010-07-08 23:22:19'),(386,'STOCK_CALCULATE_ON_SHIPMENT',1,'1','chaine',0,'','2010-07-08 23:23:21'),(387,'STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER',1,'1','chaine',0,'','2010-07-08 23:23:26'),(392,'MAIN_AGENDA_XCAL_EXPORTKEY',1,'dolibarr','chaine',0,'','2010-07-08 23:27:50'),(393,'MAIN_AGENDA_EXPORT_PAST_DELAY',1,'100','chaine',0,'','2010-07-08 23:27:50'),(610,'CASHDESK_ID_THIRDPARTY',1,'7','chaine',0,'','2010-07-11 17:08:18'),(611,'CASHDESK_ID_BANKACCOUNT_CASH',1,'3','chaine',0,'','2010-07-11 17:08:18'),(612,'CASHDESK_ID_BANKACCOUNT_CHEQUE',1,'1','chaine',0,'','2010-07-11 17:08:18'),(613,'CASHDESK_ID_BANKACCOUNT_CB',1,'1','chaine',0,'','2010-07-11 17:08:18'),(614,'CASHDESK_ID_WAREHOUSE',1,'2','chaine',0,'','2010-07-11 17:08:18'),(660,'LDAP_USER_DN',1,'ou=users,dc=my-domain,dc=com','chaine',0,NULL,'2010-07-18 10:25:27'),(661,'LDAP_GROUP_DN',1,'ou=groups,dc=my-domain,dc=com','chaine',0,NULL,'2010-07-18 10:25:27'),(662,'LDAP_FILTER_CONNECTION',1,'&(objectClass=user)(objectCategory=person)','chaine',0,NULL,'2010-07-18 10:25:27'),(663,'LDAP_FIELD_LOGIN',1,'uid','chaine',0,NULL,'2010-07-18 10:25:27'),(664,'LDAP_FIELD_FULLNAME',1,'cn','chaine',0,NULL,'2010-07-18 10:25:27'),(665,'LDAP_FIELD_NAME',1,'sn','chaine',0,NULL,'2010-07-18 10:25:27'),(666,'LDAP_FIELD_FIRSTNAME',1,'givenname','chaine',0,NULL,'2010-07-18 10:25:27'),(667,'LDAP_FIELD_MAIL',1,'mail','chaine',0,NULL,'2010-07-18 10:25:27'),(668,'LDAP_FIELD_PHONE',1,'telephonenumber','chaine',0,NULL,'2010-07-18 10:25:27'),(669,'LDAP_FIELD_FAX',1,'facsimiletelephonenumber','chaine',0,NULL,'2010-07-18 10:25:27'),(670,'LDAP_FIELD_MOBILE',1,'mobile','chaine',0,NULL,'2010-07-18 10:25:27'),(671,'LDAP_SERVER_TYPE',1,'openldap','chaine',0,'','2010-07-18 10:25:46'),(672,'LDAP_SERVER_PROTOCOLVERSION',1,'3','chaine',0,'','2010-07-18 10:25:47'),(673,'LDAP_SERVER_HOST',1,'localhost','chaine',0,'','2010-07-18 10:25:47'),(674,'LDAP_SERVER_PORT',1,'389','chaine',0,'','2010-07-18 10:25:47'),(675,'LDAP_SERVER_USE_TLS',1,'0','chaine',0,'','2010-07-18 10:25:47'),(676,'LDAP_SYNCHRO_ACTIVE',1,'dolibarr2ldap','chaine',0,'','2010-07-18 10:25:47'),(677,'LDAP_CONTACT_ACTIVE',1,'1','chaine',0,'','2010-07-18 10:25:47'),(678,'LDAP_MEMBER_ACTIVE',1,'1','chaine',0,'','2010-07-18 10:25:47'),(974,'MAIN_MODULE_WORKFLOW_TRIGGERS',1,'1','chaine',0,NULL,'2011-07-18 18:02:20'),(975,'WORKFLOW_PROPAL_AUTOCREATE_ORDER',1,'1','chaine',0,'','2011-07-18 18:02:24'),(979,'PRELEVEMENT_USER',1,'1','chaine',0,'','2011-07-18 18:05:50'),(980,'PRELEVEMENT_NUMERO_NATIONAL_EMETTEUR',1,'1234567','chaine',0,'','2011-07-18 18:05:50'),(981,'PRELEVEMENT_ID_BANKACCOUNT',1,'1','chaine',0,'','2011-07-18 18:05:50'),(983,'FACTURE_RIB_NUMBER',1,'1','chaine',0,'','2011-07-18 18:35:14'),(984,'FACTURE_CHQ_NUMBER',1,'1','chaine',0,'','2011-07-18 18:35:14'),(1016,'GOOGLE_DUPLICATE_INTO_GCAL',1,'1','chaine',0,'','2011-07-18 21:40:20'),(1152,'SOCIETE_CODECLIENT_ADDON',1,'mod_codeclient_monkey','chaine',0,'','2011-07-29 20:50:02'),(1231,'MAIN_UPLOAD_DOC',1,'2048','chaine',0,'','2011-07-29 21:04:00'),(1234,'MAIN_UMASK',1,'0664','chaine',0,'','2011-07-29 21:04:11'),(1240,'MAIN_LOGEVENTS_USER_LOGIN',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1241,'MAIN_LOGEVENTS_USER_LOGIN_FAILED',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1242,'MAIN_LOGEVENTS_USER_LOGOUT',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1243,'MAIN_LOGEVENTS_USER_CREATE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1244,'MAIN_LOGEVENTS_USER_MODIFY',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1245,'MAIN_LOGEVENTS_USER_NEW_PASSWORD',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1246,'MAIN_LOGEVENTS_USER_ENABLEDISABLE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1247,'MAIN_LOGEVENTS_USER_DELETE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1248,'MAIN_LOGEVENTS_GROUP_CREATE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1249,'MAIN_LOGEVENTS_GROUP_MODIFY',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1250,'MAIN_LOGEVENTS_GROUP_DELETE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1251,'MAIN_BOXES_MAXLINES',1,'5','',0,'','2011-07-29 21:05:42'),(1482,'EXPEDITION_ADDON_NUMBER',1,'mod_expedition_safor','chaine',0,'Nom du gestionnaire de numerotation des expeditions','2011-08-05 17:53:11'),(1490,'CONTRACT_ADDON',1,'mod_contract_serpis','chaine',0,'Nom du gestionnaire de numerotation des contrats','2011-08-05 18:11:58'),(1677,'COMMANDE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/orders','chaine',0,NULL,'2012-12-08 13:11:02'),(1698,'PRODUCT_CODEPRODUCT_ADDON',1,'mod_codeproduct_leopard','yesno',0,'Module to control product codes','2012-12-08 13:11:25'),(1719,'ACCOUNTING_USEDICTTOEDIT',1,'1','chaine',1,'','2012-12-08 13:15:00'),(1724,'PROPALE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/proposals','chaine',0,NULL,'2012-12-08 13:17:14'),(1730,'OPENSTREETMAP_ENABLE_MAPS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1731,'OPENSTREETMAP_ENABLE_MAPS_CONTACTS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1732,'OPENSTREETMAP_ENABLE_MAPS_MEMBERS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1733,'OPENSTREETMAP_MAPS_ZOOM_LEVEL',1,'15','chaine',0,'','2012-12-08 13:22:47'),(1737,'MAIN_INFO_SOCIETE_COUNTRY',2,'1:FR:France','chaine',0,'','2013-02-26 21:56:28'),(1738,'MAIN_INFO_SOCIETE_NOM',2,'aaa','chaine',0,'','2012-12-08 14:08:14'),(1739,'MAIN_INFO_SOCIETE_STATE',2,'0','chaine',0,'','2013-02-27 14:20:27'),(1740,'MAIN_MONNAIE',2,'EUR','chaine',0,'','2012-12-08 14:08:14'),(1741,'MAIN_LANG_DEFAULT',2,'auto','chaine',0,'','2012-12-08 14:08:14'),(1742,'MAIN_MAIL_EMAIL_FROM',2,'dolibarr-robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2012-12-08 14:08:14'),(1743,'MAIN_MENU_STANDARD',2,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs internes','2013-02-11 19:43:54'),(1744,'MAIN_MENUFRONT_STANDARD',2,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs externes','2013-02-11 19:43:54'),(1745,'MAIN_MENU_SMARTPHONE',2,'iphone_backoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs internes','2012-12-08 14:08:14'),(1746,'MAIN_MENUFRONT_SMARTPHONE',2,'iphone_frontoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs externes','2012-12-08 14:08:14'),(1747,'MAIN_THEME',2,'eldy','chaine',0,'Default theme','2012-12-08 14:08:14'),(1748,'MAIN_DELAY_ACTIONS_TODO',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur actions planifiées non réalisées','2012-12-08 14:08:14'),(1749,'MAIN_DELAY_ORDERS_TO_PROCESS',2,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes clients non traitées','2012-12-08 14:08:14'),(1750,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes fournisseurs non traitées','2012-12-08 14:08:14'),(1751,'MAIN_DELAY_PROPALS_TO_CLOSE',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales à cloturer','2012-12-08 14:08:14'),(1752,'MAIN_DELAY_PROPALS_TO_BILL',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales non facturées','2012-12-08 14:08:14'),(1753,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures client impayées','2012-12-08 14:08:14'),(1754,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',2,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures fournisseur impayées','2012-12-08 14:08:14'),(1755,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',2,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2012-12-08 14:08:14'),(1756,'MAIN_DELAY_RUNNING_SERVICES',2,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services expirés','2012-12-08 14:08:14'),(1757,'MAIN_DELAY_MEMBERS',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur cotisations adhérent en retard','2012-12-08 14:08:14'),(1758,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',2,'62','chaine',0,'Tolérance de retard avant alerte (en jours) sur rapprochements bancaires à faire','2012-12-08 14:08:14'),(1759,'MAILING_EMAIL_FROM',2,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2012-12-08 14:08:14'),(1760,'MAIN_INFO_SOCIETE_COUNTRY',3,'1:FR:France','chaine',0,'','2013-02-26 21:56:28'),(1761,'MAIN_INFO_SOCIETE_NOM',3,'bbb','chaine',0,'','2012-12-08 14:08:20'),(1762,'MAIN_INFO_SOCIETE_STATE',3,'0','chaine',0,'','2013-02-27 14:20:27'),(1763,'MAIN_MONNAIE',3,'EUR','chaine',0,'','2012-12-08 14:08:20'),(1764,'MAIN_LANG_DEFAULT',3,'auto','chaine',0,'','2012-12-08 14:08:20'),(1765,'MAIN_MAIL_EMAIL_FROM',3,'dolibarr-robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2012-12-08 14:08:20'),(1766,'MAIN_MENU_STANDARD',3,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs internes','2013-02-11 19:43:54'),(1767,'MAIN_MENUFRONT_STANDARD',3,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs externes','2013-02-11 19:43:54'),(1768,'MAIN_MENU_SMARTPHONE',3,'iphone_backoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs internes','2012-12-08 14:08:20'),(1769,'MAIN_MENUFRONT_SMARTPHONE',3,'iphone_frontoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs externes','2012-12-08 14:08:20'),(1770,'MAIN_THEME',3,'eldy','chaine',0,'Default theme','2012-12-08 14:08:20'),(1771,'MAIN_DELAY_ACTIONS_TODO',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur actions planifiées non réalisées','2012-12-08 14:08:20'),(1772,'MAIN_DELAY_ORDERS_TO_PROCESS',3,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes clients non traitées','2012-12-08 14:08:20'),(1773,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes fournisseurs non traitées','2012-12-08 14:08:20'),(1774,'MAIN_DELAY_PROPALS_TO_CLOSE',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales à cloturer','2012-12-08 14:08:20'),(1775,'MAIN_DELAY_PROPALS_TO_BILL',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales non facturées','2012-12-08 14:08:20'),(1776,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures client impayées','2012-12-08 14:08:20'),(1777,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',3,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures fournisseur impayées','2012-12-08 14:08:20'),(1778,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',3,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2012-12-08 14:08:20'),(1779,'MAIN_DELAY_RUNNING_SERVICES',3,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services expirés','2012-12-08 14:08:20'),(1780,'MAIN_DELAY_MEMBERS',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur cotisations adhérent en retard','2012-12-08 14:08:20'),(1781,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',3,'62','chaine',0,'Tolérance de retard avant alerte (en jours) sur rapprochements bancaires à faire','2012-12-08 14:08:20'),(1782,'MAILING_EMAIL_FROM',3,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2012-12-08 14:08:20'),(1803,'SYSLOG_FILE',1,'DOL_DATA_ROOT/dolibarr.log','chaine',0,'','2012-12-08 14:15:08'),(1804,'SYSLOG_HANDLERS',1,'[\"mod_syslog_file\"]','chaine',0,'','2012-12-08 14:15:08'),(1805,'MAIN_MODULE_SKINCOLOREDITOR',3,'1',NULL,0,NULL,'2012-12-08 14:35:40'),(1806,'MAIN_MODULE_SKINCOLOREDITOR_TABS_0',3,'user:+tabskincoloreditors:ColorEditor:skincoloreditor@skincoloreditor:/skincoloreditor/usercolors.php?id=__ID__','chaine',0,NULL,'2012-12-08 14:35:40'),(1922,'PAYPAL_API_SANDBOX',1,'1','chaine',0,'','2012-12-12 12:11:05'),(1923,'PAYPAL_API_USER',1,'seller_1355312017_biz_api1.nltechno.com','chaine',0,'','2012-12-12 12:11:05'),(1924,'PAYPAL_API_PASSWORD',1,'1355312040','chaine',0,'','2012-12-12 12:11:05'),(1925,'PAYPAL_API_SIGNATURE',1,'AXqqdsWBzvfn0q5iNmbuiDv1y.3EAXIMWyl4C5KvDReR9HDwwAd6dQ4Q','chaine',0,'','2012-12-12 12:11:05'),(1926,'PAYPAL_API_INTEGRAL_OR_PAYPALONLY',1,'integral','chaine',0,'','2012-12-12 12:11:05'),(1927,'PAYPAL_SECURITY_TOKEN',1,'50c82fab36bb3b6aa83e2a50691803b2','chaine',0,'','2012-12-12 12:11:05'),(1928,'PAYPAL_SECURITY_TOKEN_UNIQUE',1,'0','chaine',0,'','2012-12-12 12:11:05'),(1929,'PAYPAL_ADD_PAYMENT_URL',1,'1','chaine',0,'','2012-12-12 12:11:05'),(1980,'MAIN_PDF_FORMAT',1,'EUA4','chaine',0,'','2012-12-12 19:58:05'),(1981,'MAIN_PROFID1_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1982,'MAIN_PROFID2_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1983,'MAIN_PROFID3_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1984,'MAIN_PROFID4_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1985,'MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1990,'MAIN_SMS_SENDMODE',1,'ovh','chaine',0,'This is to enable OVH SMS engine','2012-12-17 21:19:01'),(2040,'MAIN_MAIL_SMTP_PORT',1,'465','chaine',0,'','2015-07-19 13:41:06'),(2041,'MAIN_MAIL_SMTP_SERVER',1,'smtp.mail.com','chaine',0,'','2015-07-19 13:41:06'),(2044,'MAIN_MAIL_EMAIL_TLS',1,'1','chaine',0,'','2015-07-19 13:41:06'),(2251,'FCKEDITOR_TEST',1,'Test
\r\n\"\"fdfs','chaine',0,'','2012-12-19 19:12:24'),(2293,'SYSTEMTOOLS_MYSQLDUMP',1,'/usr/bin/mysqldump','chaine',0,'','2012-12-27 02:02:00'),(2835,'MAIN_USE_CONNECT_TIMEOUT',1,'10','chaine',0,'','2013-01-16 19:28:50'),(2836,'MAIN_USE_RESPONSE_TIMEOUT',1,'30','chaine',0,'','2013-01-16 19:28:50'),(2837,'MAIN_PROXY_USE',1,'0','chaine',0,'','2013-01-16 19:28:50'),(2838,'MAIN_PROXY_HOST',1,'localhost','chaine',0,'','2013-01-16 19:28:50'),(2839,'MAIN_PROXY_PORT',1,'8080','chaine',0,'','2013-01-16 19:28:50'),(2840,'MAIN_PROXY_USER',1,'aaa','chaine',0,'','2013-01-16 19:28:50'),(2841,'MAIN_PROXY_PASS',1,'bbb','chaine',0,'','2013-01-16 19:28:50'),(2848,'OVHSMS_NICK',1,'BN196-OVH','chaine',0,'','2013-01-16 19:32:36'),(2849,'OVHSMS_PASS',1,'bigone-10','chaine',0,'','2013-01-16 19:32:36'),(2850,'OVHSMS_SOAPURL',1,'https://www.ovh.com/soapi/soapi-re-1.55.wsdl','chaine',0,'','2013-01-16 19:32:36'),(2854,'THEME_ELDY_RGB',1,'bfbf00','chaine',0,'','2013-01-18 10:02:53'),(2855,'THEME_ELDY_ENABLE_PERSONALIZED',1,'0','chaine',0,'','2013-01-18 10:02:55'),(2858,'MAIN_SESSION_TIMEOUT',1,'2000','chaine',0,'','2013-01-19 17:01:53'),(2862,'TICKET_ADDON',1,'mod_ticket_avenc','chaine',0,'Nom du gestionnaire de numerotation des tickets','2013-01-19 17:16:10'),(2867,'FACSIM_ADDON',1,'mod_facsim_alcoy','chaine',0,'','2013-01-19 17:16:25'),(2868,'POS_SERVICES',1,'0','chaine',0,'','2013-01-19 17:16:51'),(2869,'POS_USE_TICKETS',1,'1','chaine',0,'','2013-01-19 17:16:51'),(2870,'POS_MAX_TTC',1,'100','chaine',0,'','2013-01-19 17:16:51'),(3190,'MAIN_MODULE_HOLIDAY',2,'1',NULL,0,NULL,'2013-02-01 08:52:34'),(3191,'MAIN_MODULE_HOLIDAY_TABS_0',2,'user:+paidholidays:CPTitreMenu:holiday:$user->rights->holiday->write:/holiday/index.php?mainmenu=holiday&id=__ID__','chaine',0,NULL,'2013-02-01 08:52:34'),(3195,'INVOICE_SUPPLIER_ADDON_PDF',1,'canelle','chaine',0,'','2013-02-10 19:50:27'),(3199,'MAIN_FORCE_RELOAD_PAGE',1,'1','chaine',0,NULL,'2013-02-12 16:22:55'),(3217,'MAIN_PDF_TITLE_BACKGROUND_COLOR',1,'240,240,240','chaine',1,'','2013-02-13 15:18:02'),(3223,'OVH_THIRDPARTY_IMPORT',1,'2','chaine',0,'','2013-02-13 16:20:18'),(3241,'COMPANY_USE_SEARCH_TO_SELECT',1,'2','chaine',0,'','2013-02-17 14:33:39'),(3409,'AGENDA_USE_EVENT_TYPE',1,'1','chaine',0,'','2013-02-27 18:12:24'),(3886,'MAIN_REMOVE_INSTALL_WARNING',1,'1','chaine',1,'','2013-03-02 18:32:50'),(4013,'MAIN_DELAY_ACTIONS_TODO',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4014,'MAIN_DELAY_PROPALS_TO_CLOSE',1,'31','chaine',0,'','2013-03-06 08:59:12'),(4015,'MAIN_DELAY_PROPALS_TO_BILL',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4016,'MAIN_DELAY_ORDERS_TO_PROCESS',1,'2','chaine',0,'','2013-03-06 08:59:12'),(4017,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',1,'31','chaine',0,'','2013-03-06 08:59:12'),(4018,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4019,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',1,'2','chaine',0,'','2013-03-06 08:59:12'),(4020,'MAIN_DELAY_RUNNING_SERVICES',1,'-15','chaine',0,'','2013-03-06 08:59:12'),(4021,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',1,'62','chaine',0,'','2013-03-06 08:59:13'),(4022,'MAIN_DELAY_MEMBERS',1,'31','chaine',0,'','2013-03-06 08:59:13'),(4023,'MAIN_DISABLE_METEO',1,'0','chaine',0,'','2013-03-06 08:59:13'),(4044,'ADHERENT_VAT_FOR_SUBSCRIPTIONS',1,'0','',0,'','2013-03-06 16:06:38'),(4047,'ADHERENT_BANK_USE',1,'bankviainvoice','',0,'','2013-03-06 16:12:30'),(4049,'PHPSANE_SCANIMAGE',1,'/usr/bin/scanimage','chaine',0,'','2013-03-06 21:54:13'),(4050,'PHPSANE_PNMTOJPEG',1,'/usr/bin/pnmtojpeg','chaine',0,'','2013-03-06 21:54:13'),(4051,'PHPSANE_PNMTOTIFF',1,'/usr/bin/pnmtotiff','chaine',0,'','2013-03-06 21:54:13'),(4052,'PHPSANE_OCR',1,'/usr/bin/gocr','chaine',0,'','2013-03-06 21:54:13'),(4548,'ECM_AUTO_TREE_ENABLED',1,'1','chaine',0,'','2013-03-10 15:57:21'),(4579,'MAIN_MODULE_AGENDA',2,'1',NULL,0,NULL,'2013-03-13 15:29:19'),(4580,'MAIN_AGENDA_ACTIONAUTO_COMPANY_CREATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4581,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4582,'MAIN_AGENDA_ACTIONAUTO_PROPAL_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4583,'MAIN_AGENDA_ACTIONAUTO_PROPAL_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4584,'MAIN_AGENDA_ACTIONAUTO_ORDER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4585,'MAIN_AGENDA_ACTIONAUTO_ORDER_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4586,'MAIN_AGENDA_ACTIONAUTO_BILL_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4587,'MAIN_AGENDA_ACTIONAUTO_BILL_PAYED',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4588,'MAIN_AGENDA_ACTIONAUTO_BILL_CANCEL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4589,'MAIN_AGENDA_ACTIONAUTO_BILL_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4590,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4591,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4592,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4593,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4594,'MAIN_AGENDA_ACTIONAUTO_BILL_UNVALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4595,'MAIN_MODULE_GOOGLE',2,'1',NULL,0,NULL,'2013-03-13 15:29:47'),(4596,'MAIN_MODULE_GOOGLE_TABS_0',2,'agenda:+gcal:MenuAgendaGoogle:google@google:$conf->google->enabled && $conf->global->GOOGLE_ENABLE_AGENDA:/google/index.php','chaine',0,NULL,'2013-03-13 15:29:47'),(4597,'MAIN_MODULE_GOOGLE_TABS_1',2,'user:+gsetup:GoogleUserConf:google@google:$conf->google->enabled && $conf->global->GOOGLE_DUPLICATE_INTO_GCAL:/google/admin/google_calsync_user.php?id=__ID__','chaine',0,NULL,'2013-03-13 15:29:47'),(4598,'MAIN_MODULE_GOOGLE_TRIGGERS',2,'1','chaine',0,NULL,'2013-03-13 15:29:47'),(4599,'MAIN_MODULE_GOOGLE_HOOKS',2,'[\"toprightmenu\"]','chaine',0,NULL,'2013-03-13 15:29:47'),(4688,'GOOGLE_ENABLE_AGENDA',2,'1','chaine',0,'','2013-03-13 15:36:29'),(4689,'GOOGLE_AGENDA_NAME1',2,'eldy','chaine',0,'','2013-03-13 15:36:29'),(4690,'GOOGLE_AGENDA_SRC1',2,'eldy10@mail.com','chaine',0,'','2013-03-13 15:36:29'),(4691,'GOOGLE_AGENDA_COLOR1',2,'BE6D00','chaine',0,'','2013-03-13 15:36:29'),(4692,'GOOGLE_AGENDA_COLOR2',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4693,'GOOGLE_AGENDA_COLOR3',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4694,'GOOGLE_AGENDA_COLOR4',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4695,'GOOGLE_AGENDA_COLOR5',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4696,'GOOGLE_AGENDA_TIMEZONE',2,'Europe/Paris','chaine',0,'','2013-03-13 15:36:29'),(4697,'GOOGLE_AGENDA_NB',2,'5','chaine',0,'','2013-03-13 15:36:29'),(4698,'MAIN_DISABLE_ALL_MAILS',1,'0','chaine',0,'','2013-03-13 17:22:24'),(4699,'MAIN_MAIL_SENDMODE',1,'mail','chaine',0,'','2015-07-19 13:41:06'),(4700,'MAIN_MAIL_SMTPS_ID',1,'eldy10@mail.com','chaine',0,'','2015-07-19 13:41:06'),(4701,'MAIN_MAIL_SMTPS_PW',1,'bidonge','chaine',0,'','2015-07-19 13:41:06'),(4711,'GOOGLE_ENABLE_AGENDA',1,'1','chaine',0,'','2013-03-13 19:37:38'),(4712,'GOOGLE_AGENDA_NAME1',1,'asso master','chaine',0,'','2013-03-13 19:37:38'),(4713,'GOOGLE_AGENDA_SRC1',1,'assodolibarr@mail.com','chaine',0,'','2013-03-13 19:37:38'),(4714,'GOOGLE_AGENDA_COLOR1',1,'1B887A','chaine',0,'','2013-03-13 19:37:38'),(4715,'GOOGLE_AGENDA_COLOR2',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4716,'GOOGLE_AGENDA_COLOR3',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4717,'GOOGLE_AGENDA_COLOR4',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4718,'GOOGLE_AGENDA_COLOR5',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4719,'GOOGLE_AGENDA_TIMEZONE',1,'Europe/Paris','chaine',0,'','2013-03-13 19:37:38'),(4720,'GOOGLE_AGENDA_NB',1,'5','chaine',0,'','2013-03-13 19:37:38'),(4725,'SOCIETE_CODECLIENT_ADDON',2,'mod_codeclient_leopard','chaine',0,'Module to control third parties codes','2013-03-13 20:21:35'),(4726,'SOCIETE_CODECOMPTA_ADDON',2,'mod_codecompta_panicum','chaine',0,'Module to control third parties codes','2013-03-13 20:21:35'),(4727,'SOCIETE_FISCAL_MONTH_START',2,'','chaine',0,'Mettre le numero du mois du debut d\\\'annee fiscale, ex: 9 pour septembre','2013-03-13 20:21:35'),(4728,'MAIN_SEARCHFORM_SOCIETE',2,'1','yesno',0,'Show form for quick company search','2013-03-13 20:21:35'),(4729,'MAIN_SEARCHFORM_CONTACT',2,'1','yesno',0,'Show form for quick contact search','2013-03-13 20:21:35'),(4730,'COMPANY_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/thirdparties','chaine',0,NULL,'2013-03-13 20:21:35'),(4743,'MAIN_MODULE_CLICKTODIAL',2,'1',NULL,0,NULL,'2013-03-13 20:30:28'),(4744,'MAIN_MODULE_NOTIFICATION',2,'1',NULL,0,NULL,'2013-03-13 20:30:34'),(4745,'MAIN_MODULE_WEBSERVICES',2,'1',NULL,0,NULL,'2013-03-13 20:30:41'),(4746,'MAIN_MODULE_PROPALE',2,'1',NULL,0,NULL,'2013-03-13 20:32:38'),(4747,'PROPALE_ADDON_PDF',2,'azur','chaine',0,'Nom du gestionnaire de generation des propales en PDF','2013-03-13 20:32:38'),(4748,'PROPALE_ADDON',2,'mod_propale_marbre','chaine',0,'Nom du gestionnaire de numerotation des propales','2013-03-13 20:32:38'),(4749,'PROPALE_VALIDITY_DURATION',2,'15','chaine',0,'Duration of validity of business proposals','2013-03-13 20:32:38'),(4750,'PROPALE_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/proposals','chaine',0,NULL,'2013-03-13 20:32:38'),(4752,'MAIN_MODULE_TAX',2,'1',NULL,0,NULL,'2013-03-13 20:32:47'),(4753,'MAIN_MODULE_DON',2,'1',NULL,0,NULL,'2013-03-13 20:32:54'),(4754,'DON_ADDON_MODEL',2,'html_cerfafr','chaine',0,'Nom du gestionnaire de generation de recu de dons','2013-03-13 20:32:54'),(4755,'POS_USE_TICKETS',2,'1','chaine',0,'','2013-03-13 20:33:09'),(4756,'POS_MAX_TTC',2,'100','chaine',0,'','2013-03-13 20:33:09'),(4757,'MAIN_MODULE_POS',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4758,'TICKET_ADDON',2,'mod_ticket_avenc','chaine',0,'Nom du gestionnaire de numerotation des tickets','2013-03-13 20:33:09'),(4759,'MAIN_MODULE_BANQUE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4760,'MAIN_MODULE_FACTURE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4761,'FACTURE_ADDON_PDF',2,'crabe','chaine',0,'Name of PDF model of invoice','2013-03-13 20:33:09'),(4762,'FACTURE_ADDON',2,'mod_facture_terre','chaine',0,'Name of numbering numerotation rules of invoice','2013-03-13 20:33:09'),(4763,'FACTURE_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/invoices','chaine',0,NULL,'2013-03-13 20:33:09'),(4764,'MAIN_MODULE_SOCIETE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4765,'MAIN_MODULE_PRODUCT',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4766,'PRODUCT_CODEPRODUCT_ADDON',2,'mod_codeproduct_leopard','chaine',0,'Module to control product codes','2013-03-13 20:33:09'),(4767,'MAIN_SEARCHFORM_PRODUITSERVICE',2,'1','yesno',0,'Show form for quick product search','2013-03-13 20:33:09'),(4772,'FACSIM_ADDON',2,'mod_facsim_alcoy','chaine',0,'','2013-03-13 20:33:32'),(4773,'MAIN_MODULE_MAILING',2,'1',NULL,0,NULL,'2013-03-13 20:33:37'),(4774,'MAIN_MODULE_OPENSURVEY',2,'1',NULL,0,NULL,'2013-03-13 20:33:42'),(4782,'AGENDA_USE_EVENT_TYPE',2,'1','chaine',0,'','2013-03-13 20:53:36'),(4884,'AGENDA_DISABLE_EXT',2,'1','chaine',0,'','2013-03-13 22:03:40'),(4928,'COMMANDE_SUPPLIER_ADDON_NUMBER',1,'mod_commande_fournisseur_muguet','chaine',0,'Nom du gestionnaire de numerotation des commandes fournisseur','2013-03-22 09:24:29'),(4929,'INVOICE_SUPPLIER_ADDON_NUMBER',1,'mod_facture_fournisseur_cactus','chaine',0,'Nom du gestionnaire de numerotation des factures fournisseur','2013-03-22 09:24:29'),(5001,'MAIN_CRON_KEY',0,'bc54582fe30d5d4a830c6f582ec28810','chaine',0,'','2013-03-23 17:54:53'),(5009,'CRON_KEY',0,'2c2e755c20be2014098f629865598006','chaine',0,'','2013-03-23 18:06:24'),(5075,'MAIN_MENU_STANDARD',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5076,'MAIN_MENU_SMARTPHONE',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5077,'MAIN_MENUFRONT_STANDARD',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5078,'MAIN_MENUFRONT_SMARTPHONE',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5139,'SOCIETE_ADD_REF_IN_LIST',1,'','yesno',0,'Display customer ref into select list','2013-09-08 23:06:08'),(5150,'PROJECT_TASK_ADDON_PDF',1,'','chaine',0,'Name of PDF/ODT tasks manager class','2013-09-08 23:06:14'),(5151,'PROJECT_TASK_ADDON',1,'mod_task_simple','chaine',0,'Name of Numbering Rule task manager class','2013-09-08 23:06:14'),(5152,'PROJECT_TASK_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/tasks','chaine',0,'','2013-09-08 23:06:14'),(5195,'GOOGLE_DUPLICATE_INTO_THIRDPARTIES',1,'1','chaine',0,'','2013-11-07 00:02:34'),(5196,'GOOGLE_DUPLICATE_INTO_CONTACTS',1,'0','chaine',0,'','2013-11-07 00:02:34'),(5197,'GOOGLE_DUPLICATE_INTO_MEMBERS',1,'0','chaine',0,'','2013-11-07 00:02:34'),(5198,'GOOGLE_CONTACT_LOGIN',1,'eldy10@mail.com','chaine',0,'','2013-11-07 00:02:34'),(5199,'GOOGLE_CONTACT_PASSWORD',1,'bidonge','chaine',0,'','2013-11-07 00:02:34'),(5200,'GOOGLE_TAG_PREFIX',1,'Dolibarr (Thirdparties)','chaine',0,'','2013-11-07 00:02:34'),(5201,'GOOGLE_TAG_PREFIX_CONTACTS',1,'Dolibarr (Contacts/Addresses)','chaine',0,'','2013-11-07 00:02:34'),(5202,'GOOGLE_TAG_PREFIX_MEMBERS',1,'Dolibarr (Members)','chaine',0,'','2013-11-07 00:02:34'),(5239,'BOOKMARKS_SHOW_IN_MENU',1,'10','chaine',0,'','2014-03-02 15:42:26'),(5271,'DONATION_ART200',1,'','yesno',0,'Option Française - Eligibilité Art200 du CGI','2014-12-21 12:51:28'),(5272,'DONATION_ART238',1,'','yesno',0,'Option Française - Eligibilité Art238 bis du CGI','2014-12-21 12:51:28'),(5273,'DONATION_ART885',1,'','yesno',0,'Option Française - Eligibilité Art885-0 V bis du CGI','2014-12-21 12:51:28'),(5274,'DONATION_MESSAGE',1,'Thank you','chaine',0,'Message affiché sur le récépissé de versements ou dons','2014-12-21 12:51:28'),(5288,'DONATION_ACCOUNTINGACCOUNT',1,'7581','chaine',0,'Compte comptable de remise des versements ou dons','2015-07-19 13:41:21'),(5317,'INVOICE_CAN_ALWAYS_BE_REMOVED',1,'1','chaine',1,'','2015-10-03 09:25:30'),(5338,'MAIN_LANG_DEFAULT',1,'en_US','chaine',0,'','2015-10-03 10:11:33'),(5339,'MAIN_MULTILANGS',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5340,'MAIN_SIZE_LISTE_LIMIT',1,'25','chaine',0,'','2015-10-03 10:11:33'),(5341,'MAIN_DISABLE_JAVASCRIPT',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5342,'MAIN_BUTTON_HIDE_UNAUTHORIZED',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5343,'MAIN_START_WEEK',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5344,'MAIN_DEFAULT_WORKING_DAYS',1,'1-5','chaine',0,'','2015-10-03 10:11:33'),(5345,'MAIN_DEFAULT_WORKING_HOURS',1,'9-18','chaine',0,'','2015-10-03 10:11:33'),(5346,'MAIN_SHOW_LOGO',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5347,'MAIN_FIRSTNAME_NAME_POSITION',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5348,'MAIN_THEME',1,'eldy','chaine',0,'','2015-10-03 10:11:33'),(5349,'MAIN_SEARCHFORM_CONTACT',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5350,'MAIN_SEARCHFORM_SOCIETE',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5351,'MAIN_SEARCHFORM_PRODUITSERVICE',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5352,'MAIN_SEARCHFORM_PRODUITSERVICE_SUPPLIER',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5353,'MAIN_SEARCHFORM_ADHERENT',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5354,'MAIN_SEARCHFORM_PROJECT',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5355,'MAIN_HELPCENTER_DISABLELINK',0,'1','chaine',0,'','2015-10-03 10:11:33'),(5356,'MAIN_HOME',1,'__(NoteSomeFeaturesAreDisabled)__
\r\n
\r\n__(SomeTranslationAreUncomplete)__
','chaine',0,'','2015-10-03 10:11:33'),(5357,'MAIN_HELP_DISABLELINK',0,'0','chaine',0,'','2015-10-03 10:11:33'),(5358,'MAIN_BUGTRACK_ENABLELINK',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5359,'THEME_ELDY_USE_HOVER',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5394,'FCKEDITOR_ENABLE_DETAILS',1,'1','yesno',0,'WYSIWIG for products details lines for all entities','2015-11-04 15:27:44'),(5395,'FCKEDITOR_ENABLE_USERSIGN',1,'1','yesno',0,'WYSIWIG for user signature','2015-11-04 15:27:44'),(5396,'FCKEDITOR_ENABLE_MAIL',1,'1','yesno',0,'WYSIWIG for products details lines for all entities','2015-11-04 15:27:44'),(5398,'CATEGORIE_RECURSIV_ADD',1,'','yesno',0,'Affect parent categories','2015-11-04 15:27:46'),(5403,'MAIN_MODULE_FCKEDITOR',1,'1',NULL,0,NULL,'2015-11-04 15:41:40'),(5404,'MAIN_MODULE_CATEGORIE',1,'1',NULL,0,NULL,'2015-11-04 15:41:43'),(5415,'EXPEDITION_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/shipment','chaine',0,NULL,'2015-11-15 22:38:28'),(5416,'LIVRAISON_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/delivery','chaine',0,NULL,'2015-11-15 22:38:28'),(5419,'MAIN_MODULE_CASHDESK',1,'1',NULL,0,NULL,'2015-11-15 22:38:33'),(5426,'MAIN_MODULE_PROJET',1,'1',NULL,0,NULL,'2015-11-15 22:38:44'),(5427,'PROJECT_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/projects','chaine',0,NULL,'2015-11-15 22:38:44'),(5428,'PROJECT_USE_OPPORTUNIES',1,'1','chaine',0,NULL,'2015-11-15 22:38:44'),(5430,'MAIN_MODULE_EXPORT',1,'1',NULL,0,NULL,'2015-11-15 22:38:56'),(5431,'MAIN_MODULE_IMPORT',1,'1',NULL,0,NULL,'2015-11-15 22:38:58'),(5432,'MAIN_MODULE_MAILING',1,'1',NULL,0,NULL,'2015-11-15 22:39:00'),(5433,'MAIN_MODULE_EXPENSEREPORT',1,'1',NULL,0,NULL,'2015-11-15 22:39:05'),(5434,'EXPENSEREPORT_ADDON_PDF',1,'standard','chaine',0,'Name of manager to build PDF expense reports documents','2015-11-15 22:39:05'),(5435,'MAIN_MODULE_SALARIES',1,'1',NULL,0,NULL,'2015-11-15 22:39:08'),(5436,'SALARIES_ACCOUNTING_ACCOUNT_PAYMENT',1,'421','chaine',0,NULL,'2015-11-15 22:39:08'),(5437,'SALARIES_ACCOUNTING_ACCOUNT_CHARGE',1,'641','chaine',0,NULL,'2015-11-15 22:39:08'),(5440,'MAIN_MODULE_ADHERENT',1,'1',NULL,0,NULL,'2015-11-15 22:39:17'),(5441,'ADHERENT_ETIQUETTE_TEXT',1,'%FULLNAME%\n%ADDRESS%\n%ZIP% %TOWN%\n%COUNTRY%','texte',0,'Text to print on member address sheets','2015-11-15 22:39:17'),(5442,'MAIN_MODULE_TAX',1,'1',NULL,0,NULL,'2015-11-15 22:39:22'),(5443,'MAIN_MODULE_PRELEVEMENT',1,'1',NULL,0,NULL,'2015-11-15 22:39:33'),(5449,'MAIN_MODULE_COMPTABILITE',1,'1',NULL,0,NULL,'2015-11-15 22:39:46'),(5452,'MAIN_MODULE_BANQUE',1,'1',NULL,0,NULL,'2015-11-15 22:39:46'),(5453,'MAIN_MODULE_CONTRAT',1,'1',NULL,0,NULL,'2015-11-15 22:39:52'),(5455,'MAIN_MODULE_FICHEINTER',1,'1',NULL,0,NULL,'2015-11-15 22:39:56'),(5458,'MAIN_MODULE_BOOKMARK',1,'1',NULL,0,NULL,'2015-11-15 22:40:51'),(5459,'MAIN_MODULE_PAYPAL',1,'1',NULL,0,NULL,'2015-11-15 22:41:02'),(5460,'MAIN_MODULE_MARGIN',1,'1',NULL,0,NULL,'2015-11-15 22:41:47'),(5461,'MAIN_MODULE_MARGIN_TABS_0',1,'product:+margin:Margins:margins:$user->rights->margins->liretous:/margin/tabs/productMargins.php?id=__ID__','chaine',0,NULL,'2015-11-15 22:41:47'),(5462,'MAIN_MODULE_MARGIN_TABS_1',1,'thirdparty:+margin:Margins:margins:empty($user->societe_id) && $user->rights->margins->liretous && ($object->client > 0):/margin/tabs/thirdpartyMargins.php?socid=__ID__','chaine',0,NULL,'2015-11-15 22:41:47'),(5463,'MAIN_MODULE_PROPALE',1,'1',NULL,0,NULL,'2015-11-15 22:41:47'),(5483,'GENBARCODE_BARCODETYPE_THIRDPARTY',1,'6','chaine',0,'','2016-01-16 15:49:43'),(5484,'PRODUIT_DEFAULT_BARCODE_TYPE',1,'2','chaine',0,'','2016-01-16 15:49:46'),(5539,'PRODUCT_USE_OLD_PATH_FOR_PHOTO',0,'0','chaine',1,'Use old path for products images','2016-01-22 13:34:23'),(5540,'MAIN_SOAP_DEBUG',1,'0','chaine',1,'','2016-01-22 13:34:57'),(5541,'MODULE_GOOGLE_DEBUG',1,'0','chaine',1,'','2016-01-22 13:34:57'),(5543,'MAIN_MAIL_DEBUG',1,'1','chaine',1,'','2016-01-22 13:35:24'),(5548,'MAIN_MODULE_ECM',1,'1',NULL,0,NULL,'2016-01-22 17:26:43'),(5551,'MAIN_MODULE_HOLIDAY',1,'1',NULL,0,NULL,'2016-01-22 17:26:43'),(5552,'MAIN_MODULE_HOLIDAY_TABS_0',1,'user:+paidholidays:CPTitreMenu:holiday:$user->rights->holiday->read:/holiday/list.php?mainmenu=holiday&id=__ID__','chaine',0,NULL,'2016-01-22 17:26:43'),(5553,'MAIN_MODULE_OPENSURVEY',1,'1',NULL,0,NULL,'2016-01-22 17:26:43'),(5555,'MAIN_MODULE_SERVICE',1,'1',NULL,0,NULL,'2016-01-22 17:26:43'),(5560,'MAILING_LIMIT_SENDBYWEB',0,'25','chaine',1,'Number of targets to defined packet size when sending mass email','2016-01-22 17:28:18'),(5561,'SYSLOG_HANDLERS',0,'[\"mod_syslog_file\"]','chaine',0,'Which logger to use','2016-01-22 17:28:18'),(5562,'SYSLOG_FILE',0,'DOL_DATA_ROOT/dolibarr.log','chaine',0,'Directory where to write log file','2016-01-22 17:28:18'),(5568,'MAIN_MAIL_EMAIL_FROM',1,'robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2016-01-22 17:28:18'),(5586,'MAIN_DELAY_EXPENSEREPORTS_TO_PAY',1,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur les notes de frais impayées','2016-01-22 17:28:18'),(5587,'MAIN_FIX_FOR_BUGGED_MTA',1,'1','chaine',1,'Set constant to fix email ending from PHP with some linux ike system','2016-01-22 17:28:18'),(5589,'MAIN_MODULE_USER',0,'1',NULL,0,NULL,'2016-01-22 17:28:42'),(5590,'MAIN_VERSION_LAST_INSTALL',0,'3.8.3','chaine',0,'Dolibarr version when install','2016-01-22 17:28:42'),(5604,'MAIN_INFO_SOCIETE_LOGO',1,'mybigcompany.png','chaine',0,'','2016-01-22 17:33:49'),(5605,'MAIN_INFO_SOCIETE_LOGO_SMALL',1,'mybigcompany_small.png','chaine',0,'','2016-01-22 17:33:49'),(5606,'MAIN_INFO_SOCIETE_LOGO_MINI',1,'mybigcompany_mini.png','chaine',0,'','2016-01-22 17:33:49'),(5612,'MAIN_ENABLE_LOG_TO_HTML',0,'0','chaine',1,'If this option is set to 1, it is possible to see log output at end of HTML sources by adding paramater logtohtml=1 on URL','2016-03-13 10:54:45'),(5614,'MAIN_SIZE_SHORTLISTE_LIMIT',1,'4','chaine',0,'Longueur maximum des listes courtes (fiche client)','2016-03-13 10:54:46'),(5622,'MAIN_MODULE_BARCODE',1,'1',NULL,0,NULL,'2016-07-30 11:12:59'),(5623,'MAIN_MODULE_FACTURE',1,'1',NULL,0,NULL,'2016-07-30 11:12:59'),(5624,'MAIN_VERSION_LAST_UPGRADE',0,'4.0.0-rc2','chaine',0,'Dolibarr version for last upgrade','2016-07-30 11:13:02'),(5626,'MAIN_MODULE_SUPPLIERPROPOSAL',1,'1',NULL,0,NULL,'2016-07-30 11:13:20'),(5627,'SUPPLIER_PROPOSAL_ADDON_PDF',1,'aurore','chaine',0,'Name of submodule to generate PDF for supplier quotation request','2016-07-30 11:13:20'),(5628,'SUPPLIER_PROPOSAL_ADDON',1,'mod_supplier_proposal_marbre','chaine',0,'Name of submodule to number supplier quotation request','2016-07-30 11:13:20'),(5629,'SUPPLIER_PROPOSAL_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/supplier_proposal','chaine',0,NULL,'2016-07-30 11:13:20'),(5632,'MAIN_MODULE_RESOURCE',1,'1',NULL,0,NULL,'2016-07-30 11:13:32'),(5633,'MAIN_MODULE_API',1,'1',NULL,0,NULL,'2016-07-30 11:13:54'),(5634,'MAIN_MODULE_WEBSERVICES',1,'1',NULL,0,NULL,'2016-07-30 11:13:56'),(5635,'WEBSERVICES_KEY',1,'dolibarrkey','chaine',0,'','2016-07-30 11:14:04'),(5636,'MAIN_MODULE_CRON',1,'1',NULL,0,NULL,'2016-07-30 11:14:25'),(5637,'MAIN_MODULE_SYSLOG',0,'1',NULL,0,NULL,'2016-07-30 11:14:27'),(5638,'MAIN_MODULE_EXTERNALRSS',1,'1',NULL,0,NULL,'2016-07-30 11:15:04'),(5639,'EXTERNAL_RSS_TITLE_1',1,'Dolibarr.org News','chaine',0,'','2016-07-30 11:15:25'),(5640,'EXTERNAL_RSS_URLRSS_1',1,'https://www.dolibarr.org/rss','chaine',0,'','2016-07-30 11:15:25'),(5641,'MAIN_MODULE_DON',1,'1',NULL,0,NULL,'2016-07-30 11:16:22'),(5642,'SOCIETE_CODECOMPTA_ADDON',1,'mod_codecompta_aquarium','chaine',0,'','2016-07-30 11:16:42'),(5680,'MAIN_INFO_SOCIETE_COUNTRY',1,'14:CA:Canada','chaine',0,'','2016-07-30 11:19:05'),(5681,'MAIN_INFO_SOCIETE_NOM',1,'MyBigCompany','chaine',0,'','2016-07-30 11:19:05'),(5682,'MAIN_INFO_SOCIETE_ADDRESS',1,'21 Jump street','chaine',0,'','2016-07-30 11:19:05'),(5683,'MAIN_INFO_SOCIETE_TOWN',1,'MyTown','chaine',0,'','2016-07-30 11:19:05'),(5684,'MAIN_INFO_SOCIETE_ZIP',1,'75500','chaine',0,'','2016-07-30 11:19:05'),(5685,'MAIN_INFO_SOCIETE_STATE',1,'1514','chaine',0,'','2016-07-30 11:19:05'),(5686,'MAIN_MONNAIE',1,'EUR','chaine',0,'','2016-07-30 11:19:05'),(5687,'MAIN_INFO_SOCIETE_TEL',1,'09123123','chaine',0,'','2016-07-30 11:19:05'),(5688,'MAIN_INFO_SOCIETE_FAX',1,'09123124','chaine',0,'','2016-07-30 11:19:05'),(5689,'MAIN_INFO_SOCIETE_MAIL',1,'myemail@mybigcompany.com','chaine',0,'','2016-07-30 11:19:05'),(5690,'MAIN_INFO_SOCIETE_WEB',1,'http://www.dolibarr.org','chaine',0,'','2016-07-30 11:19:05'),(5691,'MAIN_INFO_SOCIETE_NOTE',1,'This is note about my company','chaine',0,'','2016-07-30 11:19:05'),(5692,'MAIN_INFO_SOCIETE_GENCOD',1,'1234567890','chaine',0,'','2016-07-30 11:19:05'),(5693,'MAIN_INFO_SOCIETE_MANAGERS',1,'Zack Zeceo','chaine',0,'','2016-07-30 11:19:05'),(5694,'MAIN_INFO_CAPITAL',1,'10000','chaine',0,'','2016-07-30 11:19:05'),(5695,'MAIN_INFO_SOCIETE_FORME_JURIDIQUE',1,'0','chaine',0,'','2016-07-30 11:19:05'),(5696,'MAIN_INFO_SIREN',1,'123456','chaine',0,'','2016-07-30 11:19:05'),(5697,'MAIN_INFO_TVAINTRA',1,'FR1234567','chaine',0,'','2016-07-30 11:19:05'),(5698,'MAIN_INFO_SOCIETE_OBJECT',1,'A company demo to show how Dolibarr ERP CRM is wonderfull','chaine',0,'','2016-07-30 11:19:05'),(5699,'SOCIETE_FISCAL_MONTH_START',1,'1','chaine',0,'','2016-07-30 11:19:05'),(5700,'FACTURE_TVAOPTION',1,'1','chaine',0,'','2016-07-30 11:19:05'),(5701,'FACTURE_LOCAL_TAX1_OPTION',1,'localtax1on','chaine',0,'','2016-07-30 11:19:05'),(5702,'MAIN_INFO_VALUE_LOCALTAX1',1,'0','chaine',0,'','2016-07-30 11:19:05'),(5703,'MAIN_INFO_LOCALTAX_CALC1',1,'0','chaine',0,'','2016-07-30 11:19:05'),(5704,'PROJECT_USE_OPPORTUNITIES',1,'1','chaine',0,'','2016-07-30 11:19:17'),(5707,'CASHDESK_NO_DECREASE_STOCK',1,'1','chaine',0,'','2016-07-30 13:38:11'),(5708,'MAIN_MODULE_PRODUCTBATCH',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5710,'MAIN_MODULE_STOCK',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5711,'MAIN_MODULE_PRODUCT',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5712,'MAIN_MODULE_EXPEDITION',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5713,'MAIN_MODULE_COMMANDE',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5715,'MAIN_MODULE_FOURNISSEUR',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5716,'MAIN_MODULE_SOCIETE',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5717,'MAIN_FEATURES_LEVEL',0,'0','chaine',1,'Level of features to show (0=stable only, 1=stable+experimental, 2=stable+experimental+development','2016-07-30 14:39:14'),(5765,'MAIN_MODULE_AGENDA',1,'1',NULL,0,NULL,'2016-07-30 15:42:32'),(5766,'MAIN_AGENDA_ACTIONAUTO_COMPANY_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5767,'MAIN_AGENDA_ACTIONAUTO_COMPANY_CREATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5768,'MAIN_AGENDA_ACTIONAUTO_PROPAL_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5769,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLOSE_SIGNED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5770,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLOSE_REFUSED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5771,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5772,'MAIN_AGENDA_ACTIONAUTO_PROPAL_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5773,'MAIN_AGENDA_ACTIONAUTO_ORDER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5774,'MAIN_AGENDA_ACTIONAUTO_ORDER_CLOSE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5775,'MAIN_AGENDA_ACTIONAUTO_ORDER_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5776,'MAIN_AGENDA_ACTIONAUTO_ORDER_CANCEL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5777,'MAIN_AGENDA_ACTIONAUTO_ORDER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5778,'MAIN_AGENDA_ACTIONAUTO_BILL_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5779,'MAIN_AGENDA_ACTIONAUTO_BILL_PAYED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5780,'MAIN_AGENDA_ACTIONAUTO_BILL_CANCEL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5781,'MAIN_AGENDA_ACTIONAUTO_BILL_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5782,'MAIN_AGENDA_ACTIONAUTO_BILL_UNVALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5783,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5784,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_APPROVE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5785,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_SUBMIT',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5786,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_RECEIVE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5787,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_REFUSE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5788,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5789,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5790,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5791,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_UNVALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5792,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_PAYED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5793,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5794,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_CANCELED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5795,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5796,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5797,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5798,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_CLASSIFY_UNBILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5799,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_REOPEN',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5800,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5801,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5802,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5803,'MAIN_AGENDA_ACTIONAUTO_MEMBER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5804,'MAIN_AGENDA_ACTIONAUTO_MEMBER_SUBSCRIPTION',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5805,'MAIN_AGENDA_ACTIONAUTO_MEMBER_RESILIATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5806,'MAIN_AGENDA_ACTIONAUTO_MEMBER_MODIFY',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5807,'MAIN_AGENDA_ACTIONAUTO_MEMBER_DELETE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5808,'MARGIN_TYPE',1,'costprice','chaine',0,'','2016-07-30 16:32:18'),(5809,'DISPLAY_MARGIN_RATES',1,'1','chaine',0,'','2016-07-30 16:32:20'); /*!40000 ALTER TABLE `llx_const` ENABLE KEYS */; UNLOCK TABLES; From 04e814d1a6cc81be5a2a631cd026608156e9b6c8 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 30 Jul 2016 20:51:22 +0200 Subject: [PATCH 181/476] Update demo --- htdocs/public/demo/index.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/htdocs/public/demo/index.php b/htdocs/public/demo/index.php index 4abf2754f77..299ebed5369 100644 --- a/htdocs/public/demo/index.php +++ b/htdocs/public/demo/index.php @@ -84,15 +84,15 @@ if (empty($reshook)) // Visible $alwayscheckedmodules=array('barcode','bookmark','categorie','externalrss','fckeditor','geoipmaxmind','gravatar','memcached','syslog','user','webservices'); // Technical module we always want - $alwaysuncheckedmodules=array('dynamicprices','loan','multicurrency','paybox','paypal','google','printing','resource','scanner','workflow'); // Module we never want + $alwaysuncheckedmodules=array('dynamicprices','loan','multicurrency','paybox','paypal','google','printing','scanner','workflow'); // Module we never want // Not visible - $alwayshiddencheckedmodules=array('accounting','barcode','bookmark','clicktodial','comptabilite','document','domain','externalrss','externalsite','fckeditor','geoipmaxmind','gravatar','label','ldap', + $alwayshiddencheckedmodules=array('accounting','api','barcode','bookmark','clicktodial','comptabilite','document','domain','externalrss','externalsite','fckeditor','geoipmaxmind','gravatar','label','ldap', 'mailmanspip','notification','oauth','syslog','user','webservices', // Extended modules 'memcached','numberwords','zipautofillfr'); - $alwayshiddenuncheckedmodules=array('ftp','webservicesclient','api','websites', + $alwayshiddenuncheckedmodules=array('ftp','webservicesclient','websites', // Extended modules - 'awstats','bittorrent','bootstrap','cabinetmed','cmcic','concatpdf','customfield','dolicloud','filemanager','lightbox','mantis','monitoring','moretemplates','multicompany','nltechno','numberingpack','openstreetmap', + 'awstats','bittorrent','bootstrap','cabinetmed','cmcic','concatpdf','customfield','depenses','dolicloud','filemanager','lightbox','mantis','monitoring','moretemplates','multicompany','nltechno','numberingpack','openstreetmap', 'ovh','phenix','phpsysinfo','pibarcode','postnuke','selectbank','skincoloreditor','submiteverywhere','survey','thomsonphonebook','topten','tvacerfa','voyage','webcalendar','webmail'); } From 8ada144f6ed24cc5255a0a4fb4c226e3420a9705 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 30 Jul 2016 20:53:00 +0200 Subject: [PATCH 182/476] Fix demo --- htdocs/public/demo/index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/public/demo/index.php b/htdocs/public/demo/index.php index 299ebed5369..27a45096e29 100644 --- a/htdocs/public/demo/index.php +++ b/htdocs/public/demo/index.php @@ -92,7 +92,7 @@ if (empty($reshook)) 'memcached','numberwords','zipautofillfr'); $alwayshiddenuncheckedmodules=array('ftp','webservicesclient','websites', // Extended modules - 'awstats','bittorrent','bootstrap','cabinetmed','cmcic','concatpdf','customfield','depenses','dolicloud','filemanager','lightbox','mantis','monitoring','moretemplates','multicompany','nltechno','numberingpack','openstreetmap', + 'awstats','bittorrent','bootstrap','cabinetmed','cmcic','concatpdf','customfield','deplacements','dolicloud','filemanager','lightbox','mantis','monitoring','moretemplates','multicompany','nltechno','numberingpack','openstreetmap', 'ovh','phenix','phpsysinfo','pibarcode','postnuke','selectbank','skincoloreditor','submiteverywhere','survey','thomsonphonebook','topten','tvacerfa','voyage','webcalendar','webmail'); } From b165a31c0d4df94abe6e5c0a0419df361f09ea29 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 30 Jul 2016 20:55:20 +0200 Subject: [PATCH 183/476] Fix old module to disable --- htdocs/public/demo/index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/public/demo/index.php b/htdocs/public/demo/index.php index 27a45096e29..85d61bb52e5 100644 --- a/htdocs/public/demo/index.php +++ b/htdocs/public/demo/index.php @@ -92,7 +92,7 @@ if (empty($reshook)) 'memcached','numberwords','zipautofillfr'); $alwayshiddenuncheckedmodules=array('ftp','webservicesclient','websites', // Extended modules - 'awstats','bittorrent','bootstrap','cabinetmed','cmcic','concatpdf','customfield','deplacements','dolicloud','filemanager','lightbox','mantis','monitoring','moretemplates','multicompany','nltechno','numberingpack','openstreetmap', + 'awstats','bittorrent','bootstrap','cabinetmed','cmcic','concatpdf','customfield','deplacement','dolicloud','filemanager','lightbox','mantis','monitoring','moretemplates','multicompany','nltechno','numberingpack','openstreetmap', 'ovh','phenix','phpsysinfo','pibarcode','postnuke','selectbank','skincoloreditor','submiteverywhere','survey','thomsonphonebook','topten','tvacerfa','voyage','webcalendar','webmail'); } From 44b02f1d6c64630c662fef2e48e5d4ff26a9bf50 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 30 Jul 2016 20:59:06 +0200 Subject: [PATCH 184/476] Hide module cron --- htdocs/public/demo/index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/public/demo/index.php b/htdocs/public/demo/index.php index 85d61bb52e5..1dd8fc461e0 100644 --- a/htdocs/public/demo/index.php +++ b/htdocs/public/demo/index.php @@ -86,7 +86,7 @@ if (empty($reshook)) $alwayscheckedmodules=array('barcode','bookmark','categorie','externalrss','fckeditor','geoipmaxmind','gravatar','memcached','syslog','user','webservices'); // Technical module we always want $alwaysuncheckedmodules=array('dynamicprices','loan','multicurrency','paybox','paypal','google','printing','scanner','workflow'); // Module we never want // Not visible - $alwayshiddencheckedmodules=array('accounting','api','barcode','bookmark','clicktodial','comptabilite','document','domain','externalrss','externalsite','fckeditor','geoipmaxmind','gravatar','label','ldap', + $alwayshiddencheckedmodules=array('accounting','api','barcode','bookmark','clicktodial','comptabilite','cron','document','domain','externalrss','externalsite','fckeditor','geoipmaxmind','gravatar','label','ldap', 'mailmanspip','notification','oauth','syslog','user','webservices', // Extended modules 'memcached','numberwords','zipautofillfr'); From 0414f09e487ef6451e5df4be32987890a171b865 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 30 Jul 2016 21:09:30 +0200 Subject: [PATCH 185/476] Fix permissions --- htdocs/core/modules/modOpenSurvey.class.php | 4 ++-- htdocs/core/modules/modResource.class.php | 2 +- htdocs/langs/en_US/admin.lang | 4 ++++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/htdocs/core/modules/modOpenSurvey.class.php b/htdocs/core/modules/modOpenSurvey.class.php index 5d5b327deaf..02cf9138a1f 100644 --- a/htdocs/core/modules/modOpenSurvey.class.php +++ b/htdocs/core/modules/modOpenSurvey.class.php @@ -145,7 +145,7 @@ class modOpenSurvey extends DolibarrModules 'langs'=>'opensurvey', 'position'=>200, 'enabled'=>'$conf->opensurvey->enabled', // Define condition to show or hide menu entry. Use '$conf->NewsSubmitter->enabled' if entry must be visible if module is enabled. - 'perms'=>'', + 'perms'=>'$user->rights->opensurvey->read', 'target'=>'', 'user'=>0); $r++; @@ -173,7 +173,7 @@ class modOpenSurvey extends DolibarrModules 'langs'=>'opensurvey', 'position'=>220, 'enabled'=>'$conf->opensurvey->enabled', // Define condition to show or hide menu entry. Use '$conf->NewsSubmitter->enabled' if entry must be visible if module is enabled. - 'perms'=>'', + 'perms'=>'$user->rights->opensurvey->read', 'target'=>'', 'user'=>0); $r++; diff --git a/htdocs/core/modules/modResource.class.php b/htdocs/core/modules/modResource.class.php index 90ff3280fee..83476270bc5 100644 --- a/htdocs/core/modules/modResource.class.php +++ b/htdocs/core/modules/modResource.class.php @@ -190,7 +190,7 @@ class modResource extends DolibarrModules $r++; $this->rights[$r][0] = 63004; - $this->rights[$r][1] = 'Link resources'; + $this->rights[$r][1] = 'Link resources to agenda events'; $this->rights[$r][3] = 0; $this->rights[$r][4] = 'link'; $r++; diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 76778ae7375..236dbe82a8a 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -781,6 +781,10 @@ Permission55002=Create/modify polls Permission59001=Read commercial margins Permission59002=Define commercial margins Permission59003=Read every user margin +Permission63001=Read resources +Permission63002=Create/modify resources +Permission63003=Delete resources +Permission63004=Link resources to agenda events DictionaryCompanyType=Types of thirdparties DictionaryCompanyJuridicalType=Legal forms of thirdparties DictionaryProspectLevel=Prospect potential level From e3df4b81f86fe1e607f56330790fac8f4cb905b3 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 30 Jul 2016 21:13:16 +0200 Subject: [PATCH 186/476] Update demo 4.0 --- dev/initdemo/mysqldump_dolibarr_4.0.0.sql | 32 +++++++++++------------ 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/dev/initdemo/mysqldump_dolibarr_4.0.0.sql b/dev/initdemo/mysqldump_dolibarr_4.0.0.sql index 18e560c6f00..b23c709cbd2 100644 --- a/dev/initdemo/mysqldump_dolibarr_4.0.0.sql +++ b/dev/initdemo/mysqldump_dolibarr_4.0.0.sql @@ -780,7 +780,7 @@ CREATE TABLE `llx_boxes` ( KEY `idx_boxes_boxid` (`box_id`), KEY `idx_boxes_fk_user` (`fk_user`), CONSTRAINT `fk_boxes_box_id` FOREIGN KEY (`box_id`) REFERENCES `llx_boxes_def` (`rowid`) -) ENGINE=InnoDB AUTO_INCREMENT=502 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=1032 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -789,7 +789,7 @@ CREATE TABLE `llx_boxes` ( LOCK TABLES `llx_boxes` WRITE; /*!40000 ALTER TABLE `llx_boxes` DISABLE KEYS */; -INSERT INTO `llx_boxes` VALUES (253,2,323,0,'0',0,NULL,NULL),(304,2,324,0,'0',0,NULL,NULL),(305,2,325,0,'0',0,NULL,NULL),(306,2,326,0,'0',0,NULL,NULL),(307,2,327,0,'0',0,NULL,NULL),(308,2,328,0,'0',0,NULL,NULL),(309,2,329,0,'0',0,NULL,NULL),(310,2,330,0,'0',0,NULL,NULL),(311,2,331,0,'0',0,NULL,NULL),(312,2,332,0,'0',0,NULL,NULL),(313,2,333,0,'0',0,NULL,NULL),(314,1,347,0,'0',0,NULL,NULL),(315,1,348,0,'0',0,NULL,NULL),(316,1,349,0,'0',0,NULL,NULL),(317,1,350,0,'0',0,NULL,NULL),(344,1,374,0,'0',0,NULL,NULL),(347,1,377,0,'0',0,NULL,NULL),(348,1,378,0,'0',0,NULL,NULL),(349,1,379,0,'0',0,NULL,NULL),(354,1,384,0,'0',0,NULL,NULL),(355,1,385,0,'0',0,NULL,NULL),(356,1,386,0,'0',0,NULL,NULL),(357,1,387,0,'0',0,NULL,NULL),(358,1,388,0,'0',0,NULL,NULL),(359,1,389,0,'0',0,NULL,NULL),(360,1,390,0,'0',0,NULL,NULL),(361,1,391,0,'0',0,NULL,NULL),(362,1,392,0,'0',0,NULL,NULL),(363,1,393,0,'0',0,NULL,NULL),(366,1,396,0,'0',0,NULL,NULL),(387,1,403,0,'0',0,NULL,NULL),(392,1,409,0,'0',0,NULL,NULL),(393,1,410,0,'0',0,NULL,NULL),(394,1,411,0,'0',0,NULL,NULL),(395,1,412,0,'0',0,NULL,NULL),(396,1,413,0,'0',0,NULL,NULL),(397,1,414,0,'0',0,NULL,NULL),(398,1,415,0,'0',0,NULL,NULL),(399,1,416,0,'0',0,NULL,NULL),(400,1,417,0,'0',0,NULL,NULL),(401,1,418,0,'0',0,NULL,NULL),(492,1,386,0,'A01',12,NULL,NULL),(493,1,392,0,'A02',12,NULL,NULL),(494,1,412,0,'A03',12,NULL,NULL),(495,1,377,0,'A04',12,NULL,NULL),(496,1,387,0,'A05',12,NULL,NULL),(497,1,347,0,'A06',12,NULL,NULL),(498,1,396,0,'B01',12,NULL,NULL),(499,1,384,0,'B02',12,NULL,NULL),(500,1,385,0,'B03',12,NULL,NULL),(501,1,419,0,'0',0,NULL,NULL); +INSERT INTO `llx_boxes` VALUES (253,2,323,0,'0',0,NULL,NULL),(304,2,324,0,'0',0,NULL,NULL),(305,2,325,0,'0',0,NULL,NULL),(306,2,326,0,'0',0,NULL,NULL),(307,2,327,0,'0',0,NULL,NULL),(308,2,328,0,'0',0,NULL,NULL),(309,2,329,0,'0',0,NULL,NULL),(310,2,330,0,'0',0,NULL,NULL),(311,2,331,0,'0',0,NULL,NULL),(312,2,332,0,'0',0,NULL,NULL),(313,2,333,0,'0',0,NULL,NULL),(314,1,347,0,'0',0,NULL,NULL),(315,1,348,0,'0',0,NULL,NULL),(316,1,349,0,'0',0,NULL,NULL),(317,1,350,0,'0',0,NULL,NULL),(344,1,374,0,'0',0,NULL,NULL),(347,1,377,0,'0',0,NULL,NULL),(348,1,378,0,'0',0,NULL,NULL),(349,1,379,0,'0',0,NULL,NULL),(354,1,384,0,'0',0,NULL,NULL),(355,1,385,0,'0',0,NULL,NULL),(356,1,386,0,'0',0,NULL,NULL),(357,1,387,0,'0',0,NULL,NULL),(358,1,388,0,'0',0,NULL,NULL),(359,1,389,0,'0',0,NULL,NULL),(360,1,390,0,'0',0,NULL,NULL),(361,1,391,0,'0',0,NULL,NULL),(362,1,392,0,'0',0,NULL,NULL),(363,1,393,0,'0',0,NULL,NULL),(366,1,396,0,'0',0,NULL,NULL),(387,1,403,0,'0',0,NULL,NULL),(392,1,409,0,'0',0,NULL,NULL),(393,1,410,0,'0',0,NULL,NULL),(394,1,411,0,'0',0,NULL,NULL),(395,1,412,0,'0',0,NULL,NULL),(396,1,413,0,'0',0,NULL,NULL),(397,1,414,0,'0',0,NULL,NULL),(398,1,415,0,'0',0,NULL,NULL),(399,1,416,0,'0',0,NULL,NULL),(400,1,417,0,'0',0,NULL,NULL),(401,1,418,0,'0',0,NULL,NULL),(492,1,386,0,'A01',12,NULL,NULL),(493,1,392,0,'A02',12,NULL,NULL),(494,1,412,0,'A03',12,NULL,NULL),(495,1,377,0,'A04',12,NULL,NULL),(496,1,387,0,'A05',12,NULL,NULL),(497,1,347,0,'A06',12,NULL,NULL),(498,1,396,0,'B01',12,NULL,NULL),(499,1,384,0,'B02',12,NULL,NULL),(500,1,385,0,'B03',12,NULL,NULL),(501,1,419,0,'0',0,NULL,NULL),(1019,1,392,0,'A01',2,NULL,NULL),(1020,1,386,0,'A02',2,NULL,NULL),(1021,1,412,0,'A03',2,NULL,NULL),(1022,1,347,0,'A04',2,NULL,NULL),(1023,1,393,0,'A05',2,NULL,NULL),(1024,1,387,0,'A06',2,NULL,NULL),(1025,1,389,0,'A07',2,NULL,NULL),(1026,1,416,0,'A08',2,NULL,NULL),(1027,1,396,0,'B01',2,NULL,NULL),(1028,1,377,0,'B02',2,NULL,NULL),(1029,1,379,0,'B03',2,NULL,NULL),(1030,1,384,0,'B04',2,NULL,NULL),(1031,1,419,0,'B05',2,NULL,NULL); /*!40000 ALTER TABLE `llx_boxes` ENABLE KEYS */; UNLOCK TABLES; @@ -3049,7 +3049,7 @@ CREATE TABLE `llx_const` ( `tms` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`rowid`), UNIQUE KEY `uk_const` (`name`,`entity`) -) ENGINE=InnoDB AUTO_INCREMENT=5810 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=5813 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -3058,7 +3058,7 @@ CREATE TABLE `llx_const` ( LOCK TABLES `llx_const` WRITE; /*!40000 ALTER TABLE `llx_const` DISABLE KEYS */; -INSERT INTO `llx_const` VALUES (5,'SYSLOG_LEVEL',0,'7','chaine',0,'Level of debug info to show','2010-07-08 11:17:57'),(8,'MAIN_UPLOAD_DOC',0,'2048','chaine',0,'Max size for file upload (0 means no upload allowed)','2010-07-08 11:17:57'),(9,'MAIN_SEARCHFORM_SOCIETE',0,'1','yesno',0,'Show form for quick company search','2010-07-08 11:17:57'),(10,'MAIN_SEARCHFORM_CONTACT',0,'1','yesno',0,'Show form for quick contact search','2010-07-08 11:17:57'),(11,'MAIN_SEARCHFORM_PRODUITSERVICE',0,'1','yesno',0,'Show form for quick product search','2010-07-08 11:17:58'),(12,'MAIN_SEARCHFORM_ADHERENT',0,'1','yesno',0,'Show form for quick member search','2010-07-08 11:17:58'),(16,'MAIN_SIZE_LISTE_LIMIT',0,'25','chaine',0,'Longueur maximum des listes','2010-07-08 11:17:58'),(17,'MAIN_SHOW_WORKBOARD',0,'1','yesno',0,'Affichage tableau de bord de travail Dolibarr','2010-07-08 11:17:58'),(29,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',1,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2010-07-08 11:17:58'),(33,'SOCIETE_NOLIST_COURRIER',0,'1','yesno',0,'Liste les fichiers du repertoire courrier','2010-07-08 11:17:58'),(36,'ADHERENT_MAIL_REQUIRED',1,'1','yesno',0,'EMail required to create a new member','2010-07-08 11:17:58'),(37,'ADHERENT_MAIL_FROM',1,'adherents@domain.com','chaine',0,'Sender EMail for automatic emails','2010-07-08 11:17:58'),(38,'ADHERENT_MAIL_RESIL',1,'Your subscription has been resiliated.\r\nWe hope to see you soon again','texte',0,'Mail resiliation','2010-07-08 11:17:58'),(39,'ADHERENT_MAIL_VALID',1,'Your subscription has been validated.\r\nThis is a remind of your personal information :\r\n\r\n%INFOS%\r\n\r\n','texte',0,'Mail de validation','2010-07-08 11:17:59'),(40,'ADHERENT_MAIL_COTIS',1,'Hello %PRENOM%,\r\nThanks for your subscription.\r\nThis email confirms that your subscription has been received and processed.\r\n\r\n','texte',0,'Mail de validation de cotisation','2010-07-08 11:17:59'),(41,'ADHERENT_MAIL_VALID_SUBJECT',1,'Your subscription has been validated','chaine',0,'Sujet du mail de validation','2010-07-08 11:17:59'),(42,'ADHERENT_MAIL_RESIL_SUBJECT',1,'Resiliating your subscription','chaine',0,'Sujet du mail de resiliation','2010-07-08 11:17:59'),(43,'ADHERENT_MAIL_COTIS_SUBJECT',1,'Receipt of your subscription','chaine',0,'Sujet du mail de validation de cotisation','2010-07-08 11:17:59'),(44,'MAILING_EMAIL_FROM',1,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2010-07-08 11:17:59'),(45,'ADHERENT_USE_MAILMAN',1,'0','yesno',0,'Utilisation de Mailman','2010-07-08 11:17:59'),(46,'ADHERENT_MAILMAN_UNSUB_URL',1,'http://lists.domain.com/cgi-bin/mailman/admin/%LISTE%/members?adminpw=%MAILMAN_ADMINPW%&user=%EMAIL%','chaine',0,'Url de desinscription aux listes mailman','2010-07-08 11:17:59'),(47,'ADHERENT_MAILMAN_URL',1,'http://lists.domain.com/cgi-bin/mailman/admin/%LISTE%/members?adminpw=%MAILMAN_ADMINPW%&send_welcome_msg_to_this_batch=1&subscribees=%EMAIL%','chaine',0,'Url pour les inscriptions mailman','2010-07-08 11:17:59'),(48,'ADHERENT_MAILMAN_LISTS',1,'test-test,test-test2','chaine',0,'Listes auxquelles inscrire les nouveaux adherents','2010-07-08 11:17:59'),(49,'ADHERENT_MAILMAN_ADMINPW',1,'','chaine',0,'Mot de passe Admin des liste mailman','2010-07-08 11:17:59'),(50,'ADHERENT_MAILMAN_SERVER',1,'lists.domain.com','chaine',0,'Serveur hebergeant les interfaces d Admin des listes mailman','2010-07-08 11:17:59'),(51,'ADHERENT_MAILMAN_LISTS_COTISANT',1,'','chaine',0,'Liste(s) auxquelles les nouveaux cotisants sont inscris automatiquement','2010-07-08 11:17:59'),(52,'ADHERENT_USE_SPIP',1,'0','yesno',0,'Utilisation de SPIP ?','2010-07-08 11:17:59'),(53,'ADHERENT_USE_SPIP_AUTO',1,'0','yesno',0,'Utilisation de SPIP automatiquement','2010-07-08 11:17:59'),(54,'ADHERENT_SPIP_USER',1,'user','chaine',0,'user spip','2010-07-08 11:17:59'),(55,'ADHERENT_SPIP_PASS',1,'pass','chaine',0,'Pass de connection','2010-07-08 11:17:59'),(56,'ADHERENT_SPIP_SERVEUR',1,'localhost','chaine',0,'serveur spip','2010-07-08 11:17:59'),(57,'ADHERENT_SPIP_DB',1,'spip','chaine',0,'db spip','2010-07-08 11:17:59'),(58,'ADHERENT_CARD_HEADER_TEXT',1,'%ANNEE%','chaine',0,'Texte imprime sur le haut de la carte adherent','2010-07-08 11:17:59'),(59,'ADHERENT_CARD_FOOTER_TEXT',1,'Association AZERTY','chaine',0,'Texte imprime sur le bas de la carte adherent','2010-07-08 11:17:59'),(61,'FCKEDITOR_ENABLE_USER',1,'1','yesno',0,'Activation fckeditor sur notes utilisateurs','2010-07-08 11:17:59'),(62,'FCKEDITOR_ENABLE_SOCIETE',1,'1','yesno',0,'Activation fckeditor sur notes societe','2010-07-08 11:17:59'),(63,'FCKEDITOR_ENABLE_PRODUCTDESC',1,'1','yesno',0,'Activation fckeditor sur notes produits','2010-07-08 11:17:59'),(64,'FCKEDITOR_ENABLE_MEMBER',1,'1','yesno',0,'Activation fckeditor sur notes adherent','2010-07-08 11:17:59'),(65,'FCKEDITOR_ENABLE_MAILING',1,'1','yesno',0,'Activation fckeditor sur emailing','2010-07-08 11:17:59'),(67,'DON_ADDON_MODEL',1,'html_cerfafr','chaine',0,'','2010-07-08 11:18:00'),(68,'PROPALE_ADDON',1,'mod_propale_marbre','chaine',0,'','2010-07-08 11:18:00'),(69,'PROPALE_ADDON_PDF',1,'azur','chaine',0,'','2010-07-08 11:18:00'),(70,'COMMANDE_ADDON',1,'mod_commande_marbre','chaine',0,'','2010-07-08 11:18:00'),(71,'COMMANDE_ADDON_PDF',1,'einstein','chaine',0,'','2010-07-08 11:18:00'),(72,'COMMANDE_SUPPLIER_ADDON',1,'mod_commande_fournisseur_muguet','chaine',0,'','2010-07-08 11:18:00'),(73,'COMMANDE_SUPPLIER_ADDON_PDF',1,'muscadet','chaine',0,'','2010-07-08 11:18:00'),(74,'EXPEDITION_ADDON',1,'enlevement','chaine',0,'','2010-07-08 11:18:00'),(76,'FICHEINTER_ADDON',1,'pacific','chaine',0,'','2010-07-08 11:18:00'),(77,'FICHEINTER_ADDON_PDF',1,'soleil','chaine',0,'','2010-07-08 11:18:00'),(79,'FACTURE_ADDON_PDF',1,'crabe','chaine',0,'','2010-07-08 11:18:00'),(80,'PROPALE_VALIDITY_DURATION',1,'15','chaine',0,'Durée de validitée des propales','2010-07-08 11:18:00'),(230,'COMPANY_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/thirdparties','chaine',0,NULL,'2010-07-08 11:26:20'),(238,'LIVRAISON_ADDON_PDF',1,'typhon','chaine',0,'Nom du gestionnaire de generation des commandes en PDF','2010-07-08 11:26:27'),(239,'LIVRAISON_ADDON_NUMBER',1,'mod_livraison_jade','chaine',0,'Nom du gestionnaire de numerotation des bons de livraison','2013-03-20 13:17:36'),(242,'MAIN_SUBMODULE_EXPEDITION',1,'1','chaine',0,'','2010-07-08 11:26:34'),(245,'FACTURE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/invoices','chaine',0,NULL,'2010-07-08 11:28:53'),(249,'DON_FORM',1,'fsfe.fr.php','chaine',0,'Nom du gestionnaire de formulaire de dons','2010-07-08 11:29:00'),(253,'ADHERENT_BANK_USE_AUTO',1,'','yesno',0,'Insertion automatique des cotisation dans le compte banquaire','2010-07-08 11:29:05'),(254,'ADHERENT_BANK_ACCOUNT',1,'','chaine',0,'ID du Compte banquaire utilise','2010-07-08 11:29:05'),(255,'ADHERENT_BANK_CATEGORIE',1,'','chaine',0,'ID de la categorie banquaire des cotisations','2010-07-08 11:29:05'),(256,'ADHERENT_ETIQUETTE_TYPE',1,'L7163','chaine',0,'Type d etiquette (pour impression de planche d etiquette)','2010-07-08 11:29:05'),(269,'PROJECT_ADDON_PDF',1,'baleine','chaine',0,'Nom du gestionnaire de generation des projets en PDF','2010-07-08 11:29:33'),(270,'PROJECT_ADDON',1,'mod_project_simple','chaine',0,'Nom du gestionnaire de numerotation des projets','2010-07-08 11:29:33'),(368,'STOCK_USERSTOCK_AUTOCREATE',1,'1','chaine',0,'','2010-07-08 22:44:59'),(369,'EXPEDITION_ADDON_PDF',1,'merou','chaine',0,'','2010-07-08 22:58:07'),(370,'MAIN_SUBMODULE_LIVRAISON',1,'1','chaine',0,'','2010-07-08 23:00:29'),(377,'FACTURE_ADDON',1,'mod_facture_terre','chaine',0,'','2010-07-08 23:08:12'),(380,'ADHERENT_CARD_TEXT',1,'%TYPE% n° %ID%\r\n%PRENOM% %NOM%\r\n<%EMAIL%>\r\n%ADRESSE%\r\n%CP% %VILLE%\r\n%PAYS%','',0,'Texte imprime sur la carte adherent','2010-07-08 23:14:46'),(381,'ADHERENT_CARD_TEXT_RIGHT',1,'aaa','',0,'','2010-07-08 23:14:55'),(384,'PRODUIT_SOUSPRODUITS',1,'1','chaine',0,'','2010-07-08 23:22:12'),(385,'PRODUIT_USE_SEARCH_TO_SELECT',1,'1','chaine',0,'','2010-07-08 23:22:19'),(386,'STOCK_CALCULATE_ON_SHIPMENT',1,'1','chaine',0,'','2010-07-08 23:23:21'),(387,'STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER',1,'1','chaine',0,'','2010-07-08 23:23:26'),(392,'MAIN_AGENDA_XCAL_EXPORTKEY',1,'dolibarr','chaine',0,'','2010-07-08 23:27:50'),(393,'MAIN_AGENDA_EXPORT_PAST_DELAY',1,'100','chaine',0,'','2010-07-08 23:27:50'),(610,'CASHDESK_ID_THIRDPARTY',1,'7','chaine',0,'','2010-07-11 17:08:18'),(611,'CASHDESK_ID_BANKACCOUNT_CASH',1,'3','chaine',0,'','2010-07-11 17:08:18'),(612,'CASHDESK_ID_BANKACCOUNT_CHEQUE',1,'1','chaine',0,'','2010-07-11 17:08:18'),(613,'CASHDESK_ID_BANKACCOUNT_CB',1,'1','chaine',0,'','2010-07-11 17:08:18'),(614,'CASHDESK_ID_WAREHOUSE',1,'2','chaine',0,'','2010-07-11 17:08:18'),(660,'LDAP_USER_DN',1,'ou=users,dc=my-domain,dc=com','chaine',0,NULL,'2010-07-18 10:25:27'),(661,'LDAP_GROUP_DN',1,'ou=groups,dc=my-domain,dc=com','chaine',0,NULL,'2010-07-18 10:25:27'),(662,'LDAP_FILTER_CONNECTION',1,'&(objectClass=user)(objectCategory=person)','chaine',0,NULL,'2010-07-18 10:25:27'),(663,'LDAP_FIELD_LOGIN',1,'uid','chaine',0,NULL,'2010-07-18 10:25:27'),(664,'LDAP_FIELD_FULLNAME',1,'cn','chaine',0,NULL,'2010-07-18 10:25:27'),(665,'LDAP_FIELD_NAME',1,'sn','chaine',0,NULL,'2010-07-18 10:25:27'),(666,'LDAP_FIELD_FIRSTNAME',1,'givenname','chaine',0,NULL,'2010-07-18 10:25:27'),(667,'LDAP_FIELD_MAIL',1,'mail','chaine',0,NULL,'2010-07-18 10:25:27'),(668,'LDAP_FIELD_PHONE',1,'telephonenumber','chaine',0,NULL,'2010-07-18 10:25:27'),(669,'LDAP_FIELD_FAX',1,'facsimiletelephonenumber','chaine',0,NULL,'2010-07-18 10:25:27'),(670,'LDAP_FIELD_MOBILE',1,'mobile','chaine',0,NULL,'2010-07-18 10:25:27'),(671,'LDAP_SERVER_TYPE',1,'openldap','chaine',0,'','2010-07-18 10:25:46'),(672,'LDAP_SERVER_PROTOCOLVERSION',1,'3','chaine',0,'','2010-07-18 10:25:47'),(673,'LDAP_SERVER_HOST',1,'localhost','chaine',0,'','2010-07-18 10:25:47'),(674,'LDAP_SERVER_PORT',1,'389','chaine',0,'','2010-07-18 10:25:47'),(675,'LDAP_SERVER_USE_TLS',1,'0','chaine',0,'','2010-07-18 10:25:47'),(676,'LDAP_SYNCHRO_ACTIVE',1,'dolibarr2ldap','chaine',0,'','2010-07-18 10:25:47'),(677,'LDAP_CONTACT_ACTIVE',1,'1','chaine',0,'','2010-07-18 10:25:47'),(678,'LDAP_MEMBER_ACTIVE',1,'1','chaine',0,'','2010-07-18 10:25:47'),(974,'MAIN_MODULE_WORKFLOW_TRIGGERS',1,'1','chaine',0,NULL,'2011-07-18 18:02:20'),(975,'WORKFLOW_PROPAL_AUTOCREATE_ORDER',1,'1','chaine',0,'','2011-07-18 18:02:24'),(979,'PRELEVEMENT_USER',1,'1','chaine',0,'','2011-07-18 18:05:50'),(980,'PRELEVEMENT_NUMERO_NATIONAL_EMETTEUR',1,'1234567','chaine',0,'','2011-07-18 18:05:50'),(981,'PRELEVEMENT_ID_BANKACCOUNT',1,'1','chaine',0,'','2011-07-18 18:05:50'),(983,'FACTURE_RIB_NUMBER',1,'1','chaine',0,'','2011-07-18 18:35:14'),(984,'FACTURE_CHQ_NUMBER',1,'1','chaine',0,'','2011-07-18 18:35:14'),(1016,'GOOGLE_DUPLICATE_INTO_GCAL',1,'1','chaine',0,'','2011-07-18 21:40:20'),(1152,'SOCIETE_CODECLIENT_ADDON',1,'mod_codeclient_monkey','chaine',0,'','2011-07-29 20:50:02'),(1231,'MAIN_UPLOAD_DOC',1,'2048','chaine',0,'','2011-07-29 21:04:00'),(1234,'MAIN_UMASK',1,'0664','chaine',0,'','2011-07-29 21:04:11'),(1240,'MAIN_LOGEVENTS_USER_LOGIN',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1241,'MAIN_LOGEVENTS_USER_LOGIN_FAILED',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1242,'MAIN_LOGEVENTS_USER_LOGOUT',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1243,'MAIN_LOGEVENTS_USER_CREATE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1244,'MAIN_LOGEVENTS_USER_MODIFY',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1245,'MAIN_LOGEVENTS_USER_NEW_PASSWORD',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1246,'MAIN_LOGEVENTS_USER_ENABLEDISABLE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1247,'MAIN_LOGEVENTS_USER_DELETE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1248,'MAIN_LOGEVENTS_GROUP_CREATE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1249,'MAIN_LOGEVENTS_GROUP_MODIFY',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1250,'MAIN_LOGEVENTS_GROUP_DELETE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1251,'MAIN_BOXES_MAXLINES',1,'5','',0,'','2011-07-29 21:05:42'),(1482,'EXPEDITION_ADDON_NUMBER',1,'mod_expedition_safor','chaine',0,'Nom du gestionnaire de numerotation des expeditions','2011-08-05 17:53:11'),(1490,'CONTRACT_ADDON',1,'mod_contract_serpis','chaine',0,'Nom du gestionnaire de numerotation des contrats','2011-08-05 18:11:58'),(1677,'COMMANDE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/orders','chaine',0,NULL,'2012-12-08 13:11:02'),(1698,'PRODUCT_CODEPRODUCT_ADDON',1,'mod_codeproduct_leopard','yesno',0,'Module to control product codes','2012-12-08 13:11:25'),(1719,'ACCOUNTING_USEDICTTOEDIT',1,'1','chaine',1,'','2012-12-08 13:15:00'),(1724,'PROPALE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/proposals','chaine',0,NULL,'2012-12-08 13:17:14'),(1730,'OPENSTREETMAP_ENABLE_MAPS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1731,'OPENSTREETMAP_ENABLE_MAPS_CONTACTS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1732,'OPENSTREETMAP_ENABLE_MAPS_MEMBERS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1733,'OPENSTREETMAP_MAPS_ZOOM_LEVEL',1,'15','chaine',0,'','2012-12-08 13:22:47'),(1737,'MAIN_INFO_SOCIETE_COUNTRY',2,'1:FR:France','chaine',0,'','2013-02-26 21:56:28'),(1738,'MAIN_INFO_SOCIETE_NOM',2,'aaa','chaine',0,'','2012-12-08 14:08:14'),(1739,'MAIN_INFO_SOCIETE_STATE',2,'0','chaine',0,'','2013-02-27 14:20:27'),(1740,'MAIN_MONNAIE',2,'EUR','chaine',0,'','2012-12-08 14:08:14'),(1741,'MAIN_LANG_DEFAULT',2,'auto','chaine',0,'','2012-12-08 14:08:14'),(1742,'MAIN_MAIL_EMAIL_FROM',2,'dolibarr-robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2012-12-08 14:08:14'),(1743,'MAIN_MENU_STANDARD',2,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs internes','2013-02-11 19:43:54'),(1744,'MAIN_MENUFRONT_STANDARD',2,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs externes','2013-02-11 19:43:54'),(1745,'MAIN_MENU_SMARTPHONE',2,'iphone_backoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs internes','2012-12-08 14:08:14'),(1746,'MAIN_MENUFRONT_SMARTPHONE',2,'iphone_frontoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs externes','2012-12-08 14:08:14'),(1747,'MAIN_THEME',2,'eldy','chaine',0,'Default theme','2012-12-08 14:08:14'),(1748,'MAIN_DELAY_ACTIONS_TODO',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur actions planifiées non réalisées','2012-12-08 14:08:14'),(1749,'MAIN_DELAY_ORDERS_TO_PROCESS',2,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes clients non traitées','2012-12-08 14:08:14'),(1750,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes fournisseurs non traitées','2012-12-08 14:08:14'),(1751,'MAIN_DELAY_PROPALS_TO_CLOSE',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales à cloturer','2012-12-08 14:08:14'),(1752,'MAIN_DELAY_PROPALS_TO_BILL',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales non facturées','2012-12-08 14:08:14'),(1753,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures client impayées','2012-12-08 14:08:14'),(1754,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',2,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures fournisseur impayées','2012-12-08 14:08:14'),(1755,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',2,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2012-12-08 14:08:14'),(1756,'MAIN_DELAY_RUNNING_SERVICES',2,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services expirés','2012-12-08 14:08:14'),(1757,'MAIN_DELAY_MEMBERS',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur cotisations adhérent en retard','2012-12-08 14:08:14'),(1758,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',2,'62','chaine',0,'Tolérance de retard avant alerte (en jours) sur rapprochements bancaires à faire','2012-12-08 14:08:14'),(1759,'MAILING_EMAIL_FROM',2,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2012-12-08 14:08:14'),(1760,'MAIN_INFO_SOCIETE_COUNTRY',3,'1:FR:France','chaine',0,'','2013-02-26 21:56:28'),(1761,'MAIN_INFO_SOCIETE_NOM',3,'bbb','chaine',0,'','2012-12-08 14:08:20'),(1762,'MAIN_INFO_SOCIETE_STATE',3,'0','chaine',0,'','2013-02-27 14:20:27'),(1763,'MAIN_MONNAIE',3,'EUR','chaine',0,'','2012-12-08 14:08:20'),(1764,'MAIN_LANG_DEFAULT',3,'auto','chaine',0,'','2012-12-08 14:08:20'),(1765,'MAIN_MAIL_EMAIL_FROM',3,'dolibarr-robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2012-12-08 14:08:20'),(1766,'MAIN_MENU_STANDARD',3,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs internes','2013-02-11 19:43:54'),(1767,'MAIN_MENUFRONT_STANDARD',3,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs externes','2013-02-11 19:43:54'),(1768,'MAIN_MENU_SMARTPHONE',3,'iphone_backoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs internes','2012-12-08 14:08:20'),(1769,'MAIN_MENUFRONT_SMARTPHONE',3,'iphone_frontoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs externes','2012-12-08 14:08:20'),(1770,'MAIN_THEME',3,'eldy','chaine',0,'Default theme','2012-12-08 14:08:20'),(1771,'MAIN_DELAY_ACTIONS_TODO',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur actions planifiées non réalisées','2012-12-08 14:08:20'),(1772,'MAIN_DELAY_ORDERS_TO_PROCESS',3,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes clients non traitées','2012-12-08 14:08:20'),(1773,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes fournisseurs non traitées','2012-12-08 14:08:20'),(1774,'MAIN_DELAY_PROPALS_TO_CLOSE',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales à cloturer','2012-12-08 14:08:20'),(1775,'MAIN_DELAY_PROPALS_TO_BILL',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales non facturées','2012-12-08 14:08:20'),(1776,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures client impayées','2012-12-08 14:08:20'),(1777,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',3,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures fournisseur impayées','2012-12-08 14:08:20'),(1778,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',3,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2012-12-08 14:08:20'),(1779,'MAIN_DELAY_RUNNING_SERVICES',3,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services expirés','2012-12-08 14:08:20'),(1780,'MAIN_DELAY_MEMBERS',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur cotisations adhérent en retard','2012-12-08 14:08:20'),(1781,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',3,'62','chaine',0,'Tolérance de retard avant alerte (en jours) sur rapprochements bancaires à faire','2012-12-08 14:08:20'),(1782,'MAILING_EMAIL_FROM',3,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2012-12-08 14:08:20'),(1803,'SYSLOG_FILE',1,'DOL_DATA_ROOT/dolibarr.log','chaine',0,'','2012-12-08 14:15:08'),(1804,'SYSLOG_HANDLERS',1,'[\"mod_syslog_file\"]','chaine',0,'','2012-12-08 14:15:08'),(1805,'MAIN_MODULE_SKINCOLOREDITOR',3,'1',NULL,0,NULL,'2012-12-08 14:35:40'),(1806,'MAIN_MODULE_SKINCOLOREDITOR_TABS_0',3,'user:+tabskincoloreditors:ColorEditor:skincoloreditor@skincoloreditor:/skincoloreditor/usercolors.php?id=__ID__','chaine',0,NULL,'2012-12-08 14:35:40'),(1922,'PAYPAL_API_SANDBOX',1,'1','chaine',0,'','2012-12-12 12:11:05'),(1923,'PAYPAL_API_USER',1,'seller_1355312017_biz_api1.nltechno.com','chaine',0,'','2012-12-12 12:11:05'),(1924,'PAYPAL_API_PASSWORD',1,'1355312040','chaine',0,'','2012-12-12 12:11:05'),(1925,'PAYPAL_API_SIGNATURE',1,'AXqqdsWBzvfn0q5iNmbuiDv1y.3EAXIMWyl4C5KvDReR9HDwwAd6dQ4Q','chaine',0,'','2012-12-12 12:11:05'),(1926,'PAYPAL_API_INTEGRAL_OR_PAYPALONLY',1,'integral','chaine',0,'','2012-12-12 12:11:05'),(1927,'PAYPAL_SECURITY_TOKEN',1,'50c82fab36bb3b6aa83e2a50691803b2','chaine',0,'','2012-12-12 12:11:05'),(1928,'PAYPAL_SECURITY_TOKEN_UNIQUE',1,'0','chaine',0,'','2012-12-12 12:11:05'),(1929,'PAYPAL_ADD_PAYMENT_URL',1,'1','chaine',0,'','2012-12-12 12:11:05'),(1980,'MAIN_PDF_FORMAT',1,'EUA4','chaine',0,'','2012-12-12 19:58:05'),(1981,'MAIN_PROFID1_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1982,'MAIN_PROFID2_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1983,'MAIN_PROFID3_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1984,'MAIN_PROFID4_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1985,'MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1990,'MAIN_SMS_SENDMODE',1,'ovh','chaine',0,'This is to enable OVH SMS engine','2012-12-17 21:19:01'),(2040,'MAIN_MAIL_SMTP_PORT',1,'465','chaine',0,'','2015-07-19 13:41:06'),(2041,'MAIN_MAIL_SMTP_SERVER',1,'smtp.mail.com','chaine',0,'','2015-07-19 13:41:06'),(2044,'MAIN_MAIL_EMAIL_TLS',1,'1','chaine',0,'','2015-07-19 13:41:06'),(2251,'FCKEDITOR_TEST',1,'Test
\r\n\"\"fdfs','chaine',0,'','2012-12-19 19:12:24'),(2293,'SYSTEMTOOLS_MYSQLDUMP',1,'/usr/bin/mysqldump','chaine',0,'','2012-12-27 02:02:00'),(2835,'MAIN_USE_CONNECT_TIMEOUT',1,'10','chaine',0,'','2013-01-16 19:28:50'),(2836,'MAIN_USE_RESPONSE_TIMEOUT',1,'30','chaine',0,'','2013-01-16 19:28:50'),(2837,'MAIN_PROXY_USE',1,'0','chaine',0,'','2013-01-16 19:28:50'),(2838,'MAIN_PROXY_HOST',1,'localhost','chaine',0,'','2013-01-16 19:28:50'),(2839,'MAIN_PROXY_PORT',1,'8080','chaine',0,'','2013-01-16 19:28:50'),(2840,'MAIN_PROXY_USER',1,'aaa','chaine',0,'','2013-01-16 19:28:50'),(2841,'MAIN_PROXY_PASS',1,'bbb','chaine',0,'','2013-01-16 19:28:50'),(2848,'OVHSMS_NICK',1,'BN196-OVH','chaine',0,'','2013-01-16 19:32:36'),(2849,'OVHSMS_PASS',1,'bigone-10','chaine',0,'','2013-01-16 19:32:36'),(2850,'OVHSMS_SOAPURL',1,'https://www.ovh.com/soapi/soapi-re-1.55.wsdl','chaine',0,'','2013-01-16 19:32:36'),(2854,'THEME_ELDY_RGB',1,'bfbf00','chaine',0,'','2013-01-18 10:02:53'),(2855,'THEME_ELDY_ENABLE_PERSONALIZED',1,'0','chaine',0,'','2013-01-18 10:02:55'),(2858,'MAIN_SESSION_TIMEOUT',1,'2000','chaine',0,'','2013-01-19 17:01:53'),(2862,'TICKET_ADDON',1,'mod_ticket_avenc','chaine',0,'Nom du gestionnaire de numerotation des tickets','2013-01-19 17:16:10'),(2867,'FACSIM_ADDON',1,'mod_facsim_alcoy','chaine',0,'','2013-01-19 17:16:25'),(2868,'POS_SERVICES',1,'0','chaine',0,'','2013-01-19 17:16:51'),(2869,'POS_USE_TICKETS',1,'1','chaine',0,'','2013-01-19 17:16:51'),(2870,'POS_MAX_TTC',1,'100','chaine',0,'','2013-01-19 17:16:51'),(3190,'MAIN_MODULE_HOLIDAY',2,'1',NULL,0,NULL,'2013-02-01 08:52:34'),(3191,'MAIN_MODULE_HOLIDAY_TABS_0',2,'user:+paidholidays:CPTitreMenu:holiday:$user->rights->holiday->write:/holiday/index.php?mainmenu=holiday&id=__ID__','chaine',0,NULL,'2013-02-01 08:52:34'),(3195,'INVOICE_SUPPLIER_ADDON_PDF',1,'canelle','chaine',0,'','2013-02-10 19:50:27'),(3199,'MAIN_FORCE_RELOAD_PAGE',1,'1','chaine',0,NULL,'2013-02-12 16:22:55'),(3217,'MAIN_PDF_TITLE_BACKGROUND_COLOR',1,'240,240,240','chaine',1,'','2013-02-13 15:18:02'),(3223,'OVH_THIRDPARTY_IMPORT',1,'2','chaine',0,'','2013-02-13 16:20:18'),(3241,'COMPANY_USE_SEARCH_TO_SELECT',1,'2','chaine',0,'','2013-02-17 14:33:39'),(3409,'AGENDA_USE_EVENT_TYPE',1,'1','chaine',0,'','2013-02-27 18:12:24'),(3886,'MAIN_REMOVE_INSTALL_WARNING',1,'1','chaine',1,'','2013-03-02 18:32:50'),(4013,'MAIN_DELAY_ACTIONS_TODO',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4014,'MAIN_DELAY_PROPALS_TO_CLOSE',1,'31','chaine',0,'','2013-03-06 08:59:12'),(4015,'MAIN_DELAY_PROPALS_TO_BILL',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4016,'MAIN_DELAY_ORDERS_TO_PROCESS',1,'2','chaine',0,'','2013-03-06 08:59:12'),(4017,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',1,'31','chaine',0,'','2013-03-06 08:59:12'),(4018,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4019,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',1,'2','chaine',0,'','2013-03-06 08:59:12'),(4020,'MAIN_DELAY_RUNNING_SERVICES',1,'-15','chaine',0,'','2013-03-06 08:59:12'),(4021,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',1,'62','chaine',0,'','2013-03-06 08:59:13'),(4022,'MAIN_DELAY_MEMBERS',1,'31','chaine',0,'','2013-03-06 08:59:13'),(4023,'MAIN_DISABLE_METEO',1,'0','chaine',0,'','2013-03-06 08:59:13'),(4044,'ADHERENT_VAT_FOR_SUBSCRIPTIONS',1,'0','',0,'','2013-03-06 16:06:38'),(4047,'ADHERENT_BANK_USE',1,'bankviainvoice','',0,'','2013-03-06 16:12:30'),(4049,'PHPSANE_SCANIMAGE',1,'/usr/bin/scanimage','chaine',0,'','2013-03-06 21:54:13'),(4050,'PHPSANE_PNMTOJPEG',1,'/usr/bin/pnmtojpeg','chaine',0,'','2013-03-06 21:54:13'),(4051,'PHPSANE_PNMTOTIFF',1,'/usr/bin/pnmtotiff','chaine',0,'','2013-03-06 21:54:13'),(4052,'PHPSANE_OCR',1,'/usr/bin/gocr','chaine',0,'','2013-03-06 21:54:13'),(4548,'ECM_AUTO_TREE_ENABLED',1,'1','chaine',0,'','2013-03-10 15:57:21'),(4579,'MAIN_MODULE_AGENDA',2,'1',NULL,0,NULL,'2013-03-13 15:29:19'),(4580,'MAIN_AGENDA_ACTIONAUTO_COMPANY_CREATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4581,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4582,'MAIN_AGENDA_ACTIONAUTO_PROPAL_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4583,'MAIN_AGENDA_ACTIONAUTO_PROPAL_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4584,'MAIN_AGENDA_ACTIONAUTO_ORDER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4585,'MAIN_AGENDA_ACTIONAUTO_ORDER_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4586,'MAIN_AGENDA_ACTIONAUTO_BILL_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4587,'MAIN_AGENDA_ACTIONAUTO_BILL_PAYED',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4588,'MAIN_AGENDA_ACTIONAUTO_BILL_CANCEL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4589,'MAIN_AGENDA_ACTIONAUTO_BILL_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4590,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4591,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4592,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4593,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4594,'MAIN_AGENDA_ACTIONAUTO_BILL_UNVALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4595,'MAIN_MODULE_GOOGLE',2,'1',NULL,0,NULL,'2013-03-13 15:29:47'),(4596,'MAIN_MODULE_GOOGLE_TABS_0',2,'agenda:+gcal:MenuAgendaGoogle:google@google:$conf->google->enabled && $conf->global->GOOGLE_ENABLE_AGENDA:/google/index.php','chaine',0,NULL,'2013-03-13 15:29:47'),(4597,'MAIN_MODULE_GOOGLE_TABS_1',2,'user:+gsetup:GoogleUserConf:google@google:$conf->google->enabled && $conf->global->GOOGLE_DUPLICATE_INTO_GCAL:/google/admin/google_calsync_user.php?id=__ID__','chaine',0,NULL,'2013-03-13 15:29:47'),(4598,'MAIN_MODULE_GOOGLE_TRIGGERS',2,'1','chaine',0,NULL,'2013-03-13 15:29:47'),(4599,'MAIN_MODULE_GOOGLE_HOOKS',2,'[\"toprightmenu\"]','chaine',0,NULL,'2013-03-13 15:29:47'),(4688,'GOOGLE_ENABLE_AGENDA',2,'1','chaine',0,'','2013-03-13 15:36:29'),(4689,'GOOGLE_AGENDA_NAME1',2,'eldy','chaine',0,'','2013-03-13 15:36:29'),(4690,'GOOGLE_AGENDA_SRC1',2,'eldy10@mail.com','chaine',0,'','2013-03-13 15:36:29'),(4691,'GOOGLE_AGENDA_COLOR1',2,'BE6D00','chaine',0,'','2013-03-13 15:36:29'),(4692,'GOOGLE_AGENDA_COLOR2',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4693,'GOOGLE_AGENDA_COLOR3',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4694,'GOOGLE_AGENDA_COLOR4',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4695,'GOOGLE_AGENDA_COLOR5',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4696,'GOOGLE_AGENDA_TIMEZONE',2,'Europe/Paris','chaine',0,'','2013-03-13 15:36:29'),(4697,'GOOGLE_AGENDA_NB',2,'5','chaine',0,'','2013-03-13 15:36:29'),(4698,'MAIN_DISABLE_ALL_MAILS',1,'0','chaine',0,'','2013-03-13 17:22:24'),(4699,'MAIN_MAIL_SENDMODE',1,'mail','chaine',0,'','2015-07-19 13:41:06'),(4700,'MAIN_MAIL_SMTPS_ID',1,'eldy10@mail.com','chaine',0,'','2015-07-19 13:41:06'),(4701,'MAIN_MAIL_SMTPS_PW',1,'bidonge','chaine',0,'','2015-07-19 13:41:06'),(4711,'GOOGLE_ENABLE_AGENDA',1,'1','chaine',0,'','2013-03-13 19:37:38'),(4712,'GOOGLE_AGENDA_NAME1',1,'asso master','chaine',0,'','2013-03-13 19:37:38'),(4713,'GOOGLE_AGENDA_SRC1',1,'assodolibarr@mail.com','chaine',0,'','2013-03-13 19:37:38'),(4714,'GOOGLE_AGENDA_COLOR1',1,'1B887A','chaine',0,'','2013-03-13 19:37:38'),(4715,'GOOGLE_AGENDA_COLOR2',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4716,'GOOGLE_AGENDA_COLOR3',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4717,'GOOGLE_AGENDA_COLOR4',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4718,'GOOGLE_AGENDA_COLOR5',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4719,'GOOGLE_AGENDA_TIMEZONE',1,'Europe/Paris','chaine',0,'','2013-03-13 19:37:38'),(4720,'GOOGLE_AGENDA_NB',1,'5','chaine',0,'','2013-03-13 19:37:38'),(4725,'SOCIETE_CODECLIENT_ADDON',2,'mod_codeclient_leopard','chaine',0,'Module to control third parties codes','2013-03-13 20:21:35'),(4726,'SOCIETE_CODECOMPTA_ADDON',2,'mod_codecompta_panicum','chaine',0,'Module to control third parties codes','2013-03-13 20:21:35'),(4727,'SOCIETE_FISCAL_MONTH_START',2,'','chaine',0,'Mettre le numero du mois du debut d\\\'annee fiscale, ex: 9 pour septembre','2013-03-13 20:21:35'),(4728,'MAIN_SEARCHFORM_SOCIETE',2,'1','yesno',0,'Show form for quick company search','2013-03-13 20:21:35'),(4729,'MAIN_SEARCHFORM_CONTACT',2,'1','yesno',0,'Show form for quick contact search','2013-03-13 20:21:35'),(4730,'COMPANY_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/thirdparties','chaine',0,NULL,'2013-03-13 20:21:35'),(4743,'MAIN_MODULE_CLICKTODIAL',2,'1',NULL,0,NULL,'2013-03-13 20:30:28'),(4744,'MAIN_MODULE_NOTIFICATION',2,'1',NULL,0,NULL,'2013-03-13 20:30:34'),(4745,'MAIN_MODULE_WEBSERVICES',2,'1',NULL,0,NULL,'2013-03-13 20:30:41'),(4746,'MAIN_MODULE_PROPALE',2,'1',NULL,0,NULL,'2013-03-13 20:32:38'),(4747,'PROPALE_ADDON_PDF',2,'azur','chaine',0,'Nom du gestionnaire de generation des propales en PDF','2013-03-13 20:32:38'),(4748,'PROPALE_ADDON',2,'mod_propale_marbre','chaine',0,'Nom du gestionnaire de numerotation des propales','2013-03-13 20:32:38'),(4749,'PROPALE_VALIDITY_DURATION',2,'15','chaine',0,'Duration of validity of business proposals','2013-03-13 20:32:38'),(4750,'PROPALE_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/proposals','chaine',0,NULL,'2013-03-13 20:32:38'),(4752,'MAIN_MODULE_TAX',2,'1',NULL,0,NULL,'2013-03-13 20:32:47'),(4753,'MAIN_MODULE_DON',2,'1',NULL,0,NULL,'2013-03-13 20:32:54'),(4754,'DON_ADDON_MODEL',2,'html_cerfafr','chaine',0,'Nom du gestionnaire de generation de recu de dons','2013-03-13 20:32:54'),(4755,'POS_USE_TICKETS',2,'1','chaine',0,'','2013-03-13 20:33:09'),(4756,'POS_MAX_TTC',2,'100','chaine',0,'','2013-03-13 20:33:09'),(4757,'MAIN_MODULE_POS',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4758,'TICKET_ADDON',2,'mod_ticket_avenc','chaine',0,'Nom du gestionnaire de numerotation des tickets','2013-03-13 20:33:09'),(4759,'MAIN_MODULE_BANQUE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4760,'MAIN_MODULE_FACTURE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4761,'FACTURE_ADDON_PDF',2,'crabe','chaine',0,'Name of PDF model of invoice','2013-03-13 20:33:09'),(4762,'FACTURE_ADDON',2,'mod_facture_terre','chaine',0,'Name of numbering numerotation rules of invoice','2013-03-13 20:33:09'),(4763,'FACTURE_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/invoices','chaine',0,NULL,'2013-03-13 20:33:09'),(4764,'MAIN_MODULE_SOCIETE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4765,'MAIN_MODULE_PRODUCT',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4766,'PRODUCT_CODEPRODUCT_ADDON',2,'mod_codeproduct_leopard','chaine',0,'Module to control product codes','2013-03-13 20:33:09'),(4767,'MAIN_SEARCHFORM_PRODUITSERVICE',2,'1','yesno',0,'Show form for quick product search','2013-03-13 20:33:09'),(4772,'FACSIM_ADDON',2,'mod_facsim_alcoy','chaine',0,'','2013-03-13 20:33:32'),(4773,'MAIN_MODULE_MAILING',2,'1',NULL,0,NULL,'2013-03-13 20:33:37'),(4774,'MAIN_MODULE_OPENSURVEY',2,'1',NULL,0,NULL,'2013-03-13 20:33:42'),(4782,'AGENDA_USE_EVENT_TYPE',2,'1','chaine',0,'','2013-03-13 20:53:36'),(4884,'AGENDA_DISABLE_EXT',2,'1','chaine',0,'','2013-03-13 22:03:40'),(4928,'COMMANDE_SUPPLIER_ADDON_NUMBER',1,'mod_commande_fournisseur_muguet','chaine',0,'Nom du gestionnaire de numerotation des commandes fournisseur','2013-03-22 09:24:29'),(4929,'INVOICE_SUPPLIER_ADDON_NUMBER',1,'mod_facture_fournisseur_cactus','chaine',0,'Nom du gestionnaire de numerotation des factures fournisseur','2013-03-22 09:24:29'),(5001,'MAIN_CRON_KEY',0,'bc54582fe30d5d4a830c6f582ec28810','chaine',0,'','2013-03-23 17:54:53'),(5009,'CRON_KEY',0,'2c2e755c20be2014098f629865598006','chaine',0,'','2013-03-23 18:06:24'),(5075,'MAIN_MENU_STANDARD',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5076,'MAIN_MENU_SMARTPHONE',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5077,'MAIN_MENUFRONT_STANDARD',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5078,'MAIN_MENUFRONT_SMARTPHONE',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5139,'SOCIETE_ADD_REF_IN_LIST',1,'','yesno',0,'Display customer ref into select list','2013-09-08 23:06:08'),(5150,'PROJECT_TASK_ADDON_PDF',1,'','chaine',0,'Name of PDF/ODT tasks manager class','2013-09-08 23:06:14'),(5151,'PROJECT_TASK_ADDON',1,'mod_task_simple','chaine',0,'Name of Numbering Rule task manager class','2013-09-08 23:06:14'),(5152,'PROJECT_TASK_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/tasks','chaine',0,'','2013-09-08 23:06:14'),(5195,'GOOGLE_DUPLICATE_INTO_THIRDPARTIES',1,'1','chaine',0,'','2013-11-07 00:02:34'),(5196,'GOOGLE_DUPLICATE_INTO_CONTACTS',1,'0','chaine',0,'','2013-11-07 00:02:34'),(5197,'GOOGLE_DUPLICATE_INTO_MEMBERS',1,'0','chaine',0,'','2013-11-07 00:02:34'),(5198,'GOOGLE_CONTACT_LOGIN',1,'eldy10@mail.com','chaine',0,'','2013-11-07 00:02:34'),(5199,'GOOGLE_CONTACT_PASSWORD',1,'bidonge','chaine',0,'','2013-11-07 00:02:34'),(5200,'GOOGLE_TAG_PREFIX',1,'Dolibarr (Thirdparties)','chaine',0,'','2013-11-07 00:02:34'),(5201,'GOOGLE_TAG_PREFIX_CONTACTS',1,'Dolibarr (Contacts/Addresses)','chaine',0,'','2013-11-07 00:02:34'),(5202,'GOOGLE_TAG_PREFIX_MEMBERS',1,'Dolibarr (Members)','chaine',0,'','2013-11-07 00:02:34'),(5239,'BOOKMARKS_SHOW_IN_MENU',1,'10','chaine',0,'','2014-03-02 15:42:26'),(5271,'DONATION_ART200',1,'','yesno',0,'Option Française - Eligibilité Art200 du CGI','2014-12-21 12:51:28'),(5272,'DONATION_ART238',1,'','yesno',0,'Option Française - Eligibilité Art238 bis du CGI','2014-12-21 12:51:28'),(5273,'DONATION_ART885',1,'','yesno',0,'Option Française - Eligibilité Art885-0 V bis du CGI','2014-12-21 12:51:28'),(5274,'DONATION_MESSAGE',1,'Thank you','chaine',0,'Message affiché sur le récépissé de versements ou dons','2014-12-21 12:51:28'),(5288,'DONATION_ACCOUNTINGACCOUNT',1,'7581','chaine',0,'Compte comptable de remise des versements ou dons','2015-07-19 13:41:21'),(5317,'INVOICE_CAN_ALWAYS_BE_REMOVED',1,'1','chaine',1,'','2015-10-03 09:25:30'),(5338,'MAIN_LANG_DEFAULT',1,'en_US','chaine',0,'','2015-10-03 10:11:33'),(5339,'MAIN_MULTILANGS',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5340,'MAIN_SIZE_LISTE_LIMIT',1,'25','chaine',0,'','2015-10-03 10:11:33'),(5341,'MAIN_DISABLE_JAVASCRIPT',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5342,'MAIN_BUTTON_HIDE_UNAUTHORIZED',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5343,'MAIN_START_WEEK',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5344,'MAIN_DEFAULT_WORKING_DAYS',1,'1-5','chaine',0,'','2015-10-03 10:11:33'),(5345,'MAIN_DEFAULT_WORKING_HOURS',1,'9-18','chaine',0,'','2015-10-03 10:11:33'),(5346,'MAIN_SHOW_LOGO',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5347,'MAIN_FIRSTNAME_NAME_POSITION',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5348,'MAIN_THEME',1,'eldy','chaine',0,'','2015-10-03 10:11:33'),(5349,'MAIN_SEARCHFORM_CONTACT',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5350,'MAIN_SEARCHFORM_SOCIETE',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5351,'MAIN_SEARCHFORM_PRODUITSERVICE',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5352,'MAIN_SEARCHFORM_PRODUITSERVICE_SUPPLIER',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5353,'MAIN_SEARCHFORM_ADHERENT',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5354,'MAIN_SEARCHFORM_PROJECT',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5355,'MAIN_HELPCENTER_DISABLELINK',0,'1','chaine',0,'','2015-10-03 10:11:33'),(5356,'MAIN_HOME',1,'__(NoteSomeFeaturesAreDisabled)__
\r\n
\r\n__(SomeTranslationAreUncomplete)__
','chaine',0,'','2015-10-03 10:11:33'),(5357,'MAIN_HELP_DISABLELINK',0,'0','chaine',0,'','2015-10-03 10:11:33'),(5358,'MAIN_BUGTRACK_ENABLELINK',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5359,'THEME_ELDY_USE_HOVER',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5394,'FCKEDITOR_ENABLE_DETAILS',1,'1','yesno',0,'WYSIWIG for products details lines for all entities','2015-11-04 15:27:44'),(5395,'FCKEDITOR_ENABLE_USERSIGN',1,'1','yesno',0,'WYSIWIG for user signature','2015-11-04 15:27:44'),(5396,'FCKEDITOR_ENABLE_MAIL',1,'1','yesno',0,'WYSIWIG for products details lines for all entities','2015-11-04 15:27:44'),(5398,'CATEGORIE_RECURSIV_ADD',1,'','yesno',0,'Affect parent categories','2015-11-04 15:27:46'),(5403,'MAIN_MODULE_FCKEDITOR',1,'1',NULL,0,NULL,'2015-11-04 15:41:40'),(5404,'MAIN_MODULE_CATEGORIE',1,'1',NULL,0,NULL,'2015-11-04 15:41:43'),(5415,'EXPEDITION_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/shipment','chaine',0,NULL,'2015-11-15 22:38:28'),(5416,'LIVRAISON_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/delivery','chaine',0,NULL,'2015-11-15 22:38:28'),(5419,'MAIN_MODULE_CASHDESK',1,'1',NULL,0,NULL,'2015-11-15 22:38:33'),(5426,'MAIN_MODULE_PROJET',1,'1',NULL,0,NULL,'2015-11-15 22:38:44'),(5427,'PROJECT_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/projects','chaine',0,NULL,'2015-11-15 22:38:44'),(5428,'PROJECT_USE_OPPORTUNIES',1,'1','chaine',0,NULL,'2015-11-15 22:38:44'),(5430,'MAIN_MODULE_EXPORT',1,'1',NULL,0,NULL,'2015-11-15 22:38:56'),(5431,'MAIN_MODULE_IMPORT',1,'1',NULL,0,NULL,'2015-11-15 22:38:58'),(5432,'MAIN_MODULE_MAILING',1,'1',NULL,0,NULL,'2015-11-15 22:39:00'),(5433,'MAIN_MODULE_EXPENSEREPORT',1,'1',NULL,0,NULL,'2015-11-15 22:39:05'),(5434,'EXPENSEREPORT_ADDON_PDF',1,'standard','chaine',0,'Name of manager to build PDF expense reports documents','2015-11-15 22:39:05'),(5435,'MAIN_MODULE_SALARIES',1,'1',NULL,0,NULL,'2015-11-15 22:39:08'),(5436,'SALARIES_ACCOUNTING_ACCOUNT_PAYMENT',1,'421','chaine',0,NULL,'2015-11-15 22:39:08'),(5437,'SALARIES_ACCOUNTING_ACCOUNT_CHARGE',1,'641','chaine',0,NULL,'2015-11-15 22:39:08'),(5440,'MAIN_MODULE_ADHERENT',1,'1',NULL,0,NULL,'2015-11-15 22:39:17'),(5441,'ADHERENT_ETIQUETTE_TEXT',1,'%FULLNAME%\n%ADDRESS%\n%ZIP% %TOWN%\n%COUNTRY%','texte',0,'Text to print on member address sheets','2015-11-15 22:39:17'),(5442,'MAIN_MODULE_TAX',1,'1',NULL,0,NULL,'2015-11-15 22:39:22'),(5443,'MAIN_MODULE_PRELEVEMENT',1,'1',NULL,0,NULL,'2015-11-15 22:39:33'),(5449,'MAIN_MODULE_COMPTABILITE',1,'1',NULL,0,NULL,'2015-11-15 22:39:46'),(5452,'MAIN_MODULE_BANQUE',1,'1',NULL,0,NULL,'2015-11-15 22:39:46'),(5453,'MAIN_MODULE_CONTRAT',1,'1',NULL,0,NULL,'2015-11-15 22:39:52'),(5455,'MAIN_MODULE_FICHEINTER',1,'1',NULL,0,NULL,'2015-11-15 22:39:56'),(5458,'MAIN_MODULE_BOOKMARK',1,'1',NULL,0,NULL,'2015-11-15 22:40:51'),(5459,'MAIN_MODULE_PAYPAL',1,'1',NULL,0,NULL,'2015-11-15 22:41:02'),(5460,'MAIN_MODULE_MARGIN',1,'1',NULL,0,NULL,'2015-11-15 22:41:47'),(5461,'MAIN_MODULE_MARGIN_TABS_0',1,'product:+margin:Margins:margins:$user->rights->margins->liretous:/margin/tabs/productMargins.php?id=__ID__','chaine',0,NULL,'2015-11-15 22:41:47'),(5462,'MAIN_MODULE_MARGIN_TABS_1',1,'thirdparty:+margin:Margins:margins:empty($user->societe_id) && $user->rights->margins->liretous && ($object->client > 0):/margin/tabs/thirdpartyMargins.php?socid=__ID__','chaine',0,NULL,'2015-11-15 22:41:47'),(5463,'MAIN_MODULE_PROPALE',1,'1',NULL,0,NULL,'2015-11-15 22:41:47'),(5483,'GENBARCODE_BARCODETYPE_THIRDPARTY',1,'6','chaine',0,'','2016-01-16 15:49:43'),(5484,'PRODUIT_DEFAULT_BARCODE_TYPE',1,'2','chaine',0,'','2016-01-16 15:49:46'),(5539,'PRODUCT_USE_OLD_PATH_FOR_PHOTO',0,'0','chaine',1,'Use old path for products images','2016-01-22 13:34:23'),(5540,'MAIN_SOAP_DEBUG',1,'0','chaine',1,'','2016-01-22 13:34:57'),(5541,'MODULE_GOOGLE_DEBUG',1,'0','chaine',1,'','2016-01-22 13:34:57'),(5543,'MAIN_MAIL_DEBUG',1,'1','chaine',1,'','2016-01-22 13:35:24'),(5548,'MAIN_MODULE_ECM',1,'1',NULL,0,NULL,'2016-01-22 17:26:43'),(5551,'MAIN_MODULE_HOLIDAY',1,'1',NULL,0,NULL,'2016-01-22 17:26:43'),(5552,'MAIN_MODULE_HOLIDAY_TABS_0',1,'user:+paidholidays:CPTitreMenu:holiday:$user->rights->holiday->read:/holiday/list.php?mainmenu=holiday&id=__ID__','chaine',0,NULL,'2016-01-22 17:26:43'),(5553,'MAIN_MODULE_OPENSURVEY',1,'1',NULL,0,NULL,'2016-01-22 17:26:43'),(5555,'MAIN_MODULE_SERVICE',1,'1',NULL,0,NULL,'2016-01-22 17:26:43'),(5560,'MAILING_LIMIT_SENDBYWEB',0,'25','chaine',1,'Number of targets to defined packet size when sending mass email','2016-01-22 17:28:18'),(5561,'SYSLOG_HANDLERS',0,'[\"mod_syslog_file\"]','chaine',0,'Which logger to use','2016-01-22 17:28:18'),(5562,'SYSLOG_FILE',0,'DOL_DATA_ROOT/dolibarr.log','chaine',0,'Directory where to write log file','2016-01-22 17:28:18'),(5568,'MAIN_MAIL_EMAIL_FROM',1,'robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2016-01-22 17:28:18'),(5586,'MAIN_DELAY_EXPENSEREPORTS_TO_PAY',1,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur les notes de frais impayées','2016-01-22 17:28:18'),(5587,'MAIN_FIX_FOR_BUGGED_MTA',1,'1','chaine',1,'Set constant to fix email ending from PHP with some linux ike system','2016-01-22 17:28:18'),(5589,'MAIN_MODULE_USER',0,'1',NULL,0,NULL,'2016-01-22 17:28:42'),(5590,'MAIN_VERSION_LAST_INSTALL',0,'3.8.3','chaine',0,'Dolibarr version when install','2016-01-22 17:28:42'),(5604,'MAIN_INFO_SOCIETE_LOGO',1,'mybigcompany.png','chaine',0,'','2016-01-22 17:33:49'),(5605,'MAIN_INFO_SOCIETE_LOGO_SMALL',1,'mybigcompany_small.png','chaine',0,'','2016-01-22 17:33:49'),(5606,'MAIN_INFO_SOCIETE_LOGO_MINI',1,'mybigcompany_mini.png','chaine',0,'','2016-01-22 17:33:49'),(5612,'MAIN_ENABLE_LOG_TO_HTML',0,'0','chaine',1,'If this option is set to 1, it is possible to see log output at end of HTML sources by adding paramater logtohtml=1 on URL','2016-03-13 10:54:45'),(5614,'MAIN_SIZE_SHORTLISTE_LIMIT',1,'4','chaine',0,'Longueur maximum des listes courtes (fiche client)','2016-03-13 10:54:46'),(5622,'MAIN_MODULE_BARCODE',1,'1',NULL,0,NULL,'2016-07-30 11:12:59'),(5623,'MAIN_MODULE_FACTURE',1,'1',NULL,0,NULL,'2016-07-30 11:12:59'),(5624,'MAIN_VERSION_LAST_UPGRADE',0,'4.0.0-rc2','chaine',0,'Dolibarr version for last upgrade','2016-07-30 11:13:02'),(5626,'MAIN_MODULE_SUPPLIERPROPOSAL',1,'1',NULL,0,NULL,'2016-07-30 11:13:20'),(5627,'SUPPLIER_PROPOSAL_ADDON_PDF',1,'aurore','chaine',0,'Name of submodule to generate PDF for supplier quotation request','2016-07-30 11:13:20'),(5628,'SUPPLIER_PROPOSAL_ADDON',1,'mod_supplier_proposal_marbre','chaine',0,'Name of submodule to number supplier quotation request','2016-07-30 11:13:20'),(5629,'SUPPLIER_PROPOSAL_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/supplier_proposal','chaine',0,NULL,'2016-07-30 11:13:20'),(5632,'MAIN_MODULE_RESOURCE',1,'1',NULL,0,NULL,'2016-07-30 11:13:32'),(5633,'MAIN_MODULE_API',1,'1',NULL,0,NULL,'2016-07-30 11:13:54'),(5634,'MAIN_MODULE_WEBSERVICES',1,'1',NULL,0,NULL,'2016-07-30 11:13:56'),(5635,'WEBSERVICES_KEY',1,'dolibarrkey','chaine',0,'','2016-07-30 11:14:04'),(5636,'MAIN_MODULE_CRON',1,'1',NULL,0,NULL,'2016-07-30 11:14:25'),(5637,'MAIN_MODULE_SYSLOG',0,'1',NULL,0,NULL,'2016-07-30 11:14:27'),(5638,'MAIN_MODULE_EXTERNALRSS',1,'1',NULL,0,NULL,'2016-07-30 11:15:04'),(5639,'EXTERNAL_RSS_TITLE_1',1,'Dolibarr.org News','chaine',0,'','2016-07-30 11:15:25'),(5640,'EXTERNAL_RSS_URLRSS_1',1,'https://www.dolibarr.org/rss','chaine',0,'','2016-07-30 11:15:25'),(5641,'MAIN_MODULE_DON',1,'1',NULL,0,NULL,'2016-07-30 11:16:22'),(5642,'SOCIETE_CODECOMPTA_ADDON',1,'mod_codecompta_aquarium','chaine',0,'','2016-07-30 11:16:42'),(5680,'MAIN_INFO_SOCIETE_COUNTRY',1,'14:CA:Canada','chaine',0,'','2016-07-30 11:19:05'),(5681,'MAIN_INFO_SOCIETE_NOM',1,'MyBigCompany','chaine',0,'','2016-07-30 11:19:05'),(5682,'MAIN_INFO_SOCIETE_ADDRESS',1,'21 Jump street','chaine',0,'','2016-07-30 11:19:05'),(5683,'MAIN_INFO_SOCIETE_TOWN',1,'MyTown','chaine',0,'','2016-07-30 11:19:05'),(5684,'MAIN_INFO_SOCIETE_ZIP',1,'75500','chaine',0,'','2016-07-30 11:19:05'),(5685,'MAIN_INFO_SOCIETE_STATE',1,'1514','chaine',0,'','2016-07-30 11:19:05'),(5686,'MAIN_MONNAIE',1,'EUR','chaine',0,'','2016-07-30 11:19:05'),(5687,'MAIN_INFO_SOCIETE_TEL',1,'09123123','chaine',0,'','2016-07-30 11:19:05'),(5688,'MAIN_INFO_SOCIETE_FAX',1,'09123124','chaine',0,'','2016-07-30 11:19:05'),(5689,'MAIN_INFO_SOCIETE_MAIL',1,'myemail@mybigcompany.com','chaine',0,'','2016-07-30 11:19:05'),(5690,'MAIN_INFO_SOCIETE_WEB',1,'http://www.dolibarr.org','chaine',0,'','2016-07-30 11:19:05'),(5691,'MAIN_INFO_SOCIETE_NOTE',1,'This is note about my company','chaine',0,'','2016-07-30 11:19:05'),(5692,'MAIN_INFO_SOCIETE_GENCOD',1,'1234567890','chaine',0,'','2016-07-30 11:19:05'),(5693,'MAIN_INFO_SOCIETE_MANAGERS',1,'Zack Zeceo','chaine',0,'','2016-07-30 11:19:05'),(5694,'MAIN_INFO_CAPITAL',1,'10000','chaine',0,'','2016-07-30 11:19:05'),(5695,'MAIN_INFO_SOCIETE_FORME_JURIDIQUE',1,'0','chaine',0,'','2016-07-30 11:19:05'),(5696,'MAIN_INFO_SIREN',1,'123456','chaine',0,'','2016-07-30 11:19:05'),(5697,'MAIN_INFO_TVAINTRA',1,'FR1234567','chaine',0,'','2016-07-30 11:19:05'),(5698,'MAIN_INFO_SOCIETE_OBJECT',1,'A company demo to show how Dolibarr ERP CRM is wonderfull','chaine',0,'','2016-07-30 11:19:05'),(5699,'SOCIETE_FISCAL_MONTH_START',1,'1','chaine',0,'','2016-07-30 11:19:05'),(5700,'FACTURE_TVAOPTION',1,'1','chaine',0,'','2016-07-30 11:19:05'),(5701,'FACTURE_LOCAL_TAX1_OPTION',1,'localtax1on','chaine',0,'','2016-07-30 11:19:05'),(5702,'MAIN_INFO_VALUE_LOCALTAX1',1,'0','chaine',0,'','2016-07-30 11:19:05'),(5703,'MAIN_INFO_LOCALTAX_CALC1',1,'0','chaine',0,'','2016-07-30 11:19:05'),(5704,'PROJECT_USE_OPPORTUNITIES',1,'1','chaine',0,'','2016-07-30 11:19:17'),(5707,'CASHDESK_NO_DECREASE_STOCK',1,'1','chaine',0,'','2016-07-30 13:38:11'),(5708,'MAIN_MODULE_PRODUCTBATCH',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5710,'MAIN_MODULE_STOCK',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5711,'MAIN_MODULE_PRODUCT',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5712,'MAIN_MODULE_EXPEDITION',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5713,'MAIN_MODULE_COMMANDE',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5715,'MAIN_MODULE_FOURNISSEUR',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5716,'MAIN_MODULE_SOCIETE',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5717,'MAIN_FEATURES_LEVEL',0,'0','chaine',1,'Level of features to show (0=stable only, 1=stable+experimental, 2=stable+experimental+development','2016-07-30 14:39:14'),(5765,'MAIN_MODULE_AGENDA',1,'1',NULL,0,NULL,'2016-07-30 15:42:32'),(5766,'MAIN_AGENDA_ACTIONAUTO_COMPANY_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5767,'MAIN_AGENDA_ACTIONAUTO_COMPANY_CREATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5768,'MAIN_AGENDA_ACTIONAUTO_PROPAL_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5769,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLOSE_SIGNED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5770,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLOSE_REFUSED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5771,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5772,'MAIN_AGENDA_ACTIONAUTO_PROPAL_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5773,'MAIN_AGENDA_ACTIONAUTO_ORDER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5774,'MAIN_AGENDA_ACTIONAUTO_ORDER_CLOSE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5775,'MAIN_AGENDA_ACTIONAUTO_ORDER_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5776,'MAIN_AGENDA_ACTIONAUTO_ORDER_CANCEL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5777,'MAIN_AGENDA_ACTIONAUTO_ORDER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5778,'MAIN_AGENDA_ACTIONAUTO_BILL_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5779,'MAIN_AGENDA_ACTIONAUTO_BILL_PAYED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5780,'MAIN_AGENDA_ACTIONAUTO_BILL_CANCEL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5781,'MAIN_AGENDA_ACTIONAUTO_BILL_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5782,'MAIN_AGENDA_ACTIONAUTO_BILL_UNVALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5783,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5784,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_APPROVE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5785,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_SUBMIT',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5786,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_RECEIVE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5787,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_REFUSE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5788,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5789,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5790,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5791,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_UNVALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5792,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_PAYED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5793,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5794,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_CANCELED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5795,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5796,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5797,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5798,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_CLASSIFY_UNBILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5799,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_REOPEN',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5800,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5801,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5802,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5803,'MAIN_AGENDA_ACTIONAUTO_MEMBER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5804,'MAIN_AGENDA_ACTIONAUTO_MEMBER_SUBSCRIPTION',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5805,'MAIN_AGENDA_ACTIONAUTO_MEMBER_RESILIATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5806,'MAIN_AGENDA_ACTIONAUTO_MEMBER_MODIFY',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5807,'MAIN_AGENDA_ACTIONAUTO_MEMBER_DELETE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5808,'MARGIN_TYPE',1,'costprice','chaine',0,'','2016-07-30 16:32:18'),(5809,'DISPLAY_MARGIN_RATES',1,'1','chaine',0,'','2016-07-30 16:32:20'); +INSERT INTO `llx_const` VALUES (5,'SYSLOG_LEVEL',0,'7','chaine',0,'Level of debug info to show','2010-07-08 11:17:57'),(8,'MAIN_UPLOAD_DOC',0,'2048','chaine',0,'Max size for file upload (0 means no upload allowed)','2010-07-08 11:17:57'),(9,'MAIN_SEARCHFORM_SOCIETE',0,'1','yesno',0,'Show form for quick company search','2010-07-08 11:17:57'),(10,'MAIN_SEARCHFORM_CONTACT',0,'1','yesno',0,'Show form for quick contact search','2010-07-08 11:17:57'),(11,'MAIN_SEARCHFORM_PRODUITSERVICE',0,'1','yesno',0,'Show form for quick product search','2010-07-08 11:17:58'),(12,'MAIN_SEARCHFORM_ADHERENT',0,'1','yesno',0,'Show form for quick member search','2010-07-08 11:17:58'),(16,'MAIN_SIZE_LISTE_LIMIT',0,'25','chaine',0,'Longueur maximum des listes','2010-07-08 11:17:58'),(17,'MAIN_SHOW_WORKBOARD',0,'1','yesno',0,'Affichage tableau de bord de travail Dolibarr','2010-07-08 11:17:58'),(29,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',1,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2010-07-08 11:17:58'),(33,'SOCIETE_NOLIST_COURRIER',0,'1','yesno',0,'Liste les fichiers du repertoire courrier','2010-07-08 11:17:58'),(36,'ADHERENT_MAIL_REQUIRED',1,'1','yesno',0,'EMail required to create a new member','2010-07-08 11:17:58'),(37,'ADHERENT_MAIL_FROM',1,'adherents@domain.com','chaine',0,'Sender EMail for automatic emails','2010-07-08 11:17:58'),(38,'ADHERENT_MAIL_RESIL',1,'Your subscription has been resiliated.\r\nWe hope to see you soon again','texte',0,'Mail resiliation','2010-07-08 11:17:58'),(39,'ADHERENT_MAIL_VALID',1,'Your subscription has been validated.\r\nThis is a remind of your personal information :\r\n\r\n%INFOS%\r\n\r\n','texte',0,'Mail de validation','2010-07-08 11:17:59'),(40,'ADHERENT_MAIL_COTIS',1,'Hello %PRENOM%,\r\nThanks for your subscription.\r\nThis email confirms that your subscription has been received and processed.\r\n\r\n','texte',0,'Mail de validation de cotisation','2010-07-08 11:17:59'),(41,'ADHERENT_MAIL_VALID_SUBJECT',1,'Your subscription has been validated','chaine',0,'Sujet du mail de validation','2010-07-08 11:17:59'),(42,'ADHERENT_MAIL_RESIL_SUBJECT',1,'Resiliating your subscription','chaine',0,'Sujet du mail de resiliation','2010-07-08 11:17:59'),(43,'ADHERENT_MAIL_COTIS_SUBJECT',1,'Receipt of your subscription','chaine',0,'Sujet du mail de validation de cotisation','2010-07-08 11:17:59'),(44,'MAILING_EMAIL_FROM',1,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2010-07-08 11:17:59'),(45,'ADHERENT_USE_MAILMAN',1,'0','yesno',0,'Utilisation de Mailman','2010-07-08 11:17:59'),(46,'ADHERENT_MAILMAN_UNSUB_URL',1,'http://lists.domain.com/cgi-bin/mailman/admin/%LISTE%/members?adminpw=%MAILMAN_ADMINPW%&user=%EMAIL%','chaine',0,'Url de desinscription aux listes mailman','2010-07-08 11:17:59'),(47,'ADHERENT_MAILMAN_URL',1,'http://lists.domain.com/cgi-bin/mailman/admin/%LISTE%/members?adminpw=%MAILMAN_ADMINPW%&send_welcome_msg_to_this_batch=1&subscribees=%EMAIL%','chaine',0,'Url pour les inscriptions mailman','2010-07-08 11:17:59'),(48,'ADHERENT_MAILMAN_LISTS',1,'test-test,test-test2','chaine',0,'Listes auxquelles inscrire les nouveaux adherents','2010-07-08 11:17:59'),(49,'ADHERENT_MAILMAN_ADMINPW',1,'','chaine',0,'Mot de passe Admin des liste mailman','2010-07-08 11:17:59'),(50,'ADHERENT_MAILMAN_SERVER',1,'lists.domain.com','chaine',0,'Serveur hebergeant les interfaces d Admin des listes mailman','2010-07-08 11:17:59'),(51,'ADHERENT_MAILMAN_LISTS_COTISANT',1,'','chaine',0,'Liste(s) auxquelles les nouveaux cotisants sont inscris automatiquement','2010-07-08 11:17:59'),(52,'ADHERENT_USE_SPIP',1,'0','yesno',0,'Utilisation de SPIP ?','2010-07-08 11:17:59'),(53,'ADHERENT_USE_SPIP_AUTO',1,'0','yesno',0,'Utilisation de SPIP automatiquement','2010-07-08 11:17:59'),(54,'ADHERENT_SPIP_USER',1,'user','chaine',0,'user spip','2010-07-08 11:17:59'),(55,'ADHERENT_SPIP_PASS',1,'pass','chaine',0,'Pass de connection','2010-07-08 11:17:59'),(56,'ADHERENT_SPIP_SERVEUR',1,'localhost','chaine',0,'serveur spip','2010-07-08 11:17:59'),(57,'ADHERENT_SPIP_DB',1,'spip','chaine',0,'db spip','2010-07-08 11:17:59'),(58,'ADHERENT_CARD_HEADER_TEXT',1,'%ANNEE%','chaine',0,'Texte imprime sur le haut de la carte adherent','2010-07-08 11:17:59'),(59,'ADHERENT_CARD_FOOTER_TEXT',1,'Association AZERTY','chaine',0,'Texte imprime sur le bas de la carte adherent','2010-07-08 11:17:59'),(61,'FCKEDITOR_ENABLE_USER',1,'1','yesno',0,'Activation fckeditor sur notes utilisateurs','2010-07-08 11:17:59'),(62,'FCKEDITOR_ENABLE_SOCIETE',1,'1','yesno',0,'Activation fckeditor sur notes societe','2010-07-08 11:17:59'),(63,'FCKEDITOR_ENABLE_PRODUCTDESC',1,'1','yesno',0,'Activation fckeditor sur notes produits','2010-07-08 11:17:59'),(64,'FCKEDITOR_ENABLE_MEMBER',1,'1','yesno',0,'Activation fckeditor sur notes adherent','2010-07-08 11:17:59'),(65,'FCKEDITOR_ENABLE_MAILING',1,'1','yesno',0,'Activation fckeditor sur emailing','2010-07-08 11:17:59'),(67,'DON_ADDON_MODEL',1,'html_cerfafr','chaine',0,'','2010-07-08 11:18:00'),(68,'PROPALE_ADDON',1,'mod_propale_marbre','chaine',0,'','2010-07-08 11:18:00'),(69,'PROPALE_ADDON_PDF',1,'azur','chaine',0,'','2010-07-08 11:18:00'),(70,'COMMANDE_ADDON',1,'mod_commande_marbre','chaine',0,'','2010-07-08 11:18:00'),(71,'COMMANDE_ADDON_PDF',1,'einstein','chaine',0,'','2010-07-08 11:18:00'),(72,'COMMANDE_SUPPLIER_ADDON',1,'mod_commande_fournisseur_muguet','chaine',0,'','2010-07-08 11:18:00'),(73,'COMMANDE_SUPPLIER_ADDON_PDF',1,'muscadet','chaine',0,'','2010-07-08 11:18:00'),(74,'EXPEDITION_ADDON',1,'enlevement','chaine',0,'','2010-07-08 11:18:00'),(76,'FICHEINTER_ADDON',1,'pacific','chaine',0,'','2010-07-08 11:18:00'),(77,'FICHEINTER_ADDON_PDF',1,'soleil','chaine',0,'','2010-07-08 11:18:00'),(79,'FACTURE_ADDON_PDF',1,'crabe','chaine',0,'','2010-07-08 11:18:00'),(80,'PROPALE_VALIDITY_DURATION',1,'15','chaine',0,'Durée de validitée des propales','2010-07-08 11:18:00'),(230,'COMPANY_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/thirdparties','chaine',0,NULL,'2010-07-08 11:26:20'),(238,'LIVRAISON_ADDON_PDF',1,'typhon','chaine',0,'Nom du gestionnaire de generation des commandes en PDF','2010-07-08 11:26:27'),(239,'LIVRAISON_ADDON_NUMBER',1,'mod_livraison_jade','chaine',0,'Nom du gestionnaire de numerotation des bons de livraison','2013-03-20 13:17:36'),(242,'MAIN_SUBMODULE_EXPEDITION',1,'1','chaine',0,'','2010-07-08 11:26:34'),(245,'FACTURE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/invoices','chaine',0,NULL,'2010-07-08 11:28:53'),(249,'DON_FORM',1,'fsfe.fr.php','chaine',0,'Nom du gestionnaire de formulaire de dons','2010-07-08 11:29:00'),(253,'ADHERENT_BANK_USE_AUTO',1,'','yesno',0,'Insertion automatique des cotisation dans le compte banquaire','2010-07-08 11:29:05'),(254,'ADHERENT_BANK_ACCOUNT',1,'','chaine',0,'ID du Compte banquaire utilise','2010-07-08 11:29:05'),(255,'ADHERENT_BANK_CATEGORIE',1,'','chaine',0,'ID de la categorie banquaire des cotisations','2010-07-08 11:29:05'),(256,'ADHERENT_ETIQUETTE_TYPE',1,'L7163','chaine',0,'Type d etiquette (pour impression de planche d etiquette)','2010-07-08 11:29:05'),(269,'PROJECT_ADDON_PDF',1,'baleine','chaine',0,'Nom du gestionnaire de generation des projets en PDF','2010-07-08 11:29:33'),(270,'PROJECT_ADDON',1,'mod_project_simple','chaine',0,'Nom du gestionnaire de numerotation des projets','2010-07-08 11:29:33'),(368,'STOCK_USERSTOCK_AUTOCREATE',1,'1','chaine',0,'','2010-07-08 22:44:59'),(369,'EXPEDITION_ADDON_PDF',1,'merou','chaine',0,'','2010-07-08 22:58:07'),(370,'MAIN_SUBMODULE_LIVRAISON',1,'1','chaine',0,'','2010-07-08 23:00:29'),(377,'FACTURE_ADDON',1,'mod_facture_terre','chaine',0,'','2010-07-08 23:08:12'),(380,'ADHERENT_CARD_TEXT',1,'%TYPE% n° %ID%\r\n%PRENOM% %NOM%\r\n<%EMAIL%>\r\n%ADRESSE%\r\n%CP% %VILLE%\r\n%PAYS%','',0,'Texte imprime sur la carte adherent','2010-07-08 23:14:46'),(381,'ADHERENT_CARD_TEXT_RIGHT',1,'aaa','',0,'','2010-07-08 23:14:55'),(384,'PRODUIT_SOUSPRODUITS',1,'1','chaine',0,'','2010-07-08 23:22:12'),(385,'PRODUIT_USE_SEARCH_TO_SELECT',1,'1','chaine',0,'','2010-07-08 23:22:19'),(386,'STOCK_CALCULATE_ON_SHIPMENT',1,'1','chaine',0,'','2010-07-08 23:23:21'),(387,'STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER',1,'1','chaine',0,'','2010-07-08 23:23:26'),(392,'MAIN_AGENDA_XCAL_EXPORTKEY',1,'dolibarr','chaine',0,'','2010-07-08 23:27:50'),(393,'MAIN_AGENDA_EXPORT_PAST_DELAY',1,'100','chaine',0,'','2010-07-08 23:27:50'),(610,'CASHDESK_ID_THIRDPARTY',1,'7','chaine',0,'','2010-07-11 17:08:18'),(611,'CASHDESK_ID_BANKACCOUNT_CASH',1,'3','chaine',0,'','2010-07-11 17:08:18'),(612,'CASHDESK_ID_BANKACCOUNT_CHEQUE',1,'1','chaine',0,'','2010-07-11 17:08:18'),(613,'CASHDESK_ID_BANKACCOUNT_CB',1,'1','chaine',0,'','2010-07-11 17:08:18'),(614,'CASHDESK_ID_WAREHOUSE',1,'2','chaine',0,'','2010-07-11 17:08:18'),(660,'LDAP_USER_DN',1,'ou=users,dc=my-domain,dc=com','chaine',0,NULL,'2010-07-18 10:25:27'),(661,'LDAP_GROUP_DN',1,'ou=groups,dc=my-domain,dc=com','chaine',0,NULL,'2010-07-18 10:25:27'),(662,'LDAP_FILTER_CONNECTION',1,'&(objectClass=user)(objectCategory=person)','chaine',0,NULL,'2010-07-18 10:25:27'),(663,'LDAP_FIELD_LOGIN',1,'uid','chaine',0,NULL,'2010-07-18 10:25:27'),(664,'LDAP_FIELD_FULLNAME',1,'cn','chaine',0,NULL,'2010-07-18 10:25:27'),(665,'LDAP_FIELD_NAME',1,'sn','chaine',0,NULL,'2010-07-18 10:25:27'),(666,'LDAP_FIELD_FIRSTNAME',1,'givenname','chaine',0,NULL,'2010-07-18 10:25:27'),(667,'LDAP_FIELD_MAIL',1,'mail','chaine',0,NULL,'2010-07-18 10:25:27'),(668,'LDAP_FIELD_PHONE',1,'telephonenumber','chaine',0,NULL,'2010-07-18 10:25:27'),(669,'LDAP_FIELD_FAX',1,'facsimiletelephonenumber','chaine',0,NULL,'2010-07-18 10:25:27'),(670,'LDAP_FIELD_MOBILE',1,'mobile','chaine',0,NULL,'2010-07-18 10:25:27'),(671,'LDAP_SERVER_TYPE',1,'openldap','chaine',0,'','2010-07-18 10:25:46'),(672,'LDAP_SERVER_PROTOCOLVERSION',1,'3','chaine',0,'','2010-07-18 10:25:47'),(673,'LDAP_SERVER_HOST',1,'localhost','chaine',0,'','2010-07-18 10:25:47'),(674,'LDAP_SERVER_PORT',1,'389','chaine',0,'','2010-07-18 10:25:47'),(675,'LDAP_SERVER_USE_TLS',1,'0','chaine',0,'','2010-07-18 10:25:47'),(676,'LDAP_SYNCHRO_ACTIVE',1,'dolibarr2ldap','chaine',0,'','2010-07-18 10:25:47'),(677,'LDAP_CONTACT_ACTIVE',1,'1','chaine',0,'','2010-07-18 10:25:47'),(678,'LDAP_MEMBER_ACTIVE',1,'1','chaine',0,'','2010-07-18 10:25:47'),(974,'MAIN_MODULE_WORKFLOW_TRIGGERS',1,'1','chaine',0,NULL,'2011-07-18 18:02:20'),(975,'WORKFLOW_PROPAL_AUTOCREATE_ORDER',1,'1','chaine',0,'','2011-07-18 18:02:24'),(979,'PRELEVEMENT_USER',1,'1','chaine',0,'','2011-07-18 18:05:50'),(980,'PRELEVEMENT_NUMERO_NATIONAL_EMETTEUR',1,'1234567','chaine',0,'','2011-07-18 18:05:50'),(981,'PRELEVEMENT_ID_BANKACCOUNT',1,'1','chaine',0,'','2011-07-18 18:05:50'),(983,'FACTURE_RIB_NUMBER',1,'1','chaine',0,'','2011-07-18 18:35:14'),(984,'FACTURE_CHQ_NUMBER',1,'1','chaine',0,'','2011-07-18 18:35:14'),(1016,'GOOGLE_DUPLICATE_INTO_GCAL',1,'1','chaine',0,'','2011-07-18 21:40:20'),(1152,'SOCIETE_CODECLIENT_ADDON',1,'mod_codeclient_monkey','chaine',0,'','2011-07-29 20:50:02'),(1231,'MAIN_UPLOAD_DOC',1,'2048','chaine',0,'','2011-07-29 21:04:00'),(1234,'MAIN_UMASK',1,'0664','chaine',0,'','2011-07-29 21:04:11'),(1240,'MAIN_LOGEVENTS_USER_LOGIN',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1241,'MAIN_LOGEVENTS_USER_LOGIN_FAILED',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1242,'MAIN_LOGEVENTS_USER_LOGOUT',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1243,'MAIN_LOGEVENTS_USER_CREATE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1244,'MAIN_LOGEVENTS_USER_MODIFY',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1245,'MAIN_LOGEVENTS_USER_NEW_PASSWORD',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1246,'MAIN_LOGEVENTS_USER_ENABLEDISABLE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1247,'MAIN_LOGEVENTS_USER_DELETE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1248,'MAIN_LOGEVENTS_GROUP_CREATE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1249,'MAIN_LOGEVENTS_GROUP_MODIFY',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1250,'MAIN_LOGEVENTS_GROUP_DELETE',1,'1','chaine',0,'','2011-07-29 21:05:01'),(1251,'MAIN_BOXES_MAXLINES',1,'5','',0,'','2011-07-29 21:05:42'),(1482,'EXPEDITION_ADDON_NUMBER',1,'mod_expedition_safor','chaine',0,'Nom du gestionnaire de numerotation des expeditions','2011-08-05 17:53:11'),(1490,'CONTRACT_ADDON',1,'mod_contract_serpis','chaine',0,'Nom du gestionnaire de numerotation des contrats','2011-08-05 18:11:58'),(1677,'COMMANDE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/orders','chaine',0,NULL,'2012-12-08 13:11:02'),(1698,'PRODUCT_CODEPRODUCT_ADDON',1,'mod_codeproduct_leopard','yesno',0,'Module to control product codes','2012-12-08 13:11:25'),(1719,'ACCOUNTING_USEDICTTOEDIT',1,'1','chaine',1,'','2012-12-08 13:15:00'),(1724,'PROPALE_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/proposals','chaine',0,NULL,'2012-12-08 13:17:14'),(1730,'OPENSTREETMAP_ENABLE_MAPS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1731,'OPENSTREETMAP_ENABLE_MAPS_CONTACTS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1732,'OPENSTREETMAP_ENABLE_MAPS_MEMBERS',1,'1','chaine',0,'','2012-12-08 13:22:47'),(1733,'OPENSTREETMAP_MAPS_ZOOM_LEVEL',1,'15','chaine',0,'','2012-12-08 13:22:47'),(1737,'MAIN_INFO_SOCIETE_COUNTRY',2,'1:FR:France','chaine',0,'','2013-02-26 21:56:28'),(1738,'MAIN_INFO_SOCIETE_NOM',2,'aaa','chaine',0,'','2012-12-08 14:08:14'),(1739,'MAIN_INFO_SOCIETE_STATE',2,'0','chaine',0,'','2013-02-27 14:20:27'),(1740,'MAIN_MONNAIE',2,'EUR','chaine',0,'','2012-12-08 14:08:14'),(1741,'MAIN_LANG_DEFAULT',2,'auto','chaine',0,'','2012-12-08 14:08:14'),(1742,'MAIN_MAIL_EMAIL_FROM',2,'dolibarr-robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2012-12-08 14:08:14'),(1743,'MAIN_MENU_STANDARD',2,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs internes','2013-02-11 19:43:54'),(1744,'MAIN_MENUFRONT_STANDARD',2,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs externes','2013-02-11 19:43:54'),(1745,'MAIN_MENU_SMARTPHONE',2,'iphone_backoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs internes','2012-12-08 14:08:14'),(1746,'MAIN_MENUFRONT_SMARTPHONE',2,'iphone_frontoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs externes','2012-12-08 14:08:14'),(1747,'MAIN_THEME',2,'eldy','chaine',0,'Default theme','2012-12-08 14:08:14'),(1748,'MAIN_DELAY_ACTIONS_TODO',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur actions planifiées non réalisées','2012-12-08 14:08:14'),(1749,'MAIN_DELAY_ORDERS_TO_PROCESS',2,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes clients non traitées','2012-12-08 14:08:14'),(1750,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes fournisseurs non traitées','2012-12-08 14:08:14'),(1751,'MAIN_DELAY_PROPALS_TO_CLOSE',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales à cloturer','2012-12-08 14:08:14'),(1752,'MAIN_DELAY_PROPALS_TO_BILL',2,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales non facturées','2012-12-08 14:08:14'),(1753,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures client impayées','2012-12-08 14:08:14'),(1754,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',2,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures fournisseur impayées','2012-12-08 14:08:14'),(1755,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',2,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2012-12-08 14:08:14'),(1756,'MAIN_DELAY_RUNNING_SERVICES',2,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services expirés','2012-12-08 14:08:14'),(1757,'MAIN_DELAY_MEMBERS',2,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur cotisations adhérent en retard','2012-12-08 14:08:14'),(1758,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',2,'62','chaine',0,'Tolérance de retard avant alerte (en jours) sur rapprochements bancaires à faire','2012-12-08 14:08:14'),(1759,'MAILING_EMAIL_FROM',2,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2012-12-08 14:08:14'),(1760,'MAIN_INFO_SOCIETE_COUNTRY',3,'1:FR:France','chaine',0,'','2013-02-26 21:56:28'),(1761,'MAIN_INFO_SOCIETE_NOM',3,'bbb','chaine',0,'','2012-12-08 14:08:20'),(1762,'MAIN_INFO_SOCIETE_STATE',3,'0','chaine',0,'','2013-02-27 14:20:27'),(1763,'MAIN_MONNAIE',3,'EUR','chaine',0,'','2012-12-08 14:08:20'),(1764,'MAIN_LANG_DEFAULT',3,'auto','chaine',0,'','2012-12-08 14:08:20'),(1765,'MAIN_MAIL_EMAIL_FROM',3,'dolibarr-robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2012-12-08 14:08:20'),(1766,'MAIN_MENU_STANDARD',3,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs internes','2013-02-11 19:43:54'),(1767,'MAIN_MENUFRONT_STANDARD',3,'eldy_menu.php','chaine',0,'Module de gestion de la barre de menu du haut pour utilisateurs externes','2013-02-11 19:43:54'),(1768,'MAIN_MENU_SMARTPHONE',3,'iphone_backoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs internes','2012-12-08 14:08:20'),(1769,'MAIN_MENUFRONT_SMARTPHONE',3,'iphone_frontoffice.php','chaine',0,'Module de gestion de la barre de menu smartphone pour utilisateurs externes','2012-12-08 14:08:20'),(1770,'MAIN_THEME',3,'eldy','chaine',0,'Default theme','2012-12-08 14:08:20'),(1771,'MAIN_DELAY_ACTIONS_TODO',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur actions planifiées non réalisées','2012-12-08 14:08:20'),(1772,'MAIN_DELAY_ORDERS_TO_PROCESS',3,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes clients non traitées','2012-12-08 14:08:20'),(1773,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur commandes fournisseurs non traitées','2012-12-08 14:08:20'),(1774,'MAIN_DELAY_PROPALS_TO_CLOSE',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales à cloturer','2012-12-08 14:08:20'),(1775,'MAIN_DELAY_PROPALS_TO_BILL',3,'7','chaine',0,'Tolérance de retard avant alerte (en jours) sur propales non facturées','2012-12-08 14:08:20'),(1776,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures client impayées','2012-12-08 14:08:20'),(1777,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',3,'2','chaine',0,'Tolérance de retard avant alerte (en jours) sur factures fournisseur impayées','2012-12-08 14:08:20'),(1778,'MAIN_DELAY_NOT_ACTIVATED_SERVICES',3,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services à activer','2012-12-08 14:08:20'),(1779,'MAIN_DELAY_RUNNING_SERVICES',3,'0','chaine',0,'Tolérance de retard avant alerte (en jours) sur services expirés','2012-12-08 14:08:20'),(1780,'MAIN_DELAY_MEMBERS',3,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur cotisations adhérent en retard','2012-12-08 14:08:20'),(1781,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',3,'62','chaine',0,'Tolérance de retard avant alerte (en jours) sur rapprochements bancaires à faire','2012-12-08 14:08:20'),(1782,'MAILING_EMAIL_FROM',3,'dolibarr@domain.com','chaine',0,'EMail emmetteur pour les envois d emailings','2012-12-08 14:08:20'),(1803,'SYSLOG_FILE',1,'DOL_DATA_ROOT/dolibarr.log','chaine',0,'','2012-12-08 14:15:08'),(1804,'SYSLOG_HANDLERS',1,'[\"mod_syslog_file\"]','chaine',0,'','2012-12-08 14:15:08'),(1805,'MAIN_MODULE_SKINCOLOREDITOR',3,'1',NULL,0,NULL,'2012-12-08 14:35:40'),(1806,'MAIN_MODULE_SKINCOLOREDITOR_TABS_0',3,'user:+tabskincoloreditors:ColorEditor:skincoloreditor@skincoloreditor:/skincoloreditor/usercolors.php?id=__ID__','chaine',0,NULL,'2012-12-08 14:35:40'),(1922,'PAYPAL_API_SANDBOX',1,'1','chaine',0,'','2012-12-12 12:11:05'),(1923,'PAYPAL_API_USER',1,'seller_1355312017_biz_api1.nltechno.com','chaine',0,'','2012-12-12 12:11:05'),(1924,'PAYPAL_API_PASSWORD',1,'1355312040','chaine',0,'','2012-12-12 12:11:05'),(1925,'PAYPAL_API_SIGNATURE',1,'AXqqdsWBzvfn0q5iNmbuiDv1y.3EAXIMWyl4C5KvDReR9HDwwAd6dQ4Q','chaine',0,'','2012-12-12 12:11:05'),(1926,'PAYPAL_API_INTEGRAL_OR_PAYPALONLY',1,'integral','chaine',0,'','2012-12-12 12:11:05'),(1927,'PAYPAL_SECURITY_TOKEN',1,'50c82fab36bb3b6aa83e2a50691803b2','chaine',0,'','2012-12-12 12:11:05'),(1928,'PAYPAL_SECURITY_TOKEN_UNIQUE',1,'0','chaine',0,'','2012-12-12 12:11:05'),(1929,'PAYPAL_ADD_PAYMENT_URL',1,'1','chaine',0,'','2012-12-12 12:11:05'),(1980,'MAIN_PDF_FORMAT',1,'EUA4','chaine',0,'','2012-12-12 19:58:05'),(1981,'MAIN_PROFID1_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1982,'MAIN_PROFID2_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1983,'MAIN_PROFID3_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1984,'MAIN_PROFID4_IN_ADDRESS',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1985,'MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT',1,'0','chaine',0,'','2012-12-12 19:58:05'),(1990,'MAIN_SMS_SENDMODE',1,'ovh','chaine',0,'This is to enable OVH SMS engine','2012-12-17 21:19:01'),(2040,'MAIN_MAIL_SMTP_PORT',1,'465','chaine',0,'','2015-07-19 13:41:06'),(2041,'MAIN_MAIL_SMTP_SERVER',1,'smtp.mail.com','chaine',0,'','2015-07-19 13:41:06'),(2044,'MAIN_MAIL_EMAIL_TLS',1,'1','chaine',0,'','2015-07-19 13:41:06'),(2251,'FCKEDITOR_TEST',1,'Test
\r\n\"\"fdfs','chaine',0,'','2012-12-19 19:12:24'),(2293,'SYSTEMTOOLS_MYSQLDUMP',1,'/usr/bin/mysqldump','chaine',0,'','2012-12-27 02:02:00'),(2835,'MAIN_USE_CONNECT_TIMEOUT',1,'10','chaine',0,'','2013-01-16 19:28:50'),(2836,'MAIN_USE_RESPONSE_TIMEOUT',1,'30','chaine',0,'','2013-01-16 19:28:50'),(2837,'MAIN_PROXY_USE',1,'0','chaine',0,'','2013-01-16 19:28:50'),(2838,'MAIN_PROXY_HOST',1,'localhost','chaine',0,'','2013-01-16 19:28:50'),(2839,'MAIN_PROXY_PORT',1,'8080','chaine',0,'','2013-01-16 19:28:50'),(2840,'MAIN_PROXY_USER',1,'aaa','chaine',0,'','2013-01-16 19:28:50'),(2841,'MAIN_PROXY_PASS',1,'bbb','chaine',0,'','2013-01-16 19:28:50'),(2848,'OVHSMS_NICK',1,'BN196-OVH','chaine',0,'','2013-01-16 19:32:36'),(2849,'OVHSMS_PASS',1,'bigone-10','chaine',0,'','2013-01-16 19:32:36'),(2850,'OVHSMS_SOAPURL',1,'https://www.ovh.com/soapi/soapi-re-1.55.wsdl','chaine',0,'','2013-01-16 19:32:36'),(2854,'THEME_ELDY_RGB',1,'bfbf00','chaine',0,'','2013-01-18 10:02:53'),(2855,'THEME_ELDY_ENABLE_PERSONALIZED',1,'0','chaine',0,'','2013-01-18 10:02:55'),(2858,'MAIN_SESSION_TIMEOUT',1,'2000','chaine',0,'','2013-01-19 17:01:53'),(2862,'TICKET_ADDON',1,'mod_ticket_avenc','chaine',0,'Nom du gestionnaire de numerotation des tickets','2013-01-19 17:16:10'),(2867,'FACSIM_ADDON',1,'mod_facsim_alcoy','chaine',0,'','2013-01-19 17:16:25'),(2868,'POS_SERVICES',1,'0','chaine',0,'','2013-01-19 17:16:51'),(2869,'POS_USE_TICKETS',1,'1','chaine',0,'','2013-01-19 17:16:51'),(2870,'POS_MAX_TTC',1,'100','chaine',0,'','2013-01-19 17:16:51'),(3190,'MAIN_MODULE_HOLIDAY',2,'1',NULL,0,NULL,'2013-02-01 08:52:34'),(3191,'MAIN_MODULE_HOLIDAY_TABS_0',2,'user:+paidholidays:CPTitreMenu:holiday:$user->rights->holiday->write:/holiday/index.php?mainmenu=holiday&id=__ID__','chaine',0,NULL,'2013-02-01 08:52:34'),(3195,'INVOICE_SUPPLIER_ADDON_PDF',1,'canelle','chaine',0,'','2013-02-10 19:50:27'),(3199,'MAIN_FORCE_RELOAD_PAGE',1,'1','chaine',0,NULL,'2013-02-12 16:22:55'),(3217,'MAIN_PDF_TITLE_BACKGROUND_COLOR',1,'240,240,240','chaine',1,'','2013-02-13 15:18:02'),(3223,'OVH_THIRDPARTY_IMPORT',1,'2','chaine',0,'','2013-02-13 16:20:18'),(3241,'COMPANY_USE_SEARCH_TO_SELECT',1,'2','chaine',0,'','2013-02-17 14:33:39'),(3409,'AGENDA_USE_EVENT_TYPE',1,'1','chaine',0,'','2013-02-27 18:12:24'),(3886,'MAIN_REMOVE_INSTALL_WARNING',1,'1','chaine',1,'','2013-03-02 18:32:50'),(4013,'MAIN_DELAY_ACTIONS_TODO',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4014,'MAIN_DELAY_PROPALS_TO_CLOSE',1,'31','chaine',0,'','2013-03-06 08:59:12'),(4015,'MAIN_DELAY_PROPALS_TO_BILL',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4016,'MAIN_DELAY_ORDERS_TO_PROCESS',1,'2','chaine',0,'','2013-03-06 08:59:12'),(4017,'MAIN_DELAY_CUSTOMER_BILLS_UNPAYED',1,'31','chaine',0,'','2013-03-06 08:59:12'),(4018,'MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS',1,'7','chaine',0,'','2013-03-06 08:59:12'),(4019,'MAIN_DELAY_SUPPLIER_BILLS_TO_PAY',1,'2','chaine',0,'','2013-03-06 08:59:12'),(4020,'MAIN_DELAY_RUNNING_SERVICES',1,'-15','chaine',0,'','2013-03-06 08:59:12'),(4021,'MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE',1,'62','chaine',0,'','2013-03-06 08:59:13'),(4022,'MAIN_DELAY_MEMBERS',1,'31','chaine',0,'','2013-03-06 08:59:13'),(4023,'MAIN_DISABLE_METEO',1,'0','chaine',0,'','2013-03-06 08:59:13'),(4044,'ADHERENT_VAT_FOR_SUBSCRIPTIONS',1,'0','',0,'','2013-03-06 16:06:38'),(4047,'ADHERENT_BANK_USE',1,'bankviainvoice','',0,'','2013-03-06 16:12:30'),(4049,'PHPSANE_SCANIMAGE',1,'/usr/bin/scanimage','chaine',0,'','2013-03-06 21:54:13'),(4050,'PHPSANE_PNMTOJPEG',1,'/usr/bin/pnmtojpeg','chaine',0,'','2013-03-06 21:54:13'),(4051,'PHPSANE_PNMTOTIFF',1,'/usr/bin/pnmtotiff','chaine',0,'','2013-03-06 21:54:13'),(4052,'PHPSANE_OCR',1,'/usr/bin/gocr','chaine',0,'','2013-03-06 21:54:13'),(4548,'ECM_AUTO_TREE_ENABLED',1,'1','chaine',0,'','2013-03-10 15:57:21'),(4579,'MAIN_MODULE_AGENDA',2,'1',NULL,0,NULL,'2013-03-13 15:29:19'),(4580,'MAIN_AGENDA_ACTIONAUTO_COMPANY_CREATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4581,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4582,'MAIN_AGENDA_ACTIONAUTO_PROPAL_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4583,'MAIN_AGENDA_ACTIONAUTO_PROPAL_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4584,'MAIN_AGENDA_ACTIONAUTO_ORDER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4585,'MAIN_AGENDA_ACTIONAUTO_ORDER_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4586,'MAIN_AGENDA_ACTIONAUTO_BILL_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4587,'MAIN_AGENDA_ACTIONAUTO_BILL_PAYED',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4588,'MAIN_AGENDA_ACTIONAUTO_BILL_CANCEL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4589,'MAIN_AGENDA_ACTIONAUTO_BILL_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4590,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4591,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4592,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_VALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4593,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_SENTBYMAIL',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4594,'MAIN_AGENDA_ACTIONAUTO_BILL_UNVALIDATE',2,'1','chaine',0,NULL,'2013-03-13 15:29:19'),(4595,'MAIN_MODULE_GOOGLE',2,'1',NULL,0,NULL,'2013-03-13 15:29:47'),(4596,'MAIN_MODULE_GOOGLE_TABS_0',2,'agenda:+gcal:MenuAgendaGoogle:google@google:$conf->google->enabled && $conf->global->GOOGLE_ENABLE_AGENDA:/google/index.php','chaine',0,NULL,'2013-03-13 15:29:47'),(4597,'MAIN_MODULE_GOOGLE_TABS_1',2,'user:+gsetup:GoogleUserConf:google@google:$conf->google->enabled && $conf->global->GOOGLE_DUPLICATE_INTO_GCAL:/google/admin/google_calsync_user.php?id=__ID__','chaine',0,NULL,'2013-03-13 15:29:47'),(4598,'MAIN_MODULE_GOOGLE_TRIGGERS',2,'1','chaine',0,NULL,'2013-03-13 15:29:47'),(4599,'MAIN_MODULE_GOOGLE_HOOKS',2,'[\"toprightmenu\"]','chaine',0,NULL,'2013-03-13 15:29:47'),(4688,'GOOGLE_ENABLE_AGENDA',2,'1','chaine',0,'','2013-03-13 15:36:29'),(4689,'GOOGLE_AGENDA_NAME1',2,'eldy','chaine',0,'','2013-03-13 15:36:29'),(4690,'GOOGLE_AGENDA_SRC1',2,'eldy10@mail.com','chaine',0,'','2013-03-13 15:36:29'),(4691,'GOOGLE_AGENDA_COLOR1',2,'BE6D00','chaine',0,'','2013-03-13 15:36:29'),(4692,'GOOGLE_AGENDA_COLOR2',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4693,'GOOGLE_AGENDA_COLOR3',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4694,'GOOGLE_AGENDA_COLOR4',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4695,'GOOGLE_AGENDA_COLOR5',2,'7A367A','chaine',0,'','2013-03-13 15:36:29'),(4696,'GOOGLE_AGENDA_TIMEZONE',2,'Europe/Paris','chaine',0,'','2013-03-13 15:36:29'),(4697,'GOOGLE_AGENDA_NB',2,'5','chaine',0,'','2013-03-13 15:36:29'),(4698,'MAIN_DISABLE_ALL_MAILS',1,'0','chaine',0,'','2013-03-13 17:22:24'),(4699,'MAIN_MAIL_SENDMODE',1,'mail','chaine',0,'','2015-07-19 13:41:06'),(4700,'MAIN_MAIL_SMTPS_ID',1,'eldy10@mail.com','chaine',0,'','2015-07-19 13:41:06'),(4701,'MAIN_MAIL_SMTPS_PW',1,'bidonge','chaine',0,'','2015-07-19 13:41:06'),(4711,'GOOGLE_ENABLE_AGENDA',1,'1','chaine',0,'','2013-03-13 19:37:38'),(4712,'GOOGLE_AGENDA_NAME1',1,'asso master','chaine',0,'','2013-03-13 19:37:38'),(4713,'GOOGLE_AGENDA_SRC1',1,'assodolibarr@mail.com','chaine',0,'','2013-03-13 19:37:38'),(4714,'GOOGLE_AGENDA_COLOR1',1,'1B887A','chaine',0,'','2013-03-13 19:37:38'),(4715,'GOOGLE_AGENDA_COLOR2',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4716,'GOOGLE_AGENDA_COLOR3',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4717,'GOOGLE_AGENDA_COLOR4',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4718,'GOOGLE_AGENDA_COLOR5',1,'7A367A','chaine',0,'','2013-03-13 19:37:38'),(4719,'GOOGLE_AGENDA_TIMEZONE',1,'Europe/Paris','chaine',0,'','2013-03-13 19:37:38'),(4720,'GOOGLE_AGENDA_NB',1,'5','chaine',0,'','2013-03-13 19:37:38'),(4725,'SOCIETE_CODECLIENT_ADDON',2,'mod_codeclient_leopard','chaine',0,'Module to control third parties codes','2013-03-13 20:21:35'),(4726,'SOCIETE_CODECOMPTA_ADDON',2,'mod_codecompta_panicum','chaine',0,'Module to control third parties codes','2013-03-13 20:21:35'),(4727,'SOCIETE_FISCAL_MONTH_START',2,'','chaine',0,'Mettre le numero du mois du debut d\\\'annee fiscale, ex: 9 pour septembre','2013-03-13 20:21:35'),(4728,'MAIN_SEARCHFORM_SOCIETE',2,'1','yesno',0,'Show form for quick company search','2013-03-13 20:21:35'),(4729,'MAIN_SEARCHFORM_CONTACT',2,'1','yesno',0,'Show form for quick contact search','2013-03-13 20:21:35'),(4730,'COMPANY_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/thirdparties','chaine',0,NULL,'2013-03-13 20:21:35'),(4743,'MAIN_MODULE_CLICKTODIAL',2,'1',NULL,0,NULL,'2013-03-13 20:30:28'),(4744,'MAIN_MODULE_NOTIFICATION',2,'1',NULL,0,NULL,'2013-03-13 20:30:34'),(4745,'MAIN_MODULE_WEBSERVICES',2,'1',NULL,0,NULL,'2013-03-13 20:30:41'),(4746,'MAIN_MODULE_PROPALE',2,'1',NULL,0,NULL,'2013-03-13 20:32:38'),(4747,'PROPALE_ADDON_PDF',2,'azur','chaine',0,'Nom du gestionnaire de generation des propales en PDF','2013-03-13 20:32:38'),(4748,'PROPALE_ADDON',2,'mod_propale_marbre','chaine',0,'Nom du gestionnaire de numerotation des propales','2013-03-13 20:32:38'),(4749,'PROPALE_VALIDITY_DURATION',2,'15','chaine',0,'Duration of validity of business proposals','2013-03-13 20:32:38'),(4750,'PROPALE_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/proposals','chaine',0,NULL,'2013-03-13 20:32:38'),(4752,'MAIN_MODULE_TAX',2,'1',NULL,0,NULL,'2013-03-13 20:32:47'),(4753,'MAIN_MODULE_DON',2,'1',NULL,0,NULL,'2013-03-13 20:32:54'),(4754,'DON_ADDON_MODEL',2,'html_cerfafr','chaine',0,'Nom du gestionnaire de generation de recu de dons','2013-03-13 20:32:54'),(4755,'POS_USE_TICKETS',2,'1','chaine',0,'','2013-03-13 20:33:09'),(4756,'POS_MAX_TTC',2,'100','chaine',0,'','2013-03-13 20:33:09'),(4757,'MAIN_MODULE_POS',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4758,'TICKET_ADDON',2,'mod_ticket_avenc','chaine',0,'Nom du gestionnaire de numerotation des tickets','2013-03-13 20:33:09'),(4759,'MAIN_MODULE_BANQUE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4760,'MAIN_MODULE_FACTURE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4761,'FACTURE_ADDON_PDF',2,'crabe','chaine',0,'Name of PDF model of invoice','2013-03-13 20:33:09'),(4762,'FACTURE_ADDON',2,'mod_facture_terre','chaine',0,'Name of numbering numerotation rules of invoice','2013-03-13 20:33:09'),(4763,'FACTURE_ADDON_PDF_ODT_PATH',2,'DOL_DATA_ROOT/doctemplates/invoices','chaine',0,NULL,'2013-03-13 20:33:09'),(4764,'MAIN_MODULE_SOCIETE',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4765,'MAIN_MODULE_PRODUCT',2,'1',NULL,0,NULL,'2013-03-13 20:33:09'),(4766,'PRODUCT_CODEPRODUCT_ADDON',2,'mod_codeproduct_leopard','chaine',0,'Module to control product codes','2013-03-13 20:33:09'),(4767,'MAIN_SEARCHFORM_PRODUITSERVICE',2,'1','yesno',0,'Show form for quick product search','2013-03-13 20:33:09'),(4772,'FACSIM_ADDON',2,'mod_facsim_alcoy','chaine',0,'','2013-03-13 20:33:32'),(4773,'MAIN_MODULE_MAILING',2,'1',NULL,0,NULL,'2013-03-13 20:33:37'),(4774,'MAIN_MODULE_OPENSURVEY',2,'1',NULL,0,NULL,'2013-03-13 20:33:42'),(4782,'AGENDA_USE_EVENT_TYPE',2,'1','chaine',0,'','2013-03-13 20:53:36'),(4884,'AGENDA_DISABLE_EXT',2,'1','chaine',0,'','2013-03-13 22:03:40'),(4928,'COMMANDE_SUPPLIER_ADDON_NUMBER',1,'mod_commande_fournisseur_muguet','chaine',0,'Nom du gestionnaire de numerotation des commandes fournisseur','2013-03-22 09:24:29'),(4929,'INVOICE_SUPPLIER_ADDON_NUMBER',1,'mod_facture_fournisseur_cactus','chaine',0,'Nom du gestionnaire de numerotation des factures fournisseur','2013-03-22 09:24:29'),(5001,'MAIN_CRON_KEY',0,'bc54582fe30d5d4a830c6f582ec28810','chaine',0,'','2013-03-23 17:54:53'),(5009,'CRON_KEY',0,'2c2e755c20be2014098f629865598006','chaine',0,'','2013-03-23 18:06:24'),(5075,'MAIN_MENU_STANDARD',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5076,'MAIN_MENU_SMARTPHONE',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5077,'MAIN_MENUFRONT_STANDARD',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5078,'MAIN_MENUFRONT_SMARTPHONE',1,'eldy_menu.php','chaine',0,'','2013-03-24 02:51:13'),(5139,'SOCIETE_ADD_REF_IN_LIST',1,'','yesno',0,'Display customer ref into select list','2013-09-08 23:06:08'),(5150,'PROJECT_TASK_ADDON_PDF',1,'','chaine',0,'Name of PDF/ODT tasks manager class','2013-09-08 23:06:14'),(5151,'PROJECT_TASK_ADDON',1,'mod_task_simple','chaine',0,'Name of Numbering Rule task manager class','2013-09-08 23:06:14'),(5152,'PROJECT_TASK_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/tasks','chaine',0,'','2013-09-08 23:06:14'),(5195,'GOOGLE_DUPLICATE_INTO_THIRDPARTIES',1,'1','chaine',0,'','2013-11-07 00:02:34'),(5196,'GOOGLE_DUPLICATE_INTO_CONTACTS',1,'0','chaine',0,'','2013-11-07 00:02:34'),(5197,'GOOGLE_DUPLICATE_INTO_MEMBERS',1,'0','chaine',0,'','2013-11-07 00:02:34'),(5198,'GOOGLE_CONTACT_LOGIN',1,'eldy10@mail.com','chaine',0,'','2013-11-07 00:02:34'),(5199,'GOOGLE_CONTACT_PASSWORD',1,'bidonge','chaine',0,'','2013-11-07 00:02:34'),(5200,'GOOGLE_TAG_PREFIX',1,'Dolibarr (Thirdparties)','chaine',0,'','2013-11-07 00:02:34'),(5201,'GOOGLE_TAG_PREFIX_CONTACTS',1,'Dolibarr (Contacts/Addresses)','chaine',0,'','2013-11-07 00:02:34'),(5202,'GOOGLE_TAG_PREFIX_MEMBERS',1,'Dolibarr (Members)','chaine',0,'','2013-11-07 00:02:34'),(5239,'BOOKMARKS_SHOW_IN_MENU',1,'10','chaine',0,'','2014-03-02 15:42:26'),(5271,'DONATION_ART200',1,'','yesno',0,'Option Française - Eligibilité Art200 du CGI','2014-12-21 12:51:28'),(5272,'DONATION_ART238',1,'','yesno',0,'Option Française - Eligibilité Art238 bis du CGI','2014-12-21 12:51:28'),(5273,'DONATION_ART885',1,'','yesno',0,'Option Française - Eligibilité Art885-0 V bis du CGI','2014-12-21 12:51:28'),(5274,'DONATION_MESSAGE',1,'Thank you','chaine',0,'Message affiché sur le récépissé de versements ou dons','2014-12-21 12:51:28'),(5288,'DONATION_ACCOUNTINGACCOUNT',1,'7581','chaine',0,'Compte comptable de remise des versements ou dons','2015-07-19 13:41:21'),(5317,'INVOICE_CAN_ALWAYS_BE_REMOVED',1,'1','chaine',1,'','2015-10-03 09:25:30'),(5338,'MAIN_LANG_DEFAULT',1,'en_US','chaine',0,'','2015-10-03 10:11:33'),(5339,'MAIN_MULTILANGS',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5340,'MAIN_SIZE_LISTE_LIMIT',1,'25','chaine',0,'','2015-10-03 10:11:33'),(5341,'MAIN_DISABLE_JAVASCRIPT',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5342,'MAIN_BUTTON_HIDE_UNAUTHORIZED',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5343,'MAIN_START_WEEK',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5344,'MAIN_DEFAULT_WORKING_DAYS',1,'1-5','chaine',0,'','2015-10-03 10:11:33'),(5345,'MAIN_DEFAULT_WORKING_HOURS',1,'9-18','chaine',0,'','2015-10-03 10:11:33'),(5346,'MAIN_SHOW_LOGO',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5347,'MAIN_FIRSTNAME_NAME_POSITION',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5348,'MAIN_THEME',1,'eldy','chaine',0,'','2015-10-03 10:11:33'),(5349,'MAIN_SEARCHFORM_CONTACT',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5350,'MAIN_SEARCHFORM_SOCIETE',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5351,'MAIN_SEARCHFORM_PRODUITSERVICE',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5352,'MAIN_SEARCHFORM_PRODUITSERVICE_SUPPLIER',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5353,'MAIN_SEARCHFORM_ADHERENT',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5354,'MAIN_SEARCHFORM_PROJECT',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5355,'MAIN_HELPCENTER_DISABLELINK',0,'1','chaine',0,'','2015-10-03 10:11:33'),(5356,'MAIN_HOME',1,'__(NoteSomeFeaturesAreDisabled)__
\r\n
\r\n__(SomeTranslationAreUncomplete)__
','chaine',0,'','2015-10-03 10:11:33'),(5357,'MAIN_HELP_DISABLELINK',0,'0','chaine',0,'','2015-10-03 10:11:33'),(5358,'MAIN_BUGTRACK_ENABLELINK',1,'0','chaine',0,'','2015-10-03 10:11:33'),(5359,'THEME_ELDY_USE_HOVER',1,'1','chaine',0,'','2015-10-03 10:11:33'),(5394,'FCKEDITOR_ENABLE_DETAILS',1,'1','yesno',0,'WYSIWIG for products details lines for all entities','2015-11-04 15:27:44'),(5395,'FCKEDITOR_ENABLE_USERSIGN',1,'1','yesno',0,'WYSIWIG for user signature','2015-11-04 15:27:44'),(5396,'FCKEDITOR_ENABLE_MAIL',1,'1','yesno',0,'WYSIWIG for products details lines for all entities','2015-11-04 15:27:44'),(5398,'CATEGORIE_RECURSIV_ADD',1,'','yesno',0,'Affect parent categories','2015-11-04 15:27:46'),(5403,'MAIN_MODULE_FCKEDITOR',1,'1',NULL,0,NULL,'2015-11-04 15:41:40'),(5404,'MAIN_MODULE_CATEGORIE',1,'1',NULL,0,NULL,'2015-11-04 15:41:43'),(5415,'EXPEDITION_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/shipment','chaine',0,NULL,'2015-11-15 22:38:28'),(5416,'LIVRAISON_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/delivery','chaine',0,NULL,'2015-11-15 22:38:28'),(5419,'MAIN_MODULE_CASHDESK',1,'1',NULL,0,NULL,'2015-11-15 22:38:33'),(5426,'MAIN_MODULE_PROJET',1,'1',NULL,0,NULL,'2015-11-15 22:38:44'),(5427,'PROJECT_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/projects','chaine',0,NULL,'2015-11-15 22:38:44'),(5428,'PROJECT_USE_OPPORTUNIES',1,'1','chaine',0,NULL,'2015-11-15 22:38:44'),(5430,'MAIN_MODULE_EXPORT',1,'1',NULL,0,NULL,'2015-11-15 22:38:56'),(5431,'MAIN_MODULE_IMPORT',1,'1',NULL,0,NULL,'2015-11-15 22:38:58'),(5432,'MAIN_MODULE_MAILING',1,'1',NULL,0,NULL,'2015-11-15 22:39:00'),(5433,'MAIN_MODULE_EXPENSEREPORT',1,'1',NULL,0,NULL,'2015-11-15 22:39:05'),(5434,'EXPENSEREPORT_ADDON_PDF',1,'standard','chaine',0,'Name of manager to build PDF expense reports documents','2015-11-15 22:39:05'),(5435,'MAIN_MODULE_SALARIES',1,'1',NULL,0,NULL,'2015-11-15 22:39:08'),(5436,'SALARIES_ACCOUNTING_ACCOUNT_PAYMENT',1,'421','chaine',0,NULL,'2015-11-15 22:39:08'),(5437,'SALARIES_ACCOUNTING_ACCOUNT_CHARGE',1,'641','chaine',0,NULL,'2015-11-15 22:39:08'),(5440,'MAIN_MODULE_ADHERENT',1,'1',NULL,0,NULL,'2015-11-15 22:39:17'),(5441,'ADHERENT_ETIQUETTE_TEXT',1,'%FULLNAME%\n%ADDRESS%\n%ZIP% %TOWN%\n%COUNTRY%','texte',0,'Text to print on member address sheets','2015-11-15 22:39:17'),(5442,'MAIN_MODULE_TAX',1,'1',NULL,0,NULL,'2015-11-15 22:39:22'),(5443,'MAIN_MODULE_PRELEVEMENT',1,'1',NULL,0,NULL,'2015-11-15 22:39:33'),(5449,'MAIN_MODULE_COMPTABILITE',1,'1',NULL,0,NULL,'2015-11-15 22:39:46'),(5452,'MAIN_MODULE_BANQUE',1,'1',NULL,0,NULL,'2015-11-15 22:39:46'),(5453,'MAIN_MODULE_CONTRAT',1,'1',NULL,0,NULL,'2015-11-15 22:39:52'),(5455,'MAIN_MODULE_FICHEINTER',1,'1',NULL,0,NULL,'2015-11-15 22:39:56'),(5458,'MAIN_MODULE_BOOKMARK',1,'1',NULL,0,NULL,'2015-11-15 22:40:51'),(5459,'MAIN_MODULE_PAYPAL',1,'1',NULL,0,NULL,'2015-11-15 22:41:02'),(5460,'MAIN_MODULE_MARGIN',1,'1',NULL,0,NULL,'2015-11-15 22:41:47'),(5461,'MAIN_MODULE_MARGIN_TABS_0',1,'product:+margin:Margins:margins:$user->rights->margins->liretous:/margin/tabs/productMargins.php?id=__ID__','chaine',0,NULL,'2015-11-15 22:41:47'),(5462,'MAIN_MODULE_MARGIN_TABS_1',1,'thirdparty:+margin:Margins:margins:empty($user->societe_id) && $user->rights->margins->liretous && ($object->client > 0):/margin/tabs/thirdpartyMargins.php?socid=__ID__','chaine',0,NULL,'2015-11-15 22:41:47'),(5463,'MAIN_MODULE_PROPALE',1,'1',NULL,0,NULL,'2015-11-15 22:41:47'),(5483,'GENBARCODE_BARCODETYPE_THIRDPARTY',1,'6','chaine',0,'','2016-01-16 15:49:43'),(5484,'PRODUIT_DEFAULT_BARCODE_TYPE',1,'2','chaine',0,'','2016-01-16 15:49:46'),(5539,'PRODUCT_USE_OLD_PATH_FOR_PHOTO',0,'0','chaine',1,'Use old path for products images','2016-01-22 13:34:23'),(5540,'MAIN_SOAP_DEBUG',1,'0','chaine',1,'','2016-01-22 13:34:57'),(5541,'MODULE_GOOGLE_DEBUG',1,'0','chaine',1,'','2016-01-22 13:34:57'),(5543,'MAIN_MAIL_DEBUG',1,'1','chaine',1,'','2016-01-22 13:35:24'),(5548,'MAIN_MODULE_ECM',1,'1',NULL,0,NULL,'2016-01-22 17:26:43'),(5551,'MAIN_MODULE_HOLIDAY',1,'1',NULL,0,NULL,'2016-01-22 17:26:43'),(5552,'MAIN_MODULE_HOLIDAY_TABS_0',1,'user:+paidholidays:CPTitreMenu:holiday:$user->rights->holiday->read:/holiday/list.php?mainmenu=holiday&id=__ID__','chaine',0,NULL,'2016-01-22 17:26:43'),(5555,'MAIN_MODULE_SERVICE',1,'1',NULL,0,NULL,'2016-01-22 17:26:43'),(5560,'MAILING_LIMIT_SENDBYWEB',0,'25','chaine',1,'Number of targets to defined packet size when sending mass email','2016-01-22 17:28:18'),(5561,'SYSLOG_HANDLERS',0,'[\"mod_syslog_file\"]','chaine',0,'Which logger to use','2016-01-22 17:28:18'),(5562,'SYSLOG_FILE',0,'DOL_DATA_ROOT/dolibarr.log','chaine',0,'Directory where to write log file','2016-01-22 17:28:18'),(5568,'MAIN_MAIL_EMAIL_FROM',1,'robot@domain.com','chaine',0,'EMail emetteur pour les emails automatiques Dolibarr','2016-01-22 17:28:18'),(5586,'MAIN_DELAY_EXPENSEREPORTS_TO_PAY',1,'31','chaine',0,'Tolérance de retard avant alerte (en jours) sur les notes de frais impayées','2016-01-22 17:28:18'),(5587,'MAIN_FIX_FOR_BUGGED_MTA',1,'1','chaine',1,'Set constant to fix email ending from PHP with some linux ike system','2016-01-22 17:28:18'),(5589,'MAIN_MODULE_USER',0,'1',NULL,0,NULL,'2016-01-22 17:28:42'),(5590,'MAIN_VERSION_LAST_INSTALL',0,'3.8.3','chaine',0,'Dolibarr version when install','2016-01-22 17:28:42'),(5604,'MAIN_INFO_SOCIETE_LOGO',1,'mybigcompany.png','chaine',0,'','2016-01-22 17:33:49'),(5605,'MAIN_INFO_SOCIETE_LOGO_SMALL',1,'mybigcompany_small.png','chaine',0,'','2016-01-22 17:33:49'),(5606,'MAIN_INFO_SOCIETE_LOGO_MINI',1,'mybigcompany_mini.png','chaine',0,'','2016-01-22 17:33:49'),(5612,'MAIN_ENABLE_LOG_TO_HTML',0,'0','chaine',1,'If this option is set to 1, it is possible to see log output at end of HTML sources by adding paramater logtohtml=1 on URL','2016-03-13 10:54:45'),(5614,'MAIN_SIZE_SHORTLISTE_LIMIT',1,'4','chaine',0,'Longueur maximum des listes courtes (fiche client)','2016-03-13 10:54:46'),(5622,'MAIN_MODULE_BARCODE',1,'1',NULL,0,NULL,'2016-07-30 11:12:59'),(5623,'MAIN_MODULE_FACTURE',1,'1',NULL,0,NULL,'2016-07-30 11:12:59'),(5624,'MAIN_VERSION_LAST_UPGRADE',0,'4.0.0-rc2','chaine',0,'Dolibarr version for last upgrade','2016-07-30 11:13:02'),(5626,'MAIN_MODULE_SUPPLIERPROPOSAL',1,'1',NULL,0,NULL,'2016-07-30 11:13:20'),(5627,'SUPPLIER_PROPOSAL_ADDON_PDF',1,'aurore','chaine',0,'Name of submodule to generate PDF for supplier quotation request','2016-07-30 11:13:20'),(5628,'SUPPLIER_PROPOSAL_ADDON',1,'mod_supplier_proposal_marbre','chaine',0,'Name of submodule to number supplier quotation request','2016-07-30 11:13:20'),(5629,'SUPPLIER_PROPOSAL_ADDON_PDF_ODT_PATH',1,'DOL_DATA_ROOT/doctemplates/supplier_proposal','chaine',0,NULL,'2016-07-30 11:13:20'),(5632,'MAIN_MODULE_RESOURCE',1,'1',NULL,0,NULL,'2016-07-30 11:13:32'),(5633,'MAIN_MODULE_API',1,'1',NULL,0,NULL,'2016-07-30 11:13:54'),(5634,'MAIN_MODULE_WEBSERVICES',1,'1',NULL,0,NULL,'2016-07-30 11:13:56'),(5635,'WEBSERVICES_KEY',1,'dolibarrkey','chaine',0,'','2016-07-30 11:14:04'),(5636,'MAIN_MODULE_CRON',1,'1',NULL,0,NULL,'2016-07-30 11:14:25'),(5637,'MAIN_MODULE_SYSLOG',0,'1',NULL,0,NULL,'2016-07-30 11:14:27'),(5638,'MAIN_MODULE_EXTERNALRSS',1,'1',NULL,0,NULL,'2016-07-30 11:15:04'),(5639,'EXTERNAL_RSS_TITLE_1',1,'Dolibarr.org News','chaine',0,'','2016-07-30 11:15:25'),(5640,'EXTERNAL_RSS_URLRSS_1',1,'https://www.dolibarr.org/rss','chaine',0,'','2016-07-30 11:15:25'),(5641,'MAIN_MODULE_DON',1,'1',NULL,0,NULL,'2016-07-30 11:16:22'),(5642,'SOCIETE_CODECOMPTA_ADDON',1,'mod_codecompta_aquarium','chaine',0,'','2016-07-30 11:16:42'),(5680,'MAIN_INFO_SOCIETE_COUNTRY',1,'14:CA:Canada','chaine',0,'','2016-07-30 11:19:05'),(5681,'MAIN_INFO_SOCIETE_NOM',1,'MyBigCompany','chaine',0,'','2016-07-30 11:19:05'),(5682,'MAIN_INFO_SOCIETE_ADDRESS',1,'21 Jump street','chaine',0,'','2016-07-30 11:19:05'),(5683,'MAIN_INFO_SOCIETE_TOWN',1,'MyTown','chaine',0,'','2016-07-30 11:19:05'),(5684,'MAIN_INFO_SOCIETE_ZIP',1,'75500','chaine',0,'','2016-07-30 11:19:05'),(5685,'MAIN_INFO_SOCIETE_STATE',1,'1514','chaine',0,'','2016-07-30 11:19:05'),(5686,'MAIN_MONNAIE',1,'EUR','chaine',0,'','2016-07-30 11:19:05'),(5687,'MAIN_INFO_SOCIETE_TEL',1,'09123123','chaine',0,'','2016-07-30 11:19:05'),(5688,'MAIN_INFO_SOCIETE_FAX',1,'09123124','chaine',0,'','2016-07-30 11:19:05'),(5689,'MAIN_INFO_SOCIETE_MAIL',1,'myemail@mybigcompany.com','chaine',0,'','2016-07-30 11:19:05'),(5690,'MAIN_INFO_SOCIETE_WEB',1,'http://www.dolibarr.org','chaine',0,'','2016-07-30 11:19:05'),(5691,'MAIN_INFO_SOCIETE_NOTE',1,'This is note about my company','chaine',0,'','2016-07-30 11:19:05'),(5692,'MAIN_INFO_SOCIETE_GENCOD',1,'1234567890','chaine',0,'','2016-07-30 11:19:05'),(5693,'MAIN_INFO_SOCIETE_MANAGERS',1,'Zack Zeceo','chaine',0,'','2016-07-30 11:19:05'),(5694,'MAIN_INFO_CAPITAL',1,'10000','chaine',0,'','2016-07-30 11:19:05'),(5695,'MAIN_INFO_SOCIETE_FORME_JURIDIQUE',1,'0','chaine',0,'','2016-07-30 11:19:05'),(5696,'MAIN_INFO_SIREN',1,'123456','chaine',0,'','2016-07-30 11:19:05'),(5697,'MAIN_INFO_TVAINTRA',1,'FR1234567','chaine',0,'','2016-07-30 11:19:05'),(5698,'MAIN_INFO_SOCIETE_OBJECT',1,'A company demo to show how Dolibarr ERP CRM is wonderfull','chaine',0,'','2016-07-30 11:19:05'),(5699,'SOCIETE_FISCAL_MONTH_START',1,'1','chaine',0,'','2016-07-30 11:19:05'),(5700,'FACTURE_TVAOPTION',1,'1','chaine',0,'','2016-07-30 11:19:05'),(5701,'FACTURE_LOCAL_TAX1_OPTION',1,'localtax1on','chaine',0,'','2016-07-30 11:19:05'),(5702,'MAIN_INFO_VALUE_LOCALTAX1',1,'0','chaine',0,'','2016-07-30 11:19:05'),(5703,'MAIN_INFO_LOCALTAX_CALC1',1,'0','chaine',0,'','2016-07-30 11:19:05'),(5704,'PROJECT_USE_OPPORTUNITIES',1,'1','chaine',0,'','2016-07-30 11:19:17'),(5707,'CASHDESK_NO_DECREASE_STOCK',1,'1','chaine',0,'','2016-07-30 13:38:11'),(5708,'MAIN_MODULE_PRODUCTBATCH',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5710,'MAIN_MODULE_STOCK',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5711,'MAIN_MODULE_PRODUCT',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5712,'MAIN_MODULE_EXPEDITION',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5713,'MAIN_MODULE_COMMANDE',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5715,'MAIN_MODULE_FOURNISSEUR',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5716,'MAIN_MODULE_SOCIETE',1,'1',NULL,0,NULL,'2016-07-30 13:38:11'),(5765,'MAIN_MODULE_AGENDA',1,'1',NULL,0,NULL,'2016-07-30 15:42:32'),(5766,'MAIN_AGENDA_ACTIONAUTO_COMPANY_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5767,'MAIN_AGENDA_ACTIONAUTO_COMPANY_CREATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5768,'MAIN_AGENDA_ACTIONAUTO_PROPAL_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5769,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLOSE_SIGNED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5770,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLOSE_REFUSED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5771,'MAIN_AGENDA_ACTIONAUTO_PROPAL_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5772,'MAIN_AGENDA_ACTIONAUTO_PROPAL_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5773,'MAIN_AGENDA_ACTIONAUTO_ORDER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5774,'MAIN_AGENDA_ACTIONAUTO_ORDER_CLOSE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5775,'MAIN_AGENDA_ACTIONAUTO_ORDER_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5776,'MAIN_AGENDA_ACTIONAUTO_ORDER_CANCEL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5777,'MAIN_AGENDA_ACTIONAUTO_ORDER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5778,'MAIN_AGENDA_ACTIONAUTO_BILL_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5779,'MAIN_AGENDA_ACTIONAUTO_BILL_PAYED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5780,'MAIN_AGENDA_ACTIONAUTO_BILL_CANCEL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5781,'MAIN_AGENDA_ACTIONAUTO_BILL_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5782,'MAIN_AGENDA_ACTIONAUTO_BILL_UNVALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5783,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5784,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_APPROVE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5785,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_SUBMIT',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5786,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_RECEIVE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5787,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_REFUSE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5788,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5789,'MAIN_AGENDA_ACTIONAUTO_ORDER_SUPPLIER_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5790,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5791,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_UNVALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5792,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_PAYED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5793,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5794,'MAIN_AGENDA_ACTIONAUTO_BILL_SUPPLIER_CANCELED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5795,'MAIN_AGENDA_ACTIONAUTO_CONTRACT_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5796,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5797,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_CLASSIFY_BILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5798,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_CLASSIFY_UNBILLED',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5799,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_REOPEN',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5800,'MAIN_AGENDA_ACTIONAUTO_FICHINTER_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5801,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5802,'MAIN_AGENDA_ACTIONAUTO_SHIPPING_SENTBYMAIL',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5803,'MAIN_AGENDA_ACTIONAUTO_MEMBER_VALIDATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5804,'MAIN_AGENDA_ACTIONAUTO_MEMBER_SUBSCRIPTION',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5805,'MAIN_AGENDA_ACTIONAUTO_MEMBER_RESILIATE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5806,'MAIN_AGENDA_ACTIONAUTO_MEMBER_MODIFY',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5807,'MAIN_AGENDA_ACTIONAUTO_MEMBER_DELETE',1,'1','chaine',0,NULL,'2016-07-30 15:42:32'),(5808,'MARGIN_TYPE',1,'costprice','chaine',0,'','2016-07-30 16:32:18'),(5809,'DISPLAY_MARGIN_RATES',1,'1','chaine',0,'','2016-07-30 16:32:20'),(5810,'MAIN_FEATURES_LEVEL',0,'0','chaine',1,'Level of features to show (0=stable only, 1=stable+experimental, 2=stable+experimental+development','2016-07-30 18:36:15'),(5812,'MAIN_MODULE_OPENSURVEY',1,'1',NULL,0,NULL,'2016-07-30 19:04:07'); /*!40000 ALTER TABLE `llx_const` ENABLE KEYS */; UNLOCK TABLES; @@ -3866,7 +3866,7 @@ CREATE TABLE `llx_events` ( `fk_object` int(11) DEFAULT NULL, PRIMARY KEY (`rowid`), KEY `idx_events_dateevent` (`dateevent`) -) ENGINE=InnoDB AUTO_INCREMENT=750 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=768 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -3875,7 +3875,7 @@ CREATE TABLE `llx_events` ( LOCK TABLES `llx_events` WRITE; /*!40000 ALTER TABLE `llx_events` DISABLE KEYS */; -INSERT INTO `llx_events` VALUES (30,'2011-07-18 18:23:06','USER_LOGOUT',1,'2011-07-18 20:23:06',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(31,'2011-07-18 18:23:12','USER_LOGIN_FAILED',1,'2011-07-18 20:23:12',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(32,'2011-07-18 18:23:17','USER_LOGIN',1,'2011-07-18 20:23:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(33,'2011-07-18 20:10:51','USER_LOGIN_FAILED',1,'2011-07-18 22:10:51',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(34,'2011-07-18 20:10:55','USER_LOGIN',1,'2011-07-18 22:10:55',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(35,'2011-07-18 21:18:57','USER_LOGIN',1,'2011-07-18 23:18:57',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(36,'2011-07-20 10:34:10','USER_LOGIN',1,'2011-07-20 12:34:10',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(37,'2011-07-20 12:36:44','USER_LOGIN',1,'2011-07-20 14:36:44',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(38,'2011-07-20 13:20:51','USER_LOGIN_FAILED',1,'2011-07-20 15:20:51',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(39,'2011-07-20 13:20:54','USER_LOGIN',1,'2011-07-20 15:20:54',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(40,'2011-07-20 15:03:46','USER_LOGIN_FAILED',1,'2011-07-20 17:03:46',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(41,'2011-07-20 15:03:55','USER_LOGIN',1,'2011-07-20 17:03:55',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(42,'2011-07-20 18:05:05','USER_LOGIN_FAILED',1,'2011-07-20 20:05:05',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(43,'2011-07-20 18:05:08','USER_LOGIN',1,'2011-07-20 20:05:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(44,'2011-07-20 21:08:53','USER_LOGIN_FAILED',1,'2011-07-20 23:08:53',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(45,'2011-07-20 21:08:56','USER_LOGIN',1,'2011-07-20 23:08:56',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(46,'2011-07-21 01:26:12','USER_LOGIN',1,'2011-07-21 03:26:12',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(47,'2011-07-21 22:35:45','USER_LOGIN_FAILED',1,'2011-07-22 00:35:45',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(48,'2011-07-21 22:35:49','USER_LOGIN',1,'2011-07-22 00:35:49',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(49,'2011-07-26 23:09:47','USER_LOGIN_FAILED',1,'2011-07-27 01:09:47',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(50,'2011-07-26 23:09:50','USER_LOGIN',1,'2011-07-27 01:09:50',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(51,'2011-07-27 17:02:27','USER_LOGIN_FAILED',1,'2011-07-27 19:02:27',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(52,'2011-07-27 17:02:32','USER_LOGIN',1,'2011-07-27 19:02:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(53,'2011-07-27 23:33:37','USER_LOGIN_FAILED',1,'2011-07-28 01:33:37',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(54,'2011-07-27 23:33:41','USER_LOGIN',1,'2011-07-28 01:33:41',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(55,'2011-07-28 18:20:36','USER_LOGIN_FAILED',1,'2011-07-28 20:20:36',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(56,'2011-07-28 18:20:38','USER_LOGIN',1,'2011-07-28 20:20:38',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(57,'2011-07-28 20:13:30','USER_LOGIN_FAILED',1,'2011-07-28 22:13:30',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(58,'2011-07-28 20:13:34','USER_LOGIN',1,'2011-07-28 22:13:34',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(59,'2011-07-28 20:22:51','USER_LOGIN',1,'2011-07-28 22:22:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(60,'2011-07-28 23:05:06','USER_LOGIN',1,'2011-07-29 01:05:06',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(61,'2011-07-29 20:15:50','USER_LOGIN_FAILED',1,'2011-07-29 22:15:50',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(62,'2011-07-29 20:15:53','USER_LOGIN',1,'2011-07-29 22:15:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(68,'2011-07-29 20:51:01','USER_LOGOUT',1,'2011-07-29 22:51:01',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(69,'2011-07-29 20:51:05','USER_LOGIN',1,'2011-07-29 22:51:05',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(70,'2011-07-30 08:46:20','USER_LOGIN_FAILED',1,'2011-07-30 10:46:20',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(71,'2011-07-30 08:46:38','USER_LOGIN_FAILED',1,'2011-07-30 10:46:38',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(72,'2011-07-30 08:46:42','USER_LOGIN',1,'2011-07-30 10:46:42',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(73,'2011-07-30 10:05:12','USER_LOGIN_FAILED',1,'2011-07-30 12:05:12',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(74,'2011-07-30 10:05:15','USER_LOGIN',1,'2011-07-30 12:05:15',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(75,'2011-07-30 12:15:46','USER_LOGIN',1,'2011-07-30 14:15:46',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(76,'2011-07-31 22:19:30','USER_LOGIN',1,'2011-08-01 00:19:30',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(77,'2011-07-31 23:32:52','USER_LOGIN',1,'2011-08-01 01:32:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(78,'2011-08-01 01:24:50','USER_LOGIN_FAILED',1,'2011-08-01 03:24:50',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(79,'2011-08-01 01:24:54','USER_LOGIN',1,'2011-08-01 03:24:54',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(80,'2011-08-01 19:31:36','USER_LOGIN_FAILED',1,'2011-08-01 21:31:35',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(81,'2011-08-01 19:31:39','USER_LOGIN',1,'2011-08-01 21:31:39',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(82,'2011-08-01 20:01:36','USER_LOGIN',1,'2011-08-01 22:01:36',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(83,'2011-08-01 20:52:54','USER_LOGIN_FAILED',1,'2011-08-01 22:52:54',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(84,'2011-08-01 20:52:58','USER_LOGIN',1,'2011-08-01 22:52:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(85,'2011-08-01 21:17:28','USER_LOGIN_FAILED',1,'2011-08-01 23:17:28',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(86,'2011-08-01 21:17:31','USER_LOGIN',1,'2011-08-01 23:17:31',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(87,'2011-08-04 11:55:17','USER_LOGIN',1,'2011-08-04 13:55:17',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(88,'2011-08-04 20:19:03','USER_LOGIN_FAILED',1,'2011-08-04 22:19:03',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(89,'2011-08-04 20:19:07','USER_LOGIN',1,'2011-08-04 22:19:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(90,'2011-08-05 17:51:42','USER_LOGIN_FAILED',1,'2011-08-05 19:51:42',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(91,'2011-08-05 17:51:47','USER_LOGIN',1,'2011-08-05 19:51:47',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(92,'2011-08-05 17:56:03','USER_LOGIN',1,'2011-08-05 19:56:03',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(93,'2011-08-05 17:59:10','USER_LOGIN',1,'2011-08-05 19:59:10',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30',NULL),(94,'2011-08-05 18:01:58','USER_LOGIN',1,'2011-08-05 20:01:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30',NULL),(95,'2011-08-05 19:59:56','USER_LOGIN',1,'2011-08-05 21:59:56',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(96,'2011-08-06 18:33:22','USER_LOGIN',1,'2011-08-06 20:33:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(97,'2011-08-07 00:56:59','USER_LOGIN',1,'2011-08-07 02:56:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(98,'2011-08-07 22:49:14','USER_LOGIN',1,'2011-08-08 00:49:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(99,'2011-08-07 23:05:18','USER_LOGOUT',1,'2011-08-08 01:05:18',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(105,'2011-08-08 00:41:09','USER_LOGIN',1,'2011-08-08 02:41:09',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(106,'2011-08-08 11:58:55','USER_LOGIN',1,'2011-08-08 13:58:55',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(107,'2011-08-08 14:35:48','USER_LOGIN',1,'2011-08-08 16:35:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(108,'2011-08-08 14:36:31','USER_LOGOUT',1,'2011-08-08 16:36:31',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(109,'2011-08-08 14:38:28','USER_LOGIN',1,'2011-08-08 16:38:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(110,'2011-08-08 14:39:02','USER_LOGOUT',1,'2011-08-08 16:39:02',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(111,'2011-08-08 14:39:10','USER_LOGIN',1,'2011-08-08 16:39:10',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(112,'2011-08-08 14:39:28','USER_LOGOUT',1,'2011-08-08 16:39:28',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(113,'2011-08-08 14:39:37','USER_LOGIN',1,'2011-08-08 16:39:37',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(114,'2011-08-08 14:50:02','USER_LOGOUT',1,'2011-08-08 16:50:02',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(115,'2011-08-08 14:51:45','USER_LOGIN_FAILED',1,'2011-08-08 16:51:45',NULL,'Identifiants login ou mot de passe incorrects - login=','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(116,'2011-08-08 14:51:52','USER_LOGIN',1,'2011-08-08 16:51:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(117,'2011-08-08 15:09:54','USER_LOGOUT',1,'2011-08-08 17:09:54',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(118,'2011-08-08 15:10:19','USER_LOGIN_FAILED',1,'2011-08-08 17:10:19',NULL,'Identifiants login ou mot de passe incorrects - login=','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(119,'2011-08-08 15:10:28','USER_LOGIN',1,'2011-08-08 17:10:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(121,'2011-08-08 15:14:58','USER_LOGOUT',1,'2011-08-08 17:14:58',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(122,'2011-08-08 15:15:00','USER_LOGIN_FAILED',1,'2011-08-08 17:15:00',NULL,'Identifiants login ou mot de passe incorrects - login=','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(123,'2011-08-08 15:17:57','USER_LOGIN',1,'2011-08-08 17:17:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(124,'2011-08-08 15:35:56','USER_LOGOUT',1,'2011-08-08 17:35:56',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(125,'2011-08-08 15:36:05','USER_LOGIN',1,'2011-08-08 17:36:05',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(126,'2011-08-08 17:32:42','USER_LOGIN',1,'2011-08-08 19:32:42',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(127,'2012-12-08 13:49:37','USER_LOGOUT',1,'2012-12-08 14:49:37',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(128,'2012-12-08 13:49:42','USER_LOGIN',1,'2012-12-08 14:49:42',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(129,'2012-12-08 13:50:12','USER_LOGOUT',1,'2012-12-08 14:50:12',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(130,'2012-12-08 13:50:14','USER_LOGIN',1,'2012-12-08 14:50:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(131,'2012-12-08 13:50:17','USER_LOGOUT',1,'2012-12-08 14:50:17',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(132,'2012-12-08 13:52:47','USER_LOGIN',1,'2012-12-08 14:52:47',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(133,'2012-12-08 13:53:08','USER_MODIFY',1,'2012-12-08 14:53:08',1,'User admin modified','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(134,'2012-12-08 14:08:45','USER_LOGOUT',1,'2012-12-08 15:08:45',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(135,'2012-12-08 14:09:09','USER_LOGIN',1,'2012-12-08 15:09:09',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(136,'2012-12-08 14:11:43','USER_LOGOUT',1,'2012-12-08 15:11:43',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(137,'2012-12-08 14:11:45','USER_LOGIN',1,'2012-12-08 15:11:45',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(138,'2012-12-08 14:22:53','USER_LOGOUT',1,'2012-12-08 15:22:53',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(139,'2012-12-08 14:22:54','USER_LOGIN',1,'2012-12-08 15:22:54',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(140,'2012-12-08 14:23:10','USER_LOGOUT',1,'2012-12-08 15:23:10',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(141,'2012-12-08 14:23:11','USER_LOGIN',1,'2012-12-08 15:23:11',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(142,'2012-12-08 14:23:49','USER_LOGOUT',1,'2012-12-08 15:23:49',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(143,'2012-12-08 14:23:50','USER_LOGIN',1,'2012-12-08 15:23:50',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(144,'2012-12-08 14:28:08','USER_LOGOUT',1,'2012-12-08 15:28:08',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(145,'2012-12-08 14:35:15','USER_LOGIN',1,'2012-12-08 15:35:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(146,'2012-12-08 14:35:18','USER_LOGOUT',1,'2012-12-08 15:35:18',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(147,'2012-12-08 14:36:07','USER_LOGIN',1,'2012-12-08 15:36:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(148,'2012-12-08 14:36:09','USER_LOGOUT',1,'2012-12-08 15:36:09',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(149,'2012-12-08 14:36:41','USER_LOGIN',1,'2012-12-08 15:36:41',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(150,'2012-12-08 15:59:13','USER_LOGIN',1,'2012-12-08 16:59:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(151,'2012-12-09 11:49:52','USER_LOGIN',1,'2012-12-09 12:49:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(152,'2012-12-09 13:46:31','USER_LOGIN',1,'2012-12-09 14:46:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(153,'2012-12-09 19:03:14','USER_LOGIN',1,'2012-12-09 20:03:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(154,'2012-12-10 00:16:31','USER_LOGIN',1,'2012-12-10 01:16:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(170,'2012-12-11 22:03:31','USER_LOGIN',1,'2012-12-11 23:03:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(171,'2012-12-12 00:32:39','USER_LOGIN',1,'2012-12-12 01:32:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(172,'2012-12-12 10:49:59','USER_LOGIN',1,'2012-12-12 11:49:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(175,'2012-12-12 10:57:40','USER_MODIFY',1,'2012-12-12 11:57:40',1,'Modification utilisateur admin','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(176,'2012-12-12 13:29:15','USER_LOGIN',1,'2012-12-12 14:29:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(177,'2012-12-12 13:30:15','USER_LOGIN',1,'2012-12-12 14:30:15',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(178,'2012-12-12 13:40:08','USER_LOGOUT',1,'2012-12-12 14:40:08',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(179,'2012-12-12 13:40:10','USER_LOGIN',1,'2012-12-12 14:40:10',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(180,'2012-12-12 13:40:26','USER_MODIFY',1,'2012-12-12 14:40:26',1,'Modification utilisateur admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(181,'2012-12-12 13:40:34','USER_LOGOUT',1,'2012-12-12 14:40:34',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(182,'2012-12-12 13:42:23','USER_LOGIN',1,'2012-12-12 14:42:23',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(183,'2012-12-12 13:43:02','USER_NEW_PASSWORD',1,'2012-12-12 14:43:02',NULL,'Changement mot de passe de admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(184,'2012-12-12 13:43:25','USER_LOGOUT',1,'2012-12-12 14:43:25',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(185,'2012-12-12 13:43:27','USER_LOGIN_FAILED',1,'2012-12-12 14:43:27',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(186,'2012-12-12 13:43:30','USER_LOGIN',1,'2012-12-12 14:43:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(187,'2012-12-12 14:52:11','USER_LOGIN',1,'2012-12-12 15:52:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(188,'2012-12-12 17:53:00','USER_LOGIN_FAILED',1,'2012-12-12 18:53:00',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(189,'2012-12-12 17:53:07','USER_LOGIN_FAILED',1,'2012-12-12 18:53:07',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(190,'2012-12-12 17:53:51','USER_NEW_PASSWORD',1,'2012-12-12 18:53:51',NULL,'Changement mot de passe de admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(191,'2012-12-12 17:54:00','USER_LOGIN',1,'2012-12-12 18:54:00',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(192,'2012-12-12 17:54:10','USER_NEW_PASSWORD',1,'2012-12-12 18:54:10',1,'Changement mot de passe de admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(193,'2012-12-12 17:54:10','USER_MODIFY',1,'2012-12-12 18:54:10',1,'Modification utilisateur admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(194,'2012-12-12 18:57:09','USER_LOGIN',1,'2012-12-12 19:57:09',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(195,'2012-12-12 23:04:08','USER_LOGIN',1,'2012-12-13 00:04:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(196,'2012-12-17 20:03:14','USER_LOGIN',1,'2012-12-17 21:03:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(197,'2012-12-17 21:18:45','USER_LOGIN',1,'2012-12-17 22:18:45',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(198,'2012-12-17 22:30:08','USER_LOGIN',1,'2012-12-17 23:30:08',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(199,'2012-12-18 23:32:03','USER_LOGIN',1,'2012-12-19 00:32:03',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(200,'2012-12-19 09:38:03','USER_LOGIN',1,'2012-12-19 10:38:03',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(201,'2012-12-19 11:23:35','USER_LOGIN',1,'2012-12-19 12:23:35',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(202,'2012-12-19 12:46:22','USER_LOGIN',1,'2012-12-19 13:46:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(214,'2012-12-19 19:11:31','USER_LOGIN',1,'2012-12-19 20:11:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(215,'2012-12-21 16:36:57','USER_LOGIN',1,'2012-12-21 17:36:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(216,'2012-12-21 16:38:43','USER_NEW_PASSWORD',1,'2012-12-21 17:38:43',1,'Changement mot de passe de adupont','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(217,'2012-12-21 16:38:43','USER_MODIFY',1,'2012-12-21 17:38:43',1,'Modification utilisateur adupont','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(218,'2012-12-21 16:38:51','USER_LOGOUT',1,'2012-12-21 17:38:51',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(219,'2012-12-21 16:38:55','USER_LOGIN',1,'2012-12-21 17:38:55',3,'(UserLogged,adupont)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(220,'2012-12-21 16:48:18','USER_LOGOUT',1,'2012-12-21 17:48:18',3,'(UserLogoff,adupont)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(221,'2012-12-21 16:48:20','USER_LOGIN',1,'2012-12-21 17:48:20',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(222,'2012-12-26 18:28:18','USER_LOGIN',1,'2012-12-26 19:28:18',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(223,'2012-12-26 20:00:24','USER_LOGIN',1,'2012-12-26 21:00:24',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(224,'2012-12-27 01:10:27','USER_LOGIN',1,'2012-12-27 02:10:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(225,'2012-12-28 19:12:08','USER_LOGIN',1,'2012-12-28 20:12:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(226,'2012-12-28 20:16:58','USER_LOGIN',1,'2012-12-28 21:16:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(227,'2012-12-29 14:35:46','USER_LOGIN',1,'2012-12-29 15:35:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(228,'2012-12-29 14:37:59','USER_LOGOUT',1,'2012-12-29 15:37:59',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(229,'2012-12-29 14:38:00','USER_LOGIN',1,'2012-12-29 15:38:00',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(230,'2012-12-29 17:16:48','USER_LOGIN',1,'2012-12-29 18:16:48',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(231,'2012-12-31 12:02:59','USER_LOGIN',1,'2012-12-31 13:02:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(232,'2013-01-02 20:32:51','USER_LOGIN',1,'2013-01-02 21:32:51',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:17.0) Gecko/20100101 Firefox/17.0',NULL),(233,'2013-01-02 20:58:59','USER_LOGIN',1,'2013-01-02 21:58:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(234,'2013-01-03 09:25:07','USER_LOGIN',1,'2013-01-03 10:25:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(235,'2013-01-03 19:39:31','USER_LOGIN',1,'2013-01-03 20:39:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(236,'2013-01-04 22:40:19','USER_LOGIN',1,'2013-01-04 23:40:19',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(237,'2013-01-05 12:59:59','USER_LOGIN',1,'2013-01-05 13:59:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(238,'2013-01-05 15:28:52','USER_LOGIN',1,'2013-01-05 16:28:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(239,'2013-01-05 17:02:08','USER_LOGIN',1,'2013-01-05 18:02:08',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(240,'2013-01-06 12:13:33','USER_LOGIN',1,'2013-01-06 13:13:33',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(241,'2013-01-07 01:21:15','USER_LOGIN',1,'2013-01-07 02:21:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(242,'2013-01-07 01:46:31','USER_LOGOUT',1,'2013-01-07 02:46:31',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(243,'2013-01-07 19:54:50','USER_LOGIN',1,'2013-01-07 20:54:50',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(244,'2013-01-08 21:55:01','USER_LOGIN',1,'2013-01-08 22:55:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(245,'2013-01-09 11:13:28','USER_LOGIN',1,'2013-01-09 12:13:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(246,'2013-01-10 18:30:46','USER_LOGIN',1,'2013-01-10 19:30:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(247,'2013-01-11 18:03:26','USER_LOGIN',1,'2013-01-11 19:03:26',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(248,'2013-01-12 11:15:04','USER_LOGIN',1,'2013-01-12 12:15:04',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(249,'2013-01-12 14:42:44','USER_LOGIN',1,'2013-01-12 15:42:44',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(250,'2013-01-13 12:07:17','USER_LOGIN',1,'2013-01-13 13:07:17',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(251,'2013-01-13 17:37:58','USER_LOGIN',1,'2013-01-13 18:37:58',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(252,'2013-01-13 19:24:21','USER_LOGIN',1,'2013-01-13 20:24:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(253,'2013-01-13 19:29:19','USER_LOGOUT',1,'2013-01-13 20:29:19',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(254,'2013-01-13 21:39:39','USER_LOGIN',1,'2013-01-13 22:39:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(255,'2013-01-14 00:52:21','USER_LOGIN',1,'2013-01-14 01:52:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(256,'2013-01-16 11:34:31','USER_LOGIN',1,'2013-01-16 12:34:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(257,'2013-01-16 15:36:21','USER_LOGIN',1,'2013-01-16 16:36:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(258,'2013-01-16 19:17:36','USER_LOGIN',1,'2013-01-16 20:17:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(259,'2013-01-16 19:48:08','GROUP_CREATE',1,'2013-01-16 20:48:08',1,'Création groupe ggg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(260,'2013-01-16 21:48:53','USER_LOGIN',1,'2013-01-16 22:48:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(261,'2013-01-17 19:55:53','USER_LOGIN',1,'2013-01-17 20:55:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(262,'2013-01-18 09:48:01','USER_LOGIN',1,'2013-01-18 10:48:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(263,'2013-01-18 13:22:36','USER_LOGIN',1,'2013-01-18 14:22:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(264,'2013-01-18 16:10:23','USER_LOGIN',1,'2013-01-18 17:10:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(265,'2013-01-18 17:41:40','USER_LOGIN',1,'2013-01-18 18:41:40',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(266,'2013-01-19 14:33:48','USER_LOGIN',1,'2013-01-19 15:33:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(267,'2013-01-19 16:47:43','USER_LOGIN',1,'2013-01-19 17:47:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(268,'2013-01-19 16:59:43','USER_LOGIN',1,'2013-01-19 17:59:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(269,'2013-01-19 17:00:22','USER_LOGIN',1,'2013-01-19 18:00:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(270,'2013-01-19 17:04:16','USER_LOGOUT',1,'2013-01-19 18:04:16',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(271,'2013-01-19 17:04:18','USER_LOGIN',1,'2013-01-19 18:04:18',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(272,'2013-01-20 00:34:19','USER_LOGIN',1,'2013-01-20 01:34:19',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(273,'2013-01-21 11:54:17','USER_LOGIN',1,'2013-01-21 12:54:17',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(274,'2013-01-21 13:48:15','USER_LOGIN',1,'2013-01-21 14:48:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(275,'2013-01-21 14:30:22','USER_LOGIN',1,'2013-01-21 15:30:22',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(276,'2013-01-21 15:10:46','USER_LOGIN',1,'2013-01-21 16:10:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(277,'2013-01-21 17:27:43','USER_LOGIN',1,'2013-01-21 18:27:43',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(278,'2013-01-21 21:48:15','USER_LOGIN',1,'2013-01-21 22:48:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(279,'2013-01-21 21:50:42','USER_LOGIN',1,'2013-01-21 22:50:42',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(280,'2013-01-23 09:28:26','USER_LOGIN',1,'2013-01-23 10:28:26',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(281,'2013-01-23 13:21:57','USER_LOGIN',1,'2013-01-23 14:21:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(282,'2013-01-23 16:52:00','USER_LOGOUT',1,'2013-01-23 17:52:00',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(283,'2013-01-23 16:52:05','USER_LOGIN_FAILED',1,'2013-01-23 17:52:05',NULL,'Bad value for login or password - login=bbb','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(284,'2013-01-23 16:52:09','USER_LOGIN',1,'2013-01-23 17:52:09',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(285,'2013-01-23 16:52:27','USER_CREATE',1,'2013-01-23 17:52:27',1,'Création utilisateur aaa','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(286,'2013-01-23 16:52:27','USER_NEW_PASSWORD',1,'2013-01-23 17:52:27',1,'Changement mot de passe de aaa','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(287,'2013-01-23 16:52:37','USER_CREATE',1,'2013-01-23 17:52:37',1,'Création utilisateur bbb','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(288,'2013-01-23 16:52:37','USER_NEW_PASSWORD',1,'2013-01-23 17:52:37',1,'Changement mot de passe de bbb','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(289,'2013-01-23 16:53:15','USER_LOGOUT',1,'2013-01-23 17:53:15',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(290,'2013-01-23 16:53:20','USER_LOGIN',1,'2013-01-23 17:53:20',4,'(UserLogged,aaa)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(291,'2013-01-23 19:16:58','USER_LOGIN',1,'2013-01-23 20:16:58',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(292,'2013-01-26 10:54:07','USER_LOGIN',1,'2013-01-26 11:54:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(293,'2013-01-29 10:15:36','USER_LOGIN',1,'2013-01-29 11:15:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(294,'2013-01-30 17:42:50','USER_LOGIN',1,'2013-01-30 18:42:50',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(295,'2013-02-01 08:49:55','USER_LOGIN',1,'2013-02-01 09:49:55',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(296,'2013-02-01 08:51:57','USER_LOGOUT',1,'2013-02-01 09:51:57',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(297,'2013-02-01 08:52:39','USER_LOGIN',1,'2013-02-01 09:52:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(298,'2013-02-01 21:03:01','USER_LOGIN',1,'2013-02-01 22:03:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(299,'2013-02-10 19:48:39','USER_LOGIN',1,'2013-02-10 20:48:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(300,'2013-02-10 20:46:48','USER_LOGIN',1,'2013-02-10 21:46:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(301,'2013-02-10 21:39:23','USER_LOGIN',1,'2013-02-10 22:39:23',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(302,'2013-02-11 19:00:13','USER_LOGIN',1,'2013-02-11 20:00:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(303,'2013-02-11 19:43:44','USER_LOGIN_FAILED',1,'2013-02-11 20:43:44',NULL,'Unknown column \'u.fk_user\' in \'field list\'','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(304,'2013-02-11 19:44:01','USER_LOGIN',1,'2013-02-11 20:44:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(305,'2013-02-12 00:27:35','USER_LOGIN',1,'2013-02-12 01:27:35',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(306,'2013-02-12 00:27:38','USER_LOGOUT',1,'2013-02-12 01:27:38',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(307,'2013-02-12 00:28:07','USER_LOGIN',1,'2013-02-12 01:28:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(308,'2013-02-12 00:28:09','USER_LOGOUT',1,'2013-02-12 01:28:09',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(309,'2013-02-12 00:28:26','USER_LOGIN',1,'2013-02-12 01:28:26',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(310,'2013-02-12 00:28:30','USER_LOGOUT',1,'2013-02-12 01:28:30',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(311,'2013-02-12 12:42:15','USER_LOGIN',1,'2013-02-12 13:42:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(312,'2013-02-12 13:46:16','USER_LOGIN',1,'2013-02-12 14:46:16',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(313,'2013-02-12 14:54:28','USER_LOGIN',1,'2013-02-12 15:54:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(314,'2013-02-12 16:04:46','USER_LOGIN',1,'2013-02-12 17:04:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(315,'2013-02-13 14:02:43','USER_LOGIN',1,'2013-02-13 15:02:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(316,'2013-02-13 14:48:30','USER_LOGIN',1,'2013-02-13 15:48:30',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(317,'2013-02-13 17:44:53','USER_LOGIN',1,'2013-02-13 18:44:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(318,'2013-02-15 08:44:36','USER_LOGIN',1,'2013-02-15 09:44:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(319,'2013-02-15 08:53:20','USER_LOGIN',1,'2013-02-15 09:53:20',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(320,'2013-02-16 19:10:28','USER_LOGIN',1,'2013-02-16 20:10:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(321,'2013-02-16 19:22:40','USER_CREATE',1,'2013-02-16 20:22:40',1,'Création utilisateur aaab','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(322,'2013-02-16 19:22:40','USER_NEW_PASSWORD',1,'2013-02-16 20:22:40',1,'Changement mot de passe de aaab','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(323,'2013-02-16 19:48:15','USER_CREATE',1,'2013-02-16 20:48:15',1,'Création utilisateur zzz','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(324,'2013-02-16 19:48:15','USER_NEW_PASSWORD',1,'2013-02-16 20:48:15',1,'Changement mot de passe de zzz','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(325,'2013-02-16 19:50:08','USER_CREATE',1,'2013-02-16 20:50:08',1,'Création utilisateur zzzg','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(326,'2013-02-16 19:50:08','USER_NEW_PASSWORD',1,'2013-02-16 20:50:08',1,'Changement mot de passe de zzzg','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(327,'2013-02-16 21:20:03','USER_LOGIN',1,'2013-02-16 22:20:03',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(328,'2013-02-17 14:30:51','USER_LOGIN',1,'2013-02-17 15:30:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(329,'2013-02-17 17:21:22','USER_LOGIN',1,'2013-02-17 18:21:22',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(330,'2013-02-17 17:48:43','USER_MODIFY',1,'2013-02-17 18:48:43',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(331,'2013-02-17 17:48:47','USER_MODIFY',1,'2013-02-17 18:48:47',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(332,'2013-02-17 17:48:51','USER_MODIFY',1,'2013-02-17 18:48:51',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(333,'2013-02-17 17:48:56','USER_MODIFY',1,'2013-02-17 18:48:56',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(334,'2013-02-18 22:00:01','USER_LOGIN',1,'2013-02-18 23:00:01',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(335,'2013-02-19 08:19:52','USER_LOGIN',1,'2013-02-19 09:19:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(336,'2013-02-19 22:00:52','USER_LOGIN',1,'2013-02-19 23:00:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(337,'2013-02-20 09:34:52','USER_LOGIN',1,'2013-02-20 10:34:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(338,'2013-02-20 13:12:28','USER_LOGIN',1,'2013-02-20 14:12:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(339,'2013-02-20 17:19:44','USER_LOGIN',1,'2013-02-20 18:19:44',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(340,'2013-02-20 19:07:21','USER_MODIFY',1,'2013-02-20 20:07:21',1,'Modification utilisateur adupont','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(341,'2013-02-20 19:47:17','USER_LOGIN',1,'2013-02-20 20:47:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(342,'2013-02-20 19:48:01','USER_MODIFY',1,'2013-02-20 20:48:01',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(343,'2013-02-21 08:27:07','USER_LOGIN',1,'2013-02-21 09:27:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(344,'2013-02-23 13:34:13','USER_LOGIN',1,'2013-02-23 14:34:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(345,'2013-02-24 01:06:41','USER_LOGIN_FAILED',1,'2013-02-24 02:06:41',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(346,'2013-02-24 01:06:45','USER_LOGIN_FAILED',1,'2013-02-24 02:06:45',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(347,'2013-02-24 01:06:55','USER_LOGIN_FAILED',1,'2013-02-24 02:06:55',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(348,'2013-02-24 01:07:03','USER_LOGIN_FAILED',1,'2013-02-24 02:07:03',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(349,'2013-02-24 01:07:21','USER_LOGIN_FAILED',1,'2013-02-24 02:07:21',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(350,'2013-02-24 01:08:12','USER_LOGIN_FAILED',1,'2013-02-24 02:08:12',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(351,'2013-02-24 01:08:42','USER_LOGIN_FAILED',1,'2013-02-24 02:08:42',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(352,'2013-02-24 01:08:50','USER_LOGIN_FAILED',1,'2013-02-24 02:08:50',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(353,'2013-02-24 01:09:08','USER_LOGIN_FAILED',1,'2013-02-24 02:09:08',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(354,'2013-02-24 01:09:42','USER_LOGIN_FAILED',1,'2013-02-24 02:09:42',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(355,'2013-02-24 01:09:50','USER_LOGIN_FAILED',1,'2013-02-24 02:09:50',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(356,'2013-02-24 01:10:05','USER_LOGIN_FAILED',1,'2013-02-24 02:10:05',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(357,'2013-02-24 01:10:22','USER_LOGIN_FAILED',1,'2013-02-24 02:10:22',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(358,'2013-02-24 01:10:30','USER_LOGIN_FAILED',1,'2013-02-24 02:10:30',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(359,'2013-02-24 01:10:56','USER_LOGIN_FAILED',1,'2013-02-24 02:10:56',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(360,'2013-02-24 01:11:26','USER_LOGIN_FAILED',1,'2013-02-24 02:11:26',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(361,'2013-02-24 01:12:06','USER_LOGIN_FAILED',1,'2013-02-24 02:12:06',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(362,'2013-02-24 01:21:14','USER_LOGIN_FAILED',1,'2013-02-24 02:21:14',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(363,'2013-02-24 01:21:25','USER_LOGIN_FAILED',1,'2013-02-24 02:21:25',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(364,'2013-02-24 01:21:54','USER_LOGIN_FAILED',1,'2013-02-24 02:21:54',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(365,'2013-02-24 01:22:14','USER_LOGIN_FAILED',1,'2013-02-24 02:22:14',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(366,'2013-02-24 01:22:37','USER_LOGIN_FAILED',1,'2013-02-24 02:22:37',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(367,'2013-02-24 01:23:01','USER_LOGIN_FAILED',1,'2013-02-24 02:23:01',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(368,'2013-02-24 01:23:39','USER_LOGIN_FAILED',1,'2013-02-24 02:23:39',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(369,'2013-02-24 01:24:04','USER_LOGIN_FAILED',1,'2013-02-24 02:24:04',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(370,'2013-02-24 01:24:39','USER_LOGIN_FAILED',1,'2013-02-24 02:24:39',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(371,'2013-02-24 01:25:01','USER_LOGIN_FAILED',1,'2013-02-24 02:25:01',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(372,'2013-02-24 01:25:12','USER_LOGIN_FAILED',1,'2013-02-24 02:25:12',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(373,'2013-02-24 01:27:30','USER_LOGIN_FAILED',1,'2013-02-24 02:27:30',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(374,'2013-02-24 01:28:00','USER_LOGIN_FAILED',1,'2013-02-24 02:28:00',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(375,'2013-02-24 01:28:35','USER_LOGIN_FAILED',1,'2013-02-24 02:28:35',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(376,'2013-02-24 01:29:03','USER_LOGIN_FAILED',1,'2013-02-24 02:29:03',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(377,'2013-02-24 01:29:55','USER_LOGIN_FAILED',1,'2013-02-24 02:29:55',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(378,'2013-02-24 01:32:40','USER_LOGIN_FAILED',1,'2013-02-24 02:32:40',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(379,'2013-02-24 01:39:33','USER_LOGIN_FAILED',1,'2013-02-24 02:39:33',NULL,'Identifiants login ou mot de passe incorrects - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(380,'2013-02-24 01:39:38','USER_LOGIN_FAILED',1,'2013-02-24 02:39:38',NULL,'Identifiants login ou mot de passe incorrects - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(381,'2013-02-24 01:39:47','USER_LOGIN_FAILED',1,'2013-02-24 02:39:47',NULL,'Identifiants login ou mot de passe incorrects - login=lmkm','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(382,'2013-02-24 01:40:54','USER_LOGIN_FAILED',1,'2013-02-24 02:40:54',NULL,'Identifiants login ou mot de passe incorrects - login=lmkm','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(383,'2013-02-24 01:47:57','USER_LOGIN_FAILED',1,'2013-02-24 02:47:57',NULL,'Identifiants login ou mot de passe incorrects - login=lmkm','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(384,'2013-02-24 01:48:05','USER_LOGIN_FAILED',1,'2013-02-24 02:48:05',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(385,'2013-02-24 01:48:07','USER_LOGIN_FAILED',1,'2013-02-24 02:48:07',NULL,'Unknown column \'u.lastname\' in \'field list\'','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(386,'2013-02-24 01:48:35','USER_LOGIN',1,'2013-02-24 02:48:35',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(387,'2013-02-24 01:56:32','USER_LOGIN',1,'2013-02-24 02:56:32',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',NULL),(388,'2013-02-24 02:05:55','USER_LOGOUT',1,'2013-02-24 03:05:55',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(389,'2013-02-24 02:39:52','USER_LOGIN',1,'2013-02-24 03:39:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(390,'2013-02-24 02:51:10','USER_LOGOUT',1,'2013-02-24 03:51:10',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(391,'2013-02-24 12:46:41','USER_LOGIN',1,'2013-02-24 13:46:41',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(392,'2013-02-24 12:46:52','USER_LOGOUT',1,'2013-02-24 13:46:52',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(393,'2013-02-24 12:46:56','USER_LOGIN',1,'2013-02-24 13:46:56',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(394,'2013-02-24 12:47:56','USER_LOGOUT',1,'2013-02-24 13:47:56',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(395,'2013-02-24 12:48:00','USER_LOGIN',1,'2013-02-24 13:48:00',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(396,'2013-02-24 12:48:11','USER_LOGOUT',1,'2013-02-24 13:48:11',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(397,'2013-02-24 12:48:32','USER_LOGIN',1,'2013-02-24 13:48:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(398,'2013-02-24 12:52:22','USER_LOGOUT',1,'2013-02-24 13:52:22',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(399,'2013-02-24 12:52:27','USER_LOGIN',1,'2013-02-24 13:52:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(400,'2013-02-24 12:52:54','USER_LOGOUT',1,'2013-02-24 13:52:54',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(401,'2013-02-24 12:52:59','USER_LOGIN',1,'2013-02-24 13:52:59',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(402,'2013-02-24 12:55:39','USER_LOGOUT',1,'2013-02-24 13:55:39',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(403,'2013-02-24 12:55:59','USER_LOGIN',1,'2013-02-24 13:55:59',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(404,'2013-02-24 12:56:07','USER_LOGOUT',1,'2013-02-24 13:56:07',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(405,'2013-02-24 12:56:23','USER_LOGIN',1,'2013-02-24 13:56:23',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(406,'2013-02-24 12:56:46','USER_LOGOUT',1,'2013-02-24 13:56:46',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(407,'2013-02-24 12:58:30','USER_LOGIN',1,'2013-02-24 13:58:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(408,'2013-02-24 12:58:33','USER_LOGOUT',1,'2013-02-24 13:58:33',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(409,'2013-02-24 12:58:51','USER_LOGIN',1,'2013-02-24 13:58:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(410,'2013-02-24 12:58:58','USER_LOGOUT',1,'2013-02-24 13:58:58',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(411,'2013-02-24 13:18:53','USER_LOGIN',1,'2013-02-24 14:18:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(412,'2013-02-24 13:19:52','USER_LOGOUT',1,'2013-02-24 14:19:52',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(413,'2013-02-24 15:39:31','USER_LOGIN_FAILED',1,'2013-02-24 16:39:31',NULL,'ErrorBadValueForCode - login=admin','127.0.0.1',NULL,NULL),(414,'2013-02-24 15:42:07','USER_LOGIN',1,'2013-02-24 16:42:07',1,'(UserLogged,admin)','127.0.0.1',NULL,NULL),(415,'2013-02-24 15:42:52','USER_LOGOUT',1,'2013-02-24 16:42:52',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(416,'2013-02-24 16:04:21','USER_LOGIN',1,'2013-02-24 17:04:21',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',NULL),(417,'2013-02-24 16:11:28','USER_LOGIN_FAILED',1,'2013-02-24 17:11:28',NULL,'ErrorBadValueForCode - login=admin','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(418,'2013-02-24 16:11:37','USER_LOGIN',1,'2013-02-24 17:11:37',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(419,'2013-02-24 16:36:52','USER_LOGOUT',1,'2013-02-24 17:36:52',1,'(UserLogoff,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',NULL),(420,'2013-02-24 16:40:37','USER_LOGIN',1,'2013-02-24 17:40:37',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(421,'2013-02-24 16:57:16','USER_LOGIN',1,'2013-02-24 17:57:16',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 - 2131034114',NULL),(422,'2013-02-24 17:01:30','USER_LOGOUT',1,'2013-02-24 18:01:30',1,'(UserLogoff,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 - 2131034114',NULL),(423,'2013-02-24 17:02:33','USER_LOGIN',1,'2013-02-24 18:02:33',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(424,'2013-02-24 17:14:22','USER_LOGOUT',1,'2013-02-24 18:14:22',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(425,'2013-02-24 17:15:07','USER_LOGIN_FAILED',1,'2013-02-24 18:15:07',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(426,'2013-02-24 17:15:20','USER_LOGIN',1,'2013-02-24 18:15:20',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(427,'2013-02-24 17:20:14','USER_LOGIN',1,'2013-02-24 18:20:14',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(428,'2013-02-24 17:20:51','USER_LOGIN',1,'2013-02-24 18:20:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(429,'2013-02-24 17:20:54','USER_LOGOUT',1,'2013-02-24 18:20:54',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(430,'2013-02-24 17:21:19','USER_LOGIN',1,'2013-02-24 18:21:19',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(431,'2013-02-24 17:32:35','USER_LOGIN',1,'2013-02-24 18:32:35',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 - 2131034114',NULL),(432,'2013-02-24 18:28:48','USER_LOGIN',1,'2013-02-24 19:28:48',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(433,'2013-02-24 18:29:27','USER_LOGOUT',1,'2013-02-24 19:29:27',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(434,'2013-02-24 18:29:32','USER_LOGIN',1,'2013-02-24 19:29:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(435,'2013-02-24 20:13:13','USER_LOGOUT',1,'2013-02-24 21:13:13',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(436,'2013-02-24 20:13:17','USER_LOGIN',1,'2013-02-24 21:13:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(437,'2013-02-25 08:57:16','USER_LOGIN',1,'2013-02-25 09:57:16',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(438,'2013-02-25 08:57:59','USER_LOGOUT',1,'2013-02-25 09:57:59',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(439,'2013-02-25 09:15:02','USER_LOGIN',1,'2013-02-25 10:15:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(440,'2013-02-25 09:15:50','USER_LOGOUT',1,'2013-02-25 10:15:50',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(441,'2013-02-25 09:15:57','USER_LOGIN',1,'2013-02-25 10:15:57',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(442,'2013-02-25 09:16:12','USER_LOGOUT',1,'2013-02-25 10:16:12',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(443,'2013-02-25 09:16:19','USER_LOGIN',1,'2013-02-25 10:16:19',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(444,'2013-02-25 09:16:25','USER_LOGOUT',1,'2013-02-25 10:16:25',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(445,'2013-02-25 09:16:39','USER_LOGIN_FAILED',1,'2013-02-25 10:16:39',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(446,'2013-02-25 09:16:42','USER_LOGIN_FAILED',1,'2013-02-25 10:16:42',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(447,'2013-02-25 09:16:54','USER_LOGIN_FAILED',1,'2013-02-25 10:16:54',NULL,'Identificadors d'usuari o contrasenya incorrectes - login=gfdg','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(448,'2013-02-25 09:17:53','USER_LOGIN',1,'2013-02-25 10:17:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(449,'2013-02-25 09:18:37','USER_LOGOUT',1,'2013-02-25 10:18:37',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(450,'2013-02-25 09:18:41','USER_LOGIN',1,'2013-02-25 10:18:41',4,'(UserLogged,aaa)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(451,'2013-02-25 09:18:47','USER_LOGOUT',1,'2013-02-25 10:18:47',4,'(UserLogoff,aaa)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(452,'2013-02-25 10:05:34','USER_LOGIN',1,'2013-02-25 11:05:34',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(453,'2013-02-26 21:51:40','USER_LOGIN',1,'2013-02-26 22:51:40',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(454,'2013-02-26 23:30:06','USER_LOGIN',1,'2013-02-27 00:30:06',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(455,'2013-02-27 14:13:11','USER_LOGIN',1,'2013-02-27 15:13:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(456,'2013-02-27 18:12:06','USER_LOGIN_FAILED',1,'2013-02-27 19:12:06',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(457,'2013-02-27 18:12:10','USER_LOGIN',1,'2013-02-27 19:12:10',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(458,'2013-02-27 20:20:08','USER_LOGIN',1,'2013-02-27 21:20:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(459,'2013-03-01 22:12:03','USER_LOGIN',1,'2013-03-01 23:12:03',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(460,'2013-03-02 11:45:50','USER_LOGIN',1,'2013-03-02 12:45:50',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(461,'2013-03-02 15:53:51','USER_LOGIN_FAILED',1,'2013-03-02 16:53:51',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(462,'2013-03-02 15:53:53','USER_LOGIN',1,'2013-03-02 16:53:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(463,'2013-03-02 18:32:32','USER_LOGIN',1,'2013-03-02 19:32:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(464,'2013-03-02 22:59:36','USER_LOGIN',1,'2013-03-02 23:59:36',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(465,'2013-03-03 16:26:26','USER_LOGIN',1,'2013-03-03 17:26:26',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(466,'2013-03-03 22:50:27','USER_LOGIN',1,'2013-03-03 23:50:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(467,'2013-03-04 08:29:27','USER_LOGIN',1,'2013-03-04 09:29:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(468,'2013-03-04 18:27:28','USER_LOGIN',1,'2013-03-04 19:27:28',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; NP06)',NULL),(469,'2013-03-04 19:27:23','USER_LOGIN',1,'2013-03-04 20:27:23',1,'(UserLogged,admin)','192.168.0.254','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)',NULL),(470,'2013-03-04 19:35:14','USER_LOGIN',1,'2013-03-04 20:35:14',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(471,'2013-03-04 19:55:49','USER_LOGIN',1,'2013-03-04 20:55:49',1,'(UserLogged,admin)','192.168.0.254','Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)',NULL),(472,'2013-03-04 21:16:13','USER_LOGIN',1,'2013-03-04 22:16:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(473,'2013-03-05 10:17:30','USER_LOGIN',1,'2013-03-05 11:17:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(474,'2013-03-05 11:02:43','USER_LOGIN',1,'2013-03-05 12:02:43',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(475,'2013-03-05 23:14:39','USER_LOGIN',1,'2013-03-06 00:14:39',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(476,'2013-03-06 08:58:57','USER_LOGIN',1,'2013-03-06 09:58:57',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(477,'2013-03-06 14:29:40','USER_LOGIN',1,'2013-03-06 15:29:40',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(478,'2013-03-06 21:53:02','USER_LOGIN',1,'2013-03-06 22:53:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(479,'2013-03-07 21:14:39','USER_LOGIN',1,'2013-03-07 22:14:39',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(480,'2013-03-08 00:06:05','USER_LOGIN',1,'2013-03-08 01:06:05',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(481,'2013-03-08 01:38:13','USER_LOGIN',1,'2013-03-08 02:38:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(482,'2013-03-08 08:59:50','USER_LOGIN',1,'2013-03-08 09:59:50',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(483,'2013-03-09 12:08:51','USER_LOGIN',1,'2013-03-09 13:08:51',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(484,'2013-03-09 15:19:53','USER_LOGIN',1,'2013-03-09 16:19:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(495,'2013-03-09 18:06:21','USER_LOGIN',1,'2013-03-09 19:06:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(496,'2013-03-09 20:01:24','USER_LOGIN',1,'2013-03-09 21:01:24',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(497,'2013-03-09 23:36:45','USER_LOGIN',1,'2013-03-10 00:36:45',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(498,'2013-03-10 14:37:13','USER_LOGIN',1,'2013-03-10 15:37:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(499,'2013-03-10 17:54:12','USER_LOGIN',1,'2013-03-10 18:54:12',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(500,'2013-03-11 08:57:09','USER_LOGIN',1,'2013-03-11 09:57:09',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(501,'2013-03-11 22:05:13','USER_LOGIN',1,'2013-03-11 23:05:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(502,'2013-03-12 08:34:27','USER_LOGIN',1,'2013-03-12 09:34:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(503,'2013-03-13 09:11:02','USER_LOGIN',1,'2013-03-13 10:11:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(504,'2013-03-13 10:02:11','USER_LOGIN',1,'2013-03-13 11:02:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(505,'2013-03-13 13:20:58','USER_LOGIN',1,'2013-03-13 14:20:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(506,'2013-03-13 16:19:28','USER_LOGIN',1,'2013-03-13 17:19:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(507,'2013-03-13 18:34:30','USER_LOGIN',1,'2013-03-13 19:34:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(508,'2013-03-14 08:25:02','USER_LOGIN',1,'2013-03-14 09:25:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(509,'2013-03-14 19:15:22','USER_LOGIN',1,'2013-03-14 20:15:22',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(510,'2013-03-14 21:58:53','USER_LOGIN',1,'2013-03-14 22:58:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(511,'2013-03-14 21:58:59','USER_LOGOUT',1,'2013-03-14 22:58:59',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(512,'2013-03-14 21:59:07','USER_LOGIN',1,'2013-03-14 22:59:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(513,'2013-03-14 22:58:22','USER_LOGOUT',1,'2013-03-14 23:58:22',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(514,'2013-03-14 23:00:25','USER_LOGIN',1,'2013-03-15 00:00:25',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(515,'2013-03-16 12:14:28','USER_LOGIN',1,'2013-03-16 13:14:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(516,'2013-03-16 16:09:01','USER_LOGIN',1,'2013-03-16 17:09:01',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(517,'2013-03-16 16:57:11','USER_LOGIN',1,'2013-03-16 17:57:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(518,'2013-03-16 19:31:31','USER_LOGIN',1,'2013-03-16 20:31:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(519,'2013-03-17 17:44:39','USER_LOGIN',1,'2013-03-17 18:44:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(520,'2013-03-17 20:40:57','USER_LOGIN',1,'2013-03-17 21:40:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(521,'2013-03-17 23:14:05','USER_LOGIN',1,'2013-03-18 00:14:05',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(522,'2013-03-17 23:28:47','USER_LOGOUT',1,'2013-03-18 00:28:47',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(523,'2013-03-17 23:28:54','USER_LOGIN',1,'2013-03-18 00:28:54',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(524,'2013-03-18 17:37:30','USER_LOGIN',1,'2013-03-18 18:37:30',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(525,'2013-03-18 18:11:37','USER_LOGIN',1,'2013-03-18 19:11:37',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(526,'2013-03-19 08:35:08','USER_LOGIN',1,'2013-03-19 09:35:08',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(527,'2013-03-19 09:20:23','USER_LOGIN',1,'2013-03-19 10:20:23',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(528,'2013-03-20 13:17:13','USER_LOGIN',1,'2013-03-20 14:17:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(529,'2013-03-20 14:44:31','USER_LOGIN',1,'2013-03-20 15:44:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(530,'2013-03-20 18:24:25','USER_LOGIN',1,'2013-03-20 19:24:25',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(531,'2013-03-20 19:15:54','USER_LOGIN',1,'2013-03-20 20:15:54',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(532,'2013-03-21 18:40:47','USER_LOGIN',1,'2013-03-21 19:40:47',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(533,'2013-03-21 21:42:24','USER_LOGIN',1,'2013-03-21 22:42:24',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(534,'2013-03-22 08:39:23','USER_LOGIN',1,'2013-03-22 09:39:23',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(535,'2013-03-23 13:04:55','USER_LOGIN',1,'2013-03-23 14:04:55',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(536,'2013-03-23 15:47:43','USER_LOGIN',1,'2013-03-23 16:47:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(537,'2013-03-23 22:56:36','USER_LOGIN',1,'2013-03-23 23:56:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(538,'2013-03-24 01:22:32','USER_LOGIN',1,'2013-03-24 02:22:32',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(539,'2013-03-24 14:40:42','USER_LOGIN',1,'2013-03-24 15:40:42',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(540,'2013-03-24 15:30:26','USER_LOGOUT',1,'2013-03-24 16:30:26',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(541,'2013-03-24 15:30:29','USER_LOGIN',1,'2013-03-24 16:30:29',2,'(UserLogged,demo)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(542,'2013-03-24 15:49:40','USER_LOGOUT',1,'2013-03-24 16:49:40',2,'(UserLogoff,demo)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(543,'2013-03-24 15:49:48','USER_LOGIN',1,'2013-03-24 16:49:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(544,'2013-03-24 15:52:35','USER_MODIFY',1,'2013-03-24 16:52:35',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(545,'2013-03-24 15:52:52','USER_MODIFY',1,'2013-03-24 16:52:52',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(546,'2013-03-24 15:53:09','USER_MODIFY',1,'2013-03-24 16:53:09',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(547,'2013-03-24 15:53:23','USER_MODIFY',1,'2013-03-24 16:53:23',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(548,'2013-03-24 16:00:04','USER_MODIFY',1,'2013-03-24 17:00:04',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(549,'2013-03-24 16:01:50','USER_MODIFY',1,'2013-03-24 17:01:50',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(550,'2013-03-24 16:10:14','USER_MODIFY',1,'2013-03-24 17:10:14',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(551,'2013-03-24 16:55:13','USER_LOGIN',1,'2013-03-24 17:55:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(552,'2013-03-24 17:44:29','USER_LOGIN',1,'2013-03-24 18:44:29',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(553,'2013-09-08 23:06:26','USER_LOGIN',1,'2013-09-09 01:06:26',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36',NULL),(554,'2013-10-21 22:32:28','USER_LOGIN',1,'2013-10-22 00:32:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.66 Safari/537.36',NULL),(555,'2013-10-21 22:32:48','USER_LOGIN',1,'2013-10-22 00:32:48',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.66 Safari/537.36',NULL),(556,'2013-11-07 00:01:51','USER_LOGIN',1,'2013-11-07 01:01:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.114 Safari/537.36',NULL),(557,'2014-03-02 15:21:07','USER_LOGIN',1,'2014-03-02 16:21:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(558,'2014-03-02 15:36:53','USER_LOGIN',1,'2014-03-02 16:36:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(559,'2014-03-02 18:54:23','USER_LOGIN',1,'2014-03-02 19:54:23',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(560,'2014-03-02 19:11:17','USER_LOGIN',1,'2014-03-02 20:11:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(561,'2014-03-03 18:19:24','USER_LOGIN',1,'2014-03-03 19:19:24',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(562,'2014-12-21 12:51:38','USER_LOGIN',1,'2014-12-21 13:51:38',1,'(UserLogged,admin) - TZ=1;TZString=CET;Screen=1920x969','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36',NULL),(563,'2014-12-21 19:52:09','USER_LOGIN',1,'2014-12-21 20:52:09',1,'(UserLogged,admin) - TZ=1;TZString=CET;Screen=1920x969','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36',NULL),(566,'2015-10-03 08:49:43','USER_NEW_PASSWORD',1,'2015-10-03 10:49:43',1,'Password change for admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(567,'2015-10-03 08:49:43','USER_MODIFY',1,'2015-10-03 10:49:43',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(568,'2015-10-03 09:03:12','USER_MODIFY',1,'2015-10-03 11:03:12',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(569,'2015-10-03 09:03:42','USER_MODIFY',1,'2015-10-03 11:03:42',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(570,'2015-10-03 09:07:36','USER_MODIFY',1,'2015-10-03 11:07:36',1,'User demo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(571,'2015-10-03 09:08:58','USER_NEW_PASSWORD',1,'2015-10-03 11:08:58',1,'Password change for pcurie','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(572,'2015-10-03 09:08:58','USER_MODIFY',1,'2015-10-03 11:08:58',1,'User pcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(573,'2015-10-03 09:09:23','USER_MODIFY',1,'2015-10-03 11:09:23',1,'User pcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(574,'2015-10-03 09:11:04','USER_NEW_PASSWORD',1,'2015-10-03 11:11:04',1,'Password change for athestudent','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(575,'2015-10-03 09:11:04','USER_MODIFY',1,'2015-10-03 11:11:04',1,'User athestudent modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(576,'2015-10-03 09:11:53','USER_MODIFY',1,'2015-10-03 11:11:53',1,'User abookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(577,'2015-10-03 09:42:12','USER_LOGIN_FAILED',1,'2015-10-03 11:42:11',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(578,'2015-10-03 09:42:19','USER_LOGIN_FAILED',1,'2015-10-03 11:42:19',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(579,'2015-10-03 09:42:42','USER_LOGIN_FAILED',1,'2015-10-03 11:42:42',NULL,'Bad value for login or password - login=aeinstein','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(580,'2015-10-03 09:43:50','USER_LOGIN',1,'2015-10-03 11:43:50',1,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x788','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(581,'2015-10-03 09:44:44','GROUP_MODIFY',1,'2015-10-03 11:44:44',1,'Group Sale representatives modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(582,'2015-10-03 09:46:25','GROUP_CREATE',1,'2015-10-03 11:46:25',1,'Group Management created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(583,'2015-10-03 09:46:46','GROUP_CREATE',1,'2015-10-03 11:46:46',1,'Group Scientists created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(584,'2015-10-03 09:47:41','USER_CREATE',1,'2015-10-03 11:47:41',1,'User mcurie created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(585,'2015-10-03 09:47:41','USER_NEW_PASSWORD',1,'2015-10-03 11:47:41',1,'Password change for mcurie','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(586,'2015-10-03 09:47:53','USER_MODIFY',1,'2015-10-03 11:47:53',1,'User mcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(587,'2015-10-03 09:48:32','USER_DELETE',1,'2015-10-03 11:48:32',1,'User bbb removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(588,'2015-10-03 09:48:52','USER_MODIFY',1,'2015-10-03 11:48:52',1,'User bookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(589,'2015-10-03 10:01:28','USER_MODIFY',1,'2015-10-03 12:01:28',1,'User bookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(590,'2015-10-03 10:01:39','USER_MODIFY',1,'2015-10-03 12:01:39',1,'User bookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(591,'2015-10-05 06:32:38','USER_LOGIN_FAILED',1,'2015-10-05 08:32:38',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(592,'2015-10-05 06:32:44','USER_LOGIN',1,'2015-10-05 08:32:44',1,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(593,'2015-10-05 07:07:52','USER_CREATE',1,'2015-10-05 09:07:52',1,'User atheceo created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(594,'2015-10-05 07:07:52','USER_NEW_PASSWORD',1,'2015-10-05 09:07:52',1,'Password change for atheceo','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(595,'2015-10-05 07:09:08','USER_NEW_PASSWORD',1,'2015-10-05 09:09:08',1,'Password change for aeinstein','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(596,'2015-10-05 07:09:08','USER_MODIFY',1,'2015-10-05 09:09:08',1,'User aeinstein modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(597,'2015-10-05 07:09:46','USER_CREATE',1,'2015-10-05 09:09:46',1,'User admin created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(598,'2015-10-05 07:09:46','USER_NEW_PASSWORD',1,'2015-10-05 09:09:46',1,'Password change for admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(599,'2015-10-05 07:10:20','USER_MODIFY',1,'2015-10-05 09:10:20',1,'User demo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(600,'2015-10-05 07:10:48','USER_MODIFY',1,'2015-10-05 09:10:48',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(601,'2015-10-05 07:11:22','USER_NEW_PASSWORD',1,'2015-10-05 09:11:22',1,'Password change for bbookkeeper','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(602,'2015-10-05 07:11:22','USER_MODIFY',1,'2015-10-05 09:11:22',1,'User bbookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(603,'2015-10-05 07:12:37','USER_MODIFY',1,'2015-10-05 09:12:37',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(604,'2015-10-05 07:13:27','USER_MODIFY',1,'2015-10-05 09:13:27',1,'User demo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(605,'2015-10-05 07:13:52','USER_MODIFY',1,'2015-10-05 09:13:52',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(606,'2015-10-05 07:14:35','USER_LOGOUT',1,'2015-10-05 09:14:35',1,'(UserLogoff,aeinstein)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(607,'2015-10-05 07:14:40','USER_LOGIN_FAILED',1,'2015-10-05 09:14:40',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(608,'2015-10-05 07:14:44','USER_LOGIN_FAILED',1,'2015-10-05 09:14:44',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(609,'2015-10-05 07:14:49','USER_LOGIN',1,'2015-10-05 09:14:49',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(610,'2015-10-05 07:57:18','USER_MODIFY',1,'2015-10-05 09:57:18',12,'User aeinstein modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(611,'2015-10-05 08:06:54','USER_LOGOUT',1,'2015-10-05 10:06:54',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(612,'2015-10-05 08:07:03','USER_LOGIN',1,'2015-10-05 10:07:03',11,'(UserLogged,atheceo) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(613,'2015-10-05 19:18:46','USER_LOGIN',1,'2015-10-05 21:18:46',11,'(UserLogged,atheceo) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(614,'2015-10-05 19:29:35','USER_CREATE',1,'2015-10-05 21:29:35',11,'User ccommercy created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(615,'2015-10-05 19:29:35','USER_NEW_PASSWORD',1,'2015-10-05 21:29:35',11,'Password change for ccommercy','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(616,'2015-10-05 19:30:13','GROUP_CREATE',1,'2015-10-05 21:30:13',11,'Group Commercial created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(617,'2015-10-05 19:31:37','USER_NEW_PASSWORD',1,'2015-10-05 21:31:37',11,'Password change for admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(618,'2015-10-05 19:31:37','USER_MODIFY',1,'2015-10-05 21:31:37',11,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(619,'2015-10-05 19:32:00','USER_MODIFY',1,'2015-10-05 21:32:00',11,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(620,'2015-10-05 19:33:33','USER_CREATE',1,'2015-10-05 21:33:33',11,'User sscientol created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(621,'2015-10-05 19:33:33','USER_NEW_PASSWORD',1,'2015-10-05 21:33:33',11,'Password change for sscientol','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(622,'2015-10-05 19:33:47','USER_NEW_PASSWORD',1,'2015-10-05 21:33:47',11,'Password change for mcurie','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(623,'2015-10-05 19:33:47','USER_MODIFY',1,'2015-10-05 21:33:47',11,'User mcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(624,'2015-10-05 19:34:23','USER_NEW_PASSWORD',1,'2015-10-05 21:34:23',11,'Password change for pcurie','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(625,'2015-10-05 19:34:23','USER_MODIFY',1,'2015-10-05 21:34:23',11,'User pcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(626,'2015-10-05 19:34:42','USER_MODIFY',1,'2015-10-05 21:34:42',11,'User aeinstein modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(627,'2015-10-05 19:36:06','USER_NEW_PASSWORD',1,'2015-10-05 21:36:06',11,'Password change for ccommercy','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(628,'2015-10-05 19:36:06','USER_MODIFY',1,'2015-10-05 21:36:06',11,'User ccommercy modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(629,'2015-10-05 19:36:57','USER_NEW_PASSWORD',1,'2015-10-05 21:36:57',11,'Password change for atheceo','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(630,'2015-10-05 19:36:57','USER_MODIFY',1,'2015-10-05 21:36:57',11,'User atheceo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(631,'2015-10-05 19:37:27','USER_LOGOUT',1,'2015-10-05 21:37:27',11,'(UserLogoff,atheceo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(632,'2015-10-05 19:37:35','USER_LOGIN_FAILED',1,'2015-10-05 21:37:35',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(633,'2015-10-05 19:37:39','USER_LOGIN_FAILED',1,'2015-10-05 21:37:39',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(634,'2015-10-05 19:37:44','USER_LOGIN_FAILED',1,'2015-10-05 21:37:44',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(635,'2015-10-05 19:37:49','USER_LOGIN_FAILED',1,'2015-10-05 21:37:49',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(636,'2015-10-05 19:38:12','USER_LOGIN_FAILED',1,'2015-10-05 21:38:12',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(637,'2015-10-05 19:40:48','USER_LOGIN_FAILED',1,'2015-10-05 21:40:48',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(638,'2015-10-05 19:40:55','USER_LOGIN',1,'2015-10-05 21:40:55',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(639,'2015-10-05 19:43:34','USER_MODIFY',1,'2015-10-05 21:43:34',12,'User aeinstein modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(640,'2015-10-05 19:45:43','USER_CREATE',1,'2015-10-05 21:45:43',12,'User aaa created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(641,'2015-10-05 19:45:43','USER_NEW_PASSWORD',1,'2015-10-05 21:45:43',12,'Password change for aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(642,'2015-10-05 19:46:18','USER_DELETE',1,'2015-10-05 21:46:18',12,'User aaa removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(643,'2015-10-05 19:47:09','USER_MODIFY',1,'2015-10-05 21:47:09',12,'User demo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(644,'2015-10-05 19:47:22','USER_MODIFY',1,'2015-10-05 21:47:22',12,'User demo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(645,'2015-10-05 19:52:05','USER_MODIFY',1,'2015-10-05 21:52:05',12,'User sscientol modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(646,'2015-10-05 19:52:23','USER_MODIFY',1,'2015-10-05 21:52:23',12,'User bbookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(647,'2015-10-05 19:54:54','USER_NEW_PASSWORD',1,'2015-10-05 21:54:54',12,'Password change for zzeceo','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(648,'2015-10-05 19:54:54','USER_MODIFY',1,'2015-10-05 21:54:54',12,'User zzeceo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(649,'2015-10-05 19:57:02','USER_MODIFY',1,'2015-10-05 21:57:02',12,'User zzeceo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(650,'2015-10-05 19:57:57','USER_NEW_PASSWORD',1,'2015-10-05 21:57:57',12,'Password change for pcurie','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(651,'2015-10-05 19:57:57','USER_MODIFY',1,'2015-10-05 21:57:57',12,'User pcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(652,'2015-10-05 19:59:42','USER_NEW_PASSWORD',1,'2015-10-05 21:59:42',12,'Password change for admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(653,'2015-10-05 19:59:42','USER_MODIFY',1,'2015-10-05 21:59:42',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(654,'2015-10-05 20:00:21','USER_MODIFY',1,'2015-10-05 22:00:21',12,'User adminx modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(655,'2015-10-05 20:05:36','USER_MODIFY',1,'2015-10-05 22:05:36',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(656,'2015-10-05 20:06:25','USER_MODIFY',1,'2015-10-05 22:06:25',12,'User ccommercy modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(657,'2015-10-05 20:07:18','USER_MODIFY',1,'2015-10-05 22:07:18',12,'User mcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(658,'2015-10-05 20:07:36','USER_MODIFY',1,'2015-10-05 22:07:36',12,'User aeinstein modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(659,'2015-10-05 20:08:34','USER_MODIFY',1,'2015-10-05 22:08:34',12,'User bbookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(660,'2015-10-05 20:47:52','USER_CREATE',1,'2015-10-05 22:47:52',12,'User cc1 created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(661,'2015-10-05 20:47:52','USER_NEW_PASSWORD',1,'2015-10-05 22:47:52',12,'Password change for cc1','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(662,'2015-10-05 20:47:55','USER_LOGOUT',1,'2015-10-05 22:47:55',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(663,'2015-10-05 20:48:08','USER_LOGIN',1,'2015-10-05 22:48:08',11,'(UserLogged,zzeceo) - TZ=1;TZString=Europe/Berlin;Screen=1590x434','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(664,'2015-10-05 20:48:39','USER_CREATE',1,'2015-10-05 22:48:39',11,'User cc2 created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(665,'2015-10-05 20:48:39','USER_NEW_PASSWORD',1,'2015-10-05 22:48:39',11,'Password change for cc2','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(666,'2015-10-05 20:48:59','USER_NEW_PASSWORD',1,'2015-10-05 22:48:59',11,'Password change for cc1','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(667,'2015-10-05 20:48:59','USER_MODIFY',1,'2015-10-05 22:48:59',11,'User cc1 modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(668,'2015-10-05 21:06:36','USER_LOGOUT',1,'2015-10-05 23:06:35',11,'(UserLogoff,zzeceo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(669,'2015-10-05 21:06:44','USER_LOGIN_FAILED',1,'2015-10-05 23:06:44',NULL,'Bad value for login or password - login=cc1','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(670,'2015-10-05 21:07:12','USER_LOGIN_FAILED',1,'2015-10-05 23:07:12',NULL,'Bad value for login or password - login=cc1','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(671,'2015-10-05 21:07:19','USER_LOGIN_FAILED',1,'2015-10-05 23:07:19',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(672,'2015-10-05 21:07:27','USER_LOGIN_FAILED',1,'2015-10-05 23:07:27',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(673,'2015-10-05 21:07:32','USER_LOGIN',1,'2015-10-05 23:07:32',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(674,'2015-10-05 21:12:28','USER_NEW_PASSWORD',1,'2015-10-05 23:12:28',12,'Password change for cc1','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(675,'2015-10-05 21:12:28','USER_MODIFY',1,'2015-10-05 23:12:28',12,'User cc1 modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(676,'2015-10-05 21:13:00','USER_CREATE',1,'2015-10-05 23:13:00',12,'User aaa created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(677,'2015-10-05 21:13:00','USER_NEW_PASSWORD',1,'2015-10-05 23:13:00',12,'Password change for aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(678,'2015-10-05 21:13:40','USER_DELETE',1,'2015-10-05 23:13:40',12,'User aaa removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(679,'2015-10-05 21:14:47','USER_LOGOUT',1,'2015-10-05 23:14:47',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(680,'2015-10-05 21:14:56','USER_LOGIN',1,'2015-10-05 23:14:56',16,'(UserLogged,cc1) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(681,'2015-10-05 21:15:56','USER_LOGOUT',1,'2015-10-05 23:15:56',16,'(UserLogoff,cc1)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(682,'2015-10-05 21:16:06','USER_LOGIN',1,'2015-10-05 23:16:06',17,'(UserLogged,cc2) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(683,'2015-10-05 21:37:25','USER_LOGOUT',1,'2015-10-05 23:37:25',17,'(UserLogoff,cc2)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(684,'2015-10-05 21:37:31','USER_LOGIN',1,'2015-10-05 23:37:31',16,'(UserLogged,cc1) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(685,'2015-10-05 21:43:53','USER_LOGOUT',1,'2015-10-05 23:43:53',16,'(UserLogoff,cc1)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(686,'2015-10-05 21:44:00','USER_LOGIN',1,'2015-10-05 23:44:00',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(687,'2015-10-05 21:46:17','USER_LOGOUT',1,'2015-10-05 23:46:17',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(688,'2015-10-05 21:46:24','USER_LOGIN',1,'2015-10-05 23:46:24',16,'(UserLogged,cc1) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(689,'2015-11-04 15:17:06','USER_LOGIN',1,'2015-11-04 16:17:06',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(690,'2015-11-15 22:04:04','USER_LOGIN',1,'2015-11-15 23:04:04',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(691,'2015-11-15 22:23:45','USER_MODIFY',1,'2015-11-15 23:23:45',12,'User ccommercy modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(692,'2015-11-15 22:24:22','USER_MODIFY',1,'2015-11-15 23:24:22',12,'User cc1 modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(693,'2015-11-15 22:24:53','USER_MODIFY',1,'2015-11-15 23:24:53',12,'User cc2 modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(694,'2015-11-15 22:25:17','USER_MODIFY',1,'2015-11-15 23:25:17',12,'User cc1 modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(695,'2015-11-15 22:45:37','USER_LOGOUT',1,'2015-11-15 23:45:37',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(696,'2015-11-18 13:41:02','USER_LOGIN',1,'2015-11-18 14:41:02',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(697,'2015-11-18 14:23:35','USER_LOGIN',1,'2015-11-18 15:23:35',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(698,'2015-11-18 15:15:46','USER_LOGOUT',1,'2015-11-18 16:15:46',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(699,'2015-11-18 15:15:51','USER_LOGIN',1,'2015-11-18 16:15:51',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(700,'2015-11-30 17:52:08','USER_LOGIN',1,'2015-11-30 18:52:08',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(701,'2016-01-10 16:45:43','USER_LOGIN',1,'2016-01-10 17:45:43',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(702,'2016-01-10 16:45:52','USER_LOGOUT',1,'2016-01-10 17:45:52',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(703,'2016-01-10 16:46:06','USER_LOGIN',1,'2016-01-10 17:46:06',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(704,'2016-01-16 14:53:47','USER_LOGIN',1,'2016-01-16 15:53:47',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(705,'2016-01-16 15:04:29','USER_LOGOUT',1,'2016-01-16 16:04:29',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(706,'2016-01-16 15:04:40','USER_LOGIN',1,'2016-01-16 16:04:40',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(707,'2016-01-22 09:33:26','USER_LOGIN',1,'2016-01-22 10:33:26',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(708,'2016-01-22 09:35:19','USER_LOGOUT',1,'2016-01-22 10:35:19',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(709,'2016-01-22 09:35:29','USER_LOGIN',1,'2016-01-22 10:35:29',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(710,'2016-01-22 10:47:34','USER_CREATE',1,'2016-01-22 11:47:34',12,'User aaa created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(711,'2016-01-22 10:47:34','USER_NEW_PASSWORD',1,'2016-01-22 11:47:34',12,'Password change for aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(712,'2016-01-22 12:07:56','USER_LOGIN',1,'2016-01-22 13:07:56',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(713,'2016-01-22 12:36:25','USER_NEW_PASSWORD',1,'2016-01-22 13:36:25',12,'Password change for admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(714,'2016-01-22 12:36:25','USER_MODIFY',1,'2016-01-22 13:36:25',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(715,'2016-01-22 12:56:32','USER_MODIFY',1,'2016-01-22 13:56:32',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(716,'2016-01-22 12:58:05','USER_MODIFY',1,'2016-01-22 13:58:05',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(717,'2016-01-22 13:01:02','USER_MODIFY',1,'2016-01-22 14:01:02',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(718,'2016-01-22 13:01:18','USER_MODIFY',1,'2016-01-22 14:01:18',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(719,'2016-01-22 13:13:42','USER_MODIFY',1,'2016-01-22 14:13:42',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(720,'2016-01-22 13:15:20','USER_DELETE',1,'2016-01-22 14:15:20',12,'User aaa removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(721,'2016-01-22 13:19:21','USER_LOGOUT',1,'2016-01-22 14:19:21',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(722,'2016-01-22 13:19:32','USER_LOGIN',1,'2016-01-22 14:19:32',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(723,'2016-01-22 13:19:51','USER_LOGOUT',1,'2016-01-22 14:19:51',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(724,'2016-01-22 13:20:01','USER_LOGIN',1,'2016-01-22 14:20:01',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(725,'2016-01-22 13:28:22','USER_LOGOUT',1,'2016-01-22 14:28:22',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(726,'2016-01-22 13:28:35','USER_LOGIN',1,'2016-01-22 14:28:35',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(727,'2016-01-22 13:33:54','USER_LOGOUT',1,'2016-01-22 14:33:54',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(728,'2016-01-22 13:34:05','USER_LOGIN',1,'2016-01-22 14:34:05',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(729,'2016-01-22 13:51:46','USER_MODIFY',1,'2016-01-22 14:51:46',12,'User ccommercy modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(730,'2016-01-22 16:20:12','USER_LOGIN',1,'2016-01-22 17:20:12',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(731,'2016-01-22 16:20:22','USER_LOGOUT',1,'2016-01-22 17:20:22',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(732,'2016-01-22 16:20:36','USER_LOGIN',1,'2016-01-22 17:20:36',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(733,'2016-01-22 16:27:02','USER_CREATE',1,'2016-01-22 17:27:02',12,'User ldestailleur created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(734,'2016-01-22 16:27:02','USER_NEW_PASSWORD',1,'2016-01-22 17:27:02',12,'Password change for ldestailleur','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(735,'2016-01-22 16:28:34','USER_MODIFY',1,'2016-01-22 17:28:34',12,'User ldestailleur modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(736,'2016-01-22 16:30:01','USER_ENABLEDISABLE',1,'2016-01-22 17:30:01',12,'User cc2 activated','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(737,'2016-01-22 17:11:06','USER_LOGIN',1,'2016-01-22 18:11:06',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(738,'2016-01-22 18:00:02','USER_DELETE',1,'2016-01-22 19:00:02',12,'User zzz removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(739,'2016-01-22 18:01:40','USER_DELETE',1,'2016-01-22 19:01:40',12,'User aaab removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(740,'2016-01-22 18:01:52','USER_DELETE',1,'2016-01-22 19:01:52',12,'User zzzg removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(741,'2016-03-13 10:54:59','USER_LOGIN',1,'2016-03-13 14:54:59',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1920x971','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36',NULL),(742,'2016-07-30 11:13:10','USER_LOGIN',1,'2016-07-30 15:13:10',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(743,'2016-07-30 12:50:23','USER_CREATE',1,'2016-07-30 16:50:23',12,'User eldy created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(744,'2016-07-30 12:50:23','USER_CREATE',1,'2016-07-30 16:50:23',12,'User eldy created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(745,'2016-07-30 12:50:23','USER_NEW_PASSWORD',1,'2016-07-30 16:50:23',12,'Password change for eldy','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(746,'2016-07-30 12:50:38','USER_MODIFY',1,'2016-07-30 16:50:38',12,'User eldy modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(747,'2016-07-30 12:50:54','USER_DELETE',1,'2016-07-30 16:50:54',12,'User eldy removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(748,'2016-07-30 12:51:23','USER_NEW_PASSWORD',1,'2016-07-30 16:51:23',12,'Password change for ldestailleur','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(749,'2016-07-30 12:51:23','USER_MODIFY',1,'2016-07-30 16:51:23',12,'User ldestailleur modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL); +INSERT INTO `llx_events` VALUES (30,'2011-07-18 18:23:06','USER_LOGOUT',1,'2011-07-18 20:23:06',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(31,'2011-07-18 18:23:12','USER_LOGIN_FAILED',1,'2011-07-18 20:23:12',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(32,'2011-07-18 18:23:17','USER_LOGIN',1,'2011-07-18 20:23:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(33,'2011-07-18 20:10:51','USER_LOGIN_FAILED',1,'2011-07-18 22:10:51',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(34,'2011-07-18 20:10:55','USER_LOGIN',1,'2011-07-18 22:10:55',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(35,'2011-07-18 21:18:57','USER_LOGIN',1,'2011-07-18 23:18:57',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(36,'2011-07-20 10:34:10','USER_LOGIN',1,'2011-07-20 12:34:10',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(37,'2011-07-20 12:36:44','USER_LOGIN',1,'2011-07-20 14:36:44',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(38,'2011-07-20 13:20:51','USER_LOGIN_FAILED',1,'2011-07-20 15:20:51',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(39,'2011-07-20 13:20:54','USER_LOGIN',1,'2011-07-20 15:20:54',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(40,'2011-07-20 15:03:46','USER_LOGIN_FAILED',1,'2011-07-20 17:03:46',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(41,'2011-07-20 15:03:55','USER_LOGIN',1,'2011-07-20 17:03:55',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(42,'2011-07-20 18:05:05','USER_LOGIN_FAILED',1,'2011-07-20 20:05:05',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(43,'2011-07-20 18:05:08','USER_LOGIN',1,'2011-07-20 20:05:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(44,'2011-07-20 21:08:53','USER_LOGIN_FAILED',1,'2011-07-20 23:08:53',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(45,'2011-07-20 21:08:56','USER_LOGIN',1,'2011-07-20 23:08:56',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(46,'2011-07-21 01:26:12','USER_LOGIN',1,'2011-07-21 03:26:12',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(47,'2011-07-21 22:35:45','USER_LOGIN_FAILED',1,'2011-07-22 00:35:45',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(48,'2011-07-21 22:35:49','USER_LOGIN',1,'2011-07-22 00:35:49',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(49,'2011-07-26 23:09:47','USER_LOGIN_FAILED',1,'2011-07-27 01:09:47',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(50,'2011-07-26 23:09:50','USER_LOGIN',1,'2011-07-27 01:09:50',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(51,'2011-07-27 17:02:27','USER_LOGIN_FAILED',1,'2011-07-27 19:02:27',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(52,'2011-07-27 17:02:32','USER_LOGIN',1,'2011-07-27 19:02:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(53,'2011-07-27 23:33:37','USER_LOGIN_FAILED',1,'2011-07-28 01:33:37',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(54,'2011-07-27 23:33:41','USER_LOGIN',1,'2011-07-28 01:33:41',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(55,'2011-07-28 18:20:36','USER_LOGIN_FAILED',1,'2011-07-28 20:20:36',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(56,'2011-07-28 18:20:38','USER_LOGIN',1,'2011-07-28 20:20:38',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(57,'2011-07-28 20:13:30','USER_LOGIN_FAILED',1,'2011-07-28 22:13:30',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(58,'2011-07-28 20:13:34','USER_LOGIN',1,'2011-07-28 22:13:34',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(59,'2011-07-28 20:22:51','USER_LOGIN',1,'2011-07-28 22:22:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(60,'2011-07-28 23:05:06','USER_LOGIN',1,'2011-07-29 01:05:06',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(61,'2011-07-29 20:15:50','USER_LOGIN_FAILED',1,'2011-07-29 22:15:50',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(62,'2011-07-29 20:15:53','USER_LOGIN',1,'2011-07-29 22:15:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(68,'2011-07-29 20:51:01','USER_LOGOUT',1,'2011-07-29 22:51:01',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(69,'2011-07-29 20:51:05','USER_LOGIN',1,'2011-07-29 22:51:05',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(70,'2011-07-30 08:46:20','USER_LOGIN_FAILED',1,'2011-07-30 10:46:20',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(71,'2011-07-30 08:46:38','USER_LOGIN_FAILED',1,'2011-07-30 10:46:38',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(72,'2011-07-30 08:46:42','USER_LOGIN',1,'2011-07-30 10:46:42',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(73,'2011-07-30 10:05:12','USER_LOGIN_FAILED',1,'2011-07-30 12:05:12',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(74,'2011-07-30 10:05:15','USER_LOGIN',1,'2011-07-30 12:05:15',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(75,'2011-07-30 12:15:46','USER_LOGIN',1,'2011-07-30 14:15:46',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(76,'2011-07-31 22:19:30','USER_LOGIN',1,'2011-08-01 00:19:30',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(77,'2011-07-31 23:32:52','USER_LOGIN',1,'2011-08-01 01:32:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(78,'2011-08-01 01:24:50','USER_LOGIN_FAILED',1,'2011-08-01 03:24:50',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(79,'2011-08-01 01:24:54','USER_LOGIN',1,'2011-08-01 03:24:54',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(80,'2011-08-01 19:31:36','USER_LOGIN_FAILED',1,'2011-08-01 21:31:35',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(81,'2011-08-01 19:31:39','USER_LOGIN',1,'2011-08-01 21:31:39',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(82,'2011-08-01 20:01:36','USER_LOGIN',1,'2011-08-01 22:01:36',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(83,'2011-08-01 20:52:54','USER_LOGIN_FAILED',1,'2011-08-01 22:52:54',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(84,'2011-08-01 20:52:58','USER_LOGIN',1,'2011-08-01 22:52:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(85,'2011-08-01 21:17:28','USER_LOGIN_FAILED',1,'2011-08-01 23:17:28',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(86,'2011-08-01 21:17:31','USER_LOGIN',1,'2011-08-01 23:17:31',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(87,'2011-08-04 11:55:17','USER_LOGIN',1,'2011-08-04 13:55:17',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(88,'2011-08-04 20:19:03','USER_LOGIN_FAILED',1,'2011-08-04 22:19:03',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(89,'2011-08-04 20:19:07','USER_LOGIN',1,'2011-08-04 22:19:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(90,'2011-08-05 17:51:42','USER_LOGIN_FAILED',1,'2011-08-05 19:51:42',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(91,'2011-08-05 17:51:47','USER_LOGIN',1,'2011-08-05 19:51:47',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(92,'2011-08-05 17:56:03','USER_LOGIN',1,'2011-08-05 19:56:03',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(93,'2011-08-05 17:59:10','USER_LOGIN',1,'2011-08-05 19:59:10',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30',NULL),(94,'2011-08-05 18:01:58','USER_LOGIN',1,'2011-08-05 20:01:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30',NULL),(95,'2011-08-05 19:59:56','USER_LOGIN',1,'2011-08-05 21:59:56',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(96,'2011-08-06 18:33:22','USER_LOGIN',1,'2011-08-06 20:33:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(97,'2011-08-07 00:56:59','USER_LOGIN',1,'2011-08-07 02:56:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(98,'2011-08-07 22:49:14','USER_LOGIN',1,'2011-08-08 00:49:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(99,'2011-08-07 23:05:18','USER_LOGOUT',1,'2011-08-08 01:05:18',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(105,'2011-08-08 00:41:09','USER_LOGIN',1,'2011-08-08 02:41:09',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(106,'2011-08-08 11:58:55','USER_LOGIN',1,'2011-08-08 13:58:55',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(107,'2011-08-08 14:35:48','USER_LOGIN',1,'2011-08-08 16:35:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(108,'2011-08-08 14:36:31','USER_LOGOUT',1,'2011-08-08 16:36:31',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(109,'2011-08-08 14:38:28','USER_LOGIN',1,'2011-08-08 16:38:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(110,'2011-08-08 14:39:02','USER_LOGOUT',1,'2011-08-08 16:39:02',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(111,'2011-08-08 14:39:10','USER_LOGIN',1,'2011-08-08 16:39:10',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(112,'2011-08-08 14:39:28','USER_LOGOUT',1,'2011-08-08 16:39:28',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(113,'2011-08-08 14:39:37','USER_LOGIN',1,'2011-08-08 16:39:37',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(114,'2011-08-08 14:50:02','USER_LOGOUT',1,'2011-08-08 16:50:02',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(115,'2011-08-08 14:51:45','USER_LOGIN_FAILED',1,'2011-08-08 16:51:45',NULL,'Identifiants login ou mot de passe incorrects - login=','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(116,'2011-08-08 14:51:52','USER_LOGIN',1,'2011-08-08 16:51:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(117,'2011-08-08 15:09:54','USER_LOGOUT',1,'2011-08-08 17:09:54',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(118,'2011-08-08 15:10:19','USER_LOGIN_FAILED',1,'2011-08-08 17:10:19',NULL,'Identifiants login ou mot de passe incorrects - login=','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(119,'2011-08-08 15:10:28','USER_LOGIN',1,'2011-08-08 17:10:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(121,'2011-08-08 15:14:58','USER_LOGOUT',1,'2011-08-08 17:14:58',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(122,'2011-08-08 15:15:00','USER_LOGIN_FAILED',1,'2011-08-08 17:15:00',NULL,'Identifiants login ou mot de passe incorrects - login=','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(123,'2011-08-08 15:17:57','USER_LOGIN',1,'2011-08-08 17:17:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(124,'2011-08-08 15:35:56','USER_LOGOUT',1,'2011-08-08 17:35:56',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(125,'2011-08-08 15:36:05','USER_LOGIN',1,'2011-08-08 17:36:05',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(126,'2011-08-08 17:32:42','USER_LOGIN',1,'2011-08-08 19:32:42',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux i686; rv:5.0) Gecko/20100101 Firefox/5.0',NULL),(127,'2012-12-08 13:49:37','USER_LOGOUT',1,'2012-12-08 14:49:37',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(128,'2012-12-08 13:49:42','USER_LOGIN',1,'2012-12-08 14:49:42',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(129,'2012-12-08 13:50:12','USER_LOGOUT',1,'2012-12-08 14:50:12',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(130,'2012-12-08 13:50:14','USER_LOGIN',1,'2012-12-08 14:50:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(131,'2012-12-08 13:50:17','USER_LOGOUT',1,'2012-12-08 14:50:17',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(132,'2012-12-08 13:52:47','USER_LOGIN',1,'2012-12-08 14:52:47',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(133,'2012-12-08 13:53:08','USER_MODIFY',1,'2012-12-08 14:53:08',1,'User admin modified','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(134,'2012-12-08 14:08:45','USER_LOGOUT',1,'2012-12-08 15:08:45',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(135,'2012-12-08 14:09:09','USER_LOGIN',1,'2012-12-08 15:09:09',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(136,'2012-12-08 14:11:43','USER_LOGOUT',1,'2012-12-08 15:11:43',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(137,'2012-12-08 14:11:45','USER_LOGIN',1,'2012-12-08 15:11:45',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(138,'2012-12-08 14:22:53','USER_LOGOUT',1,'2012-12-08 15:22:53',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(139,'2012-12-08 14:22:54','USER_LOGIN',1,'2012-12-08 15:22:54',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(140,'2012-12-08 14:23:10','USER_LOGOUT',1,'2012-12-08 15:23:10',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(141,'2012-12-08 14:23:11','USER_LOGIN',1,'2012-12-08 15:23:11',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(142,'2012-12-08 14:23:49','USER_LOGOUT',1,'2012-12-08 15:23:49',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(143,'2012-12-08 14:23:50','USER_LOGIN',1,'2012-12-08 15:23:50',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(144,'2012-12-08 14:28:08','USER_LOGOUT',1,'2012-12-08 15:28:08',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(145,'2012-12-08 14:35:15','USER_LOGIN',1,'2012-12-08 15:35:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(146,'2012-12-08 14:35:18','USER_LOGOUT',1,'2012-12-08 15:35:18',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(147,'2012-12-08 14:36:07','USER_LOGIN',1,'2012-12-08 15:36:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(148,'2012-12-08 14:36:09','USER_LOGOUT',1,'2012-12-08 15:36:09',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(149,'2012-12-08 14:36:41','USER_LOGIN',1,'2012-12-08 15:36:41',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(150,'2012-12-08 15:59:13','USER_LOGIN',1,'2012-12-08 16:59:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(151,'2012-12-09 11:49:52','USER_LOGIN',1,'2012-12-09 12:49:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(152,'2012-12-09 13:46:31','USER_LOGIN',1,'2012-12-09 14:46:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(153,'2012-12-09 19:03:14','USER_LOGIN',1,'2012-12-09 20:03:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(154,'2012-12-10 00:16:31','USER_LOGIN',1,'2012-12-10 01:16:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(170,'2012-12-11 22:03:31','USER_LOGIN',1,'2012-12-11 23:03:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(171,'2012-12-12 00:32:39','USER_LOGIN',1,'2012-12-12 01:32:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(172,'2012-12-12 10:49:59','USER_LOGIN',1,'2012-12-12 11:49:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(175,'2012-12-12 10:57:40','USER_MODIFY',1,'2012-12-12 11:57:40',1,'Modification utilisateur admin','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(176,'2012-12-12 13:29:15','USER_LOGIN',1,'2012-12-12 14:29:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(177,'2012-12-12 13:30:15','USER_LOGIN',1,'2012-12-12 14:30:15',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(178,'2012-12-12 13:40:08','USER_LOGOUT',1,'2012-12-12 14:40:08',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(179,'2012-12-12 13:40:10','USER_LOGIN',1,'2012-12-12 14:40:10',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(180,'2012-12-12 13:40:26','USER_MODIFY',1,'2012-12-12 14:40:26',1,'Modification utilisateur admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(181,'2012-12-12 13:40:34','USER_LOGOUT',1,'2012-12-12 14:40:34',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(182,'2012-12-12 13:42:23','USER_LOGIN',1,'2012-12-12 14:42:23',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(183,'2012-12-12 13:43:02','USER_NEW_PASSWORD',1,'2012-12-12 14:43:02',NULL,'Changement mot de passe de admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(184,'2012-12-12 13:43:25','USER_LOGOUT',1,'2012-12-12 14:43:25',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(185,'2012-12-12 13:43:27','USER_LOGIN_FAILED',1,'2012-12-12 14:43:27',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(186,'2012-12-12 13:43:30','USER_LOGIN',1,'2012-12-12 14:43:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(187,'2012-12-12 14:52:11','USER_LOGIN',1,'2012-12-12 15:52:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11',NULL),(188,'2012-12-12 17:53:00','USER_LOGIN_FAILED',1,'2012-12-12 18:53:00',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(189,'2012-12-12 17:53:07','USER_LOGIN_FAILED',1,'2012-12-12 18:53:07',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(190,'2012-12-12 17:53:51','USER_NEW_PASSWORD',1,'2012-12-12 18:53:51',NULL,'Changement mot de passe de admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(191,'2012-12-12 17:54:00','USER_LOGIN',1,'2012-12-12 18:54:00',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(192,'2012-12-12 17:54:10','USER_NEW_PASSWORD',1,'2012-12-12 18:54:10',1,'Changement mot de passe de admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(193,'2012-12-12 17:54:10','USER_MODIFY',1,'2012-12-12 18:54:10',1,'Modification utilisateur admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(194,'2012-12-12 18:57:09','USER_LOGIN',1,'2012-12-12 19:57:09',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(195,'2012-12-12 23:04:08','USER_LOGIN',1,'2012-12-13 00:04:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(196,'2012-12-17 20:03:14','USER_LOGIN',1,'2012-12-17 21:03:14',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(197,'2012-12-17 21:18:45','USER_LOGIN',1,'2012-12-17 22:18:45',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(198,'2012-12-17 22:30:08','USER_LOGIN',1,'2012-12-17 23:30:08',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(199,'2012-12-18 23:32:03','USER_LOGIN',1,'2012-12-19 00:32:03',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(200,'2012-12-19 09:38:03','USER_LOGIN',1,'2012-12-19 10:38:03',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(201,'2012-12-19 11:23:35','USER_LOGIN',1,'2012-12-19 12:23:35',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(202,'2012-12-19 12:46:22','USER_LOGIN',1,'2012-12-19 13:46:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(214,'2012-12-19 19:11:31','USER_LOGIN',1,'2012-12-19 20:11:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(215,'2012-12-21 16:36:57','USER_LOGIN',1,'2012-12-21 17:36:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(216,'2012-12-21 16:38:43','USER_NEW_PASSWORD',1,'2012-12-21 17:38:43',1,'Changement mot de passe de adupont','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(217,'2012-12-21 16:38:43','USER_MODIFY',1,'2012-12-21 17:38:43',1,'Modification utilisateur adupont','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(218,'2012-12-21 16:38:51','USER_LOGOUT',1,'2012-12-21 17:38:51',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(219,'2012-12-21 16:38:55','USER_LOGIN',1,'2012-12-21 17:38:55',3,'(UserLogged,adupont)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(220,'2012-12-21 16:48:18','USER_LOGOUT',1,'2012-12-21 17:48:18',3,'(UserLogoff,adupont)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(221,'2012-12-21 16:48:20','USER_LOGIN',1,'2012-12-21 17:48:20',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(222,'2012-12-26 18:28:18','USER_LOGIN',1,'2012-12-26 19:28:18',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(223,'2012-12-26 20:00:24','USER_LOGIN',1,'2012-12-26 21:00:24',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(224,'2012-12-27 01:10:27','USER_LOGIN',1,'2012-12-27 02:10:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(225,'2012-12-28 19:12:08','USER_LOGIN',1,'2012-12-28 20:12:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(226,'2012-12-28 20:16:58','USER_LOGIN',1,'2012-12-28 21:16:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(227,'2012-12-29 14:35:46','USER_LOGIN',1,'2012-12-29 15:35:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(228,'2012-12-29 14:37:59','USER_LOGOUT',1,'2012-12-29 15:37:59',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(229,'2012-12-29 14:38:00','USER_LOGIN',1,'2012-12-29 15:38:00',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(230,'2012-12-29 17:16:48','USER_LOGIN',1,'2012-12-29 18:16:48',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(231,'2012-12-31 12:02:59','USER_LOGIN',1,'2012-12-31 13:02:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(232,'2013-01-02 20:32:51','USER_LOGIN',1,'2013-01-02 21:32:51',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:17.0) Gecko/20100101 Firefox/17.0',NULL),(233,'2013-01-02 20:58:59','USER_LOGIN',1,'2013-01-02 21:58:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(234,'2013-01-03 09:25:07','USER_LOGIN',1,'2013-01-03 10:25:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(235,'2013-01-03 19:39:31','USER_LOGIN',1,'2013-01-03 20:39:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(236,'2013-01-04 22:40:19','USER_LOGIN',1,'2013-01-04 23:40:19',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(237,'2013-01-05 12:59:59','USER_LOGIN',1,'2013-01-05 13:59:59',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(238,'2013-01-05 15:28:52','USER_LOGIN',1,'2013-01-05 16:28:52',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(239,'2013-01-05 17:02:08','USER_LOGIN',1,'2013-01-05 18:02:08',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(240,'2013-01-06 12:13:33','USER_LOGIN',1,'2013-01-06 13:13:33',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(241,'2013-01-07 01:21:15','USER_LOGIN',1,'2013-01-07 02:21:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(242,'2013-01-07 01:46:31','USER_LOGOUT',1,'2013-01-07 02:46:31',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(243,'2013-01-07 19:54:50','USER_LOGIN',1,'2013-01-07 20:54:50',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(244,'2013-01-08 21:55:01','USER_LOGIN',1,'2013-01-08 22:55:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(245,'2013-01-09 11:13:28','USER_LOGIN',1,'2013-01-09 12:13:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(246,'2013-01-10 18:30:46','USER_LOGIN',1,'2013-01-10 19:30:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(247,'2013-01-11 18:03:26','USER_LOGIN',1,'2013-01-11 19:03:26',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(248,'2013-01-12 11:15:04','USER_LOGIN',1,'2013-01-12 12:15:04',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(249,'2013-01-12 14:42:44','USER_LOGIN',1,'2013-01-12 15:42:44',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(250,'2013-01-13 12:07:17','USER_LOGIN',1,'2013-01-13 13:07:17',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(251,'2013-01-13 17:37:58','USER_LOGIN',1,'2013-01-13 18:37:58',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(252,'2013-01-13 19:24:21','USER_LOGIN',1,'2013-01-13 20:24:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(253,'2013-01-13 19:29:19','USER_LOGOUT',1,'2013-01-13 20:29:19',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(254,'2013-01-13 21:39:39','USER_LOGIN',1,'2013-01-13 22:39:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(255,'2013-01-14 00:52:21','USER_LOGIN',1,'2013-01-14 01:52:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11',NULL),(256,'2013-01-16 11:34:31','USER_LOGIN',1,'2013-01-16 12:34:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(257,'2013-01-16 15:36:21','USER_LOGIN',1,'2013-01-16 16:36:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(258,'2013-01-16 19:17:36','USER_LOGIN',1,'2013-01-16 20:17:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(259,'2013-01-16 19:48:08','GROUP_CREATE',1,'2013-01-16 20:48:08',1,'Création groupe ggg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(260,'2013-01-16 21:48:53','USER_LOGIN',1,'2013-01-16 22:48:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(261,'2013-01-17 19:55:53','USER_LOGIN',1,'2013-01-17 20:55:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(262,'2013-01-18 09:48:01','USER_LOGIN',1,'2013-01-18 10:48:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(263,'2013-01-18 13:22:36','USER_LOGIN',1,'2013-01-18 14:22:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(264,'2013-01-18 16:10:23','USER_LOGIN',1,'2013-01-18 17:10:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(265,'2013-01-18 17:41:40','USER_LOGIN',1,'2013-01-18 18:41:40',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(266,'2013-01-19 14:33:48','USER_LOGIN',1,'2013-01-19 15:33:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(267,'2013-01-19 16:47:43','USER_LOGIN',1,'2013-01-19 17:47:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(268,'2013-01-19 16:59:43','USER_LOGIN',1,'2013-01-19 17:59:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(269,'2013-01-19 17:00:22','USER_LOGIN',1,'2013-01-19 18:00:22',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(270,'2013-01-19 17:04:16','USER_LOGOUT',1,'2013-01-19 18:04:16',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(271,'2013-01-19 17:04:18','USER_LOGIN',1,'2013-01-19 18:04:18',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(272,'2013-01-20 00:34:19','USER_LOGIN',1,'2013-01-20 01:34:19',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(273,'2013-01-21 11:54:17','USER_LOGIN',1,'2013-01-21 12:54:17',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(274,'2013-01-21 13:48:15','USER_LOGIN',1,'2013-01-21 14:48:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(275,'2013-01-21 14:30:22','USER_LOGIN',1,'2013-01-21 15:30:22',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(276,'2013-01-21 15:10:46','USER_LOGIN',1,'2013-01-21 16:10:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(277,'2013-01-21 17:27:43','USER_LOGIN',1,'2013-01-21 18:27:43',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(278,'2013-01-21 21:48:15','USER_LOGIN',1,'2013-01-21 22:48:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(279,'2013-01-21 21:50:42','USER_LOGIN',1,'2013-01-21 22:50:42',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17',NULL),(280,'2013-01-23 09:28:26','USER_LOGIN',1,'2013-01-23 10:28:26',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(281,'2013-01-23 13:21:57','USER_LOGIN',1,'2013-01-23 14:21:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(282,'2013-01-23 16:52:00','USER_LOGOUT',1,'2013-01-23 17:52:00',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(283,'2013-01-23 16:52:05','USER_LOGIN_FAILED',1,'2013-01-23 17:52:05',NULL,'Bad value for login or password - login=bbb','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(284,'2013-01-23 16:52:09','USER_LOGIN',1,'2013-01-23 17:52:09',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(285,'2013-01-23 16:52:27','USER_CREATE',1,'2013-01-23 17:52:27',1,'Création utilisateur aaa','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(286,'2013-01-23 16:52:27','USER_NEW_PASSWORD',1,'2013-01-23 17:52:27',1,'Changement mot de passe de aaa','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(287,'2013-01-23 16:52:37','USER_CREATE',1,'2013-01-23 17:52:37',1,'Création utilisateur bbb','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(288,'2013-01-23 16:52:37','USER_NEW_PASSWORD',1,'2013-01-23 17:52:37',1,'Changement mot de passe de bbb','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(289,'2013-01-23 16:53:15','USER_LOGOUT',1,'2013-01-23 17:53:15',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(290,'2013-01-23 16:53:20','USER_LOGIN',1,'2013-01-23 17:53:20',4,'(UserLogged,aaa)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(291,'2013-01-23 19:16:58','USER_LOGIN',1,'2013-01-23 20:16:58',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(292,'2013-01-26 10:54:07','USER_LOGIN',1,'2013-01-26 11:54:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(293,'2013-01-29 10:15:36','USER_LOGIN',1,'2013-01-29 11:15:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(294,'2013-01-30 17:42:50','USER_LOGIN',1,'2013-01-30 18:42:50',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.56 Safari/537.17',NULL),(295,'2013-02-01 08:49:55','USER_LOGIN',1,'2013-02-01 09:49:55',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(296,'2013-02-01 08:51:57','USER_LOGOUT',1,'2013-02-01 09:51:57',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(297,'2013-02-01 08:52:39','USER_LOGIN',1,'2013-02-01 09:52:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(298,'2013-02-01 21:03:01','USER_LOGIN',1,'2013-02-01 22:03:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(299,'2013-02-10 19:48:39','USER_LOGIN',1,'2013-02-10 20:48:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(300,'2013-02-10 20:46:48','USER_LOGIN',1,'2013-02-10 21:46:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(301,'2013-02-10 21:39:23','USER_LOGIN',1,'2013-02-10 22:39:23',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(302,'2013-02-11 19:00:13','USER_LOGIN',1,'2013-02-11 20:00:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(303,'2013-02-11 19:43:44','USER_LOGIN_FAILED',1,'2013-02-11 20:43:44',NULL,'Unknown column \'u.fk_user\' in \'field list\'','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(304,'2013-02-11 19:44:01','USER_LOGIN',1,'2013-02-11 20:44:01',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(305,'2013-02-12 00:27:35','USER_LOGIN',1,'2013-02-12 01:27:35',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(306,'2013-02-12 00:27:38','USER_LOGOUT',1,'2013-02-12 01:27:38',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(307,'2013-02-12 00:28:07','USER_LOGIN',1,'2013-02-12 01:28:07',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(308,'2013-02-12 00:28:09','USER_LOGOUT',1,'2013-02-12 01:28:09',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(309,'2013-02-12 00:28:26','USER_LOGIN',1,'2013-02-12 01:28:26',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(310,'2013-02-12 00:28:30','USER_LOGOUT',1,'2013-02-12 01:28:30',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(311,'2013-02-12 12:42:15','USER_LOGIN',1,'2013-02-12 13:42:15',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',NULL),(312,'2013-02-12 13:46:16','USER_LOGIN',1,'2013-02-12 14:46:16',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(313,'2013-02-12 14:54:28','USER_LOGIN',1,'2013-02-12 15:54:28',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(314,'2013-02-12 16:04:46','USER_LOGIN',1,'2013-02-12 17:04:46',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(315,'2013-02-13 14:02:43','USER_LOGIN',1,'2013-02-13 15:02:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(316,'2013-02-13 14:48:30','USER_LOGIN',1,'2013-02-13 15:48:30',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(317,'2013-02-13 17:44:53','USER_LOGIN',1,'2013-02-13 18:44:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(318,'2013-02-15 08:44:36','USER_LOGIN',1,'2013-02-15 09:44:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(319,'2013-02-15 08:53:20','USER_LOGIN',1,'2013-02-15 09:53:20',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(320,'2013-02-16 19:10:28','USER_LOGIN',1,'2013-02-16 20:10:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(321,'2013-02-16 19:22:40','USER_CREATE',1,'2013-02-16 20:22:40',1,'Création utilisateur aaab','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(322,'2013-02-16 19:22:40','USER_NEW_PASSWORD',1,'2013-02-16 20:22:40',1,'Changement mot de passe de aaab','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(323,'2013-02-16 19:48:15','USER_CREATE',1,'2013-02-16 20:48:15',1,'Création utilisateur zzz','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(324,'2013-02-16 19:48:15','USER_NEW_PASSWORD',1,'2013-02-16 20:48:15',1,'Changement mot de passe de zzz','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(325,'2013-02-16 19:50:08','USER_CREATE',1,'2013-02-16 20:50:08',1,'Création utilisateur zzzg','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(326,'2013-02-16 19:50:08','USER_NEW_PASSWORD',1,'2013-02-16 20:50:08',1,'Changement mot de passe de zzzg','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(327,'2013-02-16 21:20:03','USER_LOGIN',1,'2013-02-16 22:20:03',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(328,'2013-02-17 14:30:51','USER_LOGIN',1,'2013-02-17 15:30:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(329,'2013-02-17 17:21:22','USER_LOGIN',1,'2013-02-17 18:21:22',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(330,'2013-02-17 17:48:43','USER_MODIFY',1,'2013-02-17 18:48:43',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(331,'2013-02-17 17:48:47','USER_MODIFY',1,'2013-02-17 18:48:47',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(332,'2013-02-17 17:48:51','USER_MODIFY',1,'2013-02-17 18:48:51',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(333,'2013-02-17 17:48:56','USER_MODIFY',1,'2013-02-17 18:48:56',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(334,'2013-02-18 22:00:01','USER_LOGIN',1,'2013-02-18 23:00:01',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(335,'2013-02-19 08:19:52','USER_LOGIN',1,'2013-02-19 09:19:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(336,'2013-02-19 22:00:52','USER_LOGIN',1,'2013-02-19 23:00:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(337,'2013-02-20 09:34:52','USER_LOGIN',1,'2013-02-20 10:34:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(338,'2013-02-20 13:12:28','USER_LOGIN',1,'2013-02-20 14:12:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(339,'2013-02-20 17:19:44','USER_LOGIN',1,'2013-02-20 18:19:44',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(340,'2013-02-20 19:07:21','USER_MODIFY',1,'2013-02-20 20:07:21',1,'Modification utilisateur adupont','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(341,'2013-02-20 19:47:17','USER_LOGIN',1,'2013-02-20 20:47:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(342,'2013-02-20 19:48:01','USER_MODIFY',1,'2013-02-20 20:48:01',1,'Modification utilisateur aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(343,'2013-02-21 08:27:07','USER_LOGIN',1,'2013-02-21 09:27:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(344,'2013-02-23 13:34:13','USER_LOGIN',1,'2013-02-23 14:34:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.69 Safari/537.17',NULL),(345,'2013-02-24 01:06:41','USER_LOGIN_FAILED',1,'2013-02-24 02:06:41',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(346,'2013-02-24 01:06:45','USER_LOGIN_FAILED',1,'2013-02-24 02:06:45',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(347,'2013-02-24 01:06:55','USER_LOGIN_FAILED',1,'2013-02-24 02:06:55',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(348,'2013-02-24 01:07:03','USER_LOGIN_FAILED',1,'2013-02-24 02:07:03',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(349,'2013-02-24 01:07:21','USER_LOGIN_FAILED',1,'2013-02-24 02:07:21',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(350,'2013-02-24 01:08:12','USER_LOGIN_FAILED',1,'2013-02-24 02:08:12',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(351,'2013-02-24 01:08:42','USER_LOGIN_FAILED',1,'2013-02-24 02:08:42',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(352,'2013-02-24 01:08:50','USER_LOGIN_FAILED',1,'2013-02-24 02:08:50',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(353,'2013-02-24 01:09:08','USER_LOGIN_FAILED',1,'2013-02-24 02:09:08',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(354,'2013-02-24 01:09:42','USER_LOGIN_FAILED',1,'2013-02-24 02:09:42',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(355,'2013-02-24 01:09:50','USER_LOGIN_FAILED',1,'2013-02-24 02:09:50',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(356,'2013-02-24 01:10:05','USER_LOGIN_FAILED',1,'2013-02-24 02:10:05',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(357,'2013-02-24 01:10:22','USER_LOGIN_FAILED',1,'2013-02-24 02:10:22',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(358,'2013-02-24 01:10:30','USER_LOGIN_FAILED',1,'2013-02-24 02:10:30',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(359,'2013-02-24 01:10:56','USER_LOGIN_FAILED',1,'2013-02-24 02:10:56',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(360,'2013-02-24 01:11:26','USER_LOGIN_FAILED',1,'2013-02-24 02:11:26',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(361,'2013-02-24 01:12:06','USER_LOGIN_FAILED',1,'2013-02-24 02:12:06',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(362,'2013-02-24 01:21:14','USER_LOGIN_FAILED',1,'2013-02-24 02:21:14',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(363,'2013-02-24 01:21:25','USER_LOGIN_FAILED',1,'2013-02-24 02:21:25',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(364,'2013-02-24 01:21:54','USER_LOGIN_FAILED',1,'2013-02-24 02:21:54',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(365,'2013-02-24 01:22:14','USER_LOGIN_FAILED',1,'2013-02-24 02:22:14',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(366,'2013-02-24 01:22:37','USER_LOGIN_FAILED',1,'2013-02-24 02:22:37',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(367,'2013-02-24 01:23:01','USER_LOGIN_FAILED',1,'2013-02-24 02:23:01',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(368,'2013-02-24 01:23:39','USER_LOGIN_FAILED',1,'2013-02-24 02:23:39',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(369,'2013-02-24 01:24:04','USER_LOGIN_FAILED',1,'2013-02-24 02:24:04',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(370,'2013-02-24 01:24:39','USER_LOGIN_FAILED',1,'2013-02-24 02:24:39',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(371,'2013-02-24 01:25:01','USER_LOGIN_FAILED',1,'2013-02-24 02:25:01',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(372,'2013-02-24 01:25:12','USER_LOGIN_FAILED',1,'2013-02-24 02:25:12',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(373,'2013-02-24 01:27:30','USER_LOGIN_FAILED',1,'2013-02-24 02:27:30',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(374,'2013-02-24 01:28:00','USER_LOGIN_FAILED',1,'2013-02-24 02:28:00',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(375,'2013-02-24 01:28:35','USER_LOGIN_FAILED',1,'2013-02-24 02:28:35',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(376,'2013-02-24 01:29:03','USER_LOGIN_FAILED',1,'2013-02-24 02:29:03',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(377,'2013-02-24 01:29:55','USER_LOGIN_FAILED',1,'2013-02-24 02:29:55',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(378,'2013-02-24 01:32:40','USER_LOGIN_FAILED',1,'2013-02-24 02:32:40',NULL,'Bad value for login or password - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(379,'2013-02-24 01:39:33','USER_LOGIN_FAILED',1,'2013-02-24 02:39:33',NULL,'Identifiants login ou mot de passe incorrects - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(380,'2013-02-24 01:39:38','USER_LOGIN_FAILED',1,'2013-02-24 02:39:38',NULL,'Identifiants login ou mot de passe incorrects - login=aa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(381,'2013-02-24 01:39:47','USER_LOGIN_FAILED',1,'2013-02-24 02:39:47',NULL,'Identifiants login ou mot de passe incorrects - login=lmkm','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(382,'2013-02-24 01:40:54','USER_LOGIN_FAILED',1,'2013-02-24 02:40:54',NULL,'Identifiants login ou mot de passe incorrects - login=lmkm','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(383,'2013-02-24 01:47:57','USER_LOGIN_FAILED',1,'2013-02-24 02:47:57',NULL,'Identifiants login ou mot de passe incorrects - login=lmkm','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(384,'2013-02-24 01:48:05','USER_LOGIN_FAILED',1,'2013-02-24 02:48:05',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(385,'2013-02-24 01:48:07','USER_LOGIN_FAILED',1,'2013-02-24 02:48:07',NULL,'Unknown column \'u.lastname\' in \'field list\'','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(386,'2013-02-24 01:48:35','USER_LOGIN',1,'2013-02-24 02:48:35',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(387,'2013-02-24 01:56:32','USER_LOGIN',1,'2013-02-24 02:56:32',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',NULL),(388,'2013-02-24 02:05:55','USER_LOGOUT',1,'2013-02-24 03:05:55',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(389,'2013-02-24 02:39:52','USER_LOGIN',1,'2013-02-24 03:39:52',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(390,'2013-02-24 02:51:10','USER_LOGOUT',1,'2013-02-24 03:51:10',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(391,'2013-02-24 12:46:41','USER_LOGIN',1,'2013-02-24 13:46:41',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(392,'2013-02-24 12:46:52','USER_LOGOUT',1,'2013-02-24 13:46:52',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(393,'2013-02-24 12:46:56','USER_LOGIN',1,'2013-02-24 13:46:56',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(394,'2013-02-24 12:47:56','USER_LOGOUT',1,'2013-02-24 13:47:56',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(395,'2013-02-24 12:48:00','USER_LOGIN',1,'2013-02-24 13:48:00',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(396,'2013-02-24 12:48:11','USER_LOGOUT',1,'2013-02-24 13:48:11',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(397,'2013-02-24 12:48:32','USER_LOGIN',1,'2013-02-24 13:48:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(398,'2013-02-24 12:52:22','USER_LOGOUT',1,'2013-02-24 13:52:22',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(399,'2013-02-24 12:52:27','USER_LOGIN',1,'2013-02-24 13:52:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(400,'2013-02-24 12:52:54','USER_LOGOUT',1,'2013-02-24 13:52:54',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(401,'2013-02-24 12:52:59','USER_LOGIN',1,'2013-02-24 13:52:59',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(402,'2013-02-24 12:55:39','USER_LOGOUT',1,'2013-02-24 13:55:39',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(403,'2013-02-24 12:55:59','USER_LOGIN',1,'2013-02-24 13:55:59',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(404,'2013-02-24 12:56:07','USER_LOGOUT',1,'2013-02-24 13:56:07',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(405,'2013-02-24 12:56:23','USER_LOGIN',1,'2013-02-24 13:56:23',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(406,'2013-02-24 12:56:46','USER_LOGOUT',1,'2013-02-24 13:56:46',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(407,'2013-02-24 12:58:30','USER_LOGIN',1,'2013-02-24 13:58:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(408,'2013-02-24 12:58:33','USER_LOGOUT',1,'2013-02-24 13:58:33',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(409,'2013-02-24 12:58:51','USER_LOGIN',1,'2013-02-24 13:58:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(410,'2013-02-24 12:58:58','USER_LOGOUT',1,'2013-02-24 13:58:58',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(411,'2013-02-24 13:18:53','USER_LOGIN',1,'2013-02-24 14:18:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(412,'2013-02-24 13:19:52','USER_LOGOUT',1,'2013-02-24 14:19:52',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(413,'2013-02-24 15:39:31','USER_LOGIN_FAILED',1,'2013-02-24 16:39:31',NULL,'ErrorBadValueForCode - login=admin','127.0.0.1',NULL,NULL),(414,'2013-02-24 15:42:07','USER_LOGIN',1,'2013-02-24 16:42:07',1,'(UserLogged,admin)','127.0.0.1',NULL,NULL),(415,'2013-02-24 15:42:52','USER_LOGOUT',1,'2013-02-24 16:42:52',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(416,'2013-02-24 16:04:21','USER_LOGIN',1,'2013-02-24 17:04:21',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',NULL),(417,'2013-02-24 16:11:28','USER_LOGIN_FAILED',1,'2013-02-24 17:11:28',NULL,'ErrorBadValueForCode - login=admin','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(418,'2013-02-24 16:11:37','USER_LOGIN',1,'2013-02-24 17:11:37',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(419,'2013-02-24 16:36:52','USER_LOGOUT',1,'2013-02-24 17:36:52',1,'(UserLogoff,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1',NULL),(420,'2013-02-24 16:40:37','USER_LOGIN',1,'2013-02-24 17:40:37',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(421,'2013-02-24 16:57:16','USER_LOGIN',1,'2013-02-24 17:57:16',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 - 2131034114',NULL),(422,'2013-02-24 17:01:30','USER_LOGOUT',1,'2013-02-24 18:01:30',1,'(UserLogoff,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 - 2131034114',NULL),(423,'2013-02-24 17:02:33','USER_LOGIN',1,'2013-02-24 18:02:33',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(424,'2013-02-24 17:14:22','USER_LOGOUT',1,'2013-02-24 18:14:22',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(425,'2013-02-24 17:15:07','USER_LOGIN_FAILED',1,'2013-02-24 18:15:07',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(426,'2013-02-24 17:15:20','USER_LOGIN',1,'2013-02-24 18:15:20',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(427,'2013-02-24 17:20:14','USER_LOGIN',1,'2013-02-24 18:20:14',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(428,'2013-02-24 17:20:51','USER_LOGIN',1,'2013-02-24 18:20:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(429,'2013-02-24 17:20:54','USER_LOGOUT',1,'2013-02-24 18:20:54',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(430,'2013-02-24 17:21:19','USER_LOGIN',1,'2013-02-24 18:21:19',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(431,'2013-02-24 17:32:35','USER_LOGIN',1,'2013-02-24 18:32:35',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (Linux; U; Android 2.2; en-us; sdk Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 - 2131034114',NULL),(432,'2013-02-24 18:28:48','USER_LOGIN',1,'2013-02-24 19:28:48',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(433,'2013-02-24 18:29:27','USER_LOGOUT',1,'2013-02-24 19:29:27',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(434,'2013-02-24 18:29:32','USER_LOGIN',1,'2013-02-24 19:29:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7',NULL),(435,'2013-02-24 20:13:13','USER_LOGOUT',1,'2013-02-24 21:13:13',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(436,'2013-02-24 20:13:17','USER_LOGIN',1,'2013-02-24 21:13:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(437,'2013-02-25 08:57:16','USER_LOGIN',1,'2013-02-25 09:57:16',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(438,'2013-02-25 08:57:59','USER_LOGOUT',1,'2013-02-25 09:57:59',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(439,'2013-02-25 09:15:02','USER_LOGIN',1,'2013-02-25 10:15:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(440,'2013-02-25 09:15:50','USER_LOGOUT',1,'2013-02-25 10:15:50',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(441,'2013-02-25 09:15:57','USER_LOGIN',1,'2013-02-25 10:15:57',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(442,'2013-02-25 09:16:12','USER_LOGOUT',1,'2013-02-25 10:16:12',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(443,'2013-02-25 09:16:19','USER_LOGIN',1,'2013-02-25 10:16:19',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(444,'2013-02-25 09:16:25','USER_LOGOUT',1,'2013-02-25 10:16:25',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(445,'2013-02-25 09:16:39','USER_LOGIN_FAILED',1,'2013-02-25 10:16:39',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(446,'2013-02-25 09:16:42','USER_LOGIN_FAILED',1,'2013-02-25 10:16:42',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(447,'2013-02-25 09:16:54','USER_LOGIN_FAILED',1,'2013-02-25 10:16:54',NULL,'Identificadors d'usuari o contrasenya incorrectes - login=gfdg','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(448,'2013-02-25 09:17:53','USER_LOGIN',1,'2013-02-25 10:17:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(449,'2013-02-25 09:18:37','USER_LOGOUT',1,'2013-02-25 10:18:37',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(450,'2013-02-25 09:18:41','USER_LOGIN',1,'2013-02-25 10:18:41',4,'(UserLogged,aaa)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(451,'2013-02-25 09:18:47','USER_LOGOUT',1,'2013-02-25 10:18:47',4,'(UserLogoff,aaa)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(452,'2013-02-25 10:05:34','USER_LOGIN',1,'2013-02-25 11:05:34',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(453,'2013-02-26 21:51:40','USER_LOGIN',1,'2013-02-26 22:51:40',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(454,'2013-02-26 23:30:06','USER_LOGIN',1,'2013-02-27 00:30:06',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(455,'2013-02-27 14:13:11','USER_LOGIN',1,'2013-02-27 15:13:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(456,'2013-02-27 18:12:06','USER_LOGIN_FAILED',1,'2013-02-27 19:12:06',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(457,'2013-02-27 18:12:10','USER_LOGIN',1,'2013-02-27 19:12:10',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(458,'2013-02-27 20:20:08','USER_LOGIN',1,'2013-02-27 21:20:08',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(459,'2013-03-01 22:12:03','USER_LOGIN',1,'2013-03-01 23:12:03',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(460,'2013-03-02 11:45:50','USER_LOGIN',1,'2013-03-02 12:45:50',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(461,'2013-03-02 15:53:51','USER_LOGIN_FAILED',1,'2013-03-02 16:53:51',NULL,'Identifiants login ou mot de passe incorrects - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(462,'2013-03-02 15:53:53','USER_LOGIN',1,'2013-03-02 16:53:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(463,'2013-03-02 18:32:32','USER_LOGIN',1,'2013-03-02 19:32:32',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(464,'2013-03-02 22:59:36','USER_LOGIN',1,'2013-03-02 23:59:36',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(465,'2013-03-03 16:26:26','USER_LOGIN',1,'2013-03-03 17:26:26',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(466,'2013-03-03 22:50:27','USER_LOGIN',1,'2013-03-03 23:50:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(467,'2013-03-04 08:29:27','USER_LOGIN',1,'2013-03-04 09:29:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(468,'2013-03-04 18:27:28','USER_LOGIN',1,'2013-03-04 19:27:28',1,'(UserLogged,admin)','192.168.0.254','Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; NP06)',NULL),(469,'2013-03-04 19:27:23','USER_LOGIN',1,'2013-03-04 20:27:23',1,'(UserLogged,admin)','192.168.0.254','Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)',NULL),(470,'2013-03-04 19:35:14','USER_LOGIN',1,'2013-03-04 20:35:14',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(471,'2013-03-04 19:55:49','USER_LOGIN',1,'2013-03-04 20:55:49',1,'(UserLogged,admin)','192.168.0.254','Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)',NULL),(472,'2013-03-04 21:16:13','USER_LOGIN',1,'2013-03-04 22:16:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(473,'2013-03-05 10:17:30','USER_LOGIN',1,'2013-03-05 11:17:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(474,'2013-03-05 11:02:43','USER_LOGIN',1,'2013-03-05 12:02:43',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(475,'2013-03-05 23:14:39','USER_LOGIN',1,'2013-03-06 00:14:39',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(476,'2013-03-06 08:58:57','USER_LOGIN',1,'2013-03-06 09:58:57',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(477,'2013-03-06 14:29:40','USER_LOGIN',1,'2013-03-06 15:29:40',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(478,'2013-03-06 21:53:02','USER_LOGIN',1,'2013-03-06 22:53:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(479,'2013-03-07 21:14:39','USER_LOGIN',1,'2013-03-07 22:14:39',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(480,'2013-03-08 00:06:05','USER_LOGIN',1,'2013-03-08 01:06:05',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(481,'2013-03-08 01:38:13','USER_LOGIN',1,'2013-03-08 02:38:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(482,'2013-03-08 08:59:50','USER_LOGIN',1,'2013-03-08 09:59:50',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(483,'2013-03-09 12:08:51','USER_LOGIN',1,'2013-03-09 13:08:51',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(484,'2013-03-09 15:19:53','USER_LOGIN',1,'2013-03-09 16:19:53',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(495,'2013-03-09 18:06:21','USER_LOGIN',1,'2013-03-09 19:06:21',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(496,'2013-03-09 20:01:24','USER_LOGIN',1,'2013-03-09 21:01:24',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(497,'2013-03-09 23:36:45','USER_LOGIN',1,'2013-03-10 00:36:45',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(498,'2013-03-10 14:37:13','USER_LOGIN',1,'2013-03-10 15:37:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(499,'2013-03-10 17:54:12','USER_LOGIN',1,'2013-03-10 18:54:12',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(500,'2013-03-11 08:57:09','USER_LOGIN',1,'2013-03-11 09:57:09',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(501,'2013-03-11 22:05:13','USER_LOGIN',1,'2013-03-11 23:05:13',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(502,'2013-03-12 08:34:27','USER_LOGIN',1,'2013-03-12 09:34:27',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(503,'2013-03-13 09:11:02','USER_LOGIN',1,'2013-03-13 10:11:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(504,'2013-03-13 10:02:11','USER_LOGIN',1,'2013-03-13 11:02:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(505,'2013-03-13 13:20:58','USER_LOGIN',1,'2013-03-13 14:20:58',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(506,'2013-03-13 16:19:28','USER_LOGIN',1,'2013-03-13 17:19:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(507,'2013-03-13 18:34:30','USER_LOGIN',1,'2013-03-13 19:34:30',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(508,'2013-03-14 08:25:02','USER_LOGIN',1,'2013-03-14 09:25:02',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(509,'2013-03-14 19:15:22','USER_LOGIN',1,'2013-03-14 20:15:22',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(510,'2013-03-14 21:58:53','USER_LOGIN',1,'2013-03-14 22:58:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(511,'2013-03-14 21:58:59','USER_LOGOUT',1,'2013-03-14 22:58:59',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(512,'2013-03-14 21:59:07','USER_LOGIN',1,'2013-03-14 22:59:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(513,'2013-03-14 22:58:22','USER_LOGOUT',1,'2013-03-14 23:58:22',1,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(514,'2013-03-14 23:00:25','USER_LOGIN',1,'2013-03-15 00:00:25',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(515,'2013-03-16 12:14:28','USER_LOGIN',1,'2013-03-16 13:14:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(516,'2013-03-16 16:09:01','USER_LOGIN',1,'2013-03-16 17:09:01',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(517,'2013-03-16 16:57:11','USER_LOGIN',1,'2013-03-16 17:57:11',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(518,'2013-03-16 19:31:31','USER_LOGIN',1,'2013-03-16 20:31:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.97 Safari/537.22',NULL),(519,'2013-03-17 17:44:39','USER_LOGIN',1,'2013-03-17 18:44:39',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(520,'2013-03-17 20:40:57','USER_LOGIN',1,'2013-03-17 21:40:57',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(521,'2013-03-17 23:14:05','USER_LOGIN',1,'2013-03-18 00:14:05',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(522,'2013-03-17 23:28:47','USER_LOGOUT',1,'2013-03-18 00:28:47',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(523,'2013-03-17 23:28:54','USER_LOGIN',1,'2013-03-18 00:28:54',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(524,'2013-03-18 17:37:30','USER_LOGIN',1,'2013-03-18 18:37:30',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(525,'2013-03-18 18:11:37','USER_LOGIN',1,'2013-03-18 19:11:37',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(526,'2013-03-19 08:35:08','USER_LOGIN',1,'2013-03-19 09:35:08',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(527,'2013-03-19 09:20:23','USER_LOGIN',1,'2013-03-19 10:20:23',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(528,'2013-03-20 13:17:13','USER_LOGIN',1,'2013-03-20 14:17:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(529,'2013-03-20 14:44:31','USER_LOGIN',1,'2013-03-20 15:44:31',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(530,'2013-03-20 18:24:25','USER_LOGIN',1,'2013-03-20 19:24:25',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(531,'2013-03-20 19:15:54','USER_LOGIN',1,'2013-03-20 20:15:54',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(532,'2013-03-21 18:40:47','USER_LOGIN',1,'2013-03-21 19:40:47',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(533,'2013-03-21 21:42:24','USER_LOGIN',1,'2013-03-21 22:42:24',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(534,'2013-03-22 08:39:23','USER_LOGIN',1,'2013-03-22 09:39:23',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(535,'2013-03-23 13:04:55','USER_LOGIN',1,'2013-03-23 14:04:55',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(536,'2013-03-23 15:47:43','USER_LOGIN',1,'2013-03-23 16:47:43',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(537,'2013-03-23 22:56:36','USER_LOGIN',1,'2013-03-23 23:56:36',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(538,'2013-03-24 01:22:32','USER_LOGIN',1,'2013-03-24 02:22:32',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(539,'2013-03-24 14:40:42','USER_LOGIN',1,'2013-03-24 15:40:42',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(540,'2013-03-24 15:30:26','USER_LOGOUT',1,'2013-03-24 16:30:26',1,'(UserLogoff,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(541,'2013-03-24 15:30:29','USER_LOGIN',1,'2013-03-24 16:30:29',2,'(UserLogged,demo)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(542,'2013-03-24 15:49:40','USER_LOGOUT',1,'2013-03-24 16:49:40',2,'(UserLogoff,demo)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(543,'2013-03-24 15:49:48','USER_LOGIN',1,'2013-03-24 16:49:48',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(544,'2013-03-24 15:52:35','USER_MODIFY',1,'2013-03-24 16:52:35',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(545,'2013-03-24 15:52:52','USER_MODIFY',1,'2013-03-24 16:52:52',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(546,'2013-03-24 15:53:09','USER_MODIFY',1,'2013-03-24 16:53:09',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(547,'2013-03-24 15:53:23','USER_MODIFY',1,'2013-03-24 16:53:23',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(548,'2013-03-24 16:00:04','USER_MODIFY',1,'2013-03-24 17:00:04',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(549,'2013-03-24 16:01:50','USER_MODIFY',1,'2013-03-24 17:01:50',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(550,'2013-03-24 16:10:14','USER_MODIFY',1,'2013-03-24 17:10:14',1,'Modification utilisateur zzzg','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(551,'2013-03-24 16:55:13','USER_LOGIN',1,'2013-03-24 17:55:13',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(552,'2013-03-24 17:44:29','USER_LOGIN',1,'2013-03-24 18:44:29',1,'(UserLogged,admin)','::1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22',NULL),(553,'2013-09-08 23:06:26','USER_LOGIN',1,'2013-09-09 01:06:26',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36',NULL),(554,'2013-10-21 22:32:28','USER_LOGIN',1,'2013-10-22 00:32:28',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.66 Safari/537.36',NULL),(555,'2013-10-21 22:32:48','USER_LOGIN',1,'2013-10-22 00:32:48',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.66 Safari/537.36',NULL),(556,'2013-11-07 00:01:51','USER_LOGIN',1,'2013-11-07 01:01:51',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.114 Safari/537.36',NULL),(557,'2014-03-02 15:21:07','USER_LOGIN',1,'2014-03-02 16:21:07',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(558,'2014-03-02 15:36:53','USER_LOGIN',1,'2014-03-02 16:36:53',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(559,'2014-03-02 18:54:23','USER_LOGIN',1,'2014-03-02 19:54:23',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(560,'2014-03-02 19:11:17','USER_LOGIN',1,'2014-03-02 20:11:17',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(561,'2014-03-03 18:19:24','USER_LOGIN',1,'2014-03-03 19:19:24',1,'(UserLogged,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36',NULL),(562,'2014-12-21 12:51:38','USER_LOGIN',1,'2014-12-21 13:51:38',1,'(UserLogged,admin) - TZ=1;TZString=CET;Screen=1920x969','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36',NULL),(563,'2014-12-21 19:52:09','USER_LOGIN',1,'2014-12-21 20:52:09',1,'(UserLogged,admin) - TZ=1;TZString=CET;Screen=1920x969','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36',NULL),(566,'2015-10-03 08:49:43','USER_NEW_PASSWORD',1,'2015-10-03 10:49:43',1,'Password change for admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(567,'2015-10-03 08:49:43','USER_MODIFY',1,'2015-10-03 10:49:43',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(568,'2015-10-03 09:03:12','USER_MODIFY',1,'2015-10-03 11:03:12',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(569,'2015-10-03 09:03:42','USER_MODIFY',1,'2015-10-03 11:03:42',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(570,'2015-10-03 09:07:36','USER_MODIFY',1,'2015-10-03 11:07:36',1,'User demo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(571,'2015-10-03 09:08:58','USER_NEW_PASSWORD',1,'2015-10-03 11:08:58',1,'Password change for pcurie','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(572,'2015-10-03 09:08:58','USER_MODIFY',1,'2015-10-03 11:08:58',1,'User pcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(573,'2015-10-03 09:09:23','USER_MODIFY',1,'2015-10-03 11:09:23',1,'User pcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(574,'2015-10-03 09:11:04','USER_NEW_PASSWORD',1,'2015-10-03 11:11:04',1,'Password change for athestudent','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(575,'2015-10-03 09:11:04','USER_MODIFY',1,'2015-10-03 11:11:04',1,'User athestudent modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(576,'2015-10-03 09:11:53','USER_MODIFY',1,'2015-10-03 11:11:53',1,'User abookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(577,'2015-10-03 09:42:12','USER_LOGIN_FAILED',1,'2015-10-03 11:42:11',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(578,'2015-10-03 09:42:19','USER_LOGIN_FAILED',1,'2015-10-03 11:42:19',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(579,'2015-10-03 09:42:42','USER_LOGIN_FAILED',1,'2015-10-03 11:42:42',NULL,'Bad value for login or password - login=aeinstein','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(580,'2015-10-03 09:43:50','USER_LOGIN',1,'2015-10-03 11:43:50',1,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x788','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(581,'2015-10-03 09:44:44','GROUP_MODIFY',1,'2015-10-03 11:44:44',1,'Group Sale representatives modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(582,'2015-10-03 09:46:25','GROUP_CREATE',1,'2015-10-03 11:46:25',1,'Group Management created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(583,'2015-10-03 09:46:46','GROUP_CREATE',1,'2015-10-03 11:46:46',1,'Group Scientists created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(584,'2015-10-03 09:47:41','USER_CREATE',1,'2015-10-03 11:47:41',1,'User mcurie created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(585,'2015-10-03 09:47:41','USER_NEW_PASSWORD',1,'2015-10-03 11:47:41',1,'Password change for mcurie','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(586,'2015-10-03 09:47:53','USER_MODIFY',1,'2015-10-03 11:47:53',1,'User mcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(587,'2015-10-03 09:48:32','USER_DELETE',1,'2015-10-03 11:48:32',1,'User bbb removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(588,'2015-10-03 09:48:52','USER_MODIFY',1,'2015-10-03 11:48:52',1,'User bookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(589,'2015-10-03 10:01:28','USER_MODIFY',1,'2015-10-03 12:01:28',1,'User bookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(590,'2015-10-03 10:01:39','USER_MODIFY',1,'2015-10-03 12:01:39',1,'User bookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(591,'2015-10-05 06:32:38','USER_LOGIN_FAILED',1,'2015-10-05 08:32:38',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(592,'2015-10-05 06:32:44','USER_LOGIN',1,'2015-10-05 08:32:44',1,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(593,'2015-10-05 07:07:52','USER_CREATE',1,'2015-10-05 09:07:52',1,'User atheceo created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(594,'2015-10-05 07:07:52','USER_NEW_PASSWORD',1,'2015-10-05 09:07:52',1,'Password change for atheceo','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(595,'2015-10-05 07:09:08','USER_NEW_PASSWORD',1,'2015-10-05 09:09:08',1,'Password change for aeinstein','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(596,'2015-10-05 07:09:08','USER_MODIFY',1,'2015-10-05 09:09:08',1,'User aeinstein modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(597,'2015-10-05 07:09:46','USER_CREATE',1,'2015-10-05 09:09:46',1,'User admin created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(598,'2015-10-05 07:09:46','USER_NEW_PASSWORD',1,'2015-10-05 09:09:46',1,'Password change for admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(599,'2015-10-05 07:10:20','USER_MODIFY',1,'2015-10-05 09:10:20',1,'User demo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(600,'2015-10-05 07:10:48','USER_MODIFY',1,'2015-10-05 09:10:48',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(601,'2015-10-05 07:11:22','USER_NEW_PASSWORD',1,'2015-10-05 09:11:22',1,'Password change for bbookkeeper','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(602,'2015-10-05 07:11:22','USER_MODIFY',1,'2015-10-05 09:11:22',1,'User bbookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(603,'2015-10-05 07:12:37','USER_MODIFY',1,'2015-10-05 09:12:37',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(604,'2015-10-05 07:13:27','USER_MODIFY',1,'2015-10-05 09:13:27',1,'User demo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(605,'2015-10-05 07:13:52','USER_MODIFY',1,'2015-10-05 09:13:52',1,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(606,'2015-10-05 07:14:35','USER_LOGOUT',1,'2015-10-05 09:14:35',1,'(UserLogoff,aeinstein)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(607,'2015-10-05 07:14:40','USER_LOGIN_FAILED',1,'2015-10-05 09:14:40',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(608,'2015-10-05 07:14:44','USER_LOGIN_FAILED',1,'2015-10-05 09:14:44',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(609,'2015-10-05 07:14:49','USER_LOGIN',1,'2015-10-05 09:14:49',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(610,'2015-10-05 07:57:18','USER_MODIFY',1,'2015-10-05 09:57:18',12,'User aeinstein modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(611,'2015-10-05 08:06:54','USER_LOGOUT',1,'2015-10-05 10:06:54',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(612,'2015-10-05 08:07:03','USER_LOGIN',1,'2015-10-05 10:07:03',11,'(UserLogged,atheceo) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(613,'2015-10-05 19:18:46','USER_LOGIN',1,'2015-10-05 21:18:46',11,'(UserLogged,atheceo) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(614,'2015-10-05 19:29:35','USER_CREATE',1,'2015-10-05 21:29:35',11,'User ccommercy created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(615,'2015-10-05 19:29:35','USER_NEW_PASSWORD',1,'2015-10-05 21:29:35',11,'Password change for ccommercy','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(616,'2015-10-05 19:30:13','GROUP_CREATE',1,'2015-10-05 21:30:13',11,'Group Commercial created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(617,'2015-10-05 19:31:37','USER_NEW_PASSWORD',1,'2015-10-05 21:31:37',11,'Password change for admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(618,'2015-10-05 19:31:37','USER_MODIFY',1,'2015-10-05 21:31:37',11,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(619,'2015-10-05 19:32:00','USER_MODIFY',1,'2015-10-05 21:32:00',11,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(620,'2015-10-05 19:33:33','USER_CREATE',1,'2015-10-05 21:33:33',11,'User sscientol created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(621,'2015-10-05 19:33:33','USER_NEW_PASSWORD',1,'2015-10-05 21:33:33',11,'Password change for sscientol','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(622,'2015-10-05 19:33:47','USER_NEW_PASSWORD',1,'2015-10-05 21:33:47',11,'Password change for mcurie','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(623,'2015-10-05 19:33:47','USER_MODIFY',1,'2015-10-05 21:33:47',11,'User mcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(624,'2015-10-05 19:34:23','USER_NEW_PASSWORD',1,'2015-10-05 21:34:23',11,'Password change for pcurie','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(625,'2015-10-05 19:34:23','USER_MODIFY',1,'2015-10-05 21:34:23',11,'User pcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(626,'2015-10-05 19:34:42','USER_MODIFY',1,'2015-10-05 21:34:42',11,'User aeinstein modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(627,'2015-10-05 19:36:06','USER_NEW_PASSWORD',1,'2015-10-05 21:36:06',11,'Password change for ccommercy','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(628,'2015-10-05 19:36:06','USER_MODIFY',1,'2015-10-05 21:36:06',11,'User ccommercy modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(629,'2015-10-05 19:36:57','USER_NEW_PASSWORD',1,'2015-10-05 21:36:57',11,'Password change for atheceo','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(630,'2015-10-05 19:36:57','USER_MODIFY',1,'2015-10-05 21:36:57',11,'User atheceo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(631,'2015-10-05 19:37:27','USER_LOGOUT',1,'2015-10-05 21:37:27',11,'(UserLogoff,atheceo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(632,'2015-10-05 19:37:35','USER_LOGIN_FAILED',1,'2015-10-05 21:37:35',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(633,'2015-10-05 19:37:39','USER_LOGIN_FAILED',1,'2015-10-05 21:37:39',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(634,'2015-10-05 19:37:44','USER_LOGIN_FAILED',1,'2015-10-05 21:37:44',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(635,'2015-10-05 19:37:49','USER_LOGIN_FAILED',1,'2015-10-05 21:37:49',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(636,'2015-10-05 19:38:12','USER_LOGIN_FAILED',1,'2015-10-05 21:38:12',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(637,'2015-10-05 19:40:48','USER_LOGIN_FAILED',1,'2015-10-05 21:40:48',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(638,'2015-10-05 19:40:55','USER_LOGIN',1,'2015-10-05 21:40:55',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(639,'2015-10-05 19:43:34','USER_MODIFY',1,'2015-10-05 21:43:34',12,'User aeinstein modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(640,'2015-10-05 19:45:43','USER_CREATE',1,'2015-10-05 21:45:43',12,'User aaa created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(641,'2015-10-05 19:45:43','USER_NEW_PASSWORD',1,'2015-10-05 21:45:43',12,'Password change for aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(642,'2015-10-05 19:46:18','USER_DELETE',1,'2015-10-05 21:46:18',12,'User aaa removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(643,'2015-10-05 19:47:09','USER_MODIFY',1,'2015-10-05 21:47:09',12,'User demo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(644,'2015-10-05 19:47:22','USER_MODIFY',1,'2015-10-05 21:47:22',12,'User demo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(645,'2015-10-05 19:52:05','USER_MODIFY',1,'2015-10-05 21:52:05',12,'User sscientol modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(646,'2015-10-05 19:52:23','USER_MODIFY',1,'2015-10-05 21:52:23',12,'User bbookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(647,'2015-10-05 19:54:54','USER_NEW_PASSWORD',1,'2015-10-05 21:54:54',12,'Password change for zzeceo','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(648,'2015-10-05 19:54:54','USER_MODIFY',1,'2015-10-05 21:54:54',12,'User zzeceo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(649,'2015-10-05 19:57:02','USER_MODIFY',1,'2015-10-05 21:57:02',12,'User zzeceo modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(650,'2015-10-05 19:57:57','USER_NEW_PASSWORD',1,'2015-10-05 21:57:57',12,'Password change for pcurie','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(651,'2015-10-05 19:57:57','USER_MODIFY',1,'2015-10-05 21:57:57',12,'User pcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(652,'2015-10-05 19:59:42','USER_NEW_PASSWORD',1,'2015-10-05 21:59:42',12,'Password change for admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(653,'2015-10-05 19:59:42','USER_MODIFY',1,'2015-10-05 21:59:42',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(654,'2015-10-05 20:00:21','USER_MODIFY',1,'2015-10-05 22:00:21',12,'User adminx modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(655,'2015-10-05 20:05:36','USER_MODIFY',1,'2015-10-05 22:05:36',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(656,'2015-10-05 20:06:25','USER_MODIFY',1,'2015-10-05 22:06:25',12,'User ccommercy modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(657,'2015-10-05 20:07:18','USER_MODIFY',1,'2015-10-05 22:07:18',12,'User mcurie modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(658,'2015-10-05 20:07:36','USER_MODIFY',1,'2015-10-05 22:07:36',12,'User aeinstein modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(659,'2015-10-05 20:08:34','USER_MODIFY',1,'2015-10-05 22:08:34',12,'User bbookkeeper modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(660,'2015-10-05 20:47:52','USER_CREATE',1,'2015-10-05 22:47:52',12,'User cc1 created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(661,'2015-10-05 20:47:52','USER_NEW_PASSWORD',1,'2015-10-05 22:47:52',12,'Password change for cc1','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(662,'2015-10-05 20:47:55','USER_LOGOUT',1,'2015-10-05 22:47:55',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(663,'2015-10-05 20:48:08','USER_LOGIN',1,'2015-10-05 22:48:08',11,'(UserLogged,zzeceo) - TZ=1;TZString=Europe/Berlin;Screen=1590x434','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(664,'2015-10-05 20:48:39','USER_CREATE',1,'2015-10-05 22:48:39',11,'User cc2 created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(665,'2015-10-05 20:48:39','USER_NEW_PASSWORD',1,'2015-10-05 22:48:39',11,'Password change for cc2','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(666,'2015-10-05 20:48:59','USER_NEW_PASSWORD',1,'2015-10-05 22:48:59',11,'Password change for cc1','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(667,'2015-10-05 20:48:59','USER_MODIFY',1,'2015-10-05 22:48:59',11,'User cc1 modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(668,'2015-10-05 21:06:36','USER_LOGOUT',1,'2015-10-05 23:06:35',11,'(UserLogoff,zzeceo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(669,'2015-10-05 21:06:44','USER_LOGIN_FAILED',1,'2015-10-05 23:06:44',NULL,'Bad value for login or password - login=cc1','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(670,'2015-10-05 21:07:12','USER_LOGIN_FAILED',1,'2015-10-05 23:07:12',NULL,'Bad value for login or password - login=cc1','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(671,'2015-10-05 21:07:19','USER_LOGIN_FAILED',1,'2015-10-05 23:07:19',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(672,'2015-10-05 21:07:27','USER_LOGIN_FAILED',1,'2015-10-05 23:07:27',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(673,'2015-10-05 21:07:32','USER_LOGIN',1,'2015-10-05 23:07:32',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(674,'2015-10-05 21:12:28','USER_NEW_PASSWORD',1,'2015-10-05 23:12:28',12,'Password change for cc1','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(675,'2015-10-05 21:12:28','USER_MODIFY',1,'2015-10-05 23:12:28',12,'User cc1 modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(676,'2015-10-05 21:13:00','USER_CREATE',1,'2015-10-05 23:13:00',12,'User aaa created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(677,'2015-10-05 21:13:00','USER_NEW_PASSWORD',1,'2015-10-05 23:13:00',12,'Password change for aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(678,'2015-10-05 21:13:40','USER_DELETE',1,'2015-10-05 23:13:40',12,'User aaa removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(679,'2015-10-05 21:14:47','USER_LOGOUT',1,'2015-10-05 23:14:47',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(680,'2015-10-05 21:14:56','USER_LOGIN',1,'2015-10-05 23:14:56',16,'(UserLogged,cc1) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(681,'2015-10-05 21:15:56','USER_LOGOUT',1,'2015-10-05 23:15:56',16,'(UserLogoff,cc1)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(682,'2015-10-05 21:16:06','USER_LOGIN',1,'2015-10-05 23:16:06',17,'(UserLogged,cc2) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(683,'2015-10-05 21:37:25','USER_LOGOUT',1,'2015-10-05 23:37:25',17,'(UserLogoff,cc2)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(684,'2015-10-05 21:37:31','USER_LOGIN',1,'2015-10-05 23:37:31',16,'(UserLogged,cc1) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(685,'2015-10-05 21:43:53','USER_LOGOUT',1,'2015-10-05 23:43:53',16,'(UserLogoff,cc1)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(686,'2015-10-05 21:44:00','USER_LOGIN',1,'2015-10-05 23:44:00',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(687,'2015-10-05 21:46:17','USER_LOGOUT',1,'2015-10-05 23:46:17',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(688,'2015-10-05 21:46:24','USER_LOGIN',1,'2015-10-05 23:46:24',16,'(UserLogged,cc1) - TZ=1;TZString=Europe/Berlin;Screen=1590x767','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36',NULL),(689,'2015-11-04 15:17:06','USER_LOGIN',1,'2015-11-04 16:17:06',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(690,'2015-11-15 22:04:04','USER_LOGIN',1,'2015-11-15 23:04:04',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(691,'2015-11-15 22:23:45','USER_MODIFY',1,'2015-11-15 23:23:45',12,'User ccommercy modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(692,'2015-11-15 22:24:22','USER_MODIFY',1,'2015-11-15 23:24:22',12,'User cc1 modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(693,'2015-11-15 22:24:53','USER_MODIFY',1,'2015-11-15 23:24:53',12,'User cc2 modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(694,'2015-11-15 22:25:17','USER_MODIFY',1,'2015-11-15 23:25:17',12,'User cc1 modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(695,'2015-11-15 22:45:37','USER_LOGOUT',1,'2015-11-15 23:45:37',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(696,'2015-11-18 13:41:02','USER_LOGIN',1,'2015-11-18 14:41:02',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(697,'2015-11-18 14:23:35','USER_LOGIN',1,'2015-11-18 15:23:35',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(698,'2015-11-18 15:15:46','USER_LOGOUT',1,'2015-11-18 16:15:46',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(699,'2015-11-18 15:15:51','USER_LOGIN',1,'2015-11-18 16:15:51',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(700,'2015-11-30 17:52:08','USER_LOGIN',1,'2015-11-30 18:52:08',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(701,'2016-01-10 16:45:43','USER_LOGIN',1,'2016-01-10 17:45:43',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(702,'2016-01-10 16:45:52','USER_LOGOUT',1,'2016-01-10 17:45:52',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(703,'2016-01-10 16:46:06','USER_LOGIN',1,'2016-01-10 17:46:06',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(704,'2016-01-16 14:53:47','USER_LOGIN',1,'2016-01-16 15:53:47',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(705,'2016-01-16 15:04:29','USER_LOGOUT',1,'2016-01-16 16:04:29',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(706,'2016-01-16 15:04:40','USER_LOGIN',1,'2016-01-16 16:04:40',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(707,'2016-01-22 09:33:26','USER_LOGIN',1,'2016-01-22 10:33:26',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(708,'2016-01-22 09:35:19','USER_LOGOUT',1,'2016-01-22 10:35:19',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(709,'2016-01-22 09:35:29','USER_LOGIN',1,'2016-01-22 10:35:29',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(710,'2016-01-22 10:47:34','USER_CREATE',1,'2016-01-22 11:47:34',12,'User aaa created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(711,'2016-01-22 10:47:34','USER_NEW_PASSWORD',1,'2016-01-22 11:47:34',12,'Password change for aaa','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(712,'2016-01-22 12:07:56','USER_LOGIN',1,'2016-01-22 13:07:56',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(713,'2016-01-22 12:36:25','USER_NEW_PASSWORD',1,'2016-01-22 13:36:25',12,'Password change for admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(714,'2016-01-22 12:36:25','USER_MODIFY',1,'2016-01-22 13:36:25',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(715,'2016-01-22 12:56:32','USER_MODIFY',1,'2016-01-22 13:56:32',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(716,'2016-01-22 12:58:05','USER_MODIFY',1,'2016-01-22 13:58:05',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(717,'2016-01-22 13:01:02','USER_MODIFY',1,'2016-01-22 14:01:02',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(718,'2016-01-22 13:01:18','USER_MODIFY',1,'2016-01-22 14:01:18',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(719,'2016-01-22 13:13:42','USER_MODIFY',1,'2016-01-22 14:13:42',12,'User admin modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(720,'2016-01-22 13:15:20','USER_DELETE',1,'2016-01-22 14:15:20',12,'User aaa removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(721,'2016-01-22 13:19:21','USER_LOGOUT',1,'2016-01-22 14:19:21',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(722,'2016-01-22 13:19:32','USER_LOGIN',1,'2016-01-22 14:19:32',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(723,'2016-01-22 13:19:51','USER_LOGOUT',1,'2016-01-22 14:19:51',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(724,'2016-01-22 13:20:01','USER_LOGIN',1,'2016-01-22 14:20:01',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(725,'2016-01-22 13:28:22','USER_LOGOUT',1,'2016-01-22 14:28:22',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(726,'2016-01-22 13:28:35','USER_LOGIN',1,'2016-01-22 14:28:35',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(727,'2016-01-22 13:33:54','USER_LOGOUT',1,'2016-01-22 14:33:54',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(728,'2016-01-22 13:34:05','USER_LOGIN',1,'2016-01-22 14:34:05',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(729,'2016-01-22 13:51:46','USER_MODIFY',1,'2016-01-22 14:51:46',12,'User ccommercy modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',NULL),(730,'2016-01-22 16:20:12','USER_LOGIN',1,'2016-01-22 17:20:12',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(731,'2016-01-22 16:20:22','USER_LOGOUT',1,'2016-01-22 17:20:22',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(732,'2016-01-22 16:20:36','USER_LOGIN',1,'2016-01-22 17:20:36',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(733,'2016-01-22 16:27:02','USER_CREATE',1,'2016-01-22 17:27:02',12,'User ldestailleur created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(734,'2016-01-22 16:27:02','USER_NEW_PASSWORD',1,'2016-01-22 17:27:02',12,'Password change for ldestailleur','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(735,'2016-01-22 16:28:34','USER_MODIFY',1,'2016-01-22 17:28:34',12,'User ldestailleur modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(736,'2016-01-22 16:30:01','USER_ENABLEDISABLE',1,'2016-01-22 17:30:01',12,'User cc2 activated','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(737,'2016-01-22 17:11:06','USER_LOGIN',1,'2016-01-22 18:11:06',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Berlin;Screen=1600x790','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(738,'2016-01-22 18:00:02','USER_DELETE',1,'2016-01-22 19:00:02',12,'User zzz removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(739,'2016-01-22 18:01:40','USER_DELETE',1,'2016-01-22 19:01:40',12,'User aaab removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(740,'2016-01-22 18:01:52','USER_DELETE',1,'2016-01-22 19:01:52',12,'User zzzg removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36',NULL),(741,'2016-03-13 10:54:59','USER_LOGIN',1,'2016-03-13 14:54:59',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1920x971','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36',NULL),(742,'2016-07-30 11:13:10','USER_LOGIN',1,'2016-07-30 15:13:10',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(743,'2016-07-30 12:50:23','USER_CREATE',1,'2016-07-30 16:50:23',12,'User eldy created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(744,'2016-07-30 12:50:23','USER_CREATE',1,'2016-07-30 16:50:23',12,'User eldy created','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(745,'2016-07-30 12:50:23','USER_NEW_PASSWORD',1,'2016-07-30 16:50:23',12,'Password change for eldy','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(746,'2016-07-30 12:50:38','USER_MODIFY',1,'2016-07-30 16:50:38',12,'User eldy modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(747,'2016-07-30 12:50:54','USER_DELETE',1,'2016-07-30 16:50:54',12,'User eldy removed','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(748,'2016-07-30 12:51:23','USER_NEW_PASSWORD',1,'2016-07-30 16:51:23',12,'Password change for ldestailleur','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(749,'2016-07-30 12:51:23','USER_MODIFY',1,'2016-07-30 16:51:23',12,'User ldestailleur modified','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(750,'2016-07-30 18:26:58','USER_LOGIN',1,'2016-07-30 22:26:58',18,'(UserLogged,ldestailleur) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(751,'2016-07-30 18:27:40','USER_LOGOUT',1,'2016-07-30 22:27:40',18,'(UserLogoff,ldestailleur)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(752,'2016-07-30 18:27:47','USER_LOGIN',1,'2016-07-30 22:27:47',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(753,'2016-07-30 19:00:00','USER_LOGOUT',1,'2016-07-30 23:00:00',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(754,'2016-07-30 19:00:04','USER_LOGIN',1,'2016-07-30 23:00:04',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(755,'2016-07-30 19:00:14','USER_LOGOUT',1,'2016-07-30 23:00:14',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(756,'2016-07-30 19:00:19','USER_LOGIN',1,'2016-07-30 23:00:19',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(757,'2016-07-30 19:00:43','USER_LOGOUT',1,'2016-07-30 23:00:43',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(758,'2016-07-30 19:00:48','USER_LOGIN',1,'2016-07-30 23:00:48',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(759,'2016-07-30 19:03:52','USER_LOGOUT',1,'2016-07-30 23:03:52',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(760,'2016-07-30 19:03:57','USER_LOGIN_FAILED',1,'2016-07-30 23:03:57',NULL,'Bad value for login or password - login=admin','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(761,'2016-07-30 19:03:59','USER_LOGIN',1,'2016-07-30 23:03:59',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(762,'2016-07-30 19:04:13','USER_LOGOUT',1,'2016-07-30 23:04:13',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(763,'2016-07-30 19:04:17','USER_LOGIN',1,'2016-07-30 23:04:17',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(764,'2016-07-30 19:04:26','USER_LOGOUT',1,'2016-07-30 23:04:26',2,'(UserLogoff,demo)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(765,'2016-07-30 19:04:31','USER_LOGIN',1,'2016-07-30 23:04:31',12,'(UserLogged,admin) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(766,'2016-07-30 19:10:50','USER_LOGOUT',1,'2016-07-30 23:10:50',12,'(UserLogoff,admin)','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL),(767,'2016-07-30 19:10:54','USER_LOGIN',1,'2016-07-30 23:10:54',2,'(UserLogged,demo) - TZ=1;TZString=Europe/Paris;Screen=1920x937','127.0.0.1','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.82 Safari/537.36',NULL); /*!40000 ALTER TABLE `llx_events` ENABLE KEYS */; UNLOCK TABLES; @@ -5491,7 +5491,7 @@ CREATE TABLE `llx_menu` ( PRIMARY KEY (`rowid`), UNIQUE KEY `idx_menu_uk_menu` (`menu_handler`,`fk_menu`,`position`,`url`,`entity`), KEY `idx_menu_menuhandler_type` (`menu_handler`,`type`) -) ENGINE=InnoDB AUTO_INCREMENT=145108 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=145114 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5500,7 +5500,7 @@ CREATE TABLE `llx_menu` ( LOCK TABLES `llx_menu` WRITE; /*!40000 ALTER TABLE `llx_menu` DISABLE KEYS */; -INSERT INTO `llx_menu` VALUES (103094,'all',2,'agenda','top','agenda',0,NULL,NULL,100,'/comm/action/index.php','','Agenda','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103095,'all',2,'agenda','left','agenda',103094,NULL,NULL,100,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Actions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103096,'all',2,'agenda','left','agenda',103095,NULL,NULL,101,'/comm/action/card.php?mainmenu=agenda&leftmenu=agenda&action=create','','NewAction','commercial',NULL,NULL,'($user->rights->agenda->myactions->create||$user->rights->agenda->allactions->create)','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103097,'all',2,'agenda','left','agenda',103095,NULL,NULL,102,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Calendar','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103098,'all',2,'agenda','left','agenda',103097,NULL,NULL,103,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103099,'all',2,'agenda','left','agenda',103097,NULL,NULL,104,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103100,'all',2,'agenda','left','agenda',103097,NULL,NULL,105,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo','','MenuToDoActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2013-03-13 15:29:19'),(103101,'all',2,'agenda','left','agenda',103097,NULL,NULL,106,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done','','MenuDoneActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2013-03-13 15:29:19'),(103102,'all',2,'agenda','left','agenda',103095,NULL,NULL,112,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda','','List','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103103,'all',2,'agenda','left','agenda',103102,NULL,NULL,113,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103104,'all',2,'agenda','left','agenda',103102,NULL,NULL,114,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103105,'all',2,'agenda','left','agenda',103102,NULL,NULL,115,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo','','MenuToDoActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2013-03-13 15:29:19'),(103106,'all',2,'agenda','left','agenda',103102,NULL,NULL,116,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done','','MenuDoneActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2013-03-13 15:29:19'),(103107,'all',2,'agenda','left','agenda',103095,NULL,NULL,120,'/comm/action/rapport/index.php?mainmenu=agenda&leftmenu=agenda','','Reportings','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103108,'all',2,'pos','top','pos',0,NULL,NULL,100,'/pos/backend/listefac.php','','POS','pos@pos',NULL,'1','1','1',2,'2013-03-13 20:33:09'),(103109,'all',2,'pos','left','pos',103108,NULL,NULL,100,'/pos/backend/list.php','','Tickets','pos@pos',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103110,'all',2,'pos','left','pos',103109,NULL,NULL,100,'/pos/backend/list.php','','List','main',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103111,'all',2,'pos','left','pos',103110,NULL,NULL,100,'/pos/backend/list.php?viewstatut=0','','StatusTicketDraft','pos@pos',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103112,'all',2,'pos','left','@pos',103110,NULL,NULL,100,'/pos/backend/list.php?viewstatut=1','','StatusTicketClosed','main',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103113,'all',2,'pos','left','@pos',103110,NULL,NULL,100,'/pos/backend/list.php?viewstatut=2','','StatusTicketProcessed','main',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103114,'all',2,'pos','left','@pos',103110,NULL,NULL,100,'/pos/backend/list.php?viewtype=1','','StatusTicketReturned','main',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103115,'all',2,'pos','left','pos',103108,NULL,NULL,100,'/pos/backend/listefac.php','','Factures','pos@pos',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103116,'all',2,'pos','left','pos',103115,NULL,NULL,100,'/pos/backend/listefac.php','','List','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103117,'all',2,'pos','left','pos',103116,NULL,NULL,100,'/pos/backend/listefac.php?viewstatut=0','','BillStatusDraft','bills',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103118,'all',2,'pos','left','@pos',103116,NULL,NULL,100,'/pos/backend/listefac.php?viewstatut=1','','BillStatusValidated','bills',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103119,'all',2,'pos','left','@pos',103116,NULL,NULL,100,'/pos/backend/listefac.php?viewstatut=2&viewtype=0','','BillStatusPaid','bills',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103120,'all',2,'pos','left','@pos',103116,NULL,NULL,100,'/pos/backend/listefac.php?viewtype=2','','BillStatusReturned','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103121,'all',2,'pos','left','@pos',103108,NULL,NULL,100,'/pos/frontend/index.php','','POS','main',NULL,NULL,'$user->rights->pos->frontend','1',0,'2013-03-13 20:33:09'),(103122,'all',2,'pos','left','@pos',103121,NULL,NULL,100,'/pos/frontend/index.php','','NewTicket','main',NULL,NULL,'$user->rights->pos->frontend','1',0,'2013-03-13 20:33:09'),(103123,'all',2,'pos','left','@pos',103121,NULL,NULL,101,'/pos/backend/closes.php','','CloseandArching','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103124,'all',2,'pos','left','@pos',103108,NULL,NULL,100,'/pos/backend/terminal/cash.php','','Terminal','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103125,'all',2,'pos','left','@pos',103124,NULL,NULL,100,'/pos/backend/terminal/card.php?action=create','','NewCash','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103126,'all',2,'pos','left','@pos',103124,NULL,NULL,101,'/pos/backend/terminal/cash.php','','List','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103127,'all',2,'pos','left','@pos',103123,NULL,NULL,101,'/pos/backend/closes.php?viewstatut=0','','Arqueo','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103128,'all',2,'pos','left','@pos',103123,NULL,NULL,102,'/pos/backend/closes.php?viewstatut=1','','Closes','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103129,'all',2,'pos','left','@pos',103108,NULL,NULL,102,'/pos/backend/transfers.php','','Transfer','main',NULL,NULL,'$user->rights->pos->transfer','1',0,'2013-03-13 20:33:09'),(103130,'all',2,'pos','left','@pos',103108,NULL,NULL,102,'/pos/backend/resultat/index.php','','Rapport','main',NULL,NULL,'$user->rights->pos->stats','1',0,'2013-03-13 20:33:09'),(103131,'all',2,'pos','left','@pos',103130,NULL,NULL,102,'/pos/backend/resultat/casoc.php','','ReportsCustomer','main',NULL,NULL,'$user->rights->pos->stats','1',0,'2013-03-13 20:33:09'),(103132,'all',2,'pos','left','@pos',103130,NULL,NULL,102,'/pos/backend/resultat/causer.php','','ReportsUser','main',NULL,NULL,'$user->rights->pos->stats','1',0,'2013-03-13 20:33:09'),(103133,'all',2,'pos','left','@pos',103130,NULL,NULL,102,'/pos/backend/resultat/sellsjournal.php','','ReportsSells','main',NULL,NULL,'$user->rights->pos->stats','1',0,'2013-03-13 20:33:09'),(103134,'all',2,'opensurvey','top','opensurvey',0,NULL,NULL,200,'/opensurvey/index.php','','Surveys','opensurvey',NULL,NULL,'$user->rights->opensurvey->survey->read','$conf->opensurvey->enabled',0,'2013-03-13 20:33:42'),(103135,'all',2,'opensurvey','left','opensurvey',-1,NULL,'opensurvey',200,'/opensurvey/index.php?mainmenu=opensurvey&leftmenu=opensurvey','','Survey','opensurvey@opensurvey',NULL,'opensurvey','','$conf->opensurvey->enabled',0,'2013-03-13 20:33:42'),(103136,'all',2,'opensurvey','left','opensurvey',-1,'opensurvey','opensurvey',210,'/opensurvey/public/index.php','_blank','NewSurvey','opensurvey@opensurvey',NULL,'opensurvey_new','','$conf->opensurvey->enabled',0,'2013-03-13 20:33:42'),(103137,'all',2,'opensurvey','left','opensurvey',-1,'opensurvey','opensurvey',220,'/opensurvey/list.php','','List','opensurvey@opensurvey',NULL,'opensurvey_list','','$conf->opensurvey->enabled',0,'2013-03-13 20:33:42'),(124179,'all',1,'cashdesk','top','cashdesk',0,NULL,NULL,100,'/cashdesk/index.php?user=__LOGIN__','pointofsale','CashDeskMenu','cashdesk',NULL,NULL,'$user->rights->cashdesk->use','$conf->cashdesk->enabled',0,'2015-11-15 22:38:33'),(124210,'all',1,'margins','left','accountancy',-1,NULL,'accountancy',100,'/margin/index.php','','Margins','margins',NULL,'margins','$user->rights->margins->liretous','$conf->margin->enabled',2,'2015-11-15 22:41:47'),(134675,'all',1,'ecm','top','ecm',0,NULL,NULL,100,'/ecm/index.php','','MenuECM','ecm',NULL,NULL,'$user->rights->ecm->read || $user->rights->ecm->upload || $user->rights->ecm->setup','$conf->ecm->enabled',2,'2016-01-22 17:26:43'),(134676,'all',1,'ecm','left','ecm',-1,NULL,'ecm',101,'/ecm/index.php?mainmenu=ecm&leftmenu=ecm','','ECMArea','ecm',NULL,'ecm','$user->rights->ecm->read || $user->rights->ecm->upload','$user->rights->ecm->read || $user->rights->ecm->upload',2,'2016-01-22 17:26:43'),(134677,'all',1,'ecm','left','ecm',-1,'ecm','ecm',102,'/ecm/index.php?action=file_manager&mainmenu=ecm&leftmenu=ecm','','ECMSectionsManual','ecm',NULL,'ecm_manual','$user->rights->ecm->read || $user->rights->ecm->upload','$user->rights->ecm->read || $user->rights->ecm->upload',2,'2016-01-22 17:26:43'),(134678,'all',1,'ecm','left','ecm',-1,'ecm','ecm',103,'/ecm/index_auto.php?action=file_manager&mainmenu=ecm&leftmenu=ecm','','ECMSectionsAuto','ecm',NULL,NULL,'$user->rights->ecm->read || $user->rights->ecm->upload','$user->rights->ecm->read || $user->rights->ecm->upload',2,'2016-01-22 17:26:43'),(134679,'all',1,'opensurvey','left','tools',-1,NULL,'tools',200,'/opensurvey/index.php?mainmenu=tools&leftmenu=opensurvey','','Survey','opensurvey',NULL,'opensurvey','','$conf->opensurvey->enabled',0,'2016-01-22 17:26:43'),(134680,'all',1,'opensurvey','left','tools',-1,'opensurvey','tools',210,'/opensurvey/wizard/index.php','','NewSurvey','opensurvey',NULL,'opensurvey_new','$user->rights->opensurvey->write','$conf->opensurvey->enabled',0,'2016-01-22 17:26:43'),(134681,'all',1,'opensurvey','left','tools',-1,'opensurvey','tools',220,'/opensurvey/list.php','','List','opensurvey',NULL,'opensurvey_list','','$conf->opensurvey->enabled',0,'2016-01-22 17:26:43'),(139883,'all',1,'barcode','left','tools',-1,NULL,'tools',200,'/barcode/printsheet.php?mainmenu=tools&leftmenu=barcodeprint','','BarCodePrintsheet','products',NULL,'barcodeprint','($conf->global->MAIN_USE_ADVANCED_PERMS && $user->rights->barcode->lire_advance) || (! $conf->global->MAIN_USE_ADVANCED_PERMS)','$conf->barcode->enabled',2,'2016-07-30 11:12:59'),(139884,'all',1,'barcode','left','home',-1,'admintools','home',300,'/barcode/codeinit.php?mainmenu=home&leftmenu=admintools','','MassBarcodeInit','products',NULL,NULL,'($conf->global->MAIN_USE_ADVANCED_PERMS && $user->rights->barcode->creer_advance) || (! $conf->global->MAIN_USE_ADVANCED_PERMS)','$conf->barcode->enabled && $leftmenu==\"admintools\"',0,'2016-07-30 11:12:59'),(139885,'auguria',1,'','top','home',0,NULL,NULL,10,'/index.php?mainmenu=home&leftmenu=','','Home','',-1,'','','1',2,'2016-07-30 11:13:00'),(139886,'auguria',1,'societe|fournisseur','top','companies',0,NULL,NULL,20,'/societe/index.php?mainmenu=companies&leftmenu=','','ThirdParties','companies',-1,'','$user->rights->societe->lire || $user->rights->societe->contact->lire','( ! empty($conf->societe->enabled) && (empty($conf->global->SOCIETE_DISABLE_PROSPECTS) || empty($conf->global->SOCIETE_DISABLE_CUSTOMERS))) || ! empty($conf->fournisseur->enabled)',2,'2016-07-30 11:13:00'),(139887,'auguria',1,'product|service','top','products',0,NULL,NULL,30,'/product/index.php?mainmenu=products&leftmenu=','','Products/Services','products',-1,'','$user->rights->produit->lire||$user->rights->service->lire','$conf->product->enabled || $conf->service->enabled',0,'2016-07-30 11:13:00'),(139889,'auguria',1,'propal|commande|fournisseur|contrat|ficheinter','top','commercial',0,NULL,NULL,40,'/comm/index.php?mainmenu=commercial&leftmenu=','','Commercial','commercial',-1,'','$user->rights->societe->lire || $user->rights->societe->contact->lire','$conf->propal->enabled || $conf->commande->enabled || $conf->supplier_order->enabled || $conf->contrat->enabled || $conf->ficheinter->enabled',2,'2016-07-30 11:13:00'),(139890,'auguria',1,'comptabilite|accounting|facture|don|tax|salaries|loan','top','accountancy',0,NULL,NULL,50,'/compta/index.php?mainmenu=accountancy&leftmenu=','','MenuFinancial','compta',-1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->plancompte->lire || $user->rights->facture->lire|| $user->rights->don->lire || $user->rights->tax->charges->lire || $user->rights->salaries->read || $user->rights->loan->read','$conf->comptabilite->enabled || $conf->accounting->enabled || $conf->facture->enabled || $conf->don->enabled || $conf->tax->enabled || $conf->salaries->enabled || $conf->supplier_invoice->enabled || $conf->loan->enabled',2,'2016-07-30 11:13:00'),(139891,'auguria',1,'projet','top','project',0,NULL,NULL,70,'/projet/index.php?mainmenu=project&leftmenu=','','Projects','projects',-1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(139892,'auguria',1,'mailing|export|import|opensurvey|resource','top','tools',0,NULL,NULL,90,'/core/tools.php?mainmenu=tools&leftmenu=','','Tools','other',-1,'','$user->rights->mailing->lire || $user->rights->export->lire || $user->rights->import->run || $user->rights->opensurvey->read || $user->rights->resource->read','$conf->mailing->enabled || $conf->export->enabled || $conf->import->enabled || $conf->opensurvey->enabled || $conf->resource->enabled',2,'2016-07-30 11:13:00'),(139897,'auguria',1,'adherent','top','members',0,NULL,NULL,110,'/adherents/index.php?mainmenu=members&leftmenu=','','Members','members',-1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(139898,'auguria',1,'banque|prelevement','top','bank',0,NULL,NULL,60,'/compta/bank/index.php?mainmenu=bank&leftmenu=bank','','MenuBankCash','banks',-1,'','$user->rights->banque->lire || $user->rights->prelevement->bons->lire','$conf->banque->enabled || $conf->prelevement->enabled',0,'2016-07-30 11:13:00'),(139899,'auguria',1,'hrm|holiday|deplacement|expensereport','top','hrm',0,NULL,NULL,80,'/hrm/hrm.php?mainmenu=hrm&leftmenu=','','HRM','holiday',-1,'','$user->rights->hrm->employee->read || $user->rights->holiday->write || $user->rights->deplacement->lire || $user->rights->expensereport->lire','$conf->hrm->enabled || $conf->holiday->enabled || $conf->deplacement->enabled || $conf->expensereport->enabled',0,'2016-07-30 11:13:00'),(139974,'auguria',1,'','left','home',139885,NULL,NULL,0,'/index.php','','Dashboard','',0,'','','1',2,'2016-07-30 11:13:00'),(139984,'auguria',1,'','left','home',139885,NULL,NULL,1,'/admin/index.php?leftmenu=setup','','Setup','admin',0,'setup','','$user->admin',2,'2016-07-30 11:13:00'),(139985,'auguria',1,'','left','home',139984,NULL,NULL,1,'/admin/company.php?leftmenu=setup','','MenuCompanySetup','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139986,'auguria',1,'','left','home',139984,NULL,NULL,4,'/admin/ihm.php?leftmenu=setup','','GUISetup','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139987,'auguria',1,'','left','home',139984,NULL,NULL,2,'/admin/modules.php?leftmenu=setup','','Modules','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139988,'auguria',1,'','left','home',139984,NULL,NULL,6,'/admin/boxes.php?leftmenu=setup','','Boxes','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139989,'auguria',1,'','left','home',139984,NULL,NULL,3,'/admin/menus.php?leftmenu=setup','','Menus','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139990,'auguria',1,'','left','home',139984,NULL,NULL,7,'/admin/delais.php?leftmenu=setup','','Alerts','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139991,'auguria',1,'','left','home',139984,NULL,NULL,10,'/admin/pdf.php?leftmenu=setup','','PDF','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139992,'auguria',1,'','left','home',139984,NULL,NULL,8,'/admin/security_other.php?leftmenu=setup','','Security','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139993,'auguria',1,'','left','home',139984,NULL,NULL,11,'/admin/mails.php?leftmenu=setup','','Emails','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139994,'auguria',1,'','left','home',139984,NULL,NULL,9,'/admin/limits.php?leftmenu=setup','','MenuLimits','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139995,'auguria',1,'','left','home',139984,NULL,NULL,13,'/admin/dict.php?leftmenu=setup','','Dictionary','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139996,'auguria',1,'','left','home',139984,NULL,NULL,14,'/admin/const.php?leftmenu=setup','','OtherSetup','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139997,'auguria',1,'','left','home',139984,NULL,NULL,12,'/admin/sms.php?leftmenu=setup','','SMS','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139998,'auguria',1,'','left','home',139984,NULL,NULL,4,'/admin/translation.php?leftmenu=setup','','Translation','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139999,'auguria',1,'','left','home',139984,NULL,NULL,4,'/accountancy/admin/fiscalyear.php?mainmenu=setup','','Fiscalyear','admin',1,'','','$leftmenu==\"setup\" && $conf->accounting->enabled',2,'2016-07-30 11:13:00'),(140085,'auguria',1,'','left','home',140184,NULL,NULL,0,'/admin/system/dolibarr.php?leftmenu=admintools','','InfoDolibarr','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140086,'auguria',1,'','left','home',140085,NULL,NULL,2,'/admin/system/modules.php?leftmenu=admintools','','Modules','admin',2,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140087,'auguria',1,'','left','home',140085,NULL,NULL,3,'/admin/triggers.php?leftmenu=admintools','','Triggers','admin',2,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140089,'auguria',1,'','left','home',140184,NULL,NULL,1,'/admin/system/browser.php?leftmenu=admintools','','InfoBrowser','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140090,'auguria',1,'','left','home',140184,NULL,NULL,2,'/admin/system/os.php?leftmenu=admintools','','InfoOS','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140091,'auguria',1,'','left','home',140184,NULL,NULL,3,'/admin/system/web.php?leftmenu=admintools','','InfoWebServer','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140092,'auguria',1,'','left','home',140184,NULL,NULL,4,'/admin/system/phpinfo.php?leftmenu=admintools','','InfoPHP','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140094,'auguria',1,'','left','home',140184,NULL,NULL,5,'/admin/system/database.php?leftmenu=admintools','','InfoDatabase','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140184,'auguria',1,'','left','home',139885,NULL,NULL,2,'/admin/tools/index.php?leftmenu=admintools','','AdminTools','admin',0,'admintools','','$user->admin',2,'2016-07-30 11:13:00'),(140185,'auguria',1,'','left','home',140184,NULL,NULL,6,'/admin/tools/dolibarr_export.php?leftmenu=admintools','','Backup','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140186,'auguria',1,'','left','home',140184,NULL,NULL,7,'/admin/tools/dolibarr_import.php?leftmenu=admintools','','Restore','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140189,'auguria',1,'','left','home',140184,NULL,NULL,8,'/admin/tools/update.php?leftmenu=admintools','','MenuUpgrade','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140190,'auguria',1,'','left','home',140184,NULL,NULL,9,'/admin/tools/eaccelerator.php?leftmenu=admintools','','EAccelerator','admin',1,'','','$leftmenu==\"admintools\" && function_exists(\"eaccelerator_info\")',2,'2016-07-30 11:13:00'),(140191,'auguria',1,'','left','home',140184,NULL,NULL,10,'/admin/tools/listevents.php?leftmenu=admintools','','Audit','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140192,'auguria',1,'','left','home',140184,NULL,NULL,11,'/admin/tools/listsessions.php?leftmenu=admintools','','Sessions','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140193,'auguria',1,'','left','home',140184,NULL,NULL,12,'/admin/tools/purge.php?leftmenu=admintools','','Purge','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140194,'auguria',1,'','left','home',140184,NULL,NULL,13,'/support/index.php?leftmenu=admintools','_blank','HelpCenter','help',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140195,'auguria',1,'','left','home',140184,NULL,NULL,14,'/admin/system/about.php?leftmenu=admintools','','About','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140204,'auguria',1,'','left','home',140184,NULL,NULL,0,'/product/admin/product_tools.php?mainmenu=home&leftmenu=admintools','','ProductVatMassChange','products',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140205,'auguria',1,'','left','home',140184,NULL,NULL,0,'/accountancy/admin/productaccount.php?mainmenu=home&leftmenu=admintools','','InitAccountancy','accountancy',1,'','','$leftmenu==\"admintools\" && $conf->accounting->enabled',2,'2016-07-30 11:13:00'),(140284,'auguria',1,'','left','home',139885,NULL,NULL,4,'/user/home.php?leftmenu=users','','MenuUsersAndGroups','users',0,'users','','1',2,'2016-07-30 11:13:00'),(140285,'auguria',1,'','left','home',140284,NULL,NULL,0,'/user/index.php?leftmenu=users','','Users','users',1,'','$user->rights->user->user->lire || $user->admin','$leftmenu==\"users\"',2,'2016-07-30 11:13:00'),(140286,'auguria',1,'','left','home',140285,NULL,NULL,0,'/user/card.php?leftmenu=users&action=create','','NewUser','users',2,'','$user->rights->user->user->creer || $user->admin','$leftmenu==\"users\"',2,'2016-07-30 11:13:00'),(140287,'auguria',1,'','left','home',140284,NULL,NULL,1,'/user/group/index.php?leftmenu=users','','Groups','users',1,'','($conf->global->MAIN_USE_ADVANCED_PERMS?$user->rights->user->group_advance->read:$user->rights->user->user->lire) || $user->admin','$leftmenu==\"users\"',2,'2016-07-30 11:13:00'),(140288,'auguria',1,'','left','home',140287,NULL,NULL,0,'/user/group/card.php?leftmenu=users&action=create','','NewGroup','users',2,'','($conf->global->MAIN_USE_ADVANCED_PERMS?$user->rights->user->group_advance->write:$user->rights->user->user->creer) || $user->admin','$leftmenu==\"users\"',2,'2016-07-30 11:13:00'),(140384,'auguria',1,'','left','companies',139886,NULL,NULL,0,'/societe/index.php?leftmenu=thirdparties','','ThirdParty','companies',0,'thirdparties','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140385,'auguria',1,'','left','companies',140384,NULL,NULL,0,'/societe/soc.php?action=create','','MenuNewThirdParty','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140386,'auguria',1,'','left','companies',140384,NULL,NULL,0,'/societe/list.php?action=create','','List','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140387,'auguria',1,'','left','companies',140384,NULL,NULL,5,'/societe/list.php?type=f&leftmenu=suppliers','','ListSuppliersShort','suppliers',1,'','$user->rights->societe->lire && $user->rights->fournisseur->lire','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2016-07-30 11:13:00'),(140388,'auguria',1,'','left','companies',140387,NULL,NULL,0,'/societe/soc.php?leftmenu=supplier&action=create&type=f','','NewSupplier','suppliers',2,'','$user->rights->societe->creer','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2016-07-30 11:13:00'),(140390,'auguria',1,'','left','companies',140384,NULL,NULL,3,'/societe/list.php?type=p&leftmenu=prospects','','ListProspectsShort','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140391,'auguria',1,'','left','companies',140390,NULL,NULL,0,'/societe/soc.php?leftmenu=prospects&action=create&type=p','','MenuNewProspect','companies',2,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140393,'auguria',1,'','left','companies',140384,NULL,NULL,4,'/societe/list.php?type=c&leftmenu=customers','','ListCustomersShort','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140394,'auguria',1,'','left','companies',140393,NULL,NULL,0,'/societe/soc.php?leftmenu=customers&action=create&type=c','','MenuNewCustomer','companies',2,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140484,'auguria',1,'','left','companies',139886,NULL,NULL,1,'/contact/list.php?leftmenu=contacts','','ContactsAddresses','companies',0,'contacts','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140485,'auguria',1,'','left','companies',140484,NULL,NULL,0,'/contact/card.php?leftmenu=contacts&action=create','','NewContactAddress','companies',1,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140486,'auguria',1,'','left','companies',140484,NULL,NULL,1,'/contact/list.php?leftmenu=contacts','','List','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140488,'auguria',1,'','left','companies',140486,NULL,NULL,1,'/contact/list.php?leftmenu=contacts&type=p','','ThirdPartyProspects','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140489,'auguria',1,'','left','companies',140486,NULL,NULL,2,'/contact/list.php?leftmenu=contacts&type=c','','ThirdPartyCustomers','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140490,'auguria',1,'','left','companies',140486,NULL,NULL,3,'/contact/list.php?leftmenu=contacts&type=f','','ThirdPartySuppliers','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2016-07-30 11:13:00'),(140491,'auguria',1,'','left','companies',140486,NULL,NULL,4,'/contact/list.php?leftmenu=contacts&type=o','','Others','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140534,'auguria',1,'','left','companies',139886,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=1','','SuppliersCategoriesShort','categories',0,'cat','$user->rights->categorie->lire','$conf->societe->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140535,'auguria',1,'','left','companies',140534,NULL,NULL,0,'/categories/card.php?action=create&type=1','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->societe->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140544,'auguria',1,'','left','companies',139886,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=2','','CustomersProspectsCategoriesShort','categories',0,'cat','$user->rights->categorie->lire','$conf->fournisseur->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140545,'auguria',1,'','left','companies',140544,NULL,NULL,0,'/categories/card.php?action=create&type=2','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->fournisseur->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140554,'auguria',1,'','left','companies',139886,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=4','','ContactCategoriesShort','categories',0,'cat','$user->rights->categorie->lire','$conf->societe->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140555,'auguria',1,'','left','companies',140554,NULL,NULL,0,'/categories/card.php?action=create&type=4','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->societe->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140984,'auguria',1,'','left','commercial',139889,NULL,NULL,4,'/comm/propal/index.php?leftmenu=propals','','Prop','propal',0,'propals','$user->rights->propale->lire','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(140985,'auguria',1,'','left','commercial',140984,NULL,NULL,0,'/comm/propal/card.php?action=create&leftmenu=propals','','NewPropal','propal',1,'','$user->rights->propale->creer','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(140986,'auguria',1,'','left','commercial',140984,NULL,NULL,1,'/comm/propal/list.php?leftmenu=propals','','List','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(140987,'auguria',1,'','left','commercial',140986,NULL,NULL,2,'/comm/propal/list.php?leftmenu=propals&viewstatut=0','','PropalsDraft','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2016-07-30 11:13:00'),(140988,'auguria',1,'','left','commercial',140986,NULL,NULL,3,'/comm/propal/list.php?leftmenu=propals&viewstatut=1','','PropalsOpened','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2016-07-30 11:13:00'),(140989,'auguria',1,'','left','commercial',140986,NULL,NULL,4,'/comm/propal/list.php?leftmenu=propals&viewstatut=2','','PropalStatusSigned','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2016-07-30 11:13:00'),(140990,'auguria',1,'','left','commercial',140986,NULL,NULL,5,'/comm/propal/list.php?leftmenu=propals&viewstatut=3','','PropalStatusNotSigned','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2016-07-30 11:13:00'),(140991,'auguria',1,'','left','commercial',140986,NULL,NULL,6,'/comm/propal/list.php?leftmenu=propals&viewstatut=4','','PropalStatusBilled','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2016-07-30 11:13:00'),(140994,'auguria',1,'','left','commercial',140984,NULL,NULL,4,'/comm/propal/stats/index.php?leftmenu=propals','','Statistics','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(141084,'auguria',1,'','left','commercial',139889,NULL,NULL,5,'/commande/index.php?leftmenu=orders','','CustomersOrders','orders',0,'orders','$user->rights->commande->lire','$conf->commande->enabled',2,'2016-07-30 11:13:00'),(141085,'auguria',1,'','left','commercial',141084,NULL,NULL,0,'/commande/card.php?action=create&leftmenu=orders','','NewOrder','orders',1,'','$user->rights->commande->creer','$conf->commande->enabled',2,'2016-07-30 11:13:00'),(141086,'auguria',1,'','left','commercial',141084,NULL,NULL,1,'/commande/list.php?leftmenu=orders','','List','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled',2,'2016-07-30 11:13:00'),(141087,'auguria',1,'','left','commercial',141086,NULL,NULL,2,'/commande/list.php?leftmenu=orders&viewstatut=0','','StatusOrderDraftShort','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141088,'auguria',1,'','left','commercial',141086,NULL,NULL,3,'/commande/list.php?leftmenu=orders&viewstatut=1','','StatusOrderValidated','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141089,'auguria',1,'','left','commercial',141086,NULL,NULL,4,'/commande/list.php?leftmenu=orders&viewstatut=2','','StatusOrderOnProcessShort','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141090,'auguria',1,'','left','commercial',141086,NULL,NULL,5,'/commande/list.php?leftmenu=orders&viewstatut=3','','StatusOrderToBill','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141091,'auguria',1,'','left','commercial',141086,NULL,NULL,6,'/commande/list.php?leftmenu=orders&viewstatut=4','','StatusOrderProcessed','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141092,'auguria',1,'','left','commercial',141086,NULL,NULL,7,'/commande/list.php?leftmenu=orders&viewstatut=-1','','StatusOrderCanceledShort','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141093,'auguria',1,'','left','commercial',141084,NULL,NULL,4,'/commande/stats/index.php?leftmenu=orders','','Statistics','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled',2,'2016-07-30 11:13:00'),(141184,'auguria',1,'','left','commercial',139887,NULL,NULL,6,'/expedition/index.php?leftmenu=sendings','','Shipments','sendings',0,'sendings','$user->rights->expedition->lire','$conf->expedition->enabled',2,'2016-07-30 11:13:00'),(141185,'auguria',1,'','left','commercial',141184,NULL,NULL,0,'/expedition/card.php?action=create2&leftmenu=sendings','','NewSending','sendings',1,'','$user->rights->expedition->creer','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2016-07-30 11:13:00'),(141186,'auguria',1,'','left','commercial',141184,NULL,NULL,1,'/expedition/list.php?leftmenu=sendings','','List','sendings',1,'','$user->rights->expedition->lire','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2016-07-30 11:13:00'),(141187,'auguria',1,'','left','commercial',141184,NULL,NULL,2,'/expedition/stats/index.php?leftmenu=sendings','','Statistics','sendings',1,'','$user->rights->expedition->lire','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2016-07-30 11:13:00'),(141284,'auguria',1,'','left','commercial',139889,NULL,NULL,7,'/contrat/index.php?leftmenu=contracts','','Contracts','contracts',0,'contracts','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2016-07-30 11:13:00'),(141285,'auguria',1,'','left','commercial',141284,NULL,NULL,0,'/contrat/card.php?&action=create&leftmenu=contracts','','NewContract','contracts',1,'','$user->rights->contrat->creer','$conf->contrat->enabled',2,'2016-07-30 11:13:00'),(141286,'auguria',1,'','left','commercial',141284,NULL,NULL,1,'/contrat/list.php?leftmenu=contracts','','List','contracts',1,'','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2016-07-30 11:13:00'),(141287,'auguria',1,'','left','commercial',141284,NULL,NULL,2,'/contrat/services.php?leftmenu=contracts','','MenuServices','contracts',1,'','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2016-07-30 11:13:00'),(141288,'auguria',1,'','left','commercial',141287,NULL,NULL,0,'/contrat/services.php?leftmenu=contracts&mode=0','','MenuInactiveServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2016-07-30 11:13:00'),(141289,'auguria',1,'','left','commercial',141287,NULL,NULL,1,'/contrat/services.php?leftmenu=contracts&mode=4','','MenuRunningServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2016-07-30 11:13:00'),(141290,'auguria',1,'','left','commercial',141287,NULL,NULL,2,'/contrat/services.php?leftmenu=contracts&mode=4&filter=expired','','MenuExpiredServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2016-07-30 11:13:00'),(141291,'auguria',1,'','left','commercial',141287,NULL,NULL,3,'/contrat/services.php?leftmenu=contracts&mode=5','','MenuClosedServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2016-07-30 11:13:00'),(141384,'auguria',1,'','left','commercial',139889,NULL,NULL,8,'/fichinter/list.php?leftmenu=ficheinter','','Interventions','interventions',0,'ficheinter','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2016-07-30 11:13:00'),(141385,'auguria',1,'','left','commercial',141384,NULL,NULL,0,'/fichinter/card.php?action=create&leftmenu=ficheinter','','NewIntervention','interventions',1,'','$user->rights->ficheinter->creer','$conf->ficheinter->enabled',2,'2016-07-30 11:13:00'),(141386,'auguria',1,'','left','commercial',141384,NULL,NULL,1,'/fichinter/list.php?leftmenu=ficheinter','','List','interventions',1,'','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2016-07-30 11:13:00'),(141387,'auguria',1,'','left','commercial',141384,NULL,NULL,2,'/fichinter/stats/index.php?leftmenu=ficheinter','','Statistics','interventions',1,'','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2016-07-30 11:13:00'),(141484,'auguria',1,'','left','accountancy',139890,NULL,NULL,3,'/fourn/facture/list.php?leftmenu=suppliers_bills','','BillsSuppliers','bills',0,'supplier_bills','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2016-07-30 11:13:00'),(141485,'auguria',1,'','left','accountancy',141484,NULL,NULL,0,'/fourn/facture/card.php?action=create&leftmenu=suppliers_bills','','NewBill','bills',1,'','$user->rights->fournisseur->facture->creer','$conf->supplier_invoice->enabled',2,'2016-07-30 11:13:00'),(141486,'auguria',1,'','left','accountancy',141484,NULL,NULL,1,'/fourn/facture/impayees.php?leftmenu=suppliers_bills','','Unpaid','bills',1,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2016-07-30 11:13:00'),(141487,'auguria',1,'','left','accountancy',141484,NULL,NULL,2,'/fourn/facture/paiement.php?leftmenu=suppliers_bills','','Payments','bills',1,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2016-07-30 11:13:00'),(141488,'auguria',1,'','left','accountancy',141484,NULL,NULL,8,'/compta/facture/stats/index.php?leftmenu=customers_bills&mode=supplier','','Statistics','bills',1,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2016-07-30 11:13:00'),(141584,'auguria',1,'','left','accountancy',139890,NULL,NULL,3,'/compta/facture/list.php?leftmenu=customers_bills','','BillsCustomers','bills',0,'customer_bills','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141585,'auguria',1,'','left','accountancy',141584,NULL,NULL,3,'/compta/facture.php?action=create&leftmenu=customers_bills','','NewBill','bills',1,'','$user->rights->facture->creer','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141586,'auguria',1,'','left','accountancy',141584,NULL,NULL,5,'/compta/facture/fiche-rec.php?leftmenu=customers_bills','','ListOfTemplates','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141588,'auguria',1,'','left','accountancy',141584,NULL,NULL,6,'/compta/paiement/list.php?leftmenu=customers_bills','','Payments','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141589,'auguria',1,'','left','accountancy',141584,NULL,NULL,4,'/compta/facture/list.php?leftmenu=customers_bills','','List','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141594,'auguria',1,'','left','accountancy',141588,NULL,NULL,1,'/compta/paiement/rapport.php?leftmenu=customers_bills','','Reportings','bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141595,'auguria',1,'','left','accountancy',139898,NULL,NULL,9,'/compta/paiement/cheque/index.php?leftmenu=checks&mainmenu=bank','','MenuChequeDeposits','bills',0,'checks','$user->rights->banque->lire','empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && ! empty($conf->banque->enabled) && (! empty($conf->facture->enabled) || ! empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))',2,'2016-07-30 11:13:00'),(141596,'auguria',1,'','left','accountancy',141595,NULL,NULL,0,'/compta/paiement/cheque/card.php?leftmenu=checks&action=new','','NewCheckDeposit','compta',1,'','$user->rights->banque->lire','empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && ! empty($conf->banque->enabled) && (! empty($conf->facture->enabled) || ! empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))',2,'2016-07-30 11:13:00'),(141597,'auguria',1,'','left','accountancy',141595,NULL,NULL,1,'/compta/paiement/cheque/list.php?leftmenu=checks','','List','bills',1,'','$user->rights->banque->lire','empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && ! empty($conf->banque->enabled) && (! empty($conf->facture->enabled) || ! empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))',2,'2016-07-30 11:13:00'),(141598,'auguria',1,'','left','accountancy',141584,NULL,NULL,8,'/compta/facture/stats/index.php?leftmenu=customers_bills','','Statistics','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141604,'auguria',1,'','left','accountancy',141589,NULL,NULL,1,'/compta/facture/list.php?leftmenu=customers_bills&search_status=0','','BillShortStatusDraft','bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141605,'auguria',1,'','left','accountancy',141589,NULL,NULL,2,'/compta/facture/list.php?leftmenu=customers_bills&search_status=1','','BillShortStatusNotPaid','bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141606,'auguria',1,'','left','accountancy',141589,NULL,NULL,3,'/compta/facture/list.php?leftmenu=customers_bills&search_status=2','','BillShortStatusPaid','bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141607,'auguria',1,'','left','accountancy',141589,NULL,NULL,4,'/compta/facture/list.php?leftmenu=customers_bills&search_status=3','','BillShortStatusCanceled','bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141784,'auguria',1,'','left','accountancy',139890,NULL,NULL,3,'/commande/list.php?leftmenu=orders&viewstatut=3','','MenuOrdersToBill','orders',0,'orders','$user->rights->commande->lire','$conf->commande->enabled',0,'2016-07-30 11:13:00'),(141884,'auguria',1,'','left','accountancy',139890,NULL,NULL,4,'/don/index.php?leftmenu=donations&mainmenu=accountancy','','Donations','donations',0,'donations','$user->rights->don->lire','$conf->don->enabled',2,'2016-07-30 11:13:00'),(141885,'auguria',1,'','left','accountancy',141884,NULL,NULL,0,'/don/card.php?leftmenu=donations&mainmenu=accountancy&action=create','','NewDonation','donations',1,'','$user->rights->don->creer','$conf->don->enabled && $leftmenu==\"donations\"',2,'2016-07-30 11:13:00'),(141886,'auguria',1,'','left','accountancy',141884,NULL,NULL,1,'/don/list.php?leftmenu=donations&mainmenu=accountancy','','List','donations',1,'','$user->rights->don->lire','$conf->don->enabled && $leftmenu==\"donations\"',2,'2016-07-30 11:13:00'),(141984,'auguria',1,'','left','accountancy',139899,NULL,NULL,5,'/compta/deplacement/index.php?leftmenu=tripsandexpenses','','TripsAndExpenses','trips',0,'tripsandexpenses','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2016-07-30 11:13:00'),(141985,'auguria',1,'','left','accountancy',141984,NULL,NULL,1,'/compta/deplacement/card.php?action=create&leftmenu=tripsandexpenses','','New','trips',1,'','$user->rights->deplacement->creer','$conf->deplacement->enabled',0,'2016-07-30 11:13:00'),(141986,'auguria',1,'','left','accountancy',141984,NULL,NULL,2,'/compta/deplacement/list.php?leftmenu=tripsandexpenses','','List','trips',1,'','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2016-07-30 11:13:00'),(141987,'auguria',1,'','left','accountancy',141984,NULL,NULL,2,'/compta/deplacement/stats/index.php?leftmenu=tripsandexpenses','','Statistics','trips',1,'','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2016-07-30 11:13:00'),(142084,'auguria',1,'','left','accountancy',139890,NULL,NULL,6,'/compta/charges/index.php?leftmenu=tax&mainmenu=accountancy','','MenuSpecialExpenses','compta',0,'tax','(! empty($conf->tax->enabled) && $user->rights->tax->charges->lire) || (! empty($conf->salaries->enabled) && $user->rights->salaries->read)','$conf->tax->enabled || $conf->salaries->enabled',0,'2016-07-30 11:13:00'),(142094,'auguria',1,'','left','accountancy',142084,NULL,NULL,1,'/compta/salaries/index.php?leftmenu=tax_salary&mainmenu=accountancy','','Salaries','salaries',1,'tax_sal','$user->rights->salaries->read','$conf->salaries->enabled',0,'2016-07-30 11:13:00'),(142095,'auguria',1,'','left','accountancy',142094,NULL,NULL,2,'/compta/salaries/card.php?leftmenu=tax_salary&action=create','','NewPayment','companies',2,'','$user->rights->salaries->write','$conf->salaries->enabled && $leftmenu==\"tax_salary\"',0,'2016-07-30 11:13:00'),(142096,'auguria',1,'','left','accountancy',142094,NULL,NULL,3,'/compta/salaries/index.php?leftmenu=tax_salary','','Payments','companies',2,'','$user->rights->salaries->read','$conf->salaries->enabled && $leftmenu==\"tax_salary\"',0,'2016-07-30 11:13:00'),(142104,'auguria',1,'','left','accountancy',142084,NULL,NULL,1,'/loan/index.php?leftmenu=tax_loan&mainmenu=accountancy','','Loans','loan',1,'tax_loan','$user->rights->loan->read','$conf->loan->enabled',0,'2016-07-30 11:13:00'),(142105,'auguria',1,'','left','accountancy',142104,NULL,NULL,2,'/loan/card.php?leftmenu=tax_loan&action=create','','NewLoan','loan',2,'','$user->rights->loan->write','$conf->loan->enabled && $leftmenu==\"tax_loan\"',0,'2016-07-30 11:13:00'),(142107,'auguria',1,'','left','accountancy',142104,NULL,NULL,4,'/loan/calc.php?leftmenu=tax_loan','','Calculator','companies',2,'','$user->rights->loan->calc','$conf->loan->enabled && $leftmenu==\"tax_loan\" && ! empty($conf->global->LOAN_SHOW_CALCULATOR)',0,'2016-07-30 11:13:00'),(142134,'auguria',1,'','left','accountancy',142084,NULL,NULL,1,'/compta/sociales/index.php?leftmenu=tax_social','','SocialContributions','',1,'tax_social','$user->rights->tax->charges->lire','$conf->tax->enabled',0,'2016-07-30 11:13:00'),(142135,'auguria',1,'','left','accountancy',142134,NULL,NULL,2,'/compta/sociales/charges.php?leftmenu=tax_social&action=create','','MenuNewSocialContribution','',2,'','$user->rights->tax->charges->creer','$conf->tax->enabled && $leftmenu==\"tax_social\"',0,'2016-07-30 11:13:00'),(142136,'auguria',1,'','left','accountancy',142134,NULL,NULL,3,'/compta/charges/index.php?leftmenu=tax_social&mainmenu=accountancy&mode=sconly','','Payments','',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && $leftmenu==\"tax_social\"',0,'2016-07-30 11:13:00'),(142184,'auguria',1,'','left','accountancy',142084,NULL,NULL,7,'/compta/tva/index.php?leftmenu=tax_vat&mainmenu=accountancy','','VAT','companies',1,'tax_vat','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS)',0,'2016-07-30 11:13:00'),(142185,'auguria',1,'','left','accountancy',142184,NULL,NULL,0,'/compta/tva/card.php?leftmenu=tax_vat&action=create','','New','companies',2,'','$user->rights->tax->charges->creer','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2016-07-30 11:13:00'),(142186,'auguria',1,'','left','accountancy',142184,NULL,NULL,1,'/compta/tva/reglement.php?leftmenu=tax_vat','','List','companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2016-07-30 11:13:00'),(142187,'auguria',1,'','left','accountancy',142184,NULL,NULL,2,'/compta/tva/clients.php?leftmenu=tax_vat','','ReportByCustomers','companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2016-07-30 11:13:00'),(142188,'auguria',1,'','left','accountancy',142184,NULL,NULL,3,'/compta/tva/quadri_detail.php?leftmenu=tax_vat','','ReportByQuarter','companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2016-07-30 11:13:00'),(142284,'auguria',1,'','left','accountancy',139890,NULL,NULL,7,'/accountancy/customer/index.php?leftmenu=accounting','','MenuAccountancy','accountancy',0,'accounting','! empty($conf->accounting->enabled) || $user->rights->accounting->ventilation->read || $user->rights->accounting->ventilation->dispatch || $user->rights->compta->resultat->lire','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142285,'auguria',1,'','left','accountancy',142284,NULL,NULL,1,'/accountancy/customer/index.php?leftmenu=dispatch_customer','','CustomersVentilation','accountancy',1,'dispatch_customer','$user->rights->accounting->ventilation->read','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142286,'auguria',1,'','left','accountancy',142285,NULL,NULL,2,'/accountancy/customer/list.php','','ToDispatch','accountancy',2,'','$user->rights->accounting->ventilation->dispatch','$conf->accounting->enabled && $leftmenu==\"dispatch_customer\"',0,'2016-07-30 11:13:00'),(142287,'auguria',1,'','left','accountancy',142285,NULL,NULL,3,'/accountancy/customer/lines.php','','Dispatched','accountancy',2,'','$user->rights->accounting->ventilation->read','$conf->accounting->enabled && $leftmenu==\"dispatch_customer\"',0,'2016-07-30 11:13:00'),(142294,'auguria',1,'','left','accountancy',142284,NULL,NULL,4,'/accountancy/supplier/index.php?leftmenu=dispatch_supplier','','SuppliersVentilation','accountancy',1,'ventil_supplier','$user->rights->accounting->ventilation->read','$conf->accounting->enabled && $conf->fournisseur->enabled',0,'2016-07-30 11:13:00'),(142295,'auguria',1,'','left','accountancy',142294,NULL,NULL,5,'/accountancy/supplier/list.php','','ToDispatch','accountancy',2,'','$user->rights->accounting->ventilation->dispatch','$conf->accounting->enabled && $conf->fournisseur->enabled && $leftmenu==\"dispatch_supplier\"',0,'2016-07-30 11:13:00'),(142296,'auguria',1,'','left','accountancy',142294,NULL,NULL,6,'/accountancy/supplier/lines.php','','Dispatched','accountancy',2,'','$user->rights->accounting->ventilation->read','$conf->accounting->enabled && $conf->fournisseur->enabled && $leftmenu==\"dispatch_supplier\"',0,'2016-07-30 11:13:00'),(142314,'auguria',1,'','left','accountancy',142284,NULL,NULL,15,'/accountancy/bookkeeping/list.php','','Bookkeeping','accountancy',1,'bookkeeping','$user->rights->accounting->mouvements->lire','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142319,'auguria',1,'','left','accountancy',142284,NULL,NULL,16,'/accountancy/bookkeeping/balance.php','','AccountBalance','accountancy',1,'balance','$user->rights->accounting->mouvements->lire','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142324,'auguria',1,'','left','accountancy',142284,NULL,NULL,17,'/accountancy/report/result.php?leftmenu=ca&mainmenu=accountancy','','Reportings','main',1,'report','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142325,'auguria',1,'','left','accountancy',142324,NULL,NULL,18,'/accountancy/report/result.php?leftmenu=ca','','ReportInOut','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142326,'auguria',1,'','left','accountancy',142324,NULL,NULL,19,'/compta/resultat/index.php?leftmenu=ca','','ByExpenseIncome','main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142327,'auguria',1,'','left','accountancy',142324,NULL,NULL,20,'/compta/resultat/clientfourn.php?leftmenu=ca','','ByCompanies','main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142328,'auguria',1,'','left','accountancy',142324,NULL,NULL,21,'/compta/stats/index.php?leftmenu=ca','','ReportTurnover','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142329,'auguria',1,'','left','accountancy',142324,NULL,NULL,22,'/compta/stats/casoc.php?leftmenu=ca','','ByCompanies','main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142330,'auguria',1,'','left','accountancy',142324,NULL,NULL,23,'/compta/stats/cabyuser.php?leftmenu=ca','','ByUsers','main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142331,'auguria',1,'','left','accountancy',142324,NULL,NULL,24,'/compta/stats/cabyprodserv.php?leftmenu=ca','','ByProductsAndServices','main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142335,'auguria',1,'','left','home',142284,NULL,NULL,25,'/accountancy/admin/account.php?mainmenu=accountancy','','Chartofaccounts','admin',1,'','$user->rights->accounting->chartofaccount','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142384,'auguria',1,'','left','accountancy',139898,NULL,NULL,9,'/compta/prelevement/index.php?leftmenu=withdraw&mainmenu=bank','','StandingOrders','withdrawals',0,'withdraw','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled',2,'2016-07-30 11:13:00'),(142386,'auguria',1,'','left','accountancy',142384,NULL,NULL,0,'/compta/prelevement/create.php?leftmenu=withdraw','','NewStandingOrder','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2016-07-30 11:13:00'),(142387,'auguria',1,'','left','accountancy',142384,NULL,NULL,2,'/compta/prelevement/bons.php?leftmenu=withdraw','','WithdrawalsReceipts','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2016-07-30 11:13:00'),(142388,'auguria',1,'','left','accountancy',142384,NULL,NULL,3,'/compta/prelevement/list.php?leftmenu=withdraw','','WithdrawalsLines','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2016-07-30 11:13:00'),(142390,'auguria',1,'','left','accountancy',142384,NULL,NULL,5,'/compta/prelevement/rejets.php?leftmenu=withdraw','','Rejects','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2016-07-30 11:13:00'),(142391,'auguria',1,'','left','accountancy',142384,NULL,NULL,6,'/compta/prelevement/stats.php?leftmenu=withdraw','','Statistics','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2016-07-30 11:13:00'),(142484,'auguria',1,'','left','accountancy',139898,NULL,NULL,1,'/compta/bank/index.php?leftmenu=bank&mainmenu=bank','','MenuBankCash','banks',0,'bank','$user->rights->banque->lire','$conf->banque->enabled',0,'2016-07-30 11:13:00'),(142485,'auguria',1,'','left','accountancy',142484,NULL,NULL,0,'/compta/bank/card.php?action=create&leftmenu=bank','','MenuNewFinancialAccount','banks',1,'','$user->rights->banque->configurer','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2016-07-30 11:13:00'),(142487,'auguria',1,'','left','accountancy',142484,NULL,NULL,2,'/compta/bank/search.php?leftmenu=bank','','ListTransactions','banks',1,'','$user->rights->banque->lire','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2016-07-30 11:13:00'),(142488,'auguria',1,'','left','accountancy',142484,NULL,NULL,3,'/compta/bank/budget.php?leftmenu=bank','','ListTransactionsByCategory','banks',1,'','$user->rights->banque->lire','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2016-07-30 11:13:00'),(142490,'auguria',1,'','left','accountancy',142484,NULL,NULL,5,'/compta/bank/virement.php?leftmenu=bank','','BankTransfers','banks',1,'','$user->rights->banque->transfer','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2016-07-30 11:13:00'),(142534,'auguria',1,'','left','accountancy',139898,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=5','','Categories','categories',0,'cat','$user->rights->categorie->lire','$conf->categorie->enabled',2,'2016-07-30 11:13:00'),(142535,'auguria',1,'','left','accountancy',142534,NULL,NULL,0,'/categories/card.php?action=create&type=5','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->categorie->enabled',2,'2016-07-30 11:13:00'),(142584,'auguria',1,'','left','accountancy',139890,NULL,NULL,11,'/compta/resultat/index.php?leftmenu=ca&mainmenu=accountancy','','Reportings','main',0,'ca','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled',0,'2016-07-30 11:13:00'),(142585,'auguria',1,'','left','accountancy',142584,NULL,NULL,0,'/compta/resultat/index.php?leftmenu=ca','','ReportInOut','main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142586,'auguria',1,'','left','accountancy',142585,NULL,NULL,0,'/compta/resultat/clientfourn.php?leftmenu=ca','','ByCompanies','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142587,'auguria',1,'','left','accountancy',142584,NULL,NULL,1,'/compta/stats/index.php?leftmenu=ca','','ReportTurnover','main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142588,'auguria',1,'','left','accountancy',142587,NULL,NULL,0,'/compta/stats/casoc.php?leftmenu=ca','','ByCompanies','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142589,'auguria',1,'','left','accountancy',142587,NULL,NULL,1,'/compta/stats/cabyuser.php?leftmenu=ca','','ByUsers','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142590,'auguria',1,'','left','accountancy',142584,NULL,NULL,1,'/compta/journal/sellsjournal.php?leftmenu=ca','','SellsJournal','main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142591,'auguria',1,'','left','accountancy',142584,NULL,NULL,1,'/compta/journal/purchasesjournal.php?leftmenu=ca','','PurchasesJournal','main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142592,'auguria',1,'','left','accountancy',142587,NULL,NULL,1,'/compta/stats/cabyprodserv.php?leftmenu=ca','','ByProductsAndServices','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142684,'auguria',1,'','left','products',139887,NULL,NULL,0,'/product/index.php?leftmenu=product&type=0','','Products','products',0,'product','$user->rights->produit->lire','$conf->product->enabled',2,'2016-07-30 11:13:00'),(142685,'auguria',1,'','left','products',142684,NULL,NULL,0,'/product/card.php?leftmenu=product&action=create&type=0','','NewProduct','products',1,'','$user->rights->produit->creer','$conf->product->enabled',2,'2016-07-30 11:13:00'),(142686,'auguria',1,'','left','products',142684,NULL,NULL,1,'/product/list.php?leftmenu=product&type=0','','List','products',1,'','$user->rights->produit->lire','$conf->product->enabled',2,'2016-07-30 11:13:00'),(142687,'auguria',1,'','left','products',142684,NULL,NULL,4,'/product/reassort.php?type=0','','Stocks','products',1,'','$user->rights->produit->lire && $user->rights->stock->lire','$conf->product->enabled',2,'2016-07-30 11:13:00'),(142688,'auguria',1,'','left','products',142684,NULL,NULL,6,'/product/stats/card.php?id=all&leftmenu=stats&type=0','','Statistics','main',1,'','$user->rights->produit->lire','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(142689,'auguria',1,'','left','products',142684,NULL,NULL,5,'/product/reassortlot.php?type=0','','StocksByLotSerial','products',1,'','$user->rights->produit->lire && $user->rights->stock->lire','$conf->productbatch->enabled',2,'2016-07-30 11:13:00'),(142784,'auguria',1,'','left','products',139887,NULL,NULL,1,'/product/index.php?leftmenu=service&type=1','','Services','products',0,'service','$user->rights->service->lire','$conf->service->enabled',2,'2016-07-30 11:13:00'),(142785,'auguria',1,'','left','products',142784,NULL,NULL,0,'/product/card.php?leftmenu=service&action=create&type=1','','NewService','products',1,'','$user->rights->service->creer','$conf->service->enabled',2,'2016-07-30 11:13:00'),(142786,'auguria',1,'','left','products',142784,NULL,NULL,1,'/product/list.php?leftmenu=service&type=1','','List','products',1,'','$user->rights->service->lire','$conf->service->enabled',2,'2016-07-30 11:13:00'),(142787,'auguria',1,'','left','products',142784,NULL,NULL,5,'/product/stats/card.php?id=all&leftmenu=stats&type=1','','Statistics','main',1,'','$user->rights->service->lire','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(142984,'auguria',1,'','left','products',139887,NULL,NULL,3,'/product/stock/index.php?leftmenu=stock','','Stock','stocks',0,'stock','$user->rights->stock->lire','$conf->stock->enabled',2,'2016-07-30 11:13:00'),(142985,'auguria',1,'','left','products',142984,NULL,NULL,0,'/product/stock/card.php?action=create','','MenuNewWarehouse','stocks',1,'','$user->rights->stock->creer','$conf->stock->enabled',2,'2016-07-30 11:13:00'),(142986,'auguria',1,'','left','products',142984,NULL,NULL,1,'/product/stock/list.php','','List','stocks',1,'','$user->rights->stock->lire','$conf->stock->enabled',2,'2016-07-30 11:13:00'),(142988,'auguria',1,'','left','products',142984,NULL,NULL,3,'/product/stock/mouvement.php','','Movements','stocks',1,'','$user->rights->stock->mouvement->lire','$conf->stock->enabled',2,'2016-07-30 11:13:00'),(142989,'auguria',1,'','left','products',142984,NULL,NULL,4,'/product/stock/replenish.php','','Replenishments','stocks',1,'','$user->rights->stock->mouvement->creer && $user->rights->fournisseur->lire','$conf->stock->enabled && $conf->supplier_order->enabled',2,'2016-07-30 11:13:00'),(142990,'auguria',1,'','left','products',142984,NULL,NULL,5,'/product/stock/massstockmove.php','','MassStockTransferShort','stocks',1,'','$user->rights->stock->mouvement->creer','$conf->stock->enabled',2,'2016-07-30 11:13:00'),(143084,'auguria',1,'','left','products',139887,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=0','','Categories','categories',0,'cat','$user->rights->categorie->lire','$conf->categorie->enabled',2,'2016-07-30 11:13:00'),(143085,'auguria',1,'','left','products',143084,NULL,NULL,0,'/categories/card.php?action=create&type=0','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->categorie->enabled',2,'2016-07-30 11:13:00'),(143484,'auguria',1,'','left','project',139891,NULL,NULL,0,'/projet/index.php?leftmenu=projects','','Projects','projects',0,'projects','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143485,'auguria',1,'','left','project',143484,NULL,NULL,1,'/projet/card.php?leftmenu=projects&action=create','','NewProject','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143486,'auguria',1,'','left','project',143484,NULL,NULL,2,'/projet/list.php?leftmenu=projects','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143494,'auguria',1,'','left','project',139891,NULL,NULL,0,'/projet/index.php?leftmenu=projects&mode=mine','','MyProjects','projects',0,'myprojects','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143495,'auguria',1,'','left','project',143494,NULL,NULL,1,'/projet/card.php?leftmenu=projects&action=create&mode=mine','','NewProject','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143496,'auguria',1,'','left','project',143494,NULL,NULL,2,'/projet/list.php?leftmenu=projects&mode=mine','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143584,'auguria',1,'','left','project',139891,NULL,NULL,0,'/projet/activity/index.php?leftmenu=projects','','Activities','projects',0,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143585,'auguria',1,'','left','project',143584,NULL,NULL,1,'/projet/tasks.php?leftmenu=projects&action=create','','NewTask','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143586,'auguria',1,'','left','project',143584,NULL,NULL,2,'/projet/tasks/list.php?leftmenu=projects','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143587,'auguria',1,'','left','project',143584,NULL,NULL,3,'/projet/activity/perweek.php?leftmenu=projects','','NewTimeSpent','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143684,'auguria',1,'','left','project',139891,NULL,NULL,0,'/projet/activity/index.php?leftmenu=projects&mode=mine','','MyActivities','projects',0,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143685,'auguria',1,'','left','project',143684,NULL,NULL,1,'/projet/tasks.php?leftmenu=projects&action=create','','NewTask','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143686,'auguria',1,'','left','project',143684,NULL,NULL,2,'/projet/tasks/list.php?leftmenu=projects&mode=mine','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143687,'auguria',1,'','left','project',143684,NULL,NULL,3,'/projet/activity/perweek.php?leftmenu=projects&mode=mine','','NewTimeSpent','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143784,'auguria',1,'','left','tools',139892,NULL,NULL,0,'/comm/mailing/index.php?leftmenu=mailing','','EMailings','mails',0,'mailing','$user->rights->mailing->lire','$conf->mailing->enabled',0,'2016-07-30 11:13:00'),(143785,'auguria',1,'','left','tools',143784,NULL,NULL,0,'/comm/mailing/card.php?leftmenu=mailing&action=create','','NewMailing','mails',1,'','$user->rights->mailing->creer','$conf->mailing->enabled',0,'2016-07-30 11:13:00'),(143786,'auguria',1,'','left','tools',143784,NULL,NULL,1,'/comm/mailing/list.php?leftmenu=mailing','','List','mails',1,'','$user->rights->mailing->lire','$conf->mailing->enabled',0,'2016-07-30 11:13:00'),(143984,'auguria',1,'','left','tools',139892,NULL,NULL,2,'/exports/index.php?leftmenu=export','','FormatedExport','exports',0,'export','$user->rights->export->lire','$conf->export->enabled',2,'2016-07-30 11:13:00'),(143985,'auguria',1,'','left','tools',143984,NULL,NULL,0,'/exports/export.php?leftmenu=export','','NewExport','exports',1,'','$user->rights->export->creer','$conf->export->enabled',2,'2016-07-30 11:13:00'),(144014,'auguria',1,'','left','tools',139892,NULL,NULL,2,'/imports/index.php?leftmenu=import','','FormatedImport','exports',0,'import','$user->rights->import->run','$conf->import->enabled',2,'2016-07-30 11:13:00'),(144015,'auguria',1,'','left','tools',144014,NULL,NULL,0,'/imports/import.php?leftmenu=import','','NewImport','exports',1,'','$user->rights->import->run','$conf->import->enabled',2,'2016-07-30 11:13:00'),(144084,'auguria',1,'','left','members',139897,NULL,NULL,0,'/adherents/index.php?leftmenu=members&mainmenu=members','','Members','members',0,'members','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144085,'auguria',1,'','left','members',144084,NULL,NULL,0,'/adherents/card.php?leftmenu=members&action=create','','NewMember','members',1,'','$user->rights->adherent->creer','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144086,'auguria',1,'','left','members',144084,NULL,NULL,1,'/adherents/list.php','','List','members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144087,'auguria',1,'','left','members',144086,NULL,NULL,2,'/adherents/list.php?leftmenu=members&statut=-1','','MenuMembersToValidate','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144088,'auguria',1,'','left','members',144086,NULL,NULL,3,'/adherents/list.php?leftmenu=members&statut=1','','MenuMembersValidated','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144089,'auguria',1,'','left','members',144086,NULL,NULL,4,'/adherents/list.php?leftmenu=members&statut=1&filter=outofdate','','MenuMembersNotUpToDate','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144090,'auguria',1,'','left','members',144086,NULL,NULL,5,'/adherents/list.php?leftmenu=members&statut=1&filter=uptodate','','MenuMembersUpToDate','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144091,'auguria',1,'','left','members',144086,NULL,NULL,6,'/adherents/list.php?leftmenu=members&statut=0','','MenuMembersResiliated','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144092,'auguria',1,'','left','members',144084,NULL,NULL,7,'/adherents/stats/geo.php?leftmenu=members&mode=memberbycountry','','MenuMembersStats','members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144184,'auguria',1,'','left','members',139897,NULL,NULL,1,'/adherents/index.php?leftmenu=members&mainmenu=members','','Subscriptions','compta',0,'','$user->rights->adherent->cotisation->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144185,'auguria',1,'','left','members',144184,NULL,NULL,0,'/adherents/list.php?statut=-1&leftmenu=accountancy&mainmenu=members','','NewSubscription','compta',1,'','$user->rights->adherent->cotisation->creer','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144186,'auguria',1,'','left','members',144184,NULL,NULL,1,'/adherents/cotisations.php?leftmenu=members','','List','compta',1,'','$user->rights->adherent->cotisation->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144187,'auguria',1,'','left','members',144184,NULL,NULL,7,'/adherents/stats/index.php?leftmenu=members','','MenuMembersStats','members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144384,'auguria',1,'','left','members',139897,NULL,NULL,3,'/adherents/index.php?leftmenu=export&mainmenu=members','','Exports','members',0,'export','$user->rights->adherent->export','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144385,'auguria',1,'','left','members',144384,NULL,NULL,0,'/exports/index.php?leftmenu=export','','Datas','members',1,'','$user->rights->adherent->export','$conf->adherent->enabled && $conf->export->enabled',2,'2016-07-30 11:13:00'),(144386,'auguria',1,'','left','members',144384,NULL,NULL,1,'/adherents/htpasswd.php?leftmenu=export','','Filehtpasswd','members',1,'','$user->rights->adherent->export','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144387,'auguria',1,'','left','members',144384,NULL,NULL,2,'/adherents/cartes/carte.php?leftmenu=export','','MembersCards','members',1,'','$user->rights->adherent->export','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144484,'auguria',1,'','left','hrm',139899,NULL,NULL,1,'/user/index.php?&leftmenu=hrm&mode=employee','','Employees','hrm',0,'hrm','$user->rights->hrm->employee->read','$conf->hrm->enabled',0,'2016-07-30 11:13:00'),(144485,'auguria',1,'','left','hrm',144484,NULL,NULL,1,'/user/card.php?&action=create','','NewEmployee','hrm',1,'','$user->rights->hrm->employee->write','$conf->hrm->enabled',0,'2016-07-30 11:13:00'),(144486,'auguria',1,'','left','hrm',144484,NULL,NULL,2,'/user/index.php?$leftmenu=hrm&mode=employee','','List','hrm',1,'','$user->rights->hrm->employee->read','$conf->hrm->enabled',0,'2016-07-30 11:13:00'),(144584,'auguria',1,'','left','members',139897,NULL,NULL,5,'/adherents/type.php?leftmenu=setup&mainmenu=members','','MembersTypes','members',0,'setup','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144585,'auguria',1,'','left','members',144584,NULL,NULL,0,'/adherents/type.php?leftmenu=setup&mainmenu=members&action=create','','New','members',1,'','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144586,'auguria',1,'','left','members',144584,NULL,NULL,1,'/adherents/type.php?leftmenu=setup&mainmenu=members','','List','members',1,'','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144884,'auguria',1,'','left','hrm',139899,NULL,NULL,1,'/holiday/list.php?&leftmenu=hrm','','CPTitreMenu','holiday',0,'hrm','$user->rights->holiday->read','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144885,'auguria',1,'','left','hrm',144884,NULL,NULL,1,'/holiday/card.php?&action=request','','MenuAddCP','holiday',1,'','$user->rights->holiday->write','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144886,'auguria',1,'','left','hrm',144884,NULL,NULL,1,'/holiday/list.php?&leftmenu=hrm','','List','holiday',1,'','$user->rights->holiday->read','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144887,'auguria',1,'','left','hrm',144886,NULL,NULL,1,'/holiday/list.php?select_statut=2&leftmenu=hrm','','ListToApprove','trips',2,'','$user->rights->holiday->read','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144888,'auguria',1,'','left','hrm',144884,NULL,NULL,2,'/holiday/define_holiday.php?&action=request','','MenuConfCP','holiday',1,'','$user->rights->holiday->define_holiday','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144889,'auguria',1,'','left','hrm',144884,NULL,NULL,3,'/holiday/view_log.php?&action=request','','MenuLogCP','holiday',1,'','$user->rights->holiday->define_holiday','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144984,'auguria',1,'','left','commercial',139889,NULL,NULL,6,'/fourn/commande/index.php?leftmenu=orders_suppliers','','SuppliersOrders','orders',0,'orders_suppliers','$user->rights->fournisseur->commande->lire','$conf->supplier_order->enabled',2,'2016-07-30 11:13:00'),(144985,'auguria',1,'','left','commercial',144984,NULL,NULL,0,'/fourn/commande/card.php?action=create&leftmenu=orders_suppliers','','NewOrder','orders',1,'','$user->rights->fournisseur->commande->creer','$conf->supplier_order->enabled',2,'2016-07-30 11:13:00'),(144986,'auguria',1,'','left','commercial',144984,NULL,NULL,1,'/fourn/commande/list.php?leftmenu=orders_suppliers&viewstatut=0','','List','orders',1,'','$user->rights->fournisseur->commande->lire','$conf->supplier_order->enabled',2,'2016-07-30 11:13:00'),(144992,'auguria',1,'','left','commercial',144984,NULL,NULL,7,'/commande/stats/index.php?leftmenu=orders_suppliers&mode=supplier','','Statistics','orders',1,'','$user->rights->fournisseur->commande->lire','$conf->supplier_order->enabled',2,'2016-07-30 11:13:00'),(145084,'auguria',1,'','left','members',139897,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=3','','MembersCategoriesShort','categories',0,'cat','$user->rights->categorie->lire','$conf->adherent->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(145085,'auguria',1,'','left','members',145084,NULL,NULL,0,'/categories/card.php?action=create&type=3','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->adherent->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(145086,'all',1,'supplier_proposal','left','commercial',-1,NULL,'commercial',300,'/supplier_proposal/index.php','','SupplierProposalsShort','supplier_proposal',NULL,'supplier_proposalsubmenu','$user->rights->supplier_proposal->lire','$conf->supplier_proposal->enabled',2,'2016-07-30 11:13:20'),(145087,'all',1,'supplier_proposal','left','commercial',-1,'supplier_proposalsubmenu','commercial',301,'/supplier_proposal/card.php?action=create&leftmenu=supplier_proposals','','SupplierProposalNew','supplier_proposal',NULL,NULL,'$user->rights->supplier_proposal->creer','$conf->supplier_proposal->enabled',2,'2016-07-30 11:13:20'),(145088,'all',1,'supplier_proposal','left','commercial',-1,'supplier_proposalsubmenu','commercial',302,'/supplier_proposal/list.php?leftmenu=supplier_proposals','','List','supplier_proposal',NULL,NULL,'$user->rights->supplier_proposal->lire','$conf->supplier_proposal->enabled',2,'2016-07-30 11:13:20'),(145089,'all',1,'supplier_proposal','left','commercial',-1,'supplier_proposalsubmenu','commercial',303,'/comm/propal/stats/index.php?leftmenu=supplier_proposals&mode=supplier','','Statistics','supplier_proposal',NULL,NULL,'$user->rights->supplier_proposal->lire','$conf->supplier_proposal->enabled',2,'2016-07-30 11:13:20'),(145090,'all',1,'resource','left','tools',-1,NULL,'tools',100,'/resource/list.php','','MenuResourceIndex','resource',NULL,'resource','$user->rights->resource->read','1',0,'2016-07-30 11:13:32'),(145091,'all',1,'resource','left','tools',-1,'resource','tools',101,'/resource/add.php','','MenuResourceAdd','resource',NULL,NULL,'$user->rights->resource->read','1',0,'2016-07-30 11:13:32'),(145092,'all',1,'resource','left','tools',-1,'resource','tools',102,'/resource/list.php','','List','resource',NULL,NULL,'$user->rights->resource->read','1',0,'2016-07-30 11:13:32'),(145093,'all',1,'cron','left','home',-1,'admintools','home',200,'/cron/list.php?status=-2&leftmenu=admintools','','CronList','cron',NULL,NULL,'$user->rights->cron->read','$leftmenu==\'admintools\'',2,'2016-07-30 11:14:25'),(145094,'all',1,'agenda','top','agenda',0,NULL,NULL,100,'/comm/action/index.php','','Agenda','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145095,'all',1,'agenda','left','agenda',145094,NULL,NULL,100,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Actions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145096,'all',1,'agenda','left','agenda',145095,NULL,NULL,101,'/comm/action/card.php?mainmenu=agenda&leftmenu=agenda&action=create','','NewAction','commercial',NULL,NULL,'($user->rights->agenda->myactions->create||$user->rights->agenda->allactions->create)','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145097,'all',1,'agenda','left','agenda',145095,NULL,NULL,102,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Agenda','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145098,'all',1,'agenda','left','agenda',145097,NULL,NULL,103,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145099,'all',1,'agenda','left','agenda',145097,NULL,NULL,104,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145100,'all',1,'agenda','left','agenda',145097,NULL,NULL,105,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo&filtert=-1','','MenuToDoActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2016-07-30 15:42:32'),(145101,'all',1,'agenda','left','agenda',145097,NULL,NULL,106,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done&filtert=-1','','MenuDoneActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2016-07-30 15:42:32'),(145102,'all',1,'agenda','left','agenda',145095,NULL,NULL,112,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda','','List','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145103,'all',1,'agenda','left','agenda',145102,NULL,NULL,113,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145104,'all',1,'agenda','left','agenda',145102,NULL,NULL,114,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145105,'all',1,'agenda','left','agenda',145102,NULL,NULL,115,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo&filtert=-1','','MenuToDoActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2016-07-30 15:42:32'),(145106,'all',1,'agenda','left','agenda',145102,NULL,NULL,116,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done&filtert=-1','','MenuDoneActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2016-07-30 15:42:32'),(145107,'all',1,'agenda','left','agenda',145095,NULL,NULL,120,'/comm/action/rapport/index.php?mainmenu=agenda&leftmenu=agenda','','Reportings','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'); +INSERT INTO `llx_menu` VALUES (103094,'all',2,'agenda','top','agenda',0,NULL,NULL,100,'/comm/action/index.php','','Agenda','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103095,'all',2,'agenda','left','agenda',103094,NULL,NULL,100,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Actions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103096,'all',2,'agenda','left','agenda',103095,NULL,NULL,101,'/comm/action/card.php?mainmenu=agenda&leftmenu=agenda&action=create','','NewAction','commercial',NULL,NULL,'($user->rights->agenda->myactions->create||$user->rights->agenda->allactions->create)','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103097,'all',2,'agenda','left','agenda',103095,NULL,NULL,102,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Calendar','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103098,'all',2,'agenda','left','agenda',103097,NULL,NULL,103,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103099,'all',2,'agenda','left','agenda',103097,NULL,NULL,104,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103100,'all',2,'agenda','left','agenda',103097,NULL,NULL,105,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo','','MenuToDoActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2013-03-13 15:29:19'),(103101,'all',2,'agenda','left','agenda',103097,NULL,NULL,106,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done','','MenuDoneActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2013-03-13 15:29:19'),(103102,'all',2,'agenda','left','agenda',103095,NULL,NULL,112,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda','','List','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103103,'all',2,'agenda','left','agenda',103102,NULL,NULL,113,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103104,'all',2,'agenda','left','agenda',103102,NULL,NULL,114,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103105,'all',2,'agenda','left','agenda',103102,NULL,NULL,115,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo','','MenuToDoActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2013-03-13 15:29:19'),(103106,'all',2,'agenda','left','agenda',103102,NULL,NULL,116,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done','','MenuDoneActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2013-03-13 15:29:19'),(103107,'all',2,'agenda','left','agenda',103095,NULL,NULL,120,'/comm/action/rapport/index.php?mainmenu=agenda&leftmenu=agenda','','Reportings','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103108,'all',2,'pos','top','pos',0,NULL,NULL,100,'/pos/backend/listefac.php','','POS','pos@pos',NULL,'1','1','1',2,'2013-03-13 20:33:09'),(103109,'all',2,'pos','left','pos',103108,NULL,NULL,100,'/pos/backend/list.php','','Tickets','pos@pos',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103110,'all',2,'pos','left','pos',103109,NULL,NULL,100,'/pos/backend/list.php','','List','main',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103111,'all',2,'pos','left','pos',103110,NULL,NULL,100,'/pos/backend/list.php?viewstatut=0','','StatusTicketDraft','pos@pos',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103112,'all',2,'pos','left','@pos',103110,NULL,NULL,100,'/pos/backend/list.php?viewstatut=1','','StatusTicketClosed','main',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103113,'all',2,'pos','left','@pos',103110,NULL,NULL,100,'/pos/backend/list.php?viewstatut=2','','StatusTicketProcessed','main',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103114,'all',2,'pos','left','@pos',103110,NULL,NULL,100,'/pos/backend/list.php?viewtype=1','','StatusTicketReturned','main',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103115,'all',2,'pos','left','pos',103108,NULL,NULL,100,'/pos/backend/listefac.php','','Factures','pos@pos',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103116,'all',2,'pos','left','pos',103115,NULL,NULL,100,'/pos/backend/listefac.php','','List','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103117,'all',2,'pos','left','pos',103116,NULL,NULL,100,'/pos/backend/listefac.php?viewstatut=0','','BillStatusDraft','bills',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103118,'all',2,'pos','left','@pos',103116,NULL,NULL,100,'/pos/backend/listefac.php?viewstatut=1','','BillStatusValidated','bills',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103119,'all',2,'pos','left','@pos',103116,NULL,NULL,100,'/pos/backend/listefac.php?viewstatut=2&viewtype=0','','BillStatusPaid','bills',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103120,'all',2,'pos','left','@pos',103116,NULL,NULL,100,'/pos/backend/listefac.php?viewtype=2','','BillStatusReturned','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103121,'all',2,'pos','left','@pos',103108,NULL,NULL,100,'/pos/frontend/index.php','','POS','main',NULL,NULL,'$user->rights->pos->frontend','1',0,'2013-03-13 20:33:09'),(103122,'all',2,'pos','left','@pos',103121,NULL,NULL,100,'/pos/frontend/index.php','','NewTicket','main',NULL,NULL,'$user->rights->pos->frontend','1',0,'2013-03-13 20:33:09'),(103123,'all',2,'pos','left','@pos',103121,NULL,NULL,101,'/pos/backend/closes.php','','CloseandArching','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103124,'all',2,'pos','left','@pos',103108,NULL,NULL,100,'/pos/backend/terminal/cash.php','','Terminal','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103125,'all',2,'pos','left','@pos',103124,NULL,NULL,100,'/pos/backend/terminal/card.php?action=create','','NewCash','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103126,'all',2,'pos','left','@pos',103124,NULL,NULL,101,'/pos/backend/terminal/cash.php','','List','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103127,'all',2,'pos','left','@pos',103123,NULL,NULL,101,'/pos/backend/closes.php?viewstatut=0','','Arqueo','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103128,'all',2,'pos','left','@pos',103123,NULL,NULL,102,'/pos/backend/closes.php?viewstatut=1','','Closes','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103129,'all',2,'pos','left','@pos',103108,NULL,NULL,102,'/pos/backend/transfers.php','','Transfer','main',NULL,NULL,'$user->rights->pos->transfer','1',0,'2013-03-13 20:33:09'),(103130,'all',2,'pos','left','@pos',103108,NULL,NULL,102,'/pos/backend/resultat/index.php','','Rapport','main',NULL,NULL,'$user->rights->pos->stats','1',0,'2013-03-13 20:33:09'),(103131,'all',2,'pos','left','@pos',103130,NULL,NULL,102,'/pos/backend/resultat/casoc.php','','ReportsCustomer','main',NULL,NULL,'$user->rights->pos->stats','1',0,'2013-03-13 20:33:09'),(103132,'all',2,'pos','left','@pos',103130,NULL,NULL,102,'/pos/backend/resultat/causer.php','','ReportsUser','main',NULL,NULL,'$user->rights->pos->stats','1',0,'2013-03-13 20:33:09'),(103133,'all',2,'pos','left','@pos',103130,NULL,NULL,102,'/pos/backend/resultat/sellsjournal.php','','ReportsSells','main',NULL,NULL,'$user->rights->pos->stats','1',0,'2013-03-13 20:33:09'),(103134,'all',2,'opensurvey','top','opensurvey',0,NULL,NULL,200,'/opensurvey/index.php','','Surveys','opensurvey',NULL,NULL,'$user->rights->opensurvey->survey->read','$conf->opensurvey->enabled',0,'2013-03-13 20:33:42'),(103135,'all',2,'opensurvey','left','opensurvey',-1,NULL,'opensurvey',200,'/opensurvey/index.php?mainmenu=opensurvey&leftmenu=opensurvey','','Survey','opensurvey@opensurvey',NULL,'opensurvey','','$conf->opensurvey->enabled',0,'2013-03-13 20:33:42'),(103136,'all',2,'opensurvey','left','opensurvey',-1,'opensurvey','opensurvey',210,'/opensurvey/public/index.php','_blank','NewSurvey','opensurvey@opensurvey',NULL,'opensurvey_new','','$conf->opensurvey->enabled',0,'2013-03-13 20:33:42'),(103137,'all',2,'opensurvey','left','opensurvey',-1,'opensurvey','opensurvey',220,'/opensurvey/list.php','','List','opensurvey@opensurvey',NULL,'opensurvey_list','','$conf->opensurvey->enabled',0,'2013-03-13 20:33:42'),(124179,'all',1,'cashdesk','top','cashdesk',0,NULL,NULL,100,'/cashdesk/index.php?user=__LOGIN__','pointofsale','CashDeskMenu','cashdesk',NULL,NULL,'$user->rights->cashdesk->use','$conf->cashdesk->enabled',0,'2015-11-15 22:38:33'),(124210,'all',1,'margins','left','accountancy',-1,NULL,'accountancy',100,'/margin/index.php','','Margins','margins',NULL,'margins','$user->rights->margins->liretous','$conf->margin->enabled',2,'2015-11-15 22:41:47'),(134675,'all',1,'ecm','top','ecm',0,NULL,NULL,100,'/ecm/index.php','','MenuECM','ecm',NULL,NULL,'$user->rights->ecm->read || $user->rights->ecm->upload || $user->rights->ecm->setup','$conf->ecm->enabled',2,'2016-01-22 17:26:43'),(134676,'all',1,'ecm','left','ecm',-1,NULL,'ecm',101,'/ecm/index.php?mainmenu=ecm&leftmenu=ecm','','ECMArea','ecm',NULL,'ecm','$user->rights->ecm->read || $user->rights->ecm->upload','$user->rights->ecm->read || $user->rights->ecm->upload',2,'2016-01-22 17:26:43'),(134677,'all',1,'ecm','left','ecm',-1,'ecm','ecm',102,'/ecm/index.php?action=file_manager&mainmenu=ecm&leftmenu=ecm','','ECMSectionsManual','ecm',NULL,'ecm_manual','$user->rights->ecm->read || $user->rights->ecm->upload','$user->rights->ecm->read || $user->rights->ecm->upload',2,'2016-01-22 17:26:43'),(134678,'all',1,'ecm','left','ecm',-1,'ecm','ecm',103,'/ecm/index_auto.php?action=file_manager&mainmenu=ecm&leftmenu=ecm','','ECMSectionsAuto','ecm',NULL,NULL,'$user->rights->ecm->read || $user->rights->ecm->upload','$user->rights->ecm->read || $user->rights->ecm->upload',2,'2016-01-22 17:26:43'),(139883,'all',1,'barcode','left','tools',-1,NULL,'tools',200,'/barcode/printsheet.php?mainmenu=tools&leftmenu=barcodeprint','','BarCodePrintsheet','products',NULL,'barcodeprint','($conf->global->MAIN_USE_ADVANCED_PERMS && $user->rights->barcode->lire_advance) || (! $conf->global->MAIN_USE_ADVANCED_PERMS)','$conf->barcode->enabled',2,'2016-07-30 11:12:59'),(139884,'all',1,'barcode','left','home',-1,'admintools','home',300,'/barcode/codeinit.php?mainmenu=home&leftmenu=admintools','','MassBarcodeInit','products',NULL,NULL,'($conf->global->MAIN_USE_ADVANCED_PERMS && $user->rights->barcode->creer_advance) || (! $conf->global->MAIN_USE_ADVANCED_PERMS)','$conf->barcode->enabled && $leftmenu==\"admintools\"',0,'2016-07-30 11:12:59'),(139885,'auguria',1,'','top','home',0,NULL,NULL,10,'/index.php?mainmenu=home&leftmenu=','','Home','',-1,'','','1',2,'2016-07-30 11:13:00'),(139886,'auguria',1,'societe|fournisseur','top','companies',0,NULL,NULL,20,'/societe/index.php?mainmenu=companies&leftmenu=','','ThirdParties','companies',-1,'','$user->rights->societe->lire || $user->rights->societe->contact->lire','( ! empty($conf->societe->enabled) && (empty($conf->global->SOCIETE_DISABLE_PROSPECTS) || empty($conf->global->SOCIETE_DISABLE_CUSTOMERS))) || ! empty($conf->fournisseur->enabled)',2,'2016-07-30 11:13:00'),(139887,'auguria',1,'product|service','top','products',0,NULL,NULL,30,'/product/index.php?mainmenu=products&leftmenu=','','Products/Services','products',-1,'','$user->rights->produit->lire||$user->rights->service->lire','$conf->product->enabled || $conf->service->enabled',0,'2016-07-30 11:13:00'),(139889,'auguria',1,'propal|commande|fournisseur|contrat|ficheinter','top','commercial',0,NULL,NULL,40,'/comm/index.php?mainmenu=commercial&leftmenu=','','Commercial','commercial',-1,'','$user->rights->societe->lire || $user->rights->societe->contact->lire','$conf->propal->enabled || $conf->commande->enabled || $conf->supplier_order->enabled || $conf->contrat->enabled || $conf->ficheinter->enabled',2,'2016-07-30 11:13:00'),(139890,'auguria',1,'comptabilite|accounting|facture|don|tax|salaries|loan','top','accountancy',0,NULL,NULL,50,'/compta/index.php?mainmenu=accountancy&leftmenu=','','MenuFinancial','compta',-1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->plancompte->lire || $user->rights->facture->lire|| $user->rights->don->lire || $user->rights->tax->charges->lire || $user->rights->salaries->read || $user->rights->loan->read','$conf->comptabilite->enabled || $conf->accounting->enabled || $conf->facture->enabled || $conf->don->enabled || $conf->tax->enabled || $conf->salaries->enabled || $conf->supplier_invoice->enabled || $conf->loan->enabled',2,'2016-07-30 11:13:00'),(139891,'auguria',1,'projet','top','project',0,NULL,NULL,70,'/projet/index.php?mainmenu=project&leftmenu=','','Projects','projects',-1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(139892,'auguria',1,'mailing|export|import|opensurvey|resource','top','tools',0,NULL,NULL,90,'/core/tools.php?mainmenu=tools&leftmenu=','','Tools','other',-1,'','$user->rights->mailing->lire || $user->rights->export->lire || $user->rights->import->run || $user->rights->opensurvey->read || $user->rights->resource->read','$conf->mailing->enabled || $conf->export->enabled || $conf->import->enabled || $conf->opensurvey->enabled || $conf->resource->enabled',2,'2016-07-30 11:13:00'),(139897,'auguria',1,'adherent','top','members',0,NULL,NULL,110,'/adherents/index.php?mainmenu=members&leftmenu=','','Members','members',-1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(139898,'auguria',1,'banque|prelevement','top','bank',0,NULL,NULL,60,'/compta/bank/index.php?mainmenu=bank&leftmenu=bank','','MenuBankCash','banks',-1,'','$user->rights->banque->lire || $user->rights->prelevement->bons->lire','$conf->banque->enabled || $conf->prelevement->enabled',0,'2016-07-30 11:13:00'),(139899,'auguria',1,'hrm|holiday|deplacement|expensereport','top','hrm',0,NULL,NULL,80,'/hrm/hrm.php?mainmenu=hrm&leftmenu=','','HRM','holiday',-1,'','$user->rights->hrm->employee->read || $user->rights->holiday->write || $user->rights->deplacement->lire || $user->rights->expensereport->lire','$conf->hrm->enabled || $conf->holiday->enabled || $conf->deplacement->enabled || $conf->expensereport->enabled',0,'2016-07-30 11:13:00'),(139974,'auguria',1,'','left','home',139885,NULL,NULL,0,'/index.php','','Dashboard','',0,'','','1',2,'2016-07-30 11:13:00'),(139984,'auguria',1,'','left','home',139885,NULL,NULL,1,'/admin/index.php?leftmenu=setup','','Setup','admin',0,'setup','','$user->admin',2,'2016-07-30 11:13:00'),(139985,'auguria',1,'','left','home',139984,NULL,NULL,1,'/admin/company.php?leftmenu=setup','','MenuCompanySetup','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139986,'auguria',1,'','left','home',139984,NULL,NULL,4,'/admin/ihm.php?leftmenu=setup','','GUISetup','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139987,'auguria',1,'','left','home',139984,NULL,NULL,2,'/admin/modules.php?leftmenu=setup','','Modules','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139988,'auguria',1,'','left','home',139984,NULL,NULL,6,'/admin/boxes.php?leftmenu=setup','','Boxes','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139989,'auguria',1,'','left','home',139984,NULL,NULL,3,'/admin/menus.php?leftmenu=setup','','Menus','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139990,'auguria',1,'','left','home',139984,NULL,NULL,7,'/admin/delais.php?leftmenu=setup','','Alerts','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139991,'auguria',1,'','left','home',139984,NULL,NULL,10,'/admin/pdf.php?leftmenu=setup','','PDF','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139992,'auguria',1,'','left','home',139984,NULL,NULL,8,'/admin/security_other.php?leftmenu=setup','','Security','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139993,'auguria',1,'','left','home',139984,NULL,NULL,11,'/admin/mails.php?leftmenu=setup','','Emails','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139994,'auguria',1,'','left','home',139984,NULL,NULL,9,'/admin/limits.php?leftmenu=setup','','MenuLimits','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139995,'auguria',1,'','left','home',139984,NULL,NULL,13,'/admin/dict.php?leftmenu=setup','','Dictionary','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139996,'auguria',1,'','left','home',139984,NULL,NULL,14,'/admin/const.php?leftmenu=setup','','OtherSetup','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139997,'auguria',1,'','left','home',139984,NULL,NULL,12,'/admin/sms.php?leftmenu=setup','','SMS','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139998,'auguria',1,'','left','home',139984,NULL,NULL,4,'/admin/translation.php?leftmenu=setup','','Translation','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139999,'auguria',1,'','left','home',139984,NULL,NULL,4,'/accountancy/admin/fiscalyear.php?mainmenu=setup','','Fiscalyear','admin',1,'','','$leftmenu==\"setup\" && $conf->accounting->enabled',2,'2016-07-30 11:13:00'),(140085,'auguria',1,'','left','home',140184,NULL,NULL,0,'/admin/system/dolibarr.php?leftmenu=admintools','','InfoDolibarr','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140086,'auguria',1,'','left','home',140085,NULL,NULL,2,'/admin/system/modules.php?leftmenu=admintools','','Modules','admin',2,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140087,'auguria',1,'','left','home',140085,NULL,NULL,3,'/admin/triggers.php?leftmenu=admintools','','Triggers','admin',2,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140089,'auguria',1,'','left','home',140184,NULL,NULL,1,'/admin/system/browser.php?leftmenu=admintools','','InfoBrowser','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140090,'auguria',1,'','left','home',140184,NULL,NULL,2,'/admin/system/os.php?leftmenu=admintools','','InfoOS','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140091,'auguria',1,'','left','home',140184,NULL,NULL,3,'/admin/system/web.php?leftmenu=admintools','','InfoWebServer','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140092,'auguria',1,'','left','home',140184,NULL,NULL,4,'/admin/system/phpinfo.php?leftmenu=admintools','','InfoPHP','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140094,'auguria',1,'','left','home',140184,NULL,NULL,5,'/admin/system/database.php?leftmenu=admintools','','InfoDatabase','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140184,'auguria',1,'','left','home',139885,NULL,NULL,2,'/admin/tools/index.php?leftmenu=admintools','','AdminTools','admin',0,'admintools','','$user->admin',2,'2016-07-30 11:13:00'),(140185,'auguria',1,'','left','home',140184,NULL,NULL,6,'/admin/tools/dolibarr_export.php?leftmenu=admintools','','Backup','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140186,'auguria',1,'','left','home',140184,NULL,NULL,7,'/admin/tools/dolibarr_import.php?leftmenu=admintools','','Restore','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140189,'auguria',1,'','left','home',140184,NULL,NULL,8,'/admin/tools/update.php?leftmenu=admintools','','MenuUpgrade','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140190,'auguria',1,'','left','home',140184,NULL,NULL,9,'/admin/tools/eaccelerator.php?leftmenu=admintools','','EAccelerator','admin',1,'','','$leftmenu==\"admintools\" && function_exists(\"eaccelerator_info\")',2,'2016-07-30 11:13:00'),(140191,'auguria',1,'','left','home',140184,NULL,NULL,10,'/admin/tools/listevents.php?leftmenu=admintools','','Audit','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140192,'auguria',1,'','left','home',140184,NULL,NULL,11,'/admin/tools/listsessions.php?leftmenu=admintools','','Sessions','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140193,'auguria',1,'','left','home',140184,NULL,NULL,12,'/admin/tools/purge.php?leftmenu=admintools','','Purge','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140194,'auguria',1,'','left','home',140184,NULL,NULL,13,'/support/index.php?leftmenu=admintools','_blank','HelpCenter','help',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140195,'auguria',1,'','left','home',140184,NULL,NULL,14,'/admin/system/about.php?leftmenu=admintools','','About','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140204,'auguria',1,'','left','home',140184,NULL,NULL,0,'/product/admin/product_tools.php?mainmenu=home&leftmenu=admintools','','ProductVatMassChange','products',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140205,'auguria',1,'','left','home',140184,NULL,NULL,0,'/accountancy/admin/productaccount.php?mainmenu=home&leftmenu=admintools','','InitAccountancy','accountancy',1,'','','$leftmenu==\"admintools\" && $conf->accounting->enabled',2,'2016-07-30 11:13:00'),(140284,'auguria',1,'','left','home',139885,NULL,NULL,4,'/user/home.php?leftmenu=users','','MenuUsersAndGroups','users',0,'users','','1',2,'2016-07-30 11:13:00'),(140285,'auguria',1,'','left','home',140284,NULL,NULL,0,'/user/index.php?leftmenu=users','','Users','users',1,'','$user->rights->user->user->lire || $user->admin','$leftmenu==\"users\"',2,'2016-07-30 11:13:00'),(140286,'auguria',1,'','left','home',140285,NULL,NULL,0,'/user/card.php?leftmenu=users&action=create','','NewUser','users',2,'','$user->rights->user->user->creer || $user->admin','$leftmenu==\"users\"',2,'2016-07-30 11:13:00'),(140287,'auguria',1,'','left','home',140284,NULL,NULL,1,'/user/group/index.php?leftmenu=users','','Groups','users',1,'','($conf->global->MAIN_USE_ADVANCED_PERMS?$user->rights->user->group_advance->read:$user->rights->user->user->lire) || $user->admin','$leftmenu==\"users\"',2,'2016-07-30 11:13:00'),(140288,'auguria',1,'','left','home',140287,NULL,NULL,0,'/user/group/card.php?leftmenu=users&action=create','','NewGroup','users',2,'','($conf->global->MAIN_USE_ADVANCED_PERMS?$user->rights->user->group_advance->write:$user->rights->user->user->creer) || $user->admin','$leftmenu==\"users\"',2,'2016-07-30 11:13:00'),(140384,'auguria',1,'','left','companies',139886,NULL,NULL,0,'/societe/index.php?leftmenu=thirdparties','','ThirdParty','companies',0,'thirdparties','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140385,'auguria',1,'','left','companies',140384,NULL,NULL,0,'/societe/soc.php?action=create','','MenuNewThirdParty','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140386,'auguria',1,'','left','companies',140384,NULL,NULL,0,'/societe/list.php?action=create','','List','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140387,'auguria',1,'','left','companies',140384,NULL,NULL,5,'/societe/list.php?type=f&leftmenu=suppliers','','ListSuppliersShort','suppliers',1,'','$user->rights->societe->lire && $user->rights->fournisseur->lire','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2016-07-30 11:13:00'),(140388,'auguria',1,'','left','companies',140387,NULL,NULL,0,'/societe/soc.php?leftmenu=supplier&action=create&type=f','','NewSupplier','suppliers',2,'','$user->rights->societe->creer','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2016-07-30 11:13:00'),(140390,'auguria',1,'','left','companies',140384,NULL,NULL,3,'/societe/list.php?type=p&leftmenu=prospects','','ListProspectsShort','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140391,'auguria',1,'','left','companies',140390,NULL,NULL,0,'/societe/soc.php?leftmenu=prospects&action=create&type=p','','MenuNewProspect','companies',2,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140393,'auguria',1,'','left','companies',140384,NULL,NULL,4,'/societe/list.php?type=c&leftmenu=customers','','ListCustomersShort','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140394,'auguria',1,'','left','companies',140393,NULL,NULL,0,'/societe/soc.php?leftmenu=customers&action=create&type=c','','MenuNewCustomer','companies',2,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140484,'auguria',1,'','left','companies',139886,NULL,NULL,1,'/contact/list.php?leftmenu=contacts','','ContactsAddresses','companies',0,'contacts','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140485,'auguria',1,'','left','companies',140484,NULL,NULL,0,'/contact/card.php?leftmenu=contacts&action=create','','NewContactAddress','companies',1,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140486,'auguria',1,'','left','companies',140484,NULL,NULL,1,'/contact/list.php?leftmenu=contacts','','List','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140488,'auguria',1,'','left','companies',140486,NULL,NULL,1,'/contact/list.php?leftmenu=contacts&type=p','','ThirdPartyProspects','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140489,'auguria',1,'','left','companies',140486,NULL,NULL,2,'/contact/list.php?leftmenu=contacts&type=c','','ThirdPartyCustomers','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140490,'auguria',1,'','left','companies',140486,NULL,NULL,3,'/contact/list.php?leftmenu=contacts&type=f','','ThirdPartySuppliers','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2016-07-30 11:13:00'),(140491,'auguria',1,'','left','companies',140486,NULL,NULL,4,'/contact/list.php?leftmenu=contacts&type=o','','Others','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140534,'auguria',1,'','left','companies',139886,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=1','','SuppliersCategoriesShort','categories',0,'cat','$user->rights->categorie->lire','$conf->societe->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140535,'auguria',1,'','left','companies',140534,NULL,NULL,0,'/categories/card.php?action=create&type=1','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->societe->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140544,'auguria',1,'','left','companies',139886,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=2','','CustomersProspectsCategoriesShort','categories',0,'cat','$user->rights->categorie->lire','$conf->fournisseur->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140545,'auguria',1,'','left','companies',140544,NULL,NULL,0,'/categories/card.php?action=create&type=2','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->fournisseur->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140554,'auguria',1,'','left','companies',139886,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=4','','ContactCategoriesShort','categories',0,'cat','$user->rights->categorie->lire','$conf->societe->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140555,'auguria',1,'','left','companies',140554,NULL,NULL,0,'/categories/card.php?action=create&type=4','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->societe->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140984,'auguria',1,'','left','commercial',139889,NULL,NULL,4,'/comm/propal/index.php?leftmenu=propals','','Prop','propal',0,'propals','$user->rights->propale->lire','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(140985,'auguria',1,'','left','commercial',140984,NULL,NULL,0,'/comm/propal/card.php?action=create&leftmenu=propals','','NewPropal','propal',1,'','$user->rights->propale->creer','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(140986,'auguria',1,'','left','commercial',140984,NULL,NULL,1,'/comm/propal/list.php?leftmenu=propals','','List','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(140987,'auguria',1,'','left','commercial',140986,NULL,NULL,2,'/comm/propal/list.php?leftmenu=propals&viewstatut=0','','PropalsDraft','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2016-07-30 11:13:00'),(140988,'auguria',1,'','left','commercial',140986,NULL,NULL,3,'/comm/propal/list.php?leftmenu=propals&viewstatut=1','','PropalsOpened','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2016-07-30 11:13:00'),(140989,'auguria',1,'','left','commercial',140986,NULL,NULL,4,'/comm/propal/list.php?leftmenu=propals&viewstatut=2','','PropalStatusSigned','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2016-07-30 11:13:00'),(140990,'auguria',1,'','left','commercial',140986,NULL,NULL,5,'/comm/propal/list.php?leftmenu=propals&viewstatut=3','','PropalStatusNotSigned','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2016-07-30 11:13:00'),(140991,'auguria',1,'','left','commercial',140986,NULL,NULL,6,'/comm/propal/list.php?leftmenu=propals&viewstatut=4','','PropalStatusBilled','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2016-07-30 11:13:00'),(140994,'auguria',1,'','left','commercial',140984,NULL,NULL,4,'/comm/propal/stats/index.php?leftmenu=propals','','Statistics','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(141084,'auguria',1,'','left','commercial',139889,NULL,NULL,5,'/commande/index.php?leftmenu=orders','','CustomersOrders','orders',0,'orders','$user->rights->commande->lire','$conf->commande->enabled',2,'2016-07-30 11:13:00'),(141085,'auguria',1,'','left','commercial',141084,NULL,NULL,0,'/commande/card.php?action=create&leftmenu=orders','','NewOrder','orders',1,'','$user->rights->commande->creer','$conf->commande->enabled',2,'2016-07-30 11:13:00'),(141086,'auguria',1,'','left','commercial',141084,NULL,NULL,1,'/commande/list.php?leftmenu=orders','','List','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled',2,'2016-07-30 11:13:00'),(141087,'auguria',1,'','left','commercial',141086,NULL,NULL,2,'/commande/list.php?leftmenu=orders&viewstatut=0','','StatusOrderDraftShort','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141088,'auguria',1,'','left','commercial',141086,NULL,NULL,3,'/commande/list.php?leftmenu=orders&viewstatut=1','','StatusOrderValidated','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141089,'auguria',1,'','left','commercial',141086,NULL,NULL,4,'/commande/list.php?leftmenu=orders&viewstatut=2','','StatusOrderOnProcessShort','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141090,'auguria',1,'','left','commercial',141086,NULL,NULL,5,'/commande/list.php?leftmenu=orders&viewstatut=3','','StatusOrderToBill','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141091,'auguria',1,'','left','commercial',141086,NULL,NULL,6,'/commande/list.php?leftmenu=orders&viewstatut=4','','StatusOrderProcessed','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141092,'auguria',1,'','left','commercial',141086,NULL,NULL,7,'/commande/list.php?leftmenu=orders&viewstatut=-1','','StatusOrderCanceledShort','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141093,'auguria',1,'','left','commercial',141084,NULL,NULL,4,'/commande/stats/index.php?leftmenu=orders','','Statistics','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled',2,'2016-07-30 11:13:00'),(141184,'auguria',1,'','left','commercial',139887,NULL,NULL,6,'/expedition/index.php?leftmenu=sendings','','Shipments','sendings',0,'sendings','$user->rights->expedition->lire','$conf->expedition->enabled',2,'2016-07-30 11:13:00'),(141185,'auguria',1,'','left','commercial',141184,NULL,NULL,0,'/expedition/card.php?action=create2&leftmenu=sendings','','NewSending','sendings',1,'','$user->rights->expedition->creer','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2016-07-30 11:13:00'),(141186,'auguria',1,'','left','commercial',141184,NULL,NULL,1,'/expedition/list.php?leftmenu=sendings','','List','sendings',1,'','$user->rights->expedition->lire','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2016-07-30 11:13:00'),(141187,'auguria',1,'','left','commercial',141184,NULL,NULL,2,'/expedition/stats/index.php?leftmenu=sendings','','Statistics','sendings',1,'','$user->rights->expedition->lire','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2016-07-30 11:13:00'),(141284,'auguria',1,'','left','commercial',139889,NULL,NULL,7,'/contrat/index.php?leftmenu=contracts','','Contracts','contracts',0,'contracts','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2016-07-30 11:13:00'),(141285,'auguria',1,'','left','commercial',141284,NULL,NULL,0,'/contrat/card.php?&action=create&leftmenu=contracts','','NewContract','contracts',1,'','$user->rights->contrat->creer','$conf->contrat->enabled',2,'2016-07-30 11:13:00'),(141286,'auguria',1,'','left','commercial',141284,NULL,NULL,1,'/contrat/list.php?leftmenu=contracts','','List','contracts',1,'','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2016-07-30 11:13:00'),(141287,'auguria',1,'','left','commercial',141284,NULL,NULL,2,'/contrat/services.php?leftmenu=contracts','','MenuServices','contracts',1,'','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2016-07-30 11:13:00'),(141288,'auguria',1,'','left','commercial',141287,NULL,NULL,0,'/contrat/services.php?leftmenu=contracts&mode=0','','MenuInactiveServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2016-07-30 11:13:00'),(141289,'auguria',1,'','left','commercial',141287,NULL,NULL,1,'/contrat/services.php?leftmenu=contracts&mode=4','','MenuRunningServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2016-07-30 11:13:00'),(141290,'auguria',1,'','left','commercial',141287,NULL,NULL,2,'/contrat/services.php?leftmenu=contracts&mode=4&filter=expired','','MenuExpiredServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2016-07-30 11:13:00'),(141291,'auguria',1,'','left','commercial',141287,NULL,NULL,3,'/contrat/services.php?leftmenu=contracts&mode=5','','MenuClosedServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2016-07-30 11:13:00'),(141384,'auguria',1,'','left','commercial',139889,NULL,NULL,8,'/fichinter/list.php?leftmenu=ficheinter','','Interventions','interventions',0,'ficheinter','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2016-07-30 11:13:00'),(141385,'auguria',1,'','left','commercial',141384,NULL,NULL,0,'/fichinter/card.php?action=create&leftmenu=ficheinter','','NewIntervention','interventions',1,'','$user->rights->ficheinter->creer','$conf->ficheinter->enabled',2,'2016-07-30 11:13:00'),(141386,'auguria',1,'','left','commercial',141384,NULL,NULL,1,'/fichinter/list.php?leftmenu=ficheinter','','List','interventions',1,'','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2016-07-30 11:13:00'),(141387,'auguria',1,'','left','commercial',141384,NULL,NULL,2,'/fichinter/stats/index.php?leftmenu=ficheinter','','Statistics','interventions',1,'','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2016-07-30 11:13:00'),(141484,'auguria',1,'','left','accountancy',139890,NULL,NULL,3,'/fourn/facture/list.php?leftmenu=suppliers_bills','','BillsSuppliers','bills',0,'supplier_bills','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2016-07-30 11:13:00'),(141485,'auguria',1,'','left','accountancy',141484,NULL,NULL,0,'/fourn/facture/card.php?action=create&leftmenu=suppliers_bills','','NewBill','bills',1,'','$user->rights->fournisseur->facture->creer','$conf->supplier_invoice->enabled',2,'2016-07-30 11:13:00'),(141486,'auguria',1,'','left','accountancy',141484,NULL,NULL,1,'/fourn/facture/impayees.php?leftmenu=suppliers_bills','','Unpaid','bills',1,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2016-07-30 11:13:00'),(141487,'auguria',1,'','left','accountancy',141484,NULL,NULL,2,'/fourn/facture/paiement.php?leftmenu=suppliers_bills','','Payments','bills',1,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2016-07-30 11:13:00'),(141488,'auguria',1,'','left','accountancy',141484,NULL,NULL,8,'/compta/facture/stats/index.php?leftmenu=customers_bills&mode=supplier','','Statistics','bills',1,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2016-07-30 11:13:00'),(141584,'auguria',1,'','left','accountancy',139890,NULL,NULL,3,'/compta/facture/list.php?leftmenu=customers_bills','','BillsCustomers','bills',0,'customer_bills','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141585,'auguria',1,'','left','accountancy',141584,NULL,NULL,3,'/compta/facture.php?action=create&leftmenu=customers_bills','','NewBill','bills',1,'','$user->rights->facture->creer','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141586,'auguria',1,'','left','accountancy',141584,NULL,NULL,5,'/compta/facture/fiche-rec.php?leftmenu=customers_bills','','ListOfTemplates','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141588,'auguria',1,'','left','accountancy',141584,NULL,NULL,6,'/compta/paiement/list.php?leftmenu=customers_bills','','Payments','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141589,'auguria',1,'','left','accountancy',141584,NULL,NULL,4,'/compta/facture/list.php?leftmenu=customers_bills','','List','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141594,'auguria',1,'','left','accountancy',141588,NULL,NULL,1,'/compta/paiement/rapport.php?leftmenu=customers_bills','','Reportings','bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141595,'auguria',1,'','left','accountancy',139898,NULL,NULL,9,'/compta/paiement/cheque/index.php?leftmenu=checks&mainmenu=bank','','MenuChequeDeposits','bills',0,'checks','$user->rights->banque->lire','empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && ! empty($conf->banque->enabled) && (! empty($conf->facture->enabled) || ! empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))',2,'2016-07-30 11:13:00'),(141596,'auguria',1,'','left','accountancy',141595,NULL,NULL,0,'/compta/paiement/cheque/card.php?leftmenu=checks&action=new','','NewCheckDeposit','compta',1,'','$user->rights->banque->lire','empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && ! empty($conf->banque->enabled) && (! empty($conf->facture->enabled) || ! empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))',2,'2016-07-30 11:13:00'),(141597,'auguria',1,'','left','accountancy',141595,NULL,NULL,1,'/compta/paiement/cheque/list.php?leftmenu=checks','','List','bills',1,'','$user->rights->banque->lire','empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && ! empty($conf->banque->enabled) && (! empty($conf->facture->enabled) || ! empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))',2,'2016-07-30 11:13:00'),(141598,'auguria',1,'','left','accountancy',141584,NULL,NULL,8,'/compta/facture/stats/index.php?leftmenu=customers_bills','','Statistics','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141604,'auguria',1,'','left','accountancy',141589,NULL,NULL,1,'/compta/facture/list.php?leftmenu=customers_bills&search_status=0','','BillShortStatusDraft','bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141605,'auguria',1,'','left','accountancy',141589,NULL,NULL,2,'/compta/facture/list.php?leftmenu=customers_bills&search_status=1','','BillShortStatusNotPaid','bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141606,'auguria',1,'','left','accountancy',141589,NULL,NULL,3,'/compta/facture/list.php?leftmenu=customers_bills&search_status=2','','BillShortStatusPaid','bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141607,'auguria',1,'','left','accountancy',141589,NULL,NULL,4,'/compta/facture/list.php?leftmenu=customers_bills&search_status=3','','BillShortStatusCanceled','bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141784,'auguria',1,'','left','accountancy',139890,NULL,NULL,3,'/commande/list.php?leftmenu=orders&viewstatut=3','','MenuOrdersToBill','orders',0,'orders','$user->rights->commande->lire','$conf->commande->enabled',0,'2016-07-30 11:13:00'),(141884,'auguria',1,'','left','accountancy',139890,NULL,NULL,4,'/don/index.php?leftmenu=donations&mainmenu=accountancy','','Donations','donations',0,'donations','$user->rights->don->lire','$conf->don->enabled',2,'2016-07-30 11:13:00'),(141885,'auguria',1,'','left','accountancy',141884,NULL,NULL,0,'/don/card.php?leftmenu=donations&mainmenu=accountancy&action=create','','NewDonation','donations',1,'','$user->rights->don->creer','$conf->don->enabled && $leftmenu==\"donations\"',2,'2016-07-30 11:13:00'),(141886,'auguria',1,'','left','accountancy',141884,NULL,NULL,1,'/don/list.php?leftmenu=donations&mainmenu=accountancy','','List','donations',1,'','$user->rights->don->lire','$conf->don->enabled && $leftmenu==\"donations\"',2,'2016-07-30 11:13:00'),(141984,'auguria',1,'','left','accountancy',139899,NULL,NULL,5,'/compta/deplacement/index.php?leftmenu=tripsandexpenses','','TripsAndExpenses','trips',0,'tripsandexpenses','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2016-07-30 11:13:00'),(141985,'auguria',1,'','left','accountancy',141984,NULL,NULL,1,'/compta/deplacement/card.php?action=create&leftmenu=tripsandexpenses','','New','trips',1,'','$user->rights->deplacement->creer','$conf->deplacement->enabled',0,'2016-07-30 11:13:00'),(141986,'auguria',1,'','left','accountancy',141984,NULL,NULL,2,'/compta/deplacement/list.php?leftmenu=tripsandexpenses','','List','trips',1,'','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2016-07-30 11:13:00'),(141987,'auguria',1,'','left','accountancy',141984,NULL,NULL,2,'/compta/deplacement/stats/index.php?leftmenu=tripsandexpenses','','Statistics','trips',1,'','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2016-07-30 11:13:00'),(142084,'auguria',1,'','left','accountancy',139890,NULL,NULL,6,'/compta/charges/index.php?leftmenu=tax&mainmenu=accountancy','','MenuSpecialExpenses','compta',0,'tax','(! empty($conf->tax->enabled) && $user->rights->tax->charges->lire) || (! empty($conf->salaries->enabled) && $user->rights->salaries->read)','$conf->tax->enabled || $conf->salaries->enabled',0,'2016-07-30 11:13:00'),(142094,'auguria',1,'','left','accountancy',142084,NULL,NULL,1,'/compta/salaries/index.php?leftmenu=tax_salary&mainmenu=accountancy','','Salaries','salaries',1,'tax_sal','$user->rights->salaries->read','$conf->salaries->enabled',0,'2016-07-30 11:13:00'),(142095,'auguria',1,'','left','accountancy',142094,NULL,NULL,2,'/compta/salaries/card.php?leftmenu=tax_salary&action=create','','NewPayment','companies',2,'','$user->rights->salaries->write','$conf->salaries->enabled && $leftmenu==\"tax_salary\"',0,'2016-07-30 11:13:00'),(142096,'auguria',1,'','left','accountancy',142094,NULL,NULL,3,'/compta/salaries/index.php?leftmenu=tax_salary','','Payments','companies',2,'','$user->rights->salaries->read','$conf->salaries->enabled && $leftmenu==\"tax_salary\"',0,'2016-07-30 11:13:00'),(142104,'auguria',1,'','left','accountancy',142084,NULL,NULL,1,'/loan/index.php?leftmenu=tax_loan&mainmenu=accountancy','','Loans','loan',1,'tax_loan','$user->rights->loan->read','$conf->loan->enabled',0,'2016-07-30 11:13:00'),(142105,'auguria',1,'','left','accountancy',142104,NULL,NULL,2,'/loan/card.php?leftmenu=tax_loan&action=create','','NewLoan','loan',2,'','$user->rights->loan->write','$conf->loan->enabled && $leftmenu==\"tax_loan\"',0,'2016-07-30 11:13:00'),(142107,'auguria',1,'','left','accountancy',142104,NULL,NULL,4,'/loan/calc.php?leftmenu=tax_loan','','Calculator','companies',2,'','$user->rights->loan->calc','$conf->loan->enabled && $leftmenu==\"tax_loan\" && ! empty($conf->global->LOAN_SHOW_CALCULATOR)',0,'2016-07-30 11:13:00'),(142134,'auguria',1,'','left','accountancy',142084,NULL,NULL,1,'/compta/sociales/index.php?leftmenu=tax_social','','SocialContributions','',1,'tax_social','$user->rights->tax->charges->lire','$conf->tax->enabled',0,'2016-07-30 11:13:00'),(142135,'auguria',1,'','left','accountancy',142134,NULL,NULL,2,'/compta/sociales/charges.php?leftmenu=tax_social&action=create','','MenuNewSocialContribution','',2,'','$user->rights->tax->charges->creer','$conf->tax->enabled && $leftmenu==\"tax_social\"',0,'2016-07-30 11:13:00'),(142136,'auguria',1,'','left','accountancy',142134,NULL,NULL,3,'/compta/charges/index.php?leftmenu=tax_social&mainmenu=accountancy&mode=sconly','','Payments','',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && $leftmenu==\"tax_social\"',0,'2016-07-30 11:13:00'),(142184,'auguria',1,'','left','accountancy',142084,NULL,NULL,7,'/compta/tva/index.php?leftmenu=tax_vat&mainmenu=accountancy','','VAT','companies',1,'tax_vat','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS)',0,'2016-07-30 11:13:00'),(142185,'auguria',1,'','left','accountancy',142184,NULL,NULL,0,'/compta/tva/card.php?leftmenu=tax_vat&action=create','','New','companies',2,'','$user->rights->tax->charges->creer','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2016-07-30 11:13:00'),(142186,'auguria',1,'','left','accountancy',142184,NULL,NULL,1,'/compta/tva/reglement.php?leftmenu=tax_vat','','List','companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2016-07-30 11:13:00'),(142187,'auguria',1,'','left','accountancy',142184,NULL,NULL,2,'/compta/tva/clients.php?leftmenu=tax_vat','','ReportByCustomers','companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2016-07-30 11:13:00'),(142188,'auguria',1,'','left','accountancy',142184,NULL,NULL,3,'/compta/tva/quadri_detail.php?leftmenu=tax_vat','','ReportByQuarter','companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2016-07-30 11:13:00'),(142284,'auguria',1,'','left','accountancy',139890,NULL,NULL,7,'/accountancy/customer/index.php?leftmenu=accounting','','MenuAccountancy','accountancy',0,'accounting','! empty($conf->accounting->enabled) || $user->rights->accounting->ventilation->read || $user->rights->accounting->ventilation->dispatch || $user->rights->compta->resultat->lire','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142285,'auguria',1,'','left','accountancy',142284,NULL,NULL,1,'/accountancy/customer/index.php?leftmenu=dispatch_customer','','CustomersVentilation','accountancy',1,'dispatch_customer','$user->rights->accounting->ventilation->read','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142286,'auguria',1,'','left','accountancy',142285,NULL,NULL,2,'/accountancy/customer/list.php','','ToDispatch','accountancy',2,'','$user->rights->accounting->ventilation->dispatch','$conf->accounting->enabled && $leftmenu==\"dispatch_customer\"',0,'2016-07-30 11:13:00'),(142287,'auguria',1,'','left','accountancy',142285,NULL,NULL,3,'/accountancy/customer/lines.php','','Dispatched','accountancy',2,'','$user->rights->accounting->ventilation->read','$conf->accounting->enabled && $leftmenu==\"dispatch_customer\"',0,'2016-07-30 11:13:00'),(142294,'auguria',1,'','left','accountancy',142284,NULL,NULL,4,'/accountancy/supplier/index.php?leftmenu=dispatch_supplier','','SuppliersVentilation','accountancy',1,'ventil_supplier','$user->rights->accounting->ventilation->read','$conf->accounting->enabled && $conf->fournisseur->enabled',0,'2016-07-30 11:13:00'),(142295,'auguria',1,'','left','accountancy',142294,NULL,NULL,5,'/accountancy/supplier/list.php','','ToDispatch','accountancy',2,'','$user->rights->accounting->ventilation->dispatch','$conf->accounting->enabled && $conf->fournisseur->enabled && $leftmenu==\"dispatch_supplier\"',0,'2016-07-30 11:13:00'),(142296,'auguria',1,'','left','accountancy',142294,NULL,NULL,6,'/accountancy/supplier/lines.php','','Dispatched','accountancy',2,'','$user->rights->accounting->ventilation->read','$conf->accounting->enabled && $conf->fournisseur->enabled && $leftmenu==\"dispatch_supplier\"',0,'2016-07-30 11:13:00'),(142314,'auguria',1,'','left','accountancy',142284,NULL,NULL,15,'/accountancy/bookkeeping/list.php','','Bookkeeping','accountancy',1,'bookkeeping','$user->rights->accounting->mouvements->lire','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142319,'auguria',1,'','left','accountancy',142284,NULL,NULL,16,'/accountancy/bookkeeping/balance.php','','AccountBalance','accountancy',1,'balance','$user->rights->accounting->mouvements->lire','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142324,'auguria',1,'','left','accountancy',142284,NULL,NULL,17,'/accountancy/report/result.php?leftmenu=ca&mainmenu=accountancy','','Reportings','main',1,'report','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142325,'auguria',1,'','left','accountancy',142324,NULL,NULL,18,'/accountancy/report/result.php?leftmenu=ca','','ReportInOut','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142326,'auguria',1,'','left','accountancy',142324,NULL,NULL,19,'/compta/resultat/index.php?leftmenu=ca','','ByExpenseIncome','main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142327,'auguria',1,'','left','accountancy',142324,NULL,NULL,20,'/compta/resultat/clientfourn.php?leftmenu=ca','','ByCompanies','main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142328,'auguria',1,'','left','accountancy',142324,NULL,NULL,21,'/compta/stats/index.php?leftmenu=ca','','ReportTurnover','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142329,'auguria',1,'','left','accountancy',142324,NULL,NULL,22,'/compta/stats/casoc.php?leftmenu=ca','','ByCompanies','main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142330,'auguria',1,'','left','accountancy',142324,NULL,NULL,23,'/compta/stats/cabyuser.php?leftmenu=ca','','ByUsers','main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142331,'auguria',1,'','left','accountancy',142324,NULL,NULL,24,'/compta/stats/cabyprodserv.php?leftmenu=ca','','ByProductsAndServices','main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142335,'auguria',1,'','left','home',142284,NULL,NULL,25,'/accountancy/admin/account.php?mainmenu=accountancy','','Chartofaccounts','admin',1,'','$user->rights->accounting->chartofaccount','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142384,'auguria',1,'','left','accountancy',139898,NULL,NULL,9,'/compta/prelevement/index.php?leftmenu=withdraw&mainmenu=bank','','StandingOrders','withdrawals',0,'withdraw','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled',2,'2016-07-30 11:13:00'),(142386,'auguria',1,'','left','accountancy',142384,NULL,NULL,0,'/compta/prelevement/create.php?leftmenu=withdraw','','NewStandingOrder','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2016-07-30 11:13:00'),(142387,'auguria',1,'','left','accountancy',142384,NULL,NULL,2,'/compta/prelevement/bons.php?leftmenu=withdraw','','WithdrawalsReceipts','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2016-07-30 11:13:00'),(142388,'auguria',1,'','left','accountancy',142384,NULL,NULL,3,'/compta/prelevement/list.php?leftmenu=withdraw','','WithdrawalsLines','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2016-07-30 11:13:00'),(142390,'auguria',1,'','left','accountancy',142384,NULL,NULL,5,'/compta/prelevement/rejets.php?leftmenu=withdraw','','Rejects','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2016-07-30 11:13:00'),(142391,'auguria',1,'','left','accountancy',142384,NULL,NULL,6,'/compta/prelevement/stats.php?leftmenu=withdraw','','Statistics','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2016-07-30 11:13:00'),(142484,'auguria',1,'','left','accountancy',139898,NULL,NULL,1,'/compta/bank/index.php?leftmenu=bank&mainmenu=bank','','MenuBankCash','banks',0,'bank','$user->rights->banque->lire','$conf->banque->enabled',0,'2016-07-30 11:13:00'),(142485,'auguria',1,'','left','accountancy',142484,NULL,NULL,0,'/compta/bank/card.php?action=create&leftmenu=bank','','MenuNewFinancialAccount','banks',1,'','$user->rights->banque->configurer','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2016-07-30 11:13:00'),(142487,'auguria',1,'','left','accountancy',142484,NULL,NULL,2,'/compta/bank/search.php?leftmenu=bank','','ListTransactions','banks',1,'','$user->rights->banque->lire','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2016-07-30 11:13:00'),(142488,'auguria',1,'','left','accountancy',142484,NULL,NULL,3,'/compta/bank/budget.php?leftmenu=bank','','ListTransactionsByCategory','banks',1,'','$user->rights->banque->lire','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2016-07-30 11:13:00'),(142490,'auguria',1,'','left','accountancy',142484,NULL,NULL,5,'/compta/bank/virement.php?leftmenu=bank','','BankTransfers','banks',1,'','$user->rights->banque->transfer','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2016-07-30 11:13:00'),(142534,'auguria',1,'','left','accountancy',139898,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=5','','Categories','categories',0,'cat','$user->rights->categorie->lire','$conf->categorie->enabled',2,'2016-07-30 11:13:00'),(142535,'auguria',1,'','left','accountancy',142534,NULL,NULL,0,'/categories/card.php?action=create&type=5','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->categorie->enabled',2,'2016-07-30 11:13:00'),(142584,'auguria',1,'','left','accountancy',139890,NULL,NULL,11,'/compta/resultat/index.php?leftmenu=ca&mainmenu=accountancy','','Reportings','main',0,'ca','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled',0,'2016-07-30 11:13:00'),(142585,'auguria',1,'','left','accountancy',142584,NULL,NULL,0,'/compta/resultat/index.php?leftmenu=ca','','ReportInOut','main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142586,'auguria',1,'','left','accountancy',142585,NULL,NULL,0,'/compta/resultat/clientfourn.php?leftmenu=ca','','ByCompanies','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142587,'auguria',1,'','left','accountancy',142584,NULL,NULL,1,'/compta/stats/index.php?leftmenu=ca','','ReportTurnover','main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142588,'auguria',1,'','left','accountancy',142587,NULL,NULL,0,'/compta/stats/casoc.php?leftmenu=ca','','ByCompanies','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142589,'auguria',1,'','left','accountancy',142587,NULL,NULL,1,'/compta/stats/cabyuser.php?leftmenu=ca','','ByUsers','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142590,'auguria',1,'','left','accountancy',142584,NULL,NULL,1,'/compta/journal/sellsjournal.php?leftmenu=ca','','SellsJournal','main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142591,'auguria',1,'','left','accountancy',142584,NULL,NULL,1,'/compta/journal/purchasesjournal.php?leftmenu=ca','','PurchasesJournal','main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142592,'auguria',1,'','left','accountancy',142587,NULL,NULL,1,'/compta/stats/cabyprodserv.php?leftmenu=ca','','ByProductsAndServices','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142684,'auguria',1,'','left','products',139887,NULL,NULL,0,'/product/index.php?leftmenu=product&type=0','','Products','products',0,'product','$user->rights->produit->lire','$conf->product->enabled',2,'2016-07-30 11:13:00'),(142685,'auguria',1,'','left','products',142684,NULL,NULL,0,'/product/card.php?leftmenu=product&action=create&type=0','','NewProduct','products',1,'','$user->rights->produit->creer','$conf->product->enabled',2,'2016-07-30 11:13:00'),(142686,'auguria',1,'','left','products',142684,NULL,NULL,1,'/product/list.php?leftmenu=product&type=0','','List','products',1,'','$user->rights->produit->lire','$conf->product->enabled',2,'2016-07-30 11:13:00'),(142687,'auguria',1,'','left','products',142684,NULL,NULL,4,'/product/reassort.php?type=0','','Stocks','products',1,'','$user->rights->produit->lire && $user->rights->stock->lire','$conf->product->enabled',2,'2016-07-30 11:13:00'),(142688,'auguria',1,'','left','products',142684,NULL,NULL,6,'/product/stats/card.php?id=all&leftmenu=stats&type=0','','Statistics','main',1,'','$user->rights->produit->lire','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(142689,'auguria',1,'','left','products',142684,NULL,NULL,5,'/product/reassortlot.php?type=0','','StocksByLotSerial','products',1,'','$user->rights->produit->lire && $user->rights->stock->lire','$conf->productbatch->enabled',2,'2016-07-30 11:13:00'),(142784,'auguria',1,'','left','products',139887,NULL,NULL,1,'/product/index.php?leftmenu=service&type=1','','Services','products',0,'service','$user->rights->service->lire','$conf->service->enabled',2,'2016-07-30 11:13:00'),(142785,'auguria',1,'','left','products',142784,NULL,NULL,0,'/product/card.php?leftmenu=service&action=create&type=1','','NewService','products',1,'','$user->rights->service->creer','$conf->service->enabled',2,'2016-07-30 11:13:00'),(142786,'auguria',1,'','left','products',142784,NULL,NULL,1,'/product/list.php?leftmenu=service&type=1','','List','products',1,'','$user->rights->service->lire','$conf->service->enabled',2,'2016-07-30 11:13:00'),(142787,'auguria',1,'','left','products',142784,NULL,NULL,5,'/product/stats/card.php?id=all&leftmenu=stats&type=1','','Statistics','main',1,'','$user->rights->service->lire','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(142984,'auguria',1,'','left','products',139887,NULL,NULL,3,'/product/stock/index.php?leftmenu=stock','','Stock','stocks',0,'stock','$user->rights->stock->lire','$conf->stock->enabled',2,'2016-07-30 11:13:00'),(142985,'auguria',1,'','left','products',142984,NULL,NULL,0,'/product/stock/card.php?action=create','','MenuNewWarehouse','stocks',1,'','$user->rights->stock->creer','$conf->stock->enabled',2,'2016-07-30 11:13:00'),(142986,'auguria',1,'','left','products',142984,NULL,NULL,1,'/product/stock/list.php','','List','stocks',1,'','$user->rights->stock->lire','$conf->stock->enabled',2,'2016-07-30 11:13:00'),(142988,'auguria',1,'','left','products',142984,NULL,NULL,3,'/product/stock/mouvement.php','','Movements','stocks',1,'','$user->rights->stock->mouvement->lire','$conf->stock->enabled',2,'2016-07-30 11:13:00'),(142989,'auguria',1,'','left','products',142984,NULL,NULL,4,'/product/stock/replenish.php','','Replenishments','stocks',1,'','$user->rights->stock->mouvement->creer && $user->rights->fournisseur->lire','$conf->stock->enabled && $conf->supplier_order->enabled',2,'2016-07-30 11:13:00'),(142990,'auguria',1,'','left','products',142984,NULL,NULL,5,'/product/stock/massstockmove.php','','MassStockTransferShort','stocks',1,'','$user->rights->stock->mouvement->creer','$conf->stock->enabled',2,'2016-07-30 11:13:00'),(143084,'auguria',1,'','left','products',139887,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=0','','Categories','categories',0,'cat','$user->rights->categorie->lire','$conf->categorie->enabled',2,'2016-07-30 11:13:00'),(143085,'auguria',1,'','left','products',143084,NULL,NULL,0,'/categories/card.php?action=create&type=0','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->categorie->enabled',2,'2016-07-30 11:13:00'),(143484,'auguria',1,'','left','project',139891,NULL,NULL,0,'/projet/index.php?leftmenu=projects','','Projects','projects',0,'projects','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143485,'auguria',1,'','left','project',143484,NULL,NULL,1,'/projet/card.php?leftmenu=projects&action=create','','NewProject','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143486,'auguria',1,'','left','project',143484,NULL,NULL,2,'/projet/list.php?leftmenu=projects','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143494,'auguria',1,'','left','project',139891,NULL,NULL,0,'/projet/index.php?leftmenu=projects&mode=mine','','MyProjects','projects',0,'myprojects','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143495,'auguria',1,'','left','project',143494,NULL,NULL,1,'/projet/card.php?leftmenu=projects&action=create&mode=mine','','NewProject','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143496,'auguria',1,'','left','project',143494,NULL,NULL,2,'/projet/list.php?leftmenu=projects&mode=mine','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143584,'auguria',1,'','left','project',139891,NULL,NULL,0,'/projet/activity/index.php?leftmenu=projects','','Activities','projects',0,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143585,'auguria',1,'','left','project',143584,NULL,NULL,1,'/projet/tasks.php?leftmenu=projects&action=create','','NewTask','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143586,'auguria',1,'','left','project',143584,NULL,NULL,2,'/projet/tasks/list.php?leftmenu=projects','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143587,'auguria',1,'','left','project',143584,NULL,NULL,3,'/projet/activity/perweek.php?leftmenu=projects','','NewTimeSpent','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143684,'auguria',1,'','left','project',139891,NULL,NULL,0,'/projet/activity/index.php?leftmenu=projects&mode=mine','','MyActivities','projects',0,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143685,'auguria',1,'','left','project',143684,NULL,NULL,1,'/projet/tasks.php?leftmenu=projects&action=create','','NewTask','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143686,'auguria',1,'','left','project',143684,NULL,NULL,2,'/projet/tasks/list.php?leftmenu=projects&mode=mine','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143687,'auguria',1,'','left','project',143684,NULL,NULL,3,'/projet/activity/perweek.php?leftmenu=projects&mode=mine','','NewTimeSpent','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143784,'auguria',1,'','left','tools',139892,NULL,NULL,0,'/comm/mailing/index.php?leftmenu=mailing','','EMailings','mails',0,'mailing','$user->rights->mailing->lire','$conf->mailing->enabled',0,'2016-07-30 11:13:00'),(143785,'auguria',1,'','left','tools',143784,NULL,NULL,0,'/comm/mailing/card.php?leftmenu=mailing&action=create','','NewMailing','mails',1,'','$user->rights->mailing->creer','$conf->mailing->enabled',0,'2016-07-30 11:13:00'),(143786,'auguria',1,'','left','tools',143784,NULL,NULL,1,'/comm/mailing/list.php?leftmenu=mailing','','List','mails',1,'','$user->rights->mailing->lire','$conf->mailing->enabled',0,'2016-07-30 11:13:00'),(143984,'auguria',1,'','left','tools',139892,NULL,NULL,2,'/exports/index.php?leftmenu=export','','FormatedExport','exports',0,'export','$user->rights->export->lire','$conf->export->enabled',2,'2016-07-30 11:13:00'),(143985,'auguria',1,'','left','tools',143984,NULL,NULL,0,'/exports/export.php?leftmenu=export','','NewExport','exports',1,'','$user->rights->export->creer','$conf->export->enabled',2,'2016-07-30 11:13:00'),(144014,'auguria',1,'','left','tools',139892,NULL,NULL,2,'/imports/index.php?leftmenu=import','','FormatedImport','exports',0,'import','$user->rights->import->run','$conf->import->enabled',2,'2016-07-30 11:13:00'),(144015,'auguria',1,'','left','tools',144014,NULL,NULL,0,'/imports/import.php?leftmenu=import','','NewImport','exports',1,'','$user->rights->import->run','$conf->import->enabled',2,'2016-07-30 11:13:00'),(144084,'auguria',1,'','left','members',139897,NULL,NULL,0,'/adherents/index.php?leftmenu=members&mainmenu=members','','Members','members',0,'members','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144085,'auguria',1,'','left','members',144084,NULL,NULL,0,'/adherents/card.php?leftmenu=members&action=create','','NewMember','members',1,'','$user->rights->adherent->creer','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144086,'auguria',1,'','left','members',144084,NULL,NULL,1,'/adherents/list.php','','List','members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144087,'auguria',1,'','left','members',144086,NULL,NULL,2,'/adherents/list.php?leftmenu=members&statut=-1','','MenuMembersToValidate','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144088,'auguria',1,'','left','members',144086,NULL,NULL,3,'/adherents/list.php?leftmenu=members&statut=1','','MenuMembersValidated','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144089,'auguria',1,'','left','members',144086,NULL,NULL,4,'/adherents/list.php?leftmenu=members&statut=1&filter=outofdate','','MenuMembersNotUpToDate','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144090,'auguria',1,'','left','members',144086,NULL,NULL,5,'/adherents/list.php?leftmenu=members&statut=1&filter=uptodate','','MenuMembersUpToDate','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144091,'auguria',1,'','left','members',144086,NULL,NULL,6,'/adherents/list.php?leftmenu=members&statut=0','','MenuMembersResiliated','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144092,'auguria',1,'','left','members',144084,NULL,NULL,7,'/adherents/stats/geo.php?leftmenu=members&mode=memberbycountry','','MenuMembersStats','members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144184,'auguria',1,'','left','members',139897,NULL,NULL,1,'/adherents/index.php?leftmenu=members&mainmenu=members','','Subscriptions','compta',0,'','$user->rights->adherent->cotisation->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144185,'auguria',1,'','left','members',144184,NULL,NULL,0,'/adherents/list.php?statut=-1&leftmenu=accountancy&mainmenu=members','','NewSubscription','compta',1,'','$user->rights->adherent->cotisation->creer','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144186,'auguria',1,'','left','members',144184,NULL,NULL,1,'/adherents/cotisations.php?leftmenu=members','','List','compta',1,'','$user->rights->adherent->cotisation->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144187,'auguria',1,'','left','members',144184,NULL,NULL,7,'/adherents/stats/index.php?leftmenu=members','','MenuMembersStats','members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144384,'auguria',1,'','left','members',139897,NULL,NULL,3,'/adherents/index.php?leftmenu=export&mainmenu=members','','Exports','members',0,'export','$user->rights->adherent->export','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144385,'auguria',1,'','left','members',144384,NULL,NULL,0,'/exports/index.php?leftmenu=export','','Datas','members',1,'','$user->rights->adherent->export','$conf->adherent->enabled && $conf->export->enabled',2,'2016-07-30 11:13:00'),(144386,'auguria',1,'','left','members',144384,NULL,NULL,1,'/adherents/htpasswd.php?leftmenu=export','','Filehtpasswd','members',1,'','$user->rights->adherent->export','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144387,'auguria',1,'','left','members',144384,NULL,NULL,2,'/adherents/cartes/carte.php?leftmenu=export','','MembersCards','members',1,'','$user->rights->adherent->export','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144484,'auguria',1,'','left','hrm',139899,NULL,NULL,1,'/user/index.php?&leftmenu=hrm&mode=employee','','Employees','hrm',0,'hrm','$user->rights->hrm->employee->read','$conf->hrm->enabled',0,'2016-07-30 11:13:00'),(144485,'auguria',1,'','left','hrm',144484,NULL,NULL,1,'/user/card.php?&action=create','','NewEmployee','hrm',1,'','$user->rights->hrm->employee->write','$conf->hrm->enabled',0,'2016-07-30 11:13:00'),(144486,'auguria',1,'','left','hrm',144484,NULL,NULL,2,'/user/index.php?$leftmenu=hrm&mode=employee','','List','hrm',1,'','$user->rights->hrm->employee->read','$conf->hrm->enabled',0,'2016-07-30 11:13:00'),(144584,'auguria',1,'','left','members',139897,NULL,NULL,5,'/adherents/type.php?leftmenu=setup&mainmenu=members','','MembersTypes','members',0,'setup','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144585,'auguria',1,'','left','members',144584,NULL,NULL,0,'/adherents/type.php?leftmenu=setup&mainmenu=members&action=create','','New','members',1,'','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144586,'auguria',1,'','left','members',144584,NULL,NULL,1,'/adherents/type.php?leftmenu=setup&mainmenu=members','','List','members',1,'','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144884,'auguria',1,'','left','hrm',139899,NULL,NULL,1,'/holiday/list.php?&leftmenu=hrm','','CPTitreMenu','holiday',0,'hrm','$user->rights->holiday->read','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144885,'auguria',1,'','left','hrm',144884,NULL,NULL,1,'/holiday/card.php?&action=request','','MenuAddCP','holiday',1,'','$user->rights->holiday->write','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144886,'auguria',1,'','left','hrm',144884,NULL,NULL,1,'/holiday/list.php?&leftmenu=hrm','','List','holiday',1,'','$user->rights->holiday->read','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144887,'auguria',1,'','left','hrm',144886,NULL,NULL,1,'/holiday/list.php?select_statut=2&leftmenu=hrm','','ListToApprove','trips',2,'','$user->rights->holiday->read','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144888,'auguria',1,'','left','hrm',144884,NULL,NULL,2,'/holiday/define_holiday.php?&action=request','','MenuConfCP','holiday',1,'','$user->rights->holiday->define_holiday','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144889,'auguria',1,'','left','hrm',144884,NULL,NULL,3,'/holiday/view_log.php?&action=request','','MenuLogCP','holiday',1,'','$user->rights->holiday->define_holiday','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144984,'auguria',1,'','left','commercial',139889,NULL,NULL,6,'/fourn/commande/index.php?leftmenu=orders_suppliers','','SuppliersOrders','orders',0,'orders_suppliers','$user->rights->fournisseur->commande->lire','$conf->supplier_order->enabled',2,'2016-07-30 11:13:00'),(144985,'auguria',1,'','left','commercial',144984,NULL,NULL,0,'/fourn/commande/card.php?action=create&leftmenu=orders_suppliers','','NewOrder','orders',1,'','$user->rights->fournisseur->commande->creer','$conf->supplier_order->enabled',2,'2016-07-30 11:13:00'),(144986,'auguria',1,'','left','commercial',144984,NULL,NULL,1,'/fourn/commande/list.php?leftmenu=orders_suppliers&viewstatut=0','','List','orders',1,'','$user->rights->fournisseur->commande->lire','$conf->supplier_order->enabled',2,'2016-07-30 11:13:00'),(144992,'auguria',1,'','left','commercial',144984,NULL,NULL,7,'/commande/stats/index.php?leftmenu=orders_suppliers&mode=supplier','','Statistics','orders',1,'','$user->rights->fournisseur->commande->lire','$conf->supplier_order->enabled',2,'2016-07-30 11:13:00'),(145084,'auguria',1,'','left','members',139897,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=3','','MembersCategoriesShort','categories',0,'cat','$user->rights->categorie->lire','$conf->adherent->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(145085,'auguria',1,'','left','members',145084,NULL,NULL,0,'/categories/card.php?action=create&type=3','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->adherent->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(145086,'all',1,'supplier_proposal','left','commercial',-1,NULL,'commercial',300,'/supplier_proposal/index.php','','SupplierProposalsShort','supplier_proposal',NULL,'supplier_proposalsubmenu','$user->rights->supplier_proposal->lire','$conf->supplier_proposal->enabled',2,'2016-07-30 11:13:20'),(145087,'all',1,'supplier_proposal','left','commercial',-1,'supplier_proposalsubmenu','commercial',301,'/supplier_proposal/card.php?action=create&leftmenu=supplier_proposals','','SupplierProposalNew','supplier_proposal',NULL,NULL,'$user->rights->supplier_proposal->creer','$conf->supplier_proposal->enabled',2,'2016-07-30 11:13:20'),(145088,'all',1,'supplier_proposal','left','commercial',-1,'supplier_proposalsubmenu','commercial',302,'/supplier_proposal/list.php?leftmenu=supplier_proposals','','List','supplier_proposal',NULL,NULL,'$user->rights->supplier_proposal->lire','$conf->supplier_proposal->enabled',2,'2016-07-30 11:13:20'),(145089,'all',1,'supplier_proposal','left','commercial',-1,'supplier_proposalsubmenu','commercial',303,'/comm/propal/stats/index.php?leftmenu=supplier_proposals&mode=supplier','','Statistics','supplier_proposal',NULL,NULL,'$user->rights->supplier_proposal->lire','$conf->supplier_proposal->enabled',2,'2016-07-30 11:13:20'),(145090,'all',1,'resource','left','tools',-1,NULL,'tools',100,'/resource/list.php','','MenuResourceIndex','resource',NULL,'resource','$user->rights->resource->read','1',0,'2016-07-30 11:13:32'),(145091,'all',1,'resource','left','tools',-1,'resource','tools',101,'/resource/add.php','','MenuResourceAdd','resource',NULL,NULL,'$user->rights->resource->read','1',0,'2016-07-30 11:13:32'),(145092,'all',1,'resource','left','tools',-1,'resource','tools',102,'/resource/list.php','','List','resource',NULL,NULL,'$user->rights->resource->read','1',0,'2016-07-30 11:13:32'),(145093,'all',1,'cron','left','home',-1,'admintools','home',200,'/cron/list.php?status=-2&leftmenu=admintools','','CronList','cron',NULL,NULL,'$user->rights->cron->read','$leftmenu==\'admintools\'',2,'2016-07-30 11:14:25'),(145094,'all',1,'agenda','top','agenda',0,NULL,NULL,100,'/comm/action/index.php','','Agenda','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145095,'all',1,'agenda','left','agenda',145094,NULL,NULL,100,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Actions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145096,'all',1,'agenda','left','agenda',145095,NULL,NULL,101,'/comm/action/card.php?mainmenu=agenda&leftmenu=agenda&action=create','','NewAction','commercial',NULL,NULL,'($user->rights->agenda->myactions->create||$user->rights->agenda->allactions->create)','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145097,'all',1,'agenda','left','agenda',145095,NULL,NULL,102,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Agenda','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145098,'all',1,'agenda','left','agenda',145097,NULL,NULL,103,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145099,'all',1,'agenda','left','agenda',145097,NULL,NULL,104,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145100,'all',1,'agenda','left','agenda',145097,NULL,NULL,105,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo&filtert=-1','','MenuToDoActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2016-07-30 15:42:32'),(145101,'all',1,'agenda','left','agenda',145097,NULL,NULL,106,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done&filtert=-1','','MenuDoneActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2016-07-30 15:42:32'),(145102,'all',1,'agenda','left','agenda',145095,NULL,NULL,112,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda','','List','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145103,'all',1,'agenda','left','agenda',145102,NULL,NULL,113,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145104,'all',1,'agenda','left','agenda',145102,NULL,NULL,114,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145105,'all',1,'agenda','left','agenda',145102,NULL,NULL,115,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo&filtert=-1','','MenuToDoActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2016-07-30 15:42:32'),(145106,'all',1,'agenda','left','agenda',145102,NULL,NULL,116,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done&filtert=-1','','MenuDoneActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2016-07-30 15:42:32'),(145107,'all',1,'agenda','left','agenda',145095,NULL,NULL,120,'/comm/action/rapport/index.php?mainmenu=agenda&leftmenu=agenda','','Reportings','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145111,'all',1,'opensurvey','left','tools',-1,NULL,'tools',200,'/opensurvey/index.php?mainmenu=tools&leftmenu=opensurvey','','Survey','opensurvey',NULL,'opensurvey','$user->rights->opensurvey->read','$conf->opensurvey->enabled',0,'2016-07-30 19:04:07'),(145112,'all',1,'opensurvey','left','tools',-1,'opensurvey','tools',210,'/opensurvey/wizard/index.php','','NewSurvey','opensurvey',NULL,'opensurvey_new','$user->rights->opensurvey->write','$conf->opensurvey->enabled',0,'2016-07-30 19:04:07'),(145113,'all',1,'opensurvey','left','tools',-1,'opensurvey','tools',220,'/opensurvey/list.php','','List','opensurvey',NULL,'opensurvey_list','$user->rights->opensurvey->read','$conf->opensurvey->enabled',0,'2016-07-30 19:04:07'); /*!40000 ALTER TABLE `llx_menu` ENABLE KEYS */; UNLOCK TABLES; @@ -7424,7 +7424,7 @@ CREATE TABLE `llx_rights_def` ( LOCK TABLES `llx_rights_def` WRITE; /*!40000 ALTER TABLE `llx_rights_def` DISABLE KEYS */; -INSERT INTO `llx_rights_def` VALUES (11,'Lire les factures','facture',1,'lire',NULL,'a',1),(11,'Lire les factures','facture',2,'lire',NULL,'a',1),(12,'Creer/modifier les factures','facture',1,'creer',NULL,'a',0),(12,'Creer/modifier les factures','facture',2,'creer',NULL,'a',0),(13,'Dévalider les factures','facture',1,'invoice_advance','unvalidate','a',0),(13,'Dévalider les factures','facture',2,'invoice_advance','unvalidate','a',0),(14,'Valider les factures','facture',1,'invoice_advance','validate','a',0),(14,'Valider les factures','facture',2,'valider',NULL,'a',0),(15,'Envoyer les factures par mail','facture',1,'invoice_advance','send','a',0),(15,'Envoyer les factures par mail','facture',2,'invoice_advance','send','a',0),(16,'Emettre des paiements sur les factures','facture',1,'paiement',NULL,'a',0),(16,'Emettre des paiements sur les factures','facture',2,'paiement',NULL,'a',0),(19,'Supprimer les factures','facture',1,'supprimer',NULL,'a',0),(19,'Supprimer les factures','facture',2,'supprimer',NULL,'a',0),(21,'Lire les propositions commerciales','propale',1,'lire',NULL,'r',1),(21,'Lire les propositions commerciales','propale',2,'lire',NULL,'r',1),(22,'Creer/modifier les propositions commerciales','propale',1,'creer',NULL,'w',0),(22,'Creer/modifier les propositions commerciales','propale',2,'creer',NULL,'w',0),(24,'Valider les propositions commerciales','propale',1,'propal_advance','validate','d',0),(24,'Valider les propositions commerciales','propale',2,'valider',NULL,'d',0),(25,'Envoyer les propositions commerciales aux clients','propale',1,'propal_advance','send','d',0),(25,'Envoyer les propositions commerciales aux clients','propale',2,'propal_advance','send','d',0),(26,'Cloturer les propositions commerciales','propale',1,'cloturer',NULL,'d',0),(26,'Cloturer les propositions commerciales','propale',2,'cloturer',NULL,'d',0),(27,'Supprimer les propositions commerciales','propale',1,'supprimer',NULL,'d',0),(27,'Supprimer les propositions commerciales','propale',2,'supprimer',NULL,'d',0),(28,'Exporter les propositions commerciales et attributs','propale',1,'export',NULL,'r',0),(28,'Exporter les propositions commerciales et attributs','propale',2,'export',NULL,'r',0),(31,'Lire les produits','produit',1,'lire',NULL,'r',1),(31,'Lire les produits','produit',2,'lire',NULL,'r',1),(32,'Creer/modifier les produits','produit',1,'creer',NULL,'w',0),(32,'Creer/modifier les produits','produit',2,'creer',NULL,'w',0),(34,'Supprimer les produits','produit',1,'supprimer',NULL,'d',0),(34,'Supprimer les produits','produit',2,'supprimer',NULL,'d',0),(38,'Exporter les produits','produit',1,'export',NULL,'r',0),(38,'Exporter les produits','produit',2,'export',NULL,'r',0),(41,'Read projects and tasks (shared projects or projects I am contact for). Can also enter time consumed on assigned tasks (timesheet)','projet',1,'lire',NULL,'r',1),(42,'Create/modify projects and tasks (shared projects or projects I am contact for)','projet',1,'creer',NULL,'w',0),(44,'Delete project and tasks (shared projects or projects I am contact for)','projet',1,'supprimer',NULL,'d',0),(45,'Export projects','projet',1,'export',NULL,'d',0),(61,'Lire les fiches d\'intervention','ficheinter',1,'lire',NULL,'r',1),(62,'Creer/modifier les fiches d\'intervention','ficheinter',1,'creer',NULL,'w',0),(64,'Supprimer les fiches d\'intervention','ficheinter',1,'supprimer',NULL,'d',0),(67,'Exporter les fiches interventions','ficheinter',1,'export',NULL,'r',0),(68,'Envoyer les fiches d\'intervention par courriel','ficheinter',1,'ficheinter_advance','send','r',0),(71,'Read members\' card','adherent',1,'lire',NULL,'r',1),(72,'Create/modify members (need also user module permissions if member linked to a user)','adherent',1,'creer',NULL,'w',0),(74,'Remove members','adherent',1,'supprimer',NULL,'d',0),(75,'Setup types of membership','adherent',1,'configurer',NULL,'w',0),(76,'Export members','adherent',1,'export',NULL,'r',0),(78,'Read subscriptions','adherent',1,'cotisation','lire','r',1),(79,'Create/modify/remove subscriptions','adherent',1,'cotisation','creer','w',0),(81,'Lire les commandes clients','commande',1,'lire',NULL,'r',1),(82,'Creer/modifier les commandes clients','commande',1,'creer',NULL,'w',0),(84,'Valider les commandes clients','commande',1,'order_advance','validate','d',0),(86,'Envoyer les commandes clients','commande',1,'order_advance','send','d',0),(87,'Cloturer les commandes clients','commande',1,'cloturer',NULL,'d',0),(88,'Annuler les commandes clients','commande',1,'order_advance','annuler','d',0),(89,'Supprimer les commandes clients','commande',1,'supprimer',NULL,'d',0),(91,'Lire les charges','tax',1,'charges','lire','r',1),(91,'Lire les charges','tax',2,'charges','lire','r',1),(92,'Creer/modifier les charges','tax',1,'charges','creer','w',0),(92,'Creer/modifier les charges','tax',2,'charges','creer','w',0),(93,'Supprimer les charges','tax',1,'charges','supprimer','d',0),(93,'Supprimer les charges','tax',2,'charges','supprimer','d',0),(94,'Exporter les charges','tax',1,'charges','export','r',0),(94,'Exporter les charges','tax',2,'charges','export','r',0),(95,'Lire CA, bilans, resultats','compta',1,'resultat','lire','r',1),(101,'Lire les expeditions','expedition',1,'lire',NULL,'r',1),(102,'Creer modifier les expeditions','expedition',1,'creer',NULL,'w',0),(104,'Valider les expeditions','expedition',1,'shipping_advance','validate','d',0),(105,'Envoyer les expeditions aux clients','expedition',1,'shipping_advance','send','d',0),(106,'Exporter les expeditions','expedition',1,'shipment','export','r',0),(109,'Supprimer les expeditions','expedition',1,'supprimer',NULL,'d',0),(111,'Lire les comptes bancaires','banque',1,'lire',NULL,'r',1),(111,'Lire les comptes bancaires','banque',2,'lire',NULL,'r',1),(112,'Creer/modifier montant/supprimer ecriture bancaire','banque',1,'modifier',NULL,'w',0),(112,'Creer/modifier montant/supprimer ecriture bancaire','banque',2,'modifier',NULL,'w',0),(113,'Configurer les comptes bancaires (creer, gerer categories)','banque',1,'configurer',NULL,'a',0),(113,'Configurer les comptes bancaires (creer, gerer categories)','banque',2,'configurer',NULL,'a',0),(114,'Rapprocher les ecritures bancaires','banque',1,'consolidate',NULL,'w',0),(114,'Rapprocher les ecritures bancaires','banque',2,'consolidate',NULL,'w',0),(115,'Exporter transactions et releves','banque',1,'export',NULL,'r',0),(115,'Exporter transactions et releves','banque',2,'export',NULL,'r',0),(116,'Virements entre comptes','banque',1,'transfer',NULL,'w',0),(116,'Virements entre comptes','banque',2,'transfer',NULL,'w',0),(117,'Gerer les envois de cheques','banque',1,'cheque',NULL,'w',0),(117,'Gerer les envois de cheques','banque',2,'cheque',NULL,'w',0),(121,'Lire les societes','societe',1,'lire',NULL,'r',1),(121,'Lire les societes','societe',2,'lire',NULL,'r',1),(122,'Creer modifier les societes','societe',1,'creer',NULL,'w',0),(122,'Creer modifier les societes','societe',2,'creer',NULL,'w',0),(125,'Supprimer les societes','societe',1,'supprimer',NULL,'d',0),(125,'Supprimer les societes','societe',2,'supprimer',NULL,'d',0),(126,'Exporter les societes','societe',1,'export',NULL,'r',0),(126,'Exporter les societes','societe',2,'export',NULL,'r',0),(141,'Read all projects and tasks (also private projects I am not contact for)','projet',1,'all','lire','r',0),(142,'Create/modify all projects and tasks (also private projects I am not contact for)','projet',1,'all','creer','w',0),(144,'Delete all projects and tasks (also private projects I am not contact for)','projet',1,'all','supprimer','d',0),(151,'Read withdrawals','prelevement',1,'bons','lire','r',1),(152,'Create/modify a withdrawals','prelevement',1,'bons','creer','w',0),(153,'Send withdrawals to bank','prelevement',1,'bons','send','a',0),(154,'credit/refuse withdrawals','prelevement',1,'bons','credit','a',0),(161,'Lire les contrats','contrat',1,'lire',NULL,'r',1),(162,'Creer / modifier les contrats','contrat',1,'creer',NULL,'w',0),(163,'Activer un service d\'un contrat','contrat',1,'activer',NULL,'w',0),(164,'Desactiver un service d\'un contrat','contrat',1,'desactiver',NULL,'w',0),(165,'Supprimer un contrat','contrat',1,'supprimer',NULL,'d',0),(167,'Export contracts','contrat',1,'export',NULL,'r',0),(221,'Consulter les mailings','mailing',1,'lire',NULL,'r',1),(221,'Consulter les mailings','mailing',2,'lire',NULL,'r',1),(222,'Creer/modifier les mailings (sujet, destinataires...)','mailing',1,'creer',NULL,'w',0),(222,'Creer/modifier les mailings (sujet, destinataires...)','mailing',2,'creer',NULL,'w',0),(223,'Valider les mailings (permet leur envoi)','mailing',1,'valider',NULL,'w',0),(223,'Valider les mailings (permet leur envoi)','mailing',2,'valider',NULL,'w',0),(229,'Supprimer les mailings','mailing',1,'supprimer',NULL,'d',0),(229,'Supprimer les mailings','mailing',2,'supprimer',NULL,'d',0),(237,'View recipients and info','mailing',1,'mailing_advance','recipient','r',0),(237,'View recipients and info','mailing',2,'mailing_advance','recipient','r',0),(238,'Manually send mailings','mailing',1,'mailing_advance','send','w',0),(238,'Manually send mailings','mailing',2,'mailing_advance','send','w',0),(239,'Delete mailings after validation and/or sent','mailing',1,'mailing_advance','delete','d',0),(239,'Delete mailings after validation and/or sent','mailing',2,'mailing_advance','delete','d',0),(241,'Lire les categories','categorie',1,'lire',NULL,'r',1),(242,'Creer/modifier les categories','categorie',1,'creer',NULL,'w',0),(243,'Supprimer les categories','categorie',1,'supprimer',NULL,'d',0),(251,'Consulter les autres utilisateurs','user',1,'user','lire','r',0),(252,'Consulter les permissions des autres utilisateurs','user',1,'user_advance','readperms','r',0),(253,'Creer/modifier utilisateurs internes et externes','user',1,'user','creer','w',0),(254,'Creer/modifier utilisateurs externes seulement','user',1,'user_advance','write','w',0),(255,'Modifier le mot de passe des autres utilisateurs','user',1,'user','password','w',0),(256,'Supprimer ou desactiver les autres utilisateurs','user',1,'user','supprimer','d',0),(262,'Consulter tous les tiers par utilisateurs internes (sinon uniquement si contact commercial). Non effectif pour utilisateurs externes (tjs limités à eux-meme).','societe',1,'client','voir','r',1),(262,'Consulter tous les tiers par utilisateurs internes (sinon uniquement si contact commercial). Non effectif pour utilisateurs externes (tjs limités à eux-meme).','societe',2,'client','voir','r',1),(281,'Lire les contacts','societe',1,'contact','lire','r',1),(281,'Lire les contacts','societe',2,'contact','lire','r',1),(282,'Creer modifier les contacts','societe',1,'contact','creer','w',0),(282,'Creer modifier les contacts','societe',2,'contact','creer','w',0),(283,'Supprimer les contacts','societe',1,'contact','supprimer','d',0),(283,'Supprimer les contacts','societe',2,'contact','supprimer','d',0),(286,'Exporter les contacts','societe',1,'contact','export','d',0),(286,'Exporter les contacts','societe',2,'contact','export','d',0),(300,'Read barcodes','barcode',1,'lire_advance',NULL,'r',1),(301,'Create/modify barcodes','barcode',1,'creer_advance',NULL,'w',0),(331,'Lire les bookmarks','bookmark',1,'lire',NULL,'r',1),(332,'Creer/modifier les bookmarks','bookmark',1,'creer',NULL,'r',1),(333,'Supprimer les bookmarks','bookmark',1,'supprimer',NULL,'r',1),(341,'Consulter ses propres permissions','user',1,'self_advance','readperms','r',1),(342,'Creer/modifier ses propres infos utilisateur','user',1,'self','creer','w',1),(343,'Modifier son propre mot de passe','user',1,'self','password','w',1),(344,'Modifier ses propres permissions','user',1,'self_advance','writeperms','w',1),(351,'Consulter les groupes','user',1,'group_advance','read','r',0),(352,'Consulter les permissions des groupes','user',1,'group_advance','readperms','r',0),(353,'Creer/modifier les groupes et leurs permissions','user',1,'group_advance','write','w',0),(354,'Supprimer ou desactiver les groupes','user',1,'group_advance','delete','d',0),(358,'Exporter les utilisateurs','user',1,'user','export','r',0),(510,'Read salaries','salaries',1,'read',NULL,'r',0),(512,'Create/modify salaries','salaries',1,'write',NULL,'w',0),(514,'Delete salaries','salaries',1,'delete',NULL,'d',0),(517,'Export salaries','salaries',1,'export',NULL,'r',0),(531,'Lire les services','service',1,'lire',NULL,'r',1),(532,'Creer/modifier les services','service',1,'creer',NULL,'w',0),(534,'Supprimer les services','service',1,'supprimer',NULL,'d',0),(538,'Exporter les services','service',1,'export',NULL,'r',0),(701,'Lire les dons','don',1,'lire',NULL,'r',1),(701,'Lire les dons','don',2,'lire',NULL,'r',1),(702,'Creer/modifier les dons','don',1,'creer',NULL,'w',0),(702,'Creer/modifier les dons','don',2,'creer',NULL,'w',0),(703,'Supprimer les dons','don',1,'supprimer',NULL,'d',0),(703,'Supprimer les dons','don',2,'supprimer',NULL,'d',0),(771,'Read expense reports (yours and your subordinates)','expensereport',1,'lire',NULL,'r',1),(772,'Create/modify expense reports','expensereport',1,'creer',NULL,'w',0),(773,'Delete expense reports','expensereport',1,'supprimer',NULL,'d',0),(774,'Read all expense reports','expensereport',1,'readall',NULL,'r',1),(775,'Approve expense reports','expensereport',1,'approve',NULL,'w',0),(776,'Pay expense reports','expensereport',1,'to_paid',NULL,'w',0),(779,'Export expense reports','expensereport',1,'export',NULL,'r',0),(1001,'Lire les stocks','stock',1,'lire',NULL,'r',1),(1002,'Creer/Modifier les stocks','stock',1,'creer',NULL,'w',0),(1003,'Supprimer les stocks','stock',1,'supprimer',NULL,'d',0),(1004,'Lire mouvements de stocks','stock',1,'mouvement','lire','r',1),(1005,'Creer/modifier mouvements de stocks','stock',1,'mouvement','creer','w',0),(1101,'Lire les bons de livraison','expedition',1,'livraison','lire','r',1),(1102,'Creer modifier les bons de livraison','expedition',1,'livraison','creer','w',0),(1104,'Valider les bons de livraison','expedition',1,'livraison_advance','validate','d',0),(1109,'Supprimer les bons de livraison','expedition',1,'livraison','supprimer','d',0),(1121,'Read supplier proposals','supplier_proposal',1,'lire',NULL,'w',1),(1122,'Create/modify supplier proposals','supplier_proposal',1,'creer',NULL,'w',1),(1123,'Validate supplier proposals','supplier_proposal',1,'validate_advance',NULL,'w',0),(1124,'Envoyer les demandes fournisseurs','supplier_proposal',1,'send_advance',NULL,'w',0),(1125,'Delete supplier proposals','supplier_proposal',1,'supprimer',NULL,'w',0),(1126,'Close supplier price requests','supplier_proposal',1,'cloturer',NULL,'w',0),(1181,'Consulter les fournisseurs','fournisseur',1,'lire',NULL,'r',1),(1182,'Consulter les commandes fournisseur','fournisseur',1,'commande','lire','r',1),(1183,'Creer une commande fournisseur','fournisseur',1,'commande','creer','w',0),(1184,'Valider une commande fournisseur','fournisseur',1,'supplier_order_advance','validate','w',0),(1185,'Approuver une commande fournisseur','fournisseur',1,'commande','approuver','w',0),(1186,'Commander une commande fournisseur','fournisseur',1,'commande','commander','w',0),(1187,'Receptionner une commande fournisseur','fournisseur',1,'commande','receptionner','d',0),(1188,'Supprimer une commande fournisseur','fournisseur',1,'commande','supprimer','d',0),(1189,'Check/Uncheck a supplier order reception','fournisseur',1,'commande_advance','check','w',0),(1201,'Lire les exports','export',1,'lire',NULL,'r',1),(1202,'Creer/modifier un export','export',1,'creer',NULL,'w',0),(1231,'Consulter les factures fournisseur','fournisseur',1,'facture','lire','r',1),(1232,'Creer une facture fournisseur','fournisseur',1,'facture','creer','w',0),(1233,'Valider une facture fournisseur','fournisseur',1,'supplier_invoice_advance','validate','w',0),(1234,'Supprimer une facture fournisseur','fournisseur',1,'facture','supprimer','d',0),(1235,'Envoyer les factures par mail','fournisseur',1,'supplier_invoice_advance','send','a',0),(1236,'Exporter les factures fournisseurs, attributs et reglements','fournisseur',1,'facture','export','r',0),(1237,'Exporter les commande fournisseurs, attributs','fournisseur',1,'commande','export','r',0),(1251,'Run mass imports of external data (data load)','import',1,'run',NULL,'r',0),(1321,'Exporter les factures clients, attributs et reglements','facture',1,'facture','export','r',0),(1321,'Exporter les factures clients, attributs et reglements','facture',2,'facture','export','r',0),(1421,'Exporter les commandes clients et attributs','commande',1,'commande','export','r',0),(2401,'Read actions/tasks linked to his account','agenda',1,'myactions','read','r',1),(2401,'Read actions/tasks linked to his account','agenda',2,'myactions','read','r',1),(2402,'Create/modify actions/tasks linked to his account','agenda',1,'myactions','create','w',0),(2402,'Create/modify actions/tasks linked to his account','agenda',2,'myactions','create','w',0),(2403,'Delete actions/tasks linked to his account','agenda',1,'myactions','delete','w',0),(2403,'Delete actions/tasks linked to his account','agenda',2,'myactions','delete','w',0),(2411,'Read actions/tasks of others','agenda',1,'allactions','read','r',0),(2411,'Read actions/tasks of others','agenda',2,'allactions','read','r',0),(2412,'Create/modify actions/tasks of others','agenda',1,'allactions','create','w',0),(2412,'Create/modify actions/tasks of others','agenda',2,'allactions','create','w',0),(2413,'Delete actions/tasks of others','agenda',1,'allactions','delete','w',0),(2413,'Delete actions/tasks of others','agenda',2,'allactions','delete','w',0),(2414,'Export actions/tasks of others','agenda',1,'export',NULL,'w',0),(2501,'Consulter/Télécharger les documents','ecm',1,'read',NULL,'r',1),(2503,'Soumettre ou supprimer des documents','ecm',1,'upload',NULL,'w',1),(2515,'Administrer les rubriques de documents','ecm',1,'setup',NULL,'w',1),(20001,'Read your own holidays','holiday',1,'read',NULL,'w',1),(20001,'Créer / Modifier / Lire ses demandes de congés payés','holiday',2,'write',NULL,'w',1),(20002,'Create/modify your own holidays','holiday',1,'write',NULL,'w',1),(20002,'Lire / Modifier toutes les demandes de congés payés','holiday',2,'lire_tous',NULL,'w',0),(20003,'Delete holidays','holiday',1,'delete',NULL,'w',0),(20003,'Supprimer des demandes de congés payés','holiday',2,'delete',NULL,'w',0),(20004,'Read holidays for everybody','holiday',1,'read_all',NULL,'w',0),(20004,'Définir les congés payés des utilisateurs','holiday',2,'define_holiday',NULL,'w',0),(20005,'Create/modify holidays for everybody','holiday',1,'write_all',NULL,'w',0),(20005,'Voir les logs de modification des congés payés','holiday',2,'view_log',NULL,'w',0),(20006,'Setup holidays of users (setup and update balance)','holiday',1,'define_holiday',NULL,'w',0),(20006,'Accéder au rapport mensuel des congés payés','holiday',2,'month_report',NULL,'w',0),(23001,'Read cron jobs','cron',1,'read',NULL,'w',1),(23002,'Create cron Jobs','cron',1,'create',NULL,'w',0),(23003,'Delete cron Jobs','cron',1,'delete',NULL,'w',0),(23004,'Execute cron Jobs','cron',1,'execute',NULL,'w',0),(50101,'Use point of sale','cashdesk',1,'use',NULL,'a',1),(55001,'Read surveys','opensurvey',1,'read',NULL,'r',0),(55002,'Create/modify surveys','opensurvey',1,'write',NULL,'w',0),(59001,'Visualiser les marges','margins',1,'liretous',NULL,'r',1),(59002,'Définir les marges','margins',1,'creer',NULL,'w',0),(59003,'Read every user margin','margins',1,'read','all','r',0),(63001,'Read resources','resource',1,'read',NULL,'w',0),(63002,'Create/Modify resources','resource',1,'write',NULL,'w',0),(63003,'Delete resources','resource',1,'delete',NULL,'w',0),(63004,'Link resources','resource',1,'link',NULL,'w',0),(101250,'Read surveys','opensurvey',2,'survey','read','r',0),(101251,'Create/modify surveys','opensurvey',2,'survey','write','w',0),(400051,'Use POS','pos',2,'frontend',NULL,'a',1),(400052,'Use Backend','pos',2,'backend',NULL,'a',1),(400053,'Make Transfers','pos',2,'transfer',NULL,'a',1),(400055,'Stats','pos',2,'stats',NULL,'a',1); +INSERT INTO `llx_rights_def` VALUES (11,'Lire les factures','facture',1,'lire',NULL,'a',1),(11,'Lire les factures','facture',2,'lire',NULL,'a',1),(12,'Creer/modifier les factures','facture',1,'creer',NULL,'a',0),(12,'Creer/modifier les factures','facture',2,'creer',NULL,'a',0),(13,'Dévalider les factures','facture',1,'invoice_advance','unvalidate','a',0),(13,'Dévalider les factures','facture',2,'invoice_advance','unvalidate','a',0),(14,'Valider les factures','facture',1,'invoice_advance','validate','a',0),(14,'Valider les factures','facture',2,'valider',NULL,'a',0),(15,'Envoyer les factures par mail','facture',1,'invoice_advance','send','a',0),(15,'Envoyer les factures par mail','facture',2,'invoice_advance','send','a',0),(16,'Emettre des paiements sur les factures','facture',1,'paiement',NULL,'a',0),(16,'Emettre des paiements sur les factures','facture',2,'paiement',NULL,'a',0),(19,'Supprimer les factures','facture',1,'supprimer',NULL,'a',0),(19,'Supprimer les factures','facture',2,'supprimer',NULL,'a',0),(21,'Lire les propositions commerciales','propale',1,'lire',NULL,'r',1),(21,'Lire les propositions commerciales','propale',2,'lire',NULL,'r',1),(22,'Creer/modifier les propositions commerciales','propale',1,'creer',NULL,'w',0),(22,'Creer/modifier les propositions commerciales','propale',2,'creer',NULL,'w',0),(24,'Valider les propositions commerciales','propale',1,'propal_advance','validate','d',0),(24,'Valider les propositions commerciales','propale',2,'valider',NULL,'d',0),(25,'Envoyer les propositions commerciales aux clients','propale',1,'propal_advance','send','d',0),(25,'Envoyer les propositions commerciales aux clients','propale',2,'propal_advance','send','d',0),(26,'Cloturer les propositions commerciales','propale',1,'cloturer',NULL,'d',0),(26,'Cloturer les propositions commerciales','propale',2,'cloturer',NULL,'d',0),(27,'Supprimer les propositions commerciales','propale',1,'supprimer',NULL,'d',0),(27,'Supprimer les propositions commerciales','propale',2,'supprimer',NULL,'d',0),(28,'Exporter les propositions commerciales et attributs','propale',1,'export',NULL,'r',0),(28,'Exporter les propositions commerciales et attributs','propale',2,'export',NULL,'r',0),(31,'Lire les produits','produit',1,'lire',NULL,'r',1),(31,'Lire les produits','produit',2,'lire',NULL,'r',1),(32,'Creer/modifier les produits','produit',1,'creer',NULL,'w',0),(32,'Creer/modifier les produits','produit',2,'creer',NULL,'w',0),(34,'Supprimer les produits','produit',1,'supprimer',NULL,'d',0),(34,'Supprimer les produits','produit',2,'supprimer',NULL,'d',0),(38,'Exporter les produits','produit',1,'export',NULL,'r',0),(38,'Exporter les produits','produit',2,'export',NULL,'r',0),(41,'Read projects and tasks (shared projects or projects I am contact for). Can also enter time consumed on assigned tasks (timesheet)','projet',1,'lire',NULL,'r',1),(42,'Create/modify projects and tasks (shared projects or projects I am contact for)','projet',1,'creer',NULL,'w',0),(44,'Delete project and tasks (shared projects or projects I am contact for)','projet',1,'supprimer',NULL,'d',0),(45,'Export projects','projet',1,'export',NULL,'d',0),(61,'Lire les fiches d\'intervention','ficheinter',1,'lire',NULL,'r',1),(62,'Creer/modifier les fiches d\'intervention','ficheinter',1,'creer',NULL,'w',0),(64,'Supprimer les fiches d\'intervention','ficheinter',1,'supprimer',NULL,'d',0),(67,'Exporter les fiches interventions','ficheinter',1,'export',NULL,'r',0),(68,'Envoyer les fiches d\'intervention par courriel','ficheinter',1,'ficheinter_advance','send','r',0),(69,'Valider les fiches d\'intervention ','ficheinter',1,'ficheinter_advance','validate','a',0),(70,'Dévalider les fiches d\'intervention','ficheinter',1,'ficheinter_advance','unvalidate','a',0),(71,'Read members\' card','adherent',1,'lire',NULL,'r',1),(72,'Create/modify members (need also user module permissions if member linked to a user)','adherent',1,'creer',NULL,'w',0),(74,'Remove members','adherent',1,'supprimer',NULL,'d',0),(75,'Setup types of membership','adherent',1,'configurer',NULL,'w',0),(76,'Export members','adherent',1,'export',NULL,'r',0),(78,'Read subscriptions','adherent',1,'cotisation','lire','r',1),(79,'Create/modify/remove subscriptions','adherent',1,'cotisation','creer','w',0),(81,'Lire les commandes clients','commande',1,'lire',NULL,'r',1),(82,'Creer/modifier les commandes clients','commande',1,'creer',NULL,'w',0),(84,'Valider les commandes clients','commande',1,'order_advance','validate','d',0),(86,'Envoyer les commandes clients','commande',1,'order_advance','send','d',0),(87,'Cloturer les commandes clients','commande',1,'cloturer',NULL,'d',0),(88,'Annuler les commandes clients','commande',1,'order_advance','annuler','d',0),(89,'Supprimer les commandes clients','commande',1,'supprimer',NULL,'d',0),(91,'Lire les charges','tax',1,'charges','lire','r',1),(91,'Lire les charges','tax',2,'charges','lire','r',1),(92,'Creer/modifier les charges','tax',1,'charges','creer','w',0),(92,'Creer/modifier les charges','tax',2,'charges','creer','w',0),(93,'Supprimer les charges','tax',1,'charges','supprimer','d',0),(93,'Supprimer les charges','tax',2,'charges','supprimer','d',0),(94,'Exporter les charges','tax',1,'charges','export','r',0),(94,'Exporter les charges','tax',2,'charges','export','r',0),(95,'Lire CA, bilans, resultats','compta',1,'resultat','lire','r',1),(101,'Lire les expeditions','expedition',1,'lire',NULL,'r',1),(102,'Creer modifier les expeditions','expedition',1,'creer',NULL,'w',0),(104,'Valider les expeditions','expedition',1,'shipping_advance','validate','d',0),(105,'Envoyer les expeditions aux clients','expedition',1,'shipping_advance','send','d',0),(106,'Exporter les expeditions','expedition',1,'shipment','export','r',0),(109,'Supprimer les expeditions','expedition',1,'supprimer',NULL,'d',0),(111,'Lire les comptes bancaires','banque',1,'lire',NULL,'r',1),(111,'Lire les comptes bancaires','banque',2,'lire',NULL,'r',1),(112,'Creer/modifier montant/supprimer ecriture bancaire','banque',1,'modifier',NULL,'w',0),(112,'Creer/modifier montant/supprimer ecriture bancaire','banque',2,'modifier',NULL,'w',0),(113,'Configurer les comptes bancaires (creer, gerer categories)','banque',1,'configurer',NULL,'a',0),(113,'Configurer les comptes bancaires (creer, gerer categories)','banque',2,'configurer',NULL,'a',0),(114,'Rapprocher les ecritures bancaires','banque',1,'consolidate',NULL,'w',0),(114,'Rapprocher les ecritures bancaires','banque',2,'consolidate',NULL,'w',0),(115,'Exporter transactions et releves','banque',1,'export',NULL,'r',0),(115,'Exporter transactions et releves','banque',2,'export',NULL,'r',0),(116,'Virements entre comptes','banque',1,'transfer',NULL,'w',0),(116,'Virements entre comptes','banque',2,'transfer',NULL,'w',0),(117,'Gerer les envois de cheques','banque',1,'cheque',NULL,'w',0),(117,'Gerer les envois de cheques','banque',2,'cheque',NULL,'w',0),(121,'Lire les societes','societe',1,'lire',NULL,'r',1),(121,'Lire les societes','societe',2,'lire',NULL,'r',1),(122,'Creer modifier les societes','societe',1,'creer',NULL,'w',0),(122,'Creer modifier les societes','societe',2,'creer',NULL,'w',0),(125,'Supprimer les societes','societe',1,'supprimer',NULL,'d',0),(125,'Supprimer les societes','societe',2,'supprimer',NULL,'d',0),(126,'Exporter les societes','societe',1,'export',NULL,'r',0),(126,'Exporter les societes','societe',2,'export',NULL,'r',0),(141,'Read all projects and tasks (also private projects I am not contact for)','projet',1,'all','lire','r',0),(142,'Create/modify all projects and tasks (also private projects I am not contact for)','projet',1,'all','creer','w',0),(144,'Delete all projects and tasks (also private projects I am not contact for)','projet',1,'all','supprimer','d',0),(151,'Read withdrawals','prelevement',1,'bons','lire','r',1),(152,'Create/modify a withdrawals','prelevement',1,'bons','creer','w',0),(153,'Send withdrawals to bank','prelevement',1,'bons','send','a',0),(154,'credit/refuse withdrawals','prelevement',1,'bons','credit','a',0),(161,'Lire les contrats','contrat',1,'lire',NULL,'r',1),(162,'Creer / modifier les contrats','contrat',1,'creer',NULL,'w',0),(163,'Activer un service d\'un contrat','contrat',1,'activer',NULL,'w',0),(164,'Desactiver un service d\'un contrat','contrat',1,'desactiver',NULL,'w',0),(165,'Supprimer un contrat','contrat',1,'supprimer',NULL,'d',0),(167,'Export contracts','contrat',1,'export',NULL,'r',0),(221,'Consulter les mailings','mailing',1,'lire',NULL,'r',1),(221,'Consulter les mailings','mailing',2,'lire',NULL,'r',1),(222,'Creer/modifier les mailings (sujet, destinataires...)','mailing',1,'creer',NULL,'w',0),(222,'Creer/modifier les mailings (sujet, destinataires...)','mailing',2,'creer',NULL,'w',0),(223,'Valider les mailings (permet leur envoi)','mailing',1,'valider',NULL,'w',0),(223,'Valider les mailings (permet leur envoi)','mailing',2,'valider',NULL,'w',0),(229,'Supprimer les mailings','mailing',1,'supprimer',NULL,'d',0),(229,'Supprimer les mailings','mailing',2,'supprimer',NULL,'d',0),(237,'View recipients and info','mailing',1,'mailing_advance','recipient','r',0),(237,'View recipients and info','mailing',2,'mailing_advance','recipient','r',0),(238,'Manually send mailings','mailing',1,'mailing_advance','send','w',0),(238,'Manually send mailings','mailing',2,'mailing_advance','send','w',0),(239,'Delete mailings after validation and/or sent','mailing',1,'mailing_advance','delete','d',0),(239,'Delete mailings after validation and/or sent','mailing',2,'mailing_advance','delete','d',0),(241,'Lire les categories','categorie',1,'lire',NULL,'r',1),(242,'Creer/modifier les categories','categorie',1,'creer',NULL,'w',0),(243,'Supprimer les categories','categorie',1,'supprimer',NULL,'d',0),(251,'Consulter les autres utilisateurs','user',1,'user','lire','r',0),(252,'Consulter les permissions des autres utilisateurs','user',1,'user_advance','readperms','r',0),(253,'Creer/modifier utilisateurs internes et externes','user',1,'user','creer','w',0),(254,'Creer/modifier utilisateurs externes seulement','user',1,'user_advance','write','w',0),(255,'Modifier le mot de passe des autres utilisateurs','user',1,'user','password','w',0),(256,'Supprimer ou desactiver les autres utilisateurs','user',1,'user','supprimer','d',0),(262,'Consulter tous les tiers par utilisateurs internes (sinon uniquement si contact commercial). Non effectif pour utilisateurs externes (tjs limités à eux-meme).','societe',1,'client','voir','r',1),(262,'Consulter tous les tiers par utilisateurs internes (sinon uniquement si contact commercial). Non effectif pour utilisateurs externes (tjs limités à eux-meme).','societe',2,'client','voir','r',1),(281,'Lire les contacts','societe',1,'contact','lire','r',1),(281,'Lire les contacts','societe',2,'contact','lire','r',1),(282,'Creer modifier les contacts','societe',1,'contact','creer','w',0),(282,'Creer modifier les contacts','societe',2,'contact','creer','w',0),(283,'Supprimer les contacts','societe',1,'contact','supprimer','d',0),(283,'Supprimer les contacts','societe',2,'contact','supprimer','d',0),(286,'Exporter les contacts','societe',1,'contact','export','d',0),(286,'Exporter les contacts','societe',2,'contact','export','d',0),(300,'Read barcodes','barcode',1,'lire_advance',NULL,'r',1),(301,'Create/modify barcodes','barcode',1,'creer_advance',NULL,'w',0),(331,'Lire les bookmarks','bookmark',1,'lire',NULL,'r',1),(332,'Creer/modifier les bookmarks','bookmark',1,'creer',NULL,'r',1),(333,'Supprimer les bookmarks','bookmark',1,'supprimer',NULL,'r',1),(341,'Consulter ses propres permissions','user',1,'self_advance','readperms','r',1),(342,'Creer/modifier ses propres infos utilisateur','user',1,'self','creer','w',1),(343,'Modifier son propre mot de passe','user',1,'self','password','w',1),(344,'Modifier ses propres permissions','user',1,'self_advance','writeperms','w',1),(351,'Consulter les groupes','user',1,'group_advance','read','r',0),(352,'Consulter les permissions des groupes','user',1,'group_advance','readperms','r',0),(353,'Creer/modifier les groupes et leurs permissions','user',1,'group_advance','write','w',0),(354,'Supprimer ou desactiver les groupes','user',1,'group_advance','delete','d',0),(358,'Exporter les utilisateurs','user',1,'user','export','r',0),(510,'Read salaries','salaries',1,'read',NULL,'r',0),(512,'Create/modify salaries','salaries',1,'write',NULL,'w',0),(514,'Delete salaries','salaries',1,'delete',NULL,'d',0),(517,'Export salaries','salaries',1,'export',NULL,'r',0),(531,'Lire les services','service',1,'lire',NULL,'r',1),(532,'Creer/modifier les services','service',1,'creer',NULL,'w',0),(534,'Supprimer les services','service',1,'supprimer',NULL,'d',0),(538,'Exporter les services','service',1,'export',NULL,'r',0),(701,'Lire les dons','don',1,'lire',NULL,'r',1),(701,'Lire les dons','don',2,'lire',NULL,'r',1),(702,'Creer/modifier les dons','don',1,'creer',NULL,'w',0),(702,'Creer/modifier les dons','don',2,'creer',NULL,'w',0),(703,'Supprimer les dons','don',1,'supprimer',NULL,'d',0),(703,'Supprimer les dons','don',2,'supprimer',NULL,'d',0),(771,'Read expense reports (yours and your subordinates)','expensereport',1,'lire',NULL,'r',1),(772,'Create/modify expense reports','expensereport',1,'creer',NULL,'w',0),(773,'Delete expense reports','expensereport',1,'supprimer',NULL,'d',0),(774,'Read all expense reports','expensereport',1,'readall',NULL,'r',1),(775,'Approve expense reports','expensereport',1,'approve',NULL,'w',0),(776,'Pay expense reports','expensereport',1,'to_paid',NULL,'w',0),(779,'Export expense reports','expensereport',1,'export',NULL,'r',0),(1001,'Lire les stocks','stock',1,'lire',NULL,'r',1),(1002,'Creer/Modifier les stocks','stock',1,'creer',NULL,'w',0),(1003,'Supprimer les stocks','stock',1,'supprimer',NULL,'d',0),(1004,'Lire mouvements de stocks','stock',1,'mouvement','lire','r',1),(1005,'Creer/modifier mouvements de stocks','stock',1,'mouvement','creer','w',0),(1101,'Lire les bons de livraison','expedition',1,'livraison','lire','r',1),(1102,'Creer modifier les bons de livraison','expedition',1,'livraison','creer','w',0),(1104,'Valider les bons de livraison','expedition',1,'livraison_advance','validate','d',0),(1109,'Supprimer les bons de livraison','expedition',1,'livraison','supprimer','d',0),(1121,'Read supplier proposals','supplier_proposal',1,'lire',NULL,'w',1),(1122,'Create/modify supplier proposals','supplier_proposal',1,'creer',NULL,'w',1),(1123,'Validate supplier proposals','supplier_proposal',1,'validate_advance',NULL,'w',0),(1124,'Envoyer les demandes fournisseurs','supplier_proposal',1,'send_advance',NULL,'w',0),(1125,'Delete supplier proposals','supplier_proposal',1,'supprimer',NULL,'w',0),(1126,'Close supplier price requests','supplier_proposal',1,'cloturer',NULL,'w',0),(1181,'Consulter les fournisseurs','fournisseur',1,'lire',NULL,'r',1),(1182,'Consulter les commandes fournisseur','fournisseur',1,'commande','lire','r',1),(1183,'Creer une commande fournisseur','fournisseur',1,'commande','creer','w',0),(1184,'Valider une commande fournisseur','fournisseur',1,'supplier_order_advance','validate','w',0),(1185,'Approuver une commande fournisseur','fournisseur',1,'commande','approuver','w',0),(1186,'Commander une commande fournisseur','fournisseur',1,'commande','commander','w',0),(1187,'Receptionner une commande fournisseur','fournisseur',1,'commande','receptionner','d',0),(1188,'Supprimer une commande fournisseur','fournisseur',1,'commande','supprimer','d',0),(1189,'Check/Uncheck a supplier order reception','fournisseur',1,'commande_advance','check','w',0),(1201,'Lire les exports','export',1,'lire',NULL,'r',1),(1202,'Creer/modifier un export','export',1,'creer',NULL,'w',0),(1231,'Consulter les factures fournisseur','fournisseur',1,'facture','lire','r',1),(1232,'Creer une facture fournisseur','fournisseur',1,'facture','creer','w',0),(1233,'Valider une facture fournisseur','fournisseur',1,'supplier_invoice_advance','validate','w',0),(1234,'Supprimer une facture fournisseur','fournisseur',1,'facture','supprimer','d',0),(1235,'Envoyer les factures par mail','fournisseur',1,'supplier_invoice_advance','send','a',0),(1236,'Exporter les factures fournisseurs, attributs et reglements','fournisseur',1,'facture','export','r',0),(1237,'Exporter les commande fournisseurs, attributs','fournisseur',1,'commande','export','r',0),(1251,'Run mass imports of external data (data load)','import',1,'run',NULL,'r',0),(1321,'Exporter les factures clients, attributs et reglements','facture',1,'facture','export','r',0),(1321,'Exporter les factures clients, attributs et reglements','facture',2,'facture','export','r',0),(1421,'Exporter les commandes clients et attributs','commande',1,'commande','export','r',0),(2401,'Read actions/tasks linked to his account','agenda',1,'myactions','read','r',1),(2401,'Read actions/tasks linked to his account','agenda',2,'myactions','read','r',1),(2402,'Create/modify actions/tasks linked to his account','agenda',1,'myactions','create','w',0),(2402,'Create/modify actions/tasks linked to his account','agenda',2,'myactions','create','w',0),(2403,'Delete actions/tasks linked to his account','agenda',1,'myactions','delete','w',0),(2403,'Delete actions/tasks linked to his account','agenda',2,'myactions','delete','w',0),(2411,'Read actions/tasks of others','agenda',1,'allactions','read','r',0),(2411,'Read actions/tasks of others','agenda',2,'allactions','read','r',0),(2412,'Create/modify actions/tasks of others','agenda',1,'allactions','create','w',0),(2412,'Create/modify actions/tasks of others','agenda',2,'allactions','create','w',0),(2413,'Delete actions/tasks of others','agenda',1,'allactions','delete','w',0),(2413,'Delete actions/tasks of others','agenda',2,'allactions','delete','w',0),(2414,'Export actions/tasks of others','agenda',1,'export',NULL,'w',0),(2501,'Consulter/Télécharger les documents','ecm',1,'read',NULL,'r',1),(2503,'Soumettre ou supprimer des documents','ecm',1,'upload',NULL,'w',1),(2515,'Administrer les rubriques de documents','ecm',1,'setup',NULL,'w',1),(20001,'Read your own holidays','holiday',1,'read',NULL,'w',1),(20001,'Créer / Modifier / Lire ses demandes de congés payés','holiday',2,'write',NULL,'w',1),(20002,'Create/modify your own holidays','holiday',1,'write',NULL,'w',1),(20002,'Lire / Modifier toutes les demandes de congés payés','holiday',2,'lire_tous',NULL,'w',0),(20003,'Delete holidays','holiday',1,'delete',NULL,'w',0),(20003,'Supprimer des demandes de congés payés','holiday',2,'delete',NULL,'w',0),(20004,'Read holidays for everybody','holiday',1,'read_all',NULL,'w',0),(20004,'Définir les congés payés des utilisateurs','holiday',2,'define_holiday',NULL,'w',0),(20005,'Create/modify holidays for everybody','holiday',1,'write_all',NULL,'w',0),(20005,'Voir les logs de modification des congés payés','holiday',2,'view_log',NULL,'w',0),(20006,'Setup holidays of users (setup and update balance)','holiday',1,'define_holiday',NULL,'w',0),(20006,'Accéder au rapport mensuel des congés payés','holiday',2,'month_report',NULL,'w',0),(23001,'Read cron jobs','cron',1,'read',NULL,'w',1),(23002,'Create cron Jobs','cron',1,'create',NULL,'w',0),(23003,'Delete cron Jobs','cron',1,'delete',NULL,'w',0),(23004,'Execute cron Jobs','cron',1,'execute',NULL,'w',0),(50101,'Use point of sale','cashdesk',1,'use',NULL,'a',1),(55001,'Read surveys','opensurvey',1,'read',NULL,'r',0),(55002,'Create/modify surveys','opensurvey',1,'write',NULL,'w',0),(59001,'Visualiser les marges','margins',1,'liretous',NULL,'r',1),(59002,'Définir les marges','margins',1,'creer',NULL,'w',0),(59003,'Read every user margin','margins',1,'read','all','r',0),(63001,'Read resources','resource',1,'read',NULL,'w',0),(63002,'Create/Modify resources','resource',1,'write',NULL,'w',0),(63003,'Delete resources','resource',1,'delete',NULL,'w',0),(63004,'Link resources','resource',1,'link',NULL,'w',0),(101250,'Read surveys','opensurvey',2,'survey','read','r',0),(101251,'Create/modify surveys','opensurvey',2,'survey','write','w',0),(400051,'Use POS','pos',2,'frontend',NULL,'a',1),(400052,'Use Backend','pos',2,'backend',NULL,'a',1),(400053,'Make Transfers','pos',2,'transfer',NULL,'a',1),(400055,'Stats','pos',2,'stats',NULL,'a',1); /*!40000 ALTER TABLE `llx_rights_def` ENABLE KEYS */; UNLOCK TABLES; @@ -8214,7 +8214,7 @@ CREATE TABLE `llx_user` ( LOCK TABLES `llx_user` WRITE; /*!40000 ALTER TABLE `llx_user` DISABLE KEYS */; -INSERT INTO `llx_user` VALUES (1,'2010-07-08 13:20:11','2015-10-05 20:07:36',NULL,NULL,'aeinstein',0,NULL,NULL,NULL,1,0,'aeinstein','11c9c772d6471aa24c27274bdd8a223b',NULL,NULL,'Einstein','Albert','','','123456789','','','aeinstein@example.com','',0,'','','',1,1,NULL,NULL,NULL,'','2015-10-05 08:32:44','2015-10-03 11:43:50',NULL,'',1,'alberteinstein.jpg',NULL,NULL,14,NULL,'','','',NULL,NULL,'aaaaff','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL),(2,'2010-07-08 13:54:48','2015-10-05 19:47:22',NULL,NULL,'demo',1,NULL,NULL,NULL,1,0,'demo','fe01ce2a7fbac8fafaed7c982a04e229',NULL,NULL,'Doe','David','','','09123123','','','daviddoe@mycompany.com','',0,'','','',1,1,NULL,NULL,NULL,'','2016-01-22 17:20:12','2016-01-22 14:28:35',NULL,'',1,'johndoe.png',NULL,NULL,11,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL),(3,'2010-07-11 16:18:59','2015-10-05 19:57:57',NULL,NULL,'pcurie',1,NULL,NULL,NULL,1,0,'pcuriedolibarr','ab335b4eb4c3c99334f656e5db9584c9',NULL,NULL,'Curie','Pierre','','','','','','pcurie@example.com','',0,'','','',1,1,NULL,NULL,2,'','2012-12-21 17:38:55',NULL,NULL,'',1,'pierrecurie.jpg',NULL,NULL,14,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,NULL,NULL),(4,'2013-01-23 17:52:27','2015-10-05 20:08:34',NULL,NULL,'bbookkeeper',1,NULL,NULL,NULL,1,0,'bbookkeeper','a7d30b58d647fcf59b7163f9592b1dbb',NULL,NULL,'Bookkeeper','Bob','Bookkeeper','','','','','','',0,'','','',1,1,17,6,NULL,'','2013-02-25 10:18:41','2013-01-23 17:53:20',NULL,'',1,NULL,NULL,NULL,11,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL),(10,'2015-10-03 11:47:41','2015-10-05 20:07:18',NULL,NULL,'mcurie',1,NULL,NULL,NULL,1,0,'mcurie','11c9c772d6471aa24c27274bdd8a223b',NULL,'t3mnkbhs','Curie','Marie','','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',1,'mariecurie.jpg',NULL,NULL,14,NULL,'','','',NULL,NULL,'ffaaff','',NULL,0,0,NULL,NULL,NULL,NULL,'woman',NULL),(11,'2015-10-05 09:07:52','2015-10-05 19:57:02',NULL,NULL,'zzeceo',1,NULL,NULL,NULL,1,0,'zzeceo','92af989c4c3a5140fb5d73eb77a52454',NULL,'cq78nf9m','Zeceo','Zack','President','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'','2015-10-05 22:48:08','2015-10-05 21:18:46',NULL,'',1,NULL,NULL,NULL,NULL,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,NULL,NULL),(12,'2015-10-05 09:09:46','2016-01-22 13:13:42',NULL,NULL,'admin',0,NULL,NULL,NULL,1,0,'admin','21232f297a57a5a743894a0e4a801fc3',NULL,'nd6hgbcr','Adminson','Alice','Admin Technical','','','','','','',1,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'','2016-07-30 15:13:10','2016-03-13 14:54:59',NULL,'',1,'mariecurie.jpg',NULL,NULL,11,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,'woman',NULL),(13,'2015-10-05 21:29:35','2016-01-22 13:51:46',NULL,NULL,'ccommercy',1,NULL,NULL,NULL,1,0,'ccomercy','11c9c772d6471aa24c27274bdd8a223b',NULL,'y451ksdv','Commercy','Charle','Commercial leader','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',1,NULL,NULL,NULL,11,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL),(14,'2015-10-05 21:33:33','2015-10-05 19:52:05',NULL,NULL,'sscientol',1,NULL,NULL,NULL,1,0,'sscientol','39bee07ac42f31c98e79cdcd5e5fe4c5',NULL,'s2hp8bxd','Scientol','Sam','Scientist leader','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',1,NULL,NULL,NULL,11,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,NULL,NULL),(16,'2015-10-05 22:47:52','2015-11-15 22:25:17',NULL,NULL,'cc1',1,NULL,NULL,NULL,1,0,'cc1','d68005ccf362b82d084551b6291792a3',NULL,'cx9y1dk0','Charle1','Commerson','Sale representative','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'','2015-10-05 23:46:24','2015-10-05 23:37:31',NULL,'',1,NULL,NULL,NULL,13,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,NULL,NULL),(17,'2015-10-05 22:48:39','2016-01-22 16:30:01',NULL,NULL,'cc2',1,NULL,NULL,NULL,1,0,'cc2','a964065211872fb76f876c6c3e952ea3',NULL,'gw8cb7xj','Charle2','Commerson','Sale representative','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'','2015-10-05 23:16:06',NULL,NULL,'',0,NULL,NULL,NULL,13,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL),(18,'2016-01-22 17:27:02','2016-07-30 12:51:23',NULL,NULL,'ldestailleur',1,NULL,NULL,NULL,1,0,'laurentd2013','1bb7805145a7a5066df9e6d585b8b645',NULL,'87g06wbx','Destailleur','Laurent','Project leader of Dolibarr ERP CRM','','','','','ldestailleur@example.com','

\r\n\r\n',0,NULL,NULL,NULL,1,1,10,10,NULL,'More information on http://www.destailleur.fr',NULL,NULL,NULL,'',1,'ldestailleur_200x200.jpg',NULL,NULL,NULL,NULL,'','','',NULL,NULL,'007f7f','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL); +INSERT INTO `llx_user` VALUES (1,'2010-07-08 13:20:11','2015-10-05 20:07:36',NULL,NULL,'aeinstein',0,NULL,NULL,NULL,1,0,'aeinstein','11c9c772d6471aa24c27274bdd8a223b',NULL,NULL,'Einstein','Albert','','','123456789','','','aeinstein@example.com','',0,'','','',1,1,NULL,NULL,NULL,'','2015-10-05 08:32:44','2015-10-03 11:43:50',NULL,'',1,'alberteinstein.jpg',NULL,NULL,14,NULL,'','','',NULL,NULL,'aaaaff','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL),(2,'2010-07-08 13:54:48','2015-10-05 19:47:22',NULL,NULL,'demo',1,NULL,NULL,NULL,1,0,'demo','fe01ce2a7fbac8fafaed7c982a04e229',NULL,NULL,'Doe','David','','','09123123','','','daviddoe@mycompany.com','',0,'','','',1,1,NULL,NULL,NULL,'','2016-07-30 23:10:54','2016-07-30 23:04:17',NULL,'',1,'johndoe.png',NULL,NULL,11,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL),(3,'2010-07-11 16:18:59','2015-10-05 19:57:57',NULL,NULL,'pcurie',1,NULL,NULL,NULL,1,0,'pcuriedolibarr','ab335b4eb4c3c99334f656e5db9584c9',NULL,NULL,'Curie','Pierre','','','','','','pcurie@example.com','',0,'','','',1,1,NULL,NULL,2,'','2012-12-21 17:38:55',NULL,NULL,'',1,'pierrecurie.jpg',NULL,NULL,14,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,NULL,NULL),(4,'2013-01-23 17:52:27','2015-10-05 20:08:34',NULL,NULL,'bbookkeeper',1,NULL,NULL,NULL,1,0,'bbookkeeper','a7d30b58d647fcf59b7163f9592b1dbb',NULL,NULL,'Bookkeeper','Bob','Bookkeeper','','','','','','',0,'','','',1,1,17,6,NULL,'','2013-02-25 10:18:41','2013-01-23 17:53:20',NULL,'',1,NULL,NULL,NULL,11,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL),(10,'2015-10-03 11:47:41','2015-10-05 20:07:18',NULL,NULL,'mcurie',1,NULL,NULL,NULL,1,0,'mcurie','11c9c772d6471aa24c27274bdd8a223b',NULL,'t3mnkbhs','Curie','Marie','','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',1,'mariecurie.jpg',NULL,NULL,14,NULL,'','','',NULL,NULL,'ffaaff','',NULL,0,0,NULL,NULL,NULL,NULL,'woman',NULL),(11,'2015-10-05 09:07:52','2015-10-05 19:57:02',NULL,NULL,'zzeceo',1,NULL,NULL,NULL,1,0,'zzeceo','92af989c4c3a5140fb5d73eb77a52454',NULL,'cq78nf9m','Zeceo','Zack','President','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'','2015-10-05 22:48:08','2015-10-05 21:18:46',NULL,'',1,NULL,NULL,NULL,NULL,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,NULL,NULL),(12,'2015-10-05 09:09:46','2016-01-22 13:13:42',NULL,NULL,'admin',0,NULL,NULL,NULL,1,0,'admin','21232f297a57a5a743894a0e4a801fc3',NULL,'nd6hgbcr','Adminson','Alice','Admin Technical','','','','','','',1,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'','2016-07-30 23:04:31','2016-07-30 23:03:59',NULL,'',1,'mariecurie.jpg',NULL,NULL,11,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,'woman',NULL),(13,'2015-10-05 21:29:35','2016-01-22 13:51:46',NULL,NULL,'ccommercy',1,NULL,NULL,NULL,1,0,'ccomercy','11c9c772d6471aa24c27274bdd8a223b',NULL,'y451ksdv','Commercy','Charle','Commercial leader','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',1,NULL,NULL,NULL,11,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL),(14,'2015-10-05 21:33:33','2015-10-05 19:52:05',NULL,NULL,'sscientol',1,NULL,NULL,NULL,1,0,'sscientol','39bee07ac42f31c98e79cdcd5e5fe4c5',NULL,'s2hp8bxd','Scientol','Sam','Scientist leader','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',1,NULL,NULL,NULL,11,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,NULL,NULL),(16,'2015-10-05 22:47:52','2015-11-15 22:25:17',NULL,NULL,'cc1',1,NULL,NULL,NULL,1,0,'cc1','d68005ccf362b82d084551b6291792a3',NULL,'cx9y1dk0','Charle1','Commerson','Sale representative','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'','2015-10-05 23:46:24','2015-10-05 23:37:31',NULL,'',1,NULL,NULL,NULL,13,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,NULL,NULL),(17,'2015-10-05 22:48:39','2016-01-22 16:30:01',NULL,NULL,'cc2',1,NULL,NULL,NULL,1,0,'cc2','a964065211872fb76f876c6c3e952ea3',NULL,'gw8cb7xj','Charle2','Commerson','Sale representative','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'','2015-10-05 23:16:06',NULL,NULL,'',0,NULL,NULL,NULL,13,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL),(18,'2016-01-22 17:27:02','2016-07-30 12:51:23',NULL,NULL,'ldestailleur',1,NULL,NULL,NULL,1,0,'laurentd2013','1bb7805145a7a5066df9e6d585b8b645',NULL,'87g06wbx','Destailleur','Laurent','Project leader of Dolibarr ERP CRM','','','','','ldestailleur@example.com','
Laurent DESTAILLEUR
\r\n\r\n
\r\n
Project Director
\r\nldestailleur@example.com
\r\n\r\n
 
\r\n\r\n\r\n
',0,NULL,NULL,NULL,1,1,10,10,NULL,'More information on http://www.destailleur.fr','2016-07-30 22:26:58',NULL,NULL,'',1,'ldestailleur_200x200.jpg',NULL,NULL,NULL,NULL,'','','',NULL,NULL,'007f7f','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL); /*!40000 ALTER TABLE `llx_user` ENABLE KEYS */; UNLOCK TABLES; @@ -8318,7 +8318,7 @@ CREATE TABLE `llx_user_param` ( LOCK TABLES `llx_user_param` WRITE; /*!40000 ALTER TABLE `llx_user_param` DISABLE KEYS */; -INSERT INTO `llx_user_param` VALUES (1,1,'MAIN_BOXES_0','1'),(1,1,'MAIN_THEME','eldy'),(1,3,'THEME_ELDY_ENABLE_PERSONALIZED','1'),(1,1,'THEME_ELDY_RGB','ded0ed'),(1,3,'THEME_ELDY_RGB','d0ddc3'),(11,1,'MAIN_BOXES_0','1'),(12,1,'MAIN_BOXES_0','1'),(12,1,'MAIN_SELECTEDFIELDS_projectlist','ef.priority,p.ref,p.title,s.nom,commercial,p.dateo,p.datee,p.public,p.opp_amount,p.fk_opp_status,p.opp_percent,p.fk_statut,'); +INSERT INTO `llx_user_param` VALUES (1,1,'MAIN_BOXES_0','1'),(1,1,'MAIN_THEME','eldy'),(1,3,'THEME_ELDY_ENABLE_PERSONALIZED','1'),(1,1,'THEME_ELDY_RGB','ded0ed'),(1,3,'THEME_ELDY_RGB','d0ddc3'),(2,1,'MAIN_BOXES_0','1'),(11,1,'MAIN_BOXES_0','1'),(12,1,'MAIN_BOXES_0','1'),(12,1,'MAIN_SELECTEDFIELDS_projectlist','ef.priority,p.ref,p.title,s.nom,commercial,p.dateo,p.datee,p.public,p.opp_amount,p.fk_opp_status,p.opp_percent,p.fk_statut,'); /*!40000 ALTER TABLE `llx_user_param` ENABLE KEYS */; UNLOCK TABLES; @@ -8373,7 +8373,7 @@ CREATE TABLE `llx_user_rights` ( PRIMARY KEY (`rowid`), UNIQUE KEY `uk_user_rights` (`fk_user`,`fk_id`), CONSTRAINT `fk_user_rights_fk_user_user` FOREIGN KEY (`fk_user`) REFERENCES `llx_user` (`rowid`) -) ENGINE=InnoDB AUTO_INCREMENT=15048 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=15079 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -8382,7 +8382,7 @@ CREATE TABLE `llx_user_rights` ( LOCK TABLES `llx_user_rights` WRITE; /*!40000 ALTER TABLE `llx_user_rights` DISABLE KEYS */; -INSERT INTO `llx_user_rights` VALUES (12402,1,11),(12380,1,12),(12385,1,13),(12389,1,14),(12393,1,15),(12398,1,16),(12404,1,19),(9726,1,21),(9700,1,22),(9706,1,24),(9711,1,25),(9716,1,26),(9722,1,27),(9728,1,28),(9978,1,31),(9968,1,32),(9974,1,34),(1910,1,36),(9980,1,38),(11573,1,41),(11574,1,42),(11575,1,44),(11576,1,45),(7184,1,61),(7181,1,62),(7183,1,64),(7185,1,67),(7186,1,68),(1678,1,71),(1673,1,72),(1675,1,74),(1679,1,75),(1677,1,76),(1681,1,78),(1682,1,79),(12322,1,81),(12309,1,82),(12312,1,84),(12314,1,86),(12317,1,87),(12320,1,88),(12323,1,89),(11580,1,91),(11581,1,92),(11582,1,93),(11583,1,94),(10097,1,95),(10099,1,96),(10103,1,97),(10104,1,98),(7139,1,101),(7134,1,102),(7136,1,104),(7137,1,105),(7138,1,106),(7140,1,109),(10229,1,111),(10201,1,112),(10207,1,113),(10213,1,114),(10219,1,115),(10225,1,116),(10231,1,117),(12518,1,121),(12508,1,122),(12514,1,125),(12520,1,126),(11577,1,141),(11578,1,142),(11579,1,144),(2307,1,151),(2304,1,152),(2306,1,153),(2308,1,154),(10092,1,161),(10093,1,162),(10094,1,163),(10095,1,164),(10096,1,165),(1585,1,170),(12342,1,171),(12331,1,172),(12335,1,173),(12339,1,174),(12343,1,178),(10000,1,221),(9990,1,222),(9996,1,223),(10002,1,229),(10007,1,237),(10011,1,238),(10015,1,239),(1686,1,241),(1685,1,242),(1687,1,243),(12604,1,251),(12566,1,252),(12569,1,253),(12572,1,254),(12575,1,255),(12579,1,256),(1617,1,258),(12525,1,262),(12544,1,281),(12534,1,282),(12540,1,283),(12546,1,286),(12288,1,300),(12290,1,301),(11591,1,302),(1763,1,331),(1762,1,332),(1764,1,333),(12582,1,341),(12584,1,342),(12586,1,343),(12588,1,344),(12600,1,351),(12593,1,352),(12597,1,353),(12601,1,354),(12605,1,358),(12560,1,531),(12553,1,532),(12557,1,534),(1625,1,536),(12561,1,538),(12358,1,700),(12348,1,701),(12354,1,702),(12360,1,703),(1755,1,1001),(1754,1,1002),(1756,1,1003),(1758,1,1004),(1759,1,1005),(7146,1,1101),(7143,1,1102),(7145,1,1104),(7147,1,1109),(12412,1,1181),(12458,1,1182),(12417,1,1183),(12420,1,1184),(12423,1,1185),(12427,1,1186),(12431,1,1187),(12437,1,1188),(12434,1,1189),(1578,1,1201),(1579,1,1202),(12454,1,1231),(12443,1,1232),(12446,1,1233),(12449,1,1234),(12452,1,1235),(12455,1,1236),(12459,1,1237),(1736,1,1251),(12409,1,1321),(12326,1,1421),(8190,1,1791),(8187,1,1792),(8191,1,1793),(12264,1,2401),(12260,1,2402),(12266,1,2403),(12280,1,2411),(12276,1,2412),(12282,1,2413),(12286,1,2414),(1618,1,2500),(12370,1,2501),(12367,1,2503),(12371,1,2515),(9610,1,5001),(9611,1,5002),(12490,1,20001),(12468,1,20002),(12474,1,20003),(12480,1,20004),(12486,1,20005),(12492,1,20006),(12302,1,23001),(12295,1,23002),(12299,1,23003),(12303,1,23004),(7701,1,50101),(4984,1,50401),(4983,1,50402),(4985,1,50403),(4987,1,50411),(4988,1,50412),(4989,1,50415),(12498,1,55001),(12499,1,55002),(3564,1,100700),(3565,1,100701),(9596,1,101051),(9598,1,101052),(9600,1,101053),(9604,1,101060),(9605,1,101061),(7177,1,101201),(7178,1,101202),(10353,1,101250),(10355,1,101251),(8980,1,101261),(8981,1,101262),(7616,1,101331),(10030,1,101701),(10031,1,101702),(3582,1,102000),(3583,1,102001),(9819,1,400051),(9823,1,400052),(9827,1,400053),(9831,1,400055),(132,2,11),(133,2,12),(134,2,13),(135,2,14),(136,2,16),(137,2,19),(138,2,21),(139,2,22),(140,2,24),(141,2,25),(142,2,26),(143,2,27),(10359,2,31),(145,2,32),(10361,2,34),(146,2,36),(147,2,41),(148,2,42),(149,2,44),(150,2,61),(151,2,62),(152,2,64),(153,2,71),(154,2,72),(155,2,74),(156,2,75),(157,2,78),(158,2,79),(159,2,81),(160,2,82),(161,2,84),(162,2,86),(163,2,87),(164,2,88),(165,2,89),(166,2,91),(167,2,92),(168,2,93),(2475,2,95),(2476,2,96),(2477,2,97),(2478,2,98),(169,2,101),(170,2,102),(171,2,104),(172,2,109),(173,2,111),(174,2,112),(175,2,113),(176,2,114),(177,2,116),(178,2,117),(179,2,121),(180,2,122),(181,2,125),(182,2,141),(183,2,142),(184,2,144),(2479,2,151),(2480,2,152),(2481,2,153),(2482,2,154),(185,2,161),(186,2,162),(187,2,163),(188,2,164),(189,2,165),(190,2,170),(2471,2,171),(192,2,172),(2472,2,173),(193,2,221),(194,2,222),(195,2,229),(196,2,241),(197,2,242),(198,2,243),(199,2,251),(201,2,262),(202,2,281),(203,2,282),(204,2,283),(205,2,331),(2483,2,531),(207,2,532),(2484,2,534),(208,2,536),(2473,2,700),(210,2,701),(211,2,702),(2474,2,703),(212,2,1001),(213,2,1002),(214,2,1003),(215,2,1004),(216,2,1005),(217,2,1101),(218,2,1102),(219,2,1104),(220,2,1109),(221,2,1181),(222,2,1182),(223,2,1183),(224,2,1184),(225,2,1185),(226,2,1186),(227,2,1187),(228,2,1188),(229,2,1201),(230,2,1202),(231,2,1231),(232,2,1232),(233,2,1233),(234,2,1234),(235,2,1421),(236,2,2401),(237,2,2402),(238,2,2403),(239,2,2411),(240,2,2412),(241,2,2413),(242,2,2500),(2470,2,2501),(243,2,2515),(10363,2,20001),(10364,2,20002),(10365,2,20003),(10366,2,20004),(10367,2,20005),(10368,2,20006),(10362,2,50101),(10372,2,101250),(1807,3,11),(1808,3,31),(1809,3,36),(1810,3,41),(1811,3,61),(1812,3,71),(1813,3,72),(1814,3,74),(1815,3,75),(1816,3,78),(1817,3,79),(1818,3,91),(1819,3,95),(1820,3,97),(1821,3,111),(1822,3,121),(1823,3,122),(1824,3,125),(1825,3,161),(1826,3,170),(1827,3,171),(1828,3,172),(1829,3,221),(1830,3,222),(1831,3,229),(1832,3,241),(1833,3,242),(1834,3,243),(1835,3,251),(1836,3,255),(1837,3,256),(1838,3,262),(1839,3,281),(1840,3,282),(1841,3,283),(1842,3,331),(1843,3,531),(1844,3,536),(1845,3,700),(1846,3,1001),(1847,3,1002),(1848,3,1003),(1849,3,1004),(1850,3,1005),(1851,3,1181),(1852,3,1182),(1853,3,1201),(1854,3,1202),(1855,3,1231),(1856,3,2401),(1857,3,2402),(1858,3,2403),(1859,3,2411),(1860,3,2412),(1861,3,2413),(1862,3,2500),(1863,3,2515),(8026,4,11),(8027,4,21),(8028,4,31),(8029,4,41),(8030,4,61),(8031,4,71),(8032,4,72),(8033,4,74),(8034,4,75),(8035,4,78),(8036,4,79),(8037,4,81),(8038,4,91),(8039,4,95),(8040,4,97),(8041,4,101),(8042,4,111),(8043,4,121),(8044,4,151),(8045,4,161),(8046,4,171),(8047,4,221),(8048,4,222),(8049,4,229),(8050,4,241),(8051,4,242),(8052,4,243),(8146,4,251),(8147,4,253),(8053,4,262),(8054,4,281),(8055,4,331),(8056,4,341),(8057,4,342),(8058,4,343),(8059,4,344),(8060,4,531),(8061,4,700),(8062,4,1001),(8063,4,1002),(8064,4,1003),(8065,4,1004),(8066,4,1005),(8067,4,1101),(8068,4,1181),(8069,4,1182),(8070,4,1201),(8071,4,1202),(8072,4,1231),(8073,4,2401),(8074,4,2501),(8075,4,2503),(8076,4,2515),(8077,4,20001),(8078,4,50101),(8079,4,101201),(8080,4,101261),(8081,4,102000),(8082,4,400051),(8083,4,400052),(8084,4,400053),(8085,4,400055),(12608,10,11),(12609,10,21),(12610,10,31),(12611,10,41),(12612,10,61),(12613,10,71),(12614,10,72),(12615,10,74),(12616,10,75),(12617,10,78),(12618,10,79),(12619,10,81),(12620,10,91),(12621,10,95),(12622,10,97),(12623,10,101),(12624,10,111),(12625,10,121),(12626,10,151),(12627,10,161),(12628,10,171),(12629,10,221),(12630,10,222),(12631,10,229),(12632,10,241),(12633,10,242),(12634,10,243),(12635,10,262),(12636,10,281),(12637,10,300),(12638,10,331),(12639,10,341),(12640,10,342),(12641,10,343),(12642,10,344),(12643,10,531),(12644,10,700),(12645,10,1001),(12646,10,1002),(12647,10,1003),(12648,10,1004),(12649,10,1005),(12650,10,1101),(12651,10,1181),(12652,10,1182),(12653,10,1201),(12654,10,1202),(12655,10,1231),(12656,10,2401),(12657,10,2501),(12658,10,2503),(12659,10,2515),(12660,10,20001),(12661,10,20002),(12662,10,23001),(12663,10,50101),(12664,11,11),(12665,11,21),(12666,11,31),(12667,11,41),(12668,11,61),(12669,11,71),(12670,11,72),(12671,11,74),(12672,11,75),(12673,11,78),(12674,11,79),(12675,11,81),(12676,11,91),(12677,11,95),(12678,11,97),(12679,11,101),(12680,11,111),(12681,11,121),(12682,11,151),(12683,11,161),(12684,11,171),(12685,11,221),(12686,11,222),(12687,11,229),(12688,11,241),(12689,11,242),(12690,11,243),(12691,11,262),(12692,11,281),(12693,11,300),(12694,11,331),(12695,11,341),(12696,11,342),(12697,11,343),(12698,11,344),(12699,11,531),(12700,11,700),(12701,11,1001),(12702,11,1002),(12703,11,1003),(12704,11,1004),(12705,11,1005),(12706,11,1101),(12707,11,1181),(12708,11,1182),(12709,11,1201),(12710,11,1202),(12711,11,1231),(12712,11,2401),(12713,11,2501),(12714,11,2503),(12715,11,2515),(12716,11,20001),(12717,11,20002),(12718,11,23001),(12719,11,50101),(14748,12,11),(14738,12,12),(14740,12,13),(14742,12,14),(14744,12,15),(14747,12,16),(14750,12,19),(14146,12,21),(14135,12,22),(14137,12,24),(14139,12,25),(14142,12,26),(14145,12,27),(14148,12,28),(14930,12,31),(14926,12,32),(14929,12,34),(14932,12,38),(13816,12,41),(13813,12,42),(13815,12,44),(13817,12,45),(14094,12,61),(14091,12,62),(14093,12,64),(14095,12,67),(14096,12,68),(13891,12,71),(13886,12,72),(13888,12,74),(13892,12,75),(13890,12,76),(13894,12,78),(13895,12,79),(14955,12,81),(14949,12,82),(14950,12,84),(14951,12,86),(14953,12,87),(14954,12,88),(14956,12,89),(13904,12,91),(13900,12,92),(13903,12,93),(13906,12,94),(13990,12,95),(12734,12,97),(14939,12,101),(14935,12,102),(14936,12,104),(14937,12,105),(14938,12,106),(14940,12,109),(14051,12,111),(14038,12,112),(14041,12,113),(14044,12,114),(14047,12,115),(14050,12,116),(14053,12,117),(15015,12,121),(15011,12,122),(15014,12,125),(15017,12,126),(13821,12,141),(13820,12,142),(13822,12,144),(13912,12,151),(13909,12,152),(13911,12,153),(13913,12,154),(14063,12,161),(14056,12,162),(14058,12,163),(14060,12,164),(14062,12,165),(14064,12,167),(13350,12,171),(13345,12,172),(13347,12,173),(13349,12,174),(13351,12,178),(13838,12,221),(13834,12,222),(13837,12,223),(13840,12,229),(13842,12,237),(13844,12,238),(13846,12,239),(13516,12,241),(13515,12,242),(13517,12,243),(14730,12,251),(14711,12,252),(14713,12,253),(14714,12,254),(14716,12,255),(14718,12,256),(15019,12,262),(15028,12,281),(15024,12,282),(15027,12,283),(15030,12,286),(14732,12,300),(14733,12,301),(14126,12,331),(14125,12,332),(14127,12,333),(14719,12,341),(14720,12,342),(14721,12,343),(14722,12,344),(14728,12,351),(14725,12,352),(14727,12,353),(14729,12,354),(14731,12,358),(13865,12,510),(13862,12,512),(13864,12,514),(13866,12,517),(14686,12,531),(14683,12,532),(14685,12,534),(14687,12,538),(13358,12,700),(14832,12,701),(14831,12,702),(14834,12,703),(13858,12,771),(13849,12,772),(13851,12,773),(13853,12,774),(13855,12,775),(13857,12,776),(13859,12,779),(14917,12,1001),(14916,12,1002),(14918,12,1003),(14920,12,1004),(14921,12,1005),(14945,12,1101),(14943,12,1102),(14944,12,1104),(14946,12,1109),(14762,12,1121),(14755,12,1122),(14757,12,1123),(14759,12,1124),(14761,12,1125),(14763,12,1126),(14982,12,1181),(15005,12,1182),(14985,12,1183),(14986,12,1184),(14988,12,1185),(14990,12,1186),(14992,12,1187),(14995,12,1188),(14993,12,1189),(13827,12,1201),(13828,12,1202),(15003,12,1231),(14998,12,1232),(14999,12,1233),(15001,12,1234),(15002,12,1235),(15004,12,1236),(15006,12,1237),(13829,12,1251),(14752,12,1321),(14957,12,1421),(15036,12,2401),(15035,12,2402),(15038,12,2403),(15044,12,2411),(15043,12,2412),(15046,12,2413),(15047,12,2414),(14591,12,2501),(14590,12,2503),(14592,12,2515),(14651,12,20001),(14641,12,20002),(14644,12,20003),(14647,12,20004),(14650,12,20005),(14653,12,20006),(14825,12,23001),(14822,12,23002),(14824,12,23003),(14826,12,23004),(13712,12,50101),(14655,12,55001),(14656,12,55002),(14128,12,59001),(14129,12,59002),(14130,12,59003),(14818,12,63001),(14815,12,63002),(14817,12,63003),(14819,12,63004),(12776,13,11),(12777,13,21),(12778,13,31),(12779,13,41),(12780,13,61),(12781,13,71),(12782,13,72),(12783,13,74),(12784,13,75),(12785,13,78),(12786,13,79),(12787,13,81),(12788,13,91),(12789,13,95),(12790,13,97),(12791,13,101),(12792,13,111),(12793,13,121),(12794,13,151),(12795,13,161),(12796,13,171),(12797,13,221),(12798,13,222),(12799,13,229),(12800,13,241),(12801,13,242),(12802,13,243),(12803,13,262),(12804,13,281),(12805,13,300),(12806,13,331),(12807,13,341),(12808,13,342),(12809,13,343),(12810,13,344),(12811,13,531),(12812,13,700),(12813,13,1001),(12814,13,1002),(12815,13,1003),(12816,13,1004),(12817,13,1005),(12818,13,1101),(12819,13,1181),(12820,13,1182),(12821,13,1201),(12822,13,1202),(12823,13,1231),(12824,13,2401),(12825,13,2501),(12826,13,2503),(12827,13,2515),(12828,13,20001),(12829,13,20002),(12830,13,23001),(12831,13,50101),(12832,14,11),(12833,14,21),(12834,14,31),(12835,14,41),(12836,14,61),(12837,14,71),(12838,14,72),(12839,14,74),(12840,14,75),(12841,14,78),(12842,14,79),(12843,14,81),(12844,14,91),(12845,14,95),(12846,14,97),(12847,14,101),(12848,14,111),(12849,14,121),(12850,14,151),(12851,14,161),(12852,14,171),(12853,14,221),(12854,14,222),(12855,14,229),(12856,14,241),(12857,14,242),(12858,14,243),(12859,14,262),(12860,14,281),(12861,14,300),(12862,14,331),(12863,14,341),(12864,14,342),(12865,14,343),(12866,14,344),(12867,14,531),(12868,14,700),(12869,14,1001),(12870,14,1002),(12871,14,1003),(12872,14,1004),(12873,14,1005),(12874,14,1101),(12875,14,1181),(12876,14,1182),(12877,14,1201),(12878,14,1202),(12879,14,1231),(12880,14,2401),(12881,14,2501),(12882,14,2503),(12883,14,2515),(12884,14,20001),(12885,14,20002),(12886,14,23001),(12887,14,50101),(12944,16,11),(12945,16,21),(12946,16,31),(13056,16,41),(13057,16,42),(13058,16,44),(13059,16,45),(12948,16,61),(12949,16,71),(12950,16,72),(12951,16,74),(12952,16,75),(12953,16,78),(12954,16,79),(12955,16,81),(12956,16,91),(12957,16,95),(12958,16,97),(12959,16,101),(12960,16,111),(12961,16,121),(13060,16,141),(13061,16,142),(13062,16,144),(12962,16,151),(12963,16,161),(12964,16,171),(12965,16,221),(12966,16,222),(12967,16,229),(12968,16,241),(12969,16,242),(12970,16,243),(13128,16,251),(13064,16,262),(12972,16,281),(12973,16,300),(12974,16,331),(12975,16,341),(12976,16,342),(12977,16,343),(12978,16,344),(12979,16,531),(12980,16,700),(12981,16,1001),(12982,16,1002),(12983,16,1003),(12984,16,1004),(12985,16,1005),(12986,16,1101),(12987,16,1181),(12988,16,1182),(12989,16,1201),(12990,16,1202),(12991,16,1231),(12992,16,2401),(12993,16,2501),(12994,16,2503),(12995,16,2515),(12996,16,20001),(12997,16,20002),(12998,16,23001),(12999,16,50101),(13000,17,11),(13001,17,21),(13002,17,31),(13065,17,41),(13066,17,42),(13067,17,44),(13068,17,45),(13004,17,61),(13005,17,71),(13006,17,72),(13007,17,74),(13008,17,75),(13009,17,78),(13010,17,79),(13011,17,81),(13012,17,91),(13013,17,95),(13014,17,97),(13015,17,101),(13016,17,111),(13017,17,121),(13069,17,141),(13070,17,142),(13071,17,144),(13018,17,151),(13019,17,161),(13020,17,171),(13021,17,221),(13022,17,222),(13023,17,229),(13024,17,241),(13025,17,242),(13026,17,243),(13028,17,281),(13029,17,300),(13030,17,331),(13031,17,341),(13032,17,342),(13033,17,343),(13034,17,344),(13035,17,531),(13036,17,700),(13037,17,1001),(13038,17,1002),(13039,17,1003),(13040,17,1004),(13041,17,1005),(13042,17,1101),(13043,17,1181),(13044,17,1182),(13045,17,1201),(13046,17,1202),(13047,17,1231),(13048,17,2401),(13049,17,2501),(13050,17,2503),(13051,17,2515),(13052,17,20001),(13053,17,20002),(13054,17,23001),(13055,17,50101),(14504,18,11),(14505,18,21),(14506,18,31),(14507,18,41),(14508,18,61),(14509,18,71),(14510,18,78),(14511,18,81),(14512,18,91),(14513,18,95),(14514,18,101),(14515,18,111),(14516,18,121),(14517,18,151),(14518,18,161),(14519,18,221),(14520,18,241),(14521,18,262),(14522,18,281),(14523,18,300),(14524,18,331),(14525,18,332),(14526,18,333),(14527,18,341),(14528,18,342),(14529,18,343),(14530,18,344),(14531,18,531),(14532,18,701),(14533,18,771),(14534,18,774),(14535,18,1001),(14536,18,1004),(14537,18,1101),(14538,18,1181),(14539,18,1182),(14540,18,1201),(14541,18,1231),(14542,18,2401),(14543,18,2501),(14544,18,2503),(14545,18,2515),(14546,18,20001),(14547,18,20002),(14548,18,50101),(14549,18,59001); +INSERT INTO `llx_user_rights` VALUES (12402,1,11),(12380,1,12),(12385,1,13),(12389,1,14),(12393,1,15),(12398,1,16),(12404,1,19),(9726,1,21),(9700,1,22),(9706,1,24),(9711,1,25),(9716,1,26),(9722,1,27),(9728,1,28),(9978,1,31),(9968,1,32),(9974,1,34),(1910,1,36),(9980,1,38),(11573,1,41),(11574,1,42),(11575,1,44),(11576,1,45),(7184,1,61),(7181,1,62),(7183,1,64),(7185,1,67),(7186,1,68),(1678,1,71),(1673,1,72),(1675,1,74),(1679,1,75),(1677,1,76),(1681,1,78),(1682,1,79),(12322,1,81),(12309,1,82),(12312,1,84),(12314,1,86),(12317,1,87),(12320,1,88),(12323,1,89),(11580,1,91),(11581,1,92),(11582,1,93),(11583,1,94),(10097,1,95),(10099,1,96),(10103,1,97),(10104,1,98),(7139,1,101),(7134,1,102),(7136,1,104),(7137,1,105),(7138,1,106),(7140,1,109),(10229,1,111),(10201,1,112),(10207,1,113),(10213,1,114),(10219,1,115),(10225,1,116),(10231,1,117),(12518,1,121),(12508,1,122),(12514,1,125),(12520,1,126),(11577,1,141),(11578,1,142),(11579,1,144),(2307,1,151),(2304,1,152),(2306,1,153),(2308,1,154),(10092,1,161),(10093,1,162),(10094,1,163),(10095,1,164),(10096,1,165),(1585,1,170),(12342,1,171),(12331,1,172),(12335,1,173),(12339,1,174),(12343,1,178),(10000,1,221),(9990,1,222),(9996,1,223),(10002,1,229),(10007,1,237),(10011,1,238),(10015,1,239),(1686,1,241),(1685,1,242),(1687,1,243),(12604,1,251),(12566,1,252),(12569,1,253),(12572,1,254),(12575,1,255),(12579,1,256),(1617,1,258),(12525,1,262),(12544,1,281),(12534,1,282),(12540,1,283),(12546,1,286),(12288,1,300),(12290,1,301),(11591,1,302),(1763,1,331),(1762,1,332),(1764,1,333),(12582,1,341),(12584,1,342),(12586,1,343),(12588,1,344),(12600,1,351),(12593,1,352),(12597,1,353),(12601,1,354),(12605,1,358),(12560,1,531),(12553,1,532),(12557,1,534),(1625,1,536),(12561,1,538),(12358,1,700),(12348,1,701),(12354,1,702),(12360,1,703),(1755,1,1001),(1754,1,1002),(1756,1,1003),(1758,1,1004),(1759,1,1005),(7146,1,1101),(7143,1,1102),(7145,1,1104),(7147,1,1109),(12412,1,1181),(12458,1,1182),(12417,1,1183),(12420,1,1184),(12423,1,1185),(12427,1,1186),(12431,1,1187),(12437,1,1188),(12434,1,1189),(1578,1,1201),(1579,1,1202),(12454,1,1231),(12443,1,1232),(12446,1,1233),(12449,1,1234),(12452,1,1235),(12455,1,1236),(12459,1,1237),(1736,1,1251),(12409,1,1321),(12326,1,1421),(8190,1,1791),(8187,1,1792),(8191,1,1793),(12264,1,2401),(12260,1,2402),(12266,1,2403),(12280,1,2411),(12276,1,2412),(12282,1,2413),(12286,1,2414),(1618,1,2500),(12370,1,2501),(12367,1,2503),(12371,1,2515),(9610,1,5001),(9611,1,5002),(12490,1,20001),(12468,1,20002),(12474,1,20003),(12480,1,20004),(12486,1,20005),(12492,1,20006),(12302,1,23001),(12295,1,23002),(12299,1,23003),(12303,1,23004),(7701,1,50101),(4984,1,50401),(4983,1,50402),(4985,1,50403),(4987,1,50411),(4988,1,50412),(4989,1,50415),(12498,1,55001),(12499,1,55002),(3564,1,100700),(3565,1,100701),(9596,1,101051),(9598,1,101052),(9600,1,101053),(9604,1,101060),(9605,1,101061),(7177,1,101201),(7178,1,101202),(10353,1,101250),(10355,1,101251),(8980,1,101261),(8981,1,101262),(7616,1,101331),(10030,1,101701),(10031,1,101702),(3582,1,102000),(3583,1,102001),(9819,1,400051),(9823,1,400052),(9827,1,400053),(9831,1,400055),(132,2,11),(133,2,12),(134,2,13),(135,2,14),(136,2,16),(137,2,19),(138,2,21),(139,2,22),(140,2,24),(141,2,25),(142,2,26),(143,2,27),(10359,2,31),(145,2,32),(10361,2,34),(146,2,36),(147,2,41),(148,2,42),(149,2,44),(150,2,61),(151,2,62),(152,2,64),(153,2,71),(154,2,72),(155,2,74),(156,2,75),(157,2,78),(158,2,79),(159,2,81),(160,2,82),(161,2,84),(162,2,86),(163,2,87),(164,2,88),(165,2,89),(166,2,91),(167,2,92),(168,2,93),(2475,2,95),(2476,2,96),(2477,2,97),(2478,2,98),(169,2,101),(170,2,102),(171,2,104),(172,2,109),(173,2,111),(174,2,112),(175,2,113),(176,2,114),(177,2,116),(178,2,117),(179,2,121),(180,2,122),(181,2,125),(182,2,141),(183,2,142),(184,2,144),(2479,2,151),(2480,2,152),(2481,2,153),(2482,2,154),(185,2,161),(186,2,162),(187,2,163),(188,2,164),(189,2,165),(190,2,170),(2471,2,171),(192,2,172),(2472,2,173),(193,2,221),(194,2,222),(195,2,229),(196,2,241),(197,2,242),(198,2,243),(199,2,251),(201,2,262),(202,2,281),(203,2,282),(204,2,283),(205,2,331),(15072,2,510),(2483,2,531),(207,2,532),(2484,2,534),(208,2,536),(2473,2,700),(210,2,701),(211,2,702),(2474,2,703),(15064,2,771),(15057,2,772),(15059,2,773),(15061,2,774),(15063,2,775),(15065,2,776),(212,2,1001),(213,2,1002),(214,2,1003),(215,2,1004),(216,2,1005),(217,2,1101),(218,2,1102),(219,2,1104),(220,2,1109),(15073,2,1121),(15074,2,1122),(15075,2,1123),(15076,2,1124),(15077,2,1125),(15078,2,1126),(221,2,1181),(222,2,1182),(223,2,1183),(224,2,1184),(225,2,1185),(226,2,1186),(227,2,1187),(228,2,1188),(229,2,1201),(230,2,1202),(231,2,1231),(232,2,1232),(233,2,1233),(234,2,1234),(235,2,1421),(236,2,2401),(237,2,2402),(238,2,2403),(239,2,2411),(240,2,2412),(241,2,2413),(242,2,2500),(2470,2,2501),(243,2,2515),(10363,2,20001),(10364,2,20002),(10365,2,20003),(10366,2,20004),(10367,2,20005),(10368,2,20006),(15054,2,23001),(10362,2,50101),(15067,2,55001),(15066,2,59001),(15068,2,63001),(15069,2,63002),(15070,2,63003),(15071,2,63004),(10372,2,101250),(1807,3,11),(1808,3,31),(1809,3,36),(1810,3,41),(1811,3,61),(1812,3,71),(1813,3,72),(1814,3,74),(1815,3,75),(1816,3,78),(1817,3,79),(1818,3,91),(1819,3,95),(1820,3,97),(1821,3,111),(1822,3,121),(1823,3,122),(1824,3,125),(1825,3,161),(1826,3,170),(1827,3,171),(1828,3,172),(1829,3,221),(1830,3,222),(1831,3,229),(1832,3,241),(1833,3,242),(1834,3,243),(1835,3,251),(1836,3,255),(1837,3,256),(1838,3,262),(1839,3,281),(1840,3,282),(1841,3,283),(1842,3,331),(1843,3,531),(1844,3,536),(1845,3,700),(1846,3,1001),(1847,3,1002),(1848,3,1003),(1849,3,1004),(1850,3,1005),(1851,3,1181),(1852,3,1182),(1853,3,1201),(1854,3,1202),(1855,3,1231),(1856,3,2401),(1857,3,2402),(1858,3,2403),(1859,3,2411),(1860,3,2412),(1861,3,2413),(1862,3,2500),(1863,3,2515),(8026,4,11),(8027,4,21),(8028,4,31),(8029,4,41),(8030,4,61),(8031,4,71),(8032,4,72),(8033,4,74),(8034,4,75),(8035,4,78),(8036,4,79),(8037,4,81),(8038,4,91),(8039,4,95),(8040,4,97),(8041,4,101),(8042,4,111),(8043,4,121),(8044,4,151),(8045,4,161),(8046,4,171),(8047,4,221),(8048,4,222),(8049,4,229),(8050,4,241),(8051,4,242),(8052,4,243),(8146,4,251),(8147,4,253),(8053,4,262),(8054,4,281),(8055,4,331),(8056,4,341),(8057,4,342),(8058,4,343),(8059,4,344),(8060,4,531),(8061,4,700),(8062,4,1001),(8063,4,1002),(8064,4,1003),(8065,4,1004),(8066,4,1005),(8067,4,1101),(8068,4,1181),(8069,4,1182),(8070,4,1201),(8071,4,1202),(8072,4,1231),(8073,4,2401),(8074,4,2501),(8075,4,2503),(8076,4,2515),(8077,4,20001),(8078,4,50101),(8079,4,101201),(8080,4,101261),(8081,4,102000),(8082,4,400051),(8083,4,400052),(8084,4,400053),(8085,4,400055),(12608,10,11),(12609,10,21),(12610,10,31),(12611,10,41),(12612,10,61),(12613,10,71),(12614,10,72),(12615,10,74),(12616,10,75),(12617,10,78),(12618,10,79),(12619,10,81),(12620,10,91),(12621,10,95),(12622,10,97),(12623,10,101),(12624,10,111),(12625,10,121),(12626,10,151),(12627,10,161),(12628,10,171),(12629,10,221),(12630,10,222),(12631,10,229),(12632,10,241),(12633,10,242),(12634,10,243),(12635,10,262),(12636,10,281),(12637,10,300),(12638,10,331),(12639,10,341),(12640,10,342),(12641,10,343),(12642,10,344),(12643,10,531),(12644,10,700),(12645,10,1001),(12646,10,1002),(12647,10,1003),(12648,10,1004),(12649,10,1005),(12650,10,1101),(12651,10,1181),(12652,10,1182),(12653,10,1201),(12654,10,1202),(12655,10,1231),(12656,10,2401),(12657,10,2501),(12658,10,2503),(12659,10,2515),(12660,10,20001),(12661,10,20002),(12662,10,23001),(12663,10,50101),(12664,11,11),(12665,11,21),(12666,11,31),(12667,11,41),(12668,11,61),(12669,11,71),(12670,11,72),(12671,11,74),(12672,11,75),(12673,11,78),(12674,11,79),(12675,11,81),(12676,11,91),(12677,11,95),(12678,11,97),(12679,11,101),(12680,11,111),(12681,11,121),(12682,11,151),(12683,11,161),(12684,11,171),(12685,11,221),(12686,11,222),(12687,11,229),(12688,11,241),(12689,11,242),(12690,11,243),(12691,11,262),(12692,11,281),(12693,11,300),(12694,11,331),(12695,11,341),(12696,11,342),(12697,11,343),(12698,11,344),(12699,11,531),(12700,11,700),(12701,11,1001),(12702,11,1002),(12703,11,1003),(12704,11,1004),(12705,11,1005),(12706,11,1101),(12707,11,1181),(12708,11,1182),(12709,11,1201),(12710,11,1202),(12711,11,1231),(12712,11,2401),(12713,11,2501),(12714,11,2503),(12715,11,2515),(12716,11,20001),(12717,11,20002),(12718,11,23001),(12719,11,50101),(14748,12,11),(14738,12,12),(14740,12,13),(14742,12,14),(14744,12,15),(14747,12,16),(14750,12,19),(14146,12,21),(14135,12,22),(14137,12,24),(14139,12,25),(14142,12,26),(14145,12,27),(14148,12,28),(14930,12,31),(14926,12,32),(14929,12,34),(14932,12,38),(13816,12,41),(13813,12,42),(13815,12,44),(13817,12,45),(14094,12,61),(14091,12,62),(14093,12,64),(14095,12,67),(14096,12,68),(13891,12,71),(13886,12,72),(13888,12,74),(13892,12,75),(13890,12,76),(13894,12,78),(13895,12,79),(14955,12,81),(14949,12,82),(14950,12,84),(14951,12,86),(14953,12,87),(14954,12,88),(14956,12,89),(13904,12,91),(13900,12,92),(13903,12,93),(13906,12,94),(13990,12,95),(12734,12,97),(14939,12,101),(14935,12,102),(14936,12,104),(14937,12,105),(14938,12,106),(14940,12,109),(14051,12,111),(14038,12,112),(14041,12,113),(14044,12,114),(14047,12,115),(14050,12,116),(14053,12,117),(15015,12,121),(15011,12,122),(15014,12,125),(15017,12,126),(13821,12,141),(13820,12,142),(13822,12,144),(13912,12,151),(13909,12,152),(13911,12,153),(13913,12,154),(14063,12,161),(14056,12,162),(14058,12,163),(14060,12,164),(14062,12,165),(14064,12,167),(13350,12,171),(13345,12,172),(13347,12,173),(13349,12,174),(13351,12,178),(13838,12,221),(13834,12,222),(13837,12,223),(13840,12,229),(13842,12,237),(13844,12,238),(13846,12,239),(13516,12,241),(13515,12,242),(13517,12,243),(14730,12,251),(14711,12,252),(14713,12,253),(14714,12,254),(14716,12,255),(14718,12,256),(15019,12,262),(15028,12,281),(15024,12,282),(15027,12,283),(15030,12,286),(14732,12,300),(14733,12,301),(14126,12,331),(14125,12,332),(14127,12,333),(14719,12,341),(14720,12,342),(14721,12,343),(14722,12,344),(14728,12,351),(14725,12,352),(14727,12,353),(14729,12,354),(14731,12,358),(13865,12,510),(13862,12,512),(13864,12,514),(13866,12,517),(14686,12,531),(14683,12,532),(14685,12,534),(14687,12,538),(13358,12,700),(14832,12,701),(14831,12,702),(14834,12,703),(13858,12,771),(13849,12,772),(13851,12,773),(13853,12,774),(13855,12,775),(13857,12,776),(13859,12,779),(14917,12,1001),(14916,12,1002),(14918,12,1003),(14920,12,1004),(14921,12,1005),(14945,12,1101),(14943,12,1102),(14944,12,1104),(14946,12,1109),(14762,12,1121),(14755,12,1122),(14757,12,1123),(14759,12,1124),(14761,12,1125),(14763,12,1126),(14982,12,1181),(15005,12,1182),(14985,12,1183),(14986,12,1184),(14988,12,1185),(14990,12,1186),(14992,12,1187),(14995,12,1188),(14993,12,1189),(13827,12,1201),(13828,12,1202),(15003,12,1231),(14998,12,1232),(14999,12,1233),(15001,12,1234),(15002,12,1235),(15004,12,1236),(15006,12,1237),(13829,12,1251),(14752,12,1321),(14957,12,1421),(15036,12,2401),(15035,12,2402),(15038,12,2403),(15044,12,2411),(15043,12,2412),(15046,12,2413),(15047,12,2414),(14591,12,2501),(14590,12,2503),(14592,12,2515),(14651,12,20001),(14641,12,20002),(14644,12,20003),(14647,12,20004),(14650,12,20005),(14653,12,20006),(14825,12,23001),(14822,12,23002),(14824,12,23003),(14826,12,23004),(13712,12,50101),(15052,12,55001),(15053,12,55002),(14128,12,59001),(14129,12,59002),(14130,12,59003),(14818,12,63001),(14815,12,63002),(14817,12,63003),(14819,12,63004),(12776,13,11),(12777,13,21),(12778,13,31),(12779,13,41),(12780,13,61),(12781,13,71),(12782,13,72),(12783,13,74),(12784,13,75),(12785,13,78),(12786,13,79),(12787,13,81),(12788,13,91),(12789,13,95),(12790,13,97),(12791,13,101),(12792,13,111),(12793,13,121),(12794,13,151),(12795,13,161),(12796,13,171),(12797,13,221),(12798,13,222),(12799,13,229),(12800,13,241),(12801,13,242),(12802,13,243),(12803,13,262),(12804,13,281),(12805,13,300),(12806,13,331),(12807,13,341),(12808,13,342),(12809,13,343),(12810,13,344),(12811,13,531),(12812,13,700),(12813,13,1001),(12814,13,1002),(12815,13,1003),(12816,13,1004),(12817,13,1005),(12818,13,1101),(12819,13,1181),(12820,13,1182),(12821,13,1201),(12822,13,1202),(12823,13,1231),(12824,13,2401),(12825,13,2501),(12826,13,2503),(12827,13,2515),(12828,13,20001),(12829,13,20002),(12830,13,23001),(12831,13,50101),(12832,14,11),(12833,14,21),(12834,14,31),(12835,14,41),(12836,14,61),(12837,14,71),(12838,14,72),(12839,14,74),(12840,14,75),(12841,14,78),(12842,14,79),(12843,14,81),(12844,14,91),(12845,14,95),(12846,14,97),(12847,14,101),(12848,14,111),(12849,14,121),(12850,14,151),(12851,14,161),(12852,14,171),(12853,14,221),(12854,14,222),(12855,14,229),(12856,14,241),(12857,14,242),(12858,14,243),(12859,14,262),(12860,14,281),(12861,14,300),(12862,14,331),(12863,14,341),(12864,14,342),(12865,14,343),(12866,14,344),(12867,14,531),(12868,14,700),(12869,14,1001),(12870,14,1002),(12871,14,1003),(12872,14,1004),(12873,14,1005),(12874,14,1101),(12875,14,1181),(12876,14,1182),(12877,14,1201),(12878,14,1202),(12879,14,1231),(12880,14,2401),(12881,14,2501),(12882,14,2503),(12883,14,2515),(12884,14,20001),(12885,14,20002),(12886,14,23001),(12887,14,50101),(12944,16,11),(12945,16,21),(12946,16,31),(13056,16,41),(13057,16,42),(13058,16,44),(13059,16,45),(12948,16,61),(12949,16,71),(12950,16,72),(12951,16,74),(12952,16,75),(12953,16,78),(12954,16,79),(12955,16,81),(12956,16,91),(12957,16,95),(12958,16,97),(12959,16,101),(12960,16,111),(12961,16,121),(13060,16,141),(13061,16,142),(13062,16,144),(12962,16,151),(12963,16,161),(12964,16,171),(12965,16,221),(12966,16,222),(12967,16,229),(12968,16,241),(12969,16,242),(12970,16,243),(13128,16,251),(13064,16,262),(12972,16,281),(12973,16,300),(12974,16,331),(12975,16,341),(12976,16,342),(12977,16,343),(12978,16,344),(12979,16,531),(12980,16,700),(12981,16,1001),(12982,16,1002),(12983,16,1003),(12984,16,1004),(12985,16,1005),(12986,16,1101),(12987,16,1181),(12988,16,1182),(12989,16,1201),(12990,16,1202),(12991,16,1231),(12992,16,2401),(12993,16,2501),(12994,16,2503),(12995,16,2515),(12996,16,20001),(12997,16,20002),(12998,16,23001),(12999,16,50101),(13000,17,11),(13001,17,21),(13002,17,31),(13065,17,41),(13066,17,42),(13067,17,44),(13068,17,45),(13004,17,61),(13005,17,71),(13006,17,72),(13007,17,74),(13008,17,75),(13009,17,78),(13010,17,79),(13011,17,81),(13012,17,91),(13013,17,95),(13014,17,97),(13015,17,101),(13016,17,111),(13017,17,121),(13069,17,141),(13070,17,142),(13071,17,144),(13018,17,151),(13019,17,161),(13020,17,171),(13021,17,221),(13022,17,222),(13023,17,229),(13024,17,241),(13025,17,242),(13026,17,243),(13028,17,281),(13029,17,300),(13030,17,331),(13031,17,341),(13032,17,342),(13033,17,343),(13034,17,344),(13035,17,531),(13036,17,700),(13037,17,1001),(13038,17,1002),(13039,17,1003),(13040,17,1004),(13041,17,1005),(13042,17,1101),(13043,17,1181),(13044,17,1182),(13045,17,1201),(13046,17,1202),(13047,17,1231),(13048,17,2401),(13049,17,2501),(13050,17,2503),(13051,17,2515),(13052,17,20001),(13053,17,20002),(13054,17,23001),(13055,17,50101),(14504,18,11),(14505,18,21),(14506,18,31),(14507,18,41),(14508,18,61),(14509,18,71),(14510,18,78),(14511,18,81),(14512,18,91),(14513,18,95),(14514,18,101),(14515,18,111),(14516,18,121),(14517,18,151),(14518,18,161),(14519,18,221),(14520,18,241),(14521,18,262),(14522,18,281),(14523,18,300),(14524,18,331),(14525,18,332),(14526,18,333),(14527,18,341),(14528,18,342),(14529,18,343),(14530,18,344),(14531,18,531),(14532,18,701),(14533,18,771),(14534,18,774),(14535,18,1001),(14536,18,1004),(14537,18,1101),(14538,18,1181),(14539,18,1182),(14540,18,1201),(14541,18,1231),(14542,18,2401),(14543,18,2501),(14544,18,2503),(14545,18,2515),(14546,18,20001),(14547,18,20002),(14548,18,50101),(14549,18,59001); /*!40000 ALTER TABLE `llx_user_rights` ENABLE KEYS */; UNLOCK TABLES; @@ -8486,7 +8486,7 @@ CREATE TABLE `llx_usergroup_user` ( KEY `fk_usergroup_user_fk_usergroup` (`fk_usergroup`), CONSTRAINT `fk_usergroup_user_fk_user` FOREIGN KEY (`fk_user`) REFERENCES `llx_user` (`rowid`), CONSTRAINT `fk_usergroup_user_fk_usergroup` FOREIGN KEY (`fk_usergroup`) REFERENCES `llx_usergroup` (`rowid`) -) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -8495,7 +8495,7 @@ CREATE TABLE `llx_usergroup_user` ( LOCK TABLES `llx_usergroup_user` WRITE; /*!40000 ALTER TABLE `llx_usergroup_user` DISABLE KEYS */; -INSERT INTO `llx_usergroup_user` VALUES (2,1,1,3),(3,1,3,3),(4,1,11,2),(5,1,13,4),(6,1,16,1),(7,1,17,1),(11,1,18,1),(8,1,18,2),(9,1,18,3),(10,1,18,4); +INSERT INTO `llx_usergroup_user` VALUES (2,1,1,3),(12,1,2,4),(3,1,3,3),(4,1,11,2),(5,1,13,4),(6,1,16,1),(7,1,17,1),(11,1,18,1),(8,1,18,2),(9,1,18,3),(10,1,18,4); /*!40000 ALTER TABLE `llx_usergroup_user` ENABLE KEYS */; UNLOCK TABLES; @@ -8573,4 +8573,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2016-07-30 20:24:56 +-- Dump completed on 2016-07-30 21:12:54 From 64fbff3abc87e76cf3e398ac61a4ad2557caa454 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 31 Jul 2016 02:18:48 +0200 Subject: [PATCH 187/476] Fix for 4.0 doliwamp --- build/exe/doliwamp/doliwamp.iss | 59 +++++++++++++++------------ build/exe/doliwamp/httpd.conf.install | 3 ++ build/makepack-dolibarr.pl | 1 + 3 files changed, 36 insertions(+), 27 deletions(-) diff --git a/build/exe/doliwamp/doliwamp.iss b/build/exe/doliwamp/doliwamp.iss index 242f7ac30ef..34757a5123a 100644 --- a/build/exe/doliwamp/doliwamp.iss +++ b/build/exe/doliwamp/doliwamp.iss @@ -42,6 +42,7 @@ SolidCompression=yes WizardImageFile=build\exe\doliwamp\doliwamp.bmp WizardSmallImageFile=build\exe\doliwamp\doliwampsmall.bmp SetupIconFile=doc\images\dolibarr.ico +;To say the installer must be ran as admin PrivilegesRequired=admin DisableProgramGroupPage=yes ChangesEnvironment=no @@ -148,8 +149,12 @@ Name: "{userdesktop}\Dolibarr Help center"; Filename: "{app}\rundolihelp.bat"; W [Registry] ; Add "run as admin" flag. Same than command line: reg add "HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /v "" /t REG_SZ /d RUNASADMIN -Root: "HKLM"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\"; ValueType: String; ValueName: "{app}\startdoliwamp.bat"; ValueData: "RUNASADMIN"; Flags: uninsdeletekeyifempty uninsdeletevalue; -Root: "HKLM"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\"; ValueType: String; ValueName: "{app}\stopdoliwamp.bat"; ValueData: "RUNASADMIN"; Flags: uninsdeletekeyifempty uninsdeletevalue; +Root: "HKLM"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: string; ValueName: "{app}\startdoliwamp.bat"; ValueData: "RUNASADMIN"; +Root: "HKLM"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: string; ValueName: "{app}\stopdoliwamp.bat"; ValueData: "RUNASADMIN"; +Root: "HKLM32"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: string; ValueName: "{app}\startdoliwamp.bat"; ValueData: "RUNASADMIN"; +Root: "HKLM32"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: string; ValueName: "{app}\stopdoliwamp.bat"; ValueData: "RUNASADMIN"; +Root: "HKLM64"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: string; ValueName: "{app}\startdoliwamp.bat"; ValueData: "RUNASADMIN"; Check: IsWin64 +Root: "HKLM64"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; ValueType: string; ValueName: "{app}\stopdoliwamp.bat"; ValueData: "RUNASADMIN"; Check: IsWin64 [Code] @@ -239,9 +244,9 @@ begin if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\MSCRM','SMTPServer', value) then begin if value <> '' then smtpServer:=value; - end - end - end + end; + end; + end; end; if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\NLTechno\DoliWamp','apachePort', value) then @@ -419,7 +424,7 @@ begin begin themessage := FmtMessage(CustomMessage('FailedToDeleteLock'),[pathWithSlashes]); MsgBox(themessage,mbInformation,MB_OK); - end + end; // Check if parameters already defined in conf.php file @@ -592,7 +597,7 @@ begin StringChangeEx (srcContents, 'WAMPAPACHEPORT', myporta, True); StringChangeEx (srcContents, 'WAMPAPACHEPSSL', myportas, True); SaveStringToFile(destFileA,srcContents, False); - end + end; if MsgBox(CustomMessage('DoliWampWillStartApacheMysql'),mbConfirmation,MB_YESNO) = IDYES then @@ -615,7 +620,7 @@ begin StringChangeEx (srcContents, 'WAMPPHPMYADMINVERSION', phpmyadminVersion, True); SaveStringToFile(destFile,srcContents, False); - end + end; DeleteFile(srcFile); @@ -648,8 +653,8 @@ begin StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True); SaveStringToFile(destFile, srcContents, False); - end - end + end; + end; DeleteFile(srcFile); @@ -679,8 +684,8 @@ begin StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True); StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True); SaveStringToFile(destFile,srcContents, False); - end - end + end; + end; @@ -703,7 +708,7 @@ begin StringChangeEx (srcContents, 'WAMPAPACHEPSSL', myportas, True); SaveStringToFile(destFile,srcContents, False); - end + end; @@ -725,7 +730,7 @@ begin StringChangeEx (srcContents, 'WAMPMYSQLVERSION', mysqlVersion, True); SaveStringToFile(destFile,srcContents, False); - end + end; @@ -757,7 +762,7 @@ begin StringChangeEx (srcContents, 'WAMPAPACHEPORT', myporta, True); StringChangeEx (srcContents, 'WAMPAPACHEPSSL', myportas, True); SaveStringToFile(destFile, srcContents, False); - end + end; @@ -780,7 +785,7 @@ begin StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True); SaveStringToFile(destFile,srcContents, False); - end + end; @@ -801,7 +806,7 @@ begin StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True); SaveStringToFile(destFile,srcContents, False); - end + end; @@ -822,7 +827,7 @@ begin StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True); SaveStringToFile(destFile,srcContents, False); - end + end; @@ -843,7 +848,7 @@ begin StringChangeEx (srcContents, 'WAMPMYSQLNEWPASSWORD', mypass, True); SaveStringToFile(destFile,srcContents, False); - end + end; //---------------------------------------------- @@ -864,7 +869,7 @@ begin StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True); SaveStringToFile(destFile,srcContents, False); - end + end; //---------------------------------------------- @@ -885,7 +890,7 @@ begin StringChangeEx (srcContents, 'WAMPMYSQLPORT', myport, True); SaveStringToFile(destFile,srcContents, False); - end + end; //---------------------------------------------- @@ -904,7 +909,7 @@ begin StringChangeEx (srcContents, 'WAMPAPACHEVERSION', apacheVersion, True); SaveStringToFile(destFile,srcContents, False); - end + end; //---------------------------------------------- @@ -921,7 +926,7 @@ begin StringChangeEx (srcContents, 'WAMPSMTP', mysmtp, True); StringChangeEx (srcContents, 'WAMPPHPVERSION', phpVersion, True); SaveStringToFile(destFile,srcContents, False); - end + end; //---------------------------------------------- // Create file php.ini in apache (if not exists) @@ -937,7 +942,7 @@ begin StringChangeEx (srcContents, 'WAMPSMTP', mysmtp, True); StringChangeEx (srcContents, 'WAMPPHPVERSION', phpVersion, True); SaveStringToFile(destFile,srcContents, False); - end + end; @@ -979,7 +984,7 @@ begin res := False; - end + end; end else @@ -989,9 +994,9 @@ begin res := False; - end + end; - end + end; Result := res; diff --git a/build/exe/doliwamp/httpd.conf.install b/build/exe/doliwamp/httpd.conf.install index 96bf688b1d5..b2b3a9a8118 100644 --- a/build/exe/doliwamp/httpd.conf.install +++ b/build/exe/doliwamp/httpd.conf.install @@ -255,6 +255,9 @@ KeepAliveTimeout 30 # Controls who can get stuff from this server. # # onlineoffline tag - don't remove + + Require all granted + Require ip 127.0.0.1 Require host localhost diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index ab33706e868..809f279756c 100755 --- a/build/makepack-dolibarr.pl +++ b/build/makepack-dolibarr.pl @@ -1117,6 +1117,7 @@ if ($nboftargetok) { print "Move $SOURCE/build/$FILENAMEEXEDOLIWAMP.exe to $NEWDESTI/$FILENAMEEXEDOLIWAMP.exe\n"; $ret=`mv "$SOURCE/build/$FILENAMEEXEDOLIWAMP.exe" "$NEWDESTI/$FILENAMEEXEDOLIWAMP.exe"`; + print "Remove tmp file $SOURCE/build/exe/doliwamp/doliwamp.tmp.iss\n"; $ret=`rm "$SOURCE/build/exe/doliwamp/doliwamp.tmp.iss"`; next; From 1b6da075f72663f2118a96c87b24fd1bedc853c8 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 31 Jul 2016 02:26:06 +0200 Subject: [PATCH 188/476] Fix new apache 2.4 directives --- build/exe/doliwamp/dolibarr.conf.install | 5 +---- build/exe/doliwamp/phpmyadmin.conf.install | 10 ++-------- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/build/exe/doliwamp/dolibarr.conf.install b/build/exe/doliwamp/dolibarr.conf.install index 4dbb8c62317..db7a3ddc048 100644 --- a/build/exe/doliwamp/dolibarr.conf.install +++ b/build/exe/doliwamp/dolibarr.conf.install @@ -15,10 +15,7 @@ Alias /dolibarr "WAMPROOT/www/dolibarr/htdocs/" # NOTE FOR APACHE 2.3: # To restrict access to dolibarr from outside set lines # -# -# Require ip 127.0.0.1 -# Require host localhost -# +# Require local # # instead of # diff --git a/build/exe/doliwamp/phpmyadmin.conf.install b/build/exe/doliwamp/phpmyadmin.conf.install index 7c0c2f8141c..5f0e806d47b 100644 --- a/build/exe/doliwamp/phpmyadmin.conf.install +++ b/build/exe/doliwamp/phpmyadmin.conf.install @@ -19,17 +19,11 @@ Alias /phpmyadmin "WAMPROOT/apps/phpmyadminWAMPPHPMYADMINVERSION/" # # instead of # -# -# Require ip 127.0.0.1 -# Require host localhost -# +# Require local # Options Indexes FollowSymLinks MultiViews AllowOverride all - - Require ip 127.0.0.1 - Require host localhost - + Require local \ No newline at end of file From 79222c732d30fc33ce6ed573c5912b7db6bca946 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 31 Jul 2016 02:56:08 +0200 Subject: [PATCH 189/476] Fix bad var --- htdocs/core/class/conf.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/class/conf.class.php b/htdocs/core/class/conf.class.php index e9c2b597398..3ac15c7a8c8 100644 --- a/htdocs/core/class/conf.class.php +++ b/htdocs/core/class/conf.class.php @@ -485,7 +485,7 @@ class Conf if (! isset($this->global->MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN)) $this->global->MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN='*'; // Can be also '*' or '^(BILLING|SHIPPING|CUSTOMER|.*)$' (regex not yet implemented) // By default, we use the zip town autofill - if (! isset($conf->global->MAIN_USE_ZIPTOWN_DICTIONNARY)) $conf->global->MAIN_USE_ZIPTOWN_DICTIONNARY=1; + if (! isset($this->global->MAIN_USE_ZIPTOWN_DICTIONNARY)) $this->global->MAIN_USE_ZIPTOWN_DICTIONNARY=1; // Define list of limited modules if (! isset($this->global->MAIN_MODULES_FOR_EXTERNAL)) $this->global->MAIN_MODULES_FOR_EXTERNAL='user,supplier_proposal,facture,categorie,commande,fournisseur,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda,adherent'; // '' means 'all'. Note that contact is added here as it should be a module later. From 51e941b9b4a1ce8ae834e83edbae847c50e7adc3 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 31 Jul 2016 13:07:55 +0200 Subject: [PATCH 190/476] Fix for option MAIN_OPTIMIZEFORTEXTBROWSER --- htdocs/bookmarks/bookmarks.lib.php | 2 +- htdocs/core/class/html.form.class.php | 4 +++- htdocs/core/lib/functions.lib.php | 19 ++++++++-------- htdocs/main.inc.php | 31 +++++++++++++++------------ 4 files changed, 31 insertions(+), 25 deletions(-) diff --git a/htdocs/bookmarks/bookmarks.lib.php b/htdocs/bookmarks/bookmarks.lib.php index 4af1815c767..3cee534e797 100644 --- a/htdocs/bookmarks/bookmarks.lib.php +++ b/htdocs/bookmarks/bookmarks.lib.php @@ -72,7 +72,7 @@ function printBookmarksList($aDb, $aLangs) while ($i < $conf->global->BOOKMARKS_SHOW_IN_MENU && $obj = $db->fetch_object($resql)) { $ret.=''; $i++; } diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 61953629166..61a999f7a04 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -5012,7 +5012,9 @@ class Form */ static function multiSelectArrayWithCheckbox($htmlname, &$array, $varpage) { - global $user; + global $conf,$user; + + if (! empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) return ''; $tmpvar="MAIN_SELECTEDFIELDS_".$varpage; if (! empty($user->conf->$tmpvar)) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index b550246dd6f..98fa39789f7 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -182,15 +182,16 @@ function getBrowserInfo($user_agent) elseif (preg_match('/macintosh/i', $user_agent)) { $os='macintosh'; } // Name - if (preg_match('/firefox(\/|\s)([\d\.]*)/i', $user_agent, $reg)) { $name='firefox'; $version=$reg[2]; } - elseif (preg_match('/chrome(\/|\s)([\d\.]+)/i', $user_agent, $reg)) { $name='chrome'; $version=$reg[2]; } // we can have 'chrome (Mozilla...) chrome x.y' in one string - elseif (preg_match('/chrome/i', $user_agent, $reg)) { $name='chrome'; } - elseif (preg_match('/iceweasel/i', $user_agent)) { $name='iceweasel'; $version=$reg[2]; } - elseif (preg_match('/epiphany/i', $user_agent)) { $name='epiphany'; $version=$reg[2]; } - elseif (preg_match('/safari(\/|\s)([\d\.]*)/i', $user_agent, $reg)) { $name='safari'; $version=$reg[2]; } // Safari is often present in string for mobile but its not. - elseif (preg_match('/opera(\/|\s)([\d\.]*)/i', $user_agent, $reg)) { $name='opera'; $version=$reg[2]; } - elseif (preg_match('/(MSIE\s([0-9]+\.[0-9]))|.*(Trident\/[0-9]+.[0-9];\srv:([0-9]+\.[0-9]+))/i', $user_agent, $reg)) { $name='ie'; $version=end($reg); } // MS products at end - + if (preg_match('/firefox(\/|\s)([\d\.]*)/i', $user_agent, $reg)) { $name='firefox'; $version=$reg[2]; } + elseif (preg_match('/chrome(\/|\s)([\d\.]+)/i', $user_agent, $reg)) { $name='chrome'; $version=$reg[2]; } // we can have 'chrome (Mozilla...) chrome x.y' in one string + elseif (preg_match('/chrome/i', $user_agent, $reg)) { $name='chrome'; } + elseif (preg_match('/iceweasel/i', $user_agent)) { $name='iceweasel'; } + elseif (preg_match('/epiphany/i', $user_agent)) { $name='epiphany'; } + elseif (preg_match('/safari(\/|\s)([\d\.]*)/i', $user_agent, $reg)) { $name='safari'; $version=$reg[2]; } // Safari is often present in string for mobile but its not. + elseif (preg_match('/opera(\/|\s)([\d\.]*)/i', $user_agent, $reg)) { $name='opera'; $version=$reg[2]; } + elseif (preg_match('/(MSIE\s([0-9]+\.[0-9]))|.*(Trident\/[0-9]+.[0-9];\srv:([0-9]+\.[0-9]+))/i', $user_agent, $reg)) { $name='ie'; $version=end($reg); } // MS products at end + elseif (preg_match('/l(i|y)n(x|ks)(\(|\/|\s)*([\d\.]+)/i', $user_agent, $reg)) { $name='lynxlinks'; $version=$reg[4]; } + if ($tablet) { $layout = 'tablet'; } elseif ($phone) { diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index 40aa25798c4..03b81ed5535 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -766,7 +766,7 @@ if (! GETPOST('nojs')) // If javascript was not disabled on URL } else $conf->use_javascript_ajax=0; // Set MAIN_OPTIMIZEFORTEXTBROWSER -if (GETPOST('textbrowser') || ! empty($user->conf->MAIN_OPTIMIZEFORTEXTBROWSER)) // If text browser was enabled on URL +if (GETPOST('textbrowser') || (! empty($conf->browser->name) && $conf->browser->name == 'lynxlinks') || ! empty($user->conf->MAIN_OPTIMIZEFORTEXTBROWSER)) // If we must enable text browser { $conf->global->MAIN_OPTIMIZEFORTEXTBROWSER=1; } @@ -1437,21 +1437,24 @@ function top_menu($head, $title='', $target='', $disablejs=0, $disablehead=0, $a if (! empty($conf->global->MAIN_FEATURES_LEVEL)) $appli.="
".$langs->trans("LevelOfFeature").': '.$conf->global->MAIN_FEATURES_LEVEL; $logouttext=''; - $logouthtmltext=$appli.'
'; - if ($_SESSION["dol_authmode"] != 'forceuser' && $_SESSION["dol_authmode"] != 'http') + if (empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) { - $logouthtmltext.=$langs->trans("Logout").'
'; - - $logouttext .=''; - $logouttext .= img_picto($langs->trans('Logout').":".$langs->trans('Logout'), 'logout_top.png', 'class="login"', 0, 0, 1); - $logouttext .=''; + $logouthtmltext=$appli.'
'; + if ($_SESSION["dol_authmode"] != 'forceuser' && $_SESSION["dol_authmode"] != 'http') + { + $logouthtmltext.=$langs->trans("Logout").'
'; + + $logouttext .=''; + $logouttext .= img_picto($langs->trans('Logout').":".$langs->trans('Logout'), 'logout_top.png', 'class="login"', 0, 0, 1); + $logouttext .=''; + } + else + { + $logouthtmltext.=$langs->trans("NoLogoutProcessWithAuthMode",$_SESSION["dol_authmode"]); + $logouttext .= img_picto($langs->trans('Logout').":".$langs->trans('Logout'), 'logout_top.png', 'class="login"', 0, 0, 1); + } } - else - { - $logouthtmltext.=$langs->trans("NoLogoutProcessWithAuthMode",$_SESSION["dol_authmode"]); - $logouttext .= img_picto($langs->trans('Logout').":".$langs->trans('Logout'), 'logout_top.png', 'class="login"', 0, 0, 1); - } - + print '
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%0DkKKUJHB=g>Ah?65^Y2 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

7#>)^PM(>~LxvA0z{_(SYPGUUI0P?%%dTDJ4HNy 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%0DlJLR7AriJ58;x**AI`Mj5TO#;k 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

q)@`6Dkt{+R(X0Fx337zfDt}KH;N%4` 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ȑ$F>CHNU&!B) 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

~6$IUU4pL#TRMg=@$7x8Pic5wmPX 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

gzMqgue+b@YzuHgGr*z_k>NRN22-c3(v- zTaS(3SEX2zf@$J$j|l0u>|}yXJW&z$T}Wo%{H!qGXU4vk^=|LV0K$G-RMH-4RH>4l zl9V2ck4G#^-WRH+LWy`i>H#k~>#rV1wRr;jE4nTRl+>rU7$wnn&3q7z*X#L3jEV*5s68r$cZordWk~jgAN-mA0zfMN` zX|$;gK)pvhVGX^-JzRCYnX1Whz76kLZEpWB*;tQHHgDT*k!+6D!}N8O zUoLDy<)dN}_&fC(EGT8NqNvbV&>b2Z=Nv9|L2RBMl%BqTcGO67?H>Fr0M^1yBBh** z=aVd|bnQfBd9y#I<-uV=!psom(luXV(@tYjX^i4CWnAtUyD=4>s{C98?zP+gmqT4E zA=l=nsQaw$Sx|o|pXH!3e0$=XsOnV0(WUC1CHqq%* zajNWzODo!T)eE}oPC-Isyi=-V6Cl8|7UkC+SS!Q{pv;gu-iCjYr0ol`2vY5yeP!%H#|=Ux$^r9wXLsDq*BKpkrF$yWJeYcWAX)Ev z<3Q7NZ{~9JEUvwa=eH+3haO;{81O%L!aB~1xUzV0bGH3!WdRiEAscG&lDfHUFf#oQ70;0@J1n0utml*mRm{g;w=aY`a7t4lRQ z^_&OVxl<<@PH^Ve9b(iuo4bJv&7gh@V*7LehYc-2-xo%E@BIah&p_|EH`v`c$RWOP zifjaAObGP*Yc;_VhX33bf&tA%|Ki!qgYuqs^0mBzn%Z^^L!5~1UP$UzgfL@cYBYXz z0Pz_SIE>Yv>ufr;MynS>+y+j=1ZpWDU0yhrVGV}CLl*CT5gWr5e|9?!pU2oH!#*hm z)xo3q7~NP78^%`Mol0Y!?c5?kY*%yv9Ky@i{dt|_o_#?!)En)OzKBm|IYskA&z2nb z{=8$&d?$^GM~UAs7Ip88j!mUXJjLe8OoARSicgJ+DJ6teYZ?ZGJLpWs9R23{f{k`r z7tCOI!7(=%lR~vBZnRgtr>SK6tIfm;Jzznig{D|69fRrP>k*@X+xgrnzNO@D3%VGj zBJs}c8V`hXa1t8Kzy(#v`0ScdfL)CA%jbvMoHj!k+`sSebzHr$%uhnM&N|zU?-Tl# zX4Tr!s`SN|wT;A={qy+QY|zK8dgxSzR-fZEV(NuF#3wfLE`9h;y6h$cv2An_e(97k z*kA*3rZ^h`O3}7~1bb0N7g8w;>#7A3>zSFIY;_O$f87VXg|`4TG4;#LUJ0_pCTQcl$p#K^OEaj#W9jveASYw3xO}9pJmN^|mh(>fvb=H}K*2@*W%cL{nzm!S z(B^LJ1vE6~e5sH^!BIw#9_cnGPuh-xci`u_-BR|~)?Wad7fpwz?-L0GZARY2#+6A) zxvsSKOS*|HkX<`?F@!X?4_PN}{Yd)-_as|4>G;GAacU8slamu2o02=pYTi5;?RE`J zP)ll(LV`24ANpx?V+cYvBAehS)X>!hk(mGG?vF?XUe=<+EDEibKKd;Aqpv2L}K%1 zA+lnOdzVw>mAf~d5T`e7DpvEPyE@*C+WrI2k`8seI8`o_fh0}a!!*`?H}4iuT?wn5 zbvJKg`%Yujja$^X-=!P!xv*@ph)At=?P6Hn5Hz*WmyYm2dtI8a+M2S0Zxj~luMKXt z&(ncA!^TJR)*PwI`GPP+WgoqA4k*76$Z?MTU-zP1L zeD-7lCRT)JG*yXYE9DKnNiFq}vtRRPdIKKzZxZU>5twSYnd+2a_G@ZKFAU)PXm0ZyE;g!aX{B;M;j2=#%@}%5 z#ue}zqaNemt}`;M^B5uvv8b@Hk47;7J_=wFOJyq*V5*{1e-hoXM^{4SO}BPy&%GL>P830#E(>+B4prLHasnP*S>27o$gNH*Qu-=_DJ z>68Jys67z9K3PDA@CnNEKA}8_-_Oi5Wm_R?-18frD3#T)vSM1C5%CVB26uLL z#$+DV>I$*sx-!7cl>A%=1B5w%_y*vcYpVci4bVk&*Bwy1D^3NPvUmLd*O!u|a{C4b z&evu2HID=>M3Vmjwz#A+{}y6)0rdD3$`?n;e(UT&^GJO3E*I9;RjOf zN}7eHO^4RwM?50BWm_L~#x)iG;8e~IV<4&+U|7Aqyjulty#+M9HN{EiLd3F10iNES zJ-}B7Od5+3Mp;!=ylMpdZV^Ub055S%;6wj{2Ff3|)t#2z|EqD}#TkG`2Mh}WfoyIX z1qYKW(ZyAhJcpgJ`+vb@?JMLN^T&@8SV`effq8(E+lJ*z0!<)|+)Dvy`(niiXZ>jV zH^*SK2()OcVk*b~nwn$*d3$R)TGzWPTM?0GNjA;Y!o3veBB5&QL}Q2_ zc4Ji&i26##SRSXA_^NDfq$?ruH7IypOGtfDwnzWfciK>_&K=#@eoMXc--g*PMT-7C!mbc5arB(w@sTbQ~GgSp4Ew@%X zRi+=gNz}JIT20K3ykvi)U_h@=P#6IG{-iuTqkk~&tMX=+TaF+1sy3`0re??`kS(BvB?Tm-|2pRmM@FS!)$Hy?7xv-X0Vm+vWL(c&+BDRAqOOY&fYh%Jp5p=m76hh zolx`q&U0?Ul;fUN&lm#K-hmE$I*@+1r=Al}jjOzN3IC8+p)gi#aaYF1#%?c<=*0>C z3KkjxwY9aCGPo&e*eaG?{{6ejHzJ^tDK0iPzw_}oSB}5pfUgj23=MM?3R0C|Ks&ig z=&>Ri6bb!jXJbq6@4K=3LirM1o!q3l?1F z9Ldqq(M_YU|M~x~z^TuGs1Pm=&W4OVO<1f#KBQk*eF8{;WV8-jAxP2_Lb)ne=-0R{aCB{_gG=8#?~~ zmO*EpG!mH%IX@585ms2&w{CqpFn%}K8OlbkpmS71vFsm`iXSe|`~emqz0O%muBO(5m&EE_Igxh9)yf1CHcKr0PL#r0aa_d zl7lHlTbv4~a}*7qGYt2%C+2lFRx}%OA?lRLnqQmW=fdw)2(w>o`8Dk7@9~vP$;Flr zM83h31TCps4E^^oX@On%e@N-sYt>mc_IB~LDR~)tpt#{GlN8|#JHM@eD&6uba}GRE zg(_*3qqMHztt|P@)4qOo7Q>{HPG%t6Luxge&5-U3r)Si}N6Rl#I*Cc~7{o(cK|M-? zlR+?EUM+8X$X3qU$Cbjx`_;^0B#Re7g-HGbWB|Ghj;i}=xgsz8hl2zLrp@kurqEnV z-3Pv%C*2FHEZE0@O^h9v_a0mb9tHTc7E^^)0fNI&DHjHH|N6it-_n9+#3NBFI<`AL z!{6qZIIq6*aPS4ZUZHG@slB8?H{$SkO=XJ6J_8kcCo=Fr6i>we=sz3iUoUx~n6(b- z4I1Fp*-^T;#Kw-k0{k-eCoh~Ec1|IUX8rxqP*#XbQ!F#O~HkX`~Y$;1-ViD z2O>sXo3!HfX4_vdf*H&h@2N#K-SikCP9{&zMv=N1`|Ilme);6z9!FICUymc@k0I%cx4+9m5gHcjap8F6b2LC;>fy?y-^RMA~Iy*aS%9YaH zf(2wR|Dy$OC=u_ZA`@Z{6J~&~S~?x`|4{apQFU}pn{ea7JvbzR;1)c1Ah<(t4X(l6 zJ$Mq_L$D;cJLdqw-QC^Ys7$Il$V~yVVP-K zrTE*}Q|RzL=4*S)>4u>nO6048h3sS)$Y8y&r?-;Q@c_?cr`j!1|D3<$OXxA!4r5}y zz843HPv`beYhne@-eC%_$Uw8slJat1?a`=P*@>yvSI}EI5u8I)ggnwxL+$-iSp3I0 zEy+%=bZTQ9=8UUw&oj!SZ&uiKUuF~2tpy4BN1>>Hso#8*7H7+R=W~g3yNE#=nkniE@T*e}9y)%j7(%_*~rrQ8AP9X42QZq^a9Ot&nXuN%u`=N9JF{}@Lrimy!Lo1o~ zW`}v@14g@b;-v~4{$ZU)>-yDof2`ea$AT-L&u+m;Ka9p>3w;4ew(DP+@ zGJO&$Ro)q2Rr%-6!LA)HTFM()DnIW#>&=Fp_XU{zBSyuJW9*n?{1Y44Z?az22HWwb zW*vTsq7V|gtBU#++W5kIY~7e`%404gZ_aZ(A`%Si|LzMtRDspw|HIW!ka-0?mYFmy z8BVmNJIv~~JBvDQv3mUd)PWFZrJ@wqz-)b;UYmO0vLag2u=NM7kvgK(Lsr+BmkSGC zp7$O0RI5UrfEh(?K6sQH*O}XEznveHx;NKt*z{(t38WPY5i@}3$*j-6lX~OILl0i?+*C?41sOKcO9uVbxL42LwUv^*HktBSDoJXUdUe;L zx0?6S`kTJPIR6C3+pMKR`-R$Ir7Zf~82zcf$?rT;B6bFtK$>~_|3v81GctkAVTK>lP z)VM3i$vwkmH`xs1@U4Qrx{9#Lq($NE@&t3{76Uh7qdl&+2oCdnspa6g^cw``x1}*5BAo z5c{fkCIvg+EHrd-AVGIPko)|~s?pL}{QI)r+2d`I8H$*jR+CV=>}c1}v@ zzyLZpv7ic*(Qlz-fO3TW7ZVn_^EAlhH)lEZT13A*o?RjCO&_I#G5432=!9X3jey6|6oK%V3Br8te+HWZK#w_ff z5u4n|4|`WozizNblP#>-!k6O1gv3z|jD;w5X(FXgJaXTg4BpvyX!3KYfNfdgZ}Si1 z+8q~p`n$ER?3mn?b?^)BHKiFf0x61%?R3L-$F&Z%$xGFIay8=x_y7Q6BUf-y**BFI z={a!`Q$j08-QtWpg_j*;(^ZMX3b*}xK$?HgsL+TSi6^X)e!gyHl&ap9~h#Tec z093ACf~B=iULmDpJJqh@xnSb!ueOj2kdu=;UWSyBo6$xC*tYBbW*76E*U-P1C(*Zg5>5?*A|j9OFKfS9w+h6j41y%tvfztmcf=cwQ&(lN0tnHK~7wD#V=0?cQ^1IWW1k15UMh#RKC1BkGPAG^?&<*?ki~Ux5UKww6v_OG>MN+PK>_g^2(q` zsHm;<|BU-bSiUEto&1tR%3@z^ex&Zjd*2?P1K*emTjwP@|J96)X{A80vr+t#(n%)A zYR>fOS^-nrkAUwzgK)M5>P4ylS?Il<05Es`ibyF`azR9Kcnrc9=pW4*u|+thR(- z%U&xQp%g^_fPe889NEqh4Nt%_%a+P>*e{24Q*?Z$Sg=fbed6{Gw-HSUk{lO_iiEZ> zjiXeb+6YvuLo4eKdd>QWs=eh6Icda1x?_#ACToWEVC zR2-r@J?k>05D$dE{)fR=vV3ib9(qpSj;s=7UoTF9@M8YxqobpjJgix2_&Bfr_CvA^ z7q?~Z(g}!v`lHC;sm<7n*5|B z+CtjnMW#f`B_;)hBw9MU4m!FL07iHDn@;}Zwf$&1bzzyZCno6+Q93)!(=T#p?&?p}nY7ZWV3Ahv;HWnr0QbgrKJP{Pv^lUiAQK$C3omGqxiQax?m ziyK;CVPN~YzU4WMe(!Y>RdPDNrgR`Dt0et&)Zfy(4_Tm_^>euXT8%)*)-abOHYa!_ zvixc3GCReWq1q0TU(M19Wmb@$O@5#l3}o|+TB>Jo>Bd3gx3cL`{@pzj;=*2n|M|3U z9v8jb#72zh!Cwx$WRaYx!3 zqqg?PQSFb6j0;e4Jr!AxOMoDxb}sc}=3wTu?PE6C>DWJ01801J>=knu_LqEcOW96e zSq%_6LZZ{K+@uPEdR_;8De-O<&h_aUvXs`neX{Nyy2(Q?t<85>zV(jzU=?XBmK4@a zlW|bz0_zNCc^>t2m!u>{U3&~m+iIpaGM|m)KwD@vMIcJx!ZSnqp)d9Nf(zwLJdiY$}0QmDG!9 z;>g>iPuJq2^y<^{uhYWJ2Z`Ogmy`}LnmuQ?v*nvb0@_=Mr`=Uw0wXn1Qxji!v(&tB zrPx;4(>oC?Zd3Y66I(HU;>Q>CWrvuV_jmS&X=2S>zEj^?rW5Yoe1B=*kAe;%*(wF4 zT8bIka;oR?^LXCRRhU&qzs|ICPoW7?oOIl zlQHM+lasIIJLhZJI)lf)87z)nGut%y@AeZ$P20{(f`MJ(!!RWqe4 zon}; z9((U{`(1kjA+SQN%5#U`7tm=kW2_PGPm5DGCEoGwuR6x(zV$J`3(e`WBz5~74h1z(0BA!iTDcLMyAu5U(OAanHTnt zy(iZqUu;F*mvkkc(xqsaIA?_H!rhy9SLh}x{R*vbcH8a#ApxQ=50{+}9-hTEANwhh zi=?KxoE2pn7Dp^pCa-OfQWp%)#mi^!5*x?mT?%}w&$UR6-8n?DqMZ)0TS%?H)EYH$ zI;Wbthnz1#rtISsGaJ8A>Wm)cm0k->gPEW zJUga{SXdpMC1|0G5Smt%bd#jMI2i$xTfP)78j2c>3cI^QcYcTP1Nd|@p>9@_7E+Nv z@H;#+fb=5H{8cfyV0wQ2Pez2i@8}cWONE6;h4|#qFmS%nVJ>hD8J*Qp47gpzs~B;_ zCp!JYDEBuNi^F2WtP}|X8LPwC1z9!G_bHIzVgxZw1W0z5}EUM@J zW^xIqp)F+Q{Q;ueTtoM6OcB~R8+j5CU)g#^Dq{L{P`Bi@zL{)MHnf)T0oI}TWCO_^ z^S8Tt_0-Q+MpNiIhEP0QF%^{j3oql>=JUr-S3hpc9*=k-w}bsvyc-uxM{~aRE#&PH zIW}-^UedLhJQ>;-9GhduOIis_E7jI-^qUX9Lf&Mz9mM+%7|IS02ruS}IknY& z*T}UhQ0CVI%S+olj+I-JX5)qD9%V4Mz6+?m&5?hT*U^4i>)qbP zax2%O`|Nb}4{yaT~=tGeabGrv7Jm)D4Kfz zxF3a(nulxNS^C=N6nQtRsJd^wvgIR_#x=G9xgH{9y#6Iitb8;cfAd;CRZc7`t- zralQYlUmKJ`F~pS9dO8ydHs|7}v{JZ^kAvE7|&0O*>t=eE(G`B~m zu;HbqFmBg^dzkNbv$gNKlHtYo>5Cu9RsIck$6fo=C9d`qW?`7I3cTsnq4J#=JvljA za7d9cgsOynIV_`VIGMX6AM)_66xNNbi1WB47*#A4=Em~y+9W~)@R$oYGart(Jv9_f zL)G5BU0Alct*<=Gn0jebf_?qCfW7-^*I7vzaz9zw_3ox5Q>0wzwexb3eQWSEv|VnS z3n2S>@j(>wB@B6Gpi3@1f6Pf1n!&2?cB5*-k7Q)@Va6|lqxf94;lq#SjaLA3#Fxw+ zH(ZO|1$w_pR~Z>*NZw~YG1UdhK8KhFW0{Is!rzoV3`IXm_+1#*1|%ap^>xe~h44<8 zfs-6+ZWQe7XNuSpJ_?_&2T+#VV-9wzdXKLf7Ox zk;+@2{G3cb$SZzCs;2LeOEAwaC_As4!xnt%;SoPB?Cn4HyZ~HDS|(d9I*_xd0~n6H zs|RGGm?7IarhS4_?w$R=>@azR&!ocw=|ZEWDCf*Y@lWe%h2O1Hc98LD$7|E>!nbUU zA_xw8DcT%2WvN-sAdeK$S(IpIKa2?Vhr$sPyLr;MVzy2i)Y{EEG8G-ZbZafiLhp!k zj1z@xSuaF|)A}waytj2&5tN+NadP3LG+Z;EgyQMB+~~8hE0x5o{bac@-is2ue=9O} zvq#Wa-fjQp=EcqAjCXh$PTPI2zDy41w0OV4`TlEc8s53kR{r>tla5|jebbgA*4tH- ztY1}zb-c794#SYc#{`0#vzEh?eSw2O=wSEq5h(IXV{+?Rg@SQ$!!0;e>fW2 zHa45z^p1MsYso^d_P&4c`^8oEoYYk}GW$Va@5peqmuI2U=G@<${GR_O9b{H}RQP?g zHWlR6<8t!eXDPinog^Kn*p-vby2__=^`wkj+1=9y=Rp(xI8`@actGljpYc9%8oN3F zK0vQ*dE;r?gzW>dU5EG!fn+AD*M$0Kl)P40e% zSj{F!ROjMNx2I9Kab3d6wXl|=jXI4Bh;G*4bo{c8iPxX7iQ>mH4a*Z!Esxy{WFzy- zNt+t4m^o99Ho0iYTvQ~e-Ov#uiG;dh`Zv|dL)#qSV2__U;xmq1o;+R!-{yN>BqN!I zSqZDl@`UFIr$v8C_b&_G^i@CSt1ss4F(jQ#9J;w?OUFfi%iDOaxjWaG`K+Z14%)}N z94MgTp!2f=8VuRqXoUc~b4%VttaVus)5-R58+$ok^G7>iNU00f8odU<>O2W6`>W9toF>GcO|m$`jOG^l_d{_VukqrGTUP_xS| zl)66~%ShcC?#i=nsnYMakb&C^>f7D!3j-xltsIG0%GKJvpv!-+pdjskZ>)E(*2(pj5V<<+i+3Wpf=ky~M1hPQfTpt(MhPc;hmU z{ps30arhx8DcC}@J(^c^;Iky0PKyHJZ?`lOev_*AgTr;sQ<^kBVa!HtOy6xdt=- z-=3zHJSDqeQ$PH#FS3GoPY>97T#n$&4V2)8@sB1Gh`D9c2hDlXL&ZhUfrBIAm+|!T z1L~CoEZbM`4h`=!=C|5NlRH*jPFY6=KJpU)*(V4_#xJl`uqjv$$b=5q>vn!eI_Ikx zOQ3U{3?Q%zHm}B#WE_?8-~*+Kim)%(<0p^v6}{XJDC(EN&9?ZpQ0pP|)crEM)&|bC1vsd8T+>jnIbMSvb8)b7VoNk12Ej`^1)_q_w3dfZJm@ZVp=CX0zIf_3CyR7tr+GHOFi*X?2_vgI5+J7 zkg!Rm3i;H$>W0l-vqW>en@8s<#fpAmI;~3-K{wHBck;9E_f5v*B9GXe6f!h@%HGef z?kurVWH{4?a{M;o3~U(HZ@Qel4qKn~-R_}!@JgR3 zqvW4^FUEV3A&;}ojoGena$Yx%@BVuTdlaJ6XMA1r?le7H)AW$x9QQmUjJ011D&(19MqfqKo-j+_HKobyC=IJ6lnjR?4u^+fRZ@+bu7`JI; z>0-<$E!X8lyIT-0*OBXgFBIuj_=#>Ve^&)Jv;1}DW6!f)c;AMDQ>htl_-NvWhf$9G z8{k2$EE}DRBF;Perl+vw;j{Cp@3lnh{QdYJpm^C~dA-{^l#S)Z%qF&7Zf+Pw*hY9) zqi9Ed^F~f#od290#cj!*P~5UqL`Ip~O*)8<4jkD4~@Y>+kxqP)DZs1rZX|d@l(OF~0=Tv&5rJv?l+q;D7^&+f4 zFRq7Yxlx^cdw2T?mj94Jx86b)mulsFES+wC?7929MP z(0Px>-IOi&IY&nRLaCU)us$f`RqHl63+P!;n`@`UIdvonE#&_NhHJ2jmlE2}SLdv;_4H7_xom?y&K`pYPq(C^Ra zmSaDV|5Ak=a*&kx=%+szlBrgqoxv>0&vk=ed0Y{h@=L)Hk7$-?6n$Wno_u{OqTHKG%Ad7~YW znf#k0-#Fqu>V--#esCU%lt%N%KZZ;$Y1y*ytq4b)fK|V}Te_;MBUC07u;pi!C zJKKl#GCxRXoM>7br`U!_k!EGh%?aDx&-ZEE#zE;*UnFi}Vn)qXg)-*! z5X{VdVH|Z=JCSI`?d?h3qEaXA!GbOtODsO(z6u`VevZ_uYe3~jH^9G=(*JIBv!BZI z;d6gK&sv~yt&psg;;4sL~p3(#uK@!fRDavaI+5CQKU}5_UBZ$gMix~;-9RT+ssFp`^H!UVvlm2`Q?!|2AbC$2F)&j3c_fQp1h2lF&hpL9ivd-f z;$FR%@eP7U@@Sb2{DG~-YzhyDWl5vX6{fRgJP%J$ltWW*&Bs7G{~Fub%KK!N`%U|6 z-;>vi2_7&u{Qag<Unhj#=haxUPU*LbQbK9E%~uF&GZfBO!-09 zYe?T?ljwg$y<~OMgaR=@_xf=-e%QSELx#8XJ+9+d7k%ZfZn{J7_4Q*x?9Un=qSAO9 z+9Tf< z*LQI_xP0rgIbL^O7qPBZg?8OMIq~L%x`lwvU(%qsNquaY#=J%4z9inj!~W2NR_JDs z(Rq2_-OTXnw?J1kTi=S=w7R+&8qR6pb%;&E23rknDVCl)(&W5uITbT_Q%onAjbfIg(}T(l z^_t5*gF>T`RpkAO* z8j#$UwMq3H`}%o$S2l@uilF3NJ`yUE?W5X;R4S|QeKMPR;@uwNj@uQK?bgelA9FII zFi2YY-S2zJQvdLc^SUGdCOo>OoMNeF<#%utjvv9v8}25D>DKA)X6?=9yD9xyqMgGi zw&ZrD-g_oF>Hg4VfrEBAsXa#Pxo7Q$W%nInuH^zJci|TPIR($4KW`DCCoAEFPx?x@ z0o&-nas$3>N!p(qSdVy|ZO@2~g@XurSac6YN01w$!%jT)wU5_6tKLiJRll{CXLkR! zRog>}0SpBxOEJ}F>W|kG^>%*t*Rapo3bMmYUDQOpMl)Tpp;bfr!kG+!sTvz7dMJb$vg$3Qn@ei-%pvTab=ZGumRn*}f zql=4nT%?fOEwbc(B)YXvA5Y}r9CQ>%^|TBE42Qa7-0mm8;%4Mnvg%yf)*cH#)xQxs zuGw~uTJ=##5gUp-4PotLGL2nObx8eXHU~t9V-e{&v>{PFufl?6`(Di&mp{flb1UY_2g8Q;S zX6^P!f+EvKxT=R3(L5ms(GgwBkP*Kf(3Kkwa^1MmW2^}o8pXMXaZvLDSWYq1Z*bat zxIHh2$G|8wd4hLPE#Pp}d-MFAD$_Y z1>_tY&ey&9XUFw17~oGb0Hbb?%1oBo)?L_Bws&&Ck?%@`h1}2_xf)Tmaozm={k@c= zV!p@;BN(m{*1&o&YV4=+2<-TH}^AmhIr!vsEVgE!fl_c7x z2_haNz>oZt$OVJi7m8((yv4E8Rc7kdZk@E4PZ4mTI>a2Q@{EKdWnWoC0@Yvt#xp~u zBzdp_7nF&x@}z9-&*IbD;T`joUdq#2dmYzR^!T{^q;NX{^Id@n0&+K1_B;lMRGK4w ziAKgZnhTY>b(8ZlIC&|>#8jJbhP z1pTunrj^DI)vT246#BS0MMR9Q^(x{JK#&f&@p?9Ew5(G#F?Dke3>udb|P&VOUraCR*2!#tj?e z{3Euk3IBKaxi{f_y$s1+74Vx6S7JN&#hZYy1GX($4qeyp(Eb?od- zXP9pbeR4tTGH32R!^nJAlGALL!>bvOuC2j&XI0YFf)aGZNtx%0L$WzegBd*$>UAPKaJ0}EuTTi4(G8aAHj3_Z6qNQAZ7vb@V4 z-p-sXND(c2JIy|RGa-^Gn46Lc?qKh{qCaXP znuGsjjEY?&3eN2|zYk3?uAz}(Dk4ctk|D%$OV(i~tVfYPP8HBm>veWnO)*RQ zytPRJXVzTj!8-$G9p=dsrk~JwD!)|!=Ma?m)8f}taC!&g2ZolfHE4I^8 zrg$lSBJ^}b-;t&f8mG>1CI^teSBdhfO6;G_-w7RtcmJNObcNcklBp@peGcVxqNvf7 z^s@ae6c#iSvoE^3Uu&LGEpM(Veo>o!oP&wg&d)ZG^;P2NQw1s^T$Z3`*Z7NB;{Lsl z5?&##n4{GrZB*AgsMFLQt#_Eeez5Bp)DyOWE`?Fh;@6LP%+J=ZN?o?YIA#NnH7nA!n?Vo~!?Bn#BN(&^Xg&TO;npiQH#tBMpzJ&tO z0J#JG%8g#C8OsNNQuS94u@SI>_nL@G{JH0=cg9uP!~s?NEN--)pxze7^uIn+JIoH; zE|;%W63UFiJvS=qG^Qe^ET1s_GEdTLS2lctQ>rg#?=*3L(;&_u0QqVFzIKAhC>4I6TuE=8xc z-s!^c{DhSF*v#}Le%vr*=4Mf4PP9wV(7g*Z5;EGVlZ_6n`1sX2-C+m-uH4J?NwVHy zetopN-EUX3GVlM|<6vxmp%rki>sB_OV!u-1&fAY1O&e*JH|<8lo$G~%NdBYlAsdb- zQlpeWMo0kthB$R}Ohgg4>pLB2t4IW;s$K;x$LbEJ1dA+41qV0_xY*_Ku0BmK`9qzXVKv3U+x8cF(~8R;Vy?BN!UgD+_qhJgLTFt z_ev(##0K!KBtoqYBudL03qJc7GOe|st>!C!eNPs3*}R>D6R?d5bT~iuvq7o{E1%N< z2>bBYv80%PuF(J3RAE}xh?8=s5~3!d>V04LuqTjn#jE)~$1=G=nYj9K5zf0X^n4-E z<%zW`<7N8N{F%#yN!rrjp9$vv*3*tnXa<~pt5|;5ugHs^EgTV7Bm9CYifGVL$IwPM zxhBQ7fv)Mf2;Mrr+{)HT<#?&1>I#XHB)9hMQPjl2LrXw%5Cga-R_%}&v))oIiY3Io ze{tHo*n_-rhv3krMOjpfx{YDPmyJ}veC8+Vp|$Z9tE=UY$1HXtM-&Y84M`JPdfSFI*|yvHQ@idfanG&b(`o|N(^e4zOA zO5Hloq5laTpI6Z3v&=G7Sl7$y=_lYo1d&gWBQbT60m$BcY4MpLfb+Tb(z`}nyntCM z{1xP&Zwt=|9S?rxV^e;Wx~8;k@zT7}v*(xt zZ;eKi2vyW4$O@l9ueKs-+{UYwL>CQ!0(a@NoS+Ba%C&V7x|0q+p-o@b5vxm&`S*ha zfIGnrCfcD0HKCp0*rf5L-S=9m$Bq>4C;>HRC0aqT|=mk;0JdDGWJ| zncP5ux*#$dLe2M2F9xTsS{r@pT=Y|J- ztJ3L7cMd1kSHV7kNvY^H5MHPK00+gT7xKrS6kOr+5sO~&4tv3mj#{-EY34ZHA+Y;P zZHYv~tyqIe0cJRdVUkpO!NgFvX|kG^t6ewNqtuZUulkjKas*-Wed)Tm!X=dF<-GZq5U+WJ#3<7Q zhF>fR81{$u^Ax@KH7i(S!LQIi*B%(s+{~Y1e|R=uyfTWvfV6tf4c>u|7%0I7$jq>e zcJ;Vk$SWX1y;>+KzaA`3phH2#HZ3hOyGIusaW$h(dj1=PqqLhBTDdMSF^X$q`sC#0 zH0e)y|8l7<1_?-UC@c8$Q>F5@3%rs;Zxup@FXt^_^en3;u1=KjB$?<;rDEWH9&o#( zeW8Fc)r2{5l&-G<`W+ri6AuO=Bmie?&E2bdf=J&atft9W1D|vFfSlK&!cB{Q`%@*I zM)#rF&kxuRT-nK=_6=c94SGUCLSPZJeVPIb4M53FipfZrj=Z}Kuy^!?a8SV9g~TyQ zO!lc%7;ysLBHRiqs+5dtn0^-Gvnr86kJWpf!g-REMvH?eXS6O#cj*(>$M`$KdQU){ zOBNn8DN&v5pc%cIFIQ|@&oEVC-o8bWH?qn`hb0r^CvJcWcq9Hm{`S?66EG666Iu^Q z-87XnXjy zH$JyPMxlJ2CRbh_jDWnT&!%jxMLb{xL;dmq=P~(P9V88mSgE2$8M)1=dHZ4-Ya|tO z>t-bvPu>`s>C`kLatu7!TV{Bo(dLt2az@3|K7&08?Yts}o8hesI(BVaud2b}x|CT# zv~WqElv(M@%wqZMH_Nr2!Gr$%YK(pW8V|QZ%4F~RQ$C82j$n_UC24Api{E7i0Xiyk zB56*61FT$WSQpS+Zz308+K$Z80K}|sp1-UqNcALb_on1HAxB&>+6n3c`xLL<+34&9 z`GyD)<{8rR@tt%uIj$pTAiwz7w79gmD75Za{(UPjF!1ZwuL2m*I{W3UmKR$1)(g5b zDJqa9@3iGy-(vLY<5kjhji2is(%8{3;;a5$wl>u^vRSHI_@(#NS2&$5?xuZ>6|v1pd9ZlE6hyFcynDxz2w-5jXNLL|&qb_tvlhtU-|!_`aVHH~!@jn(NeL4N2owcxYgpP5^3|RT8y$1e z2A-c-uK3soky)7I)#E(A%Q<2N5U?&UFX7PjMOjGon?1hH`n}UE)oXAA+i$Kq@Mk)_ zdGU9%2+-hWvfp+`b8dtfcW?l#8y3$j?d^_fMh%1E>VJ&)7aIUqA(d(Leh0>BTy4Rn zsF8xpT8eGdBDg>mc1iX#@_A3Ha(B{rC?@*g4v(NWD9C(5WN5CMz|5x8Vx#MRR}9&7 znc?y7E*yE~tgXhxE1V3==Rr}oA{}NY>v1BA2muPT_)o?vASHyd;K&v9X91o?hch$f z6FJ14AQih`U0dWg{#fbjr4UCmUnHq@EJVo zh?p~z3p&L=MDhQ7wxa$yTmO)hg5*g`LPA1Lj)>FfcBo@-&n7ymJ`wah!}woLbr2#G zLBVwBs&NW3AV7}gvBmTK?-mi#c!>HuUQQomn#-Qj!ozu-o$t(~GgYqt@#)GYo0J~e zVI&|+>N>wh56U+?O?_-1z;YfWB&jGiB$PlE0|fsH7rT{M0CDhr=rW$*8T`BQkSz@y z;eVJ%Ko^LgF=|&!7f9yr#RJL&z`oN>OH1sUvdO){}8qAk0Ac87w4n71qDQr6J>sQ?W{WB@U zqcpHRQVeK(npC(=*^s$g-VER0=Y=f;I$8S1YvZLC5R&ftBKt_cORmmVS#5>1i}7z5 z9FQ~()=blPVQg=86l|KsLn0Yc*q)KmeAOs;@opHcrK4ZQk$+7eYy=_=VX}sFg$)xC z7F2|x71>1I@I+x;0qE@ex*t_|C~_&2RU{YGeem7Y5U~KG;~RI5_STqf3fC-W%p46kN%fR}Hn2WjD_Ff@ zX!IRgpQK=IW?2YsV`~M`QoaaZ4DHBTLOo6xNUzGxFZD% zvHLBEdgH!4iSE18KtLZmLR#6W?lYGwj)~dxC&< z0y7!|T|MohmPvFdLT2JDD(dWH*p)^j0<#MkU^t51e+JVVe^ci41lEB)Q~`7%aaic& z8OnK+>f4>jX&#`a)_ZPYHKndeV9rTqp%e2OCtz3JL>Qf2#Fujr_xdjU-UNX(*v8Bt}1#N*U;6V5lphOj5ztlWCJ|6srktlA(B`!L8WghI| zE|#-}04P~eQXJRLXvgG%2gqFZBzI7;zw{!y(d^u!(CSbS&~))y1=lP%bw*|2?+=+l z>2xddg?2Z|OlGOzw5~#gPie>i=;RY1FQsu4U$0IEA8>1_Rb4LvU}NYqz^kbMTNwXw zWpyZ1zQ1)NBX5d(1|3HcF z5KxnK>!1W5fXah%ObvhH0ucWOXKMry{%P+l039v1)|)l(%7&8z6KoIzk_YBb2&}!H z*_N=G;O0G>r!`I9-FdO{v9#e8b<(H4BKkA;z}P|7fh)weJ=1sPzt0hajXVK9hl%6z z>Dko5a4w_24p-9J7(u8ECl=HI(VTTeBQxlT`QTR&2Cm}x938Szo9}xd3kv}29NOC6 z<+VxB2Y`lksSNUT2ih8-BR4m<2P6Wd1^{R9I?wAJ@FEk30)m)8SRr}<&e+N;0-R$g z6q+xWTxtlx(j;a-*(fadtA9XSNE|Bm63E?p4N#-8>Y$g8?;-+6py@(xbzJW%(XAVK z_K!S+Y65&c_~7&JNFJu9h`#s+@#bWdFUF=I`B|6W?jW%%YzT1y&H z02gV@J89W`r)Z=U1@wXD@8bFv|11)uLiy)xl7an*WwlNWrD}~10+WY4PQWoT(BJ2J z`69EH?=|Bqv0|NJCO}w{UHz$5U zNb-hen$mK=N2q#CDsme(gBI~8&K96P$1zV4D}!0bk$Dug--Zj*quU|PO}AnWQTyd8 zd|9s>@NE_2mQ|BO>||VC-Of>ycNvqSv39DdMx7L_{zeNW3g?<_ho+;dFaE0v!pTz6 zJONf=Rz*^>bfni2eTd-OQ7y<5mEv#jMIQ=yA?f(VUUA#1h*C9|rf*z)Z}RcgcfzDD z#I@4EUqq!RN_8dn!*H8mkpGPreq zR45&d*5U`INSe4~WA49^8XlpZB9{pZU74+vl@rS!i{hoFS!NNTY)lfLZz{hb>SXAJ zCr8)SJSer*7i)ZE>YBbtsi2AW`gYO2-i^KmJ(#d)P zzh?S(h*Bg#ty=Q?a~#{d;sZvcgn>QX=tZ@jbrZxDZ0~g=xhQb0NW&u*rv8^UM@1!_ zS1ekj$N<<${QJo$P{lAA(vY7J!XHX!NqiuQyuFy}1HMs2=uZk#NU||!!6m4&CUDV* zeMn(?jx6Cfk!E}~PTCR~1lBr#dpW0sepId?YFsg_#}dX2WW$wuJ{4Gr4Ij$P%lB69H}$kO-lea=sM9pCwr1HCM2;?amMCG>OQ9X;?W7SM`0@s%-Bdp@kQ-m$W6x0JLa)Ggtl0RHPzOGLyhOCJS#pH1F1 z{@ua3--5*=vNsEi;o~we;U`^wQbV>zN<#8=nveJISSM;7JTD$T0jV3D0T_glgh+Su zEg4a|eCJEKv(2m0^+?~U6hD`u(8dwoZ20++8HOZy^^~HwSmjF2QQtww`ZY_ILfHm} zjTAZW4t64!H(MbZ+vdhu21BKye(jDC%XX{xyNG9DpUcUZJKm6yw6*OHPSc;worFXs z#OYj@)co}xc^0(S%ka=3ut0se@0?&DJ6h%4&^L{WQ{T0VCi`ou6UsHPn8p&1sBn#`gRzfUo$c7>gmAeGY#KI4E@*ARfKU!YWfsTf(Kn z3@4i1#6lG-kbwqQ&rp1RwtF2fA@I#wuV7L*0bbvt?o++~SJ0?sH6|M`a-Sz7R9*(Y z)v5Pv#4kDqCU8-IX-r@2U<~HWZ2YNFNnY>AMfQTc^0&!c)KbiaH9QyJfH%AwW(EvA zR<9>xT_pE>H8s;_6GR{UfqLl&EmB)@g^sf1SCx@rG-XD4xf6tn=vt z{8_qW*IvW?A(Z!aew76KIl=YV`|s?fYR+kvJsT!{MTD7{1ZHN+>3rhV8C zM9j3HJvVJq%V()KkWKBCIpgkZFW-5AD&J6Y_6go2cUje|ldpg4i@=CdLwHic(Y?;> z7VlES-ZUW-2|7IXYF!HWOYP$=e2Z$P2oW=AaN!W)GzDO&X1kF3~g(`DyX@o9qxb|x99bcpTcquBQGB|xGpxU62b|zqrmtw z7<#SXLQNQ6L+h=c1m$-P!l1w7Ue9t$cj26S9S48+;t4%CKAtE?MixlBexEV+#hCxJ zwwkp9@uIM?x!Vmg(0=;WhC&;1mJe(gmp+ht5A{esWA32r{v5O^Qp65N*FbCxi=LS^ zvOG#{%}D`YXic%ugXzEhGASd*fZ^09n94`@DfoPh7WRG^olZ;ySJ${+Wn;-!fxU4> z9|^LR<1-jJRB36ZXEPHGw?%%!!>C03&qNj5-+N%8kUqPHAy1Cg*dOFvac-IzQZT{P z%8cSKFd`H_sX%Q^JVRh%1VTph*tHX2Y>(4d4r;iU{yWt{zgm3cAi#MLZ?_(;Yxa z^2?j+3~#Y(m17>JU&65ZP7t`RzTSO<{-&ek*Z#sG$?@xsqy50n3rB=Ml36Mt#a4I4 z-AgyKo;si4!xc33oUtN60{dW`cFNv1qs@K3#?N|t<(WPQMKrS^qB%4fynhzt>QC|y z`lIBmLkx_kTo0v5-bQJPWP_e_>>9gJspQX)wU-w z3Q8(Mvnn&;c{o5_RN`!s*R#6&7CfTjv++i8OaKQ-Q4K0< zpi0)N?T&eRoJxU{;opYB7y?}4h5X3S2tRef{3xmEVh-xE)%=N6Ln=P;8lyl*wf#8~ zipgW#TQ~8p;h@uq%TInuHySAG9i36l{wEnM!f5b(ApyJBA}(_GBHO9Nxv}kSv5L{Z z!c9gK>6iwQ`-iZ-@{PHPUw<^nr>arJ}d0iQ8Q{+5QT`m=GzQ;zfUx z-4&XswVfuod%|m_sbOZH%pg>fituIxjf^_NK;;eJ*8(smf#Xp=1pLM8`Q(Z;dOqziu zcAipgsOV>(V!+NhNR`uEs$RWAqra#Dp{hrH8o>kslXeiu>Ed|~%^bAMknWN1)%REPVZt@&xgQsWIK8K!_weXi|@$4}S&)L*Sn*bNoW+=(OnM7cwO zG6Y+%J?-nKld;L%YMA-U!vhlQSrbl=^uz)cleGNM3GP>rKzfPnU1X3oEd0K84qyf6 z_lD%^0PCZ4(Zf$2dckE*PVTo7GF2Qv#+74{TErhSR2nB)(k$Y;q8eXf;kOsqq(i}U zrq!tT03ezd^a|whu;)pVz%VUCIxkN_TU};hB1R`afDn=%0+>K1>%(BflM z!+zp?4T;uj8$N_LP@pXV2yYY&&wrvR!6h9MME4q14qZ;IfPl3DmWiFf>Z`qpksaRP z0MR!(?~K2xALu%Z`^haSUXd`}z_*~pvycC3Z8NB_XDnF%k%no4(YgFV<5$JMWlll4yw{DFf%8F17E)}Q@>Kp_B z04$U%)pnXvgF9K)X2pO-78^pf=`5D7!Wac~ypq{Dol~o)vx(7@$I#W96?Cv(i{`(h zp!mcn_nw=7SSwJLA^{qcGp!hrPwUml@XDIbY>%FON?FMSTgsDnE$mWBwOmDZv41#T z>;iOb!J9@0j9SNLRnc07;U$Sgp|e!Xe=M8p>Cx;Bwng!O`;~j0 z;}UvM_(f^kOxTsmaHOVcl{m?!zT^y@3A0Dhx=m;k`?G0-{gqNC}!g`Ji;`#JT8Cah^N+llJ_c2u3-ArY z5%P?Tp~;oAM@^{GaxqqwaRF@^lQp-)zJ_Mmxe{(t^BBZTE6i|EobG76{b4{t)axo* z^OiK$&GM0miJlQ-j}&(Mp+5?_5y%D<#N=#FgL`V%ZfZW|h|Z^9_Q<3jes49tFk?{F zoF~8sw@ytV{gWkb4i8Fc+3ydoBwejGG^{kdKZ`a3^xZ$$$P>rP z^Xvr`3Kby+Q~u23AL9Ysh5;EdV^1vz4_wbA1j!7(`O@4xm)QDe@ zwvT~ep!B1F)}|GXM+PMr#$aq-x7jzznkEZ!*C{Xpkp=J8cls1S%bF~q42T&{y5 zv0k|}0AeXQkNI@$V{y#!ON-Of;cidy3 zBr#tu1eAI>F~1A}kaA9h^xR}wcjxPB{s5p05OZOKGsXrkr3FJKmyKvZT)5ASoWrG_ zjtY4CHVzuYv%+Eg#gtt1Fc}Lv7$_ZIa29H9#R1T!@IPDv*r3BreeK^blzpWQ(19aj zk9nnyZR_so?Wa6fhv)7d!;RjCTlK*&ibLhpp-9k6Tu8w)O+qO6 zb$L27p^-FNILFO5-t*#f5DRcP{Kax&B$eVaG&G|UHgRcb68dp>P|W7g{qp5&xYWf_ zWTx;Auyh|P68g;Mpw*!8FK9Q!pEQOrb$D>q=@6}c=lqmQu~O~mH`Al>FVUO zB?h2dbd>lvmfTXG<|7eWCf|H4l{3%ex#XQ*NPhu977fJzN0DZm!9W7`Ca~bv zk!j{W0vv(D<5}vYk)yn2*$)I=B1A~;7AB|0aRLH9Fv#E>rZmKjgxl5mb@Ul_tekvw zO^u1Yu5#>;(fytJxk*XK-cIPP12Zae9^y_aUj(CM3jri|r|)MXoAlwwH{6!pIF?Zx6I10Mo^E9khIbZntruwd5WAd4URsX=Z!P5Hl4 z%YQcj44lD+hcnO+y*c0lWK(HzQ@+{R*ZbMTW?OM{3$Wm%QI6dj(B%~O6!C?GkkDJ? z2oCx7JtipLY76|*TV|GPUc|CGXT54IggLO21ligtB9udte{EQi>#KV8Iq|f&$C)?+ zRHE!Uh}a*RSLgMlla+oQ71X?y2M-i!<}0OU@tS=keGvlyV&lKu(FXWS;s5$g%h-=* zPTRbFg1L4Jj|+}ZZ!v+-({sOqVTrDL45qw7>=vRWJtlI#bLVcF#W^12ew?GpFo6X% z&XPe6%6c-pAN~MkUC}{e;SaEtLn{(kNj)X@Ik7g%E%x$awjy1M3Pa_{DaH+*RsU6R z{u90dt{XTGOa`p$;R(m|Wo0ELW&PRAqj;dexaXYMXhI6`|63O30>eI(*r(KSaeKIq&EOacrZ; zzYei7P)&B}n&iFU!uti0X3Id;6{j5qRbADlF#J8ZwbAMJ-2dyz0UQN-ZhGNBg9SEu zMqA3~jskx3X~)ITYC8BN21G5K+A%7GVlxnu;D9QZcGh|J#>}Bj@X*nOKZSq9_e9r5 z$J^I*QO_e&b5BU-*6yqm59duqoD^t3^y@)+^FBbYC9ikYNTbZ3q!LwS=rre>bfVX_ob?+aWv3{Wd&Xo;#4 z4&&&QkblT#b4D9V@8uQi6eW2lCNqR@g6Az~=}oZb=@Wj^y0rSm+sJ0mNGgR9@e0G- z1enhvicvd%q)*sYJHP;{L$h6qaxzdS-elYH6XH#VgdkPPF6@7)B_55F%2Nt`?Ww$q zeSQKQ0MyD4nIgpBn@quW&!snUtFE`VJChB3R8m1YJ9~($jTVn-U2{AyF-;B=veEhN z|EEtWy#-{G3v+MEJnj!VE>sAO$#`uH*>SF>O|B<;#r?@OC-p;mE-SmVt3N6j`e`97 zZ}PW{JVMKkQt0oP%+BeBd|a8ZrT&H}{5&52Po*_-6x``TUouf#uOV(R1E+p~_6>Kd6UopQ=h-^R2)|`>wGpbzb zRD&|vuZyE}Puo3fu3?Wd<-MP75;B_E*NQmx@e-2JMg(uE|GmH>m~$rbvj5#6HNpfi zq;Ewf)L@}H^vY$y4RC&s8J}|CmjM~3Drcd~gx1y?4^(!-7L<=Gqm~B~9;8=f% zdmQn(0ahnVH?2vrpo~waR1z#&z!U{b>l9 z5q^}Z|42G3YVo6{TwFUAdM?ZjB5!20T z`anDSr}+cfwSO812ME#B$t7NGq;NIKjho-dreDwef zCjdw~{6pZmd_s@E{FpI{UHnsMHs$03}o>E?#ds8#h1llb zG5|My%`|@vF&~Gqc}#mq?JR#9@4bqI_La1C(HyovJ>U0VJ!^mHVA`vwbJIcOdVbuz zxfS}iLFvGi>LokheC0&!?BW=AvlTUDm%mGws1uD`&|gl@6dM9cpS{>_(!~Ftrj*%} z)r169j@yb+OJ>HC5EBy>lTyM}Wl9@5dDaA>RnCj$iiExl13*IYH=W%bl$52nY^Knq zxPx7Y(dPgU%u*_&5M;FR*`2}@rbrZKxmGKANAl|g602qYoN-f&JtDDb5A?=#e zrbmt=^RqfGPIhO*sE8*Ku!yq#4+;|+Ge!M!6xiOGO;)^G1wv>@zL!m(^Ya1+fFZ(` zZLU4?FdqpLlAnuf?gsy;+3U5pH_tV6=4*9$JCz0a02OMJJ3@hF3T5>Xm9o|e_Pi%Z zGe1_RimVgf>ylFQA0?U0d6mq)znTiLHUgNE*tN?dTrx{JyfQ_N-9^;h{+>ym1xv(s zOF;bPMTeGPqfby#x7ki}9bPkk==lBkD96f5A0TB(s6~={*E8wu9Uz*$TO>=3W6u61 zEoiG&#AL$BnKgA_Tt+|$K&>zkMJFwG3$R&dd5X}9OOr1gw$R$@&BEStosc;Y8_qHg zCw(ni{+RxikW&|aEcB`d5udA`Eu`n{q#guafZexsbmmhg>By;HG3s*$e7s6PBuf(z zQYgA5hBxRtV8XO368opd6G7Bz2(jzZ9QtjqwXth{t5@hUs9Rski8xN}Yvp0R$U}34 zglw=+N}yRx^fy645xFAb0Uxb72>ZWG&Wut4vG1O5K2~_ zH@RN^=A>9$>{ zrZOA4A7N812|#?7;;?N=su9Pf314V^bL}LjQ=~<{RBd{hQps6uMZ`}$Qo zs};~M=Qd3iH=eGSqoM{Nj8%L1mMm9lMv6cB_rog_Q2qxY1gMlLr_o!*tLQ>SXYCN&(vGJM-o(Kn)HOGMDf?JtcbS6#GNVY7aLg=51X)HpoTJYiEQeJ zuc&n-tPgf~42#MrDGBhj>*LrqkIPnnuY1DO!M(Lq9ml*f`*ECRY}Eq~e%&m3$vb+2 zTSgwiKahV{ZQ@33zD26jtS6=>F`5_jgUi5tu5`d~bw0|;TeE`#)b2g<55!->Lbk3# z3AGbu^Q$5cdEJbB0q}(Y3Nlr0)v+WDQ%}tWB*j8_@;0Dm!rA~_idXprG`6_5^^A67 zMO|q?D(Vt@I;HivydzXWG7W0GR3Sy_8fo9v7X~jhlP8^B@9DBDX;XK@hG?zpW4R8) zCyg{S=4*328EgnGR6j)3=KQMVQPNa0bdgg;&}L$rfAgzhjyA@^xJoK4MQV}cu9fe8jp$BHhQYeUQ;PSIPI`vztef1$w;X zAA@d3}7Co zoqkO83zMry`Ga}@OlMIhzA(jrTi>5=O}Y0Jp^>=k#h=wKO%DodwGlIA=N2%qWu`<* zQ(RfL+;iZGGAkN*o4-SN^ugTJ_0uQUy6iU9f{-2Ek~biU0#z<;zPg3l4GIx+bHRm_ z&z9gv+o0CX2x$@Pl592+w2^uW7@(RKKLbALVEbWKIQ_Qyx9#PHTZdKKxLeNY(t9RY zbD>iNkndS7Cz9G&uK=ymt$W-!VEi=Q`^JK}zL4wvSC-R1xQx(jFpoRZsRo%@G}Dbv z@qXt>QQl0Qx%T^vgg_6J>)GCKwnaj1P9vT{#maP~Fc3lG1VPv&ngtGCJ?margJ*-u zVlOWeO0d}D>`S@Iv^QuSFO?&;I)a`(TOW3h3!_QS*$+=pqOh@>qnS_3XG~D@79sTi z-mhYykvs7XZoPK!-Yj1YmB0kdyoCtsR3_#yeNU8_psSH>TZa+h;+GF^9KQH8(qB2M zspY~MFNR{Z70G0C17cafI6wbjE|x|^DPlt_Jg)beh=(KDh!xm!b?1yw+1{}xx97$9 zv=!{k>l@)Y?=o6Db?f$f0Ioy}KU31$+h5^>v|SkTB>Kc$mIE-W9omiCawV7($~6fS zr29_fJK_1_S=k-@Feq0CmB9wmTdbudeGAi-d3qT^#bTI2;LvONCU+!)eNGfB_IlO6 zZ&$t19wocF6z z#pYKCvy0+8RQY)fakuv&pGMsF%s~eKZ^g287lPI52TD`1z4GnSL|YupX+=BSWK`pD zf&mRnj8&`DT-m|aJ(wk`9y#NY3hnAmdZiZa^`|q)id7$0FEH2x-Ue)T z_~5%;!MF57Sl9Pqn;QUcH8*Ie6Yq2TYVsV8x{_|b%zIW`emOrk_*D+_hq!~F&s_nD zVM^K({@|pD-YfXdn4XUwa)*0(fcwE-D*Ur z6|oXEDcVi{Pv?G6^d0?F@eI{>!``*tc_LEdQQ@uafZ5 zWh-5jzXA)epWXb6PpfUt&Q_b5b>3l@g)_1Isk9Yj+NqA*5Usq37)fo|`^mx9Q6}t+ zrO0EmO3ObviKEd?eOvZf@R8e`ZPu3Y?Df)2EZYxBv;9oS%cL^INwZEiX{!JBh5Y3& z|NrOK>p{*rQ%f0+Zw_eS`E0ST>#tS+)SYI&@dS6q>+Xbcmq zDR>NVH6J_Jk)g^c@(f5&-%DOy>Lq|5&F#w+-?`^JRFYUy`6eR=a$YTd`Yl)Q zm;3(2q|#VRQx1KBc9fDR&L{{9o_-xyJt5teATk3CEa&YISFd_s#`s8++FYmm= z=?%norYfhOlH}=|!6kRl&?+LviTwalFeg#Z;>wYC|H5TEn!zla?+-&%1FPH91Yi9h z3F6uIfhh=A+M~GLK@~bpj=FC_H*UnCc!6ca1Q4*#j8&a!!H&b(>rb~*hAD>-^q6tAP<%4H`O=H5qhIDOpf&TfGcBIB5HV>RNj5+NvEc@x`SQ#3#dr^b{pnf z5+{l2_T-K4?4r6uua#D_Jh)j2dT(+oNJE)FnQm@AsPFz8B(Np-QjFjYXOOR7`k7fb zTjyhNS;hU?5le@Q<+0+tlc3aU zv}kWzZDQ7HwcDDvTJfEr2y1P}nsKfiy8d3^0(*7;3KLg0#fLJQF?WRGn8>P9QnjBF z`%ACnZqf$6n-!vu+d<%8zvgwc?i}!s+L8L$IZ+J68{gEv`YzElZphdvwk$< zh0Wvpl@zy}6gc%smoXH%u05YNv=@5uaj{OGE#Y&TuI8GK0!6pDxkVXHU?g6ItIUbY zG>loLasb{DB9Ys?<;Ekrst|vzpLiMG-hnp~U4FXR+UxaT(ATK1@A$me@eQ5=c z?qdJGFFr9CPf^qy;In2g898imKvvMtV!w%wIkwK5f`|3!y6g!wmV@S9mFg9>Y>{n< z0#j&ST0Q@-V#%)g(iPRoLg#c!=v$o^ipkQOMj0Cmi#$pprl2_M5cAX&rdk=C{xEvQyEpg%WLf+56SZF zaCp!zvqp6m({4FUAfOm8t=KXtg-1^Q-O~(jqtu@)@b+B~d1WQIAt~mTm$SWz9QhT= zTYuPayZF3UT4b(AF821CICj#yc3hQys>dtAbzXge7|5>)mj$Ah%6aB8-+1-vAp8za z5MGOBbYo+m8|E}V9yRyvxYO0KIxv$%82F%P794KNeA;2dqE$vsw`5@ZbxzXD$PrDP ztCm3Y#oH00OA9R$GYX}_;-x=Emvy1~O_Lnyh^Ll0L4}$hM{U#dO_qt4p-h)cP2)su zq1NOQVdq?hKqlsNvK|}x+>wW+CsSrv0qsp}uh^9}Gh7mQ2MN1g!`;fu)tFKz zlbO1d;Rs!BQlU~svsKYX=Mi0N_@rH-4u>czNfAirHQxHGfH|r?j8-iOC8<+=)n2)8 z{xO?rY8o5*W6a-kB$jkZ4d!^I0rA#EYO0&0$fznwqX}mj2Zt8n@|4<8I~`hRkgPIh z;=xj4WUu(-J3g~mGz{jN>OSdw`x+mq9T!nDVYY=F)!Sh>$3kFSQX^f$dpRn;0v63<`jwP>q?*&XL149x zkSl*<8j|amflw8EKhzeLrNH=z#0J~kn`FG+qv6JmuQ2ny*_E-^!5lB}u94+%WU%>_ zv2wz9<0-DDT5YD56Z*xn`Q#_c`D4;kBrGCEt0*tDzkf!X547|V^5iRAG1(hj=oW{lmhmX_n zCki3I(JdB-j&Zw$>93c%^KSyU)WsaJ%GKe1D`I5^#W$8&F1=pNlwIA+abght3c}P( zGB17^I%O)WPqA^BWLzsq7CAMG)Fp}e3sF4qT1i#tP*)kh1k+^6_Z|wVFoGjWS*C5c ziKgsV%SoUW^&vi@E{EzJK3hEkz=+eC>5d2dga=!?bp`y@hE_Sy<4V zB(4WRqrQ2!47d>sA^0kR@i7W1Nlk+hC9eWNwkaTnUxg)jcz?K5cMIP8?@Z!$Iu?sn z&e9SwyjqVd@Wt^{9&wi}q8lG@iZ5-eYpuMV7fa!EF&CS*x{@W;nL%IMMk}x`54S7G zP*P;oQ^aC)v@6lPs)`M)x5}ffs4T00thn6{=c=O$B>$58E*wKF&f#`M)Z5i;n~$h2 zWR&qBC5?tnJ3gLcT2*dWVpYid!;nl9_j7^;g%+W7gEbP%yaUWIgYd(j@4Pwm;}fh} za3v1s%+V#QB$lk^GHP{5YWKJnuncix%2{$s$r5V#Jq1MQ3#P5|PA0?Tri5Da_rGv0 zj8VP*s9(n^2F&DrsOS$+lX8p@Q&&T-T)+0z1%N1 zqWa~-+F#Nb5ELWGyKlpIy#Uu>0>bwz*%AQ^1G2I7U!|65=TovbtaGxOqBs>O&`V|h z@vB$Dca}N`2_rPVA{Y5~(AToF?h|G&{OSVCBhClqEX`?x$9^mW!0{V!U-kWF4yl7Z z3^C6qgF^yUs$L~F8MT+y%`GeqV)IOYi!zt5_SNwvbXsWy4Q-XL>diH_&VHoA1&mC= zK_E)N&J+TIJ=cIqW6K&PWCz?-Z7Ac4jpIihw1T|I*DYDOOsA+^r!M zY5KY&8F`7*hz&azdfJ0E%hFG^(x_!ywp%;1?oW-s5Qu!5JNWMQg)B!&eG=uhiftbU z{#M*oNb0(fuPM5y+oxBL@!4w-fOmaL%4;eSM->t{#)sp!kyd5>Twv1NUu6hc>F*&^ zf32OJPv3t{4t-^CJ|zJmi%L8e)?j=7{PpDVORG5FMuY|REX`(IRI3QLD9zyWNaNpi zez%NMl;@4Tf?M(K^yPiE+Tic|KV1np-MA+Go@!w+h2OjX&Uk$NlXTtFT;mH*N%Vd4 z@lo<4)nos|6YKoE`msYh3>L5{DPUSXKcqYVTMh2G3bvY_nuKQN_a*K1L7=^~QrAet zUftIEoBb6-HuCsdPYH>(GAitJs*-`xrua6}=tT6BI^umJs-0FtAM&O^2QAL%+M5VZ zF9s(k4wy9Mc|PJKN3F(w&w_k``tE*BPjG(2225v>p4GfF(tBzs;DA+oyEqUuac=Pm zLXfY;ba$7)e0EFA57O(hZCe@0G5!Xa+I1?Bf${Yj7Q_lvJ(3u}A&KhHKB0y-1)q&Qk%74*737QT;4)CnB} z#Ld4>V}cDgdn?C8Etp1f91uc(LQJMW|Q8So@U6VgK{fVEaCA zhqBX`Gi2Xi>6&B0nLQN2+s5->w>?=d=tO(r$r5JCaTebT5G%sDU+vY+wu{od+Z3$g z#*)u?dTaf47O^w3e#S+pYOO%n7&Ei{67fccrh5PRhBVHqyu)d8e}WS6hE!nU4epKT zE#1+xP^|vI3|Zzr!&^P}{XkFv)4vxz8CeYrMleXl`ZKMG!c=ys+~A$I`{_5;9?UXF z{P($UAO@|H$F0S))z}y%VvHbyn0BvvnX=d4y&t(ljjH*;r;{iw4|o$P?&Hbg5anPg zWq5Z(-hSMq#QdAeiF(cDxykVzN6sQIJq>fWM}qfP|ITtHCk1ruN_0HBf4NejTD)vIAKf}o=TsQU7D zQo8E)_UZwFc|6>&=uEB?o$3epg@)NT#_*=c%iaeX4(fEADL9?0D-tKVg)?Y7|p0xxYV+cR4k3 zzlEx#s*_Oy_OWR7;&2*~wpB=Y3dZ z#pZ|ull^-I7-pQUPTOzM>j{We9@Pc!axfWe;oN67N`Sq+-KJ14rY$2z2Q87iB5tRMiEQ0y)3YIu-3{3Jv8}BsKNCN~8pO=zW22BF@05 zx4_RpNXb3p%GAIo?W+ZIW+*cJF5URY#7GiGUL_(Q(Z=yNdis#SJ|ys}GZ-*kybk-q zLwqg;gnwb}#taaRoYbVg6;3o?x1$#)jy1|TKVh~fj~C7BPJnjB?} z?{ZUr>F;(P3(Y7oaRi^Uw#O$%*KhfQG2)%EQ>~E>h2STGd!oe_0uQBsbzvc$7mrz= z_#i7FDUhyu)lO+<)y}&wnIv*N_#l`cAMj=N2fRW#Kgb5#~EK;FC+m=!h>6oh!rVPvAWAkp|kay2#NNL~=RoRbpYGRDDPnAIY=OMrE%RNhRQ_eQYTw2i_nV$JazbwFLC=^h|}PnSe88*P#6tx?rXtI-%`R+Q!4*GEY^(0A;ucVU#F35SJ*8 z>11_RciGsq=`#JAHu`>)ne-dTz5?l7IAE^kTIl96JB5F++eIn3@i!Ihd=iCr@5Sy;yuAN7`ohIY9I5GXc7522ZWqS*M6Zlu5d0!TQ?~ zE?o&ok9L&1b+v|1$J=*I|80yVJjFf%9YM4uWn@X^0Z1vE>E>T5Qno!2)idFV?mP$OwEi{-(L$ z6E7$;O#axR zo9(6(#YoIecBQ%{yvF%Q5eWFjkQr)+w+>XFE0a&*;NW;K9$l5wL2ZHxcv2ZorKito zlhI=QT8A+R!jDiWprs%Aqwkfrt2%$QT=Zv+Bqb-)B@+i=ZMZTMMW~fX4RX!*=3H1N zcG+-zmgOoSn|w4Dg>VaKSPsmR{>6XfAe-GfIojAeBjzj2&;0x6tBS(ZUD+b`E^*^6+gV1>mWh5fP$~%k%KsL^@hgz%_7q{7x%q*nBqB1s zoi!KWDVQ)zsFoWx!vo7Vqz_4bwPQ6glSZKIdn>h@(Q@0eSc-JMzW&w* zsDDMdi;9kn?Cb+f#zB<}jVr6Cb_F#{a;yA&%>!_w$Z+m5KR*mr%l=GkwHJWba!sy@ zJaJR!qK8gY;cE}s%FX^>aixrY3v6bA2|l3}i|?hzhxnU6Byqv(BjKR2(b3h8uVfkj zD`~9{0d*wp`S6a7=)d3Pxgj~~{W}Goe^a^G-0kagEJo6JXLYICr<(Q#>0E&t+WNaj z0W+Dh9HxxUAFpXeIU!xQ_qj|;SMLX6S zG{zG)s*=vD9GB=6WWh3u33pq7wchvE^!3keT5%P>C&5Y~aDvVKRE6K0b~%mZm)iu`MgvpKW?b!th*fH-J3OjgPPSGD_WrgTGZTr!y*T zE-b1o#_c$MtD-GUSx+zU5*EDr8@QD;U(OV0UIpyi6tZ~MJsC!v`~I&|L@V`no>@Ul z*WQ@*b;miIktoQ{EgC*w{II@0gR}D}wEPy8Tq;djgBWT=uYKr=qf)hQooJ96zzEwb*n51sUg^R#Z75 zm(%6XK0o}%Y+C9XXH%Lfd);6DnU{bxDrL0l%AJ;>I5s8j8%j9lv9z>B>BjsBQMXBNKnECy)OH zFTHwsu1amV+a2~*cKL;d+ReGv(Kz+C$3<%~lF{POyqwT^YmBv7ymbqMtd6g5&qWoC z9l*>Mhi(jLx4#_398a*-H>da-^Z>)$OtVW>;I^2>?%~s265cM)lcD#nWpFx0bxzNJ z_T^J~<`61?>)ruHsv_j|{;RxGuaM;eIULP7tC0}zCX z2`VOkSFCdbyN zI8(SV@y*s}#nsz>Cthdp@Q&WHz^AkgZ-!4>FR<;c1OYe$HJISw^ubc%#QCHr8?|_Y zx!SmDEi8O)S}LG0{)-t0&-B{dSd_5m5e086sz~^OYccPR=;}cci%wyMg2m7ExI=WV zGb5%43yYu0=^dg;$r*e1k=sxd755#ly^heDh5de*m4|ePVhQg7slSt z!ru@_#t}OHL``oWkRnT$s>ji#oQyB{R{F~ap3%Sg^=Yn8OBTJdH|y&tdIzyK2{9i$ z*;;0dVX8m!M(MjU9L=Tr%HfqWgsDbRi<(eRo`&kxlwrhyrq?Ndu9k}Et7G5u<#~cf zS#^$YeoU#8SB;Sq9+&d?H0O*FBoSw&ZrqTH(&%HY-;ahPT;CnGvJ1JDgr+aGYj^g< zyEH3i9^Z-O?M;ZT1qFF`TIh_I-0DD{1k+Dj@oo?I*Z-x(XhVDzl2QgTw*2Be#{Z+X z?+k0A>(&kd1VKckgMcEvOYi8TfOM&$gVLn;gc|TcLAnr-E=rZ&37yb{(0dW-z4zYE zfIjd0p6mL~IlsR7k!vQI$?Vx>?X~XvUbDYTJy=&@Fyy6PU`za{T#oH0Ph9?nUPv%M zSHrqD)9K6Ror0=fZu*};;_k>2CwyM7t6Y9l7~az8Vp&6vVW@KlhZ)BzYg;wYumd0< zel%@nc*u^5hxWqyw ze{5!{9g2h17rTQGU%PeLEeqyfma$L`NBvq~HOxvLd`0p^&OfHX518Q4XS(1-CzF@l zs6ai!bCtk}y4^B^+(Ou7P{!oMy?wvB_nS|ZMOK+Tep5{@DboE*Ri4cKLm5UOwv_azl~j?!j1}zH&azDc!*-%{$4P? z;sS#yDk|Qi1VSifb`-0SzZyMiH7{V4(>uaDM8?2OWQ@Ryz4gvHabW_UQcWyRluO~MiUak3 zBMo6T96eeukO6!sdPnkOO}h{A;vM=i%mo3?hV_yGrTnwQ6tPHy}qFUewy+M#4(m;IvhGG!<_=e_l6OX|y4 zSPDFRw5Hb#gROVeQwu1ABAS#w(pRSB>iNkzh`Px76D^or^W6S*#gS2Z+Ao zU!NwvW(P0NGlSc9cs62PRFko~9`&rS>zOR>-=cY05h!m`L|KL6AR6~=3s6kM)q?o za4v3YzSdx3!N%;$zI5R&e%IJvRz$gV!Pevr{YJ}~;s*&8yCWe1QSsoU2N5hfp4N&5lfD!XlNsi%wI(>JC+QW-LuwMMpM zP#}2{f5(ceE#B$P`Z}ThJY1<~ood3Ey1%E0Jiwj@T7w~pHm`OjjLy%8 zLPA24uZjc zLk3vOD-ECOXWQ6U3CDu%qTrgz3y#7Ktl0Al&a6-Moz0~W#gcIy01|SuG-Z{6YRUfjH$DK@xqhzLxan>afZ5p04tgcIgrc=s8O3-VCn{#woX1a%de z4_)30sPAmM?2@8Y_4D2u&9T3Ta9d6d+=ZYAy)(+TF2%DF2``VyBE|}a?TU9v`vxIX zNp4X#yD_SLYJK@D3k#6vW%XVMsCSrBBlz2?KIe-ul-xAh>b`-eP!|^<`bQjvcNqDh$YIe)kKuQZ#h#15lLvj9Fl%bKMgnwU_xghO#gC84 zDeI44-QIy8B$!ZU`qOSd44_KogdZ&3j-&BlKbr_VOJQo(m7+bhViehn@e->+WA^p) zSHpQU;MwO$qfZyB^r+^D5+Btw$BiNZYzp5zb|6gjVM`J#)b=eq=^109Z`xV;JUa_z z3S}o!d6LlDHJssQA3nBB5q!)|9U7{ynu-ie618hxu~N&J*`-KgC)8zRO1=p!c|<}x zXn7I&tchrBH=EoR839(5+^2>`0P0S^hegzr60G?zO*Csq&Za}K9}XuB*cgl zA|5Y9#AVwwOg{K+QaN#s$%%@R)8s{?oZt#Q@W{iD5zJ zKjIe5Ef5=qbxHSA(us`K!{Hr``Ku*`nR+1_jV*u54@`N5m0H-3^fxYkY;y~5{(dTo3_Mm!HWRVRq z=#Z!F+nTHBD{Wu~FjZl(`{Qj`+JkyGlQ0PAVF`F0&o8wR0q4WLkKZIdr($ z^B;0_maR7ntZ4A0+U9-bn;Yu$t#GtXuI(o?4wa+WG~RHIt&gS{6Gq zDKv!zd;A_KAb=NeuDqJz<}EImQe{_7N_jVoV?<(MTGMh(ar<0OCdr0x)+FRbW!)F} zCf5$EBR||~Wce?W`yn`&KpP+z%fEr7ZUOkmm-ZuG`LR7rFgaQ>lQ@G+Ten2JBJa~r=061JQ;=~ruERbVoi6ao3m{A* zXp<||5>}_AX>lmZD+%x4YGM%uiUq{RQh}g75KpKEaS*l6!m90^o8p#-f^Y&(&ra<* zdCBWumL4_srnoK24?-e7UVh16PHcXd2(rOk^s*(*9E$J=7IZ#m7m!VBlVCP{t;(0N z_4BPPA=!ibwd64fNOGG}7Go=f|9vvUKfd$vYrhzlou|yT88tjSF?NfIXKxx-@RjV6 zdkhq~oYRB80qdO0GK)nsSjU?YBmphHA5%GN>1k14T|WR9Wsd0GS)Yk}95rCs={g5~ zKyYXOh!88qnnvTVch{^e5CL7ARBdpLTTZC7hE{bUPXf3NXT5%<6kpcWZ;XsQ6T`fDb4@t2p*3~a_%q=Vaw0hts zyJ7lXQpZ^uxv>W|mpJ))roTb2RI88g?z&Q%n25U)A{cQSBMe83T{$^_c@LXu45N@^ z_1L32I4Fz=VEAwScGBK~74yk;I2d~-e<yLzRaY09(K1%KM*9u z$eVO>2fdjP%ylaZZ;52zu`)w6*Ia@xK?#>fQ^!?^!y6ynz)iTo*hJ@_cafhicH+8Y0k zcv&Iz;W_`Q0!ek-!=!u~T>mD7x3npObbr-#N6ScEJ=tEB2Lt5hwdlXf9>gX(l%N@m zDV_UrD1{zn+wi`I2}`?AcY$t1LO@L|hGW~?19jtD#M9ryTfEtC!kIyd){!xqs}=9K@H*+Um?D!1#UsS7U=9b@+_4jw4^_|))-5o5Jbz=q)f}@@+LnQYF84AbC^FLUlsb zsoOHZY98A@RPd1nUPM$kQ!g8*RuzD>Hv(Ho13pi z*gWZ&HU5`M5Hm?^=F=X6(Ua$-ne6NPL^Je9v!`GV@!zGI+A>m$FcW#Q0j-9NZ*9n! zl=sc-${r_gmA0CxMk}d_r`txSwXvj_Zo2d}9R=0+Hys6J=f&d1eTj{o9sm}= zan&3%>lQ4Z8p3&>wDG0dQSde2Z^tozrJ_oMXAc@a^m36hq(v~N!C{PU1kb_i=K>Ek z0SQ8h+%PN*z=*?NKsuaL`(BxIa&d973&s&E(Ld%iV@mCN`>CytT9$qVT02ZjbOUt) zbp%ZPqwe4bZ|+~zkjsg4UC?H>qmM|N1jT_E>J=+%hyq&+dt-x)>dj0pkjfsJnEByAB zTkF}TJFL2PVnW#hnNS0BaY5WpL`>|}kzyY|2|P6j)j~8oM>4AGqylku&(_RA{+(MT z&p8Opk;#Y|1r0y*MJ1Ul|CSy-JT{Cje~)FeRhr@V1d2hO9@m z`txFou`DqE>|ajNd@dPc`?{4!EhZDDeMo>k3K`${pNWeeI}kYc#p{)qFW%4oXt3b% z-nr!nO2GnVbPmTomfiygM_j2L#aau+n7j1g@8@g{sH0A}5gE9FqE zsFc2Sxuc%salvi(tg)5N?UTLu3+|d~QyNWjjY$>Yni* zR|;iEG#%69)+1~-)gNTEC#r6EuxnjF>MESW^f`#>O@W9Ppu{T|P*8xssaN!!P*9jm zXEd@wFCB<_OB$_aH%yj@cyvRtG4oDDM3@sY$OKD~+YT{Z{XBKPdw2g77o?};8=SbS zS+E{$Lae|Zwz!$HyGwq!(ZQO{=A;s((i{eRA7+qr9RW>5ECjx4>-wv~aCZ|r@Jt(f z%@IR#ymw8*!5tHSw;~5QBEV(e>0|IgL?qIdIWkZl z|HL9cv||6QwOL*BY_l5NZ0&n)Zab^Xhq3zIoHY)cJOm>_)9WfiKv%!I?^rWGY*ciM2`qeb-qXW;;S+$aQj^PpxeSi$(nm~$ z{q+u6252EZ)py^_s_>SNnZnMb<}o$HAn98sk7>TLNKV+5^{K*$iKV)Mr8C7)kxfsb z?{8e^!rS1QE$yQsC!><&p9K)Z9nL((Lh?9=j=`V;f>7(NdHcuBaU`r-wQIf`EU$zjUf z^*b#=`N}ngJ?}bXLFJyid_=~pwG$BUiLh5JFV>&ygX384OOjqM%;e$TdXjRN9SCckeLjvO0`R0(AJIKQ1fV(jB+rz!TX{O316tNaby4#bz7)WkZC$HtU2r)Uwg9PGB5QIY#p&J@1U9J~kmHkdums{$3 z=qCQfmi&QeirCY8^XSN11)@SbA#>=+jG1j+>s1eix6$V62JIPX=j~hq#2TaLXqBw( zU;dhOL_+Yy-TF0~Rc5CBYUGsHg@cUDkF`qZ)}3S_zW%o!b37k9&l#e$VT=Axa;$75 zy%8ZzriauSYmfO(nI6rk^+BT;lcQ=bW#&w+Aoj7myo!@2uInR9duS{R5qHPFdt%!% zSQSFwy~6eIozu^)Ml>Gs{M2ltr2*#hB^!jbaK*!W(>tnU()rZUS0C@_Z zYh6D4YM-1@g$SITJdMsvdI-Q^J#y1`Yo1^j#@Rig;yRmC^e8D|9M|?@gpa@G5i?W5 z+t0@38T0QObxY8(+lQw1Jw?iz%L54%-Zn8CU4krpvKvpRX-tTU#}qNiA!C|}w)EBX z9lAlm;}?#M5V7$==a?m9i%3>cAzp16^L9%MyfeSw!z~cpNpsu+5e-Xr6ojb=PkggO zCM(WA*qTK46j2_YabO=81r6X~3#b3gqpuW{Ll+O87`c^>d@j&Bn!(|f-{alO@s#Mc zs%oB%9+MXH9xW>ThK%WsVp~z%iLbiE)xB-8ySbnRt<=vWTO=IBdfx@8Z9gnQZLPg? zckA_Ze4iUsQtFH_FJ(1o)jE#ui_L!9d(0Ss*7#_-FsVM)2;t^?)Vc036ZI%6F%fiX1sVdigWKxG(Au87CTtvq8xW+rx zn21MAaiT2ag*oHn@}+KOV^9J+DlvJ(8L$sU;kEF?zlJg-j}l0XpGAy*Md(J+e|!y* zo28qX8J33^DdBe)Q&{ZodOVt*kv6e37_$OeS^!9b$(dj}l+);!In$Qlu-@2AYk>*^ z^zq$W;MY~2x-+t9&_UF9e`@pAHzvG~wAGjVQnVW5cB3+pIWaW#;`(xT3z~_Qk?KQv zEtwjxLLejlmhJW! zfHz(KhzH+6eOCUH?%|V2@^P>HTk#Hot*_8g zdhT6;nYh?xYD%2DrW9gKC%f)jmAR1-Cj#*t?2jg!0u)HX7nR;CjQr|8|ETQyTu9NL zq8fbajajIK6$^nMt~_$q(tM{3!3x$*GmTP|zaymg29a~E>|tP@MbfB2ix8II*Nfy$ zJynZ9197*;jo)WJO#rY_j(f&dg+S6sjmr&k+FxlGA2)k>1Kokv9WazR?<m=oV!zJR2o&!$O_bMl8w&DX1TwqJ+x?lCo{TW{*J zqxg?bLY;r3*r_0?XO8nxY`yDa2Ih(EJ5ThW84+g%f@9jyXt}ukhF{GuTz*>e_5H0G zXev} z?-#EkQoZ!dcHNr*3agl3TvAk$)DUTtyRFkYKUXj35}83h{Q*_jx)2vh92BQw6L&)n zXAuPrYk(US9|oLa=ewhWcUKu5UKW7QL@MVNiv{*MEYce_x>i^s@DruDIjeCGlSQ%y!|bH;ew zn2d4dY*0`5*p#rtG)f@~GbBX6HXXCD35()S%j#n=-G?-G_0Fo2gjaH@yn_~#ESKb{ zeRam8PNapX-&QZk0){{kR;;xt+)p78&(qU#wXi%T%Fx%{YDZ2lrUMP_@a7uTtEh5{ zc2KJQM2;6^eA}E$v8dCcxF~~5zQBU5OZkA1GBZ(af$J~%Cx*}P_DO;R^*m%T)qho^ z14)4A`+QZ)E_#Chw~}oiy|%r%sX$m(^!E_{UeP&;n26VJ?Aqy31(49Lp77eF^gl>? z0AYe17Jr|PEn-Mvz(zI^%-K153lNXq=#N1Ccz=?Ya=)u`u^(Ak(nJeEd`Vvq4h7+P zB(UubkT*D41{sSC(Q8{rg_7brw5!(#qO#1z(*V3}zEXa8QrA%1bDh2`zN&=Ys?39l zFn`tG-pPMJU_=_Ju9EegqTo9&nFw-d9U-OjHb*OH7jN9E<0?p{?yb6>8UMH*C1ggswAVuNzYbU2j#izJ1 zYC<~6b6}-GD!dPEQ)7UWcyV@Af3iq@?Jf9nvY_IvN9M0nwZuh)r_`L(QgjOPQb_bb zD6#>g#h{b&VM7c198M_S((Wp~-Wq3%uRJw{>COI;lp zT^(#7r{G5uu-?WA(8*UiakuS-7^BFZr1J=(YiVCnaxycYNf8BCB~UdsN*KzNuVjT0 z_=Ot%0^*XtH0jgDS@1!lf3s+|vL(&&o0$9`nOS2cSEm-0(WjQtWV)^6KRWVuP8~lG z2p;;r*zNP~Pn0<2N-EVDKSo>`?JX^@W#gZOWdi|Ol=rZE6Mz$K>A5C-kZ^z(r@fnW zR|uQ#BGG0>1>(%Cq#nA`dOWv(Juwjopv&j)0nVx~wWUS6IP>ACzO?Upn2Yf16DqxTfe$6i) ze{cFjmX-p%F1ms*B33#rUJBa3x~t+^^sK!K9M~Dr+}4wK0-$lJs_fO4 zvzYElq=Yhgr7E5CKt2wsL(x=PRld9uUg-l0*MsumG3}6;(C)Ir?oBr=k?YhNpzMH@ zRf6t5)X_2GV=vGU5@KQsY0K<|sgLNMTt9)5B#^l(a|xoA@OW`a;ef^lxU1mnY{(>+ z)OC)I)Vy{cNoGzZ!)0!eUeedhZnd|Tnh1eo;jRz!3fKG_*{>VObrV&LXG7t4Jj+1cVL}zhw0Lt8 z7;r%lRZAaSp{+hUYT-A%Nbz{HdaDA{XRk{r;-x7Z{^ez##D6PvA3_TB-Ul!aHeJBj zG{$NAz|D+I%g;d~a~c}e5~)9u@Sb&ujL*~1EykhIByY3Q&;sk0>E>~ILLLyx%Uqb- zV9O7w9BPAC*gy>9A)ut(ZSO$fTvKaR&H#|Fj5V2s z4_^ar&~xJFH7nQseIA_XFdaZhCzINTLr8m%RTnHqwM&E`jQ9FA|J-MPnP?s8@Yk~G zZ3N5zpEQ%$yT8iwLHO6zrU5?3?D)V$_Co(-?Do~IYS8X8=L6|QKA;5GbtLvaSfB^c zsBf#|U9)sI#R70K0HwO#ZsMVv4}dQ~@HV;^5$oB;!a;Ku0$RR?Qx90GZBCnqOkV`G3G9}D=4)JIYW^Ek=p>j*lZ z-TL460YQnvX(dh%$L-0<$+sq|Ww`?D!2k2PzXxDPN5}k|w{Z9+aL*&480)Xv!o^Rr zn5B;AEt1ax%Y_Z(C<5OX1|MIZZP5Wen#-^5;&2>j7+~lMDF8n~S>|QGoDU-Cya3HO z97sY1UqkhPWXbjJgYZ^#^eYasv#IOz_~$dfoKGW?FI*1sZy^2avkLV_v%y|li|Kze zEO8!|t7OIu6woHvm1uj`g+v4@2QPS=HOe!8!R{E?w2t8*S&ROHZp&`D4A0k5U>#mm zfo$;dUcy5^aFUc6oH_J!05AHub^W)%c5gaa-?wMno~??aTIfWz>ts(rXe-Y?q^Pad zGh&pl>_t^p|Kbj=`os}B%?LTvwp^yBz^pkw+SwJ~uRzze{5etwDzwpBT;HneVe3VC zO+nvm_on%Qw-C>}x7?1&l(MZeWi9&@Q@g>Gz!(OK`B^ZeZTag^twb-7PWFdqzJ9T8 z-e^tw9Pw!mJ?7(!h)Q1~ zR@kcKjy6nC6fk}rQySpBpi8h2c|j$G2YoBh1<6fMU+U4b8Z0a}7W-2qPz@^_LAx(ck!I@sFTo3 zX-&3NNl`4RKXn0Ju8@w6y;Sfkv5$*Bp;R~DdtY*>FYOa^>`7aE2nBce$TDFNlH66! zSr|J;a&~en^WBuCS;m6*V(pP#Khsga4bGnep`awwN5Fd>L%8{xl$woAF3Z(ct7mZ? z=&40y(#B4Sh(|^xu9lUKWVc|3CB#ER0w*Qv)4x@T`r7ZB+!S~=pxUb5D<5jbXZN<>srLPFj}%{FB<1*&UOJC}-Boonq#6|j=IHmJzuEn5xUP4v75z6~0Uy`!_&@vq-ur)E zcFj8e+5TA4>!W}F)o+`0{oPYv7?8-b^8;sLsS{JkV;ke23rCB<>nkhe^?OjchA~)B zaBe*t?fG{?x@*IIz4<0Fp@gpL!!OIScN;~V6>OE3%KY0SjV^xbKb=H-d5!))4N#O! zJ_4U-650#1<$c~;5|@}rzM46DOn2ldRpmGaEjmxEOq*U$$FKjfMDXX5d(*busAl*Y zm!^TR#bpePJpu4c*%aW?rpMe@jwPwzE^CpT&F^~73FkI?E-~pu{#^Ie7g+@I@km{2 zzp634&@5UwuS5oS6JuPiA6@uR(w6Y2abHecpm7YGXR7_W2?KA%kR;kxt3f<> z40s#(Qm(|eTgP5~s#)7O3K;E_9o{=kI4a$vPaaA{)?6*@x?~P{pHg?s{7% z!?-*rtiNiqpE5Gk4QYL|S5oq2lJL4By%w)LGAlmT*tz4F*WbA~QAyS^I6m;fKKB?a zBiELS@3Y^S%#6X~@)mubSTY@%@WJTuwXLb#0`zu$R?R_EM|=tfhxPVlr6(qUw6@Se zvkvB*$5aItE$xNc@(LS2y$hL= zH?AxiN#b&F5X|Ik_~y9~*??A~ODKdU*7pqio*Q)AV>8XX+lor8ykV zB)oApPpC-_zX;D7&q-*mTbDzCC2Dis)r58i^R<1|A*q6T9=2*q>S5CK9Y5Xj@&jdj zAwqrlg{w71XzPECWH&1eGA;NdEx7Xp=wah)1<*472}){4D)Gatr3s@LtSixIbJuj- z;pIEdJ)@m&;TK*jWqlueZG>1*QqAYK=}Xpb`}6BNu3vpUs&#?_xGzQ00uPvEAB8G2AN>rM*e<3shCn&`RKS^_tR@H`FfkC z#4Q|thg8SgziU4CnE9W+11w^_m|xxX1}#%{uqm z*FNX$b9S_viYy8uAtD3>1d6eTQSAJU?6N?_8l`R}~Zu%@3tCL>bJ-tO&5e4O@ z-Jm5vCrF0gZZC(m{nYC827pd>idJHVE6*~nx3)3IO2w)P5nSx)y>q7~WM3&x?| z9yC<6Qbc{b5^uu&=hyiCz?4NASW&lkkOUAUSE7nN`A&|uLBVsgkkg{>?>lbWZfXnj zPj`9xfw9B&XTIR)ofjYH>Qa%3;O?`4dyzF;enYy|)tTw&Z@@VWd}}yy*)%vYGy=c0 zsB~WnlLbU{LS1|Rm7L?iaTkd7;Qg4hm1{+IZq9Hy>ZNB2C0Y1H`yKX`a%*EP8sg2n ze)fdJ;OUIna-cD>5b#Sx#BcQD*ou_8i2Vq$yy1Oal_um>0RipuVBqV-O?VEQ0k_w{ z>>i%EnH_SH9C*tT7sZhKFRN}-Q8es zef+7BMX4~;1_OF)Vq>b1HqKx&=*S}U*QAdqvyH1yPQH+bArlB_bZ{QUNd=|3JNii=dr=PL!L+wFwNQX!G(M55D+>T#TO91T|WHYHxMe*Au~P{?tU8Sr`4)y}Cc1RNY`7DpjX zrRp2lZGwVw^2)L+h4jQifk*@d`l*bvS{qu|0ThR^HqNM@zXTvb{&UzW8w0B^3NpL` z+n3@V-=YDsPk{y(;^TWgdwJ+({Wb8DCx!r!^>BUpN#qBOa9*V!^j6o|X@)7=Wi%a= z6?$=aFXIkclywcoOmgo)2i%!MvzUPb6ewa##^^VV2|lW97Kp^t^R9dV*nIW;YGd;O z_J?@CsmVP%ibi7RE>dIW@D#u=3e_U>=*G|58eK(dJ|G*bVpg8XH@4*VZi-9<__{M} zKL-*6yie}D&KHr3DRMS@(;9vT$^Y|9gDT7}f{5xj{du{jp z`otJnDPb&4y9ddFL4&7!(FT{cq$&W@k*9*zY-m(6A$VwLs;FCbEaj#Wo9jRz(z$sq^qUhFcXxM2<1RZSc&G7~zRQ|&{+WY}x+It{ zE}Fh?cO*(oTH4Fn@~^fI77&NejoZQJLB*BLyU+P7Z?&z4P94fh;;(e$CVOO4 zSraO#RSC{i|c0+rp~D z=i>`hSRYT5XnFm`-)5(R)VI-z1@r;im;lhPUvZD$Qxr&oH(!{NgFU?<%cPJ6S9mK; zku>TMtPrRHc4SjyQ!++IoB=i8w|fiitgLLbvvSIiiS1sWDKX}_IK>EX7W7L}JIP$* zpwB71d01vg=W%2rFb4*P_HLiVIxNx^r0=XaUmL#~zz6y_SUJ+{IB}v9w|?99R}~mc za3p5*H)(w9@_|$p7ADEaBq{ zzs5%0Mnqve$i#!xQ&X63x{0+4P|mk|!;Y3~Orvv8&o=!zmLcq50y#)dU=NyT({82P zcs{^4-&9CNy`X<}7*Sw;Q4GY>??5B|BDTHZ8uw6k1&zcTaN#;LKtA;2==-ymlVSii z0fcV##;`M}QT`GUWIZ^tA{T=O*T8b;Nb!){_rXX|{b8uJ_%8+3imL>BJ;=)TaJ$Dm zxIM1V#ao8AL`PD^;v6p z6jzfDbz!7X^;dgn|L`jhnAwYLcePr-8nPCAPnV%;BlbGqw&`>#n9Xcvc} zznvTP9exAGl16LKr|W&M=wrB|T82XF<8^1@b-e&YOBI8+YLb#)+7m|#O`CrWbk^D$ zh-(vN%+lOGCiwUCPQ}DMjn?bIM2e^r2HWW1+D#)S1eDkB}vI)7C{85m{#7|ChpfJ=<0X|6KS9$ zH$7qnU#Y`#(qH`>R;c!Hb_Z+O^~KpYH3ND@Hgs2eAO3(q+uh-_}F z-pKGW6RFvCUkak+jb%dH@ zb_VauLHMX%kd<`}+aPR88Yr|L56bO+mjqS!Pk^-+9I9tDr?aOnuN0@N^QIqhrv9p( zUJWgwkWf!sgg~WZM%@C-^_S7dL(?sVWuca#og4W#F_YSuTUu6($avGRihAK3;;Q_T zirD=WZnd?n(xYYknRb+ZX?v$4>+Q(K7qKBp<)hGW8k%K(SGvr`644Z1G;Iu3L+Fa9Z;CU?ht3=XMR8Aa5kd5Gcoy%v{fleEVG@+rhnulESGl}b z|0LqC_DZwBQMq`NQ%J^R$JPUR27Oz0=U?OQ&xOQQ>EVia@~C(tnVC>(D698QijAWJ zPyk6kWPY2(VIGv5?_FeUkodATNu6wV*Ya>v=}yVbxR0rM1_vOFC(!oPRtpo)fp(VW zJEoaLs$FaY)ui4T2tO3Kpia(KJXB;N{pz}~F`=ovOP4(>C6o=3eh_TRvrrftQMH+G zw%u_5)STlX%C5|tY_^k-7Hb(4$7)e|Z{T~aj@Z@NE_?-Y^6?EddV9{VsCZ2GGCFB+ z5jO`9Pjl>%5kSI9VA#Hvss!5!xA9dV8J;>!;44Pf^=&E)pru1gxUPz}C``cP1&D(d zj0IbI>zxWUtj|(U&G`e)5IO71B>v!9HhX!_l!o%elZqk*CS{xpwF&yo`ke<3Oa&^hTuw1t>XN=oG5Tk`{|cY;{edol#t(BUsyRz zUG1oY{<_6@yze4Lc1T)-0`lG_d%Faanc5#rwC02m_}T)_RyJ{*3?~<<_5HEdw4CgZKi z&BgaGOQCwt9`w6ig~rU-shU&L^|r&_@*Jnc<${lTJ} zu489rAb@}^h{>k*Xp}P+CgJv|3X2C-AMm~(1SVnEe5MaE8=Iz~=MrDA<3AmEqaC$> zST+p0LRcaf(WlL1+bU{OBB(Yt5%?eKXlcoDcFUrN*W2dUbo^!hjgOxkeBldT6IgDx zG&dK0du5yB2B5o*MbS zCxgJM;of}0OCR4ht4dBQqM;*_(qmD8$uS=5*3c-IuE4pA`RvYOmv!-_sue_zU>DoK z^B7!DdfoM-(_i_jD=fTMOv4Y%97~8d(qQdfJJce%s60G@uu7Bkl~YS2zYrWZlpOCC;vE;xgUYUp*uq=?$j_S zY+Y=N8-ldXRd2etLah`Qdm%-vNg|uBiwg93oGS8FeSFf!_JOyKXQF4*$RjBUDSdMc zf)0nE`lGozhIfH&Bo7Zs$<=lm|Us7%d8#dGnYxh)^i zCydMc1X)kp4*xnn0Q&c)h2I4Tu6xFj(2Kr{Ro>uw5ueRg82V^6|AF}~llY~0L`hL% zFurmjtNFaBxv%9c`rc4Gbnr*CsHfoeDTPc+>kIw; z7W|3lafDmd&sxVj`Sk)Nrtte=Y14{BNaOYQikp`y%|Ck+5cHu7Jung!3@pJ}*B!!;h`FmE6Nu(faQ_XB=!|elJ=w!R zb-ofy``;V)^$$-A^vZ8scQE;u3xPVkvER9U#e`ZZ3}`J)(qjbl>^NjaqI;V*N*ZH= z^@od9{54_@0F>R#=!kdPn`ad_>oHec(wzyfd06F{ni)FktztVh`>DNNq6>i{cmW(O z!9v^)b~S0lG-$s%;olnKW&7K7_`P?Tze`|LFjmo_*GiCc5@>5JzN-4SpFCPAk^Os0 z|Cu!fkVf)9Ds8Va0wWES)$0lz+sg0JL7Q1$s_w7yx*63Np@F^~NQa|0y_JzX4Z(h- zXumIbH;5~JCB{squPJ?nlQK08`SF9<`%8LiYQI3RTX_F>RlkC^Vgd`(!Fq0}-SyW5 zx9jLDb0Asl=3^qHrx_U@#Ic{c5AoVSeWxr{3y-^1nYHtJ(1=7}{h#`oMoSO=HCzs__S#+H9}T@ zKcnsRr%Q=-0(AU7pJ+`gUyXo1!3YqD>*sPQMjacOSqF15nO)#@gPTa0Mb5%SRHwd! zfYSCoBYh`oxgx>#IV>?>FS+Hx1ID(J;`^&!h5s}BId_oeZ6}9vJ zM1SksLAFJvAh9=E$U%RCo(8ipq?_!x(^oFsf-cKxh$qun-VZotDNi7d4~?d)wfoCe zH1`6-`)KFPhJU^l?iH%_SNtib{V_Yq;n!OX55#-ZTg%yg+07Zd>Z0(mt+XQhyv+9O zm;fK$FB>}V<*h@p>h&zv=#7EJFIhwR1^l=VZwWHqy>W(Uu6)##!Jtyi6*@9+OBu0( zPI$JxoxM`TX-nznkLqpxB`>X-cow)jN5k@t-%8L;Z6Qb?1i07Dt zwsD#{-&VS3r+FeH1}f{) z{gxSO@YnaVw~4kKo@R&6lTsM6Ld2SX9aJGL{0ZqgF=8Tpous~dmEMBmn@dvK=Isz2 zo9@zIoKIzx^9$Trj?;Z~8VqmCW^~xl9S-{=y~O`Nrk|z=bru!bY^%&zR*mqn zK9(>CsGRonRtt_-WM-u$B_K`W8N*rI*k~iN8tu#sby5g6c(4@w(-_=a(f!i0kM~`6 zXI9}f6kP0eF_Uu8$5eT)-qnF+>r4&+!_u|5hD&bxr7PTWe67W+fKa-<)n`V{ZHZA8 zJ?V8P!=(jt3cB6H$)KI)unEz#ZEwM|x^cdD1i8ma0`HL&;=solq$`hqF>u=qFmtuJ z_=Zxh1M6)1gE|5g7YEBuT9hh88>0_i@l&!{S1$oE6!M zO~4+}Y=y~@OTG!lA1!xcO(;$3fj05jK)XYCH@>a$O^xIJFQ4L%p@M-=@*xC!maKRI5N^>7eU;p29(J2@7@@IgY-Vc^jv zs;<5Kb7ZbBrK+qHuSW5!CPAuM>o(aSWF|fldq2v72bF+?xp%|mKa4<~@g+<)lP+-s zzk@3Uw-AqTXaZ9?P+|^w=XYe^lv6cR3gp+BIwk~v`Wo)FA~z?`i<$3lqNAA`A34La zRP7RD9Vz=#CUVmSCT@LfMmveit0y`(U?fr4Hs2@K@$s~DB96<#i66|w0zjN918y@| z4KTg1aPp1>XxIp2nLnjuD<%7353PM?Su}o!=HP)Tl>SH1Zi|Rs^Ra1DurBNzE$H?l z{(J);*_LfnhE7!=I5qXC&*g(+>rYVC`gvn0!7+EBUxS5=nx&+DnXNJ>>--=<6#xZ* zy5xh(JZ6xK?F|2++e|*c815J-6foB;z&xo8K>~Rp^5avv(7oREf|{d_%crVBNm}7w zR?mkJqDmLZ;3Hmnxq$_Y{B5INH`^{;!}Hf&KLiKS47uN~=T z{ioE}--^@j3R?7740Ag5w)^EpHtY0UsJZ|-vGu~)tWirk;q)UU!?%Osx98QvjcmF< zrx&k_Fr|>!KdA9HIv(~2xuQ=s@POzeW_={dwW-?KgkpFVDgBZ?yq@w+%^FCT?$7E* zfBvR|x^%R-(W&);C%8S|8@NKwmgZl|-91J%T;uA!SB*H_G2IwVmwx&kRi@#$VnzNH z-~{LWDg7@|u-Bn@@;MkA@Dsx#8lz%U!NkyLw@T&1m`EU$ab`C3H5WR41rmh3i;bn4 zZ>Q_BzT74YnI51%KLlkg!~;*jR&CN9St~nzec}a`jfaR=ZrY4%z+Exi0gFn4WM&Rr zAY)S0Y_MNNk4Ifns6OA{@ff{i#oYYu8evER?~%j*ne?D2s8gU5?@18f!hamB&fHFC zHR<5!w9APtLoZh z(y~t`{lw$!>9bH_n2du%N$^1rKs5BpnIOXpk53ML8?DE$8tWWeHytIHyQz_TL3{bL zOV@yhX>Daw=PJc0BbLsw-zepIp+TP9dopqjKBF?)69XND-|7CuvXaAJuOUgs0|t$A zPlY(f9cvn>cYkCx)TzgM3*S>CN}BE@g@uK^ z3Cwlp%U7(PT(C5+m*0^-YYlC^;jDj1??CPTu(;ev@U*162EYV>Ca$waH1g+XUSS0i zp1-CN$qa&*Lnaj!6a0rs(D!aOfQ*p_oV(}1%wnO@!M{@HzahVL_aBM+15f0T5^*McPZIg6Y}fB#CFN0-t}879K5PRh}Vno3IWwW1huVs~&L0ta%EunbA)} zDmvF_N&CQ(s|Ew!Gz7%B5f_=}iw&XXk&jY@-!V00= zQY-ur%aWR%(RqB<9gU~2PP=7)JaFv9Kv^4tI1`F)2{8fBnD4rhj8|#pPmAUJB}Gaapl!~Mj5%5tN;s9*KK1E_;#989ytInI6ps$C>pp4=wE>N z7D_`RCS=k)qv-cXhT!kQQC6qL!CR=crL@CTJS-%`Dvvv>H|fmqYmcgM3|^;0lWLD} zFz$@XF%p*DwelvqrJRG?@$n_V1tk3`Fd&mr;bEMk1!uZ=F#PlZ2 zA`BfF|J=Vc1Vvh96odS-t=>)PSN*$o2Qw0UUnk?`@dJM@>EMpa<@INjXMn=q_4uW% zcoM62C?k=of#b#GXO?=p=2~X|ss;}i<|4+v*2LPDw$K|zsUH8Utz1PjuAz*1!mcL2 zBeLjl=3NOd+rEq-$`=gf^R0hpZiaMn{REc)>s%EcRTm^%BqMe})<@Mtm8TB#&H0zO z#cTa~z#jOteQil5<6Ru9!K*5K`3u8}FFAVT8&wjBW}N3<9q(4HP=|_t$$sdWs@5UC z#oFGq7+(7}<4pGf*k1jC~$+N>!WnCV9c|H5Q z6x4=-{ydXxA(EgzPdz$GJ<{;a;BS9@kbD)hJw{+7P)=5RXS?9IzWu~hf_LNGS38i; zS4$X$2ZP6_riMCeOD6cs@e6baNj+D(kNkD_5(U;WcNfY$zHa3ga8d?x+(7IzqU6QJ z(L6uU*33ZJ#+>p=B&LC;a+ubV(sREh56&O5xn2gra6NLn%%NkJ@qgT8H%qu3_^APN zILCy$P)(c!R&zfEcO-_mD)iZ6B6ZDX!HK*=IV!qy2U(vCbear9H<8 z(vknJM+!LY?s$_B?&}1n&di?43YHvoQRH`WA;Ten^d43U8?ykxR|d2L!pOcF+Q1)x zfT-Xji#)|hn+daA5Gd5Lq}m<@jn&QWZyUy$qdtSUcq9VBUg_fmd;)0iE*oZQ?j@zps`M2eNfte~J^ZSq%Ymd#}E zPcSPv^+VK2GyO@JlIblgbNldUMniQ_@rM62L!i`9WtZ^UXT8*Or>53|o4zoziea>? zX0SDSkn8+GA3&RMw3G=z0UwRdr?(vWz<0Jc+q7mJHR-oHnc!$4wzm%Q20Q)ayv|T~lO{Lw(d9<$JzJo~Np_mieUPR2=DS@9!uY_oY?Bo(`vhsv@hiY~iY;_&khHbd;(DYb|#0Jz^W&PMc0Ml` zfknT6*NHSZ%*u`OKfD5w`$(lFD%rkeI|j-P?!Hb#UqH=IBE>ci2F~s#x^H`lA<9yQ*R1qHGgW%xn>oH(c!%o^1EAF zLeq{%N8+RHGe%Pjjf6gd39!`teHha8adk zDPMcaz}13`H&!7(S4NVUiyF^>>n8wsqD@5;pJDc-!!X0f?XI%18E_`THG8jFCDzIfcbp~*k!6lB9UnxDltr4K1gS$w=4X}U zQEsT8C#wrIDeeFY`6Ox3beNg^6mDx8XBj98JInb>EVL85?6R9*qpB^|et=7#R8!L4 zi{^TB->G2yKmz#d_D8hw!PQ!3r_b|@Iy`=Krpe0^SFl=+;5f5oKNwGo{kJV25S3q= zau5IDoCPhoG%J|(k*+3J3#Qol+`!en6jHeSYHT;;0B3Dq>q-c?Oj}Y!$smB@vPDbr z?u2ME)FEy`8P4v`w)M%4E$_<}nz1--gMKOX6dNqL)uHzO#Z_Achif- zyf>KD^cbS&t3J2{1Szyp{_pDHHBDD%o2w)YW%d(SvKV419;xN0m|&Gm?EMp6doZ*nif!j!Pdb?XJCef^CA#*s&cDW#m!6Gh!sZkMt+NaB8P8y&8c{ z@?DpqBiWdo-2MCnKkGEu8;GK@Zq;1%DIsUn$Xg?Kf* zcUDFUG7}P`TkfQL#Sk6!E^xsyBSUVL0tE0wsQK{&nVP1U;=L+>BsnQkqLe32QQ47U zDz_cx2#PZQdpN{=7nLNcr`Vtv_e(OE#QS2#z@8YJb)U!;i$r(>0~-thr@_D#5iTp0 zFCGYQRb)%SLPg>n7nP2bQkm$#gV5ohkQ|i8?aWs5ALnA5q~TqZkFeQJX&z;ut{ZZj zQS8U;sj5yx;Yf^*OvoIfYLQE4erRfNZU^&3VYT+ae#jMLE_jzhIyxfZtF6$sir}ui z>`P8Rz%si&TLn+@p#G#I*CwLdL)8YvMaPZbp-+4Ryp`Idda}CG%g1X%l9b zb}G`b#$zs>fh}4x1LQ>Q8b1|x16aLk-!|1mQ6zT6x3b5l*$TTiR%=bRE2DUPO65?a zTNlRbZfwk$&T%6UrJz?|l83ZnX7VRZkXywIXm`!6itHz`dv#5KJ;4hj2$*1?pRu2? zyuSXKyNzu($F#^<(BRuDDd=LxhQfnQ568H`-EVCcJ;r(k76D;bUs=6dKG4#1FcDzd+Tjf_^;Ktm~mZq`L%~ z%&k;w%q;`?4Is^ys8@70I>f31fTR>y0c0W7=^K~b+&|M*#iaBj<{wBsKxBh-3?k=wg6{1i?Xd+;x+k%a+Y1d7m>YGxVtmOUt^V(%sJhj*#`!V721+zEa7zS6soO#;)_|u4;pJ@FuVg3<;B7^WQ|yb~M%E6`U}Z zGt?D8ZH-70fj9dzd#(piNyf#klQkm{iOJUkgEser{RMxiD?=gsIg$9p-tIYdOW8@%Z>C&)87c#x;Lnbau9e zf3kI<7DVzN=!{g;(roNb4CsObQm`{S)a2@MkB$p8BmbSTlj7eZI2j1`NBtlz-XAFF zU#-x+&e<(y^hy0hpO$lVo0mhr$$3_>3GyuD<@XJfn>;9OpnO2 ztdc(go3)|Ptj2A~M@JIW*y0vueG*EI9Hc+dOwJEde}L&(gt6XrFC^edhE!vA$QFh! z9oXmSrxS6n55KVyw({3Wpg=B5tSGmnrV1dJ)rQ5RD$c2<8ruKjbu=Iwm1kh*;gK*h zq9g?b!Tlw~EmbchooqWg z1GL$fP35;r6zLOq$HGOx#HpB@v^)3bYM<+V1^Sw{M(r3sXshqk3nQfKUSF@SvDVuk zS~QlE(rx`!?&%Q!T1bl_jx^+3YGjpf=}SyRwIa#WlhtKjK|v&J*XZvV=Y z&Dk!rf9K%g4XLW4k&=K!TBe>=YdK*`W@|mwm|da!sIN53fnf5yr=*P!U&Rv9_e>fN z?U?089lVZ4KBM^wU zJf3BpJmvyn)Z`a=_NPX4ekWWaP!9RWimEaO5I>_FLBH7NSEsM$acWze;FaAX0%d;U z2BU0!qRvHBN9X^rqoEd;xaHc4`?0zdcIgp32FV!1KJ`Csz|nn+v?k&xV^+QV^^?yx zvO0ylHR?|RtIRDK&(ulwfM~dHI_MgVg5WY%OoNd=#iv^x$vz$JlUhEP^HcY$Cf`B7 zz0tZM%vP+~l|~X0qPaG;2I2t_qEXh!EJJsu@N?}e53v#(^uVj$H8sL6x6^467zhB~ zWA1;E|8h~L!3jk98Jf_ca|4JUMW^IJuP?x(_89fZM!Gyb!F_HWvTEB$m&nynRl8=0 zPx0XLz-ss^6E32l<_?i~hzfj9QjY}eDr&&>k%VLMj=@#>zjihE3mP3f zk)!Adcj7=z83tNfWbP=1*n5;x`bZ9v}0RhK4pq0u=oEnU2dAHjU+=l{Pxe( zzgF)-kV?sg3O_79S7dnbpw8Axo5m8gPhM$)fg|dqN#8d9=u3KY1%K>lPDvV^E>^*Q zP6wRo)KLc_?nuDdQUG95wxVoMkHh&zA8*a4j8|*Oq9LPLxb43am7qFz^1Sq4JHyXV z7#=4Vo=bAWh)VH5sWE9cK-x4zyk zxN<{Wt=PipveNJ-95Gh*qWjUJ3t$(?WPKp z@W3$5A80sW^-uN0C{$c4>>_R$tuLvpm@O>yygZLyc!0?0&Ul!psZ^K|4G zsq~bTkJve+nQ;8@jn(CH$T6Q`9&I?(7)x^1W5UIXI)#xoKk2wFYEg#UY)T!*d3McJ z{(Wu<<`ZS|!JiXMbvZCi`JU>@fO*(uh z@2#A)$k?1n8KJr6>P8Vh)d7!dYG_Q%pL(!nPBpn>CN-}w|2af9RbiH@Gy336SfRIf zae_ynUZM3`pu!mKf@_XDuo^ zsZf}vP$hQE>a~b7NSQ!dg#dNS$|o6sb}MUoeJgTf$f5g#l0cJ@y>IR-Nq8#WI=o!Z z!h!Fc&79TVvxkV1;D1!i2+2i7DFJ9CoLA}~DX?0BBy>0wR$WIZuFctpz4AX`3Bq@% z2s(zD1zuHDd%{MC-+rHCE!&-aiF|a*z;gOYV;nO{Xy}Cs#nyI4(9xr`5_5r`ioqRb zy<>r~zbaeRxoQ^ZB?ged^j;>H+i<-x))R_YyXakO9w3j0fJP>2xj8tP)M<>8k%|9D zg1!MwV^dNv%0oFdR8roOowEQ+A*Ed_!8j{%Dit*KE8Wyy&jAVkbKhz~BcH0Q9?q^i zzt$d?)EHLI&=;3fkRWGNAOyKE<*%-ZRf&U!wZ%U(m&p!~8^Dab$RHi{!6~0M7Dbot ze-lFhRF-tlVPx4^=m94Lt5K7*H_bNV4Kc>CB028o=6d5%E64IgK-i; z$K-~3aQ1$2nFOcg>#t@VX2!5ib3 z&B<%Wh2PUV5vazVW;b0iSF`c*FpDM8uA#>2@I^q`|pO!6O zAN0I>bQ~_qNJPpQhrFnGeMz<=ZL0Fo-u{|bw>rG%!@#xmT$^?%0$-#E31Glug9rK~9;B{! zpIZM*`?S7_%F`knWhP{jl`j@`T?W^(`z_$*O)g(ToWdpFr5cb)5cGD(V7B#gwQ(2- z6hd;sfczK;h!PN3`!+1@A!|jdI%%%24H}rXAGG~8tQMbNCytuj{JCU?T@MJsxuYz5 zJk#2sYjE5O-O7dd48pV!@SneGF6J|c)Q$gaM#=x*97j(Qx+%Pt=kvf@%q!^LMg<6&?JA3c^0Tay=hic{BwYPueE6tX{+JCQ^1=AKQ?N-+_ zSw<`PB(9&m0OKBtG7<#>NW8U1Hz&KIE=zj%orB{|rHkEvnzkMbeLe-8`oo&^jW!^X z9~30D1{DH~yDIWniP)3yW_qrb*MZy2dcc1%J`T_JMi4-ZniZ;U_E7@6Iv?c!9}>%g zWV$#qmoNyRcv1^hs~qcnD%Jmbo4mdk6+(l8_h0+}vx>D`f=|WkpK%jxSFiW)Bqx96 zGM3wdx7c2u52iV^J>E2EJay!nQl0~AOzCPF!PdqPSi>k%**bC8cg>>pP>P?U7t6E< z{G-_KXWtV)mE?npCW_l2mq5a({5tTi*I<^Xw?bRAqtozY z+v?h!(U>>Z>OlLwwTAm~FcC!evrX06(z)T8TJGWEP5iGo?m6QuBU1P{u~E{#y)psj zim~MXtdvUsSt+rR=Jn3G zsvmGL3EBK_4`mFc*w6|F*@y=?+C9##+_hl0qzlsL>Ts)MkrBblih6J;_uuv-gXq_f z8+`xQKhl~jFKLx4eL=ZGj>L0w^BlJCe)li3g?@#GhdLSjP6SM8rKqz$QSU22>h4zK zDnh+KW|&Ak@6J!S)O2{*1ev0TnoG{JbEbv%z*z?!k?ZVu_&qMiHb<% z&`V3HT;r+}-%Hm-y&j!I91vZ_L8ifPuj{Q|O^8^72svNEgdY#<{oQF!UhAzy2%%zR zm}QW+xBIC!Te3j)O}7u9#{!ERR?MR9i(f*Yx3&htNDbDw%J@>)aesE{^w&l%HBTjl zA4%NfkC;m?z{ki_{BY>7xZ75h#;Ld&g5fwbAVI<3_AZPuyoC2wC5fW4!kXe47FbeB z*9?496V6!}Om-RG)8F(MYJV4gz(wH*`WoEW7*M`MbbrOL*623)dkb~@xyqmMK!@mI zC_}^=#%9tmGHQf=DQF}lz6I|drZ+!f<+3p1LF|&$iNoOxa4&=-Xwc@$xm5WV_Jc_r zXKjnHeWAB9(^5~RcW^w|QUK0=6F1;Zl=s3V{k34}CRm@Z{S~g~*t9AQcB8W&)!d>k zCETJ+)#j+p3Rfg*{l{oF85P$@tc7pD3kogWNA$-VI@H}+(Mfk|Y})7MaG@13@~ru& zkx~=e&SX-sGx7kfR?BaW`86Lv~O zG3}>LPM$~yj%W<@>4ae^UT@Tbo)#N%jJsP$FokciP!Ri z&PGF1Rb2?PzwB`X-`{*NVF^8f;?XdCn7@w){1O_xA} zF{3oVd&fJ1=T8i5Y#7LK$c$`7jkhHjaP{xnnIVb8}i`s>!bJb_C)v&?bY9|6)2_OK%jD(V0Eu3o41n>` zH%-&(zEBuj=2ZaZ9ik{F6>2Zt{ob&!c~m6C)LwV5gzA^wsYaul5sD8{m#tBkFw3dBkV z=7Z0nt`ojL?zniFCV7;yEJvTw)Y#tPa3>y#C~zMNzo<_JsxZfP*2w>-uI^h|G({g(L9N{}o1B8mV4urS{cohSuR5ns-A<2LjZB|S<)LY13M~BA zr{6nN&a@BJ>SS0wyWsDfz$3W@6|D=ZtW3}*5i;WX|J?-;3v4jvM@!c9-U()sNPI=z z$10kv;3k&(ty7z*W&-&ohfb+i@2r2Bh>Ri`OikO}%T!_FE;+HEyPa*s{}BRdw6*{# z;Y_t(b;9qTe4lICzdii;92*ujp|N4|_M~x?9*WduB8tGklxD6hM=Qn4dQ}?~=E!Gi zXVs;(Q%3bi;^VSg>@qUgY_yxhoj5$g^=ut2xjo9wp_lP%U}BkfPN3Tp5o3HIDRE?Q zC{6Vt$6Gd2lzLq}&7_Q_^)!0Gn=$&yWKLMk*`?)a+IS02GNR<)XZ$O9QSRthq+FKn zco^k_W$s$>*nbgG$i5*N$p4GDw~DGG3f6>i3GU7bo&3Nll$XWZjDmtIDWN zUwRbR5#stP5f?#m z%;GbE0^j^8K&oSs)qf$*gE0Mq0N*+y;acphW#l98wJOZPyxiAAGPnUXE+NlqN2|b= zq5IAI;yMooj~9<)F^n)IWaJ@c7{&anwm~d**NPysE*Kfeae?=B#eU#75HRT5-(yz& z9*6H`^@8{dgHSr$HsDA^J)^GSXEC&2lvlUZ22cJP+))JMDEvNGRR6XTW03n8QbFy_A0Tbv{Yz2Hn9RV|F(_rc}UHg_fX z9HVxrWs1Abf1o;+&>RqXF0>KUHT&m;4#ED?`r}5U?g&V2UVxYKAV(dNNaUN^Mx+*T z5@7<&vV2pp^QJtAeK4uS^M#zyWhiY@DXjTEIOMR)`P6)P-pRattrCqrsf{D5U3?Jh zFJ9?jHjS(ny(les*fQnH7?|i2VTQ&8lIh6{|Edd~U&k(4p8`m%68+9uS~GtR1hz2*?81gV|I#7Pe=|8u64ulB-&`}z1CWFObe%eVo1 zHbvNoGxO>-2AI~dVWCmdmtzIHFD}+of7xF+#>sOZj@4OS?cl7;A$4avQHi?T7kwE{ zq5D!m`oJA2fQqdx#yoA zk0V{DR4;5JsQd&cJr&e(DA?-r7SRfMD_vilF*>vzlnOf3$vrf6g+8y`J363fhy3+Q zxJ{nU%F`5PU^u_sV!M>~HhE9bB0;{J&{=evYg4E=fZSbk?{P!Pr8bM;6BGAD0-q?u+DeO-je~7BCb}mFqf+XAEW!Rp z{iUSnYOs2xpD%ej>9ze6)ye=K)|hg?+vVhf7j8pMqx$3$e%{r?zidd(zJ}HRn<=iG zEyk~E3ALu$4bW!Q98ezu=J;wJWeY+D|73ozA$AghsUAAOw54C&EL*!3L9@74#6Vl*0nCY0gcr*Wahsc9H-@n$^`$jUR$2*S5bVW|Zy^Zj;H`;w(29OOd6yz`CX96izf z10$>b-{eEGKj`rd0-rBv<6893f@AcnO|bSQTp0c5u8N;hSaJyX_z_{JFGBjHGQ4SinOtY3uoZF=YkU|oK|5$T z@4b7dROf6(9+aS@I>O$c=tLg~%e%-a!$bX^8XAGriw^SP0c474j7=I3JENkk1@aQ~ z5!O2*EN8w!&!G41$H*>MGn?MY^pbI+D@k>3M#1VZOlV6oDXQ(Er&A{{)8fB{-&Z#^w*F<5%4|(`om|~&YFI~;q3{q_8FE56 z@$Ts{bW=rWHcHrP+j?!AO+_xb#_6b zpj&L$qf;^VvmqEU3Ka`#i&q6WF9%*mQw8qX;=(8D=Yexn^He+6jEhGeuruN>NI-Z* zrq~fk^_>&!NhX9!uKiO1fC$0-Zc9y_rG?iz^4HCw7thPi2ZmN$ST-nf(pS_F%FM|M z4VS|r;l4+Z>Sj7@^NtEs{yXO9p5tfH=z(N`DJIh2j@e@Z(L%NxJzN*hU#Th^KJunC zVth9k$=I-;%b_bowTq>HHncZ6*Hd?UK~~Jay_l2Fg91EWFM0wN&}E%WcK6o2s-r6i z;)=#t4Gfv<#*&$zt39irlvJZdsFow+sA^2!Xdg81l%?kr>SD_F0k<4b2H@BSn=HHr znJ0xMSQa;c@ZWaqXB_S7n}wWEtp;^ud8AC1y`nJt<|c$0*MZ#iKo520d!Zf~%bmxg z0(AnZXXuYMJlIxrQWx5q0E88St%!)UYp7XVbPsb4*R1F$a2^Y!wi9zyU<-BX9fC54 z3IJ8gX_~X03p=kArf<(NCg~kC|2J8WlM{^#LkD!?*>6Q3r!&3%+ zxR4K9iUX*H)5?Kl!U%ft(S(Pl$VwKJwl)wntMT5R(sKg!6?SwrLz~IcN-VZ*DhJzV zChOZ|udd`liO7xMZ@6ipo{ZMNPwweW&y)0>Y5r;l-M;lF^{H=S%$~9$;XE~WO)2|w zdG5QR(sRLYHV3x_%wbx1F;#Tiubd^!0nd5WGese1Wrqt$A#U#IXM zK!7fIUYe)#isZ@t`lF8YuWt4vrJ0c?N_LcSMmp1j6NPO< zus4{NM%y5v_+#mVzH!h$$(CCjn5j$`0<2LJAVM>n02ys>06I=*kN1Iudg~S7fmT_f(E9B=Lv1Jsv=sr!sL;@ckd;OSGn*oxeP&)8dvMCbk-8Ek** zrk**CNJ7x~?dorZy2}mPAM7}N_DgzqEnV=R0trmhd2A&!jBjP55h<+KdL|fOe+a&h z3-Ox88rAhi-(s^uO%q02qvFy(N^)^= z7oH3J_O_%~1;mJorx6Auc?TC_y!CEJ`MFzc1^;jo@1n7XEwqhHtg1D15b!V8U02`x z8&aaDZOUCsxgvL=u?+Lv2JF%>;AhaCCrgD)dS!iGHpNYfVIMeKBEdY_i!!k_V|9^( zViPDboCzglNUtYpRI-_}xucF8UyZt~L;vo=Vxl7aok1%=bmDe%5lEbbmh^EH!o{T5 z8nHQ9tHUa5fuGkO}qY*_c>8y7RJY#6r5atVOc5&2(+7L3Ie2tBJ{3JG{a(xi2c@#&=(Sw~|y9 zbd`^|KSaiMn@x*rvwjW(a8dbAzn25oK;yVcvlfuQlp`6M~1%FBPM5~y+) zrFHBX6+CABQ+?pQ?ZQA-!6tn1_xI0Zn-n}vU@R(pfSok92F)?qia9Fe@_^;%o@sZjC_1mW&fnf0EL{N&yR)r>a%h91;S`S4GprU28w-8Gqh1&wdpUt@X zhz(81=oh%mRo@NiR6dWjm9E-oe1eDRFnn%A5c7J#)D$YI1F zE-}1JqmH+NAT*-6J)8@wzK%sdLI(x*=_;smxNwVb>=OM8O1aeQYe;&0JJ6FIZXFiA z(ByiDvyG0!RIZP9F1}I8oDu|i%-n5iI4uj0Iar*UTDRxHCU*mjT$6boMpwhjR2^TL zb`B>}>Q5<9TV=q7@~2pD=bEFh?AXCNLID$@jp|%BbcTGuFc+#ZtU4>$ccT_Ewi(0P zNmt$H#W)@&AibZ5#6P;uLoQ1-p}*9B96BQDx0JG!SZH@z4+?ZK`XyS{uv7Ju7!qPV z-Z-)TD;|NGZqKtH@7P!Up3I;Iy0%eRJXlA9L2ng#BFQI$Ge^-`{fRRe@kxIeG=bs) zMLc}#k*;;2;e)Fd$1t^1d->4YgTa14DjIiyT7C=!u$z&8OPGF|l$eRTk%Jsro`D_g zKZ75?&9$)ElSD8&MQ*Z>BPQbsrlS$-&rd)C<{D^HZnIs6ydA-WMrvcmY)(@X3z$~N zeoNP$&?L!5d3})TW%^%#Pph1rKUSZGx{PQVg6|F+>A5yR zsrm9fQZBy}uCi}-ZR&SY;r*A4R^`7TL3?RI2g>E|9a%isA!2QamlGrmS+vQ*e7Srw zKr8$|h!MW+5u>!QEEBD0Ws&o61X zfYjYfiDfl^#ffG3fZ;Ai&YSEGu$7v({iR}z7v3vX>RuG^w-S+kFS-p#n*0P2hAjqb zZc+A5e>JV!YsE`K})Qr4f*G%s{w1{sryRmY`f4)6dMH z3ViaJ@h)&hMAzx^0~07O*Px;mEdFtTj?TR3n?FTNT;^XMaf%lc2vdD}E&^bDzpu2p z80rmrZ)>G04SL>%oMa-aE6+U-2!Bd%LQC}DW|mOup8ft@kYAWmpiWy%)a1`^%hCj$ zi}c06iKUp~EPy@!6w=@9bS?W093T|h;9=aNd0+M5J6 zR7g}-mee?;O4tp$_&H8{!nM4HTu# z5aN4#6YGKC>fm81en2Hu;s{1n>)pV%g;$7IufAd{NmNm_TcR=8WgVQ5u``q{`pd&`(^LWqw)j0GMm1W_cNfW5kx&fAvD%@UHUoSjQ$3@7og%gcLT<9+Q`T=_ z!qS18tv&-hj{{&tTbe75`dqCP=2x3DfUnM;eb0Nl2;j~*iJ&^}6#|LG-{XZQ13iwn zs%mFtYJN1O5=N~k{jE){K-q`XGpwM~6Y>F@U2l%0=F>YC%M%O)=xSJ$9%^Woj90rT z1HTaq+DB@8#eJPHz9`)-IZuQ_Cf`x(C&s)N#iq+U%%qt2l)6B>rJ4hzkUF(%SnZi7 z5S!Zr3fXysU}|=%g>v^cbFt<*81RB?RAh)*tZrF)J!K4;l1TL zawEeK{buUGO%yVeM1Jl@f%=Tw31QO{3~k%RWcZygnEaMlh}PQbm=6f_f_Xz^B)u2( zBSgfhg^eR0=FGJRLTej0s6@68+2d^vZclTbLX0#fZ*k*aeGB{QYIxRGC0>$+YwkDg zv_Bb^>fTx=WeE95F+-)LjnLoVpH!DNkOi1taEgR5ZWrYi5)1XNI|2Ftk!vB2nwVgh z5h6aVFLv;n(jaE0ekw&_sAQr01@Sy7&yeEWVc|RaQutsN?Z(4(7h2&ABhMBXc~O4! z=Ue8|cHO9q>x1SDtuW1DPiNw@{^x`IgQ4ub(H~7@QO2|3Juv!Vr#;0VPQm^cEs%oY zC{ef=O}WxoGNb)_u=BdJhONCCgU@BU`VCa03&p_G zH+zECUmj67^Y*jfb~J(ir^N^R1&ST;ChJrFlqLw?S)(RT9b+@FbTT1y?-ig9`XW6yA@)GPGOx{2&|Ab|-Db)WqUSZ7h3jl4QbBjy6NCB zNB|{FI+CkPBy*L3u&Jnh5OVyZBoiVJfdSWX!5+BJSU+3uE0am~@_P~T?rVV~)Y#L! zv!~U)lr?r*c~MT zCxhPv=RWK>Am##BmL!W?oRk+Q0({9m@>iNUSXjb@4Ui-=^)Z|4)=!3H8MC84bVu(- z7a1NccE{MK=b#y@TH70KZ018@W~A~VsfovzyKcB#A%V!43CQ0a?wuBQMnb7f&Y9Fa zLIq=f;uao)DtK50hScbdtYgVn-yJM@`t=r>bQZl;IdOIlNYKeKYWPLr5+sOqUzuJs zgEcvUSSRd5jZql|(+H<8*#x{|IX`@-U|}5wO4sS8fOuuIJXHB)=wB2s2ctWVo-5s- z%620!k2bt47PMMcUNv1bviqv)Pz=!lKmI;#-Kr331z(E(a8;S|eXpN|w%_#j{Y1!| zI&XCIg2f@H%1-~DXAy2rN0s~uIn{Jzz9!h=S1hv1hC5kV*+J7=B>|RVIp4k)6ER#@ zaq4-sK_oTQ(Et(6N)7@JL~+q+orfCOh8=irYqXxcojfZk-Uk}UPibn*27UP~#ISoW zQ*p>BO%={wG&# zZnDnv0@t{Rk}D&887qeC)#p1nd>?OZ^83NdHtOtg?+~&MC!P~`J)oLGcoD+8`3(K> z99d#wB$9N8E&hQ%;g)!6qZNmiHBP5q?hKlX#07(PgXucX=Q%Q{MA``fBdym&XGiaE;7v&s46Wf@>^ zEfB@gXYsMmA$b@wNc3LlC^IJL@HnJh+9vH4?Tqak~KAb%0^LzleIXUdnJMw49sEOWURX@+fEbC6q*tX!s38imr0l zvsG+F!7Clr*zQ_)w8urnhM~byDRVp;5|{dL5)tf0hk2GVKry8mf~Rw0U+mcl@+?o) zG3TOTp>r5w=i9(Y5pKbM7GGhYh0-UbV8H^F_zjUt!2T$W`(dpT3m|@URo6>Sgk%|n zb)CGz!q#Xs3Wb2jtCp`Jd@T~t9F`7v#Mx>h0f5eV>2)S@k^Le(9gX@qOaWuf1A@E6 zMtKoi843~6a)PfMGm)a@Dpdw6sV5>Y(z_OhVvY8|7E3i2Dhd>f>DkkaGHn4j z!Hww1W8m=iXD$Y!FS2%=J-Ks|9HN!j0?zOfsM`7U8Thj0A7$sEucuEB{<$Ow_!13KRq-bT9Ut7mXwSb`I(VkF5NO3rviFaa< z7;3e{9I`#w-hRl9hwKWs53tW0!wWea>>eZ+njP%#+H+3`mCohKPGq6lxkRO0f|Tg> zDFsV~Q@k8qT|Vu^G|;qsZQgsTT8eJos#xTt2;cC0VqZ6g7c~V?4d}bkhcJm@VM{Lf z)Dlv_ufq>hEXA98gL_a^r5lsJ7sQV6Ub3V8uedgCZZIuRnm;H$1b=unc6v#MDFgI!5oF^PHaO`D`~ELGb2_97XW z)RYZf3@JoSL46bgmv;zTDDF-l>l{$J`aK*RQH#4xJTx8{RzBh7v12TTqNxfDiu zPe!F#!;$gzC;~CFZ=)7MOuuV-S*`CJBGd6tF)F>)7bk{&Kjq?W$fk_tU_@AAcySZhg9f(FDuj75-$)Ak3kiuxl;r-f4`n${K{!1E9FC1FAc=HL3PnS#FRdDR zTh`M&SJ%}YaOA$3S-v}=I{dW%I~Ra(zJ|QYA?yZ6BZbpq5P+j&zp?gvvI06q_9Q}n z7%kF~{_5;RWt2KF#u%E#ubMWQ$F~xDSU7o;%Npk|ufFnBEWA}qwM!Qdb`>PVuPm8$ zb5dOh=`C>u9>m;8$(d02Qqn$ZQ_CIh8(nqw6I>&_vqoky*GtUKba}lj33G4~tSh}V zyF;)2T)s1EGg$G+n%-e=Bn|R2uj37JuQQ)&*nJ!7A+ImwULauBUkYp8jT4PNBQ~pA z9kwf~&p^3@-RHPOr~X+J4BZ{l%yiFA`^oD$&zCM03tFQ|qB*`StGi)-C-qEy?^}qA zAw0O#eDvf}C6u(~7sz&f;mic`@}WjFPqO**;~M_WwfTS-f}RrvXX;?F4QaDtnmbi; z+=~3)N~0%JU=pH6jdf^FC(~j~2!}z)mjtwy{y-~FC$mc!!T@;bL z`=QJ5-mL zIh^#A_mlrE@XIDHSr4Lu&m}{WDoIeGJVLzk#x%ofXQ+?|0#0-TZSGg^WPy=t$|mJ<>~my#iuKJL+QFQpK~)KXJ%>5 zz47)*UbY3FxpE4xd1j+qiT=hjG~(=}0dUCH18;?LPLy%U&2TM3s1_9I@{PU5YxSsb zXkhci4a<;?du)yPBrl~)(-f@o-5ZLV)WTQJA6MeG!Tvi^Gs|o0EM;V>(+TJNSCrT( zQf2Pu+^mKoY-*Y%>SqpqB~%NJgPUfFXK#Uv)`pVG@FMuaO-p!^M%_QTW&skjA=9aPXro!#$il^>Sd-X1PVf~eEUo*q-UV8=%p2a>wKkIf|NZPGxF6j@cj9W4r zEPov`sTb~OMTxN^PX-Vyyg#8b^0c>Qa5Jz*>8&O6yZtxFV)e6MQL@=J9!rr zE2f5CIQ&^85HQMV+Xw9y@$obyK+a^A=^zzl<$cDT6fc?S5tcm+m3pljmhBdvlajoC z6d%ofOR}oU52W{i#?bcJ2MMb;Hyc;*U4J+^en4f2FrRt{uQEdg%YdK7Ny#m#UI^~D z`^zmxB@=hqs2r^tX!x#R(PdFhjb4$zyR1f7dS^lLTvC95-#IVY0`Tv9Bn6|geS(iu zlyj4!J}0xk?e4!qixR<}T2^T&@}c9`A*BsJ@YCCaF0G)UtN9ha*;N~c3Vq~YE9v`K zAKtGgBX+AK+b`jzpNnpK7bUMwY7CB}uzYXyuZGO z=0;d}qq9Cw=tD=MfLu>gOqMrHK}x}r+c_B8O5P#7$l}LXVOFLhLhdUkTVDaJ`kk0! zWe=E5EjaP}UDF3;(;=8_zvqMq)NrQoYrHRWz<5i77{}dhJ@r}Z(ITp~zugB-h$o`N zUv`(|!vti@4~48Kbz;7=xYtl`3LI`m9^V^>jehah;f`YQtrd2FuBtXRhU0g6x_*z& zO)n?YM+qBa$YaHvMq@`h2@;R^HJ~^vAVd*nvqq<(KkqtsCgNgdF2;9k42QgYguces z1yNOaBR4|QVsY;5+xJNpRolAW;?-DHW^+v@-Xh)Fz7K{*&3+)1yX~X+gK48(i!v3< zxG2opRLxRRZKj$)uR-C&GdYm_rr4_SA{?-3A;MWeBThunoX?$7?DB~zq->UNN8 z+|`+qP9Q-;!p=}rc;YNq-=CV4(IoUKWt|DHq3OQ7uUoHlhkZW031&5tq5S6;+c<|Q zB$K?fRRPD0THd`H&swxBoEC#b7Fautly)`ds*b`<8Bfm+sE4iym>@w41#)F=vYtR@ zW_))F{U0IOVeVSiCX$mTZR8=sKTq@ILaA37Sr%j9ZNeV}UItWq;cyk+oPbkTZyWG} z89U7BQeNx=+rGvf z(Z}wN;=2o)7K(4E^W$dU6{T|l?~(RilhZY&rj6$tdKbnGf8i}*qXEVFIbra%zmjB? zIJFnM6-$b&6@QIaF=AO7gMRJ6xy)Tkzv`)uBmFDEZ9_>L-;UDLxo>>6O+3r>d4T1F zOJs3xYpoj2xHDf2zm(OOXTR0!VWCH6F(*|MyBT2s*GtToXr-|8`iM7h$38}+hgErS zA{ho-?f`>t0>0OTS9CwsBJM(%sHkA51zTgvL2-AhtRrvR0e5BE7x%IqNlO3pKVIel zLt+N%oB=iOc`rt@Gs)BsfcWYhf^;vh?AT$YF59=2?e@55x*t%HPJ1GfES_HOKh;b2 z6srNh1Jj{q8C_X>HVLAtvzH!*WR$(TH-D!`hTcKBAkilng}ScxA&Ckzb{3av;Ebdb z3@SQP@a0py7eX%5qCoaao(^724RGuS5uox;(q2$thP~(IF^WZU>bOTchq3m z8+fKHkMu3^=cFDkBU0jGRl=VQZl4)4S$mfxDVXd8gE(d=S2{~^BkcBDn9cGgA#L>3 zjENcLN9ZjI&`(wi=+ZvL=UJ3r-?;QP$?YRssA$pC5TthNZk+&ZD76R_MnG~0vxP7!po-EI#bXt|-jTRDUs^c1<6w7t=TP;CD z!Cg`K{C5V|?cUy!@5k%kDr~_RNAb=V)gLwM(<0|_LXUlte#Nd7U`2uqrjp+Bv zc1?|Ql<=d^&u&{iV6ty~Y*bMduC*k9lw@w~B8m9~e6qS`-)GH_%8@A)w^WSz`MeI$ zXopW3t6rsEFK5CVbqkc-Keo%^hYnC1$O{JVLkRqjjMHBpRPmt#j%p1hn@E%Y!gozA zTGFzA!-s->$No}}L#CLK2>$(6e>u!sNgI?YL6cuQ{Kwb7r|*i1C>9k5 z-*wqKGV?85PmzkSd7qS4tgl_v5T*U%Gpo?(dCc&PaW8J+qPOU;C;PXi?!`h_b{OI- z@B`*H<5TsgY&KS^yc?ol9ywakb<_hrZD4Eem!NG47nrVn|*`*zzi&T;&;7ss1RS0|UK3%_u z&8}k+l%ddS#KME!U=!?ItH8-MQ=77|f;49kvddjwR&y+XNi}D0a!STBw%d7v<|J`m zp5cl&LcOh|>#?e%H2dGXbT)H797m2DkZ&jnf)FiQ3l5HUOjGyPi@oUbpXuQ4SR?Z* z56pEhD^{U-vYF=Yz>Sx{g6?{C0r$!`fxHiO90~N^%i`$iTxQ?x^_KUkxAy8|Z(eXe zW{ZgS51<#F?&-*2EDah&>=)DC7L3O@5xzZ^!7=|07&=OoS#^b;;bZ&>f79ou6G`&M zyU+^9GNG`YA``597LJA-N+i>#a{cq15BB`P0TQc86|vohuGINaxmhcPFl+RZpNmJ9 z9Q>PKQ4p{#uHl}hS~O7p<2_*xoEZ#Xqq~!F zZCyNYc@_K5x+Bp;7J9CjbZIFRJwyI1EWUL0$$7*p|Q)Izu{ zlfhk0hC9tMgOZNOvKg0BX35od;vd*Ym#lv3iI&iYYn?qM2J!W}(G{YLnT%QJu9xw1Ntc(Hk1m4fKAyr`w&)`M6WJ$CyzZ%ULY;%- zm71qBGX`YUxI=*4Y8a{YaufE+4E6|Y#9v{Z2=K{APqNezds%VlP9&P=)M4ioyq?WS z57cO$#B;qXf`GEc-pf&>L@psYDYI!qEWN|;ypX02 z;s66)Fh1(6df^+_^+Q$k9rzV<;J9W5ujedf(zGJus#BXkR&75EdmKx?n3=_YjP+*n z(bU(r*mdJ$a(G=T$%IVdw8yA|W}i*(eN(s`yPN_0$28_(9W%|wA1_<=fmofzhqXe| zkm9NaI!C3C6*G;P9rh@~1sgfbS~^5RXG-hSOq(;Y@5O%myiev{wI*UDcaOy>SqWkV zszT*iEB?K2uaDcE(u*$^l!9yXalVL=mfk)4vh7PJ^Pqz1r*wF2!)v#7`hV}*GX@hu z4hEY4+12AlQT&pm- zw0$Eq=%2IGxk{kqjjV;P4A;BV9(*;CViBFp1swUhxj-`;Kw&rHdjpHFqB4$u)VDc7 zc6Re%{^f|4GT4iCkBZ1kl_`gjo$cRhXGdgo)pd3VZvnTj;j#m)qa?pNfPC-2Z4g9y zSWIbha9XmRPW5oojIU=vxLqJpuH#-D_5bLvm)vw4B4tDC-pjP-7PF! zR@kV)PSp1TgW_y-O>yoXc4dE!fG%OM`wwTVG@sL|aOfe9iv0()E}d9#)GT2zvw&#d z9gg}E9V`T^ta;LsgB2{Z$fg8N3ur8!tHkKevyr?+F{n{k5V>4?z07*6jce+5daN*l zs_}_hA}5r)nR-_QG}F7Up?Bdl1>1;Xjd^4$Df;GiPj_0W_k}|3?j!r6qM6cr!XIQk zJuxTyejebRCkhvsx)~PEQ`!D(5@KSn9NQ#hwoaBee6ij2bq}=V#36W-dP?-a)lR*q zh0iW+09{-}opc(A9w-FY{JIxs;+OkaxWd}j))1$_a>f`OU?$?UpI8cL`F_n736T0z z7CwehYdB5c`)Ktb7JW~zuhL1=j!@Tq)MeOaO13S2Dj#l3_pEDRpWki9v^oJ_HV+5q z7PR**aP=@RMg`VL9XR!&C^q2I+&k*i1ZGD)gTVNwarBr@B~P#ZI`4#-U1v$SXT*?W5M{7`Z(_}tw`wgGYfb?$Zw+~vZ*|V?P{CY z>QTkZo0n zE~1B3ZMja1PDgOA5GdMpZzgG8nKGmt{Mj7eb~7ZhRr#DPY%w~n_ARZJHxBBddZP8> zN@}}2D6TTg_QqBzLTWlI#th?+@79-jz|?uxm3*`sL)m-8j%T037l6zg{D;WaaylEa zM(H^3y+vP zDPPk`Jo+)Ap+RLgbNvtcx#8stT0ZXT4c@2NqA)zrcxvQz>=LSWF{3{JeYn+h*DbUv z?J(Cvi3=@zS^8I&OMS;`!FD#eIj*O7rmHDYVuS)rjE|0Et=M1zx65ofZ42d3`r#2 zCv0KVNU}!XH`DX3t67Y!Jii1DyKJYk+II_~!HUMKLMFcBm2m2>>>Jg2oJZ2RS|#;% z8LGQv^Pbh0G#pa?-!1&6?DoxB8V0RpGS}~dmj;sLj4;uz}ts!Retf+&lNRb8|Ht@TX#u@${DTy#9=rNIXbt-iQ?Wu?DDB^Jr zQ8Ee2*zf3;(dP{?&C2&=ecSw*-s78O8QnW-2W~VfsujvBzOzRO5$GSWo%#>o97(b; z9vd6$S5s35Jt*p$#a$6%*Q5CKcVU~8wDEE0fhiaE;Og=6_`;HeR^oZfQY&?3VLZOU z3FX;Z(Ed?HY``NC>5&anNsqhDO`1PhHP_|4Ky8W?9Vo9(w+5?o=L=sj>0Y#jpz?9j z^!bZrTp}Y6n<0yI{r#C`sW$+0NzT()86|*xcjtkArVgIf(Bkop+6GbW0y)Sq2c0L9 z7E^wZB!jkA7E5F_eZq%*RI6`iz6-hNP@(*qJsHOT0p*+s*X6|@^P|!F%{Bc!`i|Hi z)!GxEpZy#-cz3a>P`2{=`ir$*^ZqO6Bs9OY1>#NZ$x;*aZDIUswYg+h5A??+O-uAS zEuJ0ri!6}jN;CQGpVvR2->)NtWcB@v)2gF^y%HRhYmS=S zYhz*Y{GO*$XC?5CW!F^R+<(Aq8u3Zp zQJJ(V+(!E{9J}E|{K|N!`Tq`c09by1zgpn=T*E-36EtR2 zSflPmAm$~kdMg;wS)_cn{j}Tjzq}{*SQl@;TUu|MTr!U{IJ_nNL&~oCk`R!_LE`2l z+**PbekHx*RcOq;tcj0VeLX?*exOAvxYyID)tYk0cQi+JASckXBW&+7@#c0z+HYUQ zdt+lNX7NnolDK`(Z!u32ov&>A9&AD=oM5bmcN$X7R&B9mqGD@&HR7g+U2iE&u*;<^ z!yg-hB=#T^pKCN{#~^JNBD~7bE@-4ELxzyGx7N1U{B@PYZKJ7-+SDUTb!t7`1pKjw zJr3}JD1^1X$M%HesqR&BB99FP@`M;q{T_-y=y96e z2))a*qw^2g{8`u9$5oY}%*L2tK#+Tp0=!yZ z9;CE&FWLTxMVHjB(}A=@sZbT8TV=H)0?>hSKIP}S?+HS=(v;bYijr=x9oktOIZ#*W@laSLe_zf9BOA7=?gYu|wO#8I-^CJ)L2{1@dU_Ddr{a1h2-sP7DbB%klTIy`c7J4QI(}zZd zvKG?wCs2j&-ShUFjx~BmD204GT$Au_DUNnF4iV=oP=U_S)n*{pW&&p2uGv{qs=Q>k zpLzvSH2?O;ZoAW+g|?QC?X>H94Y>nTz-fehw{0|2vOo&|<#7N&D9wzL@3I2d$reHR zzK{USHGt;Z!!^dRw8nw>Ue?U+)4@T_y5;;)$(?*+8iqK|4La#YZ(vwh{)Uf`zr>X9 z&Fx1XBy{*^Jp+uG1!3eYlY>Y19Z?+X8B6?@~<`Rb|+@Nj=-9*&wG)>?R9^9@#r-_@(6emAH7=i`fe3&*SD@riW(-a1(~wW zS%>1&`apGztLCh>`?pgBiot_*Ok8#Y?^VgRlHnoLSJQqlLMce_@U>*~!hMJFABM%e zA0GPUnU8t26IxGB&pZI!;RjxSd<|ZYcw?BLTn`0U79<&(sgts?rR^z}{nR~W8N}|L zleV8vjZ4k#Ob*==?G{mVO*UzkFJ~+U{A)KEwrR1rk%d3L{JMbc!9WtexOwgBe+UIq zLZJ`heK?I*F^AXdR%=_rwrdCkG#wz;6=8&_=kbPw1by*XhI9G-zhv0IYvlVo zEwhqM#2+CX7!fFM+QmLu`2TzM|8?W8ukW-yxNv@SGVdqygw;)L|Mki~BH>E^BmMf{ zAw`1zx%e&&2IO~6HKqyf@&Dh||Ihhjp+8xF#dPoaxBNiph!K?kdK3J=*1S`EVz>O< z`@eGmP{02-hW)~X3PMAInTUHo0nzw4*!|biedmSfR}aE}XJ!BY3*o=Ja6l2-YP(l5 zzuTF$mCb5$D2TjR%4vU5v~*>qNdAV|B@05qRNkQK1BaE+oaq@!Sp|G z>>i8Epx2RsLnqfZDCS-|v7Y@676Fy;Lizl&E$#o*xSw3_5M`jL8jVDaQ!C%Rr;-?i zj~q!Za)}}5c-w?!U|^8)z;jq0k^F~gqlyT&|Aa_agv@3Hb4Rw>L>99nR@PB1imp6f zV^ivX066BK5)^c~?$3U{tI(2osxkVVjv_98RYi?e9hOH0adG%&V4)FCAEu-${!dAW ztaK7I{!>kLjbTJ4zi6Ez>zeG)jQU_G zzNj>L?u85CRBQ7d)tmc)i$IEN%TF4!IZX#na_^i>c)*7Z;QSwIuqpI!g7hCq|Mvt~ zvox3I7tEdZ`mdf$#>RuGz`fz*qK*LA;Uq@hKPD(<@}O}7_(Z$*K7K(jMXeHV{M%1w zkEA&N?2b0?_SFArXWWsXDa;ec7~rb@TwnAaV`C=#-w6RCug|9| zye&5A0%K}?qhq7hZjRfh7uJZeeisJYTG%I z(&6WSYw=1xSFPL?S55LJtNo&4zQ677GL|-xTiGWF!h)uN5~8};ZumcqqX6YUIiO{1 zs&M@e#@;fjj$m0E9ySo%HArv^?ykYz65NABf=jTCTX1)GcY?cy;2zw9yW6{S6MNOxED(^b_yRn_{NHvec~CM@JZ+-xS(m*>>@zREkdFDq?yK598)u-Z5PBxbk&iP!iYd$x4NEQOgGv-wb>Fj)z$4-cH+=~%q@%qGI<^#JX&pz$&-#xX^*TJYUeahl2Tpub)6=F<)gHGeUh} zt^Yz>mmD*2z+_-{`*2P4{Nmy8`l6FrsdJs6VKG}p!u7SSdoqJRHBYQSvF^vyPUhDnS50m0kym;z8il~MY9oIJ#7JWPo3~Tg zP5-GB*N3st{XQ+?Lkyw+5I1fmuwA1`OfmIVI7J25k1sET6qe6I*49g?L?IHhr9>|e z)_!JVo7;pH~CxJRh?6=T>z6_dzgO)F@;oA;Vey7_Vcxd%iy5n z@xjMu)SiI>^}5D^ncun)+0-+VbuMTC1EnlRX$lod#H)(?co85>_oy@iAODgm?4$n+ z=E)Tvy!eMj>ioOyR{xK7)C$~qS<$2Z5_Y->4LR*bOnwzxX7vUcw6bX{R*mUelZh{?$xyY6{)@GZ7-Ickcjp}cN_NF{*Z+{8x$!B_ytTs%oRYg z^9j*o$DLn&md~&8r$?ogmimLWtn|*;-Ss2`HrrK!U;1s*8QKk+tuBmJI1B9>m^b;a zVny;s_e%{94Vyr4X?SLZnoMPh0bHq#7B08lLNAlg;VqKx!aY+#e2Uj$|srJb=Ng7 z8YO6^Pryt8dYK~S@+x#fc&!sS^Fb?xa)25fPNO)dbi3OELsQ;*yw1g_m6_=`co|kq zn)nk&AVWa9T1mXj-tE9IfNL(3uNQ6V%d}~%Zf09-LdIt3#Y*6x+b^B3#Sy2z96d)_ zKF%MKwu8gv72fL>U3;N4Rba2qLny(82%6F}wsR?{?*Fjlyso=wj+H{7+YO2KlnnRg@QK-4Og#3d^0H&%-= zSBVu~`jb#2H@NX~Atby*SC*Ynp+G8)6F_}V zs?`L=PM^x>j-HR&BXR%PQ`u$n(uB}-=VQIs=eX^hd@o(xg&>C`*z-WNtJVT*;Gu2= z+gk7s#fU>0jr)nP@tOELhB(bf0%TzeIq`1C9!5_w-24G>h`-m@t;Yv37XWu2-}oN6zie;& zLPNaGBe4>J^YJf`iaG7Z!7lZ>V{v$0gpS_^7Zgk9oTpqY^g zb++E}{T#3blJKzv*>R`M-E-@h zG3(LDj>QWadgpbm!wTmR4tc$*)zwnK3VUmJoca9QXix9`>O9`1c0=*mlJ##v*GL^c zVm%6q{eykFSMTTosvoW=)kgynm{l~2kmQ>XiCV7HRLKCy5qkYhVV7Ekp=7>Ps`a3Q zR@SCb#snSCl&F;h$tlIu`bB*L?1WNE+(()6Z905s5}5^5WDHP_XtQd#0Q)4*j3HRG z#!cl-|03NxS}L4=uW>mtAU9%=nKnkA4vC&Ka}4gQ$=uXiZr+Gr1WDB_x-a{8FC^M_ zmfo4TW>Ozsx15%|{|e>UvrBl2v0rEk$y?!B&#BD7(&o_t7(~1jKSr4al^W#0@GSdDoQ4Ap8{_Q0qNAlj~k$$Gr}pun4o&41^V_Q(PXFcM^-? zb`z+4J>S9rE+4``3|SO0MI0|hHhTh^s~iz<-cufY4ZA5FwDjTG2^ob0!>hsD%gVEj z#E~w$p9`sLZogllRocjg`;dD{or6dP6cSB0KDLd-g2SD;x#Y;-e;QwrOV7=G_VsQ; zM#-_Mne(?TL~i<)Tl9kUMrpTO7878XQFg~n+m}w3l#n@f%}ND|Bl(_t~H|s3Z^;&-*pwmE((ixRP)}e>Jm4 zm06}_FK2IL@s!ir015#l7y+mB6Qd38j~@(?A*2F)EfbwOTH2f3Hu$f{O9>8L9d~ZO zWG?sefAUjM#4Ds-RHhMfHCQEBm_gie>VvWiRAnIc<)&o-Z!LvHZTwh`JO*sta9Qug;2tBo3TMfN@RY4w4b*lfkF-(%2+eVVFA0_RS&(KQ8f6s)YF zGxhSdV>k=E&Fh=A3ihMa?3^)u`Ret2%9_hte|G)auhjOr5km8=oG-q{-zYZoEas4= zaYUr%gKmcur?VAnd#9(NF4a*E)UA)k8uCpKh9rG6;s}{scJr-fC@tzlzrEpB`kgtU za}UQr!HC=%^g{IYKz_P@j7S|Bk^?)@BUC1Z^1(ejY^D30-q36rAwl~?a(ZF1f_59C zk}%5fg<&q;FVPwc_1H7Au|{dqq3Ngv;=vzcA8q($w3Lm$`Kpx-bVQ=TE!%E7#3CVH z_~p2ix2Ff_G`@KxfSz!<==X=YCuk~b>=WdA7hxj1!BAF+kzZ6wo9?6fyUsL@;LtaC zjSp2el-=x8{gpCSmCFYi#LN*_EsK+|R<_XQ&yKpTg}Ex!xejVIc3*KnDd?TsNt^EW zY$-89R~xol&brK;^D0g!JMoT6@v(8D&frJO%DK`wou^GMNkyk_iGpD12pqGHGXzzoIVmtAyf0aeiz!VkZRC0E&pn?GcWTLJ5fJEIV0a7rfZVj;)*#yE z-8=@9;*o37`PTgiX68mnB-P-3WFQ;hoZnZf9N0e!t4iwPXo-|>?Cu^XVDeO^(ic- zIBRIv-gsilcJ{mlOVlxxv{~NK5wc-vh-I*a&PqF*O7MS0Ik%$WO;fe<_kQ=@IBwjo zwUjYKVAi7NYAq%sXkZ%U<8RSg>!#k`vDAQ+!wJD?D2pL+mJk`zhDmYkFNl1n%9|&p zq(&?HX+7vs?B8T z`wUVSqRxsYv=U|q72{0C=Z=)4CNJU!i_M!@Q?u|gKK;|vi=+19Z@)U$PSYkg;%qur zzI7`j#2$a%EUKZ8ZZBi3dCpM~+1Zf!?0{?5SPA3)dGj>uDe5s|3Q0S~g2lO~g5J1P4tdvl-5PJ-}tcsiYVRzz38jpbc z+J-b`9ej+6)vYj5&Fq)UxsC;TLr|tWtLLbAj29X2^|P`vLQDdGQI6I`(WLZWh2NAg zq206|2=Gq`yT*8qVZFn&cF*;&c-j`*{qSV#=Z_mv1m~@qmS1{AVq)^q!KWh1)QRV@ zB|AKd=3btwA;TZuaT1e|vOmG_u#{SKtHj5i`Bn?9^OOB^xK!ct2Ygy-2I>L2h}&oL zy?9DsH3_PiUdW7|65uP?G+Ik(E?+`k&Xg^W6Kkvreo*993}M#uOrv?(!D}NGT#wXj2ERZ$QJ{Q3+)ty?tAYu2G~yLC|O=@nyF3_Yao{ z#K;o2}so5&d~m}!?oO= z+?tF}nYJd2Sr;Hgzyh#4I;zf9?lkoVv({B-=LW*g9?s;rH+`A$e7-hTfW*dkUf=9i zLtJ`uTD+SxcQcecCFw9eL6khk8tOTal z90W9tWXg}p&k^=A_@mPpzBfB(U8M^8ni=o!aC%t!t_#<0BwBKjNzC4InB$Y3ham379HD-6G`{y=&ts(mM zerT{Nf#L5oP&)CUbjHT8aw}G^ZoCB+Ztd3hx5tS^G22F7Ut97j_*spZJ`a9duiHXY zprB+`56;qKH#c^j2A&gUMTn7V%9REQ@`3Yg_7T=kYXQVx!#FJ``t5+k78 zQGjY>jw~Q9ai8WV`K14`Q6J0$-JnOI?2(Lh%A4+NZnfn_iqfD*;C(Ze?B2%pYc+Gh z(j?`_Ju)N3l#Gg2+@|GVE7G`f!w$=nE-9-G*>LR8D;OxI_?XvYDnevl+Sto49XK)_ z%7G`t(wt$S;qt|s*8k{F;|Eciufpj+f$6v<_=8MOc3VB{^pZ2!=qe8tHU*prD0pu%C{Q$(2;T z;}B?B$XV~nm5*c|^|1so&rC55>611z@-!z&y zZns++Eg3IsoZoC0h4)`VB|cbYDifL;;Gm||+zk>BmQPdjVzE{jHkLI|%E~f(%{d4S zqgcxnm$QPm6It`+TGndqePgvoL`rFPMkI!8;^x`!`co)OOTy+z${nK=Qe%~ z85dTP(ELj4}s3#Da*e;#;F!s}pC_Mc++7=y?Ut%SFo7z%l$F4+XW5lMBU%rn`!|^&%m6WPcGp1fT&UZ&- zGkjrUrJAuyb@8*^MsvSFE5=m%+JDoyL|*tPZETyTkq6CDECyFe*8%sV9(N4xsh@iZ zOcy;Qr*ID=j&RfC!-^kscb!`J3HR2q^aVYU^^e8=EoJd1?9peT9u!Ame)p03iZbSR zb0x(TuGxq6xVE{3i$O^#GcHu*KO>Gbxu15_XBF=TzGY9iZFX)UW^n0IPr}9ugmon5 zHos7N9Q|8lGO`#ui=EHPk%@Icq4K+(8`yY}|A{iD5prmSCmVbrIH z4=Nqg`f|x$bX&_u9Gm{?ZnDR1jr=*@OwH~K7|hSBEFXVV0~UJn89$;w$!8hVSAAnR z>zBw>12IPcccUjOwb9P|J%LXVyabSCNx}*pwFXrx)RV>D?Jg0;biuUFVX4*61~L<6 zwzgy91_rAhuU_)>>LMObJdS4L)U3Q(9hsEyvcU{Q1VTE=shf*sc!F<`MO51Pid;{3 zqrM~8OGOT8IlY!>palzgDbH0IMq&Z^Ye zoGk$?nAow!N!(ScQf7r5i)^qBlEHBYtLn!4$0>Z>y12N`kg$%zKXp*1HShToG@VN~ zUdBa$8LEv!n{mD?f9PQKUOq?n!_=*gacJf=^3r9b&IIE4+Pa|TOCs2 zlHdHZQp7zG7kGKHP#NtgQt2qX*dD9e?55eLb2 z-`->YuJ2cX`jt4}{r+I_sA4Pzx8xT`Qej|GY`#n0d=LA>Pi*cAQGfw`!FqOK_I$%_ z8vow5wN^wclN)NnYT;cy+tq>&1) zBsjJh^Ky&51K+f8EYwI;>Fej2$lyw-;?CBJ+jpw7H~Fi=u+6lIp^=d6F(DTN@8Ka4 z8v;7*G=E%|Dk(&BV&@}%x~#|)))yKy)_3f+_R-~+3@H{P>ymHlTRy%J~}s* ztPB%#;|=c;+5cRlE40wLk)JjnoVgJU;`*uh3s+uVy8pNSgV&A!Kj{9Gn4k4a-O#E| z5i`8ic0hO6OpjqpoZr8g%5+|q*(IIG&dF)rlFClbRyPZ$tjnVU389^w6>X*Wwa%5x zQ01fbV<%%mjyf&B$UET)%yas|zOMRgS}Ng5^6o2~DMhz>@n<~oqNgGBgV}1z{V`NG zw(clob{qy|d93)z51QnOOV=X$P%(He2o`F~(%d*MTLwNyPmhZ_3r_=xDK1@MI&dQl^q`TZY>X?y@I}d)9@V zIK$fGl#?++*z|ajycV%}`AQR6L&h6Zh4FUU;|&dHy(&Y8OiEss?QNZGvPa_KyOxA# z+VXF6C-*8hcsSp$c;xJkkEN=DtyhF$d+&&Iqysxgu@+9)NTe=Ia@6C=X2)Tb^66rn zn2_{`TWo>?9H-1PxZ=okUYU|8ND2t@y6>GEcdAMcFD2ls2ax;BjWaybsn<9-l!0>7 z@!hN(9DpnqBtiN3vnnR5cx<8ga^-Cd)p5VV>e{E#Rn|y#4ou(!(qVEPa&y4!b;{Z{ zRu`cr8B`iNaM|&Q8q8(Wb=vt%Epg>sU)NhrliB4JB^>E@+R^(`&v6F_x3x4|cK7-D zn`f;%`-l_g8M1_k2S0yvb8}aviPY20^4B}P3dT2#OB~p<`94zxkBBDGrlW~QUC*~4 zymk;TI-W3v_f?%GuyY-6Pw<~N!|hmE@L6?f9AL6t<&pX5v87Saq~HQUw+dO2LQw*K z5lTWON>I3BV>*yOvXF2hrv$i$#XCoky~W`v!CPPgsylvAPssFTZQ#pa6{+u+6bP?D2%a<2UhrL6Xrm5l49@`Fa6&D6Z= z`$$dMFvru@%mt zFcgVDn6`)w8FkPjax-1YE6wi%&a~&{cO=yfpeLjOC(-IHEa~aj+H9QRf}zY>nY$K- zw}>);`X6iN;m+;R22#$q81TrEqN(uX@u>W6zmz1bY}jYz1kpTFe!}# zGORGEfUKdrE0)c-VjC!4W#;uHQ{sqWB_yZsex$o0%#DQ=@d}0C(hinX@8>P43_(9d z7?UT$KE>Xrs(9QScw|oxR}8GJbpK`7k4Xj)wB1UK6gCQdDd;kPIy!*qTFMko3bD!} ztc8R&GDphe)_)fL6egtTJCPWsmRCc`OJW*Gw-8?vR0CK%Trwbm6F`-cY<=H8w}xW} z66lqCy(ZUk8RPVTEjYvalcY<$XXV=id_S119#UVHUfbjBk}$b_Zr3*O&`?VcRInU` zGCzKiPN~9zwyp)sz#p4{sh@S`xm_|S$4%Dly%(9^RHYuXo8zS`_rhy=ZZmpK`z|`eZkM@sv z0E(QU`q~!9U{VkYHekJ2w+}1w9K0v*nUMugGT5?~v1iPl&0+3i9SLZTr}wvnOz|~% z?s5-eb6gLyFLS4X72v`9!^1qajz!oh^EDsfkO}y4dr5qVq}bWd=U!i!YcDR&{uHaY zSxaLg1$P9*JN5?P~Xxx>8LQjAEKdRWh7I|ECr zh$^933i8H~TW{&ZiLxnun$wOWiJG9&vP1hWNei+L1sHmh$HQVu<>$P%svLc0eUS9@ zfVN~D+F5vxC)1zx@Lj2oxSB^aymzPwuLLD>p4k%;Z1@sDkH}R#x4?(F&2(A9;T(kw zAzNp|wIaF|D@4JxiDh^IGXSN*VI0nI;P% zTWg0rRb$iXl`K3Gf2IuXk;7t^kj5pD1m>E}ayJrkE1*Bs0h+Eb>oreQw9^RS%cu}1 z2H5YgBCgnF>a;V>Ju5Z%T5pF#BG4_zgH!~~+9(MftQ0tbh$YrY^01E#lYFOheN!S3 zQP6e`4~`_ybrs}@i;c!Ogq5P>t3r;fJh5|SoRgFz5Vsncj3+lPO+~V+0A+s>3}ptk z4IEez5VU$IA=^{Fw{AGmnnD8Cn%Lk#O%y1@ek5BzsTA>+d>@-faVAnp&870Q2>HI$ zGyX?&uY@>OQ6Ghvtj8CoU}b2iGih8;a@_{YMe-JWv5Rzs0xQAVcBlQWk6D}<0ByUPlV9|UTtS0WG;OZWD58pHA-Jp+^CZ#% z(auy*)Lk$5_+KL|z18(jJ^K1-<2 zdB=73vEc#=KAEOa6QbV~`|wO0!pdDx{hTqt--0dj_S#35qA3999gwa{5V8>%AQ2ab z>tXG*KfRVj0-MsEIi?`5q0gt6n&7y%8ZPK2J@)6D@y0Qqj-}D-9C=C}dD7353xOEZy(~hC1L%eBgpA)StG4 zsxA~vV*vQ%Wktf21m0;yN08A+lF|3*kw6{jO}DD$g&T7_|4Y2(%#A-8mrz2XEmIg` zfglk*?`~))MI7(hg5=ZT3!>1}EiK(_?;W)x8u}Crfe2zJC~rWEE4Mb$GoDnw9kb# zR`(7z(lVm`5rl46FORIQ8)C?p*ZmvE%l1yE`oA}h7$ktzoo)3pfL0eQ0b_Xf`si~f zh94iFKxViq;Ms1C$EBEA9tB{d=srEWw()xM{K^st)!}#P6LvWb+RKZQwH*Z+-iBgr z+)R9EzUW08l2Huu4@c7Hvl9suR2U9=QpX}!oPhNo9jA^c zY}T2tFJCC(tfTP--m3D78kJ(`mMcJUJxEle*XXy`km}4(e3z&;d6W243vDBGV!>cr zK8<0k?f_!E|Sa6V;^G?%8GN}4Y^}sw7c$sV`4o9z& z*aCwzN0MZ9Y&7?vIrN5 zA&VTr%QTDj{brt&cN51(SWgW_1lnGS(Mmm#oSYBaln)D?u0WRtc;FZEI}T&jOd~*X zO^`-ei^SA>W@Xkxv>WpiVNv(4gqMXD*c&AOi8K^~+6(uCJe3w&->BW%V6-y#&H85> zRsLQNGg4iohU+?Ul&&XD*L>NS5tp-cg0OX}Nq8m>4k&x^S|OS)iN~q?{N2 z!1cK#{DSQxz=59Mr!&UCpRQh+v!vn=(0&(M=Uyu=TXlc1+Sk1OxH7FVlD6vI2`OulR_Z?K}Z-Ej_uxWV3WnZa3N zfshZQSAc zvM^8ga+(rK*#KHO9&mg2!t{Q4NTL)fIj1jHvSWU1Ezu9U4uBmyc-sMLXBB}b zX~SQ=B+>}Qgryit^HTpk@(4y**(~6c*+O_f?5!L!Me#vcB((m{H#Y2ao>Yo6)6j8exp9&A61TN&dP&6%|zBgLNSKD87 zCC3h}FBV>7AL;Fn#>}i=F!_ytCGtV%kPC?~TG$|I2@8&|sdF2@Kj-f8*D(y>Fujh7 z_NwZbUD)8kFDdvKqZ$E9S^khDiD{#XkbB*3kXX5Fc7d2A3UAd@jeqNniYHkd%~rx6 zi~82d>tQR=;-8A%KIVv}F-vixm5_CzKhq z+qGZwl=MAN444d1=i%OU$?fkqx2w_Yn}@zWb`E)7e|&Z)PiRh34IRW~o(m6nwR0Ij ziFiX&G8=n&n(2HPeY2aUy3!dlU9`0xgwp)$O~@~uh1IN` zj+GY;_`o85kd*{_pMd0dhyw&_iIB(Eg>7t-6qac%Oia$Z>X`}(4GVNz)KN%9CiL=e z5V867pK5i(hbzRX{;sdg3=KIeS%h^vh;{2DYypB9MccLy_8@>JM<*o7aSX#*oasJ8 z(~Ht=usi-PVrT?|`}tc6CGdv76#aNFSRb`XshxBRDPT3EeccClz9*=^Wx^=R1XqH=z^Z7Ril=9(s0(|_S z?T?vPgi4$d!QD&)k%7^=2qrQ3hiDobX85~N>$5$Ub$D&i5-}IE z(vIgF;gD|eb7s(?wwnK+o={{Fg)JNtG#XshLu^w!9POMp>Zzo zlY>)4lvJ|Oa9;>dg4kIGEe!+Rff@Jw*%{B%fP* ztEn|1q7dfyC>uH7 zUsB|tvSy$x8XvN+I;h-$ozMI?pDGwBjsl$sqsm!qzI|_Vi-NSBJne}E7s$h@(bjOy z_){uBJBP~t9hu8vk?UK>0byD0n?y1Bu>ec*s2kV{WwLRfE>M*htK9nh?*pjl%UXf?7A|abQ+zS# z4^+2q8<9jCae*42xK{;Nbw%aWlEW54s6v#+1}uk3+wp?#?#XyKKsnx(Q>`Cept!Ex zQGZR%5gp!o^2EQbS;%*UQk?nGJz7~#T@^t<OO&Jo#eoa_D~M@*Qcz#AXoOL-5U)c%7Io!LFW;CyIIzw>pF>h8830w| zSUuc70o!~tE+H{HuIH6ucr4w(bkJ~ygE1TAQGrd84>MouBYPvNm2hiYt3;X{qM z1Js*zL346GmF56?C#J4KL~w3LS?OHkf&NzvyQ+aMoVRZ(e-1#F{Cw=?90{u02pt`) zo0G6bPom<3AkStR*OKV^Ppuc1!4{Vsuh20vv)?qCA%LC7Q|w+UkJ+;>3>?cv4_kxB z;K4zEP+&z$J{csqyKfaFq2ERMNXK|z6N|xf2%M%$`YX*>NnNFKHhW%|HsWSiVtjy7 z&fn(hC!2D@+8ZB4(`hoE;y*RK2xsOx;DWn7Nw9);`EjX8Brnr_1B+zW)XI-bBJ};{ zc$vG@R_8}^1roTCEsBT+AsYC5)Z>C2mb_E8v5&rPudc4M4nd+LQ99o=ndKlM#iS-f zMU-I*327&NJ5J&b)E>N-44~vzoT&YI_WrN|0q$luB-zTXv%*)S*JGSs1`H$J#Rb36 z2sC^0ehItM(}T$_K6aHVQpEpVhPUeWX#3P|AY766HKF%x4f$2y^MT`2+dZ`^JKI?j z5hraWj?dS5)W|m&Uzk>D@;1iRA2bOcB7AkBxKv<{;c)s2{cwJ@Y zet^3=oI`>3xaxv9jz)eF^e`UrgRQP>n&*F#E$NBP)SyEQ>(tQgjD$Au3grG&F0!#$ zC%G5$N96tp0tj-P+dq?e(h3UwbTO*P(m}{3gOP!0X=&cZ{qB%Jo!k$Dk@#Fz>J`qg zWA3;k-mk=KBz!REYfO=m_(vPQl?^lW97TFMd`X~e#xbrzSrDbj--A&)o8_JUiDR_h z3G(TEsB|P}Q-=3gr1Dv(k2{Nj%=ODKJ5b1;aAqcmgYmqPqO+3siMzDe$ayNiFz zF!X@2(FWqJ0hdp-EagfhG61$%Hu`a2Rty%k;X*R2Hk6Y1`CE7&how^zJZ5s|X=+OE z3j{=;N0ijV`Rl#?X&>iFaAeb3Wfhc#70h~r_59fY;a9`i(vQu@jmr}iI^4tA+eeFa zXXoeLMOoff9%YRQ5y>D!`ZN}oBp7K3Wd5RN7eRS~?JGibl6#vQ*FRth1C@pc{O#nu z_S;;a+mk=E--VG6UU+}I(|~Xpdu&lrB^@c|pRvS#?;XyYXvl_9KIyeMz;^1j1cWCs z=jp=xwpfV%7z>&KAnQUDX1~%A(9qC4&${94TwRlX@?KnCo^M478$Vp_qsKM7Uz&N| z?<7rFaNx5Tg10ppUg#tDAknN65)y9v1xaV;gCuf$Az8Qk({R@FmHo_}PkyW>1M7?C zSqa|-UoNv=*W;9gM3t4Juj+b((RycRaU6Gl#+)!mq7ZVer$MZa0BQTNvyI+@4yV&q zy@z{<3on^!tby0{M@mY{^{4yGvzwd5bTf&xsnbG~p-Z7X9xVfq42|3G^D( z4m+|}5GGP(22=l_f$gI19+CVz+WvWD55q&ahsNlhG8k?i2N~5Oa_H5TP%Jk6h{*f1 zNWG^&q)6_~|G+Z@@MqCv^%;_6SvgXOcM;;?Xx`50487dw=yuwFc%TUA8YMuP(WqQk zig+{s<##kWs6Q)69C&zmAg7>!hC?L+Cnae#c!$7uM@OSm($IV;QJ2ltR#ZgQg-jSB zyfB)`7RBeW%cjId>{fzz*V598^$q5cdb-~)%2L+WMm+C6K0S?^hnP#FNz8+Kt}B5a zr|o#;+UK3G&s9!d+S;j<7uP2%I+*+7>bdB*9j`AQ0yhgL3-y**e9i{}ozKT#r#eS( zvHc2~2l-FiC_=$e0vGV8#C((uG?mK@)_BzN$)pmTC%=DSAxbQtQ{@5+m{nY>asTEM z7=}O*?3d_%G&CxpFOc^4vbG;s0SWwdpnv1M+uz>2NHIaNiyWk!R7+2tKiGcT^V*MR zKU&druqTCk6~H=h;PZ^M_Il<|`Jz`=%<@2y3smWMGD$$MHrqpI93P+i)YQ1~kcwc= z%JT+HQ0LxO>bJj_82KpJ@qD8r@N&1MTAvjHVEgIX*f8|;_F~}TQX_n+1(M_A1L)KW z*Hg?hyXPu&&ZB&upvyF>B#n)8u~%ran32Frg4glb?KBT97L(+CgM(Y`x2wHv?w9$g z0pt%#4B54{Y<+!w+0D(GVYt{TeqzAW^X(dysB%b{f#*3awNfU-vmSih>&tED`P1ci z@A$aVgU=78zcD+0{{9N0(^kK7fCa0PyTZF|YSAcS4kz7|>RU z1yzRVxB1GyxVZ89sVb=HEoglr=R?7tmgyp;!)a?2yfA4D-2FDOcr4>g9`X9sYNK9C zd)wQSzpG#Q`7nx#imIi@shrmN9BYtR;El_1;lX^FICKJn_XRMJn0|(vP%eqE8tFrv zTMWzgt$~QRsb~ql8tK49G%}YJNQ6f$K#QBCU6Gi3--jQB{5JPA4jrZc6=~9LFp}8q zVwk2Nq}Lw~O;#n;c0U_fNHmKxA^SHws$oIc^*_^0FW92+#;GA!eG^Fy>p<%rkmYL+ zHMPl);;(NZ->7IrWzXB)vCtw&(4uHEqkpktzxKInygp%Jj0=T3;xStV3TwfXW1`S{ zf3n|t)AHLTZIPN(%qBc6YzoQKVLQ7R+U;UnW{n`}h+IK37({!OkVxBO2(@!&@mv2xt;Hb>twjoV z@3!eX=1hfus2R~NGuW;VY1}40+5~*~`8Tpy+2KI>-66A+qjP`U|=XX#1TdPRJ6S6fm;imHN^Bj1%s5k&rKa zeY!i3ouFC5`_i4uOdh73{5=G|>*&aa4z^h;>fHmj;UwH-q#Yuz-!{bDyY7=X7LFMZ zu$rNTgbSwX64p??OAK0#0~vl8KIi)%8wu0m?O$+jDeCW@Z~nt1n81XwQ3cu@?%7@* z`|*Yr8Wl!$HK3K@y?h{{mj#DHJZ8x6(gn00&KKio&a*z2**(k~6mYDWmVL@u7Q9`* z+vxqPH0v8)OJ@Lv`GRLeRuv(F_W&dhMl`GlhTh##-8k3qaiB+y9YQ9jHSW#PB83E7 zBj+XBTU|8-aOd+)8s*CiMCHcPj{5(v?EaUsgQ&dhW6b8QNdAc;C6bWWRF8#x!0moq z*#7gLB4leMt49Q@p8MNf1(~7N!;@B4L2?kpis(~X^NB(^?Tm_D^PZM^cvg~z_ssf+ z80>o7bEu*+u$kqHPCFHXf`$lA;80alD_9ELM4$BOffwh&Z|cvZgXuExdB!PH%!qyG zX>>Hz;q}-U5@|yIZ}ISNbMr4xCop(CZpyLYoyG-krB{)5iLe1vM>G-4ivWBc+iuWP z`&WZ)Vji%<>kBtiVuFl{H$;M`vwJSE1hk*OaiOBx$l$d8{@Z8ALc~7PbBJyr5`_hd z)trsdxw4psR@J4wt&P&RgbuaF;`Vr%X7v0X1nnlM<76JB@)JQ_GP7|;iC-^ z-oNboe_HwfI*Z_d0s{lleFCHcc!S4~z(Iv1Vr?E>gK$D>MVofo1dTK_TT?ru+UH71 zyYvC=iY_i8uUBd|noWuhi=3tRMOX+D963%yudwTOkH==MKpK0Bz&sxUr0yX;`Z?bD zBb@)ERt_p(hy*j)`<0Qqvwi$;Ux3&me_l9P5fQd$^hqz*m*cPS+Rf;T5X)JRjxM&f zD(0>z9EAOPbJBWhynJ&kz1X4G@(B~(nLMYMg4WWfCB>rXu@xH%pAhM^DC7c;Pm?)>`xykOV2$nq5U>G-^s+`f0@$ubmT)5I|D!`S;h+$~)W3Qo2)UKDb-zRG z$l0oi*;8xRQO1TQGs7dYgQtdRiKi3?h(`+l@0}x?krIKT2y}>=k))38{dd#})VCDEK?jBZLhV21sgNt0VF0X%T+C;FN<&c)HoyoUrx5e+d;j|aI07ph zu-HNZ_ckd)o~m%vU!ecby8iXsA_7uT%aP6nHy4wE*Yg^Af#CBjr?l4|GNE;$r|N^EP^s%Q-C%2rO6gj?DEZ% zgVX=@SURK(E*jg_a2RJeRM)hLkgUoS{!zX2uw&Qb%mF)5(v|F$2ICQy$Y zijdTB7$pd0eG~nEXD(nE2Kn{Y(~dg3@QR`z%U?T*S6U$Pu}peb8IUbH(m{rYT1ZDF zC>RjNe~25)i3Q_eRBylO4GZe8{NE0TtYKh6GDEaM@;yve>hb?>bFW)`eO!BeY3e`m z+30~y=XHGJ^>8&A4*o~8Y^cznS}k=TEMA)PbgZW|Wc*7al+?q+*ZPP{}p~0!hMD8`K1t@(?f;H~uFM2A9D9;74`> zBpF4vYKhIwkTCD2a)D~YpXb+yL*}QmUNlt_2m)gzM!&?0n7~7Tfh?#m2k8lANUsvg zM$Z2ywl)1At%dGH;9lUh{eN3STu4Cr11-G{F!ukVHOXK{#Oc7v@}S z`u~LNKhKcyRts2kQ;%86;sRqWLp?O%Ldrlri#nGSXigRk%5M0D{3rpkO%oXdt>eUd zwnD?*?BxELfsH>z|Gm`zcIAx_eAIb|U2B>Djlpb+w3|DHY{9F2Z=Wk}&Z}+0&-alX zQ46;Y_8)GQT;6RY-|CXo&u2Nj(~7Agzx2C<^Jr%FB#dkE4o5Rs30dnGZXof?Uhv5^ zhs)mF4%Wnq%R5!NPO(I5trVPi+&DkGCJaz?me-Rw=kjdkK}mAj`+a|v=JxBh@_|Oj z3sXu}EoX$WD-cPeVXO8Ok*0}E`QhHkf+YB1dHwBwBH$YYR73)9cHtPqqodZ7kKw+5 ziMFYs>LQF2xx|Esv$i&OZivia^gRHryKlF*6193aYr~P7(;9?yC5tve&4brzgA^(2(j6+hhZpi>9r< zb*zv58x0}g`SU}Xn1yPk#8<${3%gscs7LGMTf?M5@WUC+Li0(sK1Vrfv0(Z;FAPz& zN6~Ir$XNcLo-@RRA_GtfIEL~a(>C+-q@o)CJohJyLtw|%e^jf0SuOS#Hg>8DRG8IJ zppUR!!e~|Ezgs{nL&x@eUA}+zf5SFw`_+|_D8ILMzj+5A@(tDNOKW5Kzl2q!CCgNoNLB?_k$W};tdq(I|oglNZ?X1)2N zh(nDWI^IYV;rKtfD94kxflaKY$|zy0*INrOQ}4G4Ez@sUaG4`$3>>dMlzTA4CGGe$ z{y)mzIxebqdmr92bk`s$DKbiTcM3=d2ugzj(%s!1N=b)EH_|aQq5>)cl0!(hbiSK& zp7T7O-}(OY@|h1Y?AiOy71z4fy4~do8flvDrm8QD}3)~M@0mpV5GY_kz_Jad*~fpn=0lLfMVU) z>E}HxUBUi=_PA8D}t^&(VPRIC_vpY$PrReHe$R%(QjW?rZA6RW}A=y$eKA-M7^{)6DV(a(JG2pKuGY&?rWMtvR zW)vUQqVV=U%-|*7kM!H)(jY7&%6^ZTS82T;xFSx?iXWttl|SbS9!H8K%ad|hh{kl| zau$xNTX1#9t`*DaZZ0=*P`Q$rlyJnpdde#47owRJoBYxT;(ucUf6bVgmJzCXO^2InG~hy*^a(ZW_ssQQqX=c#`04wxvfzuK$Y) zm$9q*Q%@Srk&3J1ZWQ)(ihWp%wY>|KAT>>gl1m|A8Ob!n{~wetnXniJ+-=(p?krn# zLyOWzQ~XpB&@;9USD}eOw+;Yf1O9YhS+MDUx-%|hqM=G^KMZ0V?q=czYOb?3)8aP= z;|)WvtCCDU?@W9l20&MLzR7bu2{}5>r>jF8;7&Gc@l+@UM3uWPFH(&MKH29Z^P1E6 z@{D>`wFRucV#ovhc368>#Fl)h&kKOHOHc8|FeYZa8OOd2`;m8U9>c6^$Bajzva7}WXDbhFOT7X_~K zX_qPtW=AJ_Q0!1H^4uj-(*-mq)J#{ExmqxVEJV*&xN$o-g`?&OWS&%FR&8RB>=kLW zII*cdx+yC|v2@7_JRPTl>|u`$5HQ$on`gd;?zb#`6)@`AD}CFv`aN-P!@S~Ev^aVN)XO?NFhV=hW`V#Ao+jnw?K3faH!keJL7PL&MO=wlG@!F z+y@0SHDiOK-@`tde8f~14JY3JQrt7o$tO%0nK%2+H%0yfZC>8GZVnp*7U^E*dU&sg zT2l`vbnk&+e^sbcmk`36TC1c0S$XrJ-0GgGx61js>$_7eIu>y>ldtoP7re%+J_68G z(a_0JyB~dJ!i>PKq~GFGR0W@Sn+K6Hf%KZbiD`n^JI`*ymKd22!))7EMx^{~M!fn2 zi6C&)rZ8D#aw<)K%8fy!Hmz?UaU*lhT5My@9v5>R0~ScXYP(2fyjhwcq&Xt$_%;)6 z0b=0Y7X3X}ac+2&3Vwd#Xb5x(@3sWg=M;hC9DtR2Jr6O7`Brx^FX>_!N;sn!7uPJ= zW`nFrrVJ7Pa8`ukV_0pYYM|+~WzzsUy|)pjS3_;Hsr#c`Hlkv4s8c)nGnRSD_wUBE z#kL%aGKhz`mbhF-4bT$WGis@xcEtEC&b|BdEC<8a zDjw`5oxGFG`BCc)#Sl*eg`w9ngIXt&-bXFBIa=^i>bP|9zAfpIWfZeb;oMwPPuLk)X^wup~GUubU`AgFNEHmSJ6kr z@3QIVNfivID&O*^C_=A}n08xhsl(z9gVRq@(Ulj5!gV0eR;S9auSB!RVdXQ0e#;AF zzr{C{{x^yUFD#e!Z)jj4Cdu8ob`yIe|Lx$XU~c{s6o-RF!QN2ZFllFU=VTHM;?($x zjuxYo=<)9Fzj;3EYyhzB-4; zSz$Gr=oGDhk%Z<0rKsZGLXABlKF1gpsnYbo%z=doqdr61x6&>dzwyn<$K~n^`?_oX z_F%@OavLZE7>0K3L}?{Z_5-CYTjLhHqXVMFcuU_z5ImMwsbqXgjiX?BebHogKyire z4+;G`3w)7#_Z}vdw}nDG5e-trm;&wwIL*XnnZwnD`AKgfr8W*8Y09(_IRnLe51ndoaBf<0QKWzBg zh%Ur9(mPi>>}c*e)biA2We7ShqJHk|e2UuUajAT-!WU!L-wCYICKiom;=DK3Q(4XP zee@lOq;>z2g_pD0HqP9i7o*lHz~X%hfG1!-e;x&Xc};j)!+=;T;0}{<&?-Yx*n4{C zeFr%21=lBE{%Wbv_`@(dD;Vi3E@B?vM+h8LG5(KZ{860-{UQQMiOzhCS?xNQRG{ACp$$69FgWuk0l+4AKCanKtIcu zH_{=%waN)D_;$ZRM85NkGHmGRT;&m@@+%s7v0yV6ZU0s>13{tNyceEKAwFf%gNZN0 zcqH@BL$0R+DaN?ViAyZUA}E=^J3BOA5FT#3>$HEcW94$U`5Tx;q+^afK_Mg~s`9~c zb|Uq-M&j)09q`{Ta_#<|b43E$E(yOnapP@vUr1p&zO7vf;;Le^^L1kqEQc_c8BD~G|V@m2)D+~ct z_1f(RaElyC#pnF_VJH`5UJP^=*!(tF;Z=2%7mO%`)wY}s#fzLCsgBsy!W?%me)ukk zlwLE`e5ptEpdzluf`&nj``+4~I(Vi(6|Fmw9GxD?vmj-jj^fFo^E(r_O)^MTAfo2e z*5Mc#HJAVlCKQO;w8V?<5DgdKCD9D9CIUhSbzdo(5}bezWQiJvq%S#bXPfHkvEI#? z@MCWh`j)l+e>rW!6&YMDF_P+94t(rz)xPj(SJlC73{%swXkkdrwf8>m-?mYMBw`fJ zBcK7D?xA{$Kk;;EUU(0%#eS&p)*lwcO`7%=7Q{I~OSF;``T0NHfg4ceheFiE1!3(n#`JY3#KGM_Jpx!ho_<| z%xBUw#B9zv*%mxSoOf|Nhg*1coF0ehc*HOHJwq&*f}xshMWEEru!bG)&lYMQkI(5O zup^8*L~nqnqEbIw(v*OrU1?`it66i}m0U1+=Zr>Gai_cGJRJ1$=%NdBR2j@(;?}Z2evc930fqGSh0Oje*vj3 z+~L?^IUjw`2s{89mJb%&HyMo|K-6be!MK=}9@N-(@6;I_-KR3SR@i%?V*=GXJkLHt z?Ofeta>NZx+^?|xB#uyq4U1jS*13MOsqi@TR{VuE@EyM^5cBHX`!+8x_^lZvK89Mu)r+Bg5uYi0%7JB%z&T->fx?=;$_dfq;v?e9;W zSco~aH^{|}?vU8%OJly`uj)x!qN`mmsydRMrdisl(n*9%k+-PvPc7=qv z_l4PgF6dv6uWme+FLm#tX)ls9j%rl?u-5I>`ibNppb#OCH3&6U#xuGD=xtmtcH|Sp z05%^fknOhVAV7#6z<&ie?D5OwnmgVIvloA>k+{;!6nYl)$;n0Ug1xCOo(la!H6Xn9 ze&VKRT-)`-Gjd*S8(+>=j~knzB94!n>P8$q zRI+38d_#uZ@5)7T(68qn`}N~@{wR9peCS*5$)U69HZupRCBu+wbW@YQvjV|`KEq-^ z!MOQf)e;w#Yy6`qG$i+PJC&33Bl+uI3#$LU{)sKgK@6;=rGpq`GN^ERSc2Ds4tA!~W0lpFo z(Gm&}rF{oX;(m&0qzk;mj98nylLK}8n}-vCYLgDu%=JFn_+g4$ZX&^YZkz#%e@~x` zdOQjDyO10V{RK;R6#vXGJpykBj0GNIUZV&LjC6xYqG)EtAv+A*7thzfy=YWKO|n^$Pue4xVTb*qxM_*(MIrqz>N$Pj0wep+ohE_UIZH0O7?4UER4$GHx{tA7isB}YOSCE51 zaYrGG+vy^E=pBPk8QfZBZuWa6XF>S-k?7Sp zv~=%`j^qlE|3PyNBq(tZ|)U{ow7Yn+Wr%!Pm=*BXtvc| zV3jyJ`{ENvXZ_k$DB!U(BZPZbSc@{1>10)U0uvLHGkT&>`FW#wveL@~SEa%y!i}?! zxzZ`)T11}2yHgNG}xl@M@WiW+fIAq>63t@=)SUe@G9 zLssb;#-laa)J!;(Tar*4$1=?5{o5_m+d=s98EkYpbo99zZ1elT0ETua+9}A~y65fm z%5l@?W1kS{R|aHd8GQKNH^R-sv+29$6KEQdBaM>km6 zR!&$N-*f zhj`urU%xL*SBR-QqKk}Me_q z=MM~3LFxqGxjP01MhvY4%{CrcMHj`q&u@^DTbASKmVj#W<~Fd?@F=0+mihCamnAM_ zU&O7^ZuStupQ5tMCpRVnZp`ReBTWC7FJHdKQUYB$TQzWNK0w<%aqmA}?;xbi^3lqC zJP0m$`(ZOQ}^ND&V6X$XG$bM$}S%i-TOTl$1 zRshrB2Z z1u{OcXyxhzqxYt({tQIN`W0}eJ$ufTx|!29*uQR6n~2RGgIJ{Rr}qBB=tH0_~O}+ zUw58;hfJ3cUuEQ3^9Pbl{bX`3Dv#2NlC9S6ZHQ6K#%jdzFN?kH z9b9U*_9!ryF6g_M(qWSWp@i_`?(YQpGVe{Wt1U|xMg2a1?#;{LK&CsKx35Axya^Bn z{^n+kXp)=$!s*4~i&CD*KnyEe16Z%9=fOKL)?Z^bAnfh9HcF2j@R(Q41`N99I^G5% zE%ntr`2Lxh+c0MUC^jmjf#sw(lFB561VbP(&MJ0`g@Ysfc|}-VopWqIZI~;Llatd_ z2r&80x%=Xl1N#5GB=wl-tf0>q!Pp*Fluf}G@IFzB+kAzVmcDXI@zg@!?xRX7w}(t! zE-nC%a&N<|0x=bqlUon}>rT2%5apc_P)q%S)oG5)ONzo}!f=g^73ejvMosa$M-L?0X+fHCv`zn=!PtSMb8 z7UUR0PbX{4z>w+V*LYyBdC_hkpPugzDxZH08&EYz-VWnaM&Ny6p-FE9(b~7dXtpm* z15-+v5g2{5v+ZBoNsl1@VC`)%Ve|cPgKTa7>Sptl6L1(g?}6cR^pAfdVgH^`-nhSd zVc70PI`4PEw$pK82XczD5(8rO7~7`0QG0`(cH2+*C((2x{2J%HSd^5N_mRN_-E(st z!!%ET`aRTIA#iWJ!PIpMHu;9<`Gka6y`Z=kUo4CCu?GSFzvzB{MTbU{ZadXT2~h_~ z7?2-9vKOe)B=LD{loD(*P}8FW6m7}6-EzczH%M<}bDk#yy0v%($;t~g%v2h|U(Vz- zgAa?m%odO;FF4$SpXscyg|3E(mJiKi8#%MvRAR0AD&{5=7q@hc!nS*BL%Aj!PT)!q zm-U4}$2@xmt6>MhG~xarT@SA!#*Hz29MLK~fBUhY2475AwT30n1|Ig}+2e4K;vJ7X zVfbc7aQtQc)rQKx=%4$Zg>lpzO_F8l^G-wYuw=sAB2igE6dfyIqsO{t@5hhHWX&k2$-IF<^ zqvcfwOd5;V)tjiJW-l=F7xOt)zmf6|PB&pjr!dhM!5k=IA$v{9m=xvU9hEEj8|0wL zs4@KH8@6f4%GezP8^T$=1Wq!p4fS5MUncq7G;iuoq%2j^uj-KE`*7*n+L}qcQEEfX zk)MbbH80b-CD0j#ndmLsus*(ZZ}-J9rN&y|G0x~?;bvU!hOFPz^rf4>)2U?BhHE>c z>qPRF@3w1%WF_L%*en@l5*|gh;&v|=yGCTJpvy_I(quQ$7WjNh?6^Ty8bcsoIqH)A z!m%j8L^y55X9fgh1=rZAWsV8-6db#!d)Sg1n=Lc+-n;u(Jc-(RamBa^MZH$yPBepA z&E^`@q)@Ev;E*TY~i`};< z;fK%mGX2n{^u*;);b;frstSmW?8$_?81W460fC>3WSI#fSK%q zd$2Is7L!leaNI_g?uMTQM6Vk0OXD*MmxL%if1jB2)Mvvb+F&G5e7YC&G$G_@l-Q8! z;tFo3Sg0QC!99y? z5jg8OUxwxOvJFBew5dj&-!elFf~rlF1${{6CYu}>?qsFKfA)3GEmi=^T}6XGQ9vxe zt8rtf{YU(dKD}kPu<(3zOps(lor(c4@sy&J^45Nm;8XG`MI9vYasd0m;^9_5jHwCv zfZ1a@5vyu`VYw)~N0N%i_=0RM0}QJpc~RfxDlHGHN1dTcI=@V_G+C{IgLV4A`*iBQ z!Flp?4XF2Qrb7>}gan;GV$r-=T{_Zs<{W~+BaV94GU3a1YtgX;7<2$iR~Xa zh-tDT+Tf((PEivR0QFlQoE-===gtu)YW(lMy=*5YDf;_frXMunhB-WF9gG+S=DXNn z@^b8MtS_b`Tq?0&io0Vp2}ZvwiEBP07U=MUMnyCFc}Od#(WL=)5ewppn*Fj|R`+!Oe!tigZES}W!*uO^+H$NEyn9;aZFyOuWDn?bb{u_P(**;;%s{KxI`mC z2O3UOsQWGxFPshi1BNocX}uF)zqz^DP+$uqV0|~9155$&5S_gDk8GIVs&8b>E{COy25?)Oe-dhXonE%cWUcqi``TnEPlzvz@HlcI4?{ z)@G!fLYec4Zb|nl4M+gYaDQ}Q$1j~bg)W0az7ki8^DU832!|{64x_gkX66CIf{;P1 ztBAbm&k&c83aXgFpUl-x(HJR@RTMmq(QU!QPEloJd#F+w?)#A))3A|x-eAT)4=;8c z9)%S$`n_T$c6;^R0^_k^Op`V}xy>>^16WgMj_PNGlW;(xGh<@4&KQh5q|29da2iMU z?i(~o8J^eBUN0|3u??7;A{0q}uN#GC5M{-}bcDJ>%fe?(iDc|hRnHUa`z+WU1y`AS z^hsVt;f($Ru%#sPkFpQY-_+F=@>*?sJ4l!}kA#^uk$qM;9(Q!$bb!!2OAi-) ztcL6E42;Ps#%IN@V~JHW`IBZIU?Vv_1T#q~la_5|ULZs>F?CFGH1MnWq1EFj{WJ7w z(eSOGoOpKmBa3&JeI==mnB{;~D74rU`n&E#E6Ry`yJhYbOQ7OQKxyeA zBfy77Mf7HlWJHj)N2Uyq5l~K`$v{17x~K+IT*fIOGL>k-tY{c%sx7v!Qj$QZso!D+h2@@$Y8`S6PZY=M~ zT)>AbF-|r^s!9=`&=4JDvAB#LA;GJ2D1%Qv69$#GjU~g?5aQ*6cPnNx# zzewSxXD2Se05RzLa4T(*^&sS^dpg&4iqdz}tvucw!vK75-?T`|Ec{)0#@WtF|>OVElA$uP+cwNmjT*W<_BM zSw7s;-wa7>{Dj4#eLmK%tfUkv@-}Vo;;MBIK~$sWaq^dJW~DTal8`vR zH~y635c4DxF||%YIPV_afu5^5wi=N!PO@>R7?bS^UAW-SU45d4nu*n&65q$?gojXn zv4bO{W>QY99JPX{ptO&Sv7lgRuHdE@G+ZB|^SJX1aXi z`^zTD@U4+~YpUvQ4=k)PmD~+<8O?eUu0$?HC5fnSP79^eWQ;|h6~-1{osa3ep1U+* zEYtI9Zr;(awdFk@K_8E(*CT2$rvuJ6^aB_}mu#Ck*Rx{!935Y`Hf}-NlqXN7ju3+h z@bYNNBG*nnV!+zp-tu7F^!V`Qq$~Q`w;mMD?)Q>+Nl-!wkEtJ86IsnuX=?_&gs4N3 zY)WkL{dl^Kk~MYu`ln-7FAQ!Dz1gIio_oeLw-mH=0p8ne8{@uz@lh8|YOVj4Nw>d@J_Jp6 z|BjcR!1IVu)A)9jQ`sM_mT5hFQ>FPZ`CIe0-CUdJ_vJDV2CPZ=t%onXPtA{2&w1+& zJ@)#w*o1;&GD3;N;l+nItztR*D=UBIX!BxRaf0Asb>#lUs+oeox)Q`=4zO8ef)2x2{7GFu9S6f-!pMmi8Q7H^h|~ za71!T;5}FPMDt&sO@J%-K1le@bsgdJwkWtI=dSfSPu?5tz8wt9g}lAv{~nBu+xFP; zf#tSf1jN;(&~~q*QfH9#WBZcHA@iQG!N10^GOB@ z-t1Ef*jX#)TZc>N&ndcfC;#Pef!?J6Sz9`4ddMwnI^zY>Cg~r`{~t$CQZ2UwS6Wj; z1K>@DjW7n9-!tBZ8uR2MEB?9W544!_5eUjKLJpjWEwRB7%?NrpeeXZ;(jS)W^eu;) ze>JP1!Rc0<`UFji{nuFk`%+7}+eys-XsTly4*Ct#Z>{70uQsNGKtAIA{m;jbav|Uc z_`#6G-+5nuJd?OM5xfaI?w=IVKmYyLGYfB@`7P3{ahe}oa<<-nLVx5H{e8XVEe}8A z4ganj^gc+NwPb*2|H)GQo35(P0Rf9tM85%9g@m&XaV3NrZ!9ei-i>hpDTSv9CiTFiMXghM(!3$&y{=b?${c~qnZV026>1I) z>ifQ7moWdPG@sp4W-tQ8*~0HdkA~nEuAv^kvDm$q+2Y^5{Mw0wCmyXV1j8ijH`(fsq$g{QeD{|D3CW~i@XX)+7m^WuvH1K=- zLf?M3Wv{Bl&!3Bq$Uv~w1E8>601Ynr?_Vc@z%R7GjyJZwmU!4Rqv+4C9d3k>i9bu* zghQ=`FpJpD&=EUV;R~T$qV3@`DGqDpA#aL!VO`HujAlc9!!aVv2%h_k0<1_rntGX$ zg~e<$kD3URM+M&6kjmvdR%%_$+08M&%tmrV8wHZwp%u>+nQ$~HyVtZM3~=mtW6KQ8 z@R4b>^iEob>hzAbO$#t~0;(uR!-zqWiF7=Gc`s>NfjD!Z@2zi|$3yAG_?-`sH^GfF zf)MloDvJ>j&HwHU*sq2R#0mk>iYgE zpN?b>{J0ufe6pUq14URPt`!`n1ipsxXQ#D=p^O+xFDN-H2hjR|lzSx+_R$SGa_51* z+)Q~unGdw&H@Z?)xMVYln*L0@rhSs~Q<|rFVIs5{{T*g%T|b`R3tr`PwS{sRel%W2 ze^>BET{Sz*;xOR?Kbr+6n!LLA!>S2YSBs2BG&1mq48I5dn~CFv5`ogbRA&3ew}aQ8 zNsNI(EUEvQr(DDZy~EYHs}Gp!5dJE?tYxMXEIH#|#SvxNx2viB!FwCS?`qTN#!GJZ zxha9<{+zEuwj6cyXm1O$K}!3>nlf9dXqdHlY{~Vbwx?(Tj8McK1w$e!6Ixqysg@gR zFJ>bd($c|JF~FkQnv9dD4kz5GG$Fkpv`rg0Ql*`;CYAmW!srhjF%pa5(Q%qot~|2U z(BY#y`g(^#dKI4C%!!M)Ej=)|q&fNF2GeFbB+q)3@1^b|K|P4a8K7$P0IA4^tphHG zGRNf~=vV@1`d^cNs@_(;;rzrs<2qq*I;bFCn^inX_Wv$Wa86T*ic7H<{aY%lhFg+^9cV_Cy=!OZ_{f_T;t@DNz#5@EB@F5R;(cC3`iNcLM zsY<#urJnN1GGvc!jn*Ol0>2Voe?EWx2=|34XC+p$&ysIwN$ud|QH9#r&^HYbL zpXdtLm;Skz-8X2zkBB>j8!j7$37cqwUU+%D-pxi4Ts+4VLowAuG+>%MV;?rk?8-(_ zFfL)r7V#z`;V_gkhmLBl`IFZtMF@0kPGCmTXD*K33vZ#%YRmf z%`5OJdS0iKrxkPvz=0)(cv|s)#M)#B6c=dRovgLUkPUz!?^9s%2mepIt7Xv0ft}Gn zi^d5x@S^i)zg7S9kUuuk3@ZXis0)HxgFhW&13f+er*ohrA-$EZ(t&(;z-IR&+C=}4 z*~bNhFyPgRV7mmKAk?%g~Cb=WCj9s<3w!tZfeR7EpA-%GSs| zOgfo26RXrcS3jbbN|rRTSUFmoQ`+eQ9GH}R@cxgXux6^xgCJqY$VnC^Q!_29hJJ`K z$!3Bm=_~PoDU4E94Bmo^)uXFd>hD;ZPsRy=>F&^cod_%RfK8DB4}t$<{NbFiNl>mi zjS4WmD~V}RF;)WZpahY6(dl;FHnk;(Hr7)C|U`f{IJTI?-QUxrM+;3QtX93Ynf=yw1KX^jp=AC$y@dj zMX)md#rZ??YMhJv`m&J(?eh$L_nK<)nA8#`@TNK-5|K!F{!E1wjj#j8DyJ{$q%)G} z)DcsUeMK8!_r3ZBD#@42-4wlPEk1Y%8fsAr2K>i^rZ37+E0^dq+alf?TsTa|5?%xKa(Gcyh;dGLX#Vom;k>D-RSnxeIBaV4tqE zX;h0yehN%&yb>BlJQYP(=tOk_CB=}WREzP0gG<2SRj@b<&;{(J_zCPk{&VwBwm`Q> z2%E7kPm7x18+>jjTqf(7LBZ;B6^d`AHRfeUeQ2y}E`CTi316|}Zss^HOxYust<@OD z?3jE!QWq@eLzp@v{0{C(9~B8)d$R3(py4U_oV#JqP<$QlIz3#fswo)!>fLuXb6`v4 zwABGUC(t4Su`2vzsmx()K>eJyD}A?Gy8~D5>Lc6duZ@XoM!^<7kirwaO|B=OW|nN1 z=WsZ4nuE$({mH7vHw99n1vYG7j880B#pgNb*lP~V2T{(2bBj1A=N+Oy1)_lJkoovL z7IrU_z%eVkEl4q0^~<}iTJH3ECz@#LN#usf!26)l2Z>Y^E^I*$$p*Kf&56=FjDm9L z%1OJiSFBV(DOTIV@Y(jFkfLIE5PAt@OglE4wP2pVxD1+TOQ+7Gl^6ASttX{V!g>~? z`VpRDWmG6L zFJP$c8hHFHHwC73ylDHHzLZWGRXghEO#P$BU{%Lgq`CYnyK+sOfc^|3{4E(`yM3(x_zXRPbQXY9l<;e{A<;Mty;ovH@OUa^**F0EBr10HwZo@uAG zhpUIUOKtdD+IAP%-T}c2W%a{G!U`Qrt*g7dFNv=L(dN%F?_CmmUUF|0>3P`uKo)fY z^nkLQX17@4=zVg6IweU*wxTNpx8ffht7=MO6a0VGR^1+y_Ba1&Jpsxq> zU;OdRy{WZ*$h^qs2HuEA3ttJIpE5Dnddz>$Hem4ZC6~{>im%MK8R_a7bh>*bS9L>l zI3-}h!jb>OUcv3SXiegpJPO&kiWc_x+TCHMQ;u7&kl&Fue_3j+J^3ln5!!pj-nRCw zSoi>+8b>^O@Va70++co|7I_)!UTr<1un;mpl-7u{Jwntx-$Qr)fPKV=@FLy^TjQO~ zCdV(ntr2}~Q=Ld~g&grsUXj3i+6QB*x|1cam~My;TI8lXar{iX64|@7hGQD)&f(pc z8pW@0z4sXPo3OX${F&SK1VyjLQ%u?UyQa4|=-)Qdm(bFb3HspF{N{H0E^B<)0*vm= z;obLBHXnk#LOvIQEW}NcCoAgD};C6>2t?aurRT)omWX=7^E!ibI z#pJzL9)TrUB!A1K4SgD|Eow<{+$kypF6mu1dlZMSVLI+7jy4X|c^A_LM?YWx&Xwqd zI;>CNu~3p7>BwJUbz->h6?{#xI_Zw54Pv`4zvdFXU_yO^XYO`|j^BEp!T-RdQ1NfFVl2JL!PtY*}OD;{yh ztd@&uuh24PA$3Y65nOo*{kkl2I^S7Cdo!QPj?9O{#RUUJc}BNI8>4b!tAMRK2tk)A$ za|dE8UYe%g2Ca_r?G?kZdN*99MEzlX^ec1#Uq@LB2(ygwvoJX8na9jO*T5oh-Yxx zk<9QRC_TD!xuF5Sp2)K}p?gFV^0gB>?*Yj>hb!$qUQ_mnyk?~Z{LlzsCrI!}%d~IP zgPB!5a9Y{qE1L5q(tt0#yuUE2YdH|wf!rRDbWFnN0%tVdUC#}EiLiofDTaBRi4L-s zYc9)!@P2j{Xk8UDaH~KtSqxXlld8s-QkBPsWAO&9&l4l~(4>hn0fVEP9FX#amR6UE z2Magj40fQbU(@D^iQ>k2|8%DlX=G%f?e)0EAd;ND3buJ$t-#&YftCVgdP=_nsU*I~|f4%%2a|Hwq~8 zCkVYjTgEBdXgTvje|-3|_uRI)z}|Q_a#Qf^8y4=^^yon7%avgc}rFs0?t~{umR^w<)c!xr6>Mu4CKvbq!hAA9n z*X*GC$>BG&W3o(5JY=O;jse`7nWG;W$8#Cm$;EQ+>BRB!ZOkbEvbUq9!Y?aid-@rQo+L|AuOUubvu}-3>kEn+|RB{|uvRe3I1AHL5 zK%p7c)4&JG-jn%zm2?a_Y3XQYJ@S3=X5`v|cEpanv zlrbChT3p5-Ib=pUQ5(}LGF5f+sI%7ZOZI{Xgkn+_<( zzNRKpE-id7uNDkJN{qg-SLpPmay`&fjpVtfE6*+9Q`2A7QudX^Q7sxCgEC|4 zprE+hB-!kZAI|HGY4{KZ{Rj@g;bLNKO&ez6PaWoVF?BiHa3%D54x{0Q(dmFUa#>VYu!$>!+mcJk93y!VdGNzH`= zI4JG?PXOrBkO3F&fBiCg=tQcQ^`33^6@6R#lk!IbVew1H!#ME7=DpR^2>1#EInto(L zF-9ZuL$0TZ*+JhncrtU>+2ADN9gj?>wjA;|?rC{XwsteCmPb{`OdK_lO z7Zv56*qk_38c~l@BZihnTR>y1@Fw=_=}fRyi6`L~0w6V$ zg=ZV>KHezF8J{H+mkvAEi932Q}#PR*rM~jZdamm@G$1d=s+Lz z$D-vlu)rL~94Qg1)7Z+{ejF4@BAqMhedJ5j{Z7;KT3s)Hj!Q*WBR>m6G`f^CR$LTB z4!xzgfV=wWIEdS1K!WnJ=f7A#<1p2094Bas;++&j%R*}O-InepoW z3;#CgUaI01ZLW|PS#6}r%S9VBV?9-~gtx4zO;`*Q(17>0pYvYEk5wpV5I=A-IMw! zI7d6GEzyka{0U3WTs?-Q4i}9O9JJEbzIU^I2omZshxUCj6tW1H@~?2Ej+!+T#hy<^ zg==_91htHbk`n-5I*q(KKzH)i__{<5ydj|$KF6UJ@j;V1I%`Hzk#jZvaY(0(Q~ER& z59kxBi`MDEUyUmU^a)QZ;6Phk%jpBFGc)xINxk;SQ6ZEnUrbjwvf5@Q1g#+`g3toG zjaXx8L(_2q`!ke&fhWeksN_IpJkPH5e`y!`y*ms`RDv3Fk(z<{nxq(Pm$)T4$jB`- zj}M~w?KIi|e-7={uWNZAt;Dpmx$gvs={wLN;(Yj~X|xlk>M4N?8AjBMSZMTxc;rMM zsA%uvRu6%$Efz3+*_uFbRWFk4)+9H6FXqBOU}LhNn6ca#Ymb9y(mEVhb!7*y@1x1ECwp*)3w+*J&@bm`=zXA)y9B-+avsi+qORazCXv9~b6DHs zGxn8HH|j9QMi>Zor8C-be+PCd_#VunNWO%rw4D8a+`V;JlwH?8e9h1!NH@~m0wN&Y z(g=u>LkUWkGz^U>C@3MVbeE)nBO#q4-CYvW{axez#Qom)^FF`#@9*Fr4vyiPeeJ#W zTIYGLwfDjqo38kNgMY|ucYKLY?t1`k?#0l@$=B0e;&%H988m0s%4~G4NWyN#S(!LZ zi@6I4gX{ZCeU4LZFeeWuWqpVz$pgkC03CCEj~YY;J8m-Xc_8W+JRL`xkZIXC+O;6d z(^k@h=oINV?gyPB6KGmum*@{xYY;9}Iak+iKH8Yd@o89lGvHc;N>=r3O4h4k%mx2O z80$E-6ZbkA$ljQr zLT)l3iB2}P33oE}+meDa(YDE>X%1wi&nLX&=ROA2yYYEsoAIn^iss^CHFu{j9`a%X zpKqnb*EWe@c#g9mzsN771nysu3Vrs`I+zVEyrj@@p)1(B*~3$#7f?U98%53Y>?Lme zX^lt#dpx6o$tP*V?yrL=^zpepxi+$ngNi0wd394O-*Fiwd2^#Zpid};v;M& zHu6%ZhYg$E^0US}>2K8VHSK4r9Qo9aWkR;w2k3r6YEOvZ&J-_1FisRif&+d|)UF~W zcI$NzN_x(RLZ2FOCcbBW&sV}4?BMgm$gk`0e+_!1WG(j$_J9{Tm;A53+NCGF$2x87 zSUmzR28Q-ou9tdAqbyX*;=FRH0tn7oC122c6Xf_(Yh4nQyroYe(b(4vNejPlfXr2- zhbqKhl;lCRjNCk7P9k@n&CZ__e8X(5t8l-#Wz!xIa#j}F6>y{PL3-%bk~%4Z{rYCu zm7iMm@!SuuT!k;2!y6``1GdueCB<-f4C?kg-}j>aEZzM>PjA2nrS@4Yd6OV$Hx56r zbn!2p{omva&ID!v9I_;L8ks;(u^nOdgze8^`j31_@926H*q^TIpe6xmB6w`l*C z5`e$GVb=sWH9)nB2|trH*ia={KR25V38udZ*S$F`*T2Y!n8wm%=oe>KCBNbDivhl0 zjY<{$lx*Ij`}@OOZ`f@B{5EPGB|$>?8Hb#$@t8H_nUU_pV7_Zg@MUo_Di_}Qw`3Pd z22v4*`cFH1WksCt$8(98pUTmsYSBHJa`AQ=slc@>99*#dyMd5+e!&oS2PmHM{OV|- zSLXMc=PYxCzQ(!@)q$cRk9|0Iy=_tJU2N%P{2!L`A!AuS8d8f>`;&lBHog$)gV`X; zF6B)Mmkv4UhXP37-fyUk*~xAAjeizb{M(Z6J%%qrk&V3X^j%Ii#@25&N@kfrl!OOa zNiT*F;%^A88Pq7*<gB zKOi2x9=e64vG|~*nGORnxJClMoAm7mCHy$hVmA{z8XK>hAnb~QbrOu6(I56n!1Bfy zcYWF^0f!?(^Yg!tcG3`T0Y(0_@0!tur=e0=*#BWVgdc!|Qry^|xrZ8EG{uwWv40=k zQ`Ekl_+Zvj{Ssvd0rff|2Z{LR$1~X>0cvx}96Go`i z+^A>SoxeGgz*JUn`EsK~&OdL19~wqn3a+Nd5H{>=XjO!VyxJ-=*5XBQviw1J1r1 zmfzrdwtu?6YL>)$wWN84{;}V7uLW@8(e+Y?y+Zjpw|`s5KL=2x0T;e-rNNp#8>!h1 z#P@}}laI-kULBSOMD_b^yPh1?d}(~bK#zvx5n>n{F6IDV);5~jQ2nnyg_;RGl%Fc@ zMU<spR^K`S8{d0{@_bq@NJz(efedwZ>+5}r#{u$U2Qv?79M z9t-8`Xd-_32&UP3`&*k@a#&VRKFqE-SrXeKN3VMSv}AK>H@#pd%jw{FYj zw8=2X4sZubj1=ZE-g4bj0W)T_Eurs^X@Q4OIm3O@1g%4dRhMAORTA2RT8fVk~xWazhH zEf&#&92w1hf_B>Bp+N67FC+A_^Er;C{AlUhS_Z5H>21S5jK@4Y2O1w5&Q}aq-MkjI z21HCCc_U!?l?jTye=c)umLb66FTfakk7Xr1Wd9(s3r!?|bgar6YL+JJ!dx5s!rz4~ z)CH#C@WJht=OA+{g~c(1=7zbv`J2xhUvcXP8GBWR@iHa|7m$b$G6kC!TIO0Ocg)Yn zbYbM*cHM4&B#q53c`=yf;+OKpsn|AwSaFvn;3~_DmLGoxOh&}LU}x2TdtPQwx87!( zIPMCxH(-A#bO>A?m|XA}R!;?Yy+nIlLBf z*L$-9`D7A0HZ*r+u3H}M-7w`6xN-qQlI8C)h-=Zbyv)Zho>k%#WWcv%_Cl9?rme^- zgcY$#qWDv;?)>S2W@B`Z&R}7)gREP3TsB1#5wgprmQxE8^OKgsL-aT1e(Sc?gl=te zvzmmWu!+{dXL`GZxZdIqg~giCYny(&7;DxMA~6YUjUQa0bz=(FiMX@Q_5QhU?>P^+ z=`P8Z5C7`a;knpq>gs0Z=H{W(w=fV6FUo}Ax{$6h>C%G?1HV>hx@xNDkc^lJ@ox%o zlbL#nJT6LM+6sBGlH%jiw|*$sOH3FnRpS!l6euUB-**>{kLE0jN%|;lcV(+z-(nbV zHQ??SdTDgojf$_;!pxZ=>po6uXcJ@WoLr_*ZYWaHj$;!uKiKh^u037FaIgq>RtF~7 z9XA+ERz`pqMR+cxe|E2B5m!(k6jJ_yUcZ%5<>y%qk$dY{#A3RVq?jW^o5-$$uX0xr zuM527NP8gcB^E;Ec-GO1Q3YEMqiLzxgNLFX_B6ZF{%}8h=TRUSZAj_&SpMl*|HUr? zkGc7&frlNRY&<39Ddnj0%Cgbx;$(E>fke4OQVRDFvAS~2IeuFgZ7Ue&{>>xL8el-4 zxc?z_B)xXvxV$lB^2rO!{{=)OnL5SZk@(vS~i#v2-U&H+bu{J}{zui5;~ptNMwWt^E}bB+%-9|q!% zxp5d*8@oC210DJbyc7|>`Gahz#%DEv9ZPE%TQP}YfJLYdOI>sR9S5_|d)uQhA3#MW ztRsFfi&vnuEo*^xAY;exs}YL4!}wLH&hhdLq0X?(mSc_$kahh+feCSx0*G! z&w*D{5mH54jNXlQ-{u`B+jYb1S5pPc>7ey&Q5cAY*JzJ&!uJybr_Y5RrG-A>m*&eS zI8^AU876{*vg%PEO26$YOQdOG`dB`7=T5oXSolxe`ui*z_|Jo|n;3d`+TX#fFG%JL zQzCw@k<4vVY=Wh3wUO@Y|EvW7%ihpjKjkm?ou4?my#~?g0ru|I-*<2-PuXoBVB601 z$UhteQd4GVecOMXDgZ{L>w$pj$t}uiuvfuf&|8@xikQA~e!_QG3;Yn~!v4r#KLQdN z5O}gd{&(OBeuA3|tYRY$`L9)MAfvpg^)E{N_W@@BT)%7BzM(KMMPfqkUt%W+7vYb= z7f+%8uT^Z|KwJ?}YShFq9eO$bbsvHgQ0;^P{{tK7Fv zxM8i<0ZhB`6bE!oovjMb%Sp9P<4*ln8Lo32da@K>iKBNm@SA6`!>b@C2KKo_+YqwHip7W&D zHKF`^n3`R}YUZ--%j{*3f?C4?nZW+Tw6SR3yED&=w#?2R5a?|oUDDeR^x*xii`bb! z4(@PFSR-4GqxWP`cRKJ>^ zp#8Yso%ofO#{wl<|cTX z^ScwrtLT(42^lp%XYWjL{k&nS^asoEEQKcX0W_t6u5D`x24B**<@d&8cjxIN&?w^2 z4hQyYvEj#Gbvgtc4+55eB$Aw8K%Xhb^Plgf6La6t;FMT?OixkxkRlsn$Zm{fBJ|?r zXsg1_xkm&{6{H9Cd|H%lnF>j9dDPNXOs#CXJ5soOujbbmZWxAI z=G#V=Qh+tzht5~cRVBt66kiiAPA@(GK$KfEizgy{RCTNLw0le;AETO;%Lfvv3Ye9C z2(3M(T^I`<@$;~YxyOm=9X1?G*61oRz3FHCx z>GXvOUea7uLjGxNWdYT1m#Zb_$7J}x=*s-69q`Cv)So=`(a+mT`ba%Vu=ssZ0t>M} zab*IP-jjF~mBB{o+o-TXRR+Vd+Lm>o9#+41w=u~aXz7}_6m7uZ@}8Iq^=1z`d+=h6 zMsmdA23-=Ftm=)BX^+*aD~@>%P9i47jpR2QBxz=hgM#lqgs~2Nz_ko{j9r;v0jE$t zpi#)U+0s)jyYRRyEm_gg*P#YOTu;uNxx*K&Q2>#D{-$jsySM4Urnu9~@AnoP8-^x} z0k~Ae6@~P@Xf}!G(#Q&hZO#E5G-oR0mVSiYEeGlhHN1D# z&`OsWR@!0KKwFx&{hy1TjkxqIm?XJv^ilKAB$fg(EC6&X*yp{BsY~3mToVPm?zO`} zc^!g@O#ckoi~{8bqW6a;wv2bTUBRHdxaDR2d(J!q(7~c3J2MVZm(S9-lL284Zg)hQ z5o1g&NCFKRUF)mtX(Rk{&2H*GG|`ipXdp*gE*7QI6eSNP~pEApFIEB zVs=-437-y`6Nau|{b30wvOuv=1RG1hoKO1U4}_R>>?>Ne$P8&Z=Px>J=`-~wa^oA zr7}j&j7dKd74T1BuX5h9?m~}bo7bY8(tRJv8obHO-wb!SN3#ciOlXKr$||6)NZ;fd zJu&-)%(C#cyzlXj9<~r^;L_Kh7`wMG&cm@WKS%1zaII|RO;z!_49CLsCMpg~cl!BY zCZWG$yl@pV=O)lH5@z|1-w!|fsWkPyU5jN^L>qYyNNMCqpSG}ht49_5l#BN!IL{^- z2jY#*wU*1M%kfR2nisAKqIl`FWHQ0J>KWZP4JN~_sriLYzqy24l{~eiS_*t2tJ~oI z{e#To;WaLp!JdNUbB_H-0DIFEd--IjbLMK!G&y%>q!x>x=QQ~m)%}{s@Rw8ZW{i|a z+Tx8>=gKZvjh^d1$H_2v)9of*VZ9gPpLV6q7o&!P#c2V?aGuTS%Mh!7RF1AQY1=D5 zec|-U+TtyRu~Tv!t%}??X)gLEt(yTVCks!D^chB>?9YUsNEn$gVv%(E2Q$!Uw&w4t?e%Ev`yf8dcn%$U~H3iAsofSKaNCK_VoH?_cWddafgsQw#{*e`h{M02QPHl24NLj++j#sdf0)`(JS%GsAA+f{E?X@}Fs(0uc6Z!q0S z@RyEqpmYg-%f~{ICvjj!X&=MrsJE7Mz}wxg5SkVgn3Q>7SX&XuT0+>LDEHUO_CglVn^)nso^FUi!jiqs8cd@&8? zBuy-8Oh!Wr2l}6Dt4#~tKVHlS&p*+h&t9<=m0Nwb-wQ z@bso0@9O9x@?pN6p*sfrZlpC2r|wV#VR@Lhg|y9BtCeLi4JoDjp(OPq7>Imv#K#2e zZ?wLV2)*iaiK9%&KL22=!<3AW<}o= z{2sHya9|>QSJRpf{<5>MQ>KQr_k`&96at?FgVM1e-c3nbMkn12Z1^P3r%&>qcvX}2 zC#;*I|KKnDrf?lB#0TAvHdZz&bT*t>O&EgjVn%K+?RC{*WQqmgC(I|v>+>m6^S$IN z{7v|OJ>L82c<~aT;o8p(Bg5o{mXwR7`P16MR!{OfZk3#jwgL2AjH!}}hvND&s z7fVx3AtD#CAzAf%??~_pRKzKH;P*d5%j&CO(#6vB@h1He0;HPeq$i5FT-7n>%Tod$ ziqGaj1JP58{`vdFPT=FfI-m?T@CYW(vl$OfHh|Vd47g^Q0Tjd2vD$^)t4I3^_bzA$ zH)X#TOja{f>qhuIuQ8`5pEvw{9I|z!XW#!wJZQ9jS2ZZ}2|=9oNAHqC-A&Fq`5!-Q zyo$!Ys8bisiB;~PO=tsSRc2oqT$0Hg*GGVz zy!5DE&5LI(r+RiT`?o^BZY+=@%-`2+<#&8;Oq=~FIP{z$3)?4oP|m)5`1yKybOwp4 z6zVwZ0Oh&=g~Ku35yK}n&#F-7!$B*z;z!fwA5#UXN*wC6AtHD89V>`kx3{I+H_f-g ztzxGi-kH9b?FyeOLd5cY_`So5dCHvs5KCI#JloDiX(gJ|Ve|2(RMSn~~5R%m{U5^}r5cr-g=)?+GxG zp8}8!?)V}_{vq5z-VdD;Hr}vYHHPtSqsqHe;hHc3`RZ4!?jIhrU@C+;cfUv<9u{U9(z=jo z&byZ%R8vW&f{j&8X`+mLK?Fz8tzm?wSj1Qil?IPR`Y02VKTB@@PKR{eKLT29@TGB& zfdd0{J>e;|-5h{mEuP@s9d9iH{k^FxPQ$~@Z-7%_G|l86g!?WQg795W&_d+pvCG&x zU{%DBjwd}+4AmkOeF@`npKnosFHO^WwS?E~7tXda;OYrZRaliH9S4B{Y<=fc@N5yL zmC47_XK%cDHWI9)D}of873F7pMe>I>e?{`m*BeOrqu^&cWfpgLz+AY{&2 zjZa?Gi7LT`^vbUGju^&RR8DyAFs%rtRODR5KpC#t+H124i7@?542BqyRMpYlo=+jU zCVUw_=8rqqcrUzsU>f49$^-efO9FTF{P?p(0?RB) zV}*42TGd2{ST)>ltPglg9-fPJPX>MV&C0QbN~oYe%xUB6^WbfX7N1aTdv{ORE)fK7 zhMSR#MpAixD_VoT>2${LT?}5gMEH%L4qG~SwHkCExNfrDH;cS|&fa)LQf54-4i%oa|o0L@~_E+DSfs)2s!@a-hs@ zavrCctG@37(4q`L6zMuy-D=xX!69UR%Bu3kVEL=%A|wM65iE6pZm+38f3tnuJxINNE6M4E(|-Z%{nj_ zaQroEX@@F12tI?fmX_INx$ea`e)Z^v0RlK6cdRcTv zmAr-rW;6%kWgNe)(Mc7$4~m~Jd*Yn}p1F6s-r3t(RHbi=Rc-$YKO&i9x*0SO?zt^` zL0EYEXu;Fx$yH~u9(2^1P{ZWgD-ns4h;ViywsYR5C67TsYsmuoY4?K2*mV#)=nqE*hN< zYsl&Zt9Lzr3RrxaLVH&3j#^{8;K~yYq$=;7nSg@H9Rr!D)~dNM3)KcD>#r3nZG~); zj6sW@B3y5t(;=B;gnX616x4ks|Ho<45q(gUJo9#J`TQfojS`JThL++@5^kCqJ)x?1 zy`T5PeI^a260IEG9%%)G2w3xvh5*;5c*xue4LMjy`Bx#cOb4ZPzKbzw@qeya$V1-$ zGB;xZr|u^cZqYo1tMH6+yWg`xYfm?}d6tze|2AOsgL&@de=5gF2de{``ZF46Fv!5v z=u*mGG*wjP$G>FG|DRU=fTxXR*vtN#QoD(T_{SmPZg}+_PUSZ~$=Nb??N3luLhqHr z?f*lSP(UDF0Z>Gc2V?v!Ki}2Ol_04rp`^t!Fv{a(`(}+uJX3m|V}Ej#%t`M?#0~Tf zu{(J@go&8o-50NniTOTuaVt*-I5;HJf^`qVa&_zXe(47s>YsqEbCrDO(CCoC_>vKt zej7T*$=556SC|2pqXAK-mmB&g!BQt^Q(&|5nuFQ95&-qzPJ6$E*_{Dp|45H>L*SUI z6%1C(XBY?+^?@&Q&?v|Tq`D~iKbfHe)#;trOr;eKNU(`R^!{r9BA4kYY{viG-gob% zsXPJtN&oeQW{Q|QtZ8TQ>~QlWQ|gTAVm$ql@@n(Tm95_O<=ue&yQ1iSGhGD?VHtp( z;jhPl|8Y7OwlyIb$lniFB{lC4BiES!)#I=wwZIT5ZsV5`EyVr-mKo(#GUU8c>W-e? znL*7nR3twQ6x?FC`KlzSr1Njbjlbw(z@wD)oy<3qYzU&6F;b)hx!$j_S!=WBYAx{+ z)Hz|^&fzshE5pLl42zH>28+40xrK7VI6JlP;CUy7i;(?v)D98ek_oz@Z(ZhdZRTl) zs~P>F@U_eo(dXm&N1&v&5l8)w!!G`Y!&>`W$XwX3oxJ3ih@I+5hnD_;E7yxXy6f9% zKHH*T>UW;}%LxXp|H*vc!sP6gu>Y!uKbD}NAlRw+7;F)mvTQB6|Nho;SKpsADey*& zrt|5Yl4BmPFZR4;_rWyoZ;IZ^pN;uG6UiRzkZ&7c0_Fhzdi40cfpnJH&I?R7Qx$$K zpS7B6DIZ6=$q}zvzks(nw=o|Xs$Fg2>_eJ|&!_ z0riRjnY7I9Md{KLXf6!H=4d5D&71KP zVq}mBvKhKE6Z(oh-M#0y*GG=mVXp%& z7UK_mw#wTF1_uMdM!D0nd#%Kpk7}?-H{G-QcWM`J!jMs9tp28dx*94l9=!9`j`Ga? z^L#ZSLfes0krm!qV8DQ`IrZ9w1p_Rujv)FtLtik?3HvavA4HKu)6HP^j(`(=PCZn+ zgc&YTR~j4CpI#H+YlNXM)4ZxAYAnZqt{cT^WWqOfNL8RnIc|gf^vgIt9jsdtZPy&K zrZ}t<5|g@qPb=7Lcz(}&u0T(lV>Jf5UAzB>7IqSp-||q3PGGboljM-`mH4Z7fp6}H zfsM=Mg+jF8fwh%Qi$#DNhrpwnLH9oLOu()0QE@_AQVn>32a1o2J12F$FU3dbmtg8& z=bpUVX6}^T@3B4Q^#U;3$Y`CKQIh;cc>7(^7jc6M2I}b-Z0~P%POKceyZEsk8z)JO z7l|jcoGOpR_eHt+RhaRPZg@Q3cA$ny8!y<^&;$w-B4}GLSacsqs($=ojR9XbhdkBonM+JG>_{a7~q*s5&Jf~?KAc$yP# zxuurRnQc}3Io8iCTSU7>3svE#&o$EYHMT$ZUByDnPEW1dD4~5s2>#Nhmw*>q-Kjp* zw05B+9#4oDXuN+?y+kOcEh}bYqHbeCy7s;?sb3NB&fF#GNkAml0G|o*O*{?DyjU{$ z=H*J>$&776H(d3%#<7vFu$BepYDz8&Kg4R%H&h~a^I;FRdxE$CQcC`H9yV#n*e`}L zf?Fr^_yG~%1@z}9D5t$?MYkddfDL=1Y)k4enV6VHZb+%ghzJRVVA1&w)MGqacCGB2 znpMGKq5cV|-!Y2yWwza zeB|@z=o2QuSXm;cs62qL2Km*~BaurHvZhy>-!&j|}lw&N2?lv4P zAd+bX^9c@(gf~g{gHG>n>8H5Jy45R*<0)6qv-Mmai05jm2O|Zp0go;F~C=m>v!IGpe;MN_l}~nVy}B8R*mr5Ax2Eg;}d2o7U!92p@%l zxRx|GUAQ(Z^HT~CavB>8$Y#FXr7NL-zw_7)gZ`NUbF+3@9%OJhV9;`XLu`(2cf5cJ*o%tncDsNln_uYDe73Pve+uGg#ocZ#iPvx ziB)cljP24FsIB1|Q0;$gJ!J8D(B(cP@3V*Hy?am+#Pg8a6!eGSb$w28z<9$?@H*oS z{1;1*BJeBGe88>rz5cC6MefqjxP`#oluEI>dB^*kE^1hdIavXH%pO{*gnafnbQ5B+htk|Po zC_wpdHUL!Q0=k_yFyQ~38ox%+?}6j85Ih*F(yf$(DwTBlzzRon@M+>$06;|csRnc z`Ds!z99qWF(#xnykO5e7D@!MWtI7|LH+2Qad)C2%&kvev`W9%a)LrP)kN^He@Zh_s z*C;!O4&wtrSmotru|D{Zo9>pUjT2#@FPy~1xHrU%dKNv)Z?pez&zgnq7MfnZCrdov z{!B=MFjyP2Nd+g+$QrGy^t(TJ1K^~i+F0ff@K3|5Y+etz9vhxnnu0H<#k$sK(76Q$ zi!_~~!_F|*c-Mys0LI({^oK+U$A&#j5H*=4o~O=UtlT|GojtwfyX~6Z0ya0U!ko93 zI;U(pZrqs<#G*wG3=kY`PrpQ=)!FOI*>cC(rm$zf$mYWMomud}m!KLL3qjWf*Pviv zphyrXR2&&0JJR1-Uw$7p| ze}t=V;>D8Yck~!_8(jMbxp1d8Qhj#(R$0i&Mq%m4%uKXgjnrm~*AijDSop%auc2iO zYDV{i5fMO2Qqs^GEcp#W5Xa5ky?D$SCT$(f<*?-nJGh-qSA{5W{?1Wv@ z>qFDp;~5|4%frz{>e&-a|I=>M=4F@p*ViYn_dekJbr_^|S~{IBCoI-)mdF)9G<3s& z3n#ZNEip@;4ZdE`ygtyh$4Y<>kP+$+Fw-*vcg~xiFqiRyQ&G}wHa%b(32uRt|EE1< z0J?;Tl^_1sAP5eW0?7#ygbXpNN&e@Pv)^9wHAQ?mEBq4VRRtG#-#Rx(FL^PKzqmDC zd9oUCW$k-dXxesld0uYaPkZ7knOLy{#$!`vpg;9qI~R~l_w?Z~YWW~h>dMlgpvl8{ zN;c6^W}3;}7eD~h$=}ipyK2uMmI{4*d=n>p9P%hA#EhR^&QOiddC!QY%dd&(x z(0JI1-K>lM8vH@up#UWHZwjU#TF=CP-X)t0ILi%a&Xu}+`s(%Tmc_j};`9^rjl=pw z7XqE__cdop0U+9lJe)#;TM8d#|Hb`1h1WfW0C^L7h&~`J)nAl{@<^|#4P&HRz%53t z*hYFw7UiQd{_s)%WyAilK=nC!pN}SNixUtH;67@@_uoY$fnj8Qf4W&cEef$I@tH$H ze77v(0jOk$)qgWh z)r%rIlA%>2P zdWQq%gJ)bnY--B0LDfd9at{WMiV~lQfK?j8j+?kVii+BjE}dv%1|Ds_#Rj`36oBhV0CQ~EqqIT75|C%uH~!|7$WO^fa*#xRM{x4EiAjE z#nqEb);yCd`JxT_1c%`m(=W5hpvl?&;S>G@js6IW-Ba~Fc&kMk4kv~~^;2*BT*q~Q zjcv$SUo?^m8_8J_*gGasuBLyM)@s|vpXF=7Ll?rfAX{P}J!Tvpqsf@o^U>*yCZ`<7 zxRJ2+`_opmBZ)jxV(f51r{x0n5ToaI$zK|h6yW;~Y6p^$2`bv2NnbD?l7L&39f)H| zV1CoR?DT8tzU^ar0#rAnqU)Z-x2h^4F)1Fgx9qp=NiMN~Xt#-lnK+ ze_~ki&@~>al^_Iyhev4O)sGyvlyZ!)HZWoB-<)q6uhC&QFG7v3M24KDEZq!lwMAe} zz7jIwRM6@UnVY>A{nYJajTGQf98&(m74UYN)5YPq?rO}-@*NWpdU0hvV;2P!k;X*i zXzj7QQO9V@$~U&DH3ECSWl-^z6e}Tn#)&n>!BFT4>@=O1u$+RLLVreXE|$;H*4NQ5 zSMEm6ZKV5cg+DmM!oy=!vUf)e9p|skciQFfB|^ZxV$s=OTE9_nT1|rRwrC|LP7_&U zZSQ1D)!4qb$_@S$@dh4pc+^QPO3HXB<~<4j_j}f6+&E-x-nJLnrb51Wc2lOi=7)Bl zJfS*G%lbYb?Edj?k|OV|z)>TICBoO=oNO*=gx&G!DT~c*Y-s#6o5IY;LREyrY#75| zxPAx31_j^93sVO#|Jtx>^{dGsxEHMQDd>#{+qZ%6mSw29q%DT-kPLe49rU+eOAC^< z1sJVNw=KWr!XIv}Z7VUpm7~$Ft+`brDR^Cflq$>eQ>i#nRw%x8Y)MGi{g5HPkCF7K z54)H2d|Pq4gNag=UQqbO{+hH$0PeaSjA4JMNd?x#BbRrG-)!1xRz%i1czrj>t-qNI zuw~D-h+wfEb3eMt7}rbx%VTpI;@xS1p!_r$+;(67iu*{NiYK#lKjIK7g zI>=YR!Rp)>Gd@l~tT!*twfVBjJcgxb=LI5f^TD&`zc7R%@1w1Iw-R}-1z`S=wRvB- zTF?>RFebX9c-@39Tf+E&solBcoW75&u|xhN1*O#MlCNgW7PsXk9-}*qy?zlbxuqJS z)r~jbvF<=4qNmv9`2848dHY)Um4JNBC~%ksW^aGQqn+$qB{ zAe)Iz$rbca!U=4Jcl>s$z=?~u2y-nq*6S1h?n& zj%=R{Gc02QH898lUPI?=ZG4si!*7tJ6F-D?#c@ta z@@*^=!N!@xqSZgT?lQmHg6T^autsc7f>+{yQfMVjlAimaZwls`4_G#>Xu*&_?c1i4 zt1(~RPFrcRYi4qK+{WimXnN92?z9}IZvgrOKB(9E&zjppLYC9Qb~Dh1;nh(iS3C?j z@wfZG0G*2JgFqDLe>#1i0fle2#NLBWIdy8cCd<7p=7|*Bjs`B?Qw593U4C|;YM^{j zjA_6dl6bTjc9}caxI?+rQ#kVRp7WXz+_;SlZ77hsEC9MTQ;x-;PdRQuJVI)}66cEH zNYrF_)2zT2XzAn^|3O0}*RH)O1!JP|y zTX#ipU~nn4io5c0thdk0!kS!&Vj4j=ZLyNgGPCunXlspHo;zN?%NKJ#o*`v>t36Pj zf}NRP;GxoNCT8T|S)?ByrfS4l^YU^Kx?eied>SF#NUvLx(Gw^tz45C&sAGMV**N1F(FL<6BJ7kTk z;z;igiXKmUq`P0(Ny1hocD(TYcaHt>15UyNuoG;L>daN)m*62^yw~l50csL8T_~z! zxXmc@;zJS};F5?k-CA8riSuPnUWv z&lm`*PmJmP{j<;>F2LRT_T+sc8%K!E%qPP>dMZ^$Dd(Fb>P^#^5jg^hb-h)M*WhFx zv2GU4Xai!l4P%Br;8GvGiZ_(|mG$s%-tG4P@NQp5paTt;$9z`{d`>63W(|AasQ3HF zgjwd&FFMnazMV6UU|MbQ7=!~nYx%mcnpyvQJ^M{{*1!W`qtCqhE%U$;RO?rFr7%tr z2B?fyW%Sq=ffA{--^BlAElChLOM;G&tAv14a`9ax+R4JEHqOJPsU|KF*uoNw8;5#?_lVTA;x0{$G}%V5@y) z#OiM$wRtZo}lzki}>G_@c+Yli$d~}Z&XgJ+?lXXmxI(M z#XOme14Uf{I%aw`P|cy>?=BTZ+0IfdRw5{${^7rJWIL6QRhQ}g(jfuJyqm~6~pppyx0M(VJf#> z%#tVW=P{DQJ|uE7ERL=fo*G{g((5Z4T9JaJOR|+Ptw#XWQz_p%^nz?wY@`A0 z2Wi?)7cvOmb+|Vnp(aV1IXG!CSz?~IVA5Flw4a-p!L_@DEB^^F|8GjXT*>s2D2OsL zJA|VMY*K-P*14NLTI`-Ng-e7-K6N+pt|1L5+`0{HWR$BwPmu<3iF@X#{wVWteAgLnr+08o_6H~V3XKDAlzA`p13oMvq7^pFjsm|Bd#q^or=KM}B{s8eI zV;)u`J1xi8%iLLHdwLW3wdw!I-g^L5wJlwvYi~eu20@7uM9G3=1SAWBWJHjhl$=3= zAc*9ga|S_>93*W(f@Bm01SCn2EIA0gxzQ8uz31Hje&2ods$SJ!r;6G~V6oO*J-d61 z9^JEB?1mwnuh|rSs)Y7Uj@p5`I&#`J6`Y|8@%9H<2>K#D8~>lN$$z%gnNSG55;KBg zpMIu4D=HjOAq&BCYw=seG3vxG8`St%-VAWP6)JZz;6SAU-YfR`Dau~@dWR1;X^zJQ zE-%roJ1EaLXU$I7-oQ(B#s5lo0vZTK{6hJ$4pDzp3D0Jxk{55Zz0~@4Kja`XEG`0H zJ#y zIO;Z8_cu=Q>#F>wGc117!SxZ$#)RAIYX`(i#7_gqq^hUnCNIxYi z_S5VA+ltn5gas1gW%OSwSD;6IzzVU*);VAt&DxrDUz2=HmIfndrC-L)N-ECcba|8% z=|2!J(b|P#K*LprC6`I}%!l>I7cRLWF1bwjvr|?>6V*~S>C%IX`rFTG)oUAcYgc&G zLb=L^2;QI4g*bXH>`jQHC5|1tTO6WkQf2uihz2UX^tR7*y zHG|>F%_lkqnz%8+cOKZsLHPClNTY%6AS- zn<658rs8i`sz~$OeECHALOIBAFA1D&qw5#K8qz@VJ@}GF@9D*en?V7!3YeFrZ&}b% zXrKZr-MI6GUqE{qM7N!iLTw}z`E4@RXaiR zD3*`~mEc;AQji(JU73jR9Kvo!r4SQ>yHZMNWQJr|I;>E!wso|?UA4)jz2ljeVVOk2 znDpwm2a~09xEz9u=jY^Z9MG|^T-4WN3=^9O7r%k!a{Yo$L68nlxIE>9DsRb~){~b* zN~jM!*<(7rcfhnS1T)tuMd|)duEZzzgR|TGo7N+rI3HD-@aN=JTO|zeBGe9huzqBx)pDgL&K94|G-ezvNYqf_ZX7r8) zdU!`P>&uT`-d8Nk7xiG~Usby5oLl3+Ns&B?*-}2}#a`{TItu32#7@$Lo|u(z-929E zLcbM&E?1EAqoQW^lQMUqcjt4D!C*Dl7EXvdrHRY%OELMa5$JMr7Z@QU8 zj`y;3l~$-72uw8xuNXQJzamVMExUsiG=^v6c3n>{=;J&WBPsEC2(clS;-DATwUr zQ!Ji%>`d`Qn=97Fd9MtqfD!^>q{;}d)4^l9msa^16%JedT-9^5VV3TB@!qXnk}qzH zRLC>RYS*gAD@D>*aL_W|m$E+4`k9fvYXYoG=H0>6s;IHZS8TWPkp%g9u>wSLD*LtS z0g(J$lB#~>Cw7b>wtZQ6TZ()sX6gBwELW_W z&<+k5@`T)P5ERnu;bh)ikg`OGRX6BUENFZ8X?u3&b6Pch<4e4KmD;-~MVcW6@%?&6 zHjB3`-LnT=nDI{X)>Q5Hq0FH>2l(ky*B7J(h$U{i;p7j%lHVK=D40Zsxz31_wo8%> z?U3i?)erKKdq)=0D&NRuQetBu2+hC2D-f!X3ba04U6LmN4C%^2SwWWi+|HW#y`{5r zXO|OMKCdW2kF$*=(BP*1X|A)FNT}or*pSG(SHC9?cw9(LO(mzMmS&D^1*OR6#~aNw z__uZlzPQfe=Kd@TeF1R>r&p>-?pJbTqj3_=q^E6ftLwR|j-*NC+3S}JSvH%`_HDl5 zGebZZ#gx+5J#X)rK(Qe0(nyIh9zmigrHLgARxHZqCCP!NP1LkTrf1k%p z_ZGQSE@c}L8ClR?tpJ$ znX0xL_sG8nee5(VdH(gCFOYvk7n*)NTh@G0|PG>LS7?6+cb zOdqYhCZo9cNspRs3<6t-8e7S1u|8NVQL~}x>|{f4XYBP;+=ji+CbbJmF1F)V!6TZu zoMYVag^4#t%&ZeAQYU21Uep=0C(1vB_w|Iib%q`8AIydGHFLkJ%>=i`&i%uQ{)H<; z*bwH5m(GrqYF7?@aoxjeUFnVns>9JoDKhA9jHS7_hRgUXwO5G`=5?{#Eh z1tSK*zomdBX^8Cs(QxEZik*%7UxJfunl6Rk+8bre+5oSrrUa+qK2)-E*qe;`Q0_D*x7Tkt04^9_HD+%Dc#gXmm>9$v5Xpt!t!>n+OibUa zUVGxEpZ!>z+3pj@tWvr*9jmF^GU+m9bz<{7zy7=I(;|vVBdRLZeikHPWGYB0ld~NA z^}1n)cN3M08lY6X`p&;jZ7R91QmGH5UF?s371RHW^C{@`o4!uV>m5byMuo4G)LS?8 z0g;UPB$j0p##eyOI|c_MoZL&@uuHpt@y-(TExtw%?-rtW%3A^K6Yj-5s%rnTBK~WM zL+i^UT!v!~t?_S`Imh<^6sExd9Y*3 zy0|Jg@l!W=68d4q=H|JsK;|!&;uqy1OO25GY!Sn!zjjUgCszYB(k1B1?7zIJ`1A1 zX7;qv@Wc{RUw*=Lm08<>{W`JQ7FP|sgTzo)bh7D59BYl$LR6hjkq)4^qD+A#kq&PA z_;I&&J)i|v{KYgiM}nrF!)+&Vc$&Ldk(l$EY??68z=^zkjJ$56B@*U3SJ+n&@w_{g z|8zC^Qy^BkUh^vQp{prE0YmWRJC61kF#)0XUh@29hEh8K;H^{2zFeD%0rXW4BfdVP zh0weo5F>CTBO~Klj1D^=vvGxo?mPc1DI1$SucF*;=LGo$6-Ey15%s?{%zq-FR3)*| zGUN=|U!98y72h$UWjtX|qzJmWJKS4&UJU)#B-D5+ZS;TCVj}gN`6>KB+-ahU6uPBG z$zzG_>TvOa*ZDFNsx(^o>NfwiY2}B8GW0n&u?MNeTaGdkA~KHvB$RJPZITgqjov3=%Ju?>N=&!(nzJZ-+_`uU9Z(m6M z-%B#jmE5WJ@1N3rh@8JT2<7OIQ0qXh1njrWfd!J5;JYZttDaRwld;xnz zf!h9&QUd(T(*g$Mt34MLJ(fPZ4ynJ~_8SYk&kYo`<}!!x=c6W4%SE*VlNe~;eO5HP z$4l~I*`2#_N(+eZ-&>jidS@_R=jAc>3xvu*imPRR=naU zupvdn&Y2*v_X=Z@hMpq#p0GhR{ihJH#Xc)HIo2__k^dR^n*)HGRD{n6L=2qW^U6YD)(w0I}W)0`LLw-u7^1m81 z+w#jHVm9V+0}xST8(4KTe|I#9&w!MI5pFnB3N>TiIx#qycm-Ng4gJ|`b$Z?MlvK0 zD~L+K{>j<>!>a^~-J2r(I%UEob&45Ftp27$9lK8zp?55*hqg55mmtA|T z$otehPq7Y-Ni+NEIdANF_$X=`&KkE13m@^Sl20qJgKQB zQDo;U0uFmE2raJV8wD_g8*F(n9qoa_*lOpsy%{w|+_Uz0mQO5Q9Y(VA9XH&lKkX5J z!U%g*K`>xyYogMvTl22hHU@?;UFe6MJ?%R?Wd|7^NeMO&$xGM zr8Ug+#z6>d$BXzqhy!6J0+?bJeCL+S_I2+Op}f4nfHiOyvy?O1pubfzlEP)md0o zO2k;#FkSxES7$?;HLi21)0V8mp#G6P>s{&aE+Wl7atNinCqAzGI zxbaK<-*k$K+sD=pDYSAEDGEkI5)(KDNIPV?!4Wj>8$I&#s5gIVoPcOx@nUg zDiz7k<>LSe3i&uJmfnXnT&Df5ujq&|&bP&7-q{h|zPgpiSwBzkSV%D=4*vlMiPkqp zT8A3Q1wZ{Z;|$6&n%~6ujRhVwZJc?;$5Ec4P+v2a0QWwYiwfV&v1;XC1LHT0dsPIM zr!U57p{p0ONq76AIY(3;^a=^7&2}4g!(NY0J!7$)%<_1r_d<(4_{k`VH#Ja*-G031 z_4UCGA6Z9KqXm=jPg7TS)>$$ltOv}fmoJQBu3dvtIptQfv4HaYs7mQX6POD!JRrDoj;LP+76b*YpQ z>L*D^gBxb~MaZYW#Z2j)zp3?c>eCytG-)2i0ZJxi(5wEYs+vUvCP~!o+AWw)qea#g zn7J-&so6kOai6k7em-G0r6G|8HD3dqiFZ7$rFOTiMi%OS2s0Nc8W8LE2uqK=J?-C^ zV7`Ne5GPMt>zuhP?DN6;1KuV~A6WKkrUSJ(WM6LZ2N?=NE=WOF%i369{y@zS0GJ9Kr`;3F8GV?-&B4z6Vl3nGE!!P-W6v8WbcM(}3!_rg!^K7AJ zuI0N*Hpq(qBA4+$%P{EdeYf5H&U56jI18$j=Z;??x=#!Xc#LN-#ZJkm7cev)o-u-! z?MO+iipXn{F(Apdji1|`w8v0ga9B08^XQL7Y^;lhu6qv9k`>caOk%DO`n(v(qAVJi zfH(A#dOuep{f59D6&><9ow=E{P8a1KuK#}FlD9lI0#&&En#Xw9w2lnNg={ai?QCw% zPi)&b2%WCrhejV*L{V%rA-^*FrxK)ZJ+r5!|?ra;)DJQa{LwI*s71{A+`)3ib&TFs-J7u;YPzUdCDPqnw-ARWl#R}d_ zSPS5x2U1Jt7>)*J+QA@_Ux! zQi79(70=>rdnsT@`5fV{4E_?Pjq6kaFN(;)(7syuphuV?;A>u*(Dnv8{Z|uuD{KgXx7nD+eKk-v$}N;T#$0x&6J%fD z9y3^C71)>F8eac;wRhKSN>X^_MMrr{Rg$DPyz~yOR!1BHw2E*g;^=yOm-1K?no1<| z{s)0EPvL(cFs_y;Tg5tW3>*JG?RvcnNRG#1kXp)r$P!H-$RcZwj#H_+PqWK@E3f+S z5PLgQJzAWvQo(a;!_}h=@ZKe8`>8*^6;Kh&-`fe_3P+6t>0_7WD^i~qG+yL1$D^IB zK74|Lk3o~djwfh|=|C4fxSb&MV{N=$7>pV>43dkxj6Hr zvFYm~(5iGY0`-OA=4>;Wt}6`4Y#K*3%}(ZrqHs5dRX56@-JOPdjA78Z6a)kj&O>Ie zoAG|En#Io~S$t`+s$tXB<3Sh?=oFfE=%m*fSUcL&r-DX50BxKwZ*mANqzWud&4r78 z`O#lG>kn}C=-{TNa)1osK$yY%H&5$6yg}nj4s5Y$9P)e0P>O70$}=j)WF_$?vl$nT zH~>c{SiNfkJ9Iu?&-zYluEo1rA&8wwKP#PG70C=l}-DmjQ-OU`J?F?2ydr!s?fZ!hA@Awc$1?)R)bO{txW9wB+26oiPTy}}&dq8+R&gx7STeNE zGBhXpYrjrOL;5JP;qv2CzR|23z`ups%|2krPyn8uf{NlXQSHIS>Aw)p75)HLJ@YL; zy&82o)#Xc|K4e2W53IX>28EC9E ztN|b!d;0FP@rU2KKP^`}oX_{NP?`bDPmxjW1Il)KwTpbp z>qsKHuUnx=G2xv*T*;t!h#_|hR2;kA|k zD}Lnr^J@Q&?t*p!-37W_b?s9c2JCEYp+lejwY$i(o642N@H(LTYzh_@7?v`Ngh#W;#h31`n3=VLuo=I@0 zQB;3#ZWvEmfB$xO4Vr|sXxd9sg2H)1Y^lh7GJRtdbLuqE+L|LDLxqWk__^j(6V{icpR$HpGW#W392H(;$OI{>y^L9lwEb~y z*Z6)=Ic2|f?g5*`nD_Ud-~SQdRJvQV(YNDecKz362p&T3T|@G9t4^O&GbJ{^I0B2f z)1*fD;7zlWQ8N6jw0nk*hL;-wlp-mj(#{=#&ID%vZd?$^&M*AV3mnrx$bZ_ ziTt6V8uT(Ts`eeiyBYZ5m!0viK)Ql)k3N7XLQ#!w0bu&VH$_d~5Mwk;^0bNxYfwJB=CCvm-G>Jheef?&TpnOY8gIk!=nt*^Jst5p?01B3k; ztpB0TuoQSPc8xQ>H&;&gVo6aFQ0|=*+xiNq(-WkwsqTucU99_e-w1&2%d=>8l2+^C zU_#ewDqo9%J8D^42i0L&BDV04e^4^`b9V*&UTs_qQ9J%_T;*L#Q4qUzZCDrs6~z|x z>(B~930`)asLW%DEI)c5B)fzfsqW)RW*hiDgQ21{F*1Ouf29=TVfCD@pyED=rdEMr z`6U!n9=fW8XWg+LNKGlCE!}Iuj;Fu9&IM>6i7)YqgxdlKn=p+&a9xg)z6B zI=95tT-06=2AJRC?8QOQkJa_5jb+E-J2&J@HVN0UI1u{W{=CNt=}nZ3lAV!-E>Xe% zE$NH2K5_E(HF;p`MHy;#Ei{|`7_Y~)z4udYMqt(|akNiQ3O>HoQ$loSdUl-h>XWyd~3AVo`N)H{Uw)sG1|NwsdYNpu07^+OVH_ab;#`<_RZyM(!!(8y*rWW#tJ?B`;F{x;I;?Gc!c5D zyM;c?!kb4PoBfmU2`4C@`TD^_r0xHNbq-kr+JPZ#^uVPO zA7?}fsT%ALVcWsDtEfm9{cgIQOz*8r(>9enviSiAAD=!}Zl<{AOY6!0RQL<(Cm3KN zhyVLU&4*4Ok*bN^4w<93X4zDf96VURL-?QbGhEAG^BKXAtN3%UN1hYh;U|U{DhESx zK*gaTI|XYt?#lK@l7~xc`)v=|3|4mp5HZhU=?uSMYeMXdP$*8srd509OKTj;0D7e! zx*LM95d=4<{S`GJD>9$#rf|%Rx#j=sJt{!qM95P861wPB^;_Uf&t{o!oK_p&R_ zAQffN$Ilt|XcGP0)O7`{zW~T<_5jq2HZyq(PjiZz zfnJwHRf1pSqwfs234@LUU`c80YSER`eI_z*+_n1b!xSpqS_01!*`8-e9^?kJ+-li} zg!RuaqGNAPB*q?THE-gG0o9ls<$1qW5skZ{-H%KbpDBw?q0eakJs&~dR>*CHeG85+ z`h!zsuPj{4(8kemn8^FNIEO@&*ug%-Fv$_Wf)kqFmiNUVCRmyL9kz|E?xE1<7ycFnAR?>HwO480)8Aj8+=g$0 zCO!!n8FcIB6X&8$WJ^5g^~c$L^6=ZX(0Z*e+;&%@t%z4ce>B7wxjYfPz9;tDajz7H z-oJ^qd$iZ9u+kB?8V^dRy}4grzdBN{|D_5*Tn6Q`l2_aF9jm0?p7&;Xwu`$~eynV* zJOtAQx^BMWfeFD}k#kl0_@){pe<@cuz!a3?w`6CHo2}Tjr$;O8OAKPrS>bze~7;a)iE#dXMzrueoBBHu67 z(G8lhpPj{h8#pZ1=D-_T@caN@q~5GmOCT$!e#5V9n`{9NrH1puI4n)v9-xm?WC<;h8C$L~|b{t2Z=Zp1MZ6W`gbmwpC_{z5+wXrBbqXt|AttD@D?rZ+b(*9p<1<+QANkWPW3g7l# ztjQwmP(go~#ws^j#+-i)RW)*84GrOcCpG}G9A}Dod!kWUkkRtJH@6AdkOQe&|NoVh z{DT(Z{~K8eaNl1?!%#1SZmdz-Yb6WhNE%Oq@o&<=|ByoXcf`*BR0Z-kwB>JdGetr+ z5^v_fy3&$gL@0^(a-FgDwFkqh5-{_Bt=$2Zj$Z2&5#OX{Vg+AUTw|EP>p zU$$0DhTac`evWxsF|qSSg!&P%$bddF#4mDvM8KdGD6ohhDJVF#efhsFk!wKK z%PnC6G}aY0JSgpRa|z=3{sS?Q_hW}XL!d)QY{_%{#;02$+`x+5Z0-PANSywnG#Zk5 zYx{?CGpGZC5g}Jk2hQA-cP$K7J{5f*3fIk^ur}~DE!BF76158id5qwvmcN@>1HJKI zzq|X|uu&(-EM$1~qlFU*J+-CK1)Q{3bQHF*kMP+@awK_jVQ^?NT=MD*$-(C;!@k8b z!lT@jVgjD1#EXE(5)IU0_wjbmgjng7FTY?7ul~#316DcOf^tQpTQ&}YaZWq*)imdmf%&9K{8>{4pVKGs@|eB5;r5; z-U>u(Fg>{t)n#h5xqYfXc}V*{46cOA5?l>bd>JAh|A|pvTl?rhf2+EevAt548TNaI&!$ugxO93~aNP6(-QMMzNvbkIg{QH|nj}uYp zn7Bjl3RUS$hfX{S#F;0%beS$1+9Dx(_}AAz;&BO~7x=X=Hk6@EHmIRfxI+r+U3SgHL!#b1IOYTWHhV zGV{w&rVcnutKYK2$%^WznjGsXTWjA)+k3Q}5+93=kkZ32D6NC^Fttff8qNT*(_0FD zEGM9a*}C?cpnIG2tL3g0>J@gFJQYAiXf`hAy7p+7*WrLcY@J~SYoDu_PS%pAeh{8+ zoO#AELtyAs%G1+B6Y)B=@ke3DkJgWC?c?4KsmzE>)pn1*eDD0xPPNL@Py#+}dr2NX zT{^K;`f>DxI98nO4=`hACV)U#fM z;csSnOD@_s5w{$2=~kUUpB_38WHM&?lQebAv3 zDAXQbr|CP&x{hcJYE29s9kLXUlah_X2rE46NN1#fzyPzA^maVxLPf&4D>xD`0Afaj&dLC?A?JV z*?EgXQkkv7S*(wgi^|W`KVRi#VNxSF{@9ad?>z6}{-!J+3o+Bd?WlIcXPy)yQ-mqf z)mmK|w-$X?C4^5`F2#@rQ{XP$=(5xAd+;jpmj76lkR50F0xIHii2!*Ek%g=$?!?n;!N*;3J zpbUtf2_q+GP1yIax$cdb#s4_gGE3!o%8KdjYo}MJ9*Z){Y;~^(n+?;ut=%-XOf`4y zQDBeoYl7q-u8h14l{hYZEP9XB7lcXTN#adrO$^4%%Yd1c=6tKAgR?L}<|H(HqOq+-)(}_pEN#VF>PDod|mlX3gmA-$zyLB8GhWYU<42aFu+SLhzus-DMU2 z7X3u&I3-^jhM}{iG+cZWht1rIrs1>yD4~55cgF3$m(bl(CmS5iC9(TY+3+eXc9YF> zV2-B>wI@q2;nVmYJlgc7uc3qv3}1pfzB2T9(*hSCjKw_q%#d?!DgM}<2#QbUPqn!M zySn4~m7b=>LhtxNDa9%1Q`ziyX(BFJnFW>H4t33ku{_P7Q^2-gU{T-M+4)_w%~<(! zRKyKGjWL*hqN>It_XmC#iJ%_I-oR@04#n8&d`9*=5GzeQ2_HjcOnA~d;rYK7tshs8 zi%yP4L;R~$-eD|sr44Xe-svbRx@AjT#7*hx)q%nh-YMGpJ~uy^LO#p`xtyNQvh=>;-954#HsVE)}e9!CD7H(#eX z8h2EPpiTmDbv*r|%3Ew4cnlC8S%acvebZKFTmE9Q*8~oR2A0kNzUOg33`{HZW8O|9kBkCXHdeAJoOPnIv325j`E% zNSGpJ0b59C^6pQ4gS{D6jmBa|HcdR$w+4SzW3VPPF^P5%b@6V|$4RsVD^%g9o)%?~ z%&;F1w;tmMFs;FR^B@i_*r@FEH?Ej*{F#GZjR`9Lh#wb|*ox}4zfT;p7NG?WHydnc zM$O4WuTWVoQAHs<_a|S_oE>x~j@I0VgtvRSxg%{~HiLP&CnT^4g-g0W4#5d+_Nr=IpMz$MkR!@n0`jbYk94DisLAMtmean%R)5su^tF0 z$GRX2d^mHv&zR0^rAfu7KF-8T65me$F;_b#l&bnB{&A_DkY@mbACom4;s?WK*yuP- zP-USMt{27S>*al-qnDrBc+62Oq7zwuz`we63p^B3>Q&KPaUB8lT)I~w_TBxyWWIsu zOdjY3eiZZ5mXi0p^|Oyk?~$H6kf!4IdzEiZ(li4Uyc&p-PwRA$x1!o#lA;%Q;`oQh zg@IRpNg11tlL&m0X_Y|_mz@TDQyb`CO19c;VLlVt$;6*Qp*etb_sZjEK55(Z@&0g~ zc}`~AhRZj-kZjWrUfAw_#ehgMDuU2cd3QQl_cH{d0QP%kqkOq>^+mOhdx5yXtC?6< ziFPUJsDS_Q|#B5>>OEII4Lpkp@sf|9+4 z3s;}URtGAa>Co=Y5i@sxamq_Pxw)UZj`_jq9{78!sn0*-%Xy80KqkOBz>NGcJHf&P z2-CYgqyUYOJP>@MpUL)RiU1$lgmSxKma)|@E;YpE-V8g9hVI8bsX5^vjqXxU^NgJ+ z+Oq&lrEun27%r zfDbbdRpxsnz%O~dy!~~h32|1X>Jxa z(WG1Nqk^YzL>aV`0xy)6PI8LahY&LY;-?c6^q9o}9~$HfDG?fv>X&^^YFB}G{&h`i z&52jT*xY4TV79d(jFG|i&b3{M3-0|l_dOHLNRiQypGy5Mct%6%;b#~jlHgP1=1>bU z^7&^{Rpy~;x$!m}-5!<8GG`zh$TyCAQLb+H>-@G0f97HWARGJBnhH( zgz*ev7nMbJkD2T4^_+xAmTZB9&*nP&@o|ov2(UpxYyYx);7=Xi`#-KMr|(F4Ovlhu z5YkkbV5I@0{IgN02)b?tD2`FmF7aN-=qsG$!cI)}qpIa5e4}(!M7fL9W6^8CG|?HQ z)&dX_V4*3AD5-eMkRQJA{B-lZ(^agwc00%)9|r3|#~W750Itr3>1~3ktWy%wrOvqj z$gO`b_#^Y7+9P+OF<^#!C9-Sij3Ca4nE_Nt&j==^Ei! zXKxKmV}A5QVi7VDZt4_ylocZFk{{UAA9e|z(L+aN;#JE1+pF7SKle?=I-!Zt3si)` zoe#h&H8h|Qp$JqIToGy7HyAhu@aKi7c_!lbf71el4U5TR60%=`u2Nx!#z7-C5(Oj5 z>EyYgsEDj-y^@VPkPiEM$FzB{1*bQ2dhnp0l$SqEZ^sjv=d#Ls){;eYnPt{8+{grH zuYXpVh#2I$I}x&?B@W!gPEqgpc`RrfWdf#7o|7Gf`KkaSPlTi9KhIdZtwKC%fUeRw z@(r~q_qNSOOQsRxbEuGkBkRq>%LD?0RTp2K$Z*!1QdKYW3i|sA5*_4SC~gF?7=@d{ zCBsTnNp`*_FqC z-FcA6V$+eZd|Z-%*%lQRr{7kkW*dnsHLScMSxQ9O5SO*)oDs}(kcU-=n~;gk!%hIz zVH;q((Ay?W6CwyC9V-cZbU6wjk|E9{3=~{SVp251l3^bUX7jgrj#|%I+%XhjX+P{O zv7Pm6EW}=owAgJwX7VPG{^Hb*Rm+RsS#yO?#jhH!j3QWuJrv*aO;~5j?|$&0veZ%) zURD^!y%M8jCd2pWkSZI{Di= z?xwtMJVbpXt1`_>JgS2b{u;OHQWn*rk_0KPfS+My#&xc@ZpxABP?|^6aO}_^+QF)h zROIcc@K6vwjU?{)U-dhWqgks^X>Vd7$Z5r~fnTFrkQ_e``5-t0?-?#1L_zeRTLvT@ zQoVTsuk-3Q+JuWhPzo|V^12UaVSujMs^g9CQFbQrSiJE}Pi<%YH1o#y%H112Z1$Y$ z8a^&t9Ta!@zkVf89ewB5Mw~8C_L{0q(>>P7VP*dv3_b>|gEU7GRh#lQv_o<;3D-6A z`4`sln80U-7%X-Owc8KxUsFn3@;r5d1x&72&YsA4J5gNOKqnE0G zrZ(Mt5ci({=pI~OYk8+tN79ng?heQa=2e?tM;%vA3;>LcOds-7Z)LMpx@(^5$rt@mBG*a%;U{~k_P+SvhUj1s#gmC-dvzreN`0Y&6jZ2GXrT<=lQDL?O&8W(>AYv}j2(GX z4LoawWim=|zWLx`1fH`mxQto`K7HRVstgmk&o>nd>>=&kHG>PUO|FM#p8-S8RpjXX znR7sYkxQu4^4s<^ZAfe%i$@zN%I& zu~~M>^7EKK2{}ezK?Yn&^1bpE-6r(!pBe)mqG8vp^WTAbB-eGXz zV@&U*b?b(=P9NdKh3{LNvJt(4gpcK=-dksPw?)Vo-Mns|HaDuOKPr# z`PMGvVZCz;CywyhkL_A8>(Z`=t!DaFMSs!;`uU&xZ=5X>wuFVz!%>i!LQHAck`AM` zBsf3a>oSnssDDbYUw?zWnBss}Z8;_mpC%Vp`#qnZ{guzB>LvsSgwi9ao-B{$eRccv zxMMBR$LEf%vVw`1;ck3$GVXo~Bh2>xdq*8Yu!O-FL;I5YlE93@Fe32uG~nR)7!FfY zQ`_(DWM+$vXQ#)2%ru(@gCcK9K_pT}@0w2DbGzV9EFK;0x_;RB(SLod`DATz6HNF_ zRXsiJUIY!+oz0x3p6kUn?MF3@YcYFgN3W+kTYN?N=QkE<&fs1Phxr$(&+?{Dt%ku& zaMjQIeg*A%F$Qg6ljRm8Z%f@KE6!*}MSZ=tMpwtS8BULzKSYjkwCANm2T@Otb}}Az zs@RPMzx%~MFEfoj`Rro1Kpc*1Dayg#*`C*3n^KulEXdv&S;5K~_l7B^F@3&lpguj; zMAb=$J+{Kla&)SvG`+Hxa-@P`BTdO);p0G5;ha5V8Y2s7{9L!z&J@B3`>`zQ1*9F*#uVTZlKTKtq(@{+#HS)u;M0j_X@Q`fXkb5gzvwGJ zDq=%;pE89hU3gw_KyYQ(wT(iN^g>S)=hMUEDfDBr?~7nKu9f~7>uHSVqw)Q((XLx{ zi;893c)Y#lHc;&*DocCb>NI~i?lw!kzcTXa^;&;4FQy6Eip;m0r1|KH99xz?y>Rli zeZF>7?NWSnT!nh4iB={f2YdWKJ#n0Yss@zu+tYG}As;(uxmM?;**pHUIg>ei9RYbG zN@JsDuDRy&)p!cQfn8G7$+mAfQpbj3OuRAv+OnvKPVagqnCSNx|`*7Z~s6Z zln#zs8EtUez7C%ba*R-vLk)lkY2lLI7z8jnF;qnqU{+}t6m=KmSHbQ`*$YYk0Zu%) zv>+zvkCCDXLbh;f!>yB%qtp!#^qMbEEUF2+usIsM!O43tFgBjMpIv$K<_XCX)<0bJ z{C|pq!95lAq&xDQgIi2TET@+oKFA5D_#y}TS0P>JF_Q>}zyLzzef;CEBS-*yVjGky z^DrHmEGWK6FNpu`j{o5&HCT`ivB>OR@QNHkJCAMXXGuLkITNo@FH`>MDS!VRAN70s zCa8#7lt_!)I}!=4et~=j*bUQdcZIupMyrNZm8Qz^E3n0_`#y&%edc9V5cBj?3b6u8 zWJwZpa~xwPpCa4Q>hMmgdk2HHK6nonq<_PGfveNP_<$M~xVhx`mvH5tFChz)@}*B45gn*rh?x$DV1%S2 zkca0Wj}YN#I-o15oyF2|9Fp2*Iz*lo2o8g#u9 zM{`5viST&($*S4+*w-FtW+`?TzU-E`%oN*rT09zG_4cwH-AA&HcBhAnbCVlh`}fzL zf|G?L$o;j>#_}hv=RlJZn^PDVQ3OUoQ=HDwoWd$9Dh^`x4oO!>%d%r8b?0(dH^yu5 zv0duj!8OXjklKR62S=1{CsXw<9C(!c5o7M)bg3{fIH$I9&8x|zZ0=a((<`m$L#LVb zF%!i~wRMtq)l0{()>Ibt-RsM0J;uks`13V>Q!r83>pQXgYN^}Y34FtzI~nie{)I6b znf|?_+8Djg*qUIgaBj2h(GV817rx$ZHqI_|JV%QWOKriI$gTPoAY^otWmz2tbf12UA`1AP&5Qu&|f)AWr(!k=E8(X1Zp2Q-LC{J2UQR(3Lch zj?Ugw((akRVQYkNB`&@}jQ5D3?cGbEcOggGm$>}FoIiwm5jB z*AVxU)h7d?3pr1);!~3?p6yc|*gdOcZ?m;D_rS$QLp(8-Aa!DRgI-frSxWY2sGiRv zSAOqu>nEPdH57h9Az$41N`rC1w}J%j(w~|=9e(ii_`kHBG^)J%V4t$}Mz4OG25z2} zm^Bp1=w0I^=~bbfO0GrVN>SYPB8i-U0Y56Gbyxf?Chbit$GevTuZY*q5SS)5TIit0 z@%zx3kX=%T-Zwf|5e3ZgkF$+(;&7HNbWqs5WviKZR?#nrEfYrRW1^*BkM(qcJN=Rz z)LU@|&Uc+go`nM%1yQfw=k!?_@md=xwVUhkQC=K7UEpiRi}DmzrCpYH+Byb9|$Z^x)AG`)~?7ptj zx+z!%h>5~KFhURLrdOsJ$qE<6%!3CXUlf;-qOZQPEjYM0IOLY2OHsZmwuO@50fp8R zRNL~2*I}giXcm07l~2B2oA;n zhq$kfs&ebzeK%~nLqIwt1VLK51(cAGknRQnDV5lCmr5fk9nvBw9V#Fx-Kcb@R|jTHKHTGs_AxJVYw z##OL%wr%I@SY6>QcQp|yOM;uvaA`@_c!@M+3eTL~VYMBBTu%N|-qfa%fgEF%oN5(! zR-|li?C{gN+A!`tG;zXqUKtsD!QY|Rbb=9NQ@NkaKrJjENxtw-){Fh+vc`!B!Dr2R zA@uLhFlEV1v1r>oFjF39JJnYR&=%!Nt1(f;qn3Bd;-@-K3x3yw>%Ytj=7jsl==npR zjGa-}#L-hSquv)S-9(CUG-fF`Y|OpYhzmKLsgxBANFWC}KWc}GDm0`mt!8ID+VcQO z4t!?l=Y+M^69>XiUppm~YwG6%aPDjAAFhj%@EM;DB`r42U2y##vy7BM7!n=!TzDZW-_yP#e?HRZHj@>~}1zn^0nf$8J~b|Usk z)|tN&v@UN(yr`{qq}s47bVyjxct3nQ3!zy8MlGX6*~j1=+}j< z_s!BS5U-BCZ@sL(a4q=68ko-7FHu5CcPKpdb{kyhdjvegr$=`j#<>&I`>LzPfUa>cF&zb zPHziMgo@4fF}(z74$~N+0*@Va=(AM%7?g39>-qDRT5c2Xg^%WD?$>u9F(G)izliy8 zv25|C0=;;|K%(mysj?5=htxLw%~Im{iKXAbR*#(G^~!6lrqmOx_=In$DVuQ1KgRh5 zaEGZco7tpCG*GpE<%*&)m;D~4?5y?i@*1L)@}(B4AfGX}i-wd5i?by$v^pve*G_Fg z68WX1q&)Qx)WWH-El4tYw(31r-gLT_jn*Q)Q7z3#)xoPC8crVQ8{tq*-hSJA0cV1L zFr!7d&~cQjUxFkwd8MPi;%0BHo+BHKyZ;i5u)coqz4#<%lmG9-Gg?e77+^(8Q)zF%o-t2?9f2bi(AT6+4zXLdKn zGwR#BQoBGcsOtVW=$L0HfzE#zU;c2gJLk>}ey`c#KykK_oVWK*z{GLOIMTQ+>ZK(-@e4-zFO5+t$OF-6_>L z=4X+{=VlB0l@7B%e|%-@p9uE(R4o~kZuq53=!r+RkG6osR=S~0X1H9ggf;n@Z??~o zc`tb9=Fw8`MCVcW>uQ|M>K`gy3DuEHkEi=5e0Rmm(>b3LWFN^Ph>~Ssaagu2L5JH4 zAF5fc@-W?KA2(dA+%z(*K4j=9-HXIS3(l2FSj@gFTRZo{~o_U#;rFnv87?J)RI6g-MzVf7T6}j*O^Jqgl10 zLZoAr(u4zH$4syA8LJwHV+C6KzrJ1#eS(rD$qF@Xt%0hLr>Hq<2ojHh;cZp)#1<`K zhp8uGXYR~ry+rKN-e>zCs~Wzn=qZdI*L*-mUX5owsn)*JQDZHb(2$+; zQ{D!{Z0=^uhk35?ILnx#lolpf+?I))Nhj7V0bLQ0+^x1PyUW-@|N3^-74R=PNWy)W zJ$*5hPuTZwR`od?!ujjI&gjqXCG!4EB89F~30kJ8^jQx3UV*wK-%^x$v!l{>2bGUV zcl6{COicAZ%j^!(I=?_pA7x>$5}--hc?QTqqN7!AJ6-PGzTz#BFi&{X?!9-~4;MKy z>ntuyE^Nr-EFCvH*s)aDsdNB;Y+UP89&G% zpjv{*5|8)z?<3`>+wZ))64=2DIzh1WJ`9=77gNnNO0!3e1+l5f_>^=8=~w!ANYd(j z<%-#q&fu}!t2N$=l2!gKLYvm+)WVJ9m-SET!dkh3WHlK(_@xV{jUBuE*f2X=`ihjF zl-v(5@dz( zc{*CwHk@bFX^gA?-GmK?9jg9vhs4eZZ608MjapIepOm2*?=W(qIJ!eqE1bPb_WCY^ zPSZ;0QwqC`aR?I@x0mNCyHwpJ{anDjm(A`+M@eEY6~S)}frafs53g7Hx}7-dugCq;f__rJ6til30}xMp_vSmx1>y-<9FH)pxl1O4Zz78usA1OITKf`3fu60 zP~vd@N=*>$LWS&hg z^Tuz15kU`%G`~++Hyg0td!co|YE^4vt~8>2Lj(bgLxZNn+Pw#ambY1yH`uEmDP%bQ zw6BYq1$?A@WFPTFzi7jb_Bqziki$=`HN}y$UK>dFjh4jDN+S>|I$K!L%DN`&l!>P8 zU*oMawa$1l0Rzp%BOQsuq6e10xJ%>Sb9tuDE#t-;<@2bErQdh(DaQNd zTbAbO!i}#kTz+n7AcaI}f==h_&tH!X{{AJfj=SBy6&#eq_{95x9mj>jqKc9L@%Y44 z;fgZ9?zThli#rJItY>u1X2d+X?OAf0><%YZ(O5v$rbovZb#H!dS0X%nMvAqj^${an zDTqopju?k{PQKmMQ~+&6rfvdlDu^j)&SF?i2@^q{Y%@*N^399BCR@?bc_RPD#c7=` z1Ye9vFN4`Uqv3x~L8H?4<9K9$3^J(4;U01zH`#Qhik=~&F2~!Fp)2e5SrMCZ&c%D$ zQx@hS7E#YcrVY7T@sUidWy91f=o?_Azg~+sEX1oE3y`ZWZC;A+K6G|X56|&V3;kZ= zJR|r<4^uPVgjd?d39lt&wbhEMs$N7+Ku$DSAC=p#&3&8)pw;ehX`J+e9ENV2Gkkuo zFZlw-jj`=p1r2G4?>LB0`A_ap;d^VM=wyEIiFkfbAq_Er=T%E=f>Tpn^v>b61>U~;-%q#9(A*za>qRbPP^}nA7B#Z1Mov5ew_pz$<`O|y^U&t0*dE#R@e18;yb@) zUQA?KUPEj5Cj0r7ewTku_*u6O4_bY<`Kxq8FCUxxn+`c2} zh8t(W-sAcAfc(u0lg$ky{i=T{FP867K$lelqeXMWQ~oLVTe|Nb?jEO$QGp;?`cw$1 z36Y}rJJdGkivg~fWI6H&coiur=)p-jOx7uO<{NiH%WRFYidxHna)DWz1$hbMb8by^ ziSEEjio8+#^8I}jV$3&xt`964CRY&E1vun}qo;l8$^VuQ(+dcT>G1GRfcm90*J(pR zahBFQ6DnRxhlt15VQL5Tic*AKibLoYbvVw|qP2pb*QcgMyjj_yiO$X)Jr(}G3n7t4 z{4~#qFcAhlhN)NIzeo0az>Gd%eVUA}m%C&7Zame8hg!woW0~OwpM9&6%1RDSpQ-3d zF(!6CbPR9lnx>2(7vaSZd9sdYWoSBVe;e`Ik-e%gl|`RvSLWn&3DZ4&e9*H`&p`uk zT$`lSByJOBdSr6k&w`APs!oQ_k;0*5jvtX{Yjf-YYmy7Jb@zm!GrI9#<2)mb85J~9 zhzzfzu`vZDXtL9PryQ6)4cil%(Bh!_A=<2coqO}~3bdb%29lvq`GHmL3+PYdX=@%R zO<1q@Y|J%FP8H@Jn`#R8IC;d69nUm+2I84La;Mctt=M3}|0r>-^7@a?px3#^R}-fJ zrF*ejWL33WUwro*P9)6I{;CD2KHMMQiUx&sSCIg`s~8zsM0z?`dAEJAK$VzIHO(`H zU*9LTRgTY!GEa+2uZoND-BZQR9IUPD!qKby1(j}c#2od!&heuBDU(=&;%p#1)!5Z} z0ZiY|iR}v?;PH=LfjHB6BZ}kkgfLk(QfMl#|CSs9fTOD2B*paqByQn-G{zm~@VA5N%{zcD_Dy8csGwVTkt3YqV_HPv&|F%wRk z6M~t|qw|`Ka{ey4{C7*Lq=DrFWaepg!Mfr8e?f{!(DNm-Gzwe%rDN2f`utP$4n4TS z%d8O2pv!P~Yz{H;lng>7*cirCNcE2po~kBzTYJ?@@UV75&c5H2x*J!}!LhAEg>7O) z=QN!Q36>g)sf^wG-_Xq8c&iC7GUJlsn{8Ca2tKBq(RwKFHv;=FZ1PVSG+73D6WPOs zJ;Qgw?XK>TA13~R)&A#|Ep|-cVeR(W4EsBf6)lSfGBk|;!gc@cT4z1*_D+rK9m9?L z$U<@E!eQa?f5(9Tb*(=wKvQp$g-LaSM=7P?PGSA0&y#|mA`59yf-oN<>zE>7FQ5M7 zYRe(uQV}r5iWf-S^WLeO)BkW4J9HEM|J7HTG@!MNJPv5wp{3S$yZ+}9bv3Utpr)Kh zBez=ge}}eH7xU?{S=%$=N4?rlAA?)_fuG;Q^iL1Uy#QxvLaE?@7tFh8{?U?|_PcvT{`Gd;rZKg1s-8|5#xNO_&+{4`I zk8o{Lk-8Ms{*GyZX}cY$Qjy>{x|X^|+3qaAXdaW~G(*^fE}4b_?2%4COKQ|a3X z$IP#w-In}7CQ2Y*(fQIhFNC?gyEasCF@_bzW*T!u7B%2|dla?ePPPlShV||*^lCbH z{=(DOGjut3j4^ryvz?_JBE4q5g{tyYS*^<|8eHGk0od&?oIxTwnelk?6W+TvVT8)G zuPdr=@jV%;K>auo;IqPJRY{iSL0M78a#C8&Go6Utw{f}C>{1Z^_1yDgk1`PjfboFJB0_kh$dqcUi&jU;h(_FO@lK3!X7dTNVLrD9I38A zGuj!5@aA78n~D@AuCI%tk2BfhHRA{vPLrj^z|_EZS3sG2R4;FgZM;OUAjnt{L&nNf zXD;+;)fBt=v$TKUCzJ!~G#NY2O7tugV<#zluP}#7(NBt~HXqzvo3#bWRyM$w!zvgn zEdJChEHP3n$ee`97RJ}VQW6JNjt8rUBUlKA3T+?K_>XFGRrEV!i#r=DC?=FE^ApO+ zUUDG54G+NkylbL()4(u<(gxFq#vqkmb?E8a8`4x&YqI;^HDrAc@A=TQ1q%j!WDvRU zIq(`CU2ZU71-&Biht4J;rxAk5bDk2L(t#|lv?X3FC^4)fvE`kxZU$Q3&s@$P=NokX zH+!R7nS?m6t!;*?P3^Lci^@KBm?f4IszU9LQ^!$ZdjX5VDktt6PpMDCa}WDNeD9Ma z6T`TJcD*n(IPY$x47d?|SZ#B1oj?^me8^w7(Yo82)a=2EAHqJFjy{`~#x6D&67D1R zeO!JcoucM${=hXfaoWw7zLth;fF^`eX#!sHorRv5+Elz;+`HIMaAsGIMP$hO5Sar$ zJWVW*`r}(wS>mt|_wk&1yBue>|AgkfR~$Z(Jm==8$$w7KZRMYWmz3o=1!~(=iJ`L^ zb1nN1%sG#a=ix+V&T1+cb(1ujmP#L1(2r;&Vg&5($W}Wfmrip=57-I}Rz2%!t1+2+ z($o0Lm8AswZi)RH3R^@Vfk&Q!%VMU{O8KE=+R9!xE?mFYm#?opGO(WCP{{vwWrANTPH zn72On{IqD-q|LFXH@p0tKIGp~%W$Twtna)~`sG2~!n*X=6aKpc#5*jJ-Lr9hZCC@u zoyy)g%0#ukN_(WInuzqtaguxWqWnY=_)*{5s>&auG@cmAO3oa2Nyq6wMZo!tc!lC<_-7edOi zRE|mQ*9La{M9R<_4?H-ays+?qQWWO}{>Z!65W<4`RRp`QZnj{17r_hlOEBIg z?u7J*gS$vcQmB{KNU;!0jQ2eLu$3l50O&wVK72Y{-aTJCPQeE9f@-D=D~0oRJn8w6 z0Dsl)csSk&Dcon0A+0WTzCpn!S%bz!0rnP#U-C-HLD3t>y*;>WSCIxUfU-5rUG3u;pM78cK~yY+y6w z0Y4?dOs=9lb4HbVMgHK?W<(U_oVfAZNtI>hAZ=XFR>moZbauCga9?{TkxgPLuu&v~ zC-@@Da&B5DzBn>vb1%dWn|!x_?WcakpOnFKFZchnPxyrRM!8K^FZ+R44VvIr)$Av{ zFI2^r37~i^|81#$E9|_mCDLelP7b&lF<{Z$i0D_*eSuNE#88ft znX9J7K}I|zBqCcS^@p7qmd?6^Hom7~(X(jzH-_8pTMr->cdim&r5wVhJhQanjwMr^ zS~PoT^sJ_2icv^bx+T%y)W(bo#oCfFb|ZX#5~oS_H#kdNGrq?mNb>O~nMsWDj`#8# zOAB-+aaL%Jp;Rq|y0Z5Bc+DUgyf#L)ASU0$62*j1_%IYq(_U)(v)1stn4Gp}3Ps(P zkt{i35PH2PTndYbWb>7SLIX+9@IhkoqpJPiIb!Nth575MxrfmdMphi6JP%bZnVnNI zPkn|4f^K}E3$4IIAwe^rwQGmcs_U=ry$>FGF zlw(+W_)h}?t1&lEmH{jnci*^yvweWd*duNM7^X6R8ou0}ppUmS(=eKBK(WQ2=Yb7H zlO6Ktxk@`H6B;s-qd{}8vw54}KG{!(Y9)HXl|0ny0UJ%VnR$ZQJzCnya@Zl$S~(@7 zd8hK~(=AY_3;$MOA`raA)$$%CD@-q=kL@w}JlsDodtx@Q-GRNkq0fd=P`Oq#Iz^%+ z30YJy_Rh`n4n8^!PFp6id5VRoYAh6q(+a;X_+qmeZaw@Mnoy3-7)SPc z^4E9e&{>eknMTcyQq-aoY~2vp4T4tgXeI|>zO~F9bPDwJSuvsVKVXMy9hhQ+mA<6| z1}jxatP*D@3x%HJ>k0e^Bj9dZY z`DLTd9EBdE_GkKd$Ky$oSEmpDkkJAG5ZgSkKOXM9jR9UI1@gWQ{KIau__y3_gqZq( zgmS$b9H(j3LSe&03%}lG-t$&YwJv5xyq-2T7=2ApKQ!90YZNhBV3_;T7&eY9unbwX zr0QZW$5+Q2#5Zt8Cz!ClX72dO;iI@=$TSf^$4^YTV?f#+y-MYK6x_WWZEmcklD$e8 z#;uPUN4`*HXip9l)uvw0DAY?1{d#X(+pwMWSz&;@U-gktw7}8A38FBppxipyQNvm` zV+t+V@ZI7aBKQ-{!s;)=*FOgcRG&Q&(t_kBt?y;1;`K55W!!-BF%8LiSY`EeQ&Lu4 zKMG)S)`vv>x)8Q==U=OJP_Qyx;A)A8iW!(;IFXB9CSJUmhSFCO=1#7v1ouX*a`5*Y zCpAfZ%cpCk2AXq_OP6ecj7O_H3m=yRAkSV~v>VYMg2oN`Gv9$dY9vZpVcAFw6440q zASrIb2pzs&N@B61N0T@^^G0?BWHg#0-aHT;TxEg;8ycZIwH|dHJ-s1i1Ikn()1Nw+ z^dILq(zOjfGTH2UZ8JqyGqlc=c?+t#*}iycuikie)2mP36Wiqh)awD;`ny6?_s8Tk zI*qU<;wekk)sV&kH;jgl_<&8xlKfl@e@BBop>b87YJ5Z|~wZfuoDCeUllMOR+Hf5px z9$#BXT5b@^0>{LoWlCE&lwFfuBK=+Lp7u=|OKX5DxWIMbE}j2ZEfc@P6i{b%`0G{q zpJBv*u3-y5k?wUEH{Jm8Y*36d#zq}(QwHPStrZm<0gj+CYBk;ae}Dml6e*y$3Y6c^ zE8^9>B4ofqpfWJQoavQE{_$fWqQbD2FPMmX7#g`~g9N6Sti_8mCE*@9?M~=%LL_z+ z2wUZ%f}Bcb#E}RXi8KGdmcKiMIo?A#KYiBNzMAj^JCJe1k+=y&n>)6l1x zx_KHsm^^A6bQ>xPhX8~jI2c4RG42UBq^iSW9%f<^Y6waENT(1}{h~8^+|$oS1Y!u#F-)Xm;DW~0u#%H~ z>3jMjkK?}qEM;>41R{v2T^(NN52-wsNt6pic_$SYX@ZTCu8sMijA`KMht;Fpakpd5 zoiukiC+xlhlfzTOpZQQ^2CnMz!YNCKUQi6X%v*OtcS@Um#sF=o;4{Oaew+n?UQ7N@ zE;lj~$T-Gv)@oyqdPN4e;AZyqTEbHiyE=GzU+b>pr)bjbGN}=S>V`}V-VXUR;uIM{ zz(*Ky7#~}p6nw^*x!Lj>N_{I;=QXYr=4T?qaGPPor@jH9w~5n z7Kh9Cb<6zjjcxKd``vy0emSEZWa%Z6^TUzFK;yOcM*t#e?%qwi;vh3%8h(=N zrPWDRX~wqNX&u9%%R(wY`w29KGgSy=YCDMfG%gKuH! zKHH9X5Aw~i1EdXFj*qm`(KvClzM0F}icg&|Ml->UsOg3Op=W*)JD>th zf-iv{*KFiH1!Y0b7MJdG?m7ln^jGvjYlm;4-jB2?pdrx~bgDcu8}T)OC$}6AB{h-G zU2J*of>KNhFa=T+R6HX7stor?{i`zE%Gz4#!Uv4J+@J9VZQ7#cTrX+ZZm4j(w%H-IVs8T%@nV+lemU^Mphg76O(5t;#KhG**#iBi zpa@P8WzH$vQDofjgd(jua=jN{InSTp)wB**SJm@$ql*UJK`GFA$cafAa>yzR*=b~_ zjcbTor}WbPJhn4nw^ngf{l4|D-kzcisNR{6SWxQ`!k%S^7q%la9j-DS1lgcH5|}H> zB=s+ow)b>qD>o0M&m!7ZV55<k zcgrXiqxSCt0@lanRrAk45&vrhkVtuXjHvjQ4DshX!MD9(kNwW3_y)IUpKo{e_Tq9i zoh)wLI-c|M6TB;=GOXd(d@!U0%Aj*IKau{Y4buhv3{nxHE+o1{Fm9I{{QUS%7P5L3 zJWgwOT0dinRH9-z+;<>x$S7a8#Y{)n^Cl_M2&JkcY`|W_@qi`%WM7nP!oNXeARBDv z;%tr+O)qCiI9Qk$7Krcm%Pwe>l`x$jqh23Or-QYPrUU=JH^oMtmQn>@C3)vHi`S^N zwhOD*OmTB5N<}8b#oC}SgXBgUUhFkSnPrQP zqj2mN{+dA#VFSa*rn!|BDBL0T{?V)^WoDVClAn_Ro zZ`sYG1ek>Ry~GfvmVBtXs72Icqh+l5@=!CViLYObFOB7cF2%<2F(`S@WQ4TE6-|94 zK}$qvAa{$pMYH6a;$IcjIzISS%~cZRsgj*)yV2!#bjpoB5eyO8W+dRkeiN{bH8?YV6G`xoQX6GTkemXp@ zm#|4Yw1mIHk*?yYC;Wk9#ooK83o0vaV=L=k+I6-HHlGP`VZK>yi_Gw{t;uJHlnVtBuBts zdM=Ma4#~6|ETJ9W7>XGtTc;@z>LlguF{@>;LMBYT`SC7x*QmN}simBaXXP{9rpKBy zDpGrBQf_yYY=uDIl!1?bK;vYUx$+q3$4-`dk)i=_IxKq(cm#}EP7l|smn4qg_h)OD zEP#4aw2Y@euNyr5kuWhgK{^jg9Bz|9J?B3AKl^~p?_q}P2hQgt#U%KwCVO1om?gEI zs5z@&yVS&0$Gt|v=A`bP{^H`>MJZ?q7V0kS-1*({cFj6Iux>VFleVk!QC-Ovx`Vbp zcl6Kmk?9VtfpIb^ztTp1Zjv@5PhsafX&yaaM#(S{d(&Jk4L)qucdA`5aHm38Mt*w2 zX1nXQ4Xg3f1W0H!SGRnhgQlTSZOxWoSPs8*^q8r;-b8AUt%;15-nb`e@*`Fm$0Ef^ z$C2a;9mz_v?DSRB$O2>zm6FhtzWTmAU(lEV8?4KjA8qn=Xk2e8+HHaCNG^VBr-IpF z(bMurkt*zIUDIXq7RV4l5D>n0{t*M9Pp#d-GqI(d{Ah@{J!qmgV~Ch2@1k*Z8v8zp zzF}h<7L8w1p$J*{s{Pfn^@#cB&aS5(^*xk%+l8Oujh}A&{pvY6UzUuG^*zX)u%ZLR zC}5xpC7>A=bozKW>d;QWLO2Tu9_qmW5h8_A@W_E%Os%45=ij0;B&?DiQ5_1FP&)nRY-P$Ig zcUU;{t?Qx#DcN^hb4XfP3_5Ra66kj02Cw3aSB4%F&7dirOV38ius4#TY(uHLW}kI8 z#I-b8$|cgaA9d~O%dEnxgq*N8@;hBG>W!vJ>?$V#$w2+2*!?j+7i2ggl%y8grEKyZ z{pNv2b=7SFt^I|4s9BK|0wP~~WU89}i z*<>Ziw%U@uTsQIGBog6Iu-t8W;feNfGPead&NMUy{GQpetM(TAaBm*n3}FjFK2-9N zSk~p+jp`R$vaifL;Su_`#>N}!S&@nkL{ha+UzJ<`W_xhq%EpgQX>rBVSjn@pG`1`L z`QWxnXZWL9g8UhYPQp$#XCug2(rh%`)L?9T73ez&&(pS6Mpo6 zZ89)lmo^WWETaXFTTW{{l%R}cKwur=87ZqI(k++9##7YskkS+IBYqsAS@qwG_)Ux> z1rjRsN?H!&6+AUW`&Ca#M?Oc>zzOaMGy`R1d9)*gMG8ANTp~7U5ML5k6s`t_#7q8F z3-Az`w%~rJC2o@Lan{3AnBgHma6Be|fMmRq&a=h-e-Os?&* z%eRXHiW~}duunN_Ld<8wH#KyaA+RoU9e8)95lJ66EPszr(klyj2fEbMv;@dWpT9c+ zJxJlA+aIchvO;a7c^aya2|+?>rBGaC%GqCCU6zrX8mwFBlDvWn0eFG2e+{oNQkW?B zPdy50#2~fjZy|pBQ$jBf^6IAXoL{25@*3UU_PaVmlKuX6)z(ML^!Lm_zPqct(=*g5 zviM09;7<{k-V8zZk#Uc#P%x??fe&UA_2D99q-)|-@~lN@^C-z&O?)$|@T&8@e3bTa zq|3LVVp}-HCo*vW>f$7n?{zDZnpP^`#BToSta8uriqI zwW?$sF?ZfK*FiPAgT4X!ZmvKfWB@V-dh2(wzS{`;9XeaNEh3Bey(TvSKZ%9OpeZU* zvKNf|Fm0ae14cKQ;n%-V7>X5{q%w6I1i3+SIL0hl%ajOXb2!%ekE(?%5*P^bNlQJD zyZv*)mM%_v#_#vm{`WD`VG7W>34ogx^_|rRew4^^ zzn$~_{-w2&w_Wd=4mqdY#|$T8s*TSV$#+``d#fgzDg$+pBzrapqb6z zDkfhJiZT)ZAye+TTW}BaUD={*TKnvHFz@kkxU(u{+dlD5RoDn4%$d==M+U@fm@6cvgOAnODCuH_o@8_CJpxu?iz2&FvgWw0AK4!&oSXLTq;{ zNC;dVVVD13OAGKn`3hTQ0ygWn8npZ-r9bnm)C#ovGCR`D9z6UnHQtS$%|o0%f-2)&8g}-X+p&EF9+Ed>=Izv9wz<0 zYz2VnZD*3VPM7*f9{-gH2@H+m16sdRKqSq|iwG%#g>}6D>J>>O2*1y#dNR(#rw$ges`z zW9t(m)5!mx?8f?~Uz|lhKEIj}C1)%6Vjp`&jAs)x0C~k zCXHN!T1p!|x>J;AyrboUKDuqSb{}d5wDkk)C~M3L9q}6UWVShj>Jq)4r9XW@-%vJ&@k>&%ObHFQ{8tdw zQ3b|CDV2IC#;@c63tK!FiAaY*eET6hg&gnLCPrSEsMvk#`$G|NGlAY>v2R2UE5f4Y z@Nd6RGn1-_cwo(=ZAu_@o0pafrH=nqJ^M_~@kSjy7A?zdi zO)-;K`|7#15|-=zJM!sR6T;jLe&r1143#KmIJw8DF~(oF@25ayeMAm@9*=H2kuU7dyh&ZnnZPl=vW>GQD7Cr9>0ZJekaGiZc4v`0dt@*5Oa?KVFDD@+mOmV7j znh-+CvKBrlPD(_-+(`XRC}V7}U78JpZ98iS>Tm!h?!d;ut(LWP0@LSE%t32j8>%4u zjC$w$(kIrL3pIQMvHOv1YYnPtBYEeWfO;^0=~jz<$#)W|PFbmGMG@AehGqQQnX}IY ziwELw@3Xf+10UZ1NIc}o0v;qrl&geY&1j{=#r4@RJ_b>54n=&1Xt))EI1veEzWH1YTnUEqr4b?Z@3I@gUEtQ)yTLJ`;HJ~{=JVX@sKaD`z^ zU#HV3;+{@SKlM~sD0U!d;WzU=YZZsgD_9c(pF`R(gbQocH*f7JRPNQ_8DlA-1gQbb z;1{?p;$RZ8-lTpUR+eys<_~Rdi2sSld&g&&9Lxk>eUkG(sMAEdtM+>!wR6#X9{5pP znf77!g{dg;Z9SL1WS(5xJM!Ds)Xnv93MfLrEV7G~n+<}iDYkFdL-&qJ)QF9A6K(|f z)0_3&$tG|cdW^a2H4*+1CMgp+W}>e{@XUv(!`xSBq&-k}2P0RvDVxAh{Nv7Dv#?*U z!T4UCG??Pq$>8U<1aJ0lsxU5kDx4NNqk!c)nBhySR=RMewRPjJ-lV73Ody+Cz!Q3U zZNNUR4ORY0JHzD;S+jaQL4~{-TJJ?h+ziHv_>FSz|2R=#krx%m+Z?dn#325(`RNR% z2QYMmg3;I58nSf(MV?aySoiI%>!n2PR4xe>@_jZPKFX!E_TZ-hbE!HXr3)QNNx{Dq z2s*;5hwWX#5~&F^?s9Vhp;wA93M8fFPCW|@)aw=&^o+4wPO?`#cTIYYntQfPxkyRO zL0`xHOmhBY>Z~z2qa1vaL7#)EAkYV?oVn8(F`5XNNq1fls$C_@GdvA1smWPbk;BEW zcKvA{%jK4p%l9GmAsyIZoKdp`LYGIE<=>A9k9m-);$II2_EKN|y*Nz)gxV6LgoQC; zhIT;tW=BEgxul)NdOw}YV$99|I!*76J(-(B>tm5px*||VrqD)a1#Ts4g7?ejDrg9T zJPhs&Ws&_pnUZ#sXX;G)ewQ}Hp348RxJY%?{IQwimpF3O5aTj$D{F;_>$uZUaG}0L zb*Bg2H(Q{JC5<*%tu9jaovRPe#!^n4?kl{kH~;e0fAHe3lS1*4&iUNcS4ZM(qk3_1 z(1gdl3l~q@bu#O))j)RhTjuYTvsbBj{S+*{O@@K1lE_1_k2I+i_$8LuD*}oOFx%%C zZ>kQhy_mLMR6Q|qyE2e9kTpZ=Ad}z5pl(i|OMpYQZH;!qh208e+RiaQzU!WQth|dW zlSGv&OEGDbM{a4Doi_o8S}3^tb;3v$ydnry%F*_vxCwuQpE&wA`LVDi@?(L~Pt$Z= z;H+#jY?*%}WovD`c4zJuSy4bI8V-2?EK34XIeIQr=ZB8KbLVNgmkT~j0K3zwR4Nyn z8*+Fk+|ld1QY z`{@XmANZY;&(;O!5$`s&tG*7^(~G^N<__Tamib%1xI(5uP5{~*^ioyi-b>myoEMc74l-x* zheRS=d;`FRYE)>c;-5mU##4Q^;$c>@yIUy?K;b-r>+z|gG*$;;hXHd1Us>H8ug{*e8JYpg_V8OsNq%o_?|m z$UzrCcNTdF0bRL7E;YA?x8&8Y{#_(NEyW$Dbi1>n2R`>-!|EL-c+WvIW9%gQ-jg2* zI>kJLrCl_l9wy&E#qXS56g%ELaubOz(|@-J&_T5+0hdL&IKl5@W|i~RnHQy$cP@Nx zk+rKU(B!qL@9Ep3(_heZs`4aRDO`eJ6-oC{S{KXz;b_v{$@hPeK>^bFa} zOm5SF)AXenQPp!45u0qF)}BZ?*ia(X8cV`-oT?VW8uGBS5-Qiei8St#cHg~6Y|2n4 zPWe6%S~&`X~qAd)su%ehI)h9XLX>KvipD z0iW4Q=JH^x1YJij19ck8i#vBRVahKmBao6mpTR%Cfue>kfDP1okVfPaTpiFVPcdM`7i$Q|!1 z-{L&i_MK}Q&$O^#LA3^Go8OgU!#Xy)hGE^pi_#)NDWQ>HexTghRKfO7yN5TfV2 z)^xttBi&<;6-U&O8;Q6kzO>s-_ZAz<^gXpj`t1wyJjhANYs#VlkKM5MdQ{m7MN{0w=FRmZaUZR{0Mj#FA+|S%0N=m#2}wm6{;0R_cvD zkHwmv#U%@b0E)HB8Pq~SC?#=ewd!F_58iqY_-*72QIz>kZSsw=prIj?hGLl1B+kVP zB`$SGOao%CHz|?uPRtuaca^+iB~ESJuix%_lRM!bkyEG?jWwNc8^&UC3{r@?7mYyq z4YN-(LHEW$2&-js0%%+A8s;mJ+e*b%6GJx&MLafiziokmP3rD>6TTyYsh<_Aac!;W z`s@$6`5YM|21kes3M9pJb&h^dBO&VQF4pfLZJty#v%{^}M*p?adSaIz;(3|JB#$qUj z@FSaiYEJQd%O*H2mNIe08KAW;3y==5cN@%j&d;<3C=jX|=uE+#dVG(hXNGkFwCwSk zL~u<|5|Cqm7D+f4(8qq-a75nou`>NoB<#xmJ=X`0ML`_*#(LN{fS;oh4rvyV%12Y? zagpR(Hj<*&MkXF>17*N^PgJj5IWF!z?gFqf8y*t$dECfSgyLL_{?CH6&__4hN5(lu z2>uPk3qLQ(_^|)HZF)Oge!m0*x-l2*X+dcx5V6Ct^^n~uD1)~^6N-y9! z0E&vG;-wfjI~DlwR}uITNf`>yuML$p-sgi>35if%ju@f%iHnP~C%^H~_<#(>rIa#0 zllPI`@KQJ<9~!a`K=4P#Lv;S~Rd0b5JmRZOI3js-Js2(m1coz^Md%*SP-z!(HoDN! zxVb=c1PCqd@x$;`a)H?%e)EEAs0b*ijgekwgE9@Nx6=1>13k(%Ev_~%R&oodgfV=4 z&MM71BY_iO>~v!(=Q`B^5#u^u&B?&NFQFhUgava^Z4@%ot;Vh#@cJB`jsf95Jw9(#eLYjMugksWZ1hkk#7mU;idod!Q9)E3L0 zJ-`g^={)W7+-0qZsrH&2sy4{6La*c4{>MjSP2Wk?rN$$B+dS*X>%gZ|VE3k0g}Pa{ zNcUFQLVM^wu2khi2lWD^r%D>t_sIVlh>mpMnmIh?2Tx|#lROA}y>Swa4bXvSs3khv zEn!409pP6UwgoB!+JtzzgG~xGSMjAiE0_1kbKm(dy)~SvI$WS6ZZ@>|_n^b(f$ZdQ zToM#nYZiG59Aw>0BZofhkuqRe8km=;aPyH4GS*AHfvByyFeuLIVsJyU!K!yWc&71P zVOnrc17L+-3}hFNgEy!tW+cJcjMIfxb^6gLEsK{Hf}fR zkM%2nhF?PFzn4%EsyH8reW^Mb%J-Gc3;;UgRhBqk#g7df(FPF-gHLXW`Z9e}t3Bu$ z4ZDaGrL}*k&omlpuUHC=sZ~?13e-6Xsy5AeAsqmtuR>;lAodzC!Q#7D|MtTkc0?zm zs^}(v?cGXUT!3!3mm4+$F@L)Npm1$J->Zw`5iZ+2*7gv+|6QqN&5AQ-v+VkQ=BGN}c`R?bvs zqYSn%dbP{55+xO!ox(@#g0He#fOBvg>H3^ZFH02As_yKx6VRcb+Qbs2UKb*TMo)hM z0z7o$5Mvya>?_z<+Ug(?Js zo{=Wmf85#&6V?$Kndn(#?Gd!tLY^jtyj8?N$Jl4)MLWtJ`z?8OJtNC6*n+ zi7(B|!sE*%JEipx20EWZc751Ww%{yeY3Gf{T(eOFcaMkN{Z62)1=!&oz-?iCvPj;H z8QPwGs+6ZO-sB^S9Jf+KA4RK>{GM{Ja_Cy*lJx~17+j0)ZH&kXq{sJN`RO{ZE8`mEE}0P; zRuyx(J$u|FaX1h=w9%|#RWCoKpZnTCR?qK;Gw{1?%M$E7kV{zz-wxqy`j|~hqq}nr zSem35`-cWHz!~X`uLzz%f(La`uFpkO!TQl8yC7Q^E%YAoj7Q;LdG!H22!qnK_#B~4c&y=Je&b&Ne zmCIF^VzA8)dF6Iv4s<6V5{pu12}HVbCm@KA z0*2gkpgQ$XlHYk~C#m_I8Cf=hH?#~!K?L<#wTDWco2sND1Jq()azi(Dl{4*b<5g1t zMdU?AQ>p=#ikh>_St=!t)Lsglbpkp67RsNB9Jb$1cy-T`Uu*>(rPV-!C)w7RxA6TG_=t1db8zbJd_s4BPad;B?ccXtUW zEg{l~0sCDLz4zK{%{kXxb_>jmM-52zJI_N&B*g)UZ>bB?G^5wQ-u1skVKg{S~1n@d| z39{)L+yo~d*WP!?O|!wVv>RA*_TGzsD?Djuwgi)h;K1_*?AJ`^_Dt9MUV$Ta?<|*l z8pCM_wKORBzo|R{JQndQvHOjHRvMIk7t+9T23C~S{8B6um?&kwqL+|rXO0_pKCX*RQ(Zb#Jpf<<*7Cu*^&wH?DE1Tc_%@;_829B5N zCD1Yl7C;X7>re_Oc5in#SD4qfJ0*8z4-`%qpsK8-yHXen+`eQkr{Nby=MEG(iba9Z zwD;tgBj@2N-_TWL-sQ`a3oEE>PZQtu3h(ub;Y+Rjd74MQ@UgbEpm&3>6XV10L+)wt zu@=-RW)*=T7U<@6`8yXGv{YeK_S;gLiG$T>;Qe>jtNr#{VMM2ZukOm@E?=C^yxBA` zN}Zt;r@Mca@BRh8!F+`s2BrcW-A^Ug0c?BF#25WKL_Nmr4;)|#4A}A~C_mW;G!JH1 zWcR9H5Z<@F zjYA{!%=|0HieQjzWvXA~cw5!%h-}J#-^3$u1sr1<00dolP&JDMs$p3T)ayC%)1CfO zmwCkrFmVZGj%}MfCa?H!_z`~6!RXrm=A3w?1^)Vh% zZY_qKs`*alQ}w(NezY(Qp^K)$Pcwxo{3ohh?nzPb6cVMOA9Ty2{CG{O%PrRok19;9 z9QaC0Vm`vrtjN#RK?1%F7?UZ8a^JyF=<+}uTA`)uiRC+q8|)H00Ob)2I@^Dyy=OjF zUc2(RPJ#H8W-ML(u~~upUHptTn1y@Juqw^lj+0G$tYf!k}? z#7hSQ37#RhI#5_%0L>HQ>sJKJsny_*Br~Eh`nVYyd8uj~-9BNaz?1DfXbTn^fSYo_ zAd~`qJwvH%4d+we#deX9q7$}}1Atqaq*^G?Jdva6+M}<=W?45=K1O^aP+DobEpx~L z57r5S7+X~LNv>xac#4oeu~{OmItF#n)g?hmw1*gY_VyxO1esCwEb?6{5Lh?++p=ix zBJ4kbTWxc-$Lba^P$YkK#R;qHr5eZ>KY4E>`Ja#75T>>dT<0mOx;7a8^LqWy`XKa` zPPxcjchb&63dx2M6&{?hp;Yi@UE*v35eD|UBkhkp_Y`=q^Iu@lh=TVw+i_Fe=`cUR z=#l%k@GGeY$DmMfIoUo2XmwFucmRl{n|EC~1~vS@GQ3YLBt53K4HLb$xf!fJ2zE7x zpb|-(O-0|Dc(CWr^m7nzp6I-^Py}gnCMgLIHnRLy%i3s}4nPAoC8rO&Ss-QMe!EfL z2A*oW)=8iSOXo*qH7Wjv13Ja4FCpsTI`)z`dyd${pVm?*TTRK5UPaZ{J-MOGceOj& z7!c5Jn1$F#YZYLi<3eO| z`1W#w?sjV;3K|{n02HXo>uALf!uLy_Hxn<3;HnFoGgRSTE_}yG>}JU2C&QJDdT);V zQd?;o8X(y>0e$(vW14l$E%&5(TBUIL(Lu{4y$^yuCj*z^qQObP4^Sy}^05PSgXj>y zQKg#6(D?Xxez1rEv<3W_HTPRGE;Q^&p&7(U@99rM@oD2Zni&J+(ZJX+i~sS3r5nfV zgqTPechzxLD#NqK6-*^iD`T|ZV@6Z~S5L!JCqo%kVLaT0TOg&|y_xnTah0r!o#kfu zI}#}KZm-CzxS0!G3m^#D*U640#V2k)d5wXvJ0yu7FGtI#&8e@5ZQaK!jpkae zx1j+YbW3jL^u`e(Sml&`5!J^06*KKh%On(NjzD!(3=mQGJ}u+wxD76(vM<560vQSK zN0yx2N@WLjJGws}G66o>4IIh>`a+QY^bQ#!&ag!Ouan%+>(0#G8WQM#PU@uMK3nAK<<32ip(Lbc|NsI!j2t`^H@+oVz@FwQQxhu~C!+l_>_ORRo|rE{cB_6Q z8fA7gLK@Z0CrB|Kz|k6^(VZ^!F4UfGsX3%ntc~UNEp*jvf!bzZYpIvG=9Jsr%PYT( zTrrj*H}~Osw3#*%jr}|{8e=N zZ3#Bd95R2^ry+xE)ES1+8hPx-=3cUYB< zC3|VRlzO&I=XoLf<^k1Jgz=xi%?5Gn<{ZhkKW9m&VylY=4U^{%}>9F6Lrfl9IZi)qugjgf{8nlO_`>$Y>&D9Jf*WQ(iMxpib>9L>o4E< zc0;?)o;my54Jcl$@43Ga^sG?u*y+PxN!0P(*;~CZo-?2z+Zs0=x7<(6c=XnzY(vY& z+M)TZ#YqxSd7HSShxdnlm5oQo_^ch=Gmp5uha;oZzun)H&~i)DxstJ}us#3~VI6H4 z5k5kb^T0~O7sJ=!{T^@lo-EYBi|rL&qXptwGX2wHBV4s=ieaC1jVJq-hgtlcJ}lwo z)4`d;K@U4T(`|>)4j3>qH%!6^R|pyjuI)|Klg)5h%FTRj84)|>EKpaPc~2GZ9MkaJ z0lA^-bdA?ssWFf-aUG-D$4QR&yWAyb#zeL-!u*xRkCT|0_Z;!N9!Swg;klIxE`&?Jky~oLz}@YS zHkwI2NS*UCyM1hsOoHq)1N2RXAoQC2WKs}68WMPBzTMdZDR@#cbFU4|Akg^BwQWb? zS1{5&Cpul)!0MK%LG{MLNbDrNGKl28R2A$2rFmm~(M+;{OfQQ0hZ15VaLF9v-mr4) ztAckUo{RcRUoNt37UM+T;Mg*k;Vc7ha|gNrHmmZa=|>JFHs5aP*Gv%A%}YpK@n9WV zytcyIh=wSC*kS&n4(+gtQhp5G*@(Kj7g(juy^awvieoZFLq2ux_rWApBE8t7+-W)$ zgURzVqQ=EpEFE*WNQcDDP@{7({=N`b*=rr%0nYj*p)U%^SoU$ z1v_h&xhB%dqSM50hS8J8F}XA~K4)Ii0ATOgz$I>q600^M4+Cm>IV_~s58Fkh`17d! z3VY2mb!P~^(g4;LO^8P!)bW-Xpjub?KE$V*0q(``pWMqjW;FO8{?UAN zdU9rv{%4G;G#1J|^F0&#-ZFF1XZi@!RY%?rlgNsX+$qg%D&~cP)E!CVTQ~P>xjW5* zt~E{u+C`9sTK$X}={?4&%wojJhqmHrYWE$lD_%fefJS7S1k454)+^?M?^YsMlDEf& z+=QIh@1Y^_=FUYL$cfz@XuQ%w5aR7_i}XX=_$kgKL(iS5uysgnahRp$XtGqx8hU47 zvW}U}OpAgWA$MeUr2QEq+2#x!JT^&5X*3u^;aiqUqgu_(Rs<8Wi4yrb^5t*6F>St> z%~1H-QorZ-Teu627|<<`wyijP6muBe76vu5{9oz7|4Inf(UHyj-(*Jk^@CGuiOn6x z9xKPtB3F~fXXz!-1%HIz-@B|&RUjv$`w}5ec}1F1eoB@&D(ctvqbEo&bKEU=sS;8A zx3Asneocb<*Xlf0hh{-3rXjnrWC@M1KAsaKD27EK z8G#heCv#fEsu_A_lQ95d{86GHYqvKIG`1~4x~085XJP0R6LvcXK-*zV`=3h%)^=DA zUpy`bf{|5)!hQ!wz9Jh~K>Tu_UsEFiZGxkeCLs}riTaXWu?}O?z~mP7;&Oe z`p%@f>5f=$NAvO&#uQ+|&X-b$Vg6oLRzE!FaE_=Z!E+%%v`pIkLCf8uaK)#bsWQ$> zZ8y2rn`mt*K!V(se|*-55_4N7MF9=kOWe|hTE)0GvoTd7|By@dKpMuOjtzKsbmeRz zagKM=HckQu}LP}JmZ-}o5OlQ8nzP3A>@X_IM^@%w12NrG!8S*AIsE$N|g+$)6i*u*% ziKRqs6~z_3tYyj>1v#}hbL^jkKq~eeA|7dxSbp1gw3{K{5vUX=gLLbDNIlG z9@@C{;b^E{`yQDG^44s-gbj}U2Fe1!ynZeP0LP{M}%*%opj9{HD_I- zNZ{10(?}e`l(UadH}*80 z+#hml0&T2u3m#p$e^muN zgJz2Py=X63$3CSr$J9sYBLDnnNf}e->=gmfcXdW@hgd>(Ck(Fm62@@V|C)uU*d9{_ z+LD@X+d86m5?L>P8ImgLm0nZx>Qqm&e(6Y~%(?=gMAM39+mK?654PBNaw5nhMJV6T z2}p;ZM%Bpvg-9TAXr3=L6lFPd;MS|G4HVb> z6VkwkDQjjaqC+{AiUq_lxl+VB6wzi>aZhf~_t|TI&|i^bMQMsQ;pp`J80OyN9fB$2 zVcE|Yw6fz$9&i!M0v$)m{c$n-ZO5^4+^3wkEdTpE!HgPe-2!h$pl>$?2JVs905&!PFq8Avo|=qzKrKj{G7e4WzrC>U^j#iCRnkQC#zhi6S- zpS0g-z*B~~3hSUz|8dIR)y&H>I>nxOF-61`>WcIL+Z-t%sz2eSO7-52cU*QjUVQlcfMuq^kV7RbQ2cit z-yd1m?JzKP0EIvPVKb0I^KxMb9P%~f(U(pcs_+{AE~fm z$cXBd1CQhJ=i|(uKaNw^4lyI3%KSPu+7$P10Sl9k`rKqa%rBPXrysj0Q(^i%nyU9(?>! zQYT;&;+*17EvECyjqHK`t57a$rTQ20{By{6FHU$|4x|vgqrKtF_`~e<0Q9^yUfaSO zOmyX$H`7h8^`&39S5itLS9|7yk2nn76zQQNQny46jglSTox{)-ma0~;vk-S4aeaMd1o^tKZ5x%d>#=<7_6{n(vh=o-mQ= z-MkMgIJ;WE?9<;4szlVkQ%z#ZN*uh`k}PC3@TS!9{BZYgSx zS(DUjy;HYq3&eQ7F&U{s=B%?}eBZBMA`k1o7pg;CqKggPNmmyqWBo2HqaSrOvmaAj zivLbqUMr7=@bylpm%!k=*Z|DB;}Pd{Nv9e! zy(7b!5k}KEw0|52_{F3?(Yb@GZ9rrzZJIENtt<_H^MxmHQ3+OHb-1|g5iU6v1rJr! zistaUC}<|-s@pxDyz8^h&7|#jNz0SeqLd#xZW*08^SJOne85$m-L1qys#JgTEULW~ z9p@31RhL+r?Gf6e`O=U;uO*kzOzPN&9VLWvdOhzVY_+$jp5h#aL=;Xu`doA~nKFWn zX}j^kMV94C*6&}~yqpuwS#NIjhB)$LI80zFbz;_u##rmhGkG4Q-)#0jm0x@+e-JEG zFk#&=@KI(&7+0U{R2ag4!Hw2{^TeSNNRg98cp|(nqv`QOi=Dou2sy9KYt|c>pK8Nx zpoM-?3^Y>S@e=Z-<(6P&1|fh#7-Oh=(LK0Ln(I!~td)8uPNqp5qHyyx36aKOF?zp^ z8_3;m>>;C0KX}#iqfbo)97o;DSm?Zpe5y_t=O@zx#UsqMH`N1fm+won8U@mBvWB(q zdR!g7nz;VPK{*B3-hy@jEaV&=P+3#j(L(?Po@aroJXUon@G#Y0iQT$Sh^U9ncjY0w zmbG$x{C-?8SCQj{9|KQ_+n$;CA~S<2=Gh%Giw~HiIn=Ks7{3@ZY_J+FQS~dtgPU(v z3TGKUTxom1y9n?>%X7&zEfnbx0ZOT~btt}`*#raSxi<2aAHj(;!VB$;f76)b_W&vN zS9GJ^$7=kK82E_!k0mLNS&d|}Se9wkpbkV@%pQ~bB8iUH7Ly21=BJY5LgkB^-=!;T zp)qz-53#iBD03O2Z0WGHCqa_48cExiXai9MpDeKuHP{b5uvp^tewK`^mr&ui^B6Rr zGF?x#=N6*=`9l@i0j04ks)mGw`=v*y)f2^$g_CtP{!nAfw4TvpPF852y)I@b7kP!) z@e|iz)l)pq!%;*3_uCBAV*b@y*W_3gYE7 zF`$e9?om0}?;UNk@0Cb3E;~P3U(xz;?W@~XJsGA@HhHd{EOaM{C!AdW=?BZaeq5t~ ztF9Y^mnI4bAng(?#@{_7=;3KQJyZmF;ZarCj8sn)n&o?VSh}E+?bpqaMx^K301en7 z1BqN2#L9QurdQ&!zMTaM+pM)5PkDWkK-ci39|>Il%wqILcbKG!{{CjAE6<+?$?b1K zbr7(AcL9_$LQm2}j-4i}J;djuh2^k=dIzN-DR;arR){8Su9S5ty>2x;q@2rK{tLR; zu|>Ea!D|E!vZ?US3j~cqgVl}t=b>cFvKRH=8hC3?*E1paA|XM1uSQ%YDQ6s_L}nn& zZxZ6e?P++|1a*BYdn-~?dPGpqT82m54RQ1)>)AqyZ>TyU4bSWaTI7358`S#m>{b>} zJiz5$rB()bK&Bp<6hBwu>Y5r_2v4h5<#Zg;bI@coEi)9$&{3obXU=c~z^KR9GY5eD z9%-z?{X6+Dz`ZLs4zZ-7sg*bZ&2YGV_3tX}`E3NhaIp)Ha=igAq-dd+v`$5$eu2c@ z;4KHbb5BS82eGL3cfYOhdQL_R~)wYBESWMHDw%c3dlv z^~O;a1+H|hGoFg(QSV6hN8_W8W~zk>HxS7s7#43{$lLj2$z#Xg4xjyKPWtSSC;oPo zW<-s7TvdX4_{^o|8SbFkAZe&S;&2^%ABt{xedlN&-o6g9Hc(Ff#7T)596x`j2*xRe z-*Ws=vT@m}CTFViF}jDvLu8-`in|5X~3 zazaRq$<+<&wZHh!Zjv%$-XuP03xMl?3|2vt55(CH(nhjJDEXE2-)Z#2lQ)w)t(nVI zB_%LSh>%S9y7vanm=YSpSqq)nS1R=*7hKkos1*;o7M%!D#}jyyR(TQPO-eggo#Iq$ z;cyUdY$ioD%zq~8i27A(`Hnp3r#4cX^&mu(ce?i+TxAn#K2hJLFvmjj<;rxa1F=?O zBq1Tt>dM`JEPRB#<9Skevc*4*0#fMezW)9YAoc<$_gUT=L&x6qSGvnQGf#fEmXM)j zgneS~w*A>81#7VX=yC(O*4>bCD;1c6xm-Arb1ndGXDTm4josw~hb2IS&!ifY{>nz9 zf$e%||7ab`jOSFC;ocghT_)WegO^S0$FSyy34p*_WQd@&+w^W+5>;6_7Z@e|d;N3{ zfDkW%J#1g0k^x+QF04)YL)2!Um_3iZJy5b($fM z0msEt2WiDhSUb&e9!~$(xU$aZ)YlJZ+2@B4tYz8VXXE`YAa<=)J!8;B)B-}dYB}qb zGvI#blC5Gj$Io{9Z_fiQO!L|4vCE*29z4s&{aGC3j@n47PbeN~!ouay> z+=#PoGiNYCTGiGcf=)ktP&Cp}SbvlZC;DAPT2+9Ws0w@C1|uua->#g#Kc+#Kv(L3^ zgMh}7wgl}7fabUj%stI?f(YrwSg4{bfNK!kM}7xN?pZ8#p1lSHD1dpyhMk#!&xP(M zAXe}=_1jtML+`l@t`?lTaIRaYvz6tCs?%1djRJHhh|0R@VX_xK>WG3!y&3r-1NuV? zVAXI(a2{yBBr_bEx7}h}@XDzh>1q{eAu%Hhzd$~)Ctdyj_NCzAW>p7sQ931FusRhI ze6BKEF>DIAcNR{00cF}eknt;+nVFf$)`1Ra8feJC_jjT|dH#*Ax+&gajRDjMs! zf4mp9M5PndZ;?E8n=o~*-^2w45NHCLh#QBMDxlfNh1m*ZR-oCZ%F~aFC+#LEqF-8D zvOmT%cIy&FhqizVnC|WCwLtALz$F9pd^BQ?G?6Wq;Fr%u@&Ivw$Wx7f(SAAY(F)Z0 zQ4AF^hV^COJBv^05JR*weg|?*FLwnl$?Q3ufP)o9VdoTkcfVBkQ}}hfuMg0Vot$D^ z2_O5&{i<8Naa+)bIc={GkFlD`cTGss?Qqi|s2T=~l8hZY@dk>4=JH5%UeYihi32ft z3}^ydtziqOWTy;M`^h_F{Fm+3=Cv(*gbThJFkA-=xPK7mqkr@=)WA;@_2JQ3&(Y!^=lXF>41#+kHFzZ!USS7WyCbhVRYq z^kZ+LhVfA8&(4*Lm+P4m*+Q$ruH%6&NeaO0UIcBP=RzG4bh*-Nj(so>O0N^UX@w~Q z7h4$`j-0oGfZ78)nAfmed6F7#mw-K3wt-+!&jii5rzcMK%o`{KZK7d?;LE-xz@5zj z*@MNw7CIos#am>2{t}e7Ofb10;;)HC>4#V{;W?H#2vSN47h$5y%`bHGCM2QD-RlQFNg*(L za0!BSC`2E|3&kp?-X!hJY9lLjBKtriUfcAVQa|V>qSDIM6Y^X$1@l&2RuC-iTel7` z)DW)Kd78x+-Yyf(e8<%RHpU|85Dl+z{FkFGtq;IHk%SSKwoAQYkTQMWxMO8rV}WU{ zkNK~TNW~UjvbQ8`k40XO4`I9CZsB!;W|c`cRvus*QchAk2^LNRztypVh0azuED{xi4P1V=5L(XWU!$v29I zrA_OV3S-uy+E6{(lLz$IrWjnWLCIk~3*mgJ+6Z&aKKc39f?I8HQsZA69G37euai}^jU|LGZWT;LSEKTTPssjkk>Ym2D`$TZ9X|ygp&8R6&c(aUqt@jepEWf@Af?O|oxL82`+ULDTGl zv%Z|foC3=y26{m-vfiYGQ4r)FV@W1T67KH{Woh)leG!d$-`$4VY$AcVnHvnHLc;$rx@8(sJj`zt5QZq_++jNfX zW=U8iF-kL~@~Ic~`D|mJdmnEC`s9qk8N(H(j&7M{1P-*v*1d?!`gw{1O+OYZ%XJF- zD2LX%N`hZXG0NHMMXZ`@1PK)vIY6f}2w2xrZ2w1!PY68#RWk_$+dtriqQSu9JvC^n z5nrGn?L%;~+hw+miuN0+;awv<91|s&j>-A$Od^`*anNQ($mFpjmj$I>b4VA-p7ZG+*9#*JOXr?>1Z9UWniNPU<2->eiYNd1$UTw^bcn!a;GJ((4wql4Gudh>w332ktGOM@`vMk=1-;@wYs-B_2ROtZ>_RQwy>oVwwPpB>iB+Y9wF z-%p6V-v@ALTX^#V-tP+9N0RrWECm%iNn+C44?fsH+Fti?eM95vw@${wNHo`o8+BYCaT3 zH#uNtVvGpFJ?Xo#<~w!Dob)4=<11u7Ynemy`E$PH-B23uA6#~;6%TQlK)V6@Pq5;4-Oy`!Ia zUH?n{bLYkc?pI&J|MY7R!A}y--JsOJXUdv%V`|}1=tjN}di)9Tgr1M73_5eylT4K7 zJJK#Ljh!))l6P;LiCc|3VQhn0JHEVaK%7`wHax!Rv12*%nJo@<9T5ownj!DvmH1y> zZ>PU5q$&5+1QW7hz!~u?$)adB!G3HiLzE`~uZScj6fkdTVmx!a z59tT6wAV}1in9}?_z!0_y`S({)^5+15-+E_8XnQ~*jo82#zp*_RqLb}uJ$8MMBYDL zzCYbS*yUV5erwMEGN|LJ65E?czU|RhZj@k*%&M`zyxpXY7O*o75Yq3q5Y(Dh#d&V; zFa+!!*yh#ccD1XCPw(Hnfv-%AiM)aNIG*|Kfy#FwT%v6B7B#v(YeFdbeWL?$Q&NY8 zIei1$I`vY>g?B7Z+=yl3-|^ZKKr#Elvk`Fw|5Y9wD`e2|nVtwZPJhPcA2tP8Skc^B z;E9F6?Z8r7EM#iBW`_To^5Zwt zA&%}&f@3m>U@0v)lZNybExB*8ttOeucm9xTPki)bZ5qAA1Fr19;VSVWjm41PXscR2 z1%GNGI!>#_Ikttuj7JsXwH`MvE9VHW8slO!Jnns4djcY~JCDnEo=)fv87T*EzyW@F zoT>RtxuplQf?jo?Sp!;^AOqUTCA4~sNTydlPn`I*46m77hp`69g0Cd9q7X|Li~A!6 zWoyf=F+MpV^t#CyzY`Xy{MbTuml^GH35I?LL4717CMn4N&2BQ<7NX;`VsNTG?|_dZ zawE>6Ki%3`9gnNooXUxu-$jFwGr&OeM797gjXRsi_j9Cwx10S+zI<1u?DC!3=_UVy zzUjNWIQQIRK>b$vAF=>WFR~%>HTtWr-z{Elj8)*fD=QCbBk^f5OoU0xOr!LdDa}Urzt!NhDXWqG9O^ZTZdk`@%G#J*d~|_2yoXXw=81OFR-)NqCN)tYX@WZ% zLW#+xj((W8lz0?fFeZ6Az?rz7X6@#WUM6G_#y3p?M->JcFOrCh%KGRf4}ap=KEWBW zH zUQ8Ye4m6oZa}Fh6E>r$ez+fiF`M&Z3ksREnB_~FOl>LO!b058$vnyEEbxXv`W3&FA zDw40A%g@>5BgUcX8#x(^8_laq?msy7eX<&V;5R%aWXtO2FK1ICF@RJ&&Y5BHyqX) z_0hVI({6t%hL8yJ`LXTP0wgC0c=w(>jv;`#()(ZL5jFbRKB9&dD}Q-!(v zs%=~~in$A-FnK>-e>Q&Hr{_fYc;(%f7ot(*k_hlT83pKgPs4| zS>{im>oxHvESd^u8Y37(^~^6f0%{}l7&SOw*T>Ih#17OI1P<04`;XR6e)}MW*#y$K|A5OfKx|(!>ZrqR zR_h}QIOoI_J|3F{oKTXRncEYUGHJe-Y#yTHC18MDLf+jG@ARc^zeYk^ zkb;bbzr@kV_I~NmmEd*-y`G(GSm~ZBE$H=?BF<@%uphKr{>C>_+qRNphQ*V(1vEdre0+s8UgvbS{Ykb^&Dj1Vx%d%An5^Kv@pY27rcc z(vkl#VE!UVVX6X7ebj(4np~-6DNfW6l1O$)9CSuSMlSrPO!w`*Q^kP*?+8ly-G|y9-TTHLL7)Bb0J^MAO z2jXR;CT1g1H~+!uIu80n&NXb#nUu|`FY;88%U8*ZzRZtN8Z=MnQhbxI^21{r<@nUX zZ5)fUR{9L@6cpW`UW>1NVIbRJIH`Q0T(u!Du@KZ{iB49eAPf!u__Ev9@147q8Uygc z63rh6G8v!=Rl_LjT%}>Qs-%5*7RY?m%k3eVK+3LYrxFY+8d~gaVt{K={v*+QitGR; z-qiu^;{-(M)*D1VjezYU>av#;dQupGlTXbxS z?gv9ue$rnqmLL1^RgLG$%csF0i|}Zsin-Veo>UmIeEX2h{NB1q$okQw;EB#Fi-Cbh#wvSl`+2(+8G|}@V8u#k zcMnY2|0|)`&$tcNF5?(wzdNn=W}fb{BB4ucwg|g?mv77zFneR=C;U(U1B~+jN2X{e z3315V?@fbtFy~fUTO<+M+k6QKL&X;=>TVG{=rzFo}cc5l?FT=PyS;J z7|(@1+;E|u$S{E3l_lYEgTn`?THwD_ETnbt&TFsj5#nT<)Da2YNvI zX|*Y}0doKZe1zJ-6( zAMD7~!_3&-VeUWN2F|ayb;e@gF=Gh3&;9m{8^eM?$rbF+t`sY!)^Aed8AODe>x1Xa z8j|L~X*uLT%9Dy#U>%Qx>Fn0}82kOj1N+)SDoEKE!eVf?^;3S==xpQ~;WHT_p%t7=QhR2+}JRFfm`o396ECU8RM$!2JUyGndi&Y zDh8$owN*>$^DASh+fgW+Bg8RvK37eg3(?pc^xw?=AD5D6>U-2)tRC>M`!fp#4^K~g zIFlO6J2xws{+Qyw2sbNQ@Vi2UD54&6bjNe9kL#Ti9T^%7F*U>3PG%8knOk z55r{KcXt}8AG0oa0VY@q17f2NY4c}Hq+YbT!H;}aeCGXfD3$RamKf)raeT~Ex1}ox zSBGi|!>t5Bezud=)Ld@euteu_GRIq{xNs(zm}o>W&CW|A zkZ**+={Kl<=$*=nyqF~Ji#ueao~MNPGUWprCYag{$-l2spg5XP_?r#Kf1E%;_;dxNoeI?mv;i(2mYWQg z+JBMymKoAL-$d;v#1UxUMlp)sdp2VK0&@{Ld&>l~2`YK;F?y;EgjVeb|DI_8{iy9T zSX4Y45gcD=9tPW{0Ip6K-_g8uVKU{Z2;})>&w0 zZ!|>HPI{bIEM3b2pN&9mMeH0q{?EM_=!UKc*bJFgsu<8sR^qaLpsp+T6r`1+Uz!!M zV1a1m_idy}fi_!?#PGptYUVR%t7Fu5cx}~u z2P`8>vHG=`>=5C`tDAQ2_sG#5f6j}5>q8V=AOG{E(E7_=k~}kHz7=@T>SgaUr)tbl_$FCE&v-lM&QMQArU z#V(he(?mT>=vt%OddKiyblR9er;!biQjB9NyyXs<#^v8E1b}}g|4DEiqgY`*!*BfO z-|NpUWO*(4_#?gJbFl|3f5k?+dw7W6X*oZsMj0S&oBV4v_}5DtzUM|Q&)bwsf}*K@ z;Y9-YkZ_{o1H(fQ4y1m%KB%OU1r6!mKfiF52BHFtfvd#k0Tax!QJHWwtC%Qwl_ zD{kfE_1vlYQw#86LTk1-sy&n;xzesbt#0+T&&88jZZ;WgUN-4S`-8Or{ij!(3pB-3 zE?&pC_vV$;yvas^!(MuF)e*f{I+uFNoT4u+pZVYin{%~r#HE{6p~PgEje&t2AXV5> zZh!x9{BHsVC4YfwpVh*UL~|e$Obk4SCo=ok;~ZNP`P>hb+~ED}Z*>&4`R&2^IdAzG z{|}c|@L2gNe9?J8NHz2AohosE=e-Kc&SasL9@uAjwYcuH1f+&pDz+RFlV&0>FGedr zvp~TBns4^T9TqbfAPLIfs@suB;Nfe_KKluKy9ArafmB5zEKL?mwP4ywi2hMiABH0A!I@&2PX?e-s z{dipWcd&U9@^4uj`{0x{a{!cCR;k*{= zeI|j1bX(}m#e-6p1)oJThcA#&B}9n}@vXGpyMUF1+5Qi*5u10=2BIQ&9>3;%*EK?% zxaCRIAt^rwDe?DNx6ao0_km)UxB0UDLHzZ0=If3>ICng5H5SNGY)4Rgs*+xeBb0wd zJ@nnunh`&t3qvy+n*@ii_2qrJo*hh_HY=QG(j7UW%`SR+NCb;scmieG=-A}sWEHH$ zu#o~vjFq1qpnpFY=nNkJ0EV(9Z|Uw&eZr5Esm9DuTyI(%P0Rv8h4}brmwHNwuRLJDfId8!jJ)<1Y2TlfYe)uxng@Rsc+W{)!DuVzI9YYW zF-Uj5%2v{*b!mqut7*$;u7t}?xvESj5n4>xk(lj}AjLVFb*Y(gC7N1w>Lrk~CUvil zcjbzY^s(sRBHcNN|CyN(C6TZf-MqHuC-o$<{%%F%OZ@s-otfJgNIi|>V|->Gk0f-q z%q|dO#*BqOashfTm1Zo)0=Wy2_kgC7#nh*V;RrcHI^JJnpB@Txs;6+TldjcOmcQS9 zn@#NB8b;Uzh8id}-1BE7YGYym4h%Fhe%?)@Ebt}y>t4>RWv(mxVpZ+c#KORL`@m_= z9P^J|(k$J&bTyF?s2Rub)`5uJLOlk89u28N(EWw9 zYIuP}t!73Uqr(Q5Dgk$7R&!3{2^B`(8UlwR{#G-IDo27!aYI(B^inGGH4dsftR`0> z_aAmworyFrU~bAI^^_l4>>DL$S#qBQ`Ytl@eeg&;<+7)b8`rw6LLOHG<@XM`a(iFv zh-~aqF^qUZk$z2;QzP+tgb~psM7y7%q1rJ} zCGFDt6YNU0@t(`f94Z&BJKrUY8-K3w=pLD$&*(E20oIGMh8;YmJwy4mft$xGKU2Im z3-v4p{F-Bf@qC;s=sJZ1!v(RlbrakztLP}}h2}ipzSM$@xxGrucyJ;v)|;LEOxo`D z`Ye3>I2rAvdbpOT#%ojNHk7ifiWkT(EhR;r8b>qvRcL1ztpZ?PcOrR%UEZVV1#Yro_Yxg*$S*OPlk8FJRf@W`$`42GGO|U9TS>R`H zDV^Q!SOgk*MUW`;Tu!Mgry)*asb{Y1DDC>vjxml-Z(exB*kvS5>XF0NYxc$PUL9uH zgvU>%#5fUnNc#R_>aRJkz2|TzfZP12B1@0-KEuYRU+R8K3d~xTy*ui@V;^e}7qquXp8;fx-9)Y2w3Ot@PD}zm(LZJGFjz!w%p2^R zkr?NDty(&jwkWa-dLc9*%0bXf$J9cpXN)K%jSz38hO{4bNffQ!6K5FB@w9HATzE){ zyvKXJVUP!+ynUnV*-T6KRmqdAAjHkpx38-7^Nx(hFs_qo`wV*9VWzzc8!c){f8VR) zQ1Xn$DBsyWw1J{l9C42G7 z^9esbOeLsa{<>PAX;!E*Ii-FAL#`CRgydM)_eCJ^*kuvJrS+mVUsY$`4QH#0p(EKJ zhIaZ$YxZp%AWxQ$E@yPe+@$+IXNNbDla6u;c}p!a5{Zu=bjg1g)gWIb81mN-!dFo5 zeMad$7AXqpFl#CmAoN=d5F|?1^WK*B%6~}`n z#m5)FeBA2XRY9W7`0NrK>rjDBo00Gx-$N){UJ>*FVW_8gV@+=}nl*tjHoMxzs5au` z?E~r$Om!^3eo2?>8PZMM*{JXEt=g_Q7YyL%=#NQx&q8{Ft{Pp zoY!^Et+x=)B4)ortCRa#GN#YgQBh#CV}AO<*Q4-+|BcV7Y`{odTV2)e0iR7O`i@KK zZJYIw8y|XTEYC-+l`cK3KhuVIV_hrt?|@aH9&}sVZzM^BssxKHmAE+Mz=u2gz2#pR zumwXH{3(GA7)s&YPpPS+AypLvR2=hO#xH>fR}G>J79oG*wWNRUItnN%BZZIZIauo( zy9~#*g5ZnuN9T|9;o@pQ41^43V1&^wt^bBw_RO&v82MuslJ}Vn%o7DxRn+v{cJj=f z`x!PvCl{wEvfKahUQmZJJS~I6E0fjYFGoQ*0^hq&>g#raBzTnJRMnBUPjCwcRq@P} z7mu$=IGlwrPo3_fKA(<*m>1|PIu2zR>s)uX%IgMqdX%DJPHE1;G!{^{_0!!r1*dg!xv;D$2kAN-ZAn z9$L1G$2a7YVBf0~CuonDyXEpMzE31N*{WryJ>se^!-XcJg29^I^3(5!QA*&`<_@E! zO$FiC-)XV7F@iC)av@Y;fc`kNS^(0`|Mp@R1?-zzMt7#+(NR`yKkjh}hVe(!_yErw zGnG$*VXbXdOIO7Xq9V4HWXEXFWB8shh~c(f1*beqg@ZL7E+S!ZONPZ2VI`9=~x zQXkESm>HuU)S+hAkCSGAMfp{~>3!+A;m?(yc2NfwW(?W%7s9w95c6U^FTZ@∓v9 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 literal 99720 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 diff --git a/doc/images/dolibarr_screenshot5_1280x800.png b/doc/images/dolibarr_screenshot5_1280x800.png index 90aace0bfcb6b4830e4c324fd68f5a548feb9d5e..96700f89bd517b3d56634853e9af463d2f797756 100644 GIT binary patch literal 58761 zcmeFZXH=72w>5l$6hQ?QK}CuUq!;NOEU5I}As`ZZQ92SBWolwC!H8r>9 zSXGnJXj5?Iz#hTX*|&eB+U+*m^T(;*X`*>A^PPM~b@%9##?xiKq`}%B?8#4_96!DB z3Xim`z1ZnFIj=bH$s(XQ))rL z{yU=o0rS7v<$p}&KYsWBu-SiD<$qz@|4{V*7W4jND*yjXMMpg({ieD&GAKNp9lsN) zLtH%~u@K%tzs-wI%M4seA{I5d$?5vSj8g5ySaKh1Az7J`x7y$WGMhV+ihP3TyboqZ zHQA$&2u?o=vs&5rQ@One#XlQww`y2qaN$mSmnmry41ZOe1(pLP2y zXPOtOjzURA>bWQX$RFu~=6Fa%{pKor0fS<8%xP^Lb+>S9OtI=w*ANk$_l zwI;o}rULI3d>7JKs<(TbXvjKxyW1+yOcwc8%`M=r?TBANZtlY6lfN7~KQUHZt~5cb zDin^&5|fD&74G8BTJJ{2rBy;l5&ZtUcg%bmFm4!6)F-}5F;Aiec27v-ihH9~QYeGt z_=nEuA)m*q9A~)j?~Wa%5MvTY4EWM>%Bl?RIHmmzy|A^|ph;ghtulUQzTn+4UgBk* zP5S>j+j;WY($3}{`E$0KC*W))I#Q%%AMY)GqlXVm8yXr6JUpIG#3OW&*<;0RH;);5 z1jII3HEGF3%&O5FX%st)|8x?&DWc80sR8-rtYYM~Ury|6a7iiVc6WzWdhN~2vY*XK z&%Bz&oD#1h^~gcHQly;TlYmPsZW@T_^J2ccLHD}9`Rx^ni(g^qM->MO*#()+8}1;) z%$G(k+^?7|U(+m8y4%g zT7|^Bn-P{-wA?!eI`>|vm7kVCd>wT1oj+nE*ZIsnenb=zQ$=Vn-?3tKtUa@0o?9Ke z=d>J}(O1@2YH{y&SjB$mET6-L>QyZkr8^wXb&u1o*bt089e zLljeSDO!4kz9GzB@on|LN@6gZ@jYQ0{VPdYi*1Z^JX!tQb=!L!^qpf_!gGQHO$94|v*-MYVMHXitHm6OAj+V#tBSOt78FsX@@ zQmE8u?2epSL~oQ0de-?>V?Mq z%H_LmH~(rmc?}fQ)gt?0?hnw)2h{n;AVaSk&hU=zG(t*&vgtoB{O-OWAxAnL^gwklp)hhrvQZ_0@m~nu01Hlp0g0* zoM5hEe($3w@}QfIy`GShU{dv9s1Dhn-84IG<2a#$PQ>WE zuxate*CY=-a@H3X`pW@O$mTI%pf~<612y1;R;vkXZH+eh+`k38o!des)<1R+^ceG_ zXR&i$fhLE)F(;MF=b8u#UrfEjqA7>LvGjG{uM;N~BbFT>OXBfg0%{49D(=dyBAj!Pj|!%k33*D&`I6TDA?|9uw}izt@UM>#gP7ccvO{R zvZB(M_Ivk5^ipD^PQu5YZRt=JgfHA2Z&3781TH)&qbyW;(W z%XJp%fu0lAFqkr&@ovjP|I!bD!?PNx>a~)-WB;lr6fGdY0PCFI2Y=y8LCx?syQ;M> zms{9zsP#STH;*26{IJ@X_df8E{&s)8XB4ZHsubf=W@>wqnON{sy;04sBT}Dvc3YMx zoBc;d_X0G}4_d0!(r#hLI-^cYnffxc_szQt=zN?)c$-g(Ftbml0pjd+JJDsy$iT}8 z;W0VI`JQJb^cqBlo-vBbnfZZ;I?tLjbQfl~5{G8Q92@MS%jo;D zlR6Mwr+g2snK)`zPK&kcT;La!x5mcFU+|k-8ZzcwD7PK=?tN0wm%a5o$Yd?PN)ltb zW073s&sq2u(C-Dr6EiVVVT*BKBCm96(7|{8|AH`w4nSxY*=zL|!fLVxxosao;;G-i z!aQpK#;v9(eA5kK!#>NV#PEq)`FmeBNcXzW$@cNMXW3Vbpd(n}r*fdRIG=lGrV)(LG<=0oW27(Rh9SXS_ zERf?;~d9k&aUWeg6X3OyAfKyq1kwRd!#~QM?>%ac>6;6q#yi)Uaodux({%1(Q=j{`i+hOjfMZbQD< zFM`Lmm#5lEgWG9x3P~q@%xxbO< z|Jj>|DJTlYuE_F5K$NQjI%Z}|9oP)lKTCsD)ym4sZA>=d8CbU_8=^>cCS0ggg(#$$ zF0Of&Gi1s9`AZ!k<%{2~$>x$^g@Q^Ji73{KC{!4IpTt%H?tr6Jt^AKIOje+;h zmhv{xgROWtgAG)#TCs*flpQ=e`frSTcRGf+m!AARsWg4xnXUdUg@k{WI>E0D4V5HE zkvC+(uVY!_+teH>@`mE+pFc0U?9rrCT!%kOX_@7lcMa^i4(z&M=i>Gqh$8l6F5mZp z75j)2S5JDqSj~R-@9zDcC~Hnz8cq%p#3G^0x8Tj@+h;C94bO+jJCxT?edJ)=i&xF7 zQh~YRH#PjtUjJF_1h0<%ls%?E@)B$o;biV}vns5NjIuT;&~9Z;WTTH>^ysGUI7{e1 zLp8uXR)AGF+t}T3^3Mf~>7`0uvef*TJhLM)j*EFNPKLwbG6iKb_v87>qZg-0l$9qA z+3*Fcctgiiq}s!C=}-UNuymrb<|S)y3Ye>+lq)(f(0(&j5&Q;Ka1_{qnzpVsfR#67 z=@Ta5Q_~0)iYi!0;!Lie;7x%5Oed1>LnEFJ>WrE(=Z)&@Ihoq z-IHKKKW?FiOog4UAApv28Zi)4PALbPh7|E=ET7N+yK=4fJ>D4bG0qJPRf$OiWBL$NV;8 zpz5qvO1<;5#{pPyDh2S93n$;FgH=OD1lB9@qSLV1sp9;LZ`L9o{=Mi90Ueo|0ydHi z$?b-+r=f&c7ir9mpGYC=S*$Mwjv)ce$`~iQ^b(@f64Xf?4xZzX+ZPK?NGU87U{?yV z@b~v0z+3!_CxDLsSX`>Gh=`7^t}Z!(=8V zCR^;@=K6Xm=_*y>>x(<&g8GSTz?wZ`qJXh;2X zn`TSuCgQ4`g!6!gjg5_A2h{_X)OwJrfc}6zFgCC3iButQ4`q}RPlK~w0*v#6RZb8&R_3 zi5CI7nc35mr9A5QTv?MM6p-auWO>h=!Pg#O-bg4kcmIbMKMUh1=VE%yvqxCm+G}SYJe3T zWkg7dBYu}s8L?X&PZ9UwL;G=M?Q<6^PW=lJ<5>|3>m045!nNXjB-B}bJnlS-L($Jc z5uEBdI8~^K-cfL>I%Pu&>)DfCiu)}L(6M93qTju{0WB!thMkz!g;UQy`tKYA$h+Ntdjme?zIee{5SP z18ny7tugXL#Ph-Hj14_$@Vv*$t_)C~{E@EZLwh*1I$9mc)toGH*Wt>)Ji#GkP1(%A zF8jfkPJ}kZ@At(t@W8HI;OMVg)u;c#uTlp3EDDKFrfamQF(>)12VOjx+q19mOcmLga&u9O)W^?LsFB zpvOffjI-Rzke^MEJo#pGC9gq=2sTFO67*o|Pe%%Mjn04>8ler5=78>p1yiAt#bq7% zDUVtl2Y3B4tsTU@W;C@E6BH8_^?hIZ8H$>k8hC{g0;=0yNPYMRC2J}T=-h=1{K3J8 z8%(GbuI7kxhz>e041TRV187w;fe%-h{E4)=u>jDJ|YD(qv>_ zq&m4~5RyQtEVfy^!P^YyCflF)=dM4cFL~{$Kwz7z&YhIv*XQMqf8PA%APO+=5&_tr zn7PXfu>DBcPmLnX8&ad@L{56ri>RX%{HD6R{#{i5ZZiXPu)qHchcjl3%;^+dTh3UnFRUisq7HJsd&{Q7GwgX*-yyj1-jQ*kW)H1SL&!}8%haT+z zLq)=Xiq^8Do&zcZh%eZ%YkB@5pVSVpGjHx0vR|aCkjXjf{U?Ab6L_gmI_L=e{GYq% zBb&02*%+YQqv8z!n3hDn%fQm&Km-o+md5_^@(@{Ip#$-+XvzFe!+a5P(b1v@^#^Sb zbGJTQ<^0WXbj|`i>l_{mlfhXdgX6CD0)S%!UUCdfi=X{NWlNxUX<~n!gRDMS4Zs#u zWO$DQZ_)*f&4fsj{3EE8EdegL^e>I%D{TQ=kZj=P0#_PFzEYF0UO*53$lYAB)Jpo{ zN2VkP9rBgVW{Q9-y#)e__OkcLD{wmUalKCgS@n`-hivmF{u_9K?8zzbGg|6>3wV@Z zy6mz%^4wo{`R={`cZIc!;8BcAE(zfvHt_$A&XW8WYQHxCQ(A9HO@L_*z|E`GElm$#qXw|)=r!lwHz!Vq zjS#R>d_qD(#U=(`70)I-BkvOl(XrLln+98C%^uy1-_sD)`T#oWVZoa>CoLu1KJ2|>wesq-6rRoDBX zeU*vQO4O%tFXG%KSny$XfxJ7AsNg!AL&;CeEqCMtPs;*N)Aur zL_opgPoEO9Pc<-8PzmKL2L&}Ta4Htge2e72c5ObrDKXYRLfONkBt1R7ug=? z$`!OnwrM&1?Dj!JyC+pyc{%!xjG&;V0)lXrN&pu?soc3MrK}DJUIq|DQaLP_8OU#7 zs8e5Xg`XPaS4=9^aC2CFAESZVX;{4v>!U$Sr@`_Zi5cN*S8jfso^Hi{?|SCHS%Dmv zot>REJWhc`GEe42GE-JLOp-o)J#&`DjCefZVz)&Q1%=aaS}5h?P+_YUejZ<_F1H0Z}L6M%pw}|Uvw3HHUcnwIbcQAg{@$EIV*%tl-j$y0!aG179=&G`22xO_*Oj zkwvI)r!AJhy63nejFa=r_OhcO@wH2@>hAEcnnkr1tk@zCtF)gw9ZIt}V(xC}71+?w z*jV|H6zFPIdLyT|m)~IQ$#d748Hs%o5gm`3n<#vLt#WHN*6y+Lw>ANZRk8a|>a38J z?US{@VRosF&}La5LuuuLZ|9|%(}}Eh_*?^{C?{N5Lm^5b9za%)lT@R@9oGWax=^iD zrj^uFof4Gq>O9DY>1kI8hQYiqNb4AD#HBtrLO*zXqx{zI_rv89_QTh+?CcB76D9W+ zSE_NXiEeshC<>#vYD5bSn)ur`%b1=*Gwy7Eesod1wC;MWRsPL-pG91xVt!f3daPx3 zP=@M{Z-dnjDR_VwXT62Gn5}Y-H#36rl^kWWEW>#>van^<1gLd8@SX$YPYy-v0d*ou zur@3I+x1fJMmD;-PtV532P2DWRd3?!wG~OERvDz(q_9cqmzQU8ja=$c^CwwU!@_W} zI}-&3#TY9EniFL)n+f_)j2pI%qAywBddb2X)Tyv>;%JvtxxMjla|GBX32bbzvv?ii zIS+QA0XFuLhc}nu-;EtV>qaICRzt8GU4LFs7LZo~FQ*a1amlhC%Fgy!y`BLypU+Tm zXMZH6iE4FUw!P(FhI~cAAL}y3q8J_f*JBA?1^v-9P-(u6|{wxOjMyOx5fVWDlgY7W`fe#_^LQ_k!xdQ_ zJSvH6j*OiQP6VX!0t)P=i-D9;K*QS@Tkyrb7N zPJKKP!zU@pI4kuIqPR$5edUB;IQgFcZzaM9f}mvka~@t^-K8qmfwIY)#GMp<2M52J zqNZ7vZ8mw62}MP<@g_@LtWZCHZ;tb~kRu!0gn<(`pDp}=9jKw}eb64V#qsxkSI;N+ zp1mNMo11wHe%M_9jG-Sp^VKwGSJHjd$T5u38QUH|Qf}8KqaJbO;DGr&GuL5r^Ts1! z0@;(i)FCgqbW)%a5e35^dEcT9b@+Cvc*?x5efdh&_Bnvd|66p~d}`0e%h_4Z>^T(~ zHR0F#cp+?*q2iG)*!dT9YTM35%^!MOh4_qKXy=Z6{#IZp;(0{aXi{nxaTMs|#7Fz< zWLet`wAPz-AcT%uqyoODri@WY-dd?Ple3SA;8e7*VM&h7WDyl*4V+I3#|>(KnL9JN zjjOboRcqV>p-C}th;Mqe)OPz9KFEHB&SdvG(rdq&;sBF!Xo0J8t89{-jW{QwyrY#| z*wpgOG|lGg3#L7I2irl7O(;G6G5#|%^SFXJkhmXbsJfv{+5BwLS50N=K3$&#B=AEn zoqaTtC)Lv4`xU*>L)CnrYdO3n`tIHgZM{t^^--rr?pfNlWVRcuOnBa)wn^&W`2cym zeD|oOzx2*E2}Yjo#b2%??+1;L2-O!?o(LJ?rN;j~x!cw{oUDh_fdyQl1o5{<8N}aX zR8bYS{d~>@OI06&%+q*<-_OPo#Xt9UjBTuvD}VV8?rjJBoID&@9J9cYd<4xFu+@`B z^Hz-==JAby#NWQ>HmsTN(MsCtvyJ2>ZM5|l*=t9iIqQri;+=b2qvw~E7G_q^xkl*1 zlW(B4PsF6tCu`y;y-z@!3@-hIEr;z@_6(>XovT$tt84X>^tRjkB2M4=f}4|W;Uz}9 zF$-JCR9w+Mg_j`>op9LM?Ugf5E3_tFPC2Lb67vu#g!`wbzOYefZVFKX7_-m&lal)!Y#uojhPmdHvgzeO&Im(O!cufJD~=wn3e7}XRT*ZTylt=4<5EOak*RTpn~ zKC1BVzKq1&fBLBHhANRljM(|)9Wsoel5lxzy>U&UiQqn*Zcp41F4iAZ3Ei3mfj2Bl z+Nxk8P`@{LoiKbixSR#>t$`NFC}TC8v^E&M)r5-XHz8nAd|dHq>mr#cBL@g zSZyUs(g}*Grv%APsc7YKO6A3UF-Y6-+v<%kGVM_N*!$G+{&v9OF8NmOdpoD0(~#r= zPbLjGYV&!J_^48X{K+E(L>_Nif$u-M_lC>8{W>}9k`>Xtj*hcLlD|KKzsX$c1Y+UR z({G=7Hh(|l3f#?744h|2R=8P43tvF=YVHx0NV)~Xe%jjc>5+rQ#bqDXrmPiqzF%2- z_=R~%(c#TLC1r)}tQvanx2>H$Jb6>&<@dXTvdvWvWqcb9)pK_@e0t9 zp8{-R`rZ-UGsM2qX+8l&}WR6>3tw)K=fN*JzknNI7^2OW5=u>0}| z@TpzX*GJpcaAM;#p2C9B?|ORpU_L7-ioL;LQpVcC!lu#JcG-r9Ln2)4GI}e>G!>Nu zNw*KGlRk-c7XDf70yRm_gHA2>DT{sUGx-*w3j=8H{@?2ZjoT+E*pDc4Dk=FB_ws9U z?*@-FS)%K_N|)+>ryTZu)0R)0`hM3gMcxrPCw-)={dl{qck5n53yQ*NvfADMLN5bH zUnC4^hjluBoUYrhdcp}gUqdy-0Ac5c9UTKQ{XKCUnAD4nZ{O=%4J>Bdsr3GF8n?qz zTDm0a<*@6U-9Zfct#VBdjCtIyaLizcwMb9mH|DD^bUX4j0$q|>Dd znc-rA*b9N?KKdyPm-sX$bE1&fq75HtQ84H|z?ppc`s9NQwe)=MyZ4MsUO{=@^d52A z*=74P{neggxL=cEX_N8#C^`r?>0U&-N-;Ie0d&cBx5fd`CH)}7v23KxQv$lA7Lejf z{l%Hz579w*g_Yqt!>4vR%LxiwvfB%3iY;Mn?Z;oO^nR25u`?B^WY!jRxW0!QX+Tud zzkFGMd>dc8vji?AWYE%gqP5U(p8a4eGFblF=YoA56P-7!Y?2x?ZWv3;;#$>9AY62H zB$;iKh_W9N%%-D$&b@u>#KMxz5lWNS`TgyHm8y3m+mYrNb~(OuZ|9ZWJ?HWLcCor` z#^920qGpPsY>jJT<<*_d`Q&m%&*RX%{N^i`DCC6wmV*Lm*#5drdTosSVS{4O#=Yn> z%!WhN#raUlMJZ!gBOyU?|BG;;{ftn(24=LTwBcUAAcbV7;P1_pO8B0a9h)3?bc~se z-C?5pKm;?t*P}_rf>)F76NN)T2TN+756JmhD2*tWe`~vdu8yC_FbQ>At@?3Ok&%bV z&f%GwsX1NLdwTJO8qXfdfhsd9RAux}MRIU`NKP`oMe6~?$*H{a;4qvM6Ai@De2n0{ zytU*JOkf|+_Ic4yBPYkGo=ysyq$+{U64(?i3eFy17}D*XZ!i5MjcD;8e(ZU7dPVbY zmt}AEqTldx?Z}w`qQu}r2N7?K!4(^O_|-706$R{AvMU6dOk)!ZMw>&_hU@z2sY8!Y zdTpbt^YP!`&VDp^ov>MbcpR!f!J7HIpr|Zn>MP7Yi(?n$FK*-c^LHYRto>?8b)GpK z&f_C|BchOeZ7?R8U8Fg|(Vp`2oq4SOKC`h&jQd0|<}`~?R3rwoidd1b^qoWwY|gV$ z>g9cc6DB+1*mv=j_ApQaRBBHt9$c+c2f5yW)hoDBPD8_k$10vfFX^a2HO*vH_apLz zU{|V&hHl+yCcR(dP4z!BC=K8FE7$v^ya^5jDhIO`8p2w)5;f>Wc|vwIq3HaH4LB%i z*<_w1<2wOZcsqMW1-zbm1B^ti*^x4zJcVLFhy8RsU-0TlF zADfuSpi;lmxsDHchUQhdHJO=nv2hBEvOaw+k@D#w#+F&nkvrvOy%B(rm?|_= zBsFo9!INg;@~hRDeobv9bmlg0yXOhrK-shplDK5giOiH7uQxX=;Duhf3~CK3k!p&9 zmrFMem39Aj{gFTscts2nEC~w{_VS)E~G3amyKy9mv)m@L0q8gA2a7eZ%NL1Ok&^Qm{vp{tzb4Z!cYPnrv#6xY?;*Mp#i-@KDZSCzKW#s@O^G?*4YrIV1(l4cjx1)>ktZ#ivN% zF~#f`q|7d5%rKujli4(Akx_6>yNcmd9@bC>+Q(<9Z_i)48MTF#3SXIo5vAO#Vs0l6 z`@wyz4JlInJD-`Bi_hdJ8EOU8jqKoZuEhvf$IJ>L*Ka%1OuWg{mzY&L<)+>zP3I^STS3R#qew{=u(S2XFH17FTE=>MFA6zymgzG_?eFS*|Q}^^D3Tv+dBn| zIgxDLDYT3OZ!PN!C+Q$(vCB0%qEtukv)+up?tI#MEQ$FtROnc-ra-Rz)&LuQjZ1$Q21JpjQ5q;%Qkj3mJ(miZA-v zDeossl<&3|DtewcC#4mM+{@eE0mC@7`}>6oG}yw=u@M~6#Tbk?M&{hFV4+3>+S8~1 zK}_OmP2MSTVJSCR0g(@ia<6q{Z(sH(Qugtw@>w2A3pqmj>B`69)yRh zFjwVq1PII}x$Y0#_4}`-D(VIHOYyJVdcVrb3{pLSyEi8Rb+fs7tGy# z{JK+Avftc!318`9DVa+u$5;e=5}5fb1SKk4Lsf(pd+%g~F;>IRj0|po&tX@`D_LDH zQBbfB5@_RYWVemxqLoIye&0lanv}>XSpQ2W_K}1VmdO|z)e-Pk|MPh|1uUffQXd8uV4$; zol919Jy7szh7LNbCu2HEVkt?&&{(Bg63J_&a-e+O7>1rKGPgfytb^9peO97^)>0{N z+}K)vcEV}2JjeU+1(LW`J>B9h!24q_36u-3JVvnIyvW7%g-=pQs7N$CM}w;4ly$q| z)l1MXPVziSR|T*^ORi()S`)+I>@)Q{z3HHhZ!H zaG+}9au6_kHXd8iVZlws7C3Adu=rZ4&@Pu?#}Fm$y_M_ZItfOV0#mOHm@5#!DLJX% zPY+j9JHyUV^zE8fpEnbCZX2_4E~tJbvIq}+{qiyzreocBMO@lMN|6u;S_y^)r>qPi z2M&v^9Sm;fT5?J2Z_oSbX1*)=A9`~-FF*;Vv6$8Fn>hr0@!D!iXQF))wCrcd3?*vu#}K;_?_ zJbFanNDl)3zXh}&mcyavpO9MS0HJ90* zRaP-oZN;4rk8j-QkQpBwbEYiLe0>2O|0D@GlCEL<>b>*X>2f6(R}C{K9hP7mSPg^g9&`GVID1mhom!o-Ii+D(2E*_OlXh z-!f^l2sSBE{xKQsE?6m%L*rXNmtYn-4jeh3K9?5~?~J>7Q!!{MZ)3Ja)Us}2CsESy zs2&z60o;F86tQ=3fBMr#Rtq3Yxu!j};<1Ne*CW{rbX+~pg|CaYg_0vZ&gSFm*B7mC zG`E1V;IxL8!Vb0T6DQrwL^>*3TJuYuxB)cXA=_RI)P<#y#e&XXEGT$;)e2>N05x_ML(|lTAkF7Hceq`n+NH)3Y)AWpF`Lz1fM7OCce9vr)VO zQ`MMCN@e2pw6x*SE+y$2t!SCH~W>w19yY)Hd-A3&^RR$vL&pp)LYY9wj-a_PyassjOc|HLq!y%i)`@D>%mmkUUo}s#1~}|_@tgem z=PRje0$?+pOYUZ%*V}OobOi#DH$Zo@`3s;#+@wt<9n=U$&CjFIpFW9iweoMjKP0(J zxc6q?_-#Mf`~>9_Ed4B0qQ7hT((mFy*kHJXv%!?d$$Q?NGR{!V)|a!}>+iK=IBRTT zE-T4*rX?!sG}uu4DKymkONmXLTTdpv3d~zV1ZjIirChu+ zzwN_R{ZtF%cJZK9@5h;MhGuQq(g?_5gw1y`i*@tY`z0y(tH3~{^KjX*de^~`%Ds(f z;|j#MY!;{N)kzdoxin%J`--!;fLq%Lw2cOmpI96fkA}if;?WKEjj=bC^H<#gYJ0xQ z&LDd10;rOTwR2Aar3gCY)(3Kh!0M??xR+l>Mi>napqVEM<149#*h*})){=e~z<9I6 zdxJD#LuoL>U|E9UUUx>o4D7JymH%cG?4@aN1lpw#DoIUMRwDh*P(0lC6f~>2Tko@? z2Zv{Shd&rBvXpQc646W$zZYxiV|vi-f0}}kS!8-Lf?e*+`SXrRT_c62VvNzL!>g}W{h9w;iE+v3 zwC@!iIf}0qx35t)kG#IHO14Q>b+Db%2fSb`Kwg!+GfPVusGi1+@Kx90EhUBl_LdtpR3>u-&Ea2U-`vt4vj+0hWnu*!)Q>SLDrD>4Su~4E1 zD0-MgPCg9t?z;2v-V0DwKx6FZ=W$*>RXv`MqKr*)(|`Wll*~^%((H{JaNJtx9(XiK zSQ*9j8^ikJL~T3rLV-%%8^kOL2k*YzPI8=y5j5W-jJlgs*f=@m2L=ZAq0ObnAAVy` zkbamh>$RX`)nT84%rclu71lp9)ol-$&*Jg0kE5h70+y0u=jPkvZK^fMbOnb4 zt(wQw$0{Dps&R31o4GO^KW;GJktE?ZCOz&ypS0AIrM`QRqn%=O%ak)LEUeAsVDj)F zrBY+BFHhfTuqcTmVBwNxl5BsS`)HM`kw={`-U=tz`|J_}ZDbq-h|hf>78b+{n%#|C zJ?a6!r^9ec&;5JssQz?5>ot&hxrn2n^GUcuk%~z8dF1BbS%6oLW}pmS1V&I7>X3J^ zz=`ku!*{15D6C5`7-rJ8%V3A>_DR+v~9w_py8BN0c@#4Ra_G@x37R zDGuJ#cm7dKw;QgmZsMsh9QJi3 zzo6*dF#ie>WP@t~Oil6U!?~%v8YW2y{6u3V_#pkZh^xq@OgfsCofGFon(5gJ>e>&o zJK%>c188$|U|=Zj65LQ}h7W$ia#{f%d5g(H@nEahC>W$jn63-%4K}Zjh?Q@+2NTVA zaT+LT;IRd-x#Pwv9N#mac~pymR9+ExO2w+)JoK$H25k56iQY9ZNpls%4(%n^5itJp z`Z76?8OcHWfd>I!Zr{OebR_j(znW<@9qaELsV>z0oQN+zd3X50=F?S#wlcB&z`S~i zu~Xib8Zq~cDg+Ksji+;Xd}T97fnTIJRk`-*QzH?FRY6__gsO*wb!w1*r$XIfyggsL za$)fky2|Cobd4H2cuT(*7Z=y!J9QylRn=$SxS2>LA*QQyv$LjRR7wY1`Z!OqnZ@_o zin=dZ1o@~?U%$1V-UsD%w0qO;SNblEa}GDeHf>wa$vn!m@|&h^B(ByQnS%OVl2Ngh zCE2*!#rJztNSSTIn6ZQ``&Nl^T1^N0PuL%z*j}v_C!)eFAZ`~w9FffdubP-VB>5uO zznmSY=R_=v;u_~39fz=ZxKFCTcCl4sVf;II=dE6NdBtWyag!d%E?9&ta!1|jv3p}r z5Zo6lW1l6OKHHq{tZpU!&$KSl!?h6Ez?Nbo{ z;J|*%wa!Ymd1ww*+qBRWymIW#Hl0qW)p$Obt$6{5hvO>>3kx@Pq*t-OJLK>t>Om`Q zRLQhJ)ghe9bAsIBgl)#=7pLjI2R2KnXHUfckb1L0ZRB@JXa&!D6O`g zH!+mvL{CSO99mxzoA+bR)YgG8Hd5zZ;GIIpq^ax_!HnL4tZcusfIkLH0mRG;wA*ztz?6CWP+MDJ{?ojxYx}En8<0d z_&}2BbNrOsr@p*!+~nk54QN2XcVw(^ULi) zu2OEXdv<3mgO=5SCKcHgmRBIN)?y`uP&6%%O)>3p780AmKJ09M{FoAV@>IE0Djn0| z0Y2Cq@k>UCqG|fsg+fS#hv&P~e2GoV15#LiZ94~&TSPqe{3IOqv2|vQP=)i`TF`YS zBq7;>F$bP69!~6BKISkX=DTW9U-tPG_gwJ2B4j>Beh zudEzq(C_zmrNXTHGb6lXowt!2kq)B-{qV(JechrFnzLEO7Os@d<(I+#V{$#$kp{q9 z2;gn=VP^*NgFL)Y7_1!!d3-G>Ui!5@6aG5r8GRJqDwE&$yU@Ok)I<$E~i2 zoMBMA@BrF)yLznYQPx~%T-y6ZrCDl2P)wJ*6@e$MBAc7*!jAzT)P$XNpvx1*#=NEOm9?dMiI2_UyFs z!3{B#TMV?LaNQYU5*eLrUN%J_Jf-Z-3J04870_Wdy5R7Q_>&zU7MuxF1+I_-!=lJ^ zJW_@R3G!cVlX?JfTZ$+V8VQSxv#XwqvewrIhV2+eCvvzyuVjwciAQw_9E*7If;V^~ zNE>-XS-)$uQ^|eB)xiS0tkPS|9VecaMyJHCeYfb4XYQWyDKcbwIYHyh({HwB*@yF2 z?zHq}Xwy=k&Ec1jF}zkz|Dc0*XM<7K%c5cA>7LqdPKCRBz83s!o`E8LxJyAz4G%Tq zEHCc6RTkS1ouKu2`}F&AdB`bV*U=ygK?K35Ksj$=%Z+RKhps`Sq7&yb`d#}2SIrpN z?ZwRIR|Z@;9L7c}dB2!azYipxxxgea`A%bHIH9mdN69W{wl(Lr@pkwz1GrO}UW9#K zZlCd`w;x-Z_G*jCSBp#BCq%Ya_B`Ti`gSxB;IKPv3f%Jga7Md2-`K*{Z|0s$-^&57$4XgVZ z&R;myx*Taw*c2-tXure;cb5};|LKXt+;v*ZeX8rZ7G@v z4Wy>EBkaT}D8UX>JsDJQ$Vt2|b{Xq(mq|6@eP*rvozyA{>w6?e_OZr0-wtH+wW~$! zxVarLBL#?99%?>V&b#2giH3otaXB^WA9QMbFAO6)u*^DfMZeg8@Hvd$8NUg7)`S^) z+=%|l4YerG2eCdJuGvM%`%z8EuZlC=1jRGeZ$OX6lB{ zb%pW%+`0UM{X_M5qaEjBLB`+hFb!DT8Xh~JGKd62ay|+HQNb_^gUoMu%%p5!`o?i( zXGiy84iw?EwH#Z;}fr#@yjO@oj88_wi}=@Q?9FL^NbxpNA4iVnn(G9V}I#jEu~{D>={f^>Oi=&p=d4UAdtUP-*ysgjSPhFIr9BX$h`rF3`8mZtl%f zQNLHg7?Y=RZ-T;gGC9qNd`sWy$g@s?C-uNIj4~L85e43ORGi!}J7D)MvMj*I2phL{ zB+XlroP}|Me50YA0@G|Vu4ewy@K5M>Kku)Mm)+*XtUn`g%A_Z{*QjJdt5X~2QMYf~Gals~1<>uO7b5^nmP z-u?pv=Ty`eF5jv#uXekh!yL(>Fp?iiM}tMe7dJ=;M0C~DCr@(qbF>1M@^T7?0|@;m zDN=cHK*UzSRYzvyO{3x2T;+#Lhxh@*6!}RGlxw}WUX8@1K6S+=iVe>=HnTW?WnQ8d z&lSuqMN$a;2Ct6M!(-bE{Z=1ayI=H$%DziZ+rP}jrkd|+@geBb8%?R37d@5xo(refK!0Cg@I*^+}hb`?tn$%Gf2w{t44Og~STrpo*g#!qpP!umbq z4L;q$2nSWtPN@cvJW>N`2V&S#(RHQF}9(x9xj_| z6$Is&u7+<<9uNsD`g(frBzimBe~H-`K6sFM-_{n*RTVKEy{jlHs*BiJH3Vr0D6S*0 z69IEU-wucxxek<~p5V)}A2|t?UWNYa<$MYapCN}sGIqz?r^H14;ztIQIO}>72e zc${5WED;Yf=7Bra<38q3L+`fRU(@S}|+Q`I~cI zo4NcZ@$pO4xlg^$_bb^9)K7#QIHxBMN}k7%vaJn2V%iqTE423>W)L#yGSEyT_v!An z&iZPE^2ypKa!*~>zSP6jA!`xEz$OkFcX#)!e&ZQTl5C?jB2Rccx90atA$}CK*K(z< z9js-H5Zi-&1&Dh&&L76!Ap;j70RO6HxRmsLsCh;XfRB0}@ibYC1kX=XFgC48ONQxE4brtarLIQ`+_Uog16j zjJ~X)Phqe(z5E1L<2^(P!3B>gTw51t)A3K+&l%Yw)M+oQU3LumiWe!2-5(8rVv6H* zZ_3b;;YbfdLq88Rgv>7mC3&3}7hgASld-HMswpgrr)Q;CAHT@)pTSa4H*no0PKB@h zI@?JUUZ=_UYR4aaW?tPa{7U!2Q6l=;_l=I346=!mib*u`Uq?Hj2=VDRgh1VJO?2cB z5|U4!w6l}P`Ag1viDzl1R9WcDbA)BlvW2dCX%SGTx?v_pRZn7S6v?c;VS77OR`nck z1L1QFcGcCCO0*=2LAZAaa}Ml~caRDXZWi+9frB;}K4gKg9}X!{47y~esl)Ax-}YU^ zOxpY?gW^Xm*jr)YBbz@IU0Xh}9&n5B3JJ0+ZpLy9eE@;7n@@f2gr~*ASCGE)IayEL z5VVa00*xYfjm!#jvTydXHdt6po{D_Mw)I`DWKJ|^$AS!43AsRo0IbuOB+*bi)vIA% za(UK-L6=8lxJ;IMvR|wb6@P_wDF0)7_P!Ay_V>(2QO=H!sPT^rpioXWk0~?~0 zW=&At_R?Qn5%^^5s4Y=!$QBw@#9QQ@kj#L@fim7OED^o-`lssgX{@ovbNik6fX5)MUVH`F zCLG*voy*pjgRBcflOM*lZtIQ? z^f`o&{9jCjgB~xM<_XUO zfca$m=NhPPu&Z&44)z@lt$%**FyS&vJhy08W;bi73aYWg?B|U6O?-`ZYY!t1aB$ea z9BjHnLh9~UekUh_jNWZM#S}^c2-D$lDD!ZL6Cf1U(ihNyh_FF+LCZ?0D}vpaA#*>j zDj*Z@y&g={8~FIK)ul8+meJ{s!qvVUXB@9|&4-UYvHLN*7naYDqqnz#4S(?9;>zU4 zdYk6#0EgSEzk{x)mpIoNtMGx#VDEK~j0?zR`n7Um3dMuPKe~nlYXu`0XOK>O4i?8j zE-uNeE&~>~M=pM>3fdaE+VB^*qIP~K*#EFtYX9}vI(zoAh3=*3oz!OBdTh`0hg;j0 z7$K(-bOrmMiiYC)($c#g-V`72j~|Tq1W*CiET>-uMsmpM9;z}7eu4ovPHW(+*hucv zlJB|byC?L1TU)l<<3-XStUOBA(VZK%=!sz!5C8_w2Y|8Bk&%(dOWWIaG;G=EuSBdedZbbLOl)cMbAU!tCb1MGTW7I>;aJ=zX#hFYvT(4 z+BPdI>*(gv;^ODx+qF{xsFW^bA_<^v3|&GQl+XXqKDOh{yl&7a>0yK63_56Waei)t zZ0m{bY_3I;Z~oi2Zx7&ulZOKfq$VVn@pKoBgqtqOF%XAbwTq<yfLXmP&HR1-XjbTm_uzrSrC3RIIT(rXUD-)4T zUSxa~_A`J9DX*{~GxnK3K~t$CFHkLtO`hz(b8dPK;zcNpyRqD3U+t!}Hh63bWWvd< zhl{zMvIeP}o>4vU?XGJEwu<=q#?^Ct9gS4lGXc#4sXtj)(J?TwgD_k`i< z@Y)sQET%FgUguxR%TjmpczUk*v$o084cKGJdpPSfbgY>IpSU(Tqm&5qv)k!swdj3U zP7S`_$%(TFd;f~{ArmJt){%ID?L>?!q>$<3@wtJu}@ zR97UIRQ;tvQLsnISa*fU;V24OtjSkTe}*|0Nhr1&0!A8VfPm6lVxqA~`mK<`A(ge) zqQYn_YA_fsL=jFnf%a!mG6XF~3jv+~aNxW~3LaL$NFi<_LGVu&o(c$xWIy3Qt%xI6?6x<$)j`+gx z&$xeoj?o31IQV_IPMR!yL%Efk;g)gtOcFsFw*44X>gc_ z(*KP6_h*g*u!)u9wINnXKVm{SL=P6w337?xC9uiDH1J;Rr&y5;tVM2OEJ+S*LO~J%g=66|*8I)8(+`oyM2_rN zY{f%Tu9veB62<@K?{WYB+<1W8gt0GeB8-#;3J%4@6S4*S!((s~MK-|MC$FnqkjFd( zBfrFkP=SB`o8bNbMi6-v=NoP=8umecY@s!jM96i6)LSRBak9*2zyDP|iLRkj8@3%o zf(#UU87V-21noZy3_=O+*)L zG^5^546KKK4FJjg1dhfObf=J|E&Abf|qeGwv zd!qD*gntARXj$j4M}X(^9DoR4ndnVa{K)R^wNp9F%SrrJ=YlL3&yAF9orBDD6>rV@ zw{V?7TQf}{f>lU6gMk#I|7=&{NC`)tF)Df7T+FF{)V{m7M0Z1phli(E^1P4D`ayz% z-vKdDaO0)ESq(rfRY0w7Dw6UL7^$8GppfnaqNs{APMV$$61I}&WgrHVIPX%Wgyer+ zFjMRS#t$BkFIuAvs6&aQ&U2P=VDjK)NYT%`)8VE$|I*J3lKJyj=SPap`Zux04d`Qr z_0CVe4Y8m!MvI8r-a>N*t2`t^>e7F}IekQO=ZH(TuN~1g3xQ>7bt2w>?n2S9(U%VaAJ&2)A5f zXK^$}5?I%s_ASynyg)9`id_CnI?(zO)a4%5LVwf)=)B2go5{RC4wujx0j%q;cVYQ4 z)IcKOWNO1{+k$!T$DZ`r8ut|>cA5mya89G>Jk9T&j8!bru~uH~xN;Ra|8ut*bt2X$ z!u_}1_|c96OHAXM($qOfI(`E3C>%LXicJa#-}xHJ^Z$+U`3O6J>`kZEzUknoFg<-> zw7yw;EB0!Eph`L?v12q|bVHueo%gXHhrOmG@3R8=b{AnJDk<>UedZV@-RJ?Hx22I8NOWT=X?Q zcX{l4O!dXxo922$)1-M#fLnQH-uHUVmk%O(N)qFl*7y)uU3Zm-Rs2Zl4hN>X(u%MC z&((!g#VYTsuekYY80 zX?E6q39t4bbzo88bhB{!M#k%?J$(PDC8=em<^~ZlTd?GN#T61cz0X}~+d(^hGh}Ue z{X=|uWTT^|w(jhxtRd*4MQ5wv`u>TR9s8)s9=m(r6k**8gQ&YFna{*Aub!NJ&_#kT z#!Nc*0*1*oYW>N^%=*=D49Bf{@>06#x7>3TD84@D1$%?cyX`Hzpt|L}mvyV!f;s;Z zV1LK`;rj;!U7vPfSi!D{^UpAnOo$oSc39}mK~DH zm20uHEzh~I8^K{eg9a}w@DZvc$HSGi`r?C7=C44rg)|WO`HO`8NZC?+f2#M=`L&#ZF0rn}CTgqa6 zN8#a&jq^p#Ui2f|nvuwAhttLKJ9HhKK4RC$?{#XI`UIVZ_I+E*4Ne!N>%`9H$sE2O zIv#g1Cq08yp8e|ARhzE`R!g*CT9gub$^Qff-dO{ABMT`4VY9^QjMaprVJ)LHR##WM z&}tYRUEDmb*$=Ng$}#oY{~rE)N8*Cb_~BDOP>LF~d$lXF|8bk3<-)JbUGt44#TBhY zv4H6-JA(QOrm!h-+79N6n*G?=F#7G+qJsxcqE}r$UUgi7{V@ZJu4Cd}k2p_!iRJ2l z_^UQtTO3W@&~3GI&;RAvdNWL?NPM3?pb1wf-p$4;H9& zXT#?y1Q#@(VhV`wJ(<4lW8aUy#;3lym@3LB$7qUd5F2A7Isla|H}9Aa$q;s`tFT51 z-yW*U^=}mSV2w2m1OwkwD^E`v^gVn24IF23#7BWpkHI$YPZ(q*1k)02f8pP-3WSFJ`Nnsqxe?xE4;F}hGKgx&+qbB|^M>MD<8=?3gh6EWUqk}`b1|0Z$` z)<{eFDWm_z8S^AnWXDrzXGt84-4N+g(9sJ-0+-@75Dq4Z)-8JAQVatvi`9?2$Y?w# z>BK-J2-pd)VURIQBs`&;%#B=FBq(n=Sx|QGU}E0e9Ku-G6h|nEpVQY*95J6=`Myj} z$2mLmt{FVC^ljvyo5Q+5VIJB~rttlUH-93sRCw&Vzx?J7Se--m>JzSUOzd14F9;aCj5%Wt>LZrN#6ROeF6s-RVVXA-k*{3M zPUlT)VW6(?ifqSO2!8f6ym0j$#on%wNvj}+Zy-q}>F%Vn;Pvdap!*mTGtcknhBixd zP4^7Wkb?SSx}hJZ3|?z~1dE?PHncamx|y94_y*1`m}PF*x6Sm^R6co)4OB6I+Rd}U zqIJZf*6%^XJK)M(7gT(`z;4X=>JbKo|N0WN1quQ|$Ts9>Q31@3_8kxxjNp<{DFByB z3y_K3_1QQVHit2Iv;MSh*XS~wVh>v#&3#CQqR;)Hz&*ZlEXf^Kc*asr^eDw$xX_(s zEbj6qydZQe+%2pCB&6qLFHL-=E{j^lTkBUk`ge7`jB3|TKT16Jp*tVc@G_$2uNXe{ z$N4Tka4J*Z5PCtb!hu6x&?WIp?}&A72ThIB`eV}7mL)EPf~ox-tK&7&dGd9keGi-` z1W*L}H58<|EFlF~bqvDmA(~EAv zk16nazk`Cl>l>+?eqT;H(eBebbK-Mfy$qJO6Rv#Ey+ii6=dPu;KkY6V!jL5emJoNY zM^)U|9DcwIBpg-Vc0q711m3oDXfhy_RxKg9;K0w z($dYz6$FxoGfN$#AR@>y0WWUQNuMCC+H*kS9$>;m(fU)6`#!Ci^Tt2zHsUO6~&-Yd<2`Q-o2K}SYtfB+x@l>_X_9@&`Yn@)Ep#60!1H)<q$=Kg282|>BJ-?DsSG!%IQ6jf9tdqjTi>Tph z+req+o!}xUK>Y0Ce88tfL;C?lpK{IF)?uetAIYb&3EdwME@+ zh0(AvL)aQGJ+CkC4R@0g`ptm|N$9wq&!7uQD8OU-wLjRxe@09?9! z?E0f7wPsfl+gIot1e8wCc3ssv^gSpvnncG6e;{%Z$ERd$`dzG(*r-R)5R0 zq89C7V8HscBT2@x=gzu#95h+7Zpm%SPSqp#ndbu~FS0jamje%fxa+ISe&zp+~i0EdrK7T@ORYj2>gHJtPEqiiq(7)); z%v-x;T>7khaekJn=wzIGP(vcb^+I^i2#5OR*?jg)gg0kwQXB7?1~493zz^e!<~UVE z28*V^*io#u<{^VtAn4S|l25T}gHSl}M3ET0k%&5~a{};Wno< zju!RdlQX`d0Re($+u-b(VsB6G(2N&dYj4@@nN^mc%-Hw_(M&N`jhSwX4Ax(`m5x~s z8r^W>=A#7#&%rwOI*MG+)JrQr2<2D8s74#Y?rhp8sYBhp_G&WcJTM1xjlvD6r-o`) z8puoMVix3zw6`c?&85X0@0z#1_x24lue&Jhi*8jP>cA5;eN{koEJypuyJcW6ylgCa zn=XfE(uwEvoY^C9-PjjXL?7L0K8|Iv1|;Fms+ilE~clzq-R$c?8kO$|A`n z`yBHx;|c)sd5N@TJLAQcz?QuxhNI2D_Fpw+aTG`68!(#+g5JlS3$SCf{Y(RSZroH) zW4t9)PbTM<)Ep7hGG4yxX8Y8W7=y-W+~d-X`d5Flg*PfEhMm>ZQ?`>bg8B7`=e9Jp zbOsRuOYjP8A$N$#iSauXIdsnB;00l441psb6sk#+M_020W`zu)$p5AEkwD)(owr&O zTc7cG7(wTbdOW3KditJINY9u1q9skjZ96s=5fPy=qNvKZ0f%# zvT)~**s6hI;OIc=!*+iAwhgJUS5wXU_r6E58b1&fjx2@eEg9dZp7y_kVc%T6q-wqy zL}$MFXzI<)3x@*J@qLJX&|G-aBTj*k>|P~o5$n?ww>{dedExoP*X4V9qWx0p(V*4)uF=E=hR!&a?&k_>*CHA%f!nR z3*&o)g$^R4Wm`?}XK2Qae0d`Xd~m3$Z;0g{Gch2R>Wqi+?c-euB%eYmS6&QrKWn(C z9WT_4OuevnJ|!mY$eNi!EZ7kZ@A%vd?>lZi86J}e-?`J*Y0F-ST6xX0QShr}$Y#vU z&Yty{m0H5*A$5z+{gmAy!9l;{Z3$}vqN>p_qXbx7wA;aPPxBm6Y1%Y z#3ZISc2j^`_Mjt#GYz;UAc+Bg5y|Z-2hc4HAj)gd_~7Kmb8?{*t^8tTtz~621pf|{ z#b$7b^7e*rnCmv4RaPCkP2`d3)SeFYFEWBzp-^*-kK<#Wn01~X)n2;69j8_r_noLI zMc;bYshaJ+zl}?K$uqir4UFH++hdHcZ4q^2O(O@4`T}=($DIjIM#Nn`)O4qCj(qM@ zKxk*!cLH?jA=7Iz+x0T&h`tOoIf)_lL9;l|=!l;OSBj~To?N~k-FMBmVzB4wcaYL$)A7W9$ z%sV|BXcsoMPjj?DV%6lhHkC~H$b9>wm4sQ#s5wfe-5FZMm_u9BY)(!Y4hr4^` zyz|vvF4!SR&*IBN%9e6FiFUswgxU6kp9IjXXf%XSXlmWX;G)o5^GfQnGH^L==e5N` zb}P-AF2sr}C^#c5oxHZmGH3SKg2*bCtae2lb1MiqBko3+;*nC#ij{Hv)+?YZtGJ=C zZn${5)pkcSX*WmgizjAhvO8wyq)nmSDb4y9FU-znHi*fiS9TO9u0Hq}ttk2j4sz(~ zHOhY8EqL>skl3Bx`LC>w-vNCFv?2AkbGTxt%~DF6Kya5k1@Tc!5KG>#_93 z$U03eD@9}UF+eYdswl=+D~UGuZsTvAp;Iq1FpA{sF>o+D70v|r2W?jcr|p3pgWhW} zx9)6Qp$u>xUW3?{qhSBJ1IVK>5yr7YNP|5O`ve)viRk9sm)=cZWNBtN9xOje(_p51Lf$J+~JNA^=F9rHHdY>8|(=OXJo%Zf1^ zIb0$m!~$bZG}pK4;zxXYL`gv`6Nc4G0RfFKfmN}_j!kHqyXU?=5*l&9n*oz60Y@jk zYF``q@EtV_4Ph4GwI?V7A!V2ceO>*Ks6*gFBb{eSzhXiFW5gOdV{uilf6IDBbQwCx zeWOkblXdby8Of-nv}KmB0_G$1zZMuU(}uD070v; zIqpJ8rpl2YZv`>pz5q27PK;9c*#4W54$ljz)K^w>giJD^->fsx%*ZUq= zOE!JFd3Ec3Q4VrH{m3M%OLtcyG8SV|V}X$3FK!;ZDniv0y$pcDANCWU#Q(JywOLpo ztP%N9_n8Za`e0wc&)xHuSrA5Aa)WJc;Z=duOL8w7ISFJn3Bn;>3@hwq#;;LDhK4|% z?)XhWlQC}|A17U2`<@f36&At@-`>Nh0jK^#fi%d0@faYzsqhrUk744g?AOalYYq2& zftI2^gXnda_{+l3erzki&&J@L}rOjYu-Y7u7!pQ32$iINu*ZJ~*eCTq_&n z=~-bFUWy|aA)+2fEa3Cr4oDhiP)$iks8I(dbwE3+K3BMLd;c^D1h&+g= zks%oq`sxml)gRyz(fe)QOA9!RoSDVZ4XH8xkp;k0W^pV>KIlXh{7C>;9qCH;=0kdY zmA&c)iRZQ0(CUm;rT^jv7_3$dTO4J^z^6tiq<3pW$PHi|kkx7eco(e5{Lcvjz_N#k zUTHwDbne0^48ITv4;?Iw?oHbT4tFi$9hD#`Y0qczzIzh&k9ZW5x`Xtd&EeK-= z0(}oK5WU8*F9c8=Zw^IKx6fc;<3nN~LlN{g%j&2Z^-}+YP4%eGGGydC1nie86^Rb?&?p|Q;cabW3zQ=v@ zcz&V>aj1$W?zD*Nb1^k1C3;J*zTiWnDf1rzL5iCQlxQ_HyP=}~IInW6xW_r#_k2TQ z-zk5iVIqYt31aB>GnfV$>wtv$JaMvfEYO#8q^Vd9Xq*5)CK2#A7yvf3H5kNtZLAG3tZ z220)RE;@(?3+gA|yflW1hsa@TkB~M-a+LuXg9AcfV@R`Zs-sPZ1Smh5}$|Q@@8%tUwhMv4$F%d`QI8whZ(|*^|j%1tOBjimq2rpy> zGrhp<#ot&S@ja*QznzZP}!!v>X4inn;_ zO%)OYZz{i4-82CZRhzpoj!=zui*q@&As5x~_-6pkA8G@v(!fRh1E-j$+euqu(H~A zjWn@BNl1&DArJ{_Ak-j@UMaI)H>!YOe{q?m@CRCdny_Q~Y3TMJ`1~`HC96Z`Q@{ji za~6&#I}}Y7SW^pp{cBs`KN)yT1_f(K!e@N6=?mZg5fvnMs?8&B%Lr`pZy4^Wg74dj zzs)qbR(X!t$KG2ufC;1Tf^##yL!Uxc$-p%be)JjtRkf0%jqsbZrg>PN0E~?VU~IZ* z^%m7Xr2I?s{<&->ko3O*-_HN9WBkRczef3KfOM{2cWO`l-=h4F4f|W3KGlKk7AL__ z|9<|56o1e0e;5Bhfb2qJuwTivVut}i(Qwt#TnJdQ3 z>?KjjgF9y1>^nu{SNFsQ%bu)Hci z`6HtY=n(WLY;ARUybXKcm(u$J3cIvi&eg6%^|w!(vjUXKq=u_`8a~bWt3+cM*P$l$ zzxgDHefqX5&fmnLInMHAjG|F+*PRU-lu@=i2FxjIV%jB=lfo-a5M6`?VXY1HXQ)Zk_ceu|W!?gj4GOwWBN{2nx; zA77irA8nN`90y`yXP^g<^;flgTx^3%`%YA=m)?}(kupTxvuM5a48k>eq_paf8Ta|Z zbjQV9_UFJelk>4&D$KmEkipzfQ88?4+GWXlo(g$-gRksik`RsCFSJsuABDa~=T)Q; zR#wNQ1b&F*y+qmaY-{yLmiaA*5vLPM-`g78_SfD`%T>uwwN*qG{G+b$ePGcj9NKmN zR@_xm(5l3h7U;%-S(&;=mHiwQk^PL2rd*}9ogblrViQX-`dP^K_j6QDHY*zF(Nn+V zzMvg-ECg}FWZjouvG< zkBkEA1_6|sIxTR5&7E!J$?+gVSKd&;Lasc)`|% z;X^+oJ2d(`*PCe%tyYdq7Yp_HFt{OAW0YcZK5U0y1y%ic!djXKO)G0yk`K>D%NUyZ zs8Y={tUQH`%I;QXv^gb--B029UA|Neoo)U1*ksh~q%Rbkuq9onWqIwb>7!%lEpki= zdUN0QwI*8K{~e`f-|W^v@IVEndE|k72Qg(Zw(?hTcif3z*p1y+g%wqVB>CVMEqDA3 zB(#0v%-Ka}xrUz+?QBTYIe{GlDdb&jj$(Qv8;<&FIud+-fT>a11JyN8zADJMDOqneyW+{-TlbXN zqyotF8(zyhThYe2<0ER%79BTi5x%28nxB#(#wwoAN1(&=m72z^9`|}~+wWTh>drokO)Qa{WeX9zryaDY3h6Clresx^nzsfn<)9r8_5E? zbOO|dv7<3tzYtMY8y2&*g<6bp$xy&XZ?pVhh=bU21p6`%{c-2Y}z=xGo6jehv znPn&xP??8M6D>yR{37bzL<;}AW+xWmGF10Ynt=V%6QSh2z9Do?^c{B=!HlaukE4Xt zbxl_#u2%)Jh4Xr^)rZt8Ib~29vz$oU+=cIFJRdlpAVb_fD?*IQW{_S4t zy;z8W`8%HU+K}oI$>!h)_yf1<<0|X<(2Bc;XdP32woNX+n5**_a3vugK6ntHeT%F) zcD^(U4?Brt=%zG1woS9vnb-X`3m2E_NQolUAw77+aBn4f*8stOaInd{MC-h*1(W0T`D-60#M^@LnE%pIAzXrkS5V zhG`9@kzrj72#&;?&S%ApGD?GI93h@Rc$B$RV=xeAFH+j)BHZOA)I($NrRFFDJkw~3 z+NDm(KA|CkgpS547}B$4BhbE0s-k&5gN%0HU%WUqzaKBjNG@xYi}jv}LaUfQ)g6)< zkmu|i>LjdnM48Ycd*AJQiU8%{GoGerYSOGys;MO1Um;3igl|9l2;rk8Yd<68wR>Fg zAOc!P9AAm&S|ecISdH;p>WXf#`2{Kd$3w=Ifcgh`4ll2<8~tuG=Rasy(>4mlBFFmh z#u{4`vMYxl$eyY5gUH1Ci^33DB z60=m_@2ilZS^CK`vCAxTtkv%+UbC41VW)U=!?Iu5~XEjKL$ifIz#Rqo$Dh3KOQ zBz%V3|1g&&+8(au=9xtsxMDHnT{;pai%!lXu2pwZ1z)T2xYI5w%|j|ecXg|jd?S@P zAOdF2SBI*1$t&gN6LKES`ZE6^{ltM{+94E9xKo+6cbuZWo56lUlgY7JVF~@{Sx>@SeIESAMnhB!Br^;1Lxvxi=h~pob|rL^)mG>Y zc|ue$5MtOOw-bp!PxcLFYg5jRyiGn<+lTP11gq~#r;p%&tiIjN%WUg3mU}_m57IO2 zGvuU@-zg5He!vPeQXW+kQtuNURUPpJycEVs*U%FEOsHdE%4?-&L=@D=ihXa!1szc? z%v>r>0!sX{2^ksth?|sB%(YludJ6cngihp|F}EiI^jrxR?Xk!W$Y-N&X;)dqmUNib2ZTg%XqEx1Lde8%;oD!Pf;K7n=$Cf1Rv3&Qq4Ueq z7OTARLIn3v8ZQG(A4A5if~y@)q$QtMFr$_gxKllb2oe8S+hT@EV#wy!cR|$rv*z{E zhgh3CVRo$bs6rCN5PZ|M>-NxWhS=L-(>@%Or+0bb@-68$ z0UD^0#g;Z9*!Ayfa6@F-tFHpg_K#7o>cHuGe%hwD~_LiV#6-0mRUWtJ4Y|sQ} zS=}V?mb+jY*AYKSA`)&OAF3ov^`Ma&Ws$mKf{yEwJhsWfFjpXBW4B3GZzs|WU&+_5 z+Thky!_w8#A&c>Km(s`5j>fijMZX}qhl{tI(}UWY8;lT|8YEJHVWVj!ylUR$eZ*vA zaCf8qh!4I`7=^FrCc}e|#+IEhe^Q-X@L|_wRTHsP?0IU@ilXIAkViNmtKPD;-;&-( zZ|e}`?TfA*t(`fV`5rrCJ_J2E_SyHH`@)|SL(<69vIV6RZwL4!JLo_#NyUTQ2SeO3 zVNdDv?2I9g6UgTkFY-pU9h4el@taNxj6R}jr*#5;`2g%zp>IQpF= zTT$6&mMCWCcQYn*B}*+K#`1#s1ZY%rNWTy)vX%x;Ij=(Lqwve5#>fMzGw6Qr(8#ak z@Zo4f!h#W{!bG$bM~e*NVte}5&qZfy#@)x{oz7H5PMJYgM>|v({C+|X(_`$!NdDFD zxv;?;Dc_Wbe6E}ua)lea3!S>1j7CR>nsNu?>Xov}AhY*W$@6jqb7Nz0SLhA&d>fzK z>1yTsKR6I6vbicA+28Otj`iOFAYvo{)Ev;0|DOS%zboth@z4K>EB~5F0W|f%u?V1%IrNm$^&MO8!c_G)r9H|gJZAIV83ArdU$B8AL*V~!2Wy$$J5$g!7Zhy`v z&8aql%kP>Q%1q5OZtX**-`iP;MA4YPSY3EoW7vl8h;Ap3acuRrig$4&nfklSy#+tc z%)l|D+J^XXFPG&@)rAsavwN_g?J9BKh~jcI_7aZP#|bE5PN=wn1O6q##!VEK!1sMK z;DO2DT@)W9JHGSg*=b8{XHTnC`|&292&S z+W3`|NDRb%`SEYu*}tJ!pD{NOkk-v|y>8Ih+f=4JB&7=G7cxoXdHb23Iv8eode~#u zFeV>tI($VOLG&|s>8s@Uwb0!ftmn~}hk;Aqr5}|(LC4km)ag5$asJS@X>;B+Cua5H z^LpexXh+IaGA+%Up_hbRpOr&!e+>)_q~NS{)j})}S#Z58zKpnAn$5Met2|gl5$wGw ziK?~Jz~;Ir;dxE9>h?qonyMKp36Hp6G>EZOsp<_x*%Qk@bSCBO?m*$P+YH%oQkplmYY#z!w@0jHKCydYd&0_fwL<6re zd4XR9fBW2_xc9#>G%9O(c}23!Y&LSKFQyO{iS`e7U*Md{T;NWs*+Y{_1*9mP;jIOn z*Wsqm>mNF!XEZw3Kc<*-}4Zi z{d)Y?-7Vp9E$HLz2c2m@J9V@<=VPzX3}baX=9nfPs=t>w)ztLG)USsSxj#1d zhkvyeawyT01lQ%`?a3|-sa&HcL@<0&Gc7Sj1J~8SDAYts3SD8HMr@rghi7%T>4Q!x z+k>DZck~BSd1~)Y?tE2xlzBVB_s_AUz^EvlhDOFE?}xrmqfQxoofr2m zWS%BS6}F(O8cOMWfRvGmK}GI|;c7JDm%7Q)r(lmHAc}IS?m#)y3Q6qpc{H9TOIaXt zI`E{m(XmXZY_IR~O>mGVOb#uT^{(sYZ**a0Mzf~W+7p9@(ua)9=XAnhEn^Ja$R*U5$W#9e9{#Ua5Wsk5%f)X+H z&3Tk{AdEUzmuWxQAvGU(1TqF6Ec(eppP31)3ztz+@}#njHIVw}$&NP{n^zWRD#`HV zk(F^AsmkXqv#t){9kkNC#@1bAPuX=UoXGtbRlE5&XMWt;jJOsn$_HEH%u z2r(s%_BU@9|11XbhR2&H$;H9}!)HS6>;kDXQ8Geb8pqwyaAyet1eGSWx88AIvUdQ5x8iio;;voa*GlN!3lfd1e4`Ljx-s~IQmU2X`O)JQ z^=6ttg9#HjtrorgSW^~0gPA(C%BGm)GlRM*OT*i6>~tNWmL*B;2g5&D(()~Nk_X5O zU%<=rl@GW1!vB^OlCE!vlfA&--9EyV&;HTjm(-dD+3J_Ms(lqxuUc&7 z?S!a}NK=jn5ehaCXwL00C74eF-c0HTE59v$oppn8GrOPs0U2o+)dE;z>J$gMKd05x zP`v~Ub}p#d0OLI7`}=wp$66E~L@6jn6^|5RJlA=uKty$v_vkHaj%lGUS%P#@m-bh? z$Xlkk@r0pzDQ_oIDl8U4J($`1?V3mLb>-|nL)S(tn9%OL z>t$8q9@WXFo~0wLz_t+Sk=!n79{r?wOxRoHrLVr!g`iAeC2&MNa`)UR;thV5(7R3^ z{}9zVyKq_9UCW+6mU|l@z44}vYt@VVX*#*cm62NT^RL_qB@8e1+!zG#lfT`b67v}^ zE6Ja@a@%S!(t?~wR@pd7WGDq6@Hfl_!qD#;2?({7J^TxhNAK<2dkm@M4eC~wwAJz| zsKMWff+k22q&kg-BYr2IHJda9`PQp?8RI!5(Pph;5UCpl+OCrF{kTnOs9b0>M*qtL z(*6k=e96Yb$2$J`W8ulKl=kH{F}Aa}SD4?q0!N2X$Ii?PzjMh5obYAOylO7E9oTlR zn8ueu|AcI?#vxz~_3Y?TtCoU%R_}7z^_@LRt^m^TMl(8T?2IVw?82YEI7;22*o~@g z?0W=LzM;J7#ON1tgyTNgK2xddv}6*Gbl{p7oO}9QGUG=O;Sst=!`gwok#u>fz7Z)1 zkAt<~&|4qzgNIhV+zzVCv1Y$Y1Pdql4+vnIFoxr@CBKRrw5Z1p3B2cP{4q-524Bs= z|LM62W~74rf}P{(3{09V>OcZBqZkY7jV(LF^J&C}-a_?J^HgDpCC(AHdi=vM?3EtM zzRO#`zv;^-Mm9~{94zbE2aUO)uvz#$m0|P4@A2z;?M7Da*;>gG_2inGrhL40j9uH& zy{s{x-gW^u8xIc?&6=i}!8`Df?m&#SMkbG+X;=_C9oX zPR87RheKXH=jd+)Ew`>|)LhAif8az_@3bSXNg4Ca?6}pSR-P!}IWELY<7W(9kRKN9+OkSsOMx-`V;86B{6XCYBt0j%_r@w$`krY8$cxXpBIszI< z(&xkJad}TG)TGEf8vg1`aS=&a1-5>gta>>RF*ak^Xr6YNi9tf~p1{3mVEh`yKGT>$k z<5b9%(A`U3NCkR$e~-I84%(_h^!ymday221L5mx(O3;vM{U%r8 z13^iUGkp=>NWCXn&`ZDYBSrhbtTkH71qtc5{$OR|5jTPg0aP(S%_e1^pWbVd82&)Y z)Jjn-4Jyi~UgOS_Q zSvo*kOKH!ZN?v()G@ox5?ymgArU0mdtEtN?xvm<2*CGB)32J=X@q{3?YYZ>&9?<*SS2KFbqC;D=(K9{`|sN7<| zh=DTlDf)sj)ZZem<3A@?dKxwO&T!M#QKf`5Q&$bD&(9j7^NbAo66R{o1=4S=4bOcM zO7g$Gaw}mjEyxlRZpgi)U$bQqYi$^NL)L<<1-*FrFabIC;H8xbPo3!vhqwE1bj31{Mm{O6- zmJ8~o8FA_oyXbB4s78|nrtU}Z*qZ1wdw_iG4O8)!)Jq5V&fn70(BujXX8ycskREF` z8K34ZLP~gL(#HVt7bs)Hb-345MfshqU<7zb{_QD6w!@_Q_KK70Iouy;!enDNkxRYa ziH?r@41g~6fjaOjcoc_y49Iu>#Kew!?Vnlz*B{}G;;YI-cPcS%w4L0{cgsO9 z%$kSx`D^p2UP$cM7fwk$--DSL*E2=E^C21{WKI6xWo$Y}`|r(M*@$5*l3eW3rEswU zuXy81`dcgJ3t88<3?^d^)rF(yG%lv{L~%YAoLPSROny~w$oJyGi1KfA!U+ZXOz@*P zY9;Z41y~q*+tU#3C&Avu;8^a_0&P5X3UOdbIy;5pSZ#O6y+fic8pqwI$ev6Uy}jyE z^$8gO`q-A!+T#+RPu&{TFiijSiqqQB8cIis%vkEZ)@C-Ig@0J8=SW>=Ekl;*nT^qE zy^tT!JQX*Y1l4r%-MwNvAI!a(yjScOj>&K6E3`s&EGZv(^q{{ zkC4B>FVB7}Pja5e@Zpr~Q1Qm7(tF7Rt%Y#hhjOzRzD0TI$ME|N1%g_)C<2~3T0p}@ zTAYSgeBG^R)SlkfTbYI1n4T4@4_LXDyC);Fg~>q^Fz5xfMb+sv-qX|jgUV~EnIe(Q z9p^sIi*BMG?o~fy$ZzJQN|H1o>P^o;KSV`Dx!|JgXYx=wDOIA-Z>HzfAFEi<=KA2< z&tFa)U78wG0=hF#*0evx->7pax_3S}PqvWj(eAckN=SUquP9+Y@)K$e**4+xu&?87 z$2mW}J$A=`u}z|c^S;xvBjoiVHxg68P&+4yJB;S*9R887O?zUhhUxPe`TRXOP~d7k zw#+=x&2ng3iU_;0$n&!XB|4xu)u(`T4{a%!vu9rHtVG|baUrQlr|s!b2=kqR^l#g` z78nUCL0v6A{4qwx{6x%G;L2?dlQ+Ei>a3!pZCxM78rO?1NQL&F5JUeES#-NodwOo}}X{zWwRFuDt{mTgEGQXQ8venc)}pMzLA~>%uS2b@%VRMU8QK7BC(#WyO48?0EW`N}sFkNDw{)J+Wy)m&e$? zW=hbR1vG75iRRu&^m`6^E~#p!#_( zi|fAWonjjA^r}_0H(5X%-cOT1pVl2#aR9(}A3{b#YN5;bSF>2U?dct)0Smxs!aKle zOg;Ab&(-WY=<*Ad7dC$`U)r(W9rWUT^GDo`H z2^ww&4@4o#F2F)UU#=8*;z=~_(Oz>h;Ikhp(Y3AbAL?zyKDuv8iPUD#ECa@b+zlZv zd~Pu`H|RM`=#|r`p`1%}q1^k*^*gY!s#xpv_t9E2boUCC#9fywG!#*318X!xk`Ijo6xnCUIT+W=u&W--9}qfM9$byF zhOkNyuQtc@bM(AD7n~bvv2rpOu^Duezo_@Y&DIBn(SAib)bn;YHQzAwNZg2h$;uTo zTX2)m$RXPLu#U{(F-8&`b`8Kf%;P4SZFMvJtg3)NtQmM2$f*lGpi*D1)LC{bVHqjyk; zA^Nz=oARemQD07czkFInTHuQ6LJw;kO}6K6Cr@8j{a1_hr4IJ)^wk@hD{->Y*m$}) zyIW5xt>v#s_Qcq)d<1Fb^;}^VP_b8XpJL`*iGI@Lvp^H4B#kQSOZ#Zz2VPVgCu-XZ zet~@=g-q^$$_b~K99$Wb0`<>m^-a7XU$#V2E@=xAvmSy~b|rU;-XboW$0lUsg2qa) z3v*aR{jNa@j|(tCxnXg%ZCcfyznaBWd`Tw>V>FqZZNuP8+Jn!uu$4F3K+RAoaqEUk z3GE8X+u4N{N9WqwCzD<_=3qLyu$7SlaA{NX^L{%-+)d4ik^Io&zTf!!m{t!W@8ER#@ef9W_fStBomBj z9CdJC8cSF$H5h3sA6N@67zuheDF~FceVZDcFrz*dlxT}YUTJ#Q z$waJ|8kZaRxi=tv=8Z=0*dug|5mtdx%Zm}iGzk+qfOnqb@Op)v2a08$%G6{(da8_w z2Yja6{8H?OKnMH64kM$na&*uL&zWsrD3V2LeO$ZybKh6}aAbWPN)Ql2=03j6neU=# zl|u;LYqUUd|A?5Mn+bOS3s)wOLbOp}G2kZ;8R#fBv-*oSap^GHrX^`XA*F5Rb^rE-i7fFZ?A zmnh0?`@Iy>o^~KN&~(4T=4p0h_sV{?b%_Aljg%PAL^DO+TC$^=Y8e|ijGR?#9I0eS z{w%1R$6u?Yn6RvNZXHHW@B`c#h^(re*=zn6`B;R|6V+q{NCOuKgo>0-m?9uhFF15+44@Dt!4#aqAAtk23f18Q%>dq?tt3Pxs3(JC||P>-gC8-~&0H@?9k^@6%hNsVY69am-+ zAxxyF=$wj?Q&^OQy`?vLW(_aXjFIbkNn`|qAd3s8DUp}^wKZHzhJ@6#*tTstyVR^) zgk4b59%ktFU~%poRrOI#+(pRDS8Jsldp1C&2J(PlD9!S?2EZO&PvNl{OOk0eO7?}^ zm#;}Omh3{d9};Ux3uYR{?<@_SDu%i=?O_?q3B6}RKjxsr!WVI>hc9I7yPE>c{2!q?JKm~V>V1SjmeWX^l z7ArziTM+j1Edmkt=&>z{xp}cQY`x0->GW))b*A;x=VH&)vcd{NsQ0o(yO<$!Z>gt@ zbeOD+MG92+>4%ekei|B=iIkA3(TBJBeX0jlP#sed2K`{32fevDzM5l*H$)xTu>ssJ zU+!S@_8*9R6xz8<6Esa+(E5q6)>7q=!zB}1F_!E2vpEyVd-L992UJH2hdhqD!0jY1 zgv?HEE)?1%7yE+kN|-|hZojqaz+hpU>g7bcY4vKJpD$sV<6dZwIxd(Kd3UWY#{P*_8;?&ipt({frjUS|OTv^Y?wFwB2zwU<-EI=FR>7#7O!x-z zt@X(xl9#D#XUDqa2I}z8qNJTbmj1NjAPCe`hMzV@hBdeVL-vcxO+uy5(}!fbkPRE#9_XIA;Eo1sPljppj(~@9uig>u!6zyj z>4GDqg}l14+drM9Q@RY?^M*j-1O7YbEZc}z7mvK8Uo9z&6Ytir`MPZAb$EGWJ@&vm z+-;D(k=7xhyQ@3Z7XvQ6)1VUDO&Nh!PTu?Do8vk_gYXGV$VWLMX4Ue1{Af2m{gP@R z1V6%cgi+jS^duU%hidX|*7siOdMVRX-tXPE8V6L=(}4#yjO+vkot);b9pIxhpGHw~ zCJ!|auG2W~-IY#}Gh95fOeyKS8sSEs8SL5w)?~W#r9jOEQVE1v#))0+n#VFiH?|ap znuM4R-wj8p^25Hn36uvS0i3hbK>=>W2AZ7S6A?BLR==)M1DFjQRdwTn1=8DcNFk;? zIxJa-6+Q}p2gA!l=g>p&+`f8NDNur~#=8kfdm@nz$ecI~Z&fFvFuT#Aj7Li0;_P<< zcD*80%QU&CCX|oAI~l?s`fiwb3YgsRZ>NrDo@}?*$33+_cD4Vb?BQ6z9iVpGyo5`N zyvid*{!)A}Lb3CpnMfJw6vnQ$qmq6$W@lO-@R&=p=6ueCq5(>+{0y z1I>1u0c(kx7u+s>udXYEhqL~C>409@@#uKvfSG8CO2)gVTWh(ZXM89!&GX2Oozs9f z#wCFwE_BC5LyE87rlMSV4$|0o?=!c*+{Ky2rE48qv^E$?%zCFzQrixR8r_%ubBsKT zM(lj8$3U6_)$85VsmwvQE+I!Fc*~oTVDk`P`MdDL{87RH41;?ezIJhaHxfPeK*}=b zNZ#<>p>!KAiGax?RPLx?b>N2s!kBL(a!wD5**Oe!MnkCoC5wu+`MKPh_ zpKIA+E^?zhpfs%W>_nTJMUtnF3y-HjR@>Cn%@i5WEC-O^QTcd;6~H}uV5-4$x}Rl6 zi9SyW!AUA_pnag6n&INK{{0#=3pGskK6fQlIXxmpGM8_&2+tXZAuc0Xw_6jZm&Fx) zf;lTYoh=g1Mak5EcSkc z=xWId#`lweIL@K%sM%1n9ESOkjVTOd`6evzCTXB_d(&9AXqmxReW*_0!S<1x$=1q; zuppq83yuve3)UiNsS`Zkq*DWPWC+zUQ{HMwBUyrEwaYra(Qf%*qq4BNR-2B|a?fdS z84phyCk?jW#W(74uHd;EE%Z;FYs!H~w_TW~ zS9h#eWOkM(8^Nv&o|v!8L7}oP5;YMPv-Qb%*D7SHL#T%RuEsqD^6+qb(~LBAZY|## zq$N1jYVzS@vd<0$^A#5~I-p$Wrm$fMFj4?Belmt&OuvdXRPJJFb4a45+ecdsU306q z1j@H_@RksTqMTLqkF#EH1=Ca}8fbsL=VoHkfi=!1e(n3VY^)n<^>T~7;rGm|Q$w|{ zX@InGUIdBDs{wPLh;VS3?@Ni40_O9$f6nHhr#lJ3UxHbK_8U+_@Ulh-(^_L9L(q&T zv0&5KShjn6)Dqw(=8}pEYH6Ki2j3X@C!OdZ8hGZhU%?E2WXgBtq&(}<$RY9rHQl^~ ztScdbO%Ex!+eu(IbW4Yy5}dj|{1grE$vNdR;$`hXeYQ;;IZF4~Fl5Cuv%e-bT{$zL zTM=D>mOm_)@~wwG+xn9uyFVvdl6gtzk}Btng(qP!m|IFi_&9DxEqI#!nd*cwPJ9B= zL}q~6Cm`{ z$}!eeFaJ<0Fm=HG48cR()(ocrJ{liYE<)}*iU;Dbx&1|$0K};;!(qn$-MmmMt&AcD z>T1_6jSwi6YJz9)C}+ZXB65ap6b469>Q>K-;EdXP)dilG&ZtEgl*?*1P4WS&ZP)Ak zr`z$7Jd{hMIsY$}xrLj)5`gqkhE$Udi9&q@4EwXt2G^()C~l;x8zJh~as+BDH8i}h z$)hMj!?dFe=agSd`>VJFkoKBtTAELru+a)_np6%Vw)GZZ$OrOHKJx9VL`+*KzLRQa zP#X1!K%1zu-Q2=g^R-!}>MIpKhwMzICu&p|W?c8}+b;mi9Nr%r-@R{Plw{ndo&i-V z*m0T;maHkpy!PL&{dq_{6S2-BV>Ywqe1565(^{P>-2HKmdl|9&OI1O0%iNYUJ83 zhR%9AfIi!gKkbaMQUF`qx?SeV;bIw{u<;<%L8E*W+m7btAWPFMd5vP_5hs64wl)8T zP97{iTdTspTrG^Y=FG66hCb=3NWo6L(fYMnE4G-)q>WDP3@B$t#MoX)P**%8@X)d( zK#t~aZ6yz({&{@Tk6RyeFK-oFzdq1ZF*D5F3syRFbVYpdO~E+PMkjHk@0zr96sL{N zzt-xgss&@$uyARz$saepVy3YHEba-C2 zb-7W8tZ6liB=tl~Yqk34o5kVTEPHhr&!nG0xz$JDB*Jy!jahy0o+xU~YX2Ul{rh)o zS#P@r&N-=w(>dYQz@&G$dg_w-Yp=Eg{H6?Qoo9!<0XhTmpT2A2$*J1zu{Q0Y+gSKwct^i zoeGerXJ}Wb4%M*?%b0E?8wcp*alzv1cB|?^3*lTH37z8;0V_8|qj~HL z;hkB27GM-PV~Tcuq+P==r4afk0iRI1LuoBY#68EbJ0$IX5<;x%3&%k9Ay`oQ6?!5ita`ifU?OEb!EaZd_=1I6 zvcZLDftt(nNNqWXd^C<>Hft^AP9=lG6Xa1cD{!>q5%Ca2TgJ``yg5xBAghQj6rlO* zpQm)R(5G*UmHv9?zdr-gRs8qQ{?Q_Wpz6VW{nHKq?J|Ef=>o3w|F{7y<2i0t;DT3K z-+yRg1UmoTng6==6Erm;KzH8Z`&&Q%>=n&>-v2Rz-&>wp>jIgzb=SrJ*BOI3 z{@WngsSBDz)#}lIXrhHW|8s0mT_+kE$C)`v*grcA1$vnO=e$y{`^Hl%Fh#kj_ ztSr$H<^k*~fJH-?^SYHr&U^I7Y@XGLEZ$f29h?RlmQO$YW$2BjXqu$Kr&4 zlR+FSMgC5_{V_GiG2=L9P-RR1FCoKwpydky&>md7s%P=L@s8>AzoYuN1bbY9{WI}7 gM#le_$XKHQLT!~#ic}7N0o1>12Bufb^c|!B7r@8bfdBvi literal 68652 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 S2EiB*AR-|7qwKr3&;JE0L-^MK diff --git a/doc/images/dolibarr_screenshot7_1280x800.png b/doc/images/dolibarr_screenshot7_1280x800.png index b17b57e571ed67f2f6574aa946e859c5a2e24f4a..698bcac9c8f2ce56421efb5e99ab16eab00260c5 100644 GIT binary patch literal 160082 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

>71%us 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�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 literal 87239 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 diff --git a/doc/images/dolibarr_screenshot8_1280x800.png b/doc/images/dolibarr_screenshot8_1280x800.png index 6f2341297a6c34efcf51ea4979d966e3505024de..14b9c3693b18978804453a75136063b0469f62a8 100644 GIT binary patch literal 238059 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 z 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

;S2m|rmUy}h;X03>fv zo=s$1WK3}SRqws*j6I+bY(AhpFVGdJJGQCL{DDc<)Zp)S`Ni#-dCgAjy9DvHqN(i_ z(3@(g+hMgb@Cr+J^g##nhoHgUgWR2-a@lCKmoh$j&sk_dv(ZrE|7kYz!hi~q2O-a} zB*=6LQ|De2?DD5ZFS!l8y>33D{&GN=Y^y{vo{!x!aUwu1Z8Q)%gqZjy8#p;=%wI7~ zhdz1?l#bk48~=ya|ByY6b*w-!)!MY^7sMpB-}_yH2Eo-lItzzuhErTShuFp z?XT3XK-EQ5H|@{`j0wZOLUE}eGzLWagqXZ%9S@&=vIq+L7;lz}S&P!Wj4^?0+SHXj zjCduDXG^~phlPsrxVlTMot=0pEDzVzy<7Gp>X8=hv><`G?`T6O%>zQqU{e?&|MB_F zv-<1SH&2eqkG{3+G$YiIUr;pipt|SnWqDAd<+_%e$ov$pM$mtpSpmSk`f)79;kMpT zZ~9K#b*+WN_}O8(M7ki+Q@J;`p5yFj6DZLwf^U1QP`E_Lp<~sA0{yg8GMn|I zj+!ZU(znLmFFK%O+*6@T8n^>OE1k(M4|tiT3mM-Ai0DqyP=#});6ju!0K*!@VPqW9 zA-H4!yF#KZ!B~!v9oqz|07GJj(6-(GszVPg^De)nfQ$uZ&lq&sF?0(VMXygeQf)?3 z199;u4-Xc|LwGo8(C$hc7d0R!A|}gaJK0JJSxOD)Y@h4UzO5ceA6W^!>sQ{u4PYZ1 z6hO?E3*(n}Rlorr!8A^(Utv>QX(r`#QgmaNqh&KHgiP_EZ_udYWH8IY-Y5(Bo}3At z_?#)CCJZ`iVF0}_*VI!Be^HBm>q6!qp>%M=k34MOFn$jiP`w-Q(y9AJayR|cN-@T? zmr3eIO2p4%o?g$`8~&JrV6xD3=}|GmMDgC{0!Wkvy6-kn2- z{L1Wk>N5N0hn+Y81?DW9bZ!Y%Fsa0L+zOvCd(nMp{_n**8vns20L1YD?{QqGKBZq> z9jYl(zf9B>eplO6O=_ zI6wjy*j3*YeyTKu;ZEdE(|$bE|CxPsPOUekkm2+7dx*`izqs-GYpTwb%F@ zBSuRWYQHk!v_YSE)KSvu3Pn*ml83>IT^|yc5rPNc=#MQvTGcCi{O{w?W=8YZ4zr8` zX%o3QfE7d5a2Q}!PeyG~%>((VZv@HU4|%LfwRw$i&j0mw+DCQDAq`eUm#6W}z>m|V z#UB-TF&-UI702600bO}dRjo0DJKoXD?Mh#0ptQ}vmCm0bQ!6*WT@Mfp{P>0lAKW58 zr7#|hkHo9k1~C2E!nMzPG|6No-MX#>&5F4ML_|S#pHVsI-^=b`u+D^i=|41sjKzCJ z?~lMGw@Li5RT6bUgD?KQRXUAu2De5{UGQSqM7a)~QD|)RZVa)W6^L?=?|M8w@jn2w zEjxb(@{A>X4n@ml%Mj*+tD(mK^iBRWCSSwu@$sp~D=2kjKL240xx*E{DStZ&yoVkn#vsv73Nn)|m;aswzP_2H zxWehyz8=kZTFaAE9F6yCP z1T?EZt2eovJWm3FFq_Y#eKg5u9KX|JiJM;KMKl;Rjl6lcx)^Xo-N{{-g78SqD{Z8%~qjmN~ z&Es)*IqBqwDv5D{FGdXfXA8(F);~v^-Exp}i?_%my^!!!2=B}usWl}NOb`E;{Ar`4 zZiB8-9%$HOVOLPE#X_^PA*ZU=H*gVaW-=mzX92W<0_w(OIH#Ugcd`I?PD)qRM?I@$ zLjVWfKMhU8;XL4F7BPPQdMFYJSDhccSVp}<8w-*SHqf*lKzgZ15{b!jzAXhzB}qy+ zNd*1m#R8gQSO)_g;%9!qi}|EbpwZS&Q?ZCaecahFumUK`S@D47SMQwjLBaUvEdBDu zVDN4EV}naQG>UE5@L~%WQniI+DU(4rs8rkwxuID;wUwj{Z>g&z0HY`CH@;^Cz84!t z5vDv)wf%7?e#E=?!WQ^^S>Gm}15XfTS;V{7?I^y9JxwB-e{EfD(9A5Hsg)zX&P(17 zWmo@%uzp9BR_{Sr^1zMavqS)Q`#?`%>w8-Z@?yzj#I-6XzE|8d8?(SuXEM$+#&Ms1 z6o@`{Wo;cK?kxiztl$YwS5NN6m*;IZJiG-zNJI&4Y&Ma#Le!aoM~C!%Lr-s0#3NpR z?4}y%9NX-Lq1s05O!s-qMP9WJ5}eP6l78diZ)V$V#GQyE+gtLWW#@yl#{izs$Jk$r zdo__WR!`4K#XA?nXT1b?=9Sk~?AWBNd_1Wi1-%(dpiDG44H4;XKrKe&Yl!v7hnPK_U5o>mD&v81c4`+z>J>j!*vyn#y>d}1iqLi6 zQWNk9l0?FS7Ax}s#CMWX+1y!hbUa>bd=nAPH>d_0*5kFK)D^pnt6^V7dQ{3t+ zecVB|eg{R4hr<#T zl~I%;xbP|TVMN*@R+ez*$Dyh<$CIQ%|u;H zF5x5-;;2;|6Nt{rBJr9p4YCUZlDXLwNv%zGC8;@g)>!}9i~Uh^Kl51txQQaLSSau^s0aBWdBW_`7p!0Qo3 zxhG9ddLP8cWP}D#rV4HMdh#o$=jy4*-*>)5G%M#vPYyGXRHkA72oO;FWn0qW%$xTe z^TXQn4!0>Ni1jg;*m}@D;$ch2Bkx>47c*l(Mi%RdCZM+$I}XKxh!d}y^9QttPIe$5 zr9#(koFEA=9{SY~W8zSVuM%dR9P$QEF&Z?lq_@qSSyUg)W-ERd6o;t#%f}YDN&yFA z3t{xn5{w&7bv#7WqJM61u)8L#t2p7lZ$faIX9Dz{<+4;IPht@=1Y_%0{=?L5{@5Ui z+nZoapfFB^Nh85ws!Z_&H1ndjay>8widOf0SKL;fsl<4%AHKCTrh;Jn`(4gk+Ol8!@8^ zb%LSsY-hFP%?48CG$CvqYdBjZ7!2}=0omfKImVL-e~#fMtM_5>Yhn-_QccB3JP->1Kv}iD$U2lbu%-f^%%~t)$+78EL##{_7!hp&2AjAYBr&eb8#mqgazDoCToC)T% zuq|~DtoI_m?6o_Od3`Vh(l1Yj;}od?ypD1a`1Ta3%_(gY<3gOfZQHKnLrF7fgtPpb z&}fa$9Y+!FuvP+QdFcbL<&jKCA<0v54Q9O#CdX1oVrcJ3F7tDtxB0mBD(eBzTQ`Fx zhbK%5)>hJ5w#X09U9oql8utk{JvkuCv?lsMo)z)1jOu~p;B$)RpVwAz37={=LS>WO za)0WeQPPe88acV@!u}=(CxV&qx7$Vs$1giu#gLa&Bk~UO$By~Ke&%Ab&&0&wN5#`= zA|{|wsAs^Ln-X*D=lfG6?Wp@jXjdJx%n%SRLN!TeF*YQyV846dsSJD5!Xesc!YEgZL148hWNOpP2@- zMeLwpG_{ZxEsX4IC1eN})*tkO>FIhbim`VZzKAGXhNz@64+KM^P z7+GjvcGNE*KroxKQC~{Cg->|b?uya4*^l-RPNJn9h@x(GQx;ich|>tBp}v%o8hBi7 zkYm#HSVn`UL&pFWNpkT~!ce=XG`S|{sfH8EL$+@e!mdmaHTdbZfG`Q8pQ=v$G{$W8 zzUpXiE`Xl~!w_Dkg9}55%CZpdI8AfmelhT$Bf{<{sRSywk}K^?!nA7wP>O5Z`?J&b z1Mv?#Os|*6?7!?v#(O(V-`F@hFE5WUyUBard!a??gY%6*g8}PO)4>7=_f#q(8Tq9P zE)m(!b$@2wmJtOe|D4)UC}2Op5LW zPSFK-T|5%IUjxOx8P!lozSIBDwC{B}lE?RkIvzm!c;uSh?=>xGMF>CG`Eu{j(g3HK zQ(f5RX#V$I@Q1l2{1(QvYNHEW6qfA_u;Sh`T|&mT8z+R89shm=H~!^@FgVda<=!9q zB8=*O#e>i+s;*lyTJ}*m9U$$+ngI#;OgQ*9<9B$t1oo)^H9{H_wB}e)U}V#m2J`t6 z_qM~t>-whgzd=k zmuIjckz}Xmo~%F@TfVXPDLe?+z1G8b{npt9QZy1xt3wO=O9~5!^r^OLDaCfAchhu2=VFa zdX+~0-;_&MhmMbr>(p4|`d&A!vOpk?^=PK<2f=PwYHX$9Y7&O|QvRPsW@s<+?#w6U z+v0bERmgY)Dd(4O+Q%%@i0mZOx>nA;(~+1-Ab0?Nlt>cjCxz``Q$SA2nvVSYEjmD4 zQXAX(Pu=Il-7Np&3y{gM;FQt@gF?tW5wXJH!0P{>YFGf@TBV`sNe_Lnr;&KC7vP`S zx!7pXXX_>co&qyV<_W1!K)sAmVrn<&yJ^M%zcM0pj04wJR>lgJHzKjNZECgu;zS@r z5JvYPU2}!aLW~gZ|7c5}^^1x^d-m)ZB6RKe&984X)Iix_`{Gkc%Swl8-2R{XC!bXP z7SKIonjaE8(T7Wri|j#p2wHki-+e;dlI)L>1=%*q5D%Y|4o+AO;I1*>xuZ@atnxQA zM_M^j2&iU)-><7PVctYsv0r>(91ga8=X$(qfHD~szbi@v(eG&pey`Iv=>BvzC3NLK z-UEXZP}Zxq(0kV*aa2`b@bLCNb)$bss)t+fj+5@kND8>^Yedi-;08p%%V}yNj*X2i z>rZz6AH3zPkX2QMy}rI)f4iNUR18>ksMxT6seSi_w7l2Rx*l`hxG@zfmn9L6W_ZQ6?Wy4%)fL%zuc zBppPYo&r_)jpZzQTD(k z_;R8e=z3_oLK9N=4C>%O*nt%nOLB;g6s(HthA>gx?(x%*R6{}q1ABzlV`E*r`E;|v zH!pFJA2GDoVI$G<0bV|k{5WVE21(iC*gaT6;DmD5exUed%XF6ix(|v36W>)rk`hGA zt)j&A#d`3bD>sJ218A%jf#tHcndY+}mWiqNYk6GanLDVlK)=?E1@6Y;90B~?8ETvCXo{oT64Y_F=<(G5$JRGS*V#o|pV&@g+cp~8X>2xj(wI#e zn~jaeHk&k7W23Qcd{5px?)~-U=NTCX``LT#HRqahty-vDaj~-EVos4I)No7@P!tH!D@yuxlbW@+lvv!s z96CYgTY*%0(5wm=%P(x+HmbDf+o5qSs-5aDjU;q_pb+dB)0LJvqVTxhpQ^L>Cz53X z5P!W0Ir6^BN%n5nxRyU6_JDC>s+{im6z#_sEk?3NBd1$c5DA)we6n&b4Q@j4Uu zp~#YQ&W8JjuU4%|$lPt}!dmOOe73vG%4!3LDgqVoFk5xEIv^%$vYc3`y{K|Tkh8Pop2IJVdf`!*TW;EvADC4G;0 zDY>_qoVVZwLx24PiziV#yP38LW zUU%Kx?bq}@vj9hnYBtQmb5H!`0i4Z>PejrVIB*ju+l@KepsBT5clh*zU{wNu8lY@| zkQA7Kb4J&|tP!wOGsgFb!gZioE7Zj-WQlBIy1RR_dO?`w0@4G*=BeWa4^rJO!tc*3 z%H7P;JoS@*;U|p|dKN$Tj!gP+<-qN;?=D7~9;nQd(HS_bfY&^=spr&^64h-3Y4ELi ze3-3@D28&BfSRy3&+OOP?Ewy|Rz~@rFR=0!V3y@?@0Y~yfe#NJtIng03~!9imr6dK z#Ds(r-roG%+uIe$NJJP_YXbf^(^6yJ;bV;1rd3(|^=J|vS-KBho1a_OVeYg%M!ffY z=3EZ7K@-^8OrdZsq+kH)UnvRp15(wHmZS}I%mFKb{dbqP1(sGc#wrhPAUM*#`zs=D z9VQM!qvi5HYRD7RiLKv$u9nwZGpGojkM;+A7}GZN@Qzx%KC*nuIasiWvn1x;tS>QE zPCS;Vo@N8s?7N6P7l~6u$f6D@;I!B?%D(a;ajbmAj?BM=EkFrSBp_c(6Y@D0S&Fc- zbKyKo$%7xJVdX&LO9y5F)iX%!pE=M?Nu~Vq-2Kk~F*96&9(0xFc)Itvn`-!VU0{%E z4?p}wU{H^Lup&I9V`5y;)LX-N_2cPcMHW4+^Xa#1gLcq*AyZI4HhX0j7;Mim+HAKs z!B*!#;PXK=ta6fehCO7>+!_I zeT9MQS+oawd;{ZcjW{03sPN6L9^D1(Tel$8LKxf_K3FU|Xg@lF zA5+|WEk=ks zw$dmdNXnfzX%_~p`(78e=laK@Q(g$PC=ShgKuS?&-_#biM?wjEyF^yA2TFW!#P`Rt zi6SVkMiAK}mc3_9KrN=#kg!z}z%Rlz+cU?vE&pQpFM#}JyK%t)qbqm0P8AJGxCxX= z9Es_^#b7U9F;`MlB!L>TR#e3ySy>bi00QPxPRI%J^YIz6{S3DD@bui;3MI}~Y3+U( zV213S!|<3i@BSj31VikjyvdWgJJ$dA{N`{*6!NB0x4G?x1~T1rW_S4b?4_bPyJ4br z)W^|H(1S=1pmI2gEb6|tw#BZp3SGY5?qxXq0p0^7BqU_)n{7vC^YQ`N%v~O@%(wiq z6!$M&FwLU>*4c=sejrz_k0P8Ogjp^Fy2@k}$HDOI|h|C;_3S zGL;|Q8yy3~4m?S^IOld!;2QB`(y^6{8z@}S|83tt<`caJEOYS2^ZNb8N&TdviLjm@ z&;kx2{#&&{XTdW*{;^4Qgj2f(#OU!mWQMFH8y_qv7R4{D5tyqTC#^Z{mPV+9MznwpwE z{3Cu38yb=pG3$OlYrjmc_8Iv4NpE0f?lklKg$CTs(vqg@VH+VdqS!CDRU#7x1}3Dd z_;cQ)d2Fi~6ezcJ0kepmk8gQeil8m_X*K2G_<+Erl%;E!4lLUpL5KxdqNPIM#f7@!Kv?7?_3ae(R(EGXUmLZ>1 z9a@b^REkPUVCXfg`o&NLca;6+xd_bi8i8rU_}L}i{=kyKr+`&8LB8Bp`!m9-&lbDv zPbftB(k1qn?~bO5mC&s`fJj!$C(UtEo#R zj;`!}JMR9I<-Q)y?0YEJayzekIZU0i`EiW_AjSLTWnU%I|K;q7SF> zn~=8O-zO=TsrZ-vZ_@-Tb#9R}$7k{*b%V}j2JUlwgT7lY+Ce}%P+!kUWY<}uaR1hn z=I?*j=mID!$W{s*UDA3Q0Fb!T+xvlA9b`(Z^P!~K8%{!J1%qC+-qJ)X`P1S`D_+(PX$NN#S#99&$>nA9iH zaJ8gn$r7T(twV9J9y1EuaH&H_@xknMnYxYE$wrj>w&+m8Hj{~{QfTTjdM@U542dH( zDdO}^^Ya@00|QG8>*^f?qC@7l+XIn7A%{LxbslRiPXEM(CL2!5z&Bkd6L*Q>oGIGk ziwsp%;xCwAKXY?yKBQK_(W>s)GJ*|*$3glOOw*_hIy1yOzOQV&Y2f?@=7|5XYhL>S z&?&q-5t6?4ayM?SG2=&5jc zIIjv2etPSmwP%0u8uVruNuz~CC9*vmgKw3AtHVJd74bu&F%xd&td3@8;x%M-w%ppG z@iq+Me*U+b{!mX>O8I&9rw@_c4+t;7SkdOWeVJS`(v;xvq$JE<$`u3N?LUjlz5hxS ze@Ym8drrBbzggNU6G|tMmGeFc!bxlobDJ?99v>eAJNHivO^t#kFX6Q>ilt8yhiO+luikL(kn$B92*%4!=;s4R5N%Pn#?}52Rl$`l46!WL7)h-=4Ql zPft;aM_)F4uE)dKL1mN0oQ4gF4S3^Nv-E!ZR(kI#R(*)u)$%xF#gLeXPE zDK$JiM+(2XnGW|W?jC4>p5ljnjd{a@f`MtjaR{W}Pp!NhQVF1z0xL!dYnZsg4M6Cq z-Q51!>2WQ_j71Cz8x-Ud=zImD%PNi z44U{k^l*Q(Eb+7NW`Z}1rm=ZVP4kD6PtVV$mX?;^e2p$|h7+mBw}X>+hSE@p3%aPm zLd4O~T`k2V`-TnUwAQYnG`+_&+!MV^o|K zQ{fp}Sy=@EV5YHNhN3DSM+_@8$<@+D*#?&K)ibD%Ni{z2c{cP{OqRDU!ZT@ut zd|>P=M?kHZ@ZeL;2-3r|)Yl$lMS3ZumXzD>gD)Velp=*_`2tWOigzhNcJG2g;L zg+5&TMhR&Z5t`XByR6W#IOb2CTry!z-SskAX8?JbR6Aw;3`qQ7!q5qX06MKFff|5G z6qf_@*tW|je+CCv%&2uh5!~@1ODO&iVq2@-AD1PTpMv?6?+&^(r>`rP=f#c!fz=Dr&}Y>3`+t{X^8HnYA@}9?r0>5=F8XHf zgIqU?y7)SOCEhmNHBf}$#gs&RVP76{H#lg~iW}m6+f0nT& z-I9`by(7#Ll&)GbgGx$GrPj)e_x@^Vn6qY*o}LaF|2thB2G0KOPp~=IHm|h_emI=A zoJ#v)2RHiA*F**=+>ua*vx@N4ohG?VJyLM=4Jl$@*Zk%E$sBC)>O*uOEZQohejUw# zq+`(WTa!ZR8KP|3Rz~V9smoiO%(jz$E`5{jX3=oci4=@vv(e+yvR4+0Yb^BOqRjd!y-n*I)#`efz@iaG>N}M8OoL+096s+V4yMidcakGU zS}#xhK3-U2@~^+^7(_H{-H$@I=qu`SGk2x>Ecg0Th`J}L-n6vD3|>}h8&4&(LtDdk zYa&#B9S9i@>;?R3+0@VIQ+SU;@7F@2J+x0+lE2KNM6Z%ffd$<-A<<-xppWP66s@Fi}7LZ4tn}QPooV_s0xp38IAaz5K?D++1p&k3R zl6PP)YBJf}b<3FHMwN=ElVSD!aqZksb1^AVf}|7Z(D+C#^ca2tt{|ku{Mk2VBTJ>A zMl@2%z8mI#9Ur#!1>b|_gxPTv+i>$A_dC>vXD`C@+=kSmT~6_2vc z?D6l$R2~7_pVggDcdVfKoKalP6X<*Eb5}sXawZy08#SG^q@8 zO$uk1{BZ$F^pYf5%3tN>P}8v$@Yx>Qa0G&0Y6sZPu??w1<0?GO_Dg2X_)o33Nw2J| zoc`AQ(P-BEc4pGbB=n@tUo!2|t-*NKetJ{DPjjO4eYO6{)fn>yxB>T3|JL7CP5$6+ z)l)@0<{!GRPp#Kg18{Nf*xAzqvFe*XT30>r6m z)QaB*&T1feSy}WEQsWE;>k=yX4pmiEvKG?B$O|Az@X6y!kQNS~7qiJPFvm?fYn@4E zym?IFDL<|zKdwq+b|SIw-}t*78;q)BVL4vpM}4fT;~-sF5DPvF&F7!=^kbgZnpmQ# zcwhRYpfSjgTIYKDrN~903{l5MnkDaB0!TiHdQHlN9FFGZ{o2k~TA-9Eg;?~!-3&?6 zWnCwIyrX_>a_Muflf+mVigZJMt0+U6KUR8Cz004n&yKwUsLwh5R_JGz9f@(W`9#rQ z&|ePH5WP_Hat6e^3p_>r#jF$xSd~P%*TjfX4_XiZ#0p9()~4;9S2g}4O{vp$oaDs< zokk0FO+aEHeGumgn$BV$5X=I69#U8$t?w(Q(Q;S)OU^7O?N)d1;Rr zvTUUCF*<`a)z!B$HeQN1@A&j}nzpGb^e$=r?iGojp4NLZ^z}Wi>m7FlpCL86ZZO~G z=wX-(-=S!t`s*e)L=HESH}_u17r!wfz({p{C(j3IJ!2xroDIg`2yL}em*+k#?4#XV z^jJVJZZx6UuD!BQEeu2=ZIMcA~&y}A=RI5ebU423~Fb~k$U6q*l$hE zq>q`HE{Nu)j2O|=)~0=t%kWuVRelG0Lcnd4Xzwq|jgOB9fh^EJm@8jn11pb#eKt**cErYsCgsiayM9aIRZ&Bn;w^mM z{mZfN*s$miJyRLmv`Sd%>r8Pe^u@3;&RVGkQHt8s3QNnVWjPMXA=QK2d^tZm!@K7(nu9G5R(Uduet`+Tl6Gli_Tl?olzMh^QLl|1aB{lbE z^ST#81F8R32zIa$&ir5MHoA^ngaLQe^MTY9#=)ykqqRPdFr{yIGY8(=u-OOWz1>w$ z-Y*n_Jtry8OAeQ&=CtW!zWD?@04M*?Whc3$)xGaq4E9w|XK+!t0^mIrt)&yIc`8d|98@$>V|2 zf+UT?tLGi1FsiF`Ql9uce1j+Tn@PR`qTP)Iw~DuU!l#l-g`b_Q#y^F^VQ0_PV4O@P zx(lAB7fA!1xrS9e^2QT8OWW_N_*GNOuzbHj^_F=qwtvQ7-{y7g*TVFX=#6E#8p;pR z!th70mo6m5*0HE$9{v@_a57Z)W2B&~@KF(%E~bD9DMOKeRT?`$!f?092LSg0JYSF8 zE9s>C+t7+{LvD9K=i^poV)WLbffw(M=j=`sedje*8j5leXYvM0aMhd@^d-V9)BFeV zzBM&$qa&L-RLV#;R&DqI3WCV(+@c5Z`@b$p%`~eK;3WFwq#+ZmlxXo!DQ87K70LVP zE$m~#;@Id^5~;g~L^&UEXlCg%379hG3r#nGfM&ZgNPj?e`ci%DAz{;4aUrLU2o1lR zyzLnNGt|8wMIh;Yh`;Rll=Qu1U~vp(1OL!1ZD;)J1&d9n7>b|U+tUUFEcz9`ff3n> z-`Md_z4z1JXbu=}>o&^3Br_nkU8!V7Co&w68ELo3q#|fHAn*RJ3_I(7d$(7UXf_`B z)EWhlDe}1%sa(;KiJPbj}JA7u|E{-yJAvyZybLWTfMthHW_Gk>3eUa0O za1jUr<9IMdn)kDxjEzlokz|I~DQT!Le3g{egf6REV)zQz!Yg$Gzu@--?dfXkmxKD7 zo15?oSvk3oE?5*4?EHmgIf}w5$^P^ev~WWpdrK3NkSS8Y);5ka53@u%{(SI53-Bn_qX68o?rej<}BiC*Bq0v|I1cuIXqHV0SzctlCt_ zPy^axU#6y^y5M<}X>Kbl$e58_{?X>Pgy#^okDz#qvnjJwkv&F;w)zEg3t`uP*wzW6 zNns%P1S(V5`5~)PdB`A>Zm33Ow>oSRy+^nvc2+$+JRBs4((YaQ%V7s=$DISK13!n)nclmn_nTXt8^1B~%7Kvg36Ybq zS1H}^yV8)#f;TyO@`hyQJDtzvA;|A-^_u7U%|gpl4%F3k>F-4JoU8bXBlM(5$d!yq z_QxByN?$i-^1U2cLWuYK{V>nj{B4-#=V%8g>5C;JLge=y4(QM1HVwK?{?1%o*B69Z ze$m z{pige#7_$M#Y|8_!;0P9?$l2uGovc{u4=_pY(WCr#~S zoY;M=Hk48ahM&4`@-BmkS`%j3x_6c3PXSkjvG^SG!$&{&h_xvrMI6E^X`24}NxTO`+F{E)!vYb2l4^ey~F2Nc{D9`#)1Cj>c#G~xMn9psTBX)a@ zmd=e;0}_@Q)FbCF@w)4Q_kRi(FSM9`{cVv}Y`^X)aZC9S^R=>54+ZLIShi@l(jFwk-MT8Rj zX*oVOGz9$g+L&cXWi$*=rq?tYaJ~jxTj*+uD9PV?xez;0TdupZ#$t*osSR7CTMAKAvKfAS59{l=jtywxYXmlP;Bmpo-ljoZh7^5a z8V(J^l#vLmMiAQh@to*$(SJW^Zjm^2ati*@!0h_w@H+Rk_`2crLid*qGm7SIhWCNCG8doO=lZDCj*PlYsjCjqngI_S5mKv-Q*Vtc*P38O2X+S!o z?>{(Am)MNYroLt`%af(@OwwE+wYLA|b>tY7wk(Oon4lQRm|!mQ6whz8)ED2zbt-%- zaF$*y5kDz=>wDr;Kz|b8nm>9v9%{4sS!s@GVly!9#;Wa{^|U%``KQm?!_Mbbzso0o zlJOd2fPmHTGM)T&U*53g3RiQYz4ZV>$>h+syTzGEnUGebe+L#b1WV1HW+tFrje z!s&&7rR%4Fg^fTR)aFirnVI=GR)CEf?6Flyw``2wIo%C6mFYMI80vw_FzOm!XqyHn zdPk^oG9FU0O!ONaiMB>CWEL{rJ89|e@#Rej(vW96u|yqd(&(o?o=SN@c-$)#i?t_KHHj@#ZR{{Ql=9FAr8&H3G z^2KnpQ9Z56Vj7`SLvESq5u{a3+ypV{D97ERY7>UuR!6@-M-r1kfOV#Zl+(x3I173Dbn?i~2$z&B=d7WGf7M>ard4Y7S8@BAV z@-}jUDjn^uYJ8ddH z@;Gsxw$y%P=lCM;EQO}0fFltw9U53^5fL!I%Sc05m>s25%L1^8BM=)QOQDU$(nS zk8yHUj81*)X}NX%rQJ8o;iNY?ln|GQRCJS{unbKyq?H@Exui2QX-#$S6LBn$Gihv2 zv9HNLi^ieio5YcK=r0j@zw8~g(KCW1h&c8R1%%P_hqq@xWftr3B|J!J_+yF(T$Qk+ zTSdi7^JMK}jI)YJ=SZ3v()oVYG#xhRs?yolW6eI9bE`GLeh%0Vd|brP^>@dvPuq`b z8D{F~!wvX{72sSqfG?>Zgjgo#6h>qpTxN}FQQ#fdL4|8cAgbShgXV!LCPr0pX$T?X zk7nk?NAugYG}3-x>40zOpI02oaqm(v(GAUONrxsN4jY-sH)Q121tBMkG0}%6FoFoz zU@mmk>a_k$iH>R)3It(3?pR1;O)XGcaj0I-sCbUhQ|X6lM}L7mC!Ktme=r2^HtW74p&nGDAvB(l^gh_817x|<(lihL_5Qmoh2DFAu(73e={A&*qgF9b)+QgsB( z%gB>zzejq3t08jHz{olHz!gs35!TyVpoVlYF4b){Cm0VYOoYK6iD+jN6%SYot2YTrk*YP2IzUTDx{&J>)Di=vK+HEdl!m9>C zm=0USd@$$Y-|D^I|W+^^?aKL|xRNx1vgQPR;bPZDmqG`1M)s)ZlIi#J~mFhWVLDD*rn~a0U zRY1sqc38LY(Bi(bOH5GpCVOV+Z(%*dgog7<4$^DY_UySWaJr0UUrYcZj5mdUo{qkm zE6?o!Q&&d2hc17NIFJYXXhRVh9y84QnsXN2J*EB z)(8A`Y!H1>p1pO!zyMIzdO(AfgBw|fjnni{+y#e(1R~G4hqUyQZTH!?5Ns(~VExs$ z#bos0a|#*^K8A#M9`yeg&7F47cAtY^r2|2|xA=Q{CZY=v%5V=>RC;$zFuwQz->wto zBw8v4T!0te@!S(2AdU8W!8gH$_sIl#;A`?a5j_WXEe|_`Sv`#Hq{-AML!=SfL?x-8#nqd@ZDjKwF;=_w@@XqbIzQr;V{fAZ3h^Na#XcE14nGQ!evhbzj<@FoE_I&ofxg0YX zE(a@fc*9#e-mkgqx+$G_m&XnUNA}a9zyJ90Bds~ogOALSpPyUrHglICagDLQ?d__K zzxkNF+U1P&E!^KGz=k*4Je4#phnnx z?v8v?lIpp259nFwy5khM*o2sYHr{020`=pr_H|f*Y~oi(e7i0Phkbi|Yc3$G7JAk_ zTua*8#Por}Sg64!A0W~v+jIio1gy-)){q1<+Xq~7o-(l`S+obT<=B1>N97{lzOkl1 zOFAx%qUgHB2-h=Xsvf9Fny8B-2SMvhc{_oM<9yT#aaD9y14KHBV1=R*r7*Vm3%nJk zxCunRiXeGOF+qHe6)xkAc!8~xo-JVG!W!pyMqMo2@Ffi%O-w-3hoT*- zI2jni*~Ccr(H9|Vd(D|wEgbmJ`}?3e294p0D%|}EoW^7Y4V_#<)0;c0i(lD8{<~nH zYsswuIa9G%yel~QMUc`ESf*{HNF*8jDNH)rmo}tOuR&0C7$~{ zOr)#9-Y>IF*$c3sASWbaALO6!JQF|2cN3 zf!b7E9dgV_r2?Bo2PyF6P!8@z@=i4t8S97%i6MQXy9&spB3Q$QtPYf=7{K~nZ2+TS z#I0&3a{%v;r7-u5%Axv0`jMUGtW-FW3eC?8P@6Ii9Xg1SEfaQe7jqLvB*`u6`^%%g z-XQ%98^;qH4zaeqJ`x>yIz52r4S2HtB-;6;oEs*wvE@e)`?CU+{&bZq{kNc|0B^+y z$x<;^bT17W`xkeAg)k3`q6<+{go96BL4_5BmMnz5ITULHw8f@;1Y8-LdAtTc#7HTMAM@z- zW8@E6Em1<#D`m6W-1(F+gd1;n2?4JVlOJ4w<6)1QN}>ompV04XeB!5PwH$qmBf%tcGaZ;e}$V96WWtJ?;YS(PFI$e_Z?ED=q*Kq z0!Dv*35wtSf^xb=a-+S@Z`1@W;FyQ!Hvr#{&vDQUOJ=fH9&}~~lKpf!Mcfr&-3$L0 z=t+UgMsd5xX59Zc0!~0zCCc4bYxpJb1?RJhV>p8x(aac7-0{5b%|KcA8MD3a?MTC} z&gihe`X7e@LOpT~Ld~G9U`xKd(cOP0WB3#w+EU^7V7Hv5zH^^!@RjzzQ`4=V8g~qI zrOz7w&71td>mLR5@@6RCG(+^Uo1|T3<4I?#;g+A>qkJE+41a2qYVrG z(2gghLAA(RVKjsm{UiH@tYC)4D?vk{xs|kuh{O46x%?G#Ld{m?=Q(Err_rT`Wup~~ z7X0@tECsLpHdmz6m0r{WDJH-9uXVZzm|7+{?Uv4-C5y-va0pxJ|f$Z45kgGuf7H|Py zx8!O&!Tex2XqE`U4i`afz&e&YBmQbiREFwh@WXYU(#WF9))C0J4%8&yl&~B*KvCQo)Y%SU-6@u$sEXOGf(0uMxs%n zW!#t`kh9i&zFPZLAbYh|Q%{rH`}MdjfrpxEQwPZ7+ft|j7v5@mKnYxc*;=s!v!sCt zr4Ew;bcat3t7LelC}opMn3gQ2C)YKt3#2wPaWKVRZjB>K(4Xa6b{>R41szP)2d#gY zqr4E|=GG@9ng)l6XGQgpFxGKdPOwPdC3~o0!$&Msq^sJg;3*O)GsCHq;2`j5(gu;~ z?Z;-D_QZzx)V|xl;&c>(g$+*&Ct^W{=izG0;Fh)>galO5?F2WIluLvo0QYB#1ep~J z3@?qO#+(F+5xp8EUTHAu@0oqx`Rwq;LY;%(vBH{+5|S6B{c#{{o`AXsErA(Ei6bjU z`A%d2_avUh9A~ za1>~|4Uu(WvhVdzzAw-*Lqb9IuB@zl?KhGlYj&b&H`gFPX2afNTY0>`93=ieA(1~+ zhi`^oF=3NEDKJ4mXd#eY#dy^19&^JC)8}|Dj3d|T@9J>02=2&guhya<--Gv|$8RP6 z&nJ2&((?;y^Ywlu%GvvFu0AX_c95}owXT#~EXF?Kv1_1{_U`8G^`IbjYJEKhunGI!tkk8%XodrIwYTuG#(2+*`r?=$_CbZy(1amCTknHkza=>f# zUu*UU1e<8Djtz6Xqt{Em&vsNPp4YtZAKzknQRBVsIBmy^@r?CQ`n?XJh7sr{HPv_r zGIokvQNH^z>pXPi%)0s;d{fkJtVM4S7Eq((PG(#h?L0qwOH;S0aC!=~s#uJPsN3G26JQQ%vw@|ew&b?g^iP6ZXTg;} zNAan%IhQwhIE*12=O-yIl%a7K2K&rJdcXiZ>Il3h_C&clYjfrJqS=kXC(r@@MBDl0 z!{#fO)ng0U^Vq=Sv~$e75X$(oI0geg;Bxaj3jB-@ZEURJ%Qp5mz~eg>x{&%)8|Bg? z9hX@N->~V)y{wzv>3J;`fXT@40Y}r259MZ-rz+&~Y{6|iETt4~IKLwQu;_x?&SCe{ z707zPNl;)ve6j&9kQHzN_fQ)a?C_3KQZRtvK8xNlUQl9Mopu^J_6-BW=@Zna(GBLh zy>?$01OHdI;2%HWRUA{Dtt~Bu&D09#Jjbs+t)ik*Qc}Wy*sryzKlncpzIH!U@1EPL zY+W|A3`SMHxh;TD^_XK6U*jz-pZ+E5X zG#5e&f5HB1F2h1}I(Ui0>{>Kh^V+|Aymr`#MHC-R%Al-U*=J zb=L+ZekoCeyDe#21thN+kKew1+y2m?1HyE;R=u;jt5U%aZytcWgI_*;2te%!9_?q5 zD(zY8em3tG@0T|hr}tKuePJ}Za6mX3q_apL$^a4*6%Do^z^(prjWK$2e~-PmOh2i< zQ0DLdyt1*(FgZDig3oR5TB=X2m?^BLmNe%nnD}_|>&{d3bN9d(gBumEC79NyucAuoOvu0Rot}cgw6H^7kN8S4<^dU@ zMb9-mf{2j}TmXbMO+H@k>^HJ;2avS{j?Pz)k9`R^tEhfuTv0(z)m z`dQKfxcK0hP^7P~C%*=Nsp;t^` z7uG0Ky}pDBy=?us>b^>@CShP0%kxrj$JmuSp&d43Q_gnL-m4Trgp%gdyZLEghebbP^+$B$1HTfs6T+ zkSjeLz~n}BHKOb21gZ5bjm#mX9#mub|7C#ErZiDQqR=Rt@MdYwk%R|A3gR@rlIgAm ziP(x;=b@8(hLTj~j6J;9-@l32>03NKB-(ueYFn#WSeXqer(8z7jS&eE5zrBTOOr85 zEyr>dE;f~njEX&WalgF4JkqhFrj>EMfJIv5hfMSc4!?rt8J2HfDd=bjSgGY z38bn`ZmKZSO(%{Pf^P@{VNPdS*c%NOrBJ716JY*#2?S?vjHg__dpb+6r$M8m@oH<^?wT!B6 zr|bC)V;D1>LHG1gyxSkxtrFmI%gCCbiLtS;91KZu5Y_U!_3eSPVn0e_1|YwF%LwZR zVo+Gxy7zgf+}Tk0m=c4xc&185VH$-w>0E(l!6U^j)z(kh=kjRw<$LC?2Qo+z)CJUA z8C8aX<3XG1&L&KVxII6{Z_I{W9StIf+GKfMfD6rjv1OR&HuWD*oO8+_#r|}T^~R|E z$Nd~^{eS}F$U+RwZ2yC26L`nwH*8_Y?m`|=O|!|SfZ~fl@?FD z@k3pT(D(Nn{{G==F->0&2`E>}DpovR^I2!C{#k+luNGhu?$9E!LFx0uCPaLc!hk)8 zfa&R|_{l)VhFOi0x$PJc`6If%&=^!2W`H}F=;Mr>hYsPML24sLd)=z#;xlaUe$}?s zx!B_KtU+eyVx-g^`1*QiuAfe{+`9b5?70+Q1_xoF)SKJn?88R4+ z(Vq&*)^3b-7xTFBv^=K!ycwH8wznwa5T_id2!un5O2`Wzk`cgZ$YglfH_A_+S25Zf zw(w&+03&&XZ%C@+fEl?O|2s}0wx3dBsq2{4fs~;fT3tOBt2INQ#5}yWKciZjNXB&V z5;XE1x$~GielEUp-sF0C-3io968@C#4rpOhq;VdcV`bW39%|_YB>w}MMqD&@uyhM_ z^cp(NI~($AHFoouF?36w^=VKicaS4}L;**SMs#E4o0_e5vdIr(knIC4DXJV8PPGad z;>hSIMx7iaqWb%o2(@;NQrL0rKx>r~AF8|V?Nd()pnXJW=g-OF??@Or0pG-~a)X}4{ zh2QbVdo>VA-%2)x85N4UP@~1%@S=F9WE{=+h4u|itG-rJNiK(^)FYG)V!%(OyuMS32>0+G$8ws@d zIL^maC9Fyvm(C9yQtUKf&i)eri&aOi?5t7R+g0N)vzX<0WoV}(RBqu_Vp#XZIYmCp zI-i`IV5Q^^RsA0f&##}NjrNtbWiM%#(m|$bKi;gWWd*+d6 z8rN+i8oNW#h6uppVA&a=0p_K&i->XdyE^?RkHW4m?gfhjy=}CCASe$89UOs5#}#@K zYKeSftV(+rx<20oC=>=A!eYF&w5T|`r%)ticg)`2#)w+PkTSkfg~*z=Q#rc_FIl6s zroJ_pwB*|!)X=v$=Gx7SK&i#=73=3c2lXarnV8*50rjeIa;)*+1;&n?A1duL3u5Ar zST?{1U_+TyRAk^q7+o8GBNRE z2P=J|HXiSX$pY#U%|IO~S=5l4>U;dDYl=s3LE#u_UC=g>s!WoZYzl}%(}pbFG7~d3 zdO5EaV_1%<1z%m7QgVb+H8=h!KFMSlvwe*y6(sK}^nPL?^!vl^Rf{kk#`+{cxP#Mb zn1~)T^7i_i%3`RL5#J(fN(q%Ko;KBL&VrNhGe|ur9=7N4@ez2j@FkK0Qqzt>HpDSO ziOiX@F80rDV$O@W&k>*)IQ#2ix+LQ!81L}CNnNGZ%( z^=+74(l|o04fz=r7Vi|;U{mlz_++{}Kc<5!rr5gBzeN_xiG#IbscDz6aq5JGgzQlK zlyy@vNTUy%W$2KZo3u5P>B3teg5Uh8muLvUy|xLsdvedIG1&SYu{X4Ouqm73V$Ub4 z@$gKy2g$*I57N-=ed=WG>LAsBSAw5cnoHBCj;;>I(?cyzNbD$ZFe@-=artv44^^%N z;>$(5v!2;T6BMhk9DJjW^z^;cHvZ`snJ5|!WgQ9gR8;^uxa9)3P1X6R;;{0AYJ_lV zVe7?m_bgtMtV6~f3BlWeSS?IO&sge;G&#o^trfhrvOWS<%1;omW-$Gz9oQm4J9<_r zc^q%S%E*tQkiSNGDF5gUp`G#vTc?F5Mfhu<0}~9@lQqcsYf?H6eK(G+>jKZ=&tc<( z4!xDhX`91dl|;5gg<+cJlQ8NBeOgIE)nl5BdQ-3o3l%n7&f_xpj+$y?m&X(u9h^Fj z%4nKP9#?>zrS4j$uZOgT-Sro7w{BLp&=GmtiY^bUe2JcmvpvjX(cHIMQo&gRQ}v_p zArBjLp&~N1BeHF9nD-4Spu9-~qZM%V_!TCEDgubN zR-iwl77z-Kk%rSPGvITh#F`P#I3p!ZNICaoWOKRGMZb+3jnqr5cBSJ{ zM-juc_{Xf}in$nN80Bk2(Ru{ZCl3@%J0I?>q`b|LShbRdQLQjW(xOdoBt#>2;eiHp z!K5eYKTO+e{mI`Wu9Y@6MSS;x!4tkNr&TAU>fap;CNw$^%zsRYC~P^c~Zt`24py|b&o26}y#wA#F zw>V-Cm^KD+SBry_zLl(v#T=P^Uz3YwVC-;+_T- zQE=@pY=-6V%|4IxcG4E<4+qtfwo>#sW$=qF4SW2~IM%T1uAud>&T5h&e&$k1*LUK$ zVGG!(pDEwe4X|$9jA(QWpTfqqyeU+?dSfD?n1`aeXrJl{{H}aq`sdTDok>R}#W5rM zVG7$#5lvG_zXp&~s8GQ+JKD13nYB@dvP>nbhZFW;kdrI^6on~*;r+>eyqE5vHlGr| zW(-q!5yUoS)Lie4b}AxeDg@hvA97_Z`tf6xP9hDR9ttC9m_W(%>M!6@WK1KgfK?JG zg@_TwjFe8@`HjAmbEi>gV9tNf9g}G2c2#|Qtd`HGM|jpXG!}+mx{D+ z$ArwxJX+y3S(zZGOsXReEK&`YKXU0it#T?4?!$;#F7;>wJ zr>-YqhCAQx^OrVP*bn8zkYjTGME zIbkx%5Ho|y&rczDEqp5wFHLiFmc45#=k&$2nrea?c6}`4&pM7-hQ+Zt`l|W!8Hq$3 zhR{-}XyA@2JV?;tSiLCgpmZok2#@B|-PTlqDgveda1wkk2DrUd`CKLVcKoam!*09e zbp4#=cel}-e-G;E?KzijA+>-s8Jd=F?=w{FxvSiyS=rf`dOqJ@VnSHC!LYU#(=^tC zBf1P}N)#AiW96Ls((`^&z6zu?E&drZ1tJ5D=70;2VmKV3)7v412y!Eq zShn=EH(x6Y|EWgCfSU_B{#4wQaI62u(m++G;Q>bd8+(Q_7HGD~T9o;MZ|T~YnNyf@ zL{qsBmzAy=>GeuWt}0mMmpPb^W3Z`t!VD>DD8S^guBD2s^{JN2aEVfJ200TVYDcyT zAW44uea&V?`(A;a0L?R6t5${&mdyvsheBYp%IVoOg)C&bbxjC5F1G?5Nexe|VA%(p zPe%Fz6`%xd+_kw@L|YCy5(qr;8cOktE8wMGalX) zEbV?^+V-m@L8op;(d?10{AP+s40BuKw zD$sTlm4!azIQKl`J&Z?F?OV+E&$2|#SQ(^~)pA)y&5A_sF0qyUz4qGtcZGGiC)*)i z=qo*pd^WE8wa2NSUH6^@7KH{o5!8FkdOs3)_x&V0dvq%9qaih{TAZ+SBCanOM;jPJ z&{18M)*Mh(7E1G21hdb(6!$nz_C7&|GN* zdrux7W{{8rozHMX}@(jF39kg%-!l*Dm!PbAGah_^O(BQo>hK}1onfffs`HoZ12Zt>&i zfq&hreCI~){#ZI7nRTUTST*w=wXv*HNtsBZ-?_tu>)26mUMB`q^3 zR*O+10ofA#&Q1h^oA#8sn57{Xb!(`aR?D}IMP}Eh&NgN_=c2F3w=Abr-k%t~_^D=< zR=Cw<2<5M?MaHuF+cWww8}OaBFek2GlW8U~Y<>vzbMUPLA)G6os|^EC8HGXbs6h+G z-`zE#)-oip=%EIvp<2k|lkYewsXbBB@QpOy`Kf56(tjJ%2PMlWr1&vrDm6EqEkwRE zwl+Qyii^#v1uNJqYN*K!^BLB65KgDnE7o$k?^UJEax-ic+s>(PiZY|QiXc$q(8jVn z4Q1L{@)n|M+jFiLmCn_?K|tK{8aPk2eoEB50?LZ1{Zm+j$Ad;6GXZe?aX zI(w=h+f^P$bl(V{dCcCK4~;e}TiyPI1og)^jUlKn_`+!y=Xm zYd)T2BOfYIx_k!Op?X3KE_XwXsH3(7f!>Cj_*6(Smd+-_lafzgBBjaO^LqY)$=$&s zGh|12*aXlfaz-u&P*Y2U;Di`hf^`Lmfp5hrTAUB|68a8lzm{E&o6bscQ_f1O88zkB zPX$b-;~+*6S6v^|;(3x`o>?zD-JmsISPh%P!>kBz+Dhzk_2jl<tFak+0eX$DVs++n9+$@97Wp zpW1NlhBC`qx9tMHaavYXh<$rGU@p=$Qgs-#YP-%1EZ(lbZcZTIIU z6!2~H>P+5vwmn)|E{~&10D|Aq=bRCy%Nu;|i(l$AvzLS;+i(fSS-x%yfy3xvC!Gy>2ufl>65(JfR zs1Oxe1s8r8hkEZ*n-R}g-w;fPqjN!s@u$&(Av zsykYKZM>^{Wl4BpkP%uLhQ!?yE$l&6h^t?S2ms{ey|#Pu?8vP`9OcJ_*r7jYBY*Z+q zyp2DS%#G6%Pa+XJDP$WVWT?Eh8rc@53uyki=$aoCw2+?mD89L1WRj+Oeo0qLaQ(43 zAsNpRGJ3*Kth`X&*GlS3WK)QGos)Nz`iZkMR(A2Hh{&v-czHC7T{|}f%-^{u*j&&` zpMJ{oi#zI~*v(wRIAXt7`o^{`$M$Z>IQ0g~e?e`Ul_p7@h349uJ*CKLf{P-qq2*-t zn=zg9#L?K<_*-RSYRzfr*vmIX&R7oU{N0<4xr7muDc`~6h59~Y?R*oN-`r^~pVE>$ zdeK}pTprJ8qM+K-s zG?h5-amWbo%zZ}5=2}S8kzP&`;@9K$QgMy@M?|%G5bZ=$e=|+&}t*aEYXT`#oalJ>Xr${OjZKUxxiKNzV{E8vt5|gu5>RR$cvm!+T$a}xGmQ|GvdX*>U{=v zR#h#S+@xF^Cr3h9b%GG247VPSlT1Y>Ha2|TIct`hp|L;*lQ5Uc$4bY+j6?&?lGyIg zYeD^O1V#=t_qclZj_x9YqJUK?Xl*lkuNm`+leGk@SL!e7rK2%QYGR6pM!hL`)sl-!U)0vC1{P5v?$V?X75j zkH3puPeD%f)|S-E4#)Y7G5VJ&;b%L&hEpJ63aALnI@8eDGG$8ViTsbBLJ37(2x|fP z;W78R7yd1tG_i-b#G8!>+y%ayK-$JED+{+y$|y_(89`R}cgkP0=E}@1;b%tmE?Y?; zJQ?|m!}893Wne7u#rPv)f>0e()*miYHi^$;m^uy|gzK$be%)N&97G3WxVo10jrS{( zktD4o$~jKErebMuCdq_98AEFqXn(M2Qgb;+G#kMYt;F>{^4nri>K@P5Yk7eSueTG# zqcIUbQcBUXe?5lhqD|^T+&tvAR9%uVDvn%mCetcns80U`)ff4)r~c?TY4b6o3uHYUI;V7i06w9x=>$Fz#)OVe$u z=pR1yzbie);Om~;U#!#oQq+_{PO>}=r%91OwnT?vQYux^OS=A5U$9A0`H@>d3o&;b zw%&|Vdj;o)6!9yUjcjf~^nzg+Ll=foz`LIhqCU|~v*cJdMksIjXkE#t;3l?o{P9CY z1su!ZxvE8Yef0Mj==ZcJGO9pNeNyUjwKKY|_{FYNN&UzZmI7PBaG?|vftSd6J^E^; zy7&jzABcpZdQul(hwy8c2=RqvQY^H~l?m=B#FBG;#Vhq8ec#X{3&Y=d6Mp#VXNki> z!;ml`at=Z3^};BSdDE>ZB&g-2mQQH*VS^^pm@e!ams6y_9D+?HuJt1}027q4ET~@L z`+tHeFH4HrM>O|n(d}s)&VLj6wfnq_koOq`3j@<1TFw=TEFN=UAGHE3jhk4yPIMJ! z(RK^nPUy1XUx)+}wd;U;u;Gfa#=n`_X>&I>^=a@VD$octe!yAn@#fSrc~66l4B1+7 z6m!|?+K78+acajptMK&Hy8f4;4A;n|EUhir0dIbC_7~Z4vj$vf0xW;mdOuv=YYd}+*8OeL^TtxgyKp;O5}p6z1o z<%zU!BIqWl`XFcLbMAREKkjpwwr(XzbP-szmu#?45cuqU3Cnz3X@G@A?j&q z30=F+VJ8jmFo`_*5}+G{?KBhWak7(|v{Ez2>tJ?DjhzV+X{35UhC0PO-8;RwlZoC= zs>arW{nRZYX`tAv-N*r#gGfFv&-bGb!T%)(1MiD=^SM>O^|+R_eo>$xYuZLzJ)Ymm zCgvcEo+8sBhRNwq4{000UfqAi?|x9d5qA<|>Tcs0{b9f_AX2dO$TbzK^<_9hJ$^3= z=Z9)8m-<0ipChS^)kLJgO0=_-P!*|>U`GbCE)?A=kbvpJh`Sk{u{QHV3WoYn3P>hV zLD!waHJXu7{(c?X=Yhz#&J{LmvXnZCw^uDd@&o5hwqUCQIl(W8Q4qxg2Zta>5I&-n z0H#N}AR$;8VF%yZmmrRy#k@c~QPFQ3%f_4Y?~`=~drrw26T&z}xX2;myCaNInF>o5 zeK?UBXMp5XFDn!;_lNJI&?ojK>s8bX@b#%WqFKQgAC&FZ(Y!OKC@>GhFizMIoc|H^ z4(z~-ApnG-vrjVp(xIi395H5ym2{li0%w)+jo9*b*XD99)c-bI&=d*NFS@MHolxM* za6){)^mginbl8Jzmp^CfUFkx-2pbE}(b_pzg`l%AUYLy@yV_z%M}5~o)TehQtiwYO z#So|FMTVA`CurGhs(p>*>zz1sx0D~rc$3q#vQQz_r;7QnPa{Eyw6r9Ggn^R(7q+`> zB9l;Mm{A-KvHi4|8tkojef94t!mU`F`7^KGm;glU4?+R#SdE>I$#!(Oaml^ zWO}D87H2x_)CFtD5oY7U>U?i9h+SpG;QbxABXTKolD$Ce>4M%6Z28W479{e-u1k!S z@=aLXF440K-69ZVMX~7*d1EGwrV~RBLmc-}GuWjY_mOa@i6HLet?djT|TbU zVtLS8UDY=RNNsva3x+Yh^j79U!hD#R^>NHvtfw?o-6!S&cmp@HJ!5tezb!drIyvyC zs*@SWDe%AU?wig~_T_@$GyZ-@C$+uMVW8iRIkDpBM}8F{OwUA*A}B6nM86x~Y*~FA zoW*+mIztNK&d66MJVLraE?-AObAg5e;T0pI8`Y&*Cn}@ikUCl2ApSxRdyKCzn$Rcl zeKpiijFiK*k$3ZNO)%F4t8|K@>K|IWVy=DW5;UcQs;ffqj43SKA@a)#hLf4F zcFv9)u>}tN=2%^B`y1P$tF@%HY6H1 zgw1nMxPr)nMdicFp5=JFF7^TT@{qklq$m>j4$%hf=*$Z2%L>pXtZ7oolq~@SxbsGeVzJd^ACgae)MY1E+K zFt)BNd^-|Mrws*;sWLD8YiE3j9U}wUF7)=^WP|d4o`u@-?E{Q09qkM8WA4@AFW~t^ zfUc$bmuAb^n(0Nvbm8T)E2HK0#8GNjw9Dt~zXI0-W~k7^2G}#^DCnIO&~$IO%<3k; zLJ{?$;%r2_K5_kPxq5#$2A;`YADVr2Slp^w6nLkHAJ7-FcZH)lWL<`v#SC5RwmB{G zm2|ulf*OW&jP-@xhS48Fi^~L+Rj>LOBaWTkWn)UXfoR@Q&o8bV3Jzpip zgV_o<{sfF!E#{Zs*FK!~3#1|*R_L{w`aclye|T)Dr+T#Pzm^2R=2GD#(-VsqE|#V7 ztFkhL>`s}@ga<~`T9w$}*Fv^kBc*P7OyV#_{1l!aeYA{RhqZU541#D>`tT|>*WP#T zwwIdn?$iFijiFxN>f0dlrFBevAqF?LqrcXRch=!XHt=QLpyO?dd)zx>c#xw&v3h^60u&`1PyYqypIUV@O9myXdeaQ7nS-?&nBJX#I+E1w@i}qXSBee zTv*O(s6SAkTn)VZ8R&ez+sIBUb0n}@_c|FL8iEzQYf6sw8DnidV!HM;Hr~#1?|24= z7`g-~U%$yh$f^28n+5DOQ8GOZIfr}A45k)yFbZnk!1Lnee*zO^jhOJ`-tREu`hH-H z9GJ9JsQ9T-c)yLNV7KY)Jv3LdWZ!h*L^Yp}$qIx%aYJ~XXb?UZP-t)Np#19Mfvglf zavRnRn_eNmRmVEWAn-W8DeZ>UL*v#-@T%yV3 zq3Tu;ONiJR^e}C6CV5_gVjb4~GXA}*Yob~T%X}*`S!$>q?z*&rTG&ENkJ19`z?VcV zPQ*`_2bpR`(}TKN&9l*Nig;{roco2K#sgF4JYgq686L&U9Q#jEzNUonFw_Q`Xb!~$ zquHk=Zwkl3mJ`dZrqgb0O57w`Humg7wsn^lo;N&%0kC}aUg)tJYB1Nsgyg>j!}WM_ z>LuP!@%|8zgs;bXN3UPN>>Onu1ly8*Ok=A*uQPR^HO@pBAX-w5X7Nl==DzUDF?@|D z#Lfi76G=G}7${h^PM4Nh72*$ebbLG- z!30r42@5$pb39vXL2~aRfBDV%680MXFa7%V<4?3X`5LrP&6+9D&f&mrCs;<5wihue zO05Y=NpT#|vu|@8&u8BTnzDnU1cvhqd(Jj1UrPkWr?H`*-0;pYug7~+D*I_Pmy{!c z%Rn@=w*`~l2^C#Pzci--(l3pGw9*ZsyV4{iRvMmYXfEq&f*p+`9!c5_m3DwSwvZ*! z3OolOsFJlt>9uw{UFIve_Iu%Cf=jeJ8Rp7+Mk3Z^kfK<8JRLA{>~n{^u)`Sv=!5@p zezP+MGnwE5dvZc}hRF`r{=Lf0mp_oQZ!7iEd%3m9MEke8ooP?p&F8i(QZPjfZ_v@S zea;DREFIPC>|B3x^L>L2Q~~iiA!Z0WK$R(_+JQE766uozvXxL!!pey$<|>y!#h{~= zDBCEe>r`ObDCVPItC|>!Rw1Q?O)hMx8*RopX=kT4Q&nC`y|MWD1U4z!;iYiCX|=I9 zYnPo3j-A7h);yLO)my|Rb1a2L)iAM5q@H?MRI08_)snT-knM&43qasNEYwT6+QKh@ z_DYXuU;NY9)V0Qi$(cljzLL`qM*;(}z+#Y>L7*w`N?>~eQXuNnH88cBqWEEi@$!|j zepvh{8d+9WR)PC5Avu}xc5@g@toP_xgc4wXx`9nJ6-BRB`jLKIGg23$c~P3OTWBbp z{93FQM8iO*!Eo?b(7kYzQ68g)r^X{7jnN?&@lpHh_=f)b45 z8N5oRRu`K*-wSp<$~wy7`fNl}#B}4W9ne_9MEeEegNYG8AOThGGS_W(@G9uG1`Gg! zB#dF)SYETJk?Dr%v5x4t(*O1ph-FxJ1&KUa8QzrA-&YCqr0T8nVz{=cl=dpajURF| z#dt2}?z)_Wmu=CdCEvxdC6L~iipFta^?Y&--Kcm7zBDU=#BZbOXf><6w&!8IA>tvM zHOWKxU=YD!S-o)N*^!Da*_RX~sw1NB6H|ACWp9RDuFJ$Wfwz@_@*qJ|xy%*Z_n0u$#M=g1I-m!zYM1$*kf3fA}{{Va( z3s0?C#zl{+S-~w$`dV&6XG0UkkceSAQ8+cG>7-0suqW_g)xgeg%e#kAbAIucG(NkJ z@STmJ5JhXJj^K&o&*LtQ`*W>ZM?EHx7Zy;+4yCCeYc8p2!#!`){K%$6X1J&xQ~S!E zlV)n0Y~C~#iFfceC!oEghZ|^7`%#W*d1FO%}D4> z#nqwZSk*eklFXyanm_^&iHNi&dICQOTe&m2e>=uw6Z}-lr(7o&0v3Ld>SW07IS6BX zZ$x29t3L5|FxspIB@2a8sMhdob{5fk&Z6Dcak6k-YzZ#D67HCDO8seAbTx@UoFlCv zyxL6|o1q(h_G9$~-_QzumoCzAnP~iG*L&R`HL@Ri@Fw0%q!wcMnxf+M>!()F6mf}f z1?p;1eZ&8Qr~vu>USWCvlsWV+0B)1keesuYoZTAcS<05749wx++mo1dPwN&h(UyG7 z*IxHee=lc4m;@MP!Q2*eQ})0LDUowitN#2-3Cd-pPSt5mETwH)4O~WY#!%H)wZ`2& z%WRapDZ=jpgV0cOmD<^6l`P4He^PZJI<&1>B%> z&6m^o;J6UEcwX;QdK}IW zQ+jMc`9hV|7*2m?iXz;uGn90j^SNUuAfFku;Kpt0#0B3D2b(Jiii6CU5(sk09kQ|Z zn-OD#SGz{wy~(hZLb5@#s`(!7wrek>6!j5{A#z0&FQT-=%{lgjmPnf&eO9KE(ZR*~ zW>jRo^{rBI=Lw-wAWLqwIQtIF$5k(W>%7)#tW_>MR%7?X?}eEFo;^6*CW-K+$RTWw zKiWf@QtQ)3sn}M?RrwYZrALX`JX>0_)OHYly1)G%iB|mtelI3#x|V0W2ou7WX52_y z{E0*z&qyz}sR*Sxbw_AGJgii@5fkR9EPe}u!B!&?yQyhL^grEP!RVlm2;ZyRei)JK z`|xI13!NFRD0myBlAlRu`s22h$$Hs3=l3-dB@UN}MuMYRAvYR-#{w2{)P*ZT$Lq$_ z3!*l(L)egWYPE;z8l$y>L<%w=ZNIdHI~a?1HIqem<&(txZ@A|D39bH$*^zEKGd1>m zn1}D2qkSX&ckwG~#>SKjEHxj4fPsTH#wyFP>1O{2ePJSrL6Jp5;Oi9BZDB5V6L$Y&*qHfU{1OAI^^MhB|8!B( z{~x^Icq#$>=NyVvwsAX-jOX0V!Rw81k5p-&yRxA@$#T>jD*j>5zaoc)&PvOYbU||h z-Fwy4M=5fKa3UHaGK1m#^*BWhLIn$d<~7ZsB+uAq^`qFV(qh1GXW>y)Z~;YKi_?n~Q^#-YCHu z8LL~BpQ|Go2V6;uJnV+=6VoG@)}gmUcv8_^o8`snc#?6G{@!&A5X5R|z>Kkq0e`8D zT_0=8I?9j!*?(^cf&8tf?b^Y-X#AZcm|vhgsbaIDs|y&8Zs8TWSj*>K5l44_^eVtr zKV3if+VtP)V?*Pbf}P%k>Ji%hZxAZq6|?u5P!r@l_6NUZ5_=UNo+k`M=WTFHgU%r% z*-Li&atq@4yZeSOg1IBC4gNoYdq#B`y8B@C6(-u-SwXklZ*%5I?(rOhak?`NS>!SVAyhL!_oXP#n24)2UzR8ML|9v?2kJauqO4={&&co|MGu|HL;ri z9WrIuJsPz?%qJjr!^@Svg1H~$dmoo7^o5BWOcigKROmko-Fr?J6ym*aVf-2$02AP2}C;Dz?k2C$5eM?IwHBkqw&?eWt_%3IK1*I$TdQ@!o7eTr_Mlq zh8cJdFh<>Bl8AitcMtg8Bs@D9R!mtm zUY5I|@}opGAWuPZU=iR{Ufi8ts|{Y$%McnToraTiAz*oCsyY5a19oPd4K=pb$>b zr<)(rYwoZ80k+7ZYLKMGoe~W^Ah>&YjMnwN{^RWZO?nGWja6k8l{k3nRQXVGamREy z`X}1dup5#!)hyS9qcE~<8~c3od-chwDJc~dm2dDieDv0QJlyLxleL2K%EY;H^xFm4 zFi(KZsZNc)!HN=vGmkc}MNa4T(u>2SKLL0JsLDQZSyA=_;8s~)snX2PKZ_10u%D*> zg9-mb4FPbi^J)1#Asm;oZnHHptO4b#Dd3UWoWc@765E+zxly2k7i1SJn@sHNi9%p^ zP5S+0L*wBsbNN77dXXTCHOBpz7;z0yd;DKkOIjL3Y-YUQom zE{EE=V(jmvw~uC@95Z*i@;ScgsRF`mDVF8u*d`i*7sAJ&@kf13A3PJ21AepdQS_D> z$AQ@l!Rk6u>vz3%bU&jstyMn;C&XC;H+@O8Jc46#1eEYyyGK7bHb=1?Tl7XGwFQDZ z4!*N>N{bg*N|aSoRZ@aSfhxQDn|~py3NSlOV&46)##9nR;zjBeU390@ znz}*k7$2UCI}YxWgF~>y%Eakdfo(gC3^1{t4$7X^6O=d>88iZ$lr`AQ+LSe& ze}lyEQ6qJeo0o!~PfdtkRNCd>scR-G61p@D4mnu5U=`u1m*l+y($ z)V~mJWxGGi3{^Z9l=1z*Ke>h`YOUXmfT-AekM#EymCmM*WbT(wxCn*j@TPId+wRH9 zNl6XFcs1-3TXCq*N1KlPpZ|1ryke|dZl;L;U1O*|PE0LmvqQj{aJXyb2y(9o?xG80 z{q6Fk0Qyp5g>nCITu46zhcZL{O!2uOufhQm(IXbW_1DWP;^FY#v%=YKYmA& z`Pcg8&z=FQlW(f$czJovU+BN3#)yKsW3lPTD!bfp6|rzX+0VyTqQMkF%~n zOj2}LRM0USem3j^C$ZuHlbKU{YNn~oq??|5jX!r1iUL4LJV$@pGf-?34g9v}l+?-VCYrhNN@BDk@oljm>T_B(UFS0i5dg2Q+EDniJ zJ|F5RLZA%({uWVsavQ_&rxWC0!Di41O+2f7)I#;PtcM0difW9`&%b-p!qGbjC-j)S zAA4cUC)&sx209y^-9{?;2ZQv(Z#QU4;_@ z(PdO4QgqSV_!d=sb4K`1e+RYek(L}_Wfr75FA zk_fXq2JqBDeVoltBmrdmL^7>y7zj_6qyVQNK58s&=q?Qgb)aci6!<^iu8cx3`HVFh z(tmPg;PNGSq(MQoCQjnKrTAS2YY&~R(wT4l7)AU9EPo6?x@f>4! z1fHIPL-;asY8(U}H>;wXZa*2nVr^}$EH6{5wrMjHrTla4Kprl0F7jh8>dEB#OU#UF zfysK~?cg$!u!;GLM*4Yj{eW12P9QM(i*2NVO}uk&6m72CRqDRjb>J(q6`^a}JK7xls_&v& zewO^XLfz1-aPB3d5a^G7`B6W(4S4-Vu!tKZ?vc%ftE+zhoG7A){}Cxz0IJx@ z(fmvE#Qqi#bOD1520tLhGT73+V-V=oi$f&L5v zuTKN`=?Y1>qF+a&f+$nb*q`gliZu^$3mjkQHQ3gUSALT-UskJ4i?Mv_!dZ%NY1 zb7+zxmS^d|Jgy*)*vpoZCm=RX&WNjct8|1b@4T0G>eFtzuvLOw zs2j>?JkI;Wrw&2x)F~9$q$cf{8fa3(Z_rfZ4&-)Zlaim5PeTnuR^kLc4cu~OPS)A* ze|9up>o&6lFbDoS@(DwtT_zW0|Ni@8LE+VyAvOWh%=`VtHx!85eKDlwV@z2)g>Acc zdlb$%^4}=k?#)fn2@pY%phG#+O@5Q*q7Fx8{bp6syajLqcoHNpzF@8b7>*v9{m247SS`At(vT^%bdE?{F~b|cvA zr0HHv(Foh!Ysf>lpfdk*SJk8}EH&Ec9WY!^62dcM0}qPj=Kd(ue!i=Y4&QRF9_cTVk!W z1`?$DWgsjJmU~UXvNT?_9!UcPYy@~^RsUC>8KX_<0*qlqyJR|7Lz-B7dzvoP$5%SQ zyN^h@_Q=I?_BM2-cS~)7UIV=B9Dqf{aW?egzbo5$^+U1K?Jm^xTgs;`wTnM6+h2n)&?{&UUj!A57V%d;Z_;(JeKHE@*Zx`C#J3r z?e(q%FBH2HnQG_*s()nvw)%=OmSpEC1M$-z%u88iv(g{Ms8-+XPi(s7i8K!^g z#7l%sQHG87S@#kQ*|dr|7_KJ}_*JS}?P7QAP&s+CNRQMeF7{m!)H5T4tdy`uJ=RQrxPWd;Owx zSD(}Rj;u|GgLkUu3sf4v=q+TMWh06XaXH%XM2qM98Q)vAUIE|=6F!P~76LIF8S|9P zmphm#h3QubiQ|nBK%IZRg>*g;dj+2AUG`Olfd5AeunyDfub%kvfC=>3a5a7$Oc25; z5@v)2#FcR%t{BV1bW+WT1(L2fU>=MQl?w*nvQg@}!_1CDdz=@~(vYEjw*C7A1fhHI zyLcCpXTto^e~+>+fon;9+9es#9%rBe+W+J8-QI<3<1!7FtNZ+uvp@r?f9a+#MK(u~ z^gZ6k-Th(wh>pb%PN(P$n+Q3J!T4N%iu^Bd4vy5!;7z+xpwu`O9{fY^^w6X;Dxt|_ zr6RfU+}=c}uqs+Cr_@weWnu+Na5&-m=vr<$B2^&(mi|E&$I#FrW)TjmI%qB$96&CQCU%bKuenqfQ(x)KnIL&EE6 ziEHV@GRL)4@z_2xG(zFlq%j(AJIZpJQtgag$#x6@J>GrMmK&TdQ0#fBft*Fkrp>Ep z#NolrjPD;=2p)8xgrn%kNm&9B=ikMD$6wkN+5hpZ<5dZ!;#h!3aM ziFxlqbSVRxc$s5$6=2yr=NN%e*laq+rVO?uY7o1(;6~gnh2b==o*Y_>zAO7FX}Uxl z^4XATWV;2+)TJJ+N2M3h<=$9?aSWuC0_xR@2^7m2{)Zq6s#S0V4m3Rd-7Zop1QPppje%W>tNO&R>0)(YR6ry*J&) zQR9OFyl^x}hz-s4Ey4d%&H|iBXU~v4HA)Z+ul1WRz_PX?*6?YI&}FW8Ywyl{cC0yZ zJS9fX@}FsF^@nh0RI-Jolr3EtwocCC(h@mXE)UbFl)9~m)BMq?UJyUub%=1iGuhuN z+=9=A5#`!Ar84*@+|#0V+-tT`@2y$|{^ie!iGAslKIyPu zPdov%;gvG~AGMI92rP*bNG61R1I}q?VeqVbzmFS?c3EUfxVugIK}{Xp$-TPTDT3ze z!byro+XBKW!*&)a?I)seQDcJ=HC{K3pg@f)$yCMei2n_st&AuE>tou9vQ^%(c2k*9 zO-mlI!0)diL5RZz%*2$r8F;BB*FLf;imNW9YF3Oyx@0SK!f<&l!fCy7k8Df)7 zFhjsH@%LJHT0?vgs{|q(D)X6wAT>@{-AWI$_)QENbXYGpxk{wxhZn{+mT}5akzwb5 z93i(F?1v8H0)a5agcU(jIwX02AyxZ@HA0_g*lJCF2~i$kWX7Q?wR@L76nkY9p!Y6) zvz-5WdA{+n-#f)7jK%w6;?k6U@yQ%8|A zXu=(Ol7K$X@!4ayqkqRb2bOC~0Ct&D%9M;Ig&UrF^qy5D{96-F3iQG{mBt`7oGpkv z^Go^!2^zzstM)IcHd8no)-X2c!S5gPIkNA6v>0S}Iitd+w9&C$TUbNGp3+rpV=ht9 z_?VQ`|4NkX2*W>XJe%$(*`p(Dg+-F^+5La`IknBVVo{0qq&|b| zk8BURC!7kT=-(}OGlTA`pU*LMg>~)xYG2qdBcAn4_f#OvcuEnl((Zvi=ki5l=wGe- zz062a&30Owh>R^0ynpQ)m>BxZCRf~osP$S+5YnUd-u}z81tM4YWIRaY8AW*8_07k4 z@V({;&Prhj1x~yz1ylmreA zh0DR0r>g`POXLpo-TQT2f;e~{95X4nJ4Oi8JuB2Po?(1yMwYcqAMUaE%UB0K7vt?r z7V>nOX7un=dcmTn)=M!ji4AIsT@Zx`vDp@fPL*S*XNcA+f&^0DZXy$Gr>>G1ermsh~L0H)Xz5muH8wWhP>A<9;tL%%FZd=JRJM z_;!n1t!~sr$Djj4zja@BJs8+3w+FvQH|& zkz3<^j`OJIPdC|{Q`Cf4^z+gr^}p-r59@Q9)k4ylNw2o;iiL$xM-lJ~f&BX*Ygfxe zi|df&n?`w8WCQ2c-vi1O6$3LSyo{`l`zn~tW}mAPbe%nLlcGLwl7vj`Np)&)#q55@!3h`-)-aRz>OgMB{DS9<7!8VVKU!rTjC1GE)TU%i0aHsxPPc#6_zto<(}mF_fBG?w?9d z$OCPz-5`osbO^;*8uV82kHjGT$zb0)D5~#me6kp;N%E=%1Sxr*ffScDze1Yl z-c8bISb1|qFrtf`qHpeg<~ZhUgc;Cl7qK3Spog(DgTi3(CgS50yLhFauBrP&z2sfg z%iQWL$w4S!XUUvs+;1Y{b@pkeQLmf2rcpKo3tT)YznCsAv}r;tY~fOk{u%!L&8%gX zRMdBY9m_*jl4AL5NN$nTU~o57ro_VOFm)4}WPuv);26Y?Pobh1Akm;@d@ zuepvX`D1c|UF_c;Pvq7P3=h2>8On8v0Xm@zMCFG*2znili2(yTdp`4lNKJA7n_oaY z=|}_D+pYv5{j}T07I=_;+MvHnpBBVYHw3AxSC$Z{#eub@u5>&w1|sgg5^}QT^~&r+c*rzWFQjUdTk~bq1NsAQpZ%k_p$qoT z;#bHXl}*}nLjTo||ATY@;^Zs{KmW9PXrpx2lMfO?l={#xoDsk^Bxd+wAs3i>`VFm=mCl|~p z&E-lJ`&Wlo2Gz;EEiqHV5IM4S9dQvqlcP#>9v?~iA9}Y32INv7^ln}?kdQjcQxAKw zkMi$Ki4(#%6A$(f=?LD);>~%%QY_C%iW(0gC|QE*81sJ|ihqGgg%pkuy(@&AJMDzH z5+a8{hIZ7;Hbg~5b((Qjl%zl?ZN>64_f~9wg$j*GH-|rAYa`mm5GZPk^6N(!^0V?U zQ`~`_U1Z(wy-;M|k$B3bG|&szg{`8pI%=qgU2kmuPbu&O8>aK$CZOVY)UIX2sLo1h3wPJ;C+A;YbPy*#KB}_7*(I=wIvUiKf@>DH zDaNQHKVeY**8m*22H0kCRxO^m?@=hu{D}xPt30fZ`cnh|0;!fO+%@YjN6(SS7n6er zzHMytiG0=pu_F9iPJW18_;UTTBz4Ar044(%Uu<@wk&V`sYU!`p;T{R01N_LA*Tyim z*G11<3e3MEmD0JF38=%PGg(J6rcJH9KJIE{+%cE?=}VJEZlrbBD+cD87>ShiNz~!r zM&Q1Odg>`=%@Ubiz!-7{t8rjh8uBt2?d4)-Uzm@^8V3;;p}B0tFsPhLZyjx$k3uw% z5cOiZoa*tL|NVX-2j@etHYd8Gq9PZp5oc$O1tlhi<8vuk-^T+osDd3TMI3;e)q%5M z#qq@xSQVE|351P>6`01U-3(gc4b8zArW?`9F1zco7XF-xg{%hYs`=&_^MR)VR5xnR z7xRnbKYHcb1ZuR=4vAvzo{zYcuniEDBG{B!;yMIVIKi5WeW#DVjW~ZyB^A&3YDpO{ zBp&3u&oF7it_upte&cc*QQ&{?jlzyHM1BQ7F~aXionIRvD5N55?W4T8HIYnLF4V3z z|095a20mu{GQyqPb9ZP|h|OlcM9)mO>}dW-0^?3Bp+1ixz=VUqR~AP`neS{-mcu)&RI1(kI|OzFp4;;M zYN!t76ZP-Z;>R71*=d;J5=7>w*W(Oyz1i94*DPz;1_v=+#0qNbo=O_8UldBo+1xaFcLD5k_gJx1nCT0uCQVj6Zz)f&+_!Osktz-69%LS-%d|6k$`w zdONVb?aPXP`g^<$zgKww;dqn#>>+*Jt7Gh8n?J^w0=hLca`YtH< z3UA81yr`^|C|7pD088FOgE}%gx9vu5*NUlx$<=MeYwhkL-G)qH*txmlM|$JkA7c#y z1~2qF`v+p*1Bt5ee4%kUc?mA3E99_BY#(7?ac>4)JaI1*5}qw`eyguj88NhP0eurT zb#QhLqBQeX$l;loLW{HO9(b6vM`3 z8LbVQ0`06p>t}_QWNDq8#OG$%d-YU$L@e-%h>Q*P={#sv(D}q-%a3fg04Fyuc}qK? z9<6<4jm#VoXq%Ub`Hu7fHXlj_R038LVI;@p<3#!ZcqXHD*4A=DK|>F$WM~?Ah4`E{ zTlDVn#-q*tMz4055oFtl(UkAqg~?NIGGbMc=ldj=vSvcfuQ43&aKrWb@|NRwamF zB>207xv@TW84j`$9g)e_Vlz8zSx#m`5W~-meSDh9!m>Q>$p`~%aTfzYU6N~g5Lq8H zjuN}8FcCN5(DdM6#(p=*m4s>&%1*hb!!6tblI>G9+=%27yiS zP287bsNP)*tgjuxyg_V4BnSDF4g4zO#1&+pejCs5?4sxQx5SR?bfBnv0|~oWl)kO+ z2Rs(oVo}Rh8TpT~PW$5w389v(O_qM~^7n``k)+jq&}mEho+#z|$3^>lecFC>0uF0N z-%BluNkmXFjzZlFNxlu|Vt_PFK^dM=**G<4Taw#J0n9-tu~(beor&<}VPhV4wG7$E z5e1eCH>MOGgrd1kn=lG<7X+FF8tSncm8>`7g?8^N(sC~jeu8N54Ki_^WF#zexeUIXUCRfp0J#BSXn0dF+*Q{_bCKkWcH#DT;iu|-+F-}R_5b3Lm z8s07lmy=CNTy{IWN~2n>y%ol@;Fc0@ z@Z>_O;@1x@F%DEUwcm~r3?(6^BpmMO(z&klWOI@AE1o`Rtng6J~?)!Sc!|$ZQkrCogX||A2 z;S3!PTu0$;wW-0H)|0TyuST0>`-N_g`~Gc1H0Cb z`>Vw|m7vm9-qbr7_2W}krnI%?p%1s@#D3N&lPvXn@JhHI6mMFk7taSci% z1tg**)3C*;Mtwe5*f1T5L_@@*iZ}VXZ%s&x{q}|0L7LjqLWQXkP{Bc?;=Z8)SOagx z&vqq8^xN=#eb1HcPl^n`E2cNW=)VZKPCiFqE0HO`{XWGq1{Tl^?2z?f7E{d>J2GPY zkr1=1@YMa;QdT9;kkY7C+LwOjcag>{0;L=hvn)AXds9cRbUmvPVDTmE6EW0}!wK zFiFe)&v5t^Nv<6VvJq(kUx;Fv|86Bm!Jjt`)o`7nn-pffqW0d9W5E&cCn+8i4(!2(IsNMAu!aU=Rx}1RLCdZ)(7O1o92k3#Ee}r;ROFq&vo8C9H1(0qHOV9V z_e4F)Z@NETIb<)H<%Al2yO|}3KZ!gonTspun)orE6j>!t`=bDA9jO(%x=J!uLsP=d zhVA*@Q8XXT)D3gfoaK=0UAHbcYu8_gG!SO=D|B^H4njp^n8jMH82C$CWE8=a+I?!I zk~9wnu1#KJSCmo7AvYE7qZT3>-K&pS%7qyS+!)gkVamL&H&iZ%+C1sTP2(QdP9F)5 zcGJ@&{ixy*-iDUeka_*^(Y9`$oTR04soMvdp*_Q954%~ANOjfu>DDYK=FDU@`JkCs zpmwJBn8h`av2j;TtwiX%fM{1&=uIMK(O6$qeFnr_)vOe6I$`x!|K>x7kUtFUeGWJE zV!D`(KFpV2C<_Z8NMR*tZ&VhN<)wY81DoB5?9qXbL-LnoELpU}6gv{y)XN6Tkv^HqZz?UFgfK0faK)#% zixulVkK|OBV0FkPtm^Z>JDJ|y`GtH!DI1SOL^6T+-P;FbE6h96F1S5D=X zT6TWjh%KQHEN;~e^DBuxbi~$C$1&GOZV=#U_e0(9uFB^z_AK>i^P|Jjn!BGl;L~9E1XJ-%dfx;_Pp= z8e=;7ATRRS@Vr?K;kHA{k#qIaXHY@6sG*Y;mkL0Xr@;(zyABR=@YkT{sdxx}yk#tj zu<1FDDSRfv%i$=TSUOzM>h&rjMr8_48!su=xidH6_TIH4gOa;#4R%o!SJ6d^j(!Ms zKbj0qir-2XI(Ei5M*Rq5#+fi;Y?1zj(~f2mow|mrA}+O{HC(kq-I@UJON2QE=~iB* zn!12c!R@2>D(QAwl&V!;laDY}JlHQ87iU9 zCqx#?%-|%js#*4stG$VFo`)jQs;DtD!aixDko}oKI`v9&TKB$+z|Kl$fnQ^S>oJG)z?E)xjDpyh4p`}7E1*5$>6q`Bh+gt3+&Z|V4V&LCzD6i zpqxf?P^M&RQ}Gd9XIXrIZeby9W~DDSkL;~aQ%r~;+!4$YDwy|n$2!bmn5^$)e>LS6 z5Ae5Gnq8Bpm;U&FNB$46EA;1MIeXH+jGzr_kO=6dmu6#qfGnUqA3#R%`~k4DRD&Wp zRx(vIh-9-Bpq~nKcb|O)ZP#{IyB1RA?l~692N|4x!SXfb%iWTHv=;%xxqrKBbUfR&|#(^il*780_MeARm zlaB2R=3v2VYXL=4q?7JZk)mvy_g*h3NV42bwEnq&L^NC_>S#EC6{P3r~$UWxGIwpULJuOLb z2SFh)n$tmmadR+pL1L+!Ix%`+){{#xlqXv<7~9!s0iD7WK~WW6F?{m%ZHZu7Va0ID zY)xQ3AGBzJJkD(qQ_RoQeqXVrDO?Lfu)CmJh_RMOIW21)vfZk?#sex(hSmYqN@QQK zZKe?AiWW;;26H-<&HPO>@CJTOr~M{bR~LD;|bt<2R3BXCKw1 z7O8?nV+(ECk4<(x4jJKv35^sV-slvF2vx}1Ne&1ac^u)U!mG@M@&L*fk2RmNd9$bP z&HOgB4_$p$g!;WfB!m^29Tk5y7X36`rNQ8557#3i3ftfPm-C!SLK>gS~ zO7O^7?F9vX%8wRo> zXRV=p+>K+rB?Hs)pgVP*+!#%KqOR4XQCqx^?L{-D^r(jlw8K&;6Fd#bP$7BQ+S@(? zk1WWBMk9w)HNv$}2MOIZOw

Z7q!oTzQw55F$xPPsod(3QGzUpk=mUJLbfKo3dyoe14N~9YC>a&kdYEUt>FzGDGTW=56ys=GR3*Vr ziuD9@c9qvl$t{xfmXR5SPu1XiOO7^28PvDxFz9XAIOHo8^v&SN`=#&QpYDfA>;F{x zD2v+X;w!yl)RHn|AXt+nzpDaA$h$1PETCP6SoF?23F`Ykv+0c;?DwV1TKr)K%uvrd|TS_>(sw3f|o`1Gl?df(3K5Sq*XC#$-SV`sd|XXp#_ID3(no4t;B3MG_TAiGgDRD? zzmLb)gzte)Rp=D5u4Zg2ALkTKM5JwqNYc0lf2~S284`pqVJxBW&ZY2T&hggcuT}LV zRny3xm#__3#J5e~O0XgVbh)WNr6K6VfA=d`%_tWs3LZeZ-}}-38H@!8fJ7(~9belZ z6It|}2Wi5j$hQQ10lpbnPXwT{3yUa>RnONvG-wO`)i0400flsOr)L&aEQ$N+O%KR2 zn{AHF?gyf5T$^gO5>?=liQ0!R}Jd62ZC6&8{%O|ro`oC)#+*-h5JoK!%eP#WJK-E+gkkdp<&ahX`c2tIoGM5g}!+nfiua|s2O&L zX5%TH6z~95j#9`MSxE3*%0*gyq{$49V$7-<%M4Mz4p++;%F{4+yktzJ9i!f>QygzV7p zA7z}hfB%!-F-)9QOwKeFN9x~aGX@$0&bY3^H0V@3_1BAUb&UL`fgIW&>LO4gULya% zjGetWUjavxmcdrY$G~mPKylyq)jw(i*Uh>+H?y67aK=BBZ)>_WbN=()HrgQ7w+yiV zY!ydU0M&!TcL8KapN>6`q+)YZ+W9luwO6!4+bHb^+r-NkX#LhHfKpWlAp%8*V}ov4 zVMv}(AJ_VQDFHf%dIHkD11?1>3YIVD#b++5<5sS1FKEBNSlr*WzP`alP*9_DnA^3l zqJ7lkD0(|Cl>X56-jwc;ujDMerH-?5TORUM8sOd9Siaskj*8JCsMBD`WQJf`Zia=- zpk-ZZZ;9Yr3$oQJ4u=r1peq%%Boa|#r6oOK&&#HwO04nG*n=_UyU7~is0i6)&$87K z+SV>UhW>oSn8W@9!>YEW{Z&DI&DV*G8CIOD63+8wt%&tQ>Xyqj;=;J-_bJvI)v&4` z>Ghilw_4^+S)<*{)Qb$n*IXO#OB!*CJA`;EJTbnHO>CKWob5VABaY=YvFp|+ zAh?!iRfEMO=1i-D9^1NhNFUQQ^zSRm^6l?ne%);w3%EE<`*Z&k&z8PRb|6K3RyW`S z*U$CpxhFK)ueh`F(ND2nm3*5&74jYEK^v3r94@u#lA%=5fTh%rnpL#LwQ*0Fu5z6M zsK1vcH?sdk*Uc8?4k6_hx)He6@x*%@V>N!0*)5MQ(zeL8`ZTeV4y8*s+FB7T!Pe<; z{@|rlPEl$4{$v{_x-mwNJI-#u(Qshb6M8bbqKEs?JV>f%%$AEM-2eKtq-fZI0@Gzh zS&B(;YghGWet4mJ&(`T$XYLQyxrR!ME>Dr)JH>PsaY)22e?i4vU2=TKZ;a<6|=O$iJ$awrT;CuvoyvAo<_~9_yMV)T`nZ!mh zn6*R8hbnLnwq>?po2*K;Imdm*Pnh)XkEi$VXXy68(>0Vrd6(nC{j*Kgv`phOCWqJw ztwW!8Cxv>$YAT&10C$R_XvUNGg=f$aE=5^hXbs@i ztSHNOr6Dk(WUxGf&sx;ee0bNAp@}^o7iOPawRua?6utj&OVEobCnqen+=We5{81B0Fn2Jfv| ziMH`71cxBdAG(TUhpV8Nq+cQ#H_L2PahgA=VkCF5dt>(py|cV*BGHyoxcgM}c&!?t zf#P%joERjFpTv{(n|JCO>2F z>I$E^w)YIPo#eRNK){(ToiQTi5d zYU@-$&y}uWB4HNb!z#`v1PQehZe(WIU$?jQhScRSVG9X?%gr_ zXskXJfyz)pwd&VspSn!W+#MUUYamATRD9{a_SIX3r;MWG+qZ!5`$2NAKIETdX^s-%COfFm z)I|xRD;`ELSvw?e%$kxmT6r@^DsdXWA8L^oHoDdFa%P^o(eg@uK;FRd`u&@eP8kx| z>6GR86V!}|kq`i_JB>GidkS!XtKYe%pR*vm0~6 zUj4u{if~zRNGbre{o; zBeHel0sAb?REKDgxdrcTs%2_Y$**gs0>AjS#+=AP!9O`#(aYxB}sV zu{=MOfDPHBW?vlm4T_?XMSUK(6}N3aXr@NN``*`6=9Z9p!N%%ths1-V6CmzGMIIZ zkC=|<2LoSFbg7B=R`KPic4FM5h^XLwoX3=|l; zlc8!A?FK_cN&d?^p4^f60fDV!4X}QSYRN4)$UFO$0D!>dmRrZCB2Hy0Y;2YBH{C1? zWzyKwa%-Iy_8vaOS6|%9X?S`>LKP8QKAUq4I|$zh<|uI!)-0|@3~^;-l1(;7Jv4Vu zCXW-_;5sqBm(@ulVD6x^#wz7ZQJ)@qyl_Lv@n7_H7C*8aMJIT4a~Ez-a)%*;+9@j@vRy`-~7 zdBYMAkv99|bLVnb(XoAYv+_UpFs9oPzZ3dB*DLc2llWHryjk#h0(Bu&F3X7hCg6Vc?a>MY#7# zEGc3&Qx$BJxhAThQxnNbB|5uVe&5?R?*k;uuFmZSVskw%@;j-2i~9&mYxqwNmj0wl zWAV-kCs_qh0%{(-vC>kjiMEbKs)edDQVTSAnWw5%Epll&fHKEQTof?(rZsj+H=4&r z_V9^7AIm=1F_%Z$+4Ijy+c}9^UBR6-Y<(A!gCSADZ6#c`oQBzl2c{av3@=&sB&m(% z))WX5SzjnXj2bH`bN+Pg&)blcdoJL>rW*?N=q(%kM=4)?U{c?tkUQU6>&`UCiuy(- z52LlPKTPKE(pRhOV{YpN$PgDZ!Kcav?)zG$bWA)_I`B6&gR;#z6|y&pj3o zRZRw91LMi%N$1^fEvRdT2UvQ1zbPhiP&N#h?pc-`Hu(pXDk89SYnD59ZXB6+RQ|1B zS42XesfBzqYPhp%M&cukD_;=zq+`z_$-X1nqrI}8yVbu0-= z9>q>T5WpD~ncCL4GTFylD+@22E&=_TxC&Z$lUL|zOcnj$a;~1Ok7CEvq*|g2R!)l`n85V72Qgy1KB}ct&aSa0aKZH3rcBZY%OX<*CM%^cS>Bz8sylGfY5AN!mcEphMdGDx46Kf8>V<+EvzCh_{^7chUyUry|senfg zgz@2UmHEg%)~7%N&|5FCETzc%jH(o9WK>Wg%cmz`)qRjXF%#EAxjVk4veQI0zOzhE z^>$@aXtWc+cB3Rqw&%6vJ|4ld7cGmAoQN+_;Kp;Z$J?@B1H3)VYAB~a5Y;8)=Y0C4 z#NSNfm24wcqLZJaXOnB+e0Alw5Kkoj)0mCIi-r4O*XW4Z)J+PcuCI}dE0cRGgajF- zfX;L?td{?nXu{esf9m3~c=#6{QkqV!az%C*5f%>mlKl9SLjKMy=VPr6;oR@?Dt5iY zNePX(LcSMohRA6nIa|U~MZU2*x=>lz!j`|U=Z56_QC0*JF%v*vfB29cy2Iq~TllqB zpnxkvF-E@!LHWpDHmDfHCj{&l|F#f@4h?Jer&uyvAA!XmGk?53@O@Gy(`{0_`rz~i zUifvY;9zU`?#J^UGih9PutwElbZ(ielV%+BWP`~${`VO z{7Gct0r8Q={~8Vb zH77I8dY={^kxm@JNN9O>0^boCE;mtI_(6JRVH$1Bg6ns71gG(SiKITJLbVWTJ(7Ahq6*5q8X|Jsfy`!W>P0yhD zOR0*mfOnB7=(H``P@iD-M#nK+$RKw)jiVTNz%Ag1PvAxzoJsq7 zogabHcY*XCRX*eXl4;K;$@fY6LgQ(Uv~DA>FL%OQl^;F@G+9n<>FFwvkBV;t;JfIY zNDrg=w6^Q|*m%Yf%v4*?bTq(oh#?cSQ7HogNKno6j(|*rC1Q%f-}Nei%8(s@jsSF) zmX>0g{Q2|8Wlr0Iq2m?e`V*g$!v7do-|!Xt1^Rj=s{Mm>`4U-LGwe1YN#CyHko+tu zMH&|nb!e5{g(at^R=vmF5#CNs2Ll}c!;Qmmna2XvfjgbtP(&k0K)rU%=YH(fG%DXL z7_hX~2DX#8F8t%Y-0ixi_$HL%S`W4|@FrfZvl0vgzNG#D8`BOo2Ao?K0)mv!k4IHM zZXTK4g)Io-GWy{ogT>{I82@~Nr#h{yArA+@1<{!#V8JX*hR#z^_GKGyHLD=R7wWsa zFW1U*6ZefY&YMfU)Li0G)r;Ojy5_SOtfaAClLUA8jUGMk#RB^z)vJ0(AchP;>terP z5~Oc9%O|myH)9K3-$vC+FP>WyYl?G1E6|N31b2fVm9vD0=o%evax&zcv>X;{ER&p1 zqlLe6W^LT;ra3sDHt(UW+0`wc-;fO9;sTC?-)Qp2>{(Sf<}vzYX`z*0#>8Q4Q-=v> zU9=cYYTo?6l7XN%!=SJRbFb9Qh^3z?4d~LRygVyzccMy-t&ixQJZ(M-*!{ zDU!rQ?pD>wH;lKqIWczRj6+g(K`EI+0l5*^)M=4gs&?H|_#bL>G{W^=-Fg0Rc?76p z34cVgIFB$a!fgclU)qDmh;HTeRT*J_JzpCZ+91M667GjTF?f^`e%kl zfN8Y3gkU#8sYUOgmy)fd^J5ugYtWs{4R^-oKn)NA5fgXyPeEx_?bz+^e1NojF9~ZL z;I^LPArxs+Mb2%@x(5q;8Nl@#D{e@(wT=GAvuRpvShlLR^_0x_a&k|hskJ+Qb7R*L zw9%IY&vCR;hdYq|T>E;Al7)7AH?6bY#clp09}4+yeL5f@_-yQ9?1w@yxH$3d_F~t@ zVe)Pg)b6zVW(2h@`7Bs(2a^^xV1h2|DOT$S)pzAe7@zL|0AKC4!h@HaV$cC3{jp>( zLQOrdH^NabLR}Q1BS`PkrhOH*>lB6e*3SYuiK^VE)Ru>i?9SLvzCs_z1b@yu`EB`# z9=mw@&TWK=@_8ul*LPgn0> z57Y@=tsfap5EZP*eS^YvDk9pgYch?jN8!{^2aBzQa=jyz zcAH<-37u!|bx?+MdURp*8kz-wQORP63XxEU9_entdSp0FGCJCo5&>w~v;m9|o`rXWG z*1y&Th5FxVzEpOqT7>Q?t&9PuKFW+Q=kx2{?;_t^X#Z@zgZ{L#xHq~Jj!(8VqpIlQ zW9W1$eq8Fgc;bac7J*H(`;*6l|KhD)&)fEkXyv`pAE#)yZO;y{fVVTS7U%vJ3-Dgi z;1^-sXn?FFsVG3-nf0T$BTD$?9x^IhOQe$nlsy`(;Kt8lBa}^JXU6e9&2iwl^Yg_v zTz6RyBCAX%wNaMmhgeLvYEXvb=1mkTFwjER=)T~)VEF-on!g$^l41o>>Q)I8cO=yj zySt)T4~ekskxkrjpZ59&VQ(6`xVC7p>FVZ0D=fs@fF?_VLydpP9TF1Sw_;^S}Q^HfZy?v#lH zQGlt?J`*Z-K8$snpC)Yo(E_xSjucuuW4SIcJ{Ct4LIaJ(6L7TKhBjRULL%4RQNi%| zaYmf+bDX!C(Y31v9lZn2ki>sL#qYru0=OG7LJENmwYB%nwWT7YA@r@xyG>A0;| zSBY#n0Y8k5jih7~}!Dy*^a}O7C9V zJItN*FBSE=2?SpcF?6#$zwmVE4J18_Gt^a*_-^849XyRW;v>!vc-5f}CEo@#y7a{Q zcezTi2uP=1Qe=7;1VeDL-jjEfu=kp8n-xKLTF27D52RiJLxdiC2W%Zr--<}r`&-hb zYy1u^3%9)CNPK+yV%a`Tb9u))4TM&0WW>A{MWwm53pZ3HY(xHT+gmkptDi5vaEyPW zvJ-eL+I(_f%}DnfTeRPk?KpLB!3DG^K-mK%@zD8D@qcfQN^gZyXeB;SANn4S(dLuO z9xzkJCPDUx77t#}MaR(44JXh_98Dx?mlVlzDz71V1zKe93wh98eKxC#(*yJ$sdUz? zzVS&_qG2W8S_svhdPqEsk$+r9%lHGKqB(Gb=Rcgdn0VwG8tmvJUbm@F@qP)db@KM; z76q(UL8avSv`9JheR#mB4Y|e$7XpB))y-z6{^wVcMBV0lom@txU8j}M_lY`wWT-um z-7hAoK*--O<^2Ol&CkgZH}je~EpZ_N zp||C=wcqmd^FKZmE;l)l;p;he<&V(N@joIhv+g~^+^zLV`enNqrQfEW~&#{M>88@{kBp}1scC55v z1_kJx9G{}FH}GTe*nRG%n!pC-8{WzGfqo2M=SyprxdICJ3%`g8pz{85XP7Wx6YI?v zABe~GkDYI_7||lVJiGu7^RNN*Ic^;&G<>980{M$0E`Q)GWT++&K!*;bhLvjMaawYu z)$@68EO|3u-@{=at3*zm0waiTQAK4UNgGPVoaRC_igwO5aV{H!jZ(Op7b- znye+cxhT8a`K2H<;y2X6~j3l_jkY#cZyJJiXlbQ|&ydA8kmS-&r{`---%dCI4M=js!!Y zCu;Rh5Mby#zyoPs=7%7N+cye;-LW}Ij_^I}r&g47=Ln05>2-(gAz7@4eQ0H$u?GHr zZIFe@N`w7M!-Z6&=)1jJ+`IE8i&uU|n0MX)`|P0c+vu+kqPELzDF@T5Z`m+8!tL8+ z@$=8S+R^o`5n^C@`rfa{s$DG9(HIEQ1ytzw+zuF~n*j*J0nNebVj1&Cj(0lkD>FlE zSZA9X7P;o@AF_{l0F;inCc{5ToYI}gbqhC3`@n=3%VLBOTk}tNv}7jY7={kL?$zzE ztHj{t#k<>%g-_l?RO~oF^)169>^=4KP@*vz=r5NA1t__K@T$+QrxnR+K5aQ{OT>TW zXa(*XvXNgwaId-?d@X>kPVuivXOGC#(L$Z6&nKufwAeu5B8o)G97gfXsp_^3?>FMg zf}&sL`R4+L?`IKpT{Ct?nzCwuJ6jNG-58xe3LwF18B*5+Cg<$`IVPch~S^b7U;;%xUo=o zSm*xIJnIJ`G}OH0!)i?D#&(-4am`~4Gts`^eDSN_#|~?$i#xX?o5rxAW#LN{@xFyT+%b<4F+{y_6p$ZF5M-ak;j!7uoIg1+!xq%rG zHM^sZ^!ZRO%4}MzNL3_Z)LQc4kG2h0N+f4>r9%O?H=zA+FZ#^6yZ1!}f@?&1=*^J~ zD}B0Gv1X-Ns={ugO~0gRU8qdsDkm*Q_xEpKNS#)u(PrQXzX+;>Ocj;z^&*Hayn()2 z-d|CcJ3WN=oJ{OybwNaq`84{m%C&y7Mnhb0;1RT8QNU;~^w>+As-Ylt^>te=p6Z;< zga7wM732mPcqJXg&GbZ)gU}FQ^u0%$Td$7YoFSgxC$oBib*curi1v_qgHytN5u39Y z?;$HLPgiM*O-y83`KNXvCWc8J2(pbb!aw6GQT`BKcmr|oD3>M8gnAd<5WBLej@r2} zF#{23P`ceO)tAvPZ8RHXXgM}JF?p5E#e!a?TzHr6wrcR_P-mcB*?vPvkdl1-J)0W^ zea{f+^YPH%kVJ6QSB5d--P}CUxRmh2!t_p+H~2tC9BqDqM>uo9u*pXO6oYK2FmLm! za*Bu6xhI%;nGD4YY;Y-nXC4+cpFBxpZJ(iwGIrZzvR%@du!Et`4QEmqAEc{RiXy4(|T>%0FKUB$l{+2sN5^q$3 zNRtzNFMU=}@6-p~D-;K9=&+wWfkJs7odDWM`=$o|{DbRb?=rG10Ci9jPEZZUC5*Mx zN&qGL&;DK7II0Z_f$QeIX^vQ$Tue=ZUpu~wcnmle*K%~*37Eq=S`HnAWQL>h^>?4g zVdL^~QC+z-tl?u4ppIn~B{?@46sPJuiQePB;LzmfIIM&^boK?)?P1tV87r-X1ae#U zg!}EV%n+^RExlbVL9Rv&(ikR`#^11M*hdxrs|UG$awpCLs*^}c2sv+$ikI!-{emX zAVnTCZ(3k847p0CXQm#>g1QjgHRBIUEj2OtC7%GPMLZnsFgx=m*#?VlTr|{9t|)iQ z-8Ed9em6Si#Oy50w5A3*dGMVbjhk1sPDbEKjKpJf+T!A@;x9KE+x73o`S8mEW%OEY ziM5T-*MCC3CO5^o4a4%`l5>2Ede%w2KIEtmslGT1aV;YIDE}_YiC>J7{2x{Ux}tS|jxqp(Nr%ak* zluJY6=>Bper^|w2U7T2e5pZMI|u3fR(-xnM!Tt9VZOh)$nfB1UKpg8}aTW}x{EVu+GI0Q>@ zhakb--QC?`2=4A0+$FdZ+}+*XT?S?+|NGv%yR}vOiJB^E>Y3*!efpf!-HVc&VyYD+ zem(yz4gN7;vCVfm9l+K?GBWXOsOaadHr2=qD9&50Vx{>Tn!_xx4U^%WZ>TwnOK=aIr@JP)k>Ns5(g4V| z?<*ZbUapFC`y!;}#@An3YK^iY?scpPIx5W1&xw^6I7t~V{*o81x}G`Am(5P6>Lr1{ zI68>hwS6|DMRaRjp;`@Oppp#Sfar|fuIt?FReBQUmmkThj^ps!t1Al> zKl{rKevIE439GUa;wVljOKmZ}(;aM`xi1KO+B&u3yGfU>>TztuRQ^X$PDLdd5H0>A zD5WkTmPhZ!$#dH7s&S?>m$OVFAWA9@FGnnqjn+pc{y|$ysGye9@9(9SXhT_VHh!+4 zTL%z`s&Xo5R+o^>O9g5YS2VqR-NxK*%|7%`*IU?V??Kx-$282IJs~hcIHiqsx!Lbl zha4Xm*$9zYUn51Gs`k4>a*(S$oZ-y}10F_ospXpi{iuVKh7G$v#E5>pQcoZ&5*{xZ zjxFF^S^}bBfV0iJof%W69v?Ud!L9AH_lyYXpE{pFR-fUI7y#O35_r;3*)H!K9tM{Q z#6-XuWAaIM><(rg)|eUPY{=TZu8 z3YhDM9a}LpJyjHF<)9bxnWPDV@i}l1(;<2$C4v;lDEW4W{2j1)gPh7SQv*r%prBD5 zop6Zbp;S$O-5h^bfiv1B=SsfXMO$N%Y+Tm)03YM6yOkVe{^ZM78A_U9aVQw0lVPiB z3h`>vKf0%Tf%U~m1gecnO$7zYb_Uy~zglcjwEG@7|Y~0f4KAUl~Inmlt%UhSN&MonGI8MZF~* zpsPL=AU7M5459+ulw(i;NbfsbuuoY{nehF5z)?&h*tO?kd`%|qMZ7wT_YRXO|D))x6n zi-v6<>~A07cqbb7!i_gBYKj4HWA8<3wA~Myslsd+LGQkY-ojzClXgXeW+)^O#Mn%k zz#$Gx^}j4%nf1LC)ZEWloE`xEuVu<4lH(a?fRX1D26EY~2tA8e`AUJ-+}Wl_x4_!eT<->Opo8V${i2P#ukZs}dh_op;_|Z%t(8k)#${a5OXFg%QGpVo_ z8Cy&`p;t+H!{>$u@*{`q7MW*u#r%6=f!W=&5UeY2=j%Afz16GYUUS66TYumH+c(DP z^3kO_g_-9FL{63bG|_U6&j2?6*2ak&g9FH9kAc!bza#ywi-TL1tK;9mlA^FQVSfE$H?Lxs0gIzYQFfs{YL z*O~#mTEz!I=T$l+(>?|eHuc?nECp&o@NXhOzLQMRAA!#P4?wV$12cb`#m?)r21}pr zJ`F#9MbX^a+496-{Vy}baNdYoP=i9V*5-kJGEQfK?edxV5#~5jU+F!>p zDYAa_+!YYbd3a}7Xk`o1t&ei4z)#+{f-^zZzH?fm6%UmW3a*gFL5DpRB)v)n^(NoaJ%gKPhsXB%99jh1D>+V|!%9 zJUw_`0?VIJL551hkZV1x6moA+A9RkCMB72E5jER(uMkZ&lzUygR_IKC!g>7i*{I^&>)u4?>&OD=_P)XK)rURVB$fCf&l=w`Gl)+7DF5l`@^bK|3Kk07r}5^Yh?899M+(R-#@f=`fJnI=7#b+?i0=Ph z6olpTP~Q7i+AR(%iw_7*I;arsQ-gI7lOUxd|8;e2Thz{(^6TKsMR}=ll9Cx3)b8B1 z4i-v5%}P?8LQWZ^wA69#;}?lnsk7sr^$d-I1H8kinGZ9E3Y zPuZ6ViJXo268uUB*7uk@|3KscYt0)70A{xWBCxh<0b9r%)XhE@t2z%@`euNq5Qb%K zuQ!aC)3>`>@O1#v?(>+Zy)=N6@I6eTpI?vlQagM77I(JTE4Xa6iGNUs0|&MB6ZI!R zvG6XB9ESTv3$YRA#b2-b{w4l5!y4k<9TTK!yUxk-iN73!n*($%)yOA~dr-L@I7Lqm zE5|J6o=xF(6E}~zho?k#e>_e2b-db=8g%g=bUL4Qr1)R^29T;fE}-e5a>c^-0j1r| z{}3c}w*wLGKhRXsJ^TS6I@iH!N0ZwvFS`2r_KhVlNNRRyLQAx-=EhMHS-^;lp_2RK zxO*dtBir|S6I8bcm%PP5CH`1O>q@=gug9W4Ps@J{`J`&5{4t8dH_Ef}tX2PQ-%!f@ zqG49%U`f35Y3%1YjbkEe12vJ&*>Du;Momg=JI+ZSvUz+(V(Q14YMc9lvOn-;7KQSH zYFcm^EG!yrHcW6L$bCuAiF=e7dvy3f^Ka%_r37)0-t88SiA{q17tQhzC3)A7V2@0e z88(^~&|di^X!TD=`EC>Qw(I-DngCX=`y?pj>Jf(P8#^Gp)bQ z&o2`)EfMU*GYDyhNh$yz9#SnLrt8&eC3+j6I}gZ|2Dqy^a0@K1?|s+3=1arMinee& z%$>D4qxvE|8|I_?a9iH;NP4NLOwtZ!;%zS)ql9ffxrE%Q)v`n<(4cW(8mp`Az50hg zhXKUN!Iim}U3s@P`5s|!hnu{y66x&y`RuS=?;o^?m-yA;u0p=|Kt1ISzE)|(Mmizd zznx~c0U}H}CuEmyJDpG_yHvNQI~EtsOpbpM93Q`%i)0?^IHTMXL3C65PY^@5gVg_L zVeN0A1zR5fbNB1tKvvxTraqBH0=E4hbwj}L?>XO>hgQt;3jq;_uh|}mlj-b^?`OBX zjE9gZQ)KM)L2i0rKg1=?M-j$FDxKX2{x?-0F4T8pL5);n6`(X*08 zGY|b933c7iOaDeM8;!fHh7(%mSQ0P3dugVCw7=Rj|8wh{UW_t!Q{S$BF(PS#rcU`_ zzjiZ3@V^}PssDV}s3FQ*M|AcSfLy+C;WgjODC74Roa$dMSG_S$2KKyq533G&B?N9! zAyv()xI4BO=auJU_p4XPknT?r~WU)PS+!w6052u9hxUOy7tBj`_Z=e|R9a9ih# zF%?ixZDN<*8CYA}0Q>9%9%VM08~7HHZ>pzIRnHqyXMSCig~vhUz9IM%{vjok`Ie9Q zy7Pv-?ln1dOfA_P7cp>b*sm=%lOGSpyZS1#=jB?UyJJU9>zpPri6;f8?MSw!HwCz$ z_rg;rxHfZAHoPTEb&f7P&*B_?-P(Xw4+oT(ut28H?PrZ%BH(6Brj$q4U!zR7H{KkZ z7(M~ZOwwDkTkBJt7_+Sffy$iD?YQRnXYBeo-5l>Am_ZhrzK2(pqv$ZlR5-oNHrx~ zDxcbqjC}dbh|P%t*|S%iOE4{g39|m=P=Mk|Ac39U$a+wh@j#?f`%HajV_Z)ECLg@r zyRt8;gFuvvSG73^t+X{7jMB{m_f*RR*xoMV#R2bqZF2H{e?AoPe$=c0Kd&JG!m;!l zR$oPsyN6+bW@C4S$63W!m_bn;&AMyzePw-{SM#6AG!GfOcT5+-=3M<|+&sJfNE9@{mIcKHs`Ctvly|*(I=|EE;)PF(*xPiDvszNU zn_TYg?=B$+qlV}x5)mX6D@&rpBDxnt;&K(Y1YEA$;m_!JL>feCWPrQ>8pD6J9rkPg zqydK}O2;46{?I6ZrTWP>tgVVqanQVTpl%fFv*UCY*{p$ILsBjK6Q^OVp1;MY6YAQz z(zOdov9#-a$60*aGW$@= zIg#kYF;Q^dHN+oMAp2JlO7tIPfcgvK zUFnZSjQnSw9VAUA{Q6&MT;{(xNeuTN(?SNYUo~Pv%kiYFgPu5m)Nn*^YM43xb(nR@xBR*cYINp^#2j-GE3yJ2fkJ#hFv!E$SD}odcNAs`NZy*>M+9U z`x z{NElR2uTNqb}X%TBsooRiD~pMeS1Lbe@4AY$tzBE9l9{bl9vKD6yvkI??-|(6mgjN zSrYMi#EAN$y9D@q(7CiDPyIkF@6&fhzmS<)_g3fLl{j(4#sl!$?^8JTYw8S3P;wyI z;?&*4EW~z?XWM|&z-ZUS<(3<~DWCbbOt8$=Zf}fboul#@LZ53qWm!G%k!LsqJblXc z1xtZm|K%4~oE~DA>_xv6?mJ@>fKQ97@ zPO$eFb}9{^!kUp(+UdEV0z5p}6qoQG^7l>;%6Cp6vv(m_tiuug{q)VR&i9P}*MYm* zXDzk`H>sbp*b*+a3CEVr{6^`JGf5T}UcN4ZX)v+iskH-9Qdar^xy`TBM30Upk*}uo zhRD#-d^(L;l`-=-0;k3FPt)GcUE^C75R_ID(m^`L{QkBP5}w3{pabm2W_pU=IJ8}zf`-}D)<>bC3xcA{qk=B+%o8p`J^nP*7pv< za$MWlL*TYdBU*ei`qlU4OO0zYQQ?QF{4+?yHU0m3`#=L~Dk>toyKBKF4% zkv{Y`R9_t(Y0AuVJDNy9j8x1&M$^fN6rwF`Oz#kC*IKMd_~QsXxIqdt5n9LhZOO&p zsotA-Na-SI1+y%%_Sp26jII1J+V`Vr;aN}O z`p?Ls%)|vMRama5QwH*%I@0PobV0vssFnJ692E+@p0I^)@2ZR2UT$`X?aE6Z!jiP`zE$ zKwJ0^qw3w}xjv-jy;w}Cf9zVtTjI1dG9*E~vRmIM7Sw8o`rlpvfEu2j{^`Xq6fp1O zCYu4rpGyXX2sfIb$NE{bsVS8of?M>}L0HFev&B5EgPv|$FLEyJPh;6X2Gg3$Z%ig- z1W^W|XcU2dyo+3rI@-oUGwN8U>O*I>%RGWjnrk9Z1VP=hO3SJV6X9{+>O&%0nd>I3 zIxCceD$~_4v1zcr+>_XDAGT(+x%x;h}A^4f=s~RXxZ?4KG9HV<_iU_bM2SX zfs)L692}{*@LZV;#=UwAX*z@;(jT~rSgFUcjVKZ2397QqluM#T8N#36d=H5}ng;(s z`=K!L`u5V8`sg#sHOVD>f7c}rbtGFRrU;A(4_~={e0;QfW8x-YxBkM#wfsuFEK?Ay z8?}uVl}7nOgo=@xs3pu=;9U?LOO`zLWq0x-Cs9|iXl;!HB#1uFJwbX zdd*6ygqUzC^ls=q0$zcdn8LTIwDZl!$ z&L2<)E`_HSrAgiPDBfTQ*QiaH7=ldevv01=iHjH=u*M}>MHUz=(0$p%$;5ugXbiTB zs9CKgLmpjuZC_TGD<{sOyo-4)^pJ4oVh!~jTP9HxA=V`>efY<-D=k{5)`M$ zjd8WvM0}xPAZg^|*vFnVp>6u3d2(^Jjv%&C$$C%rd3OD)Z_0F0dTC%m8 zA(ESrd6-T5a~2XDs<$3>B%e1^qo+&A>;JMrPeu2a2xsUD-XHE13Qw<@%w|gmX`o(oW7=3b+Yy9|!lM)(-(9Q)ZcuE)MJq`7F z(;bl^{PZa@jIpXXUsv|=`EPX|cn6u^84V{VUNpYuxia>(GsX#O;l-612V-ff^G|qH zWQT?#F-Uf|+p<@ImnuU4KADPAL~pbt8V4}Za)o{RjM->sSVfiG!G&|f?S8qPMeP+5 z7cNH9=CC1pc(st6g2!quUk&gid*e#xPrv-m-ro3Q z4#3L}El=+(w71_bpSo^EHcTLmKJThE=VM(`a(^U$TB76@`vJ?&HyiDKNcbWs6mW+H z-0{CF93E>YZ&Z7@hE#(cFr~;2KHSTlr~h5c_#VJz;dXb_OqbkJ9L1A=1w(Emile6I zr4kc;=$-bQ5B_%lm4VRShInTMY6bn78dkr0D}{;A|9|$~VwH|9wEbi@A1fQ%cf-JZ z*d6W3`k8CU}t^A9w3G+!!y#7L@0s|sUJcbe9h!KX*6 zBKCNr8#0Qc0}<3+zV?*m(K1eu^=t~MiqL#?!N$?SwlqVmQ5g~>pH`vzBlK3AaSs`2 z{k!asp>hVdG!)M6Cn@W#s>dZt3Z*ETgnsGf03Zsjk^z$L_Ih(B5kP$BbyBAs(DDU`(L-A^4W`MF*I15G z6`7pB&Zg(*jDzca?QBHjN@k#GzaLILh*Q({AXt58!Xv-&Q;=I3{&kK$cBKiB6X`1z zM`BdCaGMy?)q_kayYmcJ6w_WpHmE{tU10IW zF%MzL5;8IQ3O3h$lI!qU;o)*kcGjV-)o;me$BfE02!RfXh-Xn=PHeobnGMAU)- zlX)KR*%Y*V=+6iZsn|b?be>7+JM?rvt#HeriB!Lv?X&Pu*`T4Tk}nwgIsY(V#U-Gz zOH1)Ww0}I9mFukYu}pgt1#r*Wq+Du>y0-z_J(Hu=jNmyG+T_FPlqOz_jM)_KBWe>{ zLpil5XMYxc=dDJo)Ozb;-k~=6W*iixq68|@<0iiMW`byLj3%<8ut))?;;J%aU>*{0 zZ_Qw9+oI(|?*UmkQWmFRuf)924!R7fv-a`GQCiAbHpOe2>=H&N=?dd^Q)F%_+V8&l zbP*zKOtC^vD3V)wXumM&G~~6!b9H+IB`c*U3dnVqV%4Sk_lPLU^UcRt>qa83&yb{} z$$Yt#Nyxvz>XWRZab@}b*iwfV%sA({NPYN1(s>GcZS~?~DZaxHxaYeyR<&`*nHN74 zkRyC<3=Kv{n09)~ZTG3qK+_2#$hlDbtZxT>RlBbv1;w8Tz@p>rf27FP>xi|Yisre2 zb-M|U;a?L1^?96ubwP_#kM*i%o~0O2Pt#6W3jpmm%U5{8Vo1f&D@?Zg_I7XC`Qq}9 zKnc5pR$l<ZXGCKSY@43n$tL;4bWu3o2n z?)s;cGZGls8wy~BjYG>7RiT^-;j0L;!bGdUDxiwBtSItFk}p+Rl2L)dc4Gvnz#g+E ziq(sJVUtJ07g5z__&7>Ih9Aj_71HpNnu{U_#VRR$F4vr<(a_q0euoNhzMe6;P2}U@ zCWm$;0R4?vr5)8Hc^?I8-;=G1LNO~?PuE7PQs6|ROu;DAHt*-+1M2ldD=TZ<{hs>G z+J=!D+51UqegV=dO-2z}7-3mTq^%m*PJBz=J1Ml;o2r^YLBy~w6x2pdu$rlOW9q&z zZBgJjEgc^b92?&hDbfVmC+CBWPCSqpSSMz>AywBBaw)P(XIWZwi!wr~OXLp2W<$bb zG(OR0W64mfFT#rO49jO8P*A|^g_E33`umCaj5){@x1%Cig_I6Ypff&kMMc`-lyC-O zYDp~h?(9N~g|6v3tJgNuBeSoE%{@{rkCNKYKRIW>p8O$HZSdVpX59wT%YMDh51O0G!#OEwpwle2Zi2EDfp)6T{F#iYlB71(!Vr?gpT`rPF>(##uixhOU6GRA_Y8D&h z0V65m&~KqYEMNx>pub%7ZnM#56_?AAA`d;ZnHvYVRRPsJZP?v$T!k%M5{Oz-o!~ z0$Q5~_xwDg44<`$w9>edxr7v=)o3)^L9|#_hImxT?ctw@`<=sO(hBV39&5uY?(j;a zF=h8juuW8`lMIt;>%mVOQ7xUnXA6RT+{pujH>^(TwchMT(e*x6O$laJ1shT*H8FZ$ zg!u+fF$S@QrqDEU0x0bWJB5m(NhZ@1H6^hl78S*&lLI_FzO>*YTj8i{@?&y!@Tlv- zk?scb;8)Qjnq^sKiM%T4&zN=ob|mvjgS<(|w%=QmRfevDzIr@toIkxV?|`sm_u68J zSE*B@ZIPnhT^wnR_TWl9(B*9P+Fp(smWmcu0{Jf~ke>Ka5WU}S7+OMH(zq-1 zecO*VPWjvpBB(J({<~S0PE8+-m65Y0)d>dyS`Gf z`s~Td`>}Riu{V@yzSi58O;0cuvG2~itr$u8+$L8TszT$9Pt5h2Nq)j*?q3uS9)8f! z3DgDX3DY)%Ifcp1$4UGLB#5Q>VGk2f`n&!MW3W&(tpKFu!^+Uh_qSJc86oa7=rv=Z z&z{&H!EN6-+W=ZJSOu2PZ4xq7EtxQJcB|M>G?oBMmB6$e8YVgFvBh8f+@Cti)+#^h z$Lg{Yhw0~Q$d&kEQu(kNJgQ-~dXlK1AIMq)G+QXU5RJ3}rar9b$M0C`5n<+z3xJBA zShP9C4^x8jwIxdCq<@70UtN&udP>S9`!{h{DxZfgAE&9O>|nmIFH922DJy(&a%7eu z{2VIx=6O>$JETrBWKSIe`NgE!toip5fL;L4mXQXOmGWw!8eI9`3{ zh?Y%fzN>R<&-Bk}5w>Nc@={$+!p-FRV+U+D&R?{mM54&gnxx`yB~qB{zZw#8CaB!) zD3>Mbh6Mb$*hU8xbJ+dWSDhH!U&#{kKkA{(4Z=f^_#nH8Y_T31r#Dn{?4r{qKRwja zQccR?AHAKVLc5#QNjNPf@~qO|RSgGg`#DZXgms_rzXzJ#&bI9RdC>TgWwU@P01_Ms zkW;wo!RMIXr-g##iMklT2`)q^_w)V`3?Rz&F_vAXGw{ianuSRxA}7bn-OsH2;k_kR zqq>rYN;oCoSILr9QYy04x#Ebbt*A z1)bW$`IGXj4jQ<~2qlRFB>P7hWuY}{arjxl&KD=|5M60=?XT#jM8Wcy$#=oRh~2q& zfV=?dcFpzB%@VC4X56V@ZZaZ*5haPKV~tk_7Jgy2J`=oe6eUDDKt9M!pAYB;bsAP( zL67vBBfF5SanQ2u<+k}v3=pnkYy39ziTRVL^~U4r= z665sjDa`pAp?x0isu=Cg*RBhc56W<{7n$!9oGZ(T>~S=`s=q#`mcVo5hBd?)*-CUZ zs$o>8OX*u6rwO&LoDRvznogfodQ)3|p<<*k`|-)YGY=~CV?bjtqS>2(Xw`!#)%rF~ z4%Y@Gr*dz<%*_N}i+9rk1fDh}MPT&J!1aFMiYkO|J>Tav?ptE2E{d0BaqqegJetj zl6;D)l^Iqm`f{5*4&EMyWxDzyT1oIhj;hL!A)AjEDs_3Jze6G@0H{y@4yH{1GLzj* zFup{`d0gP1aXmvktlWBJa-v)L%hHHU@LvY>C+Q<6k*}<$fi+Q5w3EgDt!B$?~QS z$BlVf5sv@}c&mq?(_EhTPEtTjLcq#`jr!`$(Jp6NbEatw`jH-V&0x*&X9?(dAO$4Y z+@Og=4+eKb`R>1uxyuUd*5h#PW{SOnAM|cccv1zHevBm4HM{STTodh$cKcJ;`gLVp zru*i;*D)=%n!vea2pst3oZCb-I(^2vfUc4;=e)Rq;NwCT$|b)c3+YY|-fgA#F%v)h z;WV@CzmPUpNt@*3Bns^}HjTC~^(q_nRvl-cGB+DIK%uIr$cR+hkf2IFyupdI>R4X36n(U^E!>5Eey=`v?X18-Ua<)L0p(@&8%GyA$rU~=-Tr3nGZC#A zUoGS`9Cdan0*D7ZQlPKC>1X9ONkX~*vaQfghOG4+_dlRcR7)s`aV6PJyO5bTs8Zij zl-KHp>k{MYh)Kh6TyFDc{JGSttf0-?ac%t_&#W)i$Tiyu)6ZvS81A`?G=OXV5eo(6 z3M{hgJS-+j*V@y}V03)f$l!O3!nY#WbQu?FZi!wc&h`4NZkAr2PieZ&{u8^xgl|^&|7x51$&D7vWWI+`De^fQo*7a&SA`c=6T= zu*o88+PCkg|3vu%WE+a+U(>Wrz+d$md44cy{w^VS%bT##U+d%-R$qFRt+LW7J z+-w`Z>D4Jdd#Cejk%C@_FrT?RJhTARU3v*9cibA;DXkb(C{Ey-Mck2_=W1ZUC(eCk z-?#nG?Nmlj(d5P4#Xg6dyRHJ~a}42RokI#DE4SS4TgE6TPe}>wA1OXjQdI{A@vVqH zHN(qo6B?Y0dyz0sSzR0o$6VFyP$w&Z0-NmYQ`f4c3}xqwoKxJ1!_~_q z4xEW)9dZVzLrOawtFN&ehP#;Cul`LD+z!W@cR5&h!K1RPe=lN^{ZDav0V!z z7KXw^RLAad`kv;7v2l1h(qD_2{pxVUGIQVH zGPdNxmz9*|_BnN9BBA*1%>2E|teD*YTt?SRa$Fe6VX+0Vzn2<*7 z?iCQe3GXawn_VJQ7t+ zS#~*v=xV7g%u*c^+C4VfZR8>GNQT_|4y-;D-NG+aU8W?2aD4YY${~8@jyd}5@2!q; z6!H%#Y&t_;>voDDW6SG55X;Z=Y2 zvJ)Cm>TZsnbqGx2z~0jk+nvfgmOnjKcWhZeyn7F>8X2tmb41gypt9QV`G-vov8H*0 zp0L{Cyav9r81p!n;URRTOu7dTd5A2RYvJx!(bad5JlVu6VViF@3Ip-_;y!M9zMEIf z!kz0)Yp30XoSU=m>ZP6>=ws|x^}c@GQ}#J1RfB=v>X=WE%WA6q>kI*2{C`d(~pnn#s$%yybebmXYFD@j#Who_?; zYzl8JsrsE3%)`WlXzE}3F-s2}Q;ec^c^4(;b}+u#7%y!b#b%*dce0)JLz33x3@>Nu zFzsX~UdUk^t5f#75 zu-GV|X8xLT6`pRiIF>I(C|ZYs9OojX8JH85H>7Z6v{1`9J)cfIVBoT`vILjrY=n0c zx0?eA{gCRW5o|&*Oe=jv!QHZxB>{F(P)8;|axU9y`v1W;fB|GgT>1!w~e0ix`RIMt*U z)zRS?AxBmn_z|f^vcbGah&wcSwBj{g6McS$}i1&XqI zLCG<$dcGNnaQhz3F{y!2kltK^>mPkDSeAC2ZcKECuQR`-5?`}e{w%7+6OqW-ZZTWl z7S$Jxgdg=Nux#%0{H)7ug~`hJ%i9y6-(;X9M9jxXA^=+XeL^+}>v~XX)`Q5x1)WW% z#8M-tGxmovERdDaq$kk3p6yipj@D=)kiyjpiFPikx7e1pHtso4twNZiJuWYdT--8q zWT%}{8uj7t;^OyGT@%MZ@%`Pm0LZ3zGs@ZjN(m*A`-tGo0Nea{NGb-2F_6#In6c3E z5N_W0=RWA=oBul*AnUks)UA@NT}M!tPinCIdtgS14rjYblZbI9WFlF=y5y<|VWVVG zl%$cnE~#eIi=RoK+=%`VB2szLlR}p>@5!?+BEpOINM<-9&d0^Ligb~8H~y!m`cKPi z(sh&1ky+V7rU#!MX++T}7u6*+m3fo4v2F8i%!#Z2U&OG`f@og)XYt=$gXr@#fm?l& zICD4{C5zvFE1qH?9E*Qur&v(@?g2M^LW9pTUJ-6#r}zq;kUy*!J>T>%k#2erp7{AM zjzU2$4agtqZq=Lr?FI11%=+(~w4&E=sMo^5Z2RTqc(-&ClTJYdKi)ETk{kL_z8OnV z)l*5bd5fq0`NsK|{Om$}wt-_ROJ`YH`2Qg~-3ty^l0v(<4`_~i*hh*=#mPcWDDzk6 z!2}qbSbCIXj5)(rQdn_I^km?R;Q{vI#CGAm2lju|7f%*`O#Su+$wx8CTZ&!V7_}#~ z3Wnd@vuxvdXQyog-$OJcv--l*gFbz>7;u^&v(}wXSF8}ZG>Od5qY6e%ETRj*<6SaA z9RKF2!B8%w%Ixb+No#A-b)j_bLA72?n{%f3FYM{PGN^e$qvHY&VKV!3XMLWFYQrG7 zY;(UqN*?SV`@NU;U5!$J13a^TsBOo)KbMf^xvIC+>OsBQ=)F?uMtCe-oWm7rW!oGN zfs%a-F`j0`P={GjletREb+2^3jczeXr`(g=X5SV?!D*=Fr!^N(zog!s(NnY?(93np zwz}=$qOrmj5A7t|QBEhAp3UF=T&(j@QaWFaLRF>N>d*95jc+iY2v1}P;}ExcLfTU^bV_@0$tOQabXrRXm2+BJ(2 zIc6a>ss%`OVJ#;#jf~%vw)wzKY-AH`9qPyF1P$0WF0geWJjT0$Pd{-MISUK3T3M0f zctogmQcC(R?7DU(w8-yu9f3X|XuOkU%VsG;r7yz5#y%*??G8_fY23cNR*IIiD&da} zkkW{KeO+Sls-L~-u*u1jecrA$ohU*B$Zo9K8dwvpINKg`sf4sj&)!{MASy`Ll4;8j zW+X6H7nP4KV-xxMFi}a)04(SFaJDg8=_g^bxwz@lx`J0%d?k25-}7!yw|V~hd-jzH zd<(yGkvevp_UzqxE4Ba50+Kb#VvFg&h0slhn`d`Kd_Dn}7W@?}C5IrSkn4_fv25Kt zCd8D=bBG->rXwA$&eTD+8|-j1OnuvN4mYA(PW5UxS_9szJP==^k8=LQbC1Nw(Avt%a~G`7|I;o@V6(>H!|?F1uB>(hfPS&IkTV)UdY)d98c{d( z-a)8R6;u|OE1aX;76DM!D*ew$A_-iVE_-oAoRj)qB$j*AWK_wVEA?&5%D#QkcHuW- zouM^E6!3fJ<^-uc5rffPEL^4h2Yyhs?T_W@{^mioss#?$c1}iSSs*{b}lwMw+Lf zAABvC^Yq+Zu`B!APs@u57171~g}-|GwwJ!nhGwY@H22^$ug-tx1$A6PS~6~%=bPuH zpViJQGZ9AHNv+&9hvO6eP0WkV3-+!=EAT}r)hI5kw`c$BMK>&)F8cmFTB^aH{8Eq5 zw~}qOyH1_v98=(Z@_)Nd-Xgk1$v@DRc_go(GVFotA|YhL)}z00s^cw;q8WpM+?!e! zG?zA%yAh~?_t_DVL$A_kH28evRTM^Fy2nLwZm~8L0Ft^>q4(j-dfg%3uk3l`(Yf7T z`$9%Q!gf@$3aafX?vsN?~zRIA)I)APTcp=!aNj|Gc6b z0XUO^8Ui%$N1rY??qi;?hYeWV#QztV{!5QoPSBzLP2vbfCRlheZCl^abk_yR!*>rS zP7^P+u=^)31!-7>>TUKC-lOdIKK>E1)hQdSnA9fEydIj9nuwxCIY=lCXF zD@=<=hVa8pg2wCPhxIYP6Gkdgz45O`Twagfqh=(Rss*d-x5ahaSqzfg<;}s_uRKNT z{9&WQVl}&6sv~M0lYacp1wrpWT!^Pxz&)>498Uc?V$7avh2edyClSxvZ8?cv&`kIP z<8@@s)?@u=;LE2$cG?%!baNsLb*;x|mPAGU?U~84D$^bhTa?6JSR408?_^=wnXt)(^A;Q* zY_9sK%3_&^s{(P?n5y)ImuyTEFt{JRthw!qwyrKGfA8B@i`q&H@~EV*>Uy^P z#mJpfm$yw5M&LvN+Jgsoe+{ zt**lG#U%dI8?10*qLITu`niD8>-J!~ZAGrZ2tDx=eaH@u1x>{ez)u5X^QI-5>_DRi)Fm2D6pT z=VfkbY1kKvK4LBe(DgcR&}FYDhoYHrQc{Sbp)zO-Qr6@9T}J=w(|-6}omwF#kpV@? zlF*OTmH@1+kKy_AeQERNE(julK^SGO)%S-uP@#BP+=(|e5DsD*h7~J6A~c^j4>3Yl zMy2md700HKuLsWW_xC5Q`jWg#ip0+e#0L=?Br+nZX#F_k27hw(tGzv5d!$}d0B1;j z`-K1K5D`*{k1y;`f+G>c(}Kn_iNh;B9gdjo`D9X!?x!aAf;rjM8OwA+fF0&~j{G|u zCc|}}5dZzrg$L@%*N1q1Kg0cKqFC$u0&AyaRj0Uwmri_2_{#`-YT5Ww=bJ8icy;Gf zvKFF!_p@1@W$&z{@s^hfTV$(ZzsC=#HJ@3s4ZT1W-rT+#V^@C>EQNmya2i4mr7Lhu8em=UoO6s$=+j z3}i4KDVh`F=Rf8XP8IHredjEsMGLlCMHO}zdUX=*eqSFMGKU{G-%94b-0_@BGolg= z8{H<~NJc-_A5AC%H{a%lEQ()mW@B7UqJ^BpSoa9TsOi`~1m$|~clgniP9_x+;CWsw zYdg$~XJ>*jz@7)l)p{RD0dU#g7y`acIj9@Y9E;M^TRcM{8C9(@FLDnwWE=()%2kAp zPN%mq9VJF$fAYJ;(dUVAu-KLl?x12lCH{>{sBjfLPrqW%iygxP|%hB$%T8@W= z6RN@-lY1n#-w@k*C+3T^hff9quyXj`y9GSF?mzYvX@~jlZW34gI`~z?A8Od)WrBwol;(p4$Yed1eVS(xjRE+;slb+Q;P2ejn=*X< zCS*}3sjnIzv&fFMVf9Ny3qEK~X^n>2qPxrNPs30?DcQ13VV%nf31X`n(R8vZ5TXMc z@2f={^YJRbMt%%P+JU!#^i$RQp$Nz>;h|fkL=cDWkb!W18&ve0ObB=MP^6B@Rk}lg zp>)_#e=Z3K>^|G&ZuPTy-)wrC)Ns6K<%<`T&|R2vUv6-nX4MkO8>Xoxp0-}HL*8e8h5bL<7lr<3wWBmIiLXYa(mOU4f#)kTc%xp5}UP65Pd_PJgHNLkkKC5Px zQa_5_x#fsN0!F)xc(?xEo2|2y(Ukpz-NaZlxt}OxS2%5Zj7C+5j;Z?A8S(^Ii=v3# zDbak#J722?i$`kptW-qPF1!$+=x3>AB&6b^cS8Q)9~|Ma`{(y6$Sy{R?D4yA&ex7T z+@K$95v*fh>lAbp3${<6Y)7Rtr6mvBD_=6R;w5{fR2a`+JFib@I~#CRAiLsa@I`wI zoog=2FW6X3APY5M+pfe(!q10}6amnB$?vP}z=iO%*x24A#m-y@9) z)c(%EsE|KEr()t`iJS0dAO}92lL@cWy!-tA-hSO2lJR5x7B`$=xUeE8Z8%eS?!9oD0s?x%WZ7K~Z}&A$)}`0a0w5lbq;{#6V2NJ>pr zQXN#&3=otC>@|eU8P@Mg?JFPsHtUyLim3ev}99XH*0dT3gc=5!3t3!z1}^jX${K*$*V z3({#f4Y1CJ{|6S(G{8q|z}juc@e+LAoCp@d*ulj%ZJ=Oz#q80J5*LJnt_Q-u00oqF z9#5DNDCLxJItC94i?xl945DtOY%5FMeRaIwB1=Xt&e1?r>-Jo~!gGaEB%5jspw=Bb ztw}||yi%prj3hvIu`}WujFq1xxC_Gl9ra$H02)lq!-%!3u?P)WHbczy!p6X@HuXij zT8|7*h_|hYw<|QSu~e74)wl_oGm*O0+j-&-Pp)i?Y;r}g&5z785f>Z%;ND{M;>*Ds z`zCjF4m2U0<+WnSt|EdE%p*jf2QJ)+#T%pF;srtz8~K8Zk)67v2Gy;au^QXhbhy6zs8an@=RZvHVPQp<r#C4b-v9#YcbSYA82!%r zLLTYj0oer;g$&0Y0W5Hcf@%T5FWm*TAs`i?L!4J|0ZW-yUr3ssNdKZ;M#pHVN4POT z_M1l#>`Nw5Czm+@pAx*O9LR7jE5914PUU|0RhDGDh}1tP4h=w%k;T@61S!dEi5W(Y zx0AW8+=5hNda47092!6WCTr)+dbOVS^Dr7NE&;;}T0JRGfych9D|A=Mqq*v<9c81G zxLyyZ(Vo+{Vl!;*y@oyOtKAKIAa92VI$vaCW=okvp#o$5MzVEw@&jjkfRo^$&gzWR z!8V!-^z!_P5z}7U!hEbV_*R{?FJkAo%SCXk>#*}(2uq>>XCkXb^r?OvEXSn8cH%dS z8W~ttiG8DCha8eF5%|JwmO;*ULJrNbhuU+x@#NdvIiREQ80k= z`mefZU#HqtN`a%{N*0%G;dtGfr+4$kGyS-kqb3Qx(<+oO9n_&gBUFcXAQ2tE&M6&A z_I)qG7F7zA$KR6sLRSGD4kX*(7E1y66>3Ehtccp%09qwH^ZL|!3R1n6^sUTz?0TJI zZw`9Eg7{2i@<k|RR>LpY3nAY%c;V&&@A7fZZ4(GCgJ9X+|<#`C$>VWat<_~b$DSFc^?E40LDQfTkmQhW1{dkt>yq;)HDK)dMtLD71i>{1 zv+5xB!}-9Lz6t}%){1ZN727Fv3l^>73J+J1eb$OgW!Cv#Ps#C{KU@oAdo3S?7^%PU zmztAtK)6G9iD)-P4>p;na59E}vKXQu3=$Kji)VC{!E(%I1KX_JlHy*)=M$~>MK1-GV(#5>Hd#rwA$!KyW<3q_XdYGQgKV22YP7b&PLWUY65=2)w>Rqvxi zZCny3|C>l5R#5$)yn|SD(8~y*THZmeN`hPL3^JMR%iE00<{yi~{dHzm&7tW$2kq%j z>7(I?gx}W%t}_XW#z-KT?8FiE!C8eFBuH0eM3+SySYp#~H&46{zU%*8;oPwRot6X3 z5#4(;J|Ys1hWTb74X?psb&%mxpD;domwm41er7D5u-?*;o;W_ceLzIQ`EW!;!mR0_ z@xFQHUGJ{)C3hiWTkma+>p>Ks*04P&M7?b*$sDzrTz(MZCHpUVquAPzny7#l_1QThX8;k3jA_0b_Y-Ar1=bJr~xUN{_Lub&*4*$GU*xRQ> zi?tP4{|RFYN$6ALRPFkxC108c<|@NHj`S%s zX2YPaB15$J>&~0&JYDn@v&knkdRsx{^q=RK?A|{@C6Z#X&P&HEET#vL(>c?o(jPZ&$J(4zcWM5?%Z3q&93+C`fv^FQvdS8aBv2HTIx)#wbpje>+sP0KVeRhs zu>LCRdJxH2tpp~$I%l641Sf+rs&d>Kx*-AK#hEjh+I+PnUJo@vMY=^>Kt0dk+06wk zhk#LQGBL!A{(8uVe)31&BjrFZUVB2lNcJx9=-6JfAOUAPKX%Q;FEnkGF_eC;40}Xw zxEEwZi4}f1eEV9spV4HMjnQ-Vuu%YX*5}*e8g|9gbN4M<^=(nMM~Au*<^*Ir9k_+% zl_4FiH`c87X9OsyM!y`ta=%Z|6pqx~xLq(3lTdA#M_PoZut*=}ojiCOQ`)19>6-EU zwsG(Es5S^Y2&_SalO5++iOx>m9p~B(ou!kE0hD>a8sOziNWm* zJ>%N8Q~F~%6W5Fcz!vp2WUe2-TS%A3MN6MLgO8`zPh`0GuXIc{H zF;u^cbl&)-oiyQf$edyd&iQPO__=fI;2_-d?T2D5i{0q9*Mao%Vg{as;=4)Nn1trK zwZTlDs($vmyCJJBZYt;e*I_{Cc2GCm4$AkZ6)O)lX5JRp9{Xq)jCC*d0ExQ~q;BZ0%TD*5_m!)qsbUnfzzbK8DlygrZflz@ginwEQ`d{F3sL@+i)85PMe%)v}d z3Z0_x#oNpY@;8W$_M|My-L3b$Ft84LVw2qGv6ki7%((el&;Ay{ce;EPNEDN?P})&U z?!7!Wy9BJb7E}mTEVb+a6Y3W2bvEcKemcilwfUjkrT1_K)(K}wFa8jyj`5Kd?T`mZ zWnkI1O0b8$uz*!}{GgBVZ?a|=#=J1e^vn%3+l578>%{?Qr{ZGROXh)ag~aSW=UD`w zc*|q-#+kL}>K(4j3Wjw?Zx6p>c$ydgd+5zJ7sfVYZ7{!G_~2MSZHH<4G2qd26S0u^ zGHXqT>R|2$`Q*+2n9J+ci|1oyZZa*7<{SmtcJb-p($OFud5Dr02vM=Id_q(QG~k=H z?7?=kI|;lWNIsDXedeOe<@tHN-=5X0`-zH58nWqgStK`m@(x_ib1*&cp6~~#K;R#bxPDNRnquL)q52(uz6QvrWTBbwTm;Q+f z1E-V84DghO9qZSeKeZrrF@q-=F-W-8eTgDs*r(Rt+iz!j0Y|CV#R@luw51f>28+8l zOITnW3%ExR?8EV3rf1fk^mobRAg1)%g!1f!7;&OgIk%=$kMg z>~<9iOS5HuG>$%tzbZBnMI`2DOIq4!jB=?lRhVERx@ahS@E;KlF(hf#aA4DR>_@oU zv^2U!wQi7#3K`M1VgYzE`2(l1VRiL)PVOw=6v)|qslPIVoxfEXPVH4=rzPV^(=WrY z9eScIHrBHKtkg7sGyL}4-3iv=RMgsS>Kf;|lT_6s73oqiH2ZpA8m{)|du&X9p`;DS z*NFe(0;I%5|1rV~<^DCA7Sn5G`7N-;_HmY)goPpdGR*NXh*h4+7ECNsK`o;(;OH;+ z<1@!&}Uo%^=6wH{)1rfA3TF+B4FBA2sjNtkRLx{`!=ZqmczK_^i-u3 z&mYTBZ|Gs2I|eG@?B8Th0`Af=cj2`J+1GQ49-KO;2wQ z6*!_aO62E;#5cZdiBtu-zulW0aZ2%nAL9@NBBf|1|D)CJ>$eUT${GD3BapzC({l2PaI zgHzAQz(;$Twi;~yz7=EzXf~}XbkiB7=Q$te`Jz>z%()N)F*(}MB@svNAAS(dL#MF9x%w|A56z#N2BWE zBo1Ngv&s~=EEkprS4NnYxx!MLis@M{t@f{8mDr>FqZF{TX}@xD1~d?9rAUn`iPSp! zrb1slbygzTRvq<;FRYeSnv_$eP=g|!v0z)?C&}H{8SM+g8UV>ZQKU8{4=sLc9R7cV zkK6xETV$B6*RoD#E8-0b8hpn6AzqJ+q{p7cOwo`49bOE{2ghj1o{|g^S3Xr^WIp`YaU2=mro<*05dPI&X&H}o@humM)dKzH~WJ?!gCo+-*Up$RCqc$ z1sCtyE}=u@vn{!i%ue{fp7PVKGY0?d?4=<0hMi@*wOe_Sab zz0wu(->d&7Peqab`*W_e1F0xSzt1cjY(=&i7x;~AX27N5GAr5R{htdc3i^*;HB9UG zNkbe62H^6Z{}#RFY^S~<{36YssN?+<=)2B+k0&DSDC0PK#pCWjUR5aKNs6(=tDBEA-#Y9t1|z*cWZ^Rlx4ct zr|O@?cR!(js~h~gg2KiPwh3-`@^2Xq?LU9hUW172`~Un+s81|J8_`EdNazecva^%N zIMXrd`UVb%B_<hnWPkIZ*L@;WTebX4rZ_GR7b!T@0b5z5qLr)o^Rh18mL)B|U=0 ztS5pr2?a4+zCR2LNV!0n@<&WidVwD3a|0E{GDXLXHxu?J7;v& zKfr=nw)N)+aS#|<2e2d5smwu75Vf3w4lC3NE(-ObblU_{L64bPcOc4Jl>_{l%@3?j zdR`+j(TC*?j@t@O_ZT07A>Rt$+VcIx*jps)oECAG z2O6x_`kN(_yC>eCE<~=h9}ldscI{;3KqLGdpFQ%AAM&4mI4Al)7wdlq8?PbyNF|6s zAO(Zi`yv{`p^}w^)*I?ElWc0>2UAvoXt{!v=5{C^@rRPjbXkNJX;zX-{K^?l;guDj zZ>eD$<$xj80_-9AH+7hSMysIZD}*}-#p+7+=}&KIAo_}%ll`m3(UN-NA|2&4CdBJ5 zpp*?04a!!D^0+H;Od$#Tg;AphsNqs{fgAlUG9iMcjL5o{L6jBTQo>Y{piefJ)BB5v z6vq7<+Flt^DOiIpkk_K2`O3^dcg3JIw%Aa(T6 zojbZE+N<5&Tm4NMu+UPphTq@ponOJ2|@;$lLDzWlqhwl?Z0r~({EClP6ssDAwb9``{s ziR};rLl55a=pQfi{5<8I=OS~JQ~f#AU)=-y#|gxXtYbp<(X_5}sld@poVVDdRTBkH zN^Bw=H{3(Ji>Cp&cbK1f5@vU@fW&`?5})sr2%q(+aNraJ9$ToVM(Yi3p!$?(*EpE& z3$_o&&7%`cDJ77bX?lr3G`JugKj$}uIB?eoWzl$8BMcFPC>u40cpPF^uR*WDyJyZ@ zSw%EwMwCnPT$M{0k#h?4MfO*Bo(gAHJ+^E)tO@nrBN_ECA1uxgq&)bByL(-$pK(nu_-%YdnFUTMj@C7atNYCJVdPZ~UjJEC#ek%k%Id4&MYD|W3ktzJ)FW!e3)EjtThG|y5{w-)C^ z!361<0bW1o?bv*(WDBNwL&-962iqPAq-;q|ffNj=(XpT9v}ZtiQ&Z01fc2V^OIvrL zk_ls|p!Dg16bR4i{$3Xq^p6eNu2D`UOiLk`uMrn=n^bD^`3h$w%4{(0DrTlE?}Ktl zi=jV7@3&S!LY^1u7X&)HA2p97RVyy#s{BQ1irT(D83iv!JY`8RMZ0fL#(NzoFhSZb zB;Xp*Ew3#i4Gi{O!o%Cl-_Pdc_RSqJ5w##nRo}WI;v-H0Dk$C|u0JaeMUQZZ)1FNLV-MwRSh!X>Wd^YBdpki~*OZ zM7E$}?hTSwvj&T}qje9)@!pQs4D8nzi5>zUpSb78qH(kM|1Bec271>u=R6VcoV<~= zw8cM`IK(1Rf=r-DD#oBSJ=i`@C{TQQs`63^C$nL_W^^3HYi)u6mefh()Mm4?Kn+qg zAh*D_g#iiA#PXVqyi4T>v;xLHw7{GW8M}b&uX+@)8bbu=kwq)`6Apl_ho%7bd|FV} z=+~Uc3TcQoq$DhRSgA+=>u%LKB%n2)gDqxdNB2$YI5evTT#SSovz;^gBpsTu6ZyjX zD*D(9kbfTG2*&*O{(1jWyaCAz)QKSSmsm(sW9V1NVy?5>hO84&QHaNyro6NG|2--P zH1P^J;5xZCV;}{8Rq~fQ*UiH*UF8gLucUp~f~25aZ<{<`FU^C?!f`PcQ;V~ps77}o zUBV>Cy0{(bN0PoHPd6n%pu|jO}1ngd!DbOQ{r>AAt3>Xer;kWF$`KNKQ z1E@3a3W8x3tiwp}IN!5yeN;o|F;EKj$(V8+XKQG?du^Hp;1rT9O;J@T05%M(e~v3r zdPnIe*x8XyyRc^jbf&&5ql~kC2^|+;Q+L`JR697DidwOU_?-XHB9Jr_qR!Q{jf3YURR~f|5pfl>?Ma zARtpDgej}n!kX-fMsdE$5|5Ds_`dtp(eHhS(**&$B>zsNTw3 zS(|X5I#f1i0(Cks76>s2fpb%TXalDxCW8QIj5KBum(!I&lx=1U>L*^co>B2+Ft_Q_ zUu)BX$yL@oXQ=MY+U7h)#E|zKg45{IM^$AyBXRI#JSno%(maS>(dIx*rb&^uYZwb6 za_7=(=MPXSIrapzv&38Tplvqqt7CZDp=~s{kBnf7y|;x?Obm6J=f12ODT1IYg`9-W z6z98a?Ij2wJK8Sh=VO^aHO{SXVdv^~KqV&utm7%^RU;^CWBA;v7jkQQi7 zv$mAnMERl%IS)C{B`0?bxm05F9=tTRcn&Px0n}_s!r_Uzu?=s?ZwyWZF zrI~~jGF$JWh9Z{y^@572e zoE@o(6{V5Yt||AT_hNp9Z;F-*L=E={U6F8}vXa=ZP}@}2XyuZU5(jTT4ClygSq7Gdx&{+A55Ce-|8s6MVmn8au0M? z0)mUT^&fHz{bY|*DFiw^JgmPDm7ifh&Q%`CAM0y+U-}*$=e05Q6>hFv?_zJQPys@8m5=L{!O5ul3`;E|$Y}af3;2@36nUNLhJFQ$d%}$Z!azij_6P>5n?I0h@ zmE8ji7z7*4gg)!vXVcerdcjasRwXstIqpiMvk4GB8g=}Y%4Of}eat&OWZtBCyAsZQ zz{d{8c%H)xgT3P!F+0bNsXFN|JiY@olZYue6QNg~|Lw!bcfe~w^d%7>r$o}CL?*Ak zJ_GU$QL4z~p8eW3gor5nmP7f_h3YF{JCBnruD4$|tNI7AfeIbAG3x*oH2E3)eqYj8 zcyuYT!MvFPBrCMyf3(+5#89@5-(erhcsKf%eE{kPI3(|G`$~X*sD=d zG}s1kil?V}#MdAv99JoTE;q#*x*C@0z2#G$J(rNuI* z?H?gTeRtPP?H58)%7-HYG&oRzy>BtlqTuLxU1NaFqS*UBhy` zpuA9ki*r*QFo0mKfs_o{N2_O(pz2NiQNn_%D0EA!gt}OMH7iW zv`C;mcp_yZ}5DLPm`zsMJ`B^6`ja|p|t`L_=)B>9O`5WG*u#SbQpl+2@~$)^ubei_0PWo%gnHE zr=IT} z0dOdAw+{Bh|HhQgcLJNIN~?Xit>NZ(YsqO@hQ^b#>+UOvasQ+Im^ez_E)s*4Q*6_X0@7>!2ZnZy#fxVQ}a-jv(5GEi`m~;PE+8zgqmIB z|MzKE88=O)(z5$pm&e|?YK?z;4D>~x4;QW^yH1Oyss{bzE1+ub`Fgq{%{ez~g|v4!-NPz1iI6$i-_!IR>p?baAoHMp7#|fc$-m znTjZ6RL2`O_$E2w^#rGly#u`sz9%rt4hn!#meQt8SyT5pQy;V|(Q$jvEcsK-E?H4} zDOHh|vc?bii4C~rAI&mFT_{vlSb*k348g?5JI3Q#W^UVan*YW`rCjdDa)bHQkwb-A z{eBUnCN#vRefHH}dA7RL!OH^s-8x&8#LnwAwxG3YUoN#58JxqM7kfEr~Rq>TJ}F!Xhu@|lsvVmUzLg{}&L zrfi&dYzO33_!o2ee8twCb;n?iWQxm9^>ZTMRyEa=#`xv zoGW+La)$ns9Tf5f(%Frds(U>TeZP|%HVU%4cz_KQKFd;|;wFglztcgmxkH`&XB8NM zn^vJm-Y+=8HNU{t1X8!WSnb<&XV(DzrB}D#$W{U9Lo=u|C;(gqX1!qNMuSIa)!J(7 zXafAQUncnJpx^so`O$3rBNC>bL7xUMF_Fa~I*9{YtHaOSU8WO({HI_KKBJwl5J+C>~ncr?BcYy;;OXyf7T zi12hWU4$k9F1fuY_ihV8M=F5F0U1DZgA~8UGYDPr15h%lqr&@FA~FN74bo(>jWMyU zj^W<@W}D)T1k+$5&e+=6J7>`q+&DN9dc;|c=~Mrs50Wdxdb z@mb>O<&RSoD}qKI=r?d-oo$L1bumWen))|b2w=w+GQzc(;{m((ydsV< zLk`FEplyBT{Vq=NL44YfKL=1r5#e}z*b(UQM0`0xd^*Ziu2ys&alLC;GX`E4>iV4< z(mpPxMO4^$*t$3HUbuM(-gK8hHZQn4!d7*4KpV=11gUog~3uQ33Anu|>MA0q?8T+M_zHDZ7! zu8HhZCCba3Pl3JBOeRd&V+d}Pc`h#hM&DZ5P@6OoFP*o?)#*YbaBrbC!H*8(%wyv?Tk#@Xn9Y2c}N zHt$=W*#7+Gwk~xIj)l_M^(b{(s)!rT3{O$YD=0i_RMc*D%cNB+;Vx5l0F7{B4|!4g zuUe+4q9bha%FSXRp^edhaRKt23i*n0lt7}Gi(oXSm{JY{qnU?*H^je`gyF|52G%kp zy4P(@5T(-Lh5RZfAjZUzz1Yx@m1lWBJXnrU4A#(|2Q1Gfn&H1XaxU#584aZaYJ+}I z51eCzX?2q{bBL~F3GjwT_UKtXbGm)w3Zgr*&}4`OrjZO3zeMDH(Q>;oLA#8d1LGQ4 zaX;?VJv>$H&z{+m6RFysmjN3U$GgW(7j+mQOSS94oeM8lH5UUIe;%WCJbIHkGb`LI zX4;yeFkk@#E6wj)5U}0{1g@P&t-z}VgQK>`Z*>;0y>hOOi*n6J?JsXS-o7HtUKKi> zUj3=pYnWXJ+V4>i0Q7%ZjzUkd(29Nk7ntHkpbr|WV5 zW2m^5JWVfD;jo%!v#DQj>7AN_Y6*b~fSN~HALY9U7lW%o*LVxW}$ zplgPG?VAvrdfXIbquwxiViY=9r)E`=!}rV5gnIi{g!V0ujQ72P^XQ@|RsTfA6)Xn7 zzf0=8PJGP9v?hy5>OrZ{l%Uu(Xr`r6k%f*j_!=BhGe6n7Og6ouSQ2U_Di-DxPNCCyeza*@wunLAzm0tv1Hgw$d1vOjXWu@<8ij1KxXXGZ#bazlT-G zpyk!ER1(UfH)j5o6SZ0)kKGrTCc7O@Svq=ox+E$R zYOE#Anzo5~9fiM_b1duVHQMrAIzCjiyX(4|>rOrbB#K~d*=#^{yU#3Up-6^TMog|t zMu7XK#EY0%Z~^B#d}}KSRR30nxmVO84KabgQ1(q@fPO_U+F*80y!&2Wf7vpnvFVUT zjJUNWS&kJfz*yGlcf?v*#GB&5zWmhU1UW}HBfM>eMdPsV~MBtp5Wc}M$ zS)D5XmJpzHgJyuswQ^|}wBn{TAScFjZJGJ8TBDEP^bIcSsaxT-)idO^lYIz+KzqM# z1>yq^CkYP_M!4|>1jXZS#(c3vi!ohI>a1wc*}3-$pX9*%Z+<#AW4`{yt`H2k&zEEk z)xCp(#8_v{r*R&e+Sd5c5rV(Rb6mffBXW3NQM|Su>8lCezp8jU`O0`d&)DBx-u1CQ ziV1IcB0PAvM|N(c{Q~hJzR)3kIb>(Cnw7iWtE2?9Jx-y$KkIn)c4oHn?pu3C@wnVm z%=7FHs13CCsw_7TrePrh^CPrJyO_`N0Pkmp1Ok|!n?piHb(pbqIcr#O*$Tw4>W~Wa zCzYVzn`g1GZUq1fYddsk8iUcTuAMN859yj5!U_(EPqt3DPxd!zqwX^){#oCszX}Xq z2h37?$<+n_Qq&~@;T2XNiWtjdofVYJ3f;x47vTO{gPCu_6dEIjSLuFdcw%-`9=4^N zF{*|aTFa4G6~qf2ffmratVKV?73Opw0Q2I zu!Jz(7j$Bz0fpl3=;R9*sTOSGXd9H|t%1`C2j}&q`Xxal4ti!twy%}op|~Zs$QzgF z4V>;`?hLW#m;BgfW2ck13i=U+A2t3c^fYBCM73Z9MSHRge_>@aF$0AHi~eS;wPyNh zon^&X3h^%B`e|4slmf&Q~j~A4I1N^>w*Oug2mu6btltAEgZ=c;S#@F+fK#e zN&KTlafnnMex^4CRo zfZ8E4^{55)fc#H>Oh?k%@l9@4UxHi|hZz*X57}H7H5KaCFCr#m5kxCmVmg-Ol~A#$ zCSfL}!-Ns`3EvAQ&FiM>co2(IG)jYJhx2j65WZI4XT3Ln2id%C|7kcO?+YR4%L(oS ztnyWCW3ziBifuElxa=`Q9DVF$&mk%!>AwsTM~_0)XI5>>c3M)-%!BlZtm0Oil4fC7lABk}{5*ewRUUrT3evbsVbyoteZld5uIh0mztn?F-- z!syQ6?|Hwf5JNp9&n2p$FU$PlMmo@gpdJFXW@AS--wj+JI(17IvqazOu;Q5h6JKfG zrHv(Q{m1u5A+pAt^s^FcE@bN++mrC|J@QJ5AtF~I5EhWFQ`dJPc!E`5c#!O@ z@86Md*?@=w1HZWy(R_`QMWC#iq;A3VPMzWnA1SO|Q}sMb z5jB4coSI4WQYq{S*-FfyXlf>k-(U;&Quzem!lX#z!gVqK3R9r^ie8arA)ASVp%s}W zU8+Fv^bhrFfKnWq20C<$|7m<(%w@{xp zfrM12dT_EY`5b50WQ_2 z0U1DP$9LIHX^qbb{M z0*yWvZ)&e{>wque?C?4r{Swuk5@Rw0syiP|(4+_E!0_>bd%nAzA6V*~`4GGL?i3h>FtMkB+{- zUhKa^C3DC1`53upf%>I|h&fmvMEGMU_s}1I`*o5w)U!6+`PHE;-L_5)V)N~aYeY>P z{QR@THm>L;#_zM?vIECrxy&?IpGU3`s^1q33g{mgm}oudVV(*|c`J2hie>6KE!J&J zD@C9z(tOj8zz>H~xN<(S_qBRaA^)RJFY;La2Jf6?z>s*;p4~(^IjAyXUQ=|U6q5rx zXRvO(PhdfOnDvZ&gam(#MkR3fb-9QW5WF%d!)n0(hO(MQ<}zI}}J-=df{sGE%;px!UrETK1`tSXjpYvc}ocbOcc&O3wCSq31}jClc9&OpHS5HQ^9-m*2f` z4_B|g8DicREI3m5N+l|ZRd5;UbbrDX)&5RIOO8rN`N#iY0#~1jBurt#J=3EKo}sbW z#?C1*+BoWJ9xB>joT-o#E|#TcSZ)NaCz0PdEsII&Y_vvK*hG>p24yuO-wuKX#7t0R0pABn&#M*%PMkeDMtk0!PHn(YxGLVHXds zjfl0xr@aBi9N|_M67K%y#-w14$a>C;a;7Cz56B^d{Zsop0QrQfse6Xqx%mmz92_mXFMk9$#3LypB=1}=I>Sf+Z4VEk6jzOZSf62okaV*w)gfrP|GB z#N(=%^ZEgsdBODq9q_e6qvxUHkJK0lIbbte@$UL?ryj7$s^gzSnC1B__hTqqfZ!0^ z$D10k>6W6rrV85SepH%h9}B(e{#n+61zc7(uBU+jHe3(z`uqDATO7+d(f~daTsNa! z#d;CXhlG-Rmaq#V8w?JnP2BM9V!2I~`1S!w_#@ogVSl$xh_z}Fb7{$Xmy7s$3hPq} zny~rPaA!pjVy#1RsH;N%T$>zHke-L5v2|Qi8ZZI~Rbjsl-zjsLPeWl@b>p@pv@Y>Q zV^tuz!7m#vK+j#B4t-mW<3hBng90>B7^Hl>m*JWJ<}t`LBD#l@v$7^Kt-x*14JsJN zA0~d4J4MeU9-eZBmouhsID+<+Bzz4+;bFdm`& z6_7FNs}j_MQ+2q+hY?vTBai5Y?Y;+}fle$Jd8EC$Q<~r|j=GSNT3~IIi)n*_Gdg!oMTLP; z6gLjC#_akiRRfA#I3gKr%0V$(rR|ijs1QG51(h!HmX!C0W=IK@du`?2Ne@~hjMZ%E z8IIEwVpG_2u2}95Vw8cE7Am~ipfDm*Ry&Zg#2A=}@Av3>*3kp0mYaZq*`G>NiUWr4 zt^5g^Unr^=EE3dc zn-o6AT&dfaq_9_S)0KJ~B@Pp)i{h3kq0zrY+!+L=7BaV79`=*BUK{ z7x=sw9saskKcHk+7W~Xw+7Z%#p#ERdAqrsN_y&Hi0w8ZQ?R*bGfCA~T@LUWY!zRF2 zKl8Wq)O37nzaEEpJz1e~+h`qi>};@bxs_vXbDGv;b%#NR2H<$xE1vPU*$c7V3OwuV z4PktsOHCGIb~;5Oj6YnRe>})&{>e7j9*zY4*4TOntWBnW*x>XdA^U`Mn)`0^-M+8zj zCi$AZsF;teR|o$d)acT^Qg~|57cIRvvYoyhhQjBvbw}lUFkC9Hn&(h>hdkE;Rfmm& z+@{+JC36Q*`B!D(qOM7a@`7vOnURX^I0DCS5#tivf{MR%6=2^6NnZ!Mi9V>mgC)RH zMD?5xk{SMAWSv!5oXxha8w+j$g1fsr1c%`6?(Xi5TX1)Gm*DOYAQ0T$Ex5z!{OehJ z?Y+(geZ$jIUscVj8snX_Ji-m3k_cF5o`mL__6rvSIjDm3G*QRF0ihbd9hYP)Dv?9$ z!rM}iXVM`>MBs#og)Bxw9hWjkQRjg$t4P%BRF=d6RQSewZ1{Snda!VIsz8x$%g_ zv?v$lSRQWOGL3_wR;);Gt1!o80>36JV@K3MDrjhmJ9z-c4WJn@_I{Vq4lE?(A2c*# zky^;KIGa5aS;fcEt%aRg#jvN2KBVC1g%(fI1FCizFaYn5Z_6Bra!?*l&)HITC0$eq z>c$Mznj?xbx=Z6Oc$gu)6K*T>CK0Ug?jHROwDt2B6b?n12@uqsY$)=Lg^^oUq{E57 zjIB52>l~UQ@ZzkvtguL<$@x;1Mf_Wr97MTSbDiFrhZ3 z7LUbD2LsT}ALuBwS<7#gbmJ!BOPkQ)>Z;Hj>XN1lbyY5qL><);jD;w~F0f_X~8sM@{ zlI9D|l<=t`&D$!r-sNJ{-R@z~-M?-{Mi#h+;mNkExV}^Z>rITm+~A_ARBO~a{8b|G ztV|I7ri%e5r_&Sj(vNbv@WEOW<8QokG7p7cEe6pmu`qr8!}e8t)N8|4clcFaz+j*- zRsnP>47?Z8qXQX>YdN4TBLgV_ok-!8lOIxp>%$HS5LO<$6imH0Z;8~)92z#Ppnz2) zPts0--$5Ed0X7{OcD&4a+?+YFX?VS(JLuOPB>%Of&}&>b8?_)KK>yz+ewJjRNDfz zJl;+;E3*q37BxnGylUfhMnpxq7f7OI-^?9lE|u?7C682{Xcml~R!oo{yF!|ZYN$9B z@ig-%Fbx^Yi5w=42C+aew$08SYC}60HV_eA6kawII?JDO_%EJPZpbWXA-Nr!cr^Jx9yxa-^;`I-odMw&o{t{#H&c4 zx0@pANUNbt%2gxQt2Ud%Iz_^`sdW4rGf(j(ob1@5%|9mm z5#!g+^-218yjp$T?OFO-k77XF?Xem0XBGMDqaflCM%%3@8t9MtbNr=z>$_cwzy0$k zhB>e$F9UpJe*9q(`47%laL#Sg;j7uY=lbZXE08$AXt2w^_|oaTXYbi_?%y}~Xq%fp z1TOgTqw?wJl0l9aq)zJEtMQ0-mAA}@-)^Z!k5`sIp+{A^r|Gw$Za1 z**?~%SN{!UbAJ5!gbnVq+Ck2k1Y$|lzyY0!y7%cQ0_7KVvdCaxE_xRA{j*DR{csdv zM4K`p1hE>#|CsopjNr?jWvc#hU$P<^Y(VZH#ebp42hJRw-W+lP3d5|hXzWNx>`EZ& zDEWh1HIW3pvoL&{Abu*~Dx-Fdqlg&42ScvITy^OJxCX$=mY7cq9W_Gh;988jbDjxk zC5dW1}raHU14pA?{IL7vD7YF-m~6c|vr)q1gpnTIEm z>JNFOuFYEORr9Tm4N~uMP+1JGJyp%4kDE~RYWg(DPJH^P8hnd-07Y?;ua8%;3V!eU zIv+ei=J=Bz<{!@OLLZcy&W+RbSO z`=7^MhbNZSPBjF@bPuPVudgT@-pIov{A1-}%$S;xd(98hdQ=!1$A4L-4_FO!0JP)-C?L2E^sK+aUgqX7y+@_R|C$I-A^5Dsd^@T+Ek9z2_Wuubbt8VD7+>V75I6E}a z1|HDE32;EG5z14#4>%jlAlR7%vmh4@F%?O>Lv^{ZF0AIlsqV^ZJ?iPrVWWl4(^R~< zWEWeUHIWpqy)}@GELrNw$uA)@GkfZ|Gu|5m;~G?taaU?&gy|rUXf^Ub3Cn<~2Nmy) z-evCyf$>*dB8xZ@I49ZJdvO_Fx2i$CO}ibuJ1Z=&PHW9$=9zRHj9@y*$0c-xN7jpI9`F2d-niwr@3}zh4>NZ#t-l)1s2SbLZI%Jf)#@qjk6LF?H3rmk5XqT)ldb>o zU}yc+y&<(C(P1(53tR5&rdNu4w|k&8=0+$;r%2s4!Pr!_CNvUJLFnuGV1La;GEUAV z?0NhE5em2=RqcM~#-&sTiLd_Ppf_{odJDzHfqRlZx>#oJGL(7kl{xXgyLcK$tP3FIig= z|0OT(P`C|ij3-%Q6gi8i_ef!&$y2g(S*{9%Xz>quJyr#-UQ2RnbG@N)W(bnLj8|*S zBIeNa#^A`jO!$=k3bA`h{dRp>L|KmeWAuh0UW~VguIF5?p2@+oCXJf=^=Je~v+c)y(Tg|K!QF zj`s%jhe+<}i2dt|N?JWIH!**hMj=()uNU9}A8sub zLXYZck4SIz;>ti*0tQnTp@j`Wz@)azegVU7$o!&~{lGBcTE6(6_u%di=%pmMwT(MX z1oicW2&k_+kvV1MG-(_#|29SkAFaHf$r^!i4U+3ThN4mmM{IZ!Fz|Ss4r9D_H2=KWjLe2;E3}7vh!yBPzB@a^5-OoE0}Tgyk2?w#n~F|W>h}b z+=nhqv7Vly{ZZaW?SA{IuRHCt0UNt>y(`4o?{=vXugNL*z45+Fkt5q%6}-3jx5_;! zh6exxq@5Ro2^zFcPJB&Fu4&=l?vor+t120r-YFK?|5vM0{qB(6VnKrY(hIFR(Y|xnd#vZTj%q{RMevWSz zxGRdFOp9M`T)WM!2g^`2VrKSpjvsD4-RrZwUgu1d8SD0#Cmv5zt~|}#<{CLyc???| z@8%8=I5)dQ>rVHTJ+LyU=^QFpG}M^)-z-40i!VzXl5RDb4I_EUdZ?zlL{*QPyuK*fu1;(xn|8S165rC=;;Mz zEuqJp{^nM(Afb>6>-az?Uv9e{&Kh>}fL=jmw5iV~79kJZH~;~*3PO*TykYLWZFmsB z?hj^I<@YtC<-)#%1e~B7IcJ~I(2+8FV)o%st}o~`RN){kYb_C0mA#Q6rEFVBiiaf* zpP@HsK~UM04Rspx0JAO~sBST_BL2Y_Oe;dOz2i=rG-zCYa9J4(3ih*wNGY#hv%nnj;@DsO8L7ABB=T1v(uQtzwKx<4*YJo?sE75BO6wREmONZ zjb|tQYF{{dI&6A{O@c$FjX5gZxiWyrY2)K1 zV_{|GK5AX;=6kGXcqghdzYuskjUM`(PLX6h6~oHF#vg%MzpeDJJHsj1avBOH#$aYy zlrW>}De$#l{9GXBi^$b_ZxH7QvbsMA*3q65nW1lgdvp_0c5uHsA#`D=wL?QYoFtT6 zaaRSZs{6BZFJok(tEo(yxtS#?YEopC5it4mx}tllas`nW{2I8Gb+_`G8(G$na+AdG zD#Rq-!j?%^ML+*+?dU|tl90GP28nS0ds9Ga>s=})dB{Vs`nSBR9Ro)6+xG%ezFm}& zaW}N^vQPM8D`l`~(OGA%EL(8HYtuk(nW#$A=yN?R?3K)jdLk6(YnbThLu?nCV9Xy1 zr~EKe3*Zg#72MuJ1I=?R6DkU*(?Hu31^O+8wZc@;P>8kro|W>yh6uQxIk< zVOviiCJdW1%+5+6-2yo|-}{(5#(2lY8=KJjHM78e-Q+~sL7m%jc z$;6^8YF*0mXe6W`$sj@|e{oIDwgEnhIpw1NtK8YW#;0WGWvtKHcup_?9$5mgPq}nN zkGC>Rt*x_FTTYXhI@Ln%12tUcFzUwO&w-ZPb5fj^&!S!f@Z4IKBs$PR7>a{#g9@t( z-(>PKoyqIT+=`5Oo#TMc+#qF1($0d&J~hSfju)+&wVZ1fVK0b)bcki zlNhfOEB9!xej8c0m4`xMJ?n~S)<&4hN>ViA6(}X#nDXgg%W1MUF_|L1KhDIns?nz? z2@5NoI0HzlPdwVS9N#6%rNfH^l|`jhKN)5fk`agKB}S*bO=EQ=)0y)zauS+;d^wt8 zi!0_2?P9U{^xXxY*~kM-DVE*A!kx(ubxIFMF10$mH^zp9H9HL_#)%0*3;r{=!Y*0& zHocXx9kdU1} zRyUg7aGg|nuasvCwPk6beJ)>h#gW)YQqZ+mJ1`PP+zzv8GSB0ItY+qKap8r1$RZw( z{3h1wdB`E|?Yc3&wYoO-moDlYgkrM*-PR3)CLx0x51%l(eH@^9!~{X5@k%c;&wPDf znV+rPE1y38?F&b|Rlrw~%F2U`;knmr@cX%NGsG|?db`ngQ9@P}$Tq^;9-ttl0G7#Sc@^BsY+q9NDx`6cb!n9b}j`M={G>e3PEkPD)xNgV#rJt*$saQWT7kr-Ni5#*iI%S*S381VJM^tAR7ZqliiMZ{B$a{Z-j32- z8os#!AV-c>H@M2>tRMl(p;~U&damH(CJT}N4N9DMGoy?irjko9nUrm1EyOWD8?w#0 z_I_poXM*g#i{_Wg9z0^ctc_4IhEk6bRdGGIWS7EPjc6uuYJ~Mjd0w!hF zHi%9MA&1zf4USzMGZ=TemyW4j#$Q&*-1jZu0%V(_Mm}B1LNOHQ&oyH<$nKgoElRoB z^_&=>ZD&|16K_)|Wa1tKA6dEdLBcuho)9^EkL!GUoM7JIAvVa64guNJlg@Bf-`OY( zMq%@s?Q>oO344M)Yf(aEZ>dYu)a*pN-%5(=tyAEDh7`P%^m6CeEep2s{jw73nf1NG`lHa@Vu@RaiIiYb*I>S~#>b7Wixfa1*nK4rJLmL4zh**8+}Xzrtm=du+#9jPw#DL7|UA-Oqf7B8E$78v)n z#G-BLI%fZLr0tB~iNlI`G=iBnaEEZ;$=uART`7X#K}4WsuVRPvBxxCfMtF4H=LMTW zrO92l$^$S4>Y8zEV+0M7h>8ud#%h^r8ou9HQTYbAllKD~Gy{z<=-cDs4Qt6+gpqU&4I0F3eIHcnb)bY^sa;3Hp=48(qmWrEtgc@zhT5^?aco%`hnGW61N(3E`u;X zOf@CvJQ_VmZcv8ukb>$%1LiBn$FVBJ*7%&J)mC<9!xb~O5!158MndM{U6NVRU0B7K zwjb(3K>S-n#7P~KS&bBSXHCU(D%;`d&K)@qely^rYWipx=g*fRMMHvuSmiXREfY6W zBV>cKQRnG~#(Cu*9^;()6^Tl+<|ObGpt*pxw0| zo%26w7&#cFy^&zR0wU4C__Y}mJwNW)b#1oqw;W1}3R0KNg-z<`U&ekhshnj&xX-OQ zaf1;&5cQ*Ch_#eQg}xQwTudC41L!6+NOE;Z`$CfOq}D^G_Y2`q`!_pYo#UP!M{OcD7XB|(g48bu5qG~?z>;VWI>G;vf_V~52Bji|O2S)Zpy z$ZC#rRs^y1PiAj&?M{cf;z}4rz+hbUZrUV#%D+xiI_NR57o~$(Kg;*bR-*bH*bfpC zT=9lnq6)a(ccj3J?RW1w?#Y00nHba3bMO{}<)ZFoi(jKl*d1 z@to37e4x}T0M&Q7Hx*2D153WsasY07qKPuG7&h;8IZ#|avcoE+@t5*6>6H)h{rwxH zTxiggH_*-LHhQen3T`R}4o<3q+x4Bq0(|Lna>lrE2(N-Ne^z*eh0?#cpV-J@bE*a@J0#q<3{9=i_ zLvb#tre#tNj#wjimWeap)aOc0%G@u-JsDM1pXIpMA%iIr)iuS%(}Z_bHh8ypooC{k zvt?xGRW5ktFE?J}m4|plG4x0&Cqc%YhL*g>V>zF^U03`99+Ju8v@~GVEqxT`tDKNO zaZCymPAMGFBeLEF{eFgp^nH=FfJH&VPK`P`hyezMborLVbfYuYGE^rJUKzWrY%6&N z(61cj(MFd}fAR|zb3H}IiB`{Wx+`beoQ0~Aj)cM?cvvGSgVLd4YZM5|Oqa+h&1fnU z=Q|1rl8cI8iV=S9eEI?f#31fY-avW5)v|((jg^>n#FL$$j69&b+141o0I|X1j;4$M zr1<^kG}uxMI#owO0$p8QA)%nwRn8XmyrVJoJPfBEBGB!_INGNvI--)Ww-{hqkX&<$cGMp6xMn=h zK7*GW=@|=P-_c8(7N+pO)bA(&Y<2bEJB2C*4ABzxuN!+)JI^_(!(GJO&R)V%*hF#a zXir9aC?Tp(wPx?7M5%9~oeF{X%F9@B$Nle93P==?{R=wA1M2GQ9b=l_-`{PP>V)22 zUp7C!E-x?NjMg&o@s;@1aM2C=)<+aAt}uC@d%p__ISYR}bYltas)i=nVY1*|#!Qk^ zD22wW05W@pXBdJqU}t;S{)$^{JmY$xB%?@hk~vRrF+TIoHfVuk&j_9HXC3?>%``@$ zWv+JM%Tpva^odZCUyrfrH$DC>0{!n3w^G2WGD!Ln1MlVB@CcI4UkqAh_<=Z_&xG#4#=U%FLVR&gG}lEprCTn1O2XNWH7xXP0Lc|DyqS=2xLTR$c9` z%vVTW#<)1duIq zD6@6#Txa7OdoD)js#z&w{@|KWiI0`nATR~CpV3Ll=a{1-=Ko6LQqdf&fu4AyR7nQ> zLHnxh#Pwf+ko#|ce*-)&XxmQ$fCV_?OG{YVEq1CyUjTnVH@s_N0Zd?``UI7`gQk4n zLCDY7kKe0Um7DpL>xACj0Y%$5cxp`YA%KUqelRMXfd3yh;tp?a{qY*}MvG@pOWD7f z8y9!134!4?;Z?w!XkkS|IkhR|sROAdLW$%|8CvZha6P} zk}!H;O(b&}=vIa1Jcwy2?GGX02V?8_{u;v{k$CTw5IB6qb{yfXfpxM5&5mj_j;kwaXBb@AFH6zWSA3_BUxSdJCd>X3Y0o;V0ZTN+V%m`+hrcH6t4~Ps{ zh=9zhVJw0MdBIXFR?*iD)&mV~JRvg(Hwo@{cGTb`N<(*#?C=40Ea9rO zFt2dy%sYIzY)PRrcq`-4f;a|e0K@vKp_)8s>Si`I7=s4J7MQvLDDN3m>uwoTvgca8 zJctkanmg_i?1|t%FDU*#UoHbf*g)wBFaS8pyhnR4m^z2|b!vc$^CNk*;wHANp9}8O z-KU8cJdIV7xerD+Hq_E=J;=QS08@cPFp59s;#nfO z@Z}^u*Y3+03DH2d$5I|9AO(3gy=X|!xL-vl)^;hk6yZ}~sQhlYUvxeW7$ArV+iQ*) z3ZT*ns5Acz(E1Is6Xq0l#^Nky6_7)nVsV|^X8B(15jZWGK^bImhyFr~Qh-*Xw!NW$ z)&c{m08k#VlHC8D5TMv<^f$If0P>a~x8J?r?iM|tk4sTQ1VuZP0pTZ|($LB0=0UjbA^#&`qloOr;|f2peoa43q06amYhbVIsKOF?%iiqQ~( z+CJwP?-vJEm)U~S8~j=r-v3v9)Qi0AH`@S@OkDVlCxxqT=zu!GMK*vwBcK0dLrW}V}hTaB8Sy|K_}D~~Ec z%eqvc^kTdfO-@uHEqw!2(g&H)_4>br8`Z4T=D$%OxlyIitmw%gw`VS{=-9jn0=uMwZ3 zN&t5NjH~%uw%B&ed9h*BY9vg~!bkPJ9CvEa6)mQD}$~)O#cW zFNU&sskBeKj3j$~=!uFGtRf)NT0EgTe^$FVkypO^Fe|X&QSp_^Hu>^NVu1VbW!LxX zrt+rO{Gr6hX^Qczd+a(UVERtF=Te+pJK=vT7DN~xx)>T08=x#8a&SRKD2?83!jH$1 z*|US5_tPE}F=4YB@H4kIb5xZ5q@WsqSi@EOk3>+h>b0>q-kP^r-q(i@DA;Hbm$#q1 z1vuf_Fb)Em#H&xgB6;WDl)3y%L*BluJ<)4!Z#vPPK=^gs2|U^k37}rIiVO+Z?k{b= zL5uXPPi40Oh>$M!LL2X0>Ig)6@M8=r`gd0RBLAccq{K zT-HWO`D~LaUM9~}h_bz4@;>L79rnMOeQp!BdX%_r$jO%FS81yVqcWgFJGpc=gkO?E z`(_cH*DyRdRR=f=%2vU>E<>!F-edr7GX1!!SD|#9HFknlxG-;nXLl;0E)K@BByTFUO1YeNvb zM#_e)wi^?zg8^Y@B=aPf=bHsB518s{2lI%Bn${I1(H3+?w-M&Ancj?MzY5TuA6*!} zt?>rGdS0xeVR<81P}UX(l145n??a*yHn$EOm@-=+Z}x2XuCm3}tT!SuB^m2Dp_}_P zZnd^i)>d*)j}aG#(KfYuyY7?7Z@YT)yNyy`zyaMx$_WGirEYpm{wuUiQ~vT62T)z_ zyrEsbKKQ}CZ@%~t{165+x1Pyo^t6CXb?O;L z;`p(tTS(LbJc+S)Afb7B&uVYay$Mi?cSk}N3;~sjW#Ej;)ju1xP1qxyP3G*2f1H9@0=k-_3 zud(sBtdBcE6@Ir$3%W|c%OIY)wFx&^Z(pRwXRXGg^qpnspkmyoyhh;r=`tj2ZAp`% zQ)8~eLZ);q_)T!3HZ?Aqozk2=xp8#R)ZD|U_N=J?d`bjfCXzPP3vFIm1@N0WW%~BZ zAN$X}(};ys1~jpN{mY6LL*1Qh>Ntl-8@_t|{feBRn2tR$a#pK0`9|Cycvb5oSKBrf zGTL>VM-lA6w$f}H_tNGW+B4}&Q)yq;Ww7j`(979p*AX6?vMSlj?dLv&GxghGTw%*o z#zWsjnYxK73}3DhsBd&Ivs=e#6&Ee?0TtaGS`wu>u9g=$30lbca4CaCT5lO4Fo;1uz06-f-q0%C+GZhvJqLo1{c? zucB?W!$qEc|nYyN08DWhfzmRk7#M7*unkJD&K z-)NU3KtdKV!mw2>K;+FXxTIGbLJHM>$Y=BsmGT9p6GchHcQ8aXDVHOx$}R@;y^iN2r%jaiZUY5YTx+h%0JE-*_}aF_mZ4z3FI{K}tle)4z7hOz z=<%d{$DyOWv|l{fGH7l5KH-~9)~t=83#sy!$LuQ((?TS2>s1fYp*twxO~C4nO@s1- zA;b=ut1N~y>OCjOfg`1?Fz($HEhW2;3+k1Rppb9Z;Og~vD6{)wqw^${`aOBvVbzYF zFJyK*6%8cQyhSB=3U5^FW=>$C>WKWq>ezDw;*DIZW*Mn-9+1GAL#VMCdmO`;Zv=veqtWX9r5J>Ng#8Vnx_! z$o+*`GJ`z_`m6dMd-wX3q`jfc9Ejes$YQZ@GpQ@o78R7<6^>rM6}2x=-2h;1$0w)P z|2oABRQ==WJ`QN*oxS}~G*|`*rc&xAkJ@sQzc11s;=7pHkueH-+>8Cr#2oUIz~IN^ zFkZ!!D{0Jmxw9kiAIMfoO;%jDAl)Ktq-IHtD*%g|S@9^SKvOk1GD8HH5t}D>k`SZ- zgGfC2Gcn%swJYLOHA1&yB-}AP4M;P;cMPrJ+knXd#6Moz?eD<*@Q>`7fcP zvZB}MKJ>3~|5&loh_^^v(%S$A959cFwk4}PFWF7GV` zgyVC`_HkP8Pi%s$@!O#}+XAf`lJ>kE(F?!%u5lphZkrNO&$h(PxYFP6)_Ry=5e$>m ze9=StY}abN^shL+(?k`OSBEPMRsITCUkEq!rx#*>D8nS~L4uCKNc83YRI6Y%x(n|O z<}PX{;7!~9N2wYZ5r(;QL^LqP9t`y|oBl+Q4sNDqJG^OWo;NS3XHCX_Zbm`EQMxzj zOq1XJ0#R|qF;eF2y5zZ}Io`c1N4~~Idc@$lEy+iBQZme6UeLNA0Ni5lhKF)>G5eh3 zhVkG;CdG+LdDQLaUJbZ%9&?C_W9*i&5m-t2t`Kp?~eH7h@ z6>aLnj?x>0#;$_zlM67ExKgKXD-8i%5P+!%B04XWbGc;1d~lHI`O%ov#u(Ev1(oI7 zln_iyILmI(ad^X{Htjht(d*kT=tXTttwt()7MnO7rC5>Q-u?>qEtA5a zxT9CWCj$Ro_X<#;*BNlP1?=}gh>D65xyJE)E0l!R2}Oy)RXz%pBO6#ri)<%Z0}~fo@*oBA!$g zGRP@6rDp7y!~;K$j4GFB)@6abgOlF21e4<@i4Y#6F5_Kp`E`d z<5%vAkMYw#6t%1UK4V|&K`Fdn&y4;-pGofpfxLOeZyn(^D7{mb5H<+rX3` zz4+1wJx@YBqV6LcO`b{L2POrzWVP$pU6<-0apmL8q>;ZH)PS+4ruj(5jCJ@2QA-*z ziC-#z%*rfEq_?KQQZKN8#!00idX0Ax!+^Y^eOS%f^G3AQN`*ZFUkxs)&J6l~8>}X2 z-?51^zBz}6#Qq5O7koi?Y1T2Q0>xuK8~{FiB`1RmJ;qEHHDgnL@?-`AhMwKOZD5LJ->S~Ke_1Z^sxl;?c|vT5xU zDt_%*8S$<|4HVhF1||_y;ug6GafgAYBNj$ztXPl2c#JOldUeB~5TEkqI}_G>%1KqR zn?NEu54GmLakfk^*sAfNQX-8I6~ponWQ0)eQDHC~QNjURoe*i5X1f$%q&8hOX%y7X zsAlEnyS&y4PdE1-O04Zbi@)=6QySuy)3olC;{O0$f8n^(Dq!scNPGq@4?MNd-1n(v zf0u`T=yA2E8I8W=%-BcPcgUf$t;El)&@C{SOh4KyYZgWQy(6`YRep>PJNm=>x8_v8 zuQN|1vyhrbXCs7vuCJnSafZuHlQj`-@7I$!rejw)X*YAF`bbj@ZX*+;-(l90ew9Z= z@ZdY0&*vTG&}O3MenNj>rTK0;r+2;||9jqx<8q>S&_`hstW0k(x=}pF-!XZEQtmZK zcsWZcxSR@#8IK%+eG&xYGOZUnLA^%20fz^Xo_`LsQuBR=$VjR)Jxo^V7kJJN8_5

WeE9|Ai2G5+2ylo?Jj9prKIq_Q@PRR=N84pvRAu8j3uvaZ|nX3^H%t zHN~OUxAerdRK9pE`$!DJ{WCXXB`)p8vC~2^OrlNsVli4ezzv*ob@e!@P5Lhs& zPTiUDv+EvRl*)c(fFzQtu+9!3?5C$tDP@;fI$|=2#maUJ`Wl6Gf{WOqa|K2CGy8KL}r-O$A2@5)3kX7XV(v%*S zaF5`CDfXoy8-V`G9;iUl|9)=~c$8A_qBkEb0OS=V5szo4`~$W2m@}CFO^JFG2h#@# z>e~Z+Sy`9=D`52^=l}bAA4Qfb&TiOMw(bBxfdURy`JsVy$ah)+ub;6!eEw7Zna8)0 z^eV3M2e;mcgfrG$Ca7}RGG?bo-;F;`Kb~;kp9_2b_`g|{%vygdw;yOipdIfHMfO@o zUd9ACFrZ>Kg6Z5Ni^2VyX8flCTNvv9{@p%9vU*6Ds)~QV{j!_JY0U8-^d$fm$_EVK z+Xa>sEAhW44oK_0Q#D}r7Wvy|A76UCnAhUJnU&JX+HMq}Hg^jB^T5c%S`hP2J73*_ z;o&evNJ`L_&`$WH4?rK}e_lG_F2U-1(3-hcw{2rvrq3JxDbF@%ws-gQpMrkJL8-GT zAVn*s3djh^tK|er=Oo$u$AkM<8=#f{^*as$z)hc+M>_zGnWoifAWlIK7j1Thz5stw$vk)y62Fn zSB4B`&S2Vumc5RoiGO5T9cpt1fn&pG+37ZG(031~%SQHM53_H#Ubp+8$+NuAo`xo7 zjC64jk~l{-eCipj&tv!H&UzOjv^FmF9#uV1s;rig=z4hV#tNREl%_3J z-mAu$X{nm)DmO`p)CH$$uu&vucnyW65QRO1w^^x({jKf`f)mF(L=4iP!V@&@IH@8MZ+80j*^T|qdkDQnq35#nRH48n#{&d13f{)K zc~mAMqe zTR%_%R21nyljN_#Ax5)h8+&m6D%_C_Q1AjU{HwPD_8|fIoY&|uKMG4i3kD79kbi5Y z$iFAUWL)SHG57YZ_fsW!MYYc6^h2uuwiys00%9P{w#$#aXXg7DF%Ww@W4+(&;Y7bs zc`FG%xPoC#?+iUh+Y_am4e{1+_|LmE{U5AJ;Z&+r<-?~KxsEwlzr=M*p;9?|m!h2` zs}EiaS$}z3MBdp*5&`zfl%9|ubq0Rri_I%}(OF_?l+SeX%}9iQu!cEji);RX6C#(L z!|bdT!o0ls+`mq0r$U(YgL)g@CDZbz(r^x$Te52Q`7C3tNji1L>r#aL=K~9b z()tFn5+x-i;Lu^yDBRl#5Dh!}l)Rj07um5jh}~B5A8u>mU;Q97>grCMTGGIA_HMoC z);P;H3B4T9uRo^LVg6!N^@bmtRmWolEtW!q)P1S2prCs}HsQJ?B{>bxI8SqCdF6wV zC_Fu&XVXksHCDDG?OXu2dd^uk%BtXaN9;eGJMBL)q+=?~H5b_?ey-n_`lec8C(Q?n z#fLb7pqScnBb}Agsr!Eihyf~`$7-P`Z_hLXIUot(kk3I{t6u^~M+pcAy0pLDh8`Hv zjFa#CA~Q0Bv5KzQz4>OW@48Xih};cVuFuHETAB%#CDh=a!T%cc-2QqOVV5KXL0Iti zEJ|7Z?C?F`_BORg01Ov@AUny_ObJ(KpzAsNadVQC=9rjVSy;Ce=hVQG4mSH(rPxKu zV@+IU-!+4EEv{hEvuy>pn4LYPA4pS$tu85dN_O?ruEMP%e>76vxHjVDoEk^Ng~_Kd zqqB)6>wutY8Hr|R_K3btDc7i!L~SIRIzL6)Rv^4%81jCVUZ*zFkclxe_A%j|Mzv=d zP;8&t4AJ3R0&twfoo!@gB=&&{_b&d7Z|*8Cs!M?BK4i`~keU!=laSJ1337SV3%;+BHd7WVY=N=#UV?&YpO z-``NRM3e;5Kdw$Cl-QHac77eV7%seseY0g5Nb$o^fEUEo9*xX6RT0}DVqg1~ zc9352&A4U8V1lg28Qzxv3pmYZ5cH?CsUp0CQwpA)$O|PiWyZ!B`35G7BdTs&O4pEm z5lCqgTFM-EO}?(mtI6sWGNA$SS46Y*6t4c76S?Iy|B@_Zm55e0ZO{q4xM-)J=lIw1 ztaFmJ_x4|#5`ir6sAXI!5RbftY+m1RxF{813I)L6;{0a4>_}r(%Yyex3?)Y4A= zAbAC>93~ygPM~EP{vE_VRN}D<)v}(8z?*$+iJa2FyiFnYcJXwqbN--2W}w%rd)=RC z@!BZxuEj<#M=AGlXCuehZ!;yx6@ZuzmQdy?lY4Z93ADh;){*>HY>4Tl{_X^Y?8`8s)S*UFKzv|=L$ z&nB;K9UC!fRmGGOYd^8HAjB85{T(sOJdPp4G9NFzYfy8-sg%N1zN%C` z0NTUVFng>5ym))&p2lAOYxDZ02H3)%(Q*TSuK2e~Hl`Kp^|NV3uM;>B3A!rHVH9`Y zt~&lLRL&^l!jYI62+}D1w7y6xYoq2X_d~qF!f1&A8!>b}jzw$u-4h+ZBe9(6h-f$f z3ah;eq)6-G7#UjJ(9_hjN3*>t`ajWzzvac_2nx-glxN{n>#0z)}h`ZyJ-#1(SUFdyEhBl z^8UPr-4GtB-87ryIxSxhN6A&Pd3A#SYk~lKrJmJE{pkIW?=#i4y_d&k^?Mu#IhiJW z#|9m67jGk7TIVokN~V9dW`|q$BOJ{|U!V+~FWm^!d0A%y@%GYpQ1)ZK%1y`sDkQ|P zdqY%EkIR&~e|4@3u z^aLz3`-6pClV?34`I6H}X z@u>sCY+P#SRYf*?e0~)&T;N9S(fV2m`u}6^t)k-Unl`|0oZueZAp{TZ9xQlpm*DO$ z3GNo$-QBf;V8PwpU4zRs`QGne|2u1D&COiQ#oYCxIp_4*yQ=n6Pnn%UcUnYDow`y} zGJ)Jy&|EbUqROnQr4u`!ifV@JMsg}>M(&}S>PGQSfhgjK1zZFo8RtM|knW1nb7FU? zOLSXN)cVj%Gw=n%@)tPdJBKegcdmW%+Xpr{I9TuyOny0&%=!HTt-<)3aShU7jMDP= zT>n1|=)MI{{7HNEJ316V5!PB&a&u+Cmy#$YSLF5}=DHs*B@))g9pY4fmMb&!xr?_L z+!Q2vF=w2?WEG~e8Aeg0nG)}rXi_#U^{OaIg<*84|KPd)9v0t5px)xLeM|_`==?U& zzO|g-tMs1Y`=7&tA(|OHay-+51}Z*LD($M68}kyoM{@vFtv4|zdT8@#wc`UqyLvwnA z=E0j(VBOddpXLMh1huGnOcSasbSpK3(kG~I4wQ4AA>nkkbd;Tm*iF1e?OmaXTd?wM z5!bTjhz1iRf*?-K9Uhx2esU3YC<>Lb1T2qmNJN&95B;G#RvlPwBKDZ^T6Bq2L`w}H z!HOMXGBGr4)*u@-+p0ye?}3TY?1nox7tlGyDJ@bS>sz!uBp;d=&=Qtw2Xr`dEAWHprj4{WQQe~G=ueIhNIv#mNt5nysvtoh{KrK1+jq0R2w1V6}X{#L3ZFno5 z{9n}x>)JpY4_2GK_FJYu@BTWXMI!@8iNz2@Z+&0@kHIph-)i$ia|mO~)b&lyrDz_n zY|y8sdjdv!-Wy^x#VpAv1>&I}dlzB(5+bVX-(^`sH!EZFOCt7hdH$GHg!~qzXj+qk z6`j3pDBU789D*mMC=6ePGOnRAFfl68aa?S&moj)*6nB3uYSS})nDaqx5DYY9<`3vY6N+p_VY0@|$8XTgkf+%`O{Cu(5_ zCsoN#>luCoOQGhLuawHacnyQy>KX(?bK%69tNfwU-m z9))}G(3*^V{`p`eHua3M%%ze&k@NS0D`7;)pSskB^(K#mwy57(qT9BJidp81wrF#y zEO3gKH_8}VKItVSzrm#ByMvSnC2a+*z}Cm^sQ&@;89 z)ssmTn$TAFjV*gAjlB>w1%r6sZ+7ejA;g@Qs8(fUN;;gAa?-*3+xr&k^$&Ai5?xY2 z`KK>E{Ct6xL};invI;_|GkyAW&p5%=Sm>?9=2|m;SQA#$yE_UGGXNiKE~;9YuRrrp z+YDfAxaA%XipeH?8XoJz>g!q3RzLg9U}I%Oy>r!;k-9ZHpCf${fv-;UiE|~$VEgE z$YT?Tn;zzO=X(G|p7He{GdpL%o>*J~;|f8JL^sFhh1ejN6Ky%zXp^x8fC z;-0(YL7x9J?kW8*?os{UxaSB6@Da5t$p{T%;mhm1%x!$S8@k$iYD|``oEKJh!P4{; zp-L$J*;X;-tVb(DRqN!~2mkcv^$E%6c|!ND)0=hbfGuyjk!Hqnhq)F49MAXnHz(ks zW1TT7C2i{9j1Qd})Y6WVRaU~HiTmj|-4=ZFF<+{xvPJWEG&nQ?Cd(X0_QdL2G26G> z{{_icF`;#)bu5@q{$ldfnu={+ohpb*a02NqbSX({;$M4?pbB~edphlZ37EU^ZNh)u zBM(Aa8MH(+vUDGC!}zAz2=%yb&!50!X+Yl|)_3Z_E96H>yN&?ZKSIi~P-HAwp$wzK z|Cdyp!+bc;xzPwS`@3jszLb=O=byldJ?Gzw=pNtxb5-<>^xK>4U4j{3y5~@E;G+H) z2~^qgk5D;!zcJ@c@~JU%j7o2vH40F4WHrG~sag%hf2h_Lsy{i4+BK#%|K>|=d?6Uk zE9;Y--~7~bBsE3*cZ?$7%30mO-!&-UXRXV8eOm2${6>hs7w z`C~{eZjYGOx;u&7|KRfwU8@k9bUyGIj%}2?teT8<@rgpy z6_j&a5y1o2hW9?2yk#Y~x&FiHI*vSu)jw`3|K$6(BLDfHlVcqp7Vw&WZv#8ueDfWc^*n3F-+Jvae@$a72e^BR znoc&qyLeH2xu;%pxK+)xvl2n;lyEHcSetsK#W)dQKEFEg3wP3}x~9G?-tfX6J~?i@ zd#XM9g^Nhh1{tN{6SCt|sK-yxYgy9%P>Ht|DGwpIc1WZ7R+^a*^(JKw#XE1-@9EMF z-M-*ox}rk}-F7n3mae=1g#zH23(PV{mgAAWD-(dOB@JyPa#B)tN$wIr;AqT@Zt@XW z^10ko=LHCCS%Y|<<{AxoeU1n>Z-^+q^{ib!|4?&J2csBq#K_cTIs^zY>4N zm{R9ddl-X*{k4bU9dN;+;Q0_H6K8vN59w|7gruMO@*PU(siSjfuW#x26S48TBTOF- zC)vpS50PDAPLBK!jIOlNK6l_;%-3_>YZPI%X?N&5K4Q+1PM`XiNnHv$0xAYatPZL< zaDj3P?+30gZ|d|@39L?U4nv{@*dnN&k`4ghnj!wrYTW_<$9AuO0=E+-e!|=8ogsK} z#AxK_8JQpB-_gy5xbx169An@&sZ<|3^Wjp0J6GW5z*KB8fkd3vZ-IjyX?1mM3A7Pl zJs%Tr3p<1LjyT}(dmnjp{}PKfl&c+&hYsiJojCS-!coRZM=2fM*|@yFc4c!=_mom7 zz!H5&jj*$3ECcIH1RBGD`*@@R^qyPzBY-FxyqhVouG+VDj>15)ud%$gwv&iq=qKKJ zA6`4ga>q*hy|JS`a7T6RvR2nf2IBW#RMXA9nK!YnKdHXL#V-Mn#ZIpa4RAedPVMF` z_|ca9H!_hQ{+C6wDLAxO`JZKYGk!W&{}q~Jut5V?F{nO0_6i~ft?kYw2-NgHG2>(E z-2}fDH!Toum+NMxXF#4O7FL@)fA>+*Iv16&CM-oErlvfn@i~6w`w{iR5e4&jKp3{6 z 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Ξ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

Z=oo`q)M2@(g; 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 Qod$B6r>mdKI;Vst0GPXVCjbBd diff --git a/doc/images/dolibarr_screenshot9_1280x800.png b/doc/images/dolibarr_screenshot9_1280x800.png index 5c71c9395bb2119e54c020463aff5b9962331022..97310a4f4eb905a966b684ec72fea4949ab2663c 100644 GIT binary patch literal 174951 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 }lG@qb<%N1Ux2T=$baj)St+aoZzhr^u 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


Hd}hE`WJF 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

9+`2v65*9IITI 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\n"; - if (($object->statut == 0) && $user->rights->mailing->creer) + if (($object->statut == 0 || $object->statut == 1) && $user->rights->mailing->creer) { print ''.$langs->trans("EditMailing").''; } diff --git a/htdocs/theme/eldy/ckeditor/config.js b/htdocs/theme/eldy/ckeditor/config.js index cf7163671a3..a397f5ec874 100644 --- a/htdocs/theme/eldy/ckeditor/config.js +++ b/htdocs/theme/eldy/ckeditor/config.js @@ -46,7 +46,7 @@ CKEDITOR.editorConfig = function( config ) // Used for mailing fields config.toolbar_dolibarr_mailings = [ - ['Source','Maximize'], + ['Source','Maximize','Preview'], ['Cut','Copy','Paste','-','SpellChecker'], ['Undo','Redo','-','Find','Replace'], ['Format','Font','FontSize'], diff --git a/htdocs/theme/md/ckeditor/config.js b/htdocs/theme/md/ckeditor/config.js index cf7163671a3..a397f5ec874 100644 --- a/htdocs/theme/md/ckeditor/config.js +++ b/htdocs/theme/md/ckeditor/config.js @@ -46,7 +46,7 @@ CKEDITOR.editorConfig = function( config ) // Used for mailing fields config.toolbar_dolibarr_mailings = [ - ['Source','Maximize'], + ['Source','Maximize','Preview'], ['Cut','Copy','Paste','-','SpellChecker'], ['Undo','Redo','-','Find','Replace'], ['Format','Font','FontSize'], From 1e037a9b9519e075074eeeae5c9f4f31c5ce826e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 31 Jul 2016 18:28:59 +0200 Subject: [PATCH 194/476] Fix pb of responsive design --- doc/images/dolibarr_screenshot6_1280x800.png | Bin 0 -> 179446 bytes htdocs/admin/security_file.php | 4 +-- htdocs/theme/eldy/style.css.php | 28 +++++++++++++++++++ htdocs/theme/md/style.css.php | 28 +++++++++++++++++++ 4 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 doc/images/dolibarr_screenshot6_1280x800.png diff --git a/doc/images/dolibarr_screenshot6_1280x800.png b/doc/images/dolibarr_screenshot6_1280x800.png new file mode 100644 index 0000000000000000000000000000000000000000..19c1e8c9551baa46d8f4ed309029f7debd86e49a GIT binary patch literal 179446 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⋘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 z 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 dol_syslog("safe_mode is on, basedir is ".$basedir.", safe_mode_exec_dir is ".ini_get('safe_mode_exec_dir'), LOG_WARNING); } } -print ''; +print ''; print "

'.$langs->trans("AntiVirusParam").'
'; print $langs->trans("AntiVirusParamExample"); print '
'; -print ''; +print ''; print "
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n

DoliCloud is the service to provide you a web hosting solution of Dolibarr ERP CRM in one click. Just enter your email to create your instance and you are ready to work. Backup and full access is to data (SFTP, Mysql) are provided.

\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
Test Dolibarr ERP CRM on Dolicloud →
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
DoliCloud team
\r\n Unsubscribe   |   View on web browser
\r\n
\r\n
','','',NULL,2,'dolibarr@domain.com','','',NULL,'2010-07-11 13:15:59','2010-07-11 13:46:20',NULL,NULL,1,1,NULL,NULL,NULL,NULL,NULL,NULL),(4,0,'Copy of My commercial emailing',1,'Buy my product','This is a new éEéé"Mailing content
\r\n
\r\n\r\nYou can adit it with the WYSIWYG editor.
\r\nIt is\r\n
    \r\n
  • \r\n Fast
  • \r\n
  • \r\n Easy to use
  • \r\n
  • \r\n Pretty
  • \r\n
','','',NULL,NULL,'dolibarr@domain.com','','',NULL,'2011-07-18 20:44:33',NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL); /*!40000 ALTER TABLE `llx_mailing` ENABLE KEYS */; UNLOCK TABLES; @@ -5491,7 +5491,7 @@ CREATE TABLE `llx_menu` ( PRIMARY KEY (`rowid`), UNIQUE KEY `idx_menu_uk_menu` (`menu_handler`,`fk_menu`,`position`,`url`,`entity`), KEY `idx_menu_menuhandler_type` (`menu_handler`,`type`) -) ENGINE=InnoDB AUTO_INCREMENT=145114 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=145121 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -5500,7 +5500,7 @@ CREATE TABLE `llx_menu` ( LOCK TABLES `llx_menu` WRITE; /*!40000 ALTER TABLE `llx_menu` DISABLE KEYS */; -INSERT INTO `llx_menu` VALUES (103094,'all',2,'agenda','top','agenda',0,NULL,NULL,100,'/comm/action/index.php','','Agenda','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103095,'all',2,'agenda','left','agenda',103094,NULL,NULL,100,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Actions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103096,'all',2,'agenda','left','agenda',103095,NULL,NULL,101,'/comm/action/card.php?mainmenu=agenda&leftmenu=agenda&action=create','','NewAction','commercial',NULL,NULL,'($user->rights->agenda->myactions->create||$user->rights->agenda->allactions->create)','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103097,'all',2,'agenda','left','agenda',103095,NULL,NULL,102,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Calendar','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103098,'all',2,'agenda','left','agenda',103097,NULL,NULL,103,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103099,'all',2,'agenda','left','agenda',103097,NULL,NULL,104,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103100,'all',2,'agenda','left','agenda',103097,NULL,NULL,105,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo','','MenuToDoActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2013-03-13 15:29:19'),(103101,'all',2,'agenda','left','agenda',103097,NULL,NULL,106,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done','','MenuDoneActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2013-03-13 15:29:19'),(103102,'all',2,'agenda','left','agenda',103095,NULL,NULL,112,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda','','List','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103103,'all',2,'agenda','left','agenda',103102,NULL,NULL,113,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103104,'all',2,'agenda','left','agenda',103102,NULL,NULL,114,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103105,'all',2,'agenda','left','agenda',103102,NULL,NULL,115,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo','','MenuToDoActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2013-03-13 15:29:19'),(103106,'all',2,'agenda','left','agenda',103102,NULL,NULL,116,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done','','MenuDoneActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2013-03-13 15:29:19'),(103107,'all',2,'agenda','left','agenda',103095,NULL,NULL,120,'/comm/action/rapport/index.php?mainmenu=agenda&leftmenu=agenda','','Reportings','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103108,'all',2,'pos','top','pos',0,NULL,NULL,100,'/pos/backend/listefac.php','','POS','pos@pos',NULL,'1','1','1',2,'2013-03-13 20:33:09'),(103109,'all',2,'pos','left','pos',103108,NULL,NULL,100,'/pos/backend/list.php','','Tickets','pos@pos',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103110,'all',2,'pos','left','pos',103109,NULL,NULL,100,'/pos/backend/list.php','','List','main',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103111,'all',2,'pos','left','pos',103110,NULL,NULL,100,'/pos/backend/list.php?viewstatut=0','','StatusTicketDraft','pos@pos',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103112,'all',2,'pos','left','@pos',103110,NULL,NULL,100,'/pos/backend/list.php?viewstatut=1','','StatusTicketClosed','main',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103113,'all',2,'pos','left','@pos',103110,NULL,NULL,100,'/pos/backend/list.php?viewstatut=2','','StatusTicketProcessed','main',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103114,'all',2,'pos','left','@pos',103110,NULL,NULL,100,'/pos/backend/list.php?viewtype=1','','StatusTicketReturned','main',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103115,'all',2,'pos','left','pos',103108,NULL,NULL,100,'/pos/backend/listefac.php','','Factures','pos@pos',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103116,'all',2,'pos','left','pos',103115,NULL,NULL,100,'/pos/backend/listefac.php','','List','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103117,'all',2,'pos','left','pos',103116,NULL,NULL,100,'/pos/backend/listefac.php?viewstatut=0','','BillStatusDraft','bills',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103118,'all',2,'pos','left','@pos',103116,NULL,NULL,100,'/pos/backend/listefac.php?viewstatut=1','','BillStatusValidated','bills',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103119,'all',2,'pos','left','@pos',103116,NULL,NULL,100,'/pos/backend/listefac.php?viewstatut=2&viewtype=0','','BillStatusPaid','bills',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103120,'all',2,'pos','left','@pos',103116,NULL,NULL,100,'/pos/backend/listefac.php?viewtype=2','','BillStatusReturned','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103121,'all',2,'pos','left','@pos',103108,NULL,NULL,100,'/pos/frontend/index.php','','POS','main',NULL,NULL,'$user->rights->pos->frontend','1',0,'2013-03-13 20:33:09'),(103122,'all',2,'pos','left','@pos',103121,NULL,NULL,100,'/pos/frontend/index.php','','NewTicket','main',NULL,NULL,'$user->rights->pos->frontend','1',0,'2013-03-13 20:33:09'),(103123,'all',2,'pos','left','@pos',103121,NULL,NULL,101,'/pos/backend/closes.php','','CloseandArching','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103124,'all',2,'pos','left','@pos',103108,NULL,NULL,100,'/pos/backend/terminal/cash.php','','Terminal','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103125,'all',2,'pos','left','@pos',103124,NULL,NULL,100,'/pos/backend/terminal/card.php?action=create','','NewCash','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103126,'all',2,'pos','left','@pos',103124,NULL,NULL,101,'/pos/backend/terminal/cash.php','','List','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103127,'all',2,'pos','left','@pos',103123,NULL,NULL,101,'/pos/backend/closes.php?viewstatut=0','','Arqueo','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103128,'all',2,'pos','left','@pos',103123,NULL,NULL,102,'/pos/backend/closes.php?viewstatut=1','','Closes','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103129,'all',2,'pos','left','@pos',103108,NULL,NULL,102,'/pos/backend/transfers.php','','Transfer','main',NULL,NULL,'$user->rights->pos->transfer','1',0,'2013-03-13 20:33:09'),(103130,'all',2,'pos','left','@pos',103108,NULL,NULL,102,'/pos/backend/resultat/index.php','','Rapport','main',NULL,NULL,'$user->rights->pos->stats','1',0,'2013-03-13 20:33:09'),(103131,'all',2,'pos','left','@pos',103130,NULL,NULL,102,'/pos/backend/resultat/casoc.php','','ReportsCustomer','main',NULL,NULL,'$user->rights->pos->stats','1',0,'2013-03-13 20:33:09'),(103132,'all',2,'pos','left','@pos',103130,NULL,NULL,102,'/pos/backend/resultat/causer.php','','ReportsUser','main',NULL,NULL,'$user->rights->pos->stats','1',0,'2013-03-13 20:33:09'),(103133,'all',2,'pos','left','@pos',103130,NULL,NULL,102,'/pos/backend/resultat/sellsjournal.php','','ReportsSells','main',NULL,NULL,'$user->rights->pos->stats','1',0,'2013-03-13 20:33:09'),(103134,'all',2,'opensurvey','top','opensurvey',0,NULL,NULL,200,'/opensurvey/index.php','','Surveys','opensurvey',NULL,NULL,'$user->rights->opensurvey->survey->read','$conf->opensurvey->enabled',0,'2013-03-13 20:33:42'),(103135,'all',2,'opensurvey','left','opensurvey',-1,NULL,'opensurvey',200,'/opensurvey/index.php?mainmenu=opensurvey&leftmenu=opensurvey','','Survey','opensurvey@opensurvey',NULL,'opensurvey','','$conf->opensurvey->enabled',0,'2013-03-13 20:33:42'),(103136,'all',2,'opensurvey','left','opensurvey',-1,'opensurvey','opensurvey',210,'/opensurvey/public/index.php','_blank','NewSurvey','opensurvey@opensurvey',NULL,'opensurvey_new','','$conf->opensurvey->enabled',0,'2013-03-13 20:33:42'),(103137,'all',2,'opensurvey','left','opensurvey',-1,'opensurvey','opensurvey',220,'/opensurvey/list.php','','List','opensurvey@opensurvey',NULL,'opensurvey_list','','$conf->opensurvey->enabled',0,'2013-03-13 20:33:42'),(124179,'all',1,'cashdesk','top','cashdesk',0,NULL,NULL,100,'/cashdesk/index.php?user=__LOGIN__','pointofsale','CashDeskMenu','cashdesk',NULL,NULL,'$user->rights->cashdesk->use','$conf->cashdesk->enabled',0,'2015-11-15 22:38:33'),(124210,'all',1,'margins','left','accountancy',-1,NULL,'accountancy',100,'/margin/index.php','','Margins','margins',NULL,'margins','$user->rights->margins->liretous','$conf->margin->enabled',2,'2015-11-15 22:41:47'),(134675,'all',1,'ecm','top','ecm',0,NULL,NULL,100,'/ecm/index.php','','MenuECM','ecm',NULL,NULL,'$user->rights->ecm->read || $user->rights->ecm->upload || $user->rights->ecm->setup','$conf->ecm->enabled',2,'2016-01-22 17:26:43'),(134676,'all',1,'ecm','left','ecm',-1,NULL,'ecm',101,'/ecm/index.php?mainmenu=ecm&leftmenu=ecm','','ECMArea','ecm',NULL,'ecm','$user->rights->ecm->read || $user->rights->ecm->upload','$user->rights->ecm->read || $user->rights->ecm->upload',2,'2016-01-22 17:26:43'),(134677,'all',1,'ecm','left','ecm',-1,'ecm','ecm',102,'/ecm/index.php?action=file_manager&mainmenu=ecm&leftmenu=ecm','','ECMSectionsManual','ecm',NULL,'ecm_manual','$user->rights->ecm->read || $user->rights->ecm->upload','$user->rights->ecm->read || $user->rights->ecm->upload',2,'2016-01-22 17:26:43'),(134678,'all',1,'ecm','left','ecm',-1,'ecm','ecm',103,'/ecm/index_auto.php?action=file_manager&mainmenu=ecm&leftmenu=ecm','','ECMSectionsAuto','ecm',NULL,NULL,'$user->rights->ecm->read || $user->rights->ecm->upload','$user->rights->ecm->read || $user->rights->ecm->upload',2,'2016-01-22 17:26:43'),(139883,'all',1,'barcode','left','tools',-1,NULL,'tools',200,'/barcode/printsheet.php?mainmenu=tools&leftmenu=barcodeprint','','BarCodePrintsheet','products',NULL,'barcodeprint','($conf->global->MAIN_USE_ADVANCED_PERMS && $user->rights->barcode->lire_advance) || (! $conf->global->MAIN_USE_ADVANCED_PERMS)','$conf->barcode->enabled',2,'2016-07-30 11:12:59'),(139884,'all',1,'barcode','left','home',-1,'admintools','home',300,'/barcode/codeinit.php?mainmenu=home&leftmenu=admintools','','MassBarcodeInit','products',NULL,NULL,'($conf->global->MAIN_USE_ADVANCED_PERMS && $user->rights->barcode->creer_advance) || (! $conf->global->MAIN_USE_ADVANCED_PERMS)','$conf->barcode->enabled && $leftmenu==\"admintools\"',0,'2016-07-30 11:12:59'),(139885,'auguria',1,'','top','home',0,NULL,NULL,10,'/index.php?mainmenu=home&leftmenu=','','Home','',-1,'','','1',2,'2016-07-30 11:13:00'),(139886,'auguria',1,'societe|fournisseur','top','companies',0,NULL,NULL,20,'/societe/index.php?mainmenu=companies&leftmenu=','','ThirdParties','companies',-1,'','$user->rights->societe->lire || $user->rights->societe->contact->lire','( ! empty($conf->societe->enabled) && (empty($conf->global->SOCIETE_DISABLE_PROSPECTS) || empty($conf->global->SOCIETE_DISABLE_CUSTOMERS))) || ! empty($conf->fournisseur->enabled)',2,'2016-07-30 11:13:00'),(139887,'auguria',1,'product|service','top','products',0,NULL,NULL,30,'/product/index.php?mainmenu=products&leftmenu=','','Products/Services','products',-1,'','$user->rights->produit->lire||$user->rights->service->lire','$conf->product->enabled || $conf->service->enabled',0,'2016-07-30 11:13:00'),(139889,'auguria',1,'propal|commande|fournisseur|contrat|ficheinter','top','commercial',0,NULL,NULL,40,'/comm/index.php?mainmenu=commercial&leftmenu=','','Commercial','commercial',-1,'','$user->rights->societe->lire || $user->rights->societe->contact->lire','$conf->propal->enabled || $conf->commande->enabled || $conf->supplier_order->enabled || $conf->contrat->enabled || $conf->ficheinter->enabled',2,'2016-07-30 11:13:00'),(139890,'auguria',1,'comptabilite|accounting|facture|don|tax|salaries|loan','top','accountancy',0,NULL,NULL,50,'/compta/index.php?mainmenu=accountancy&leftmenu=','','MenuFinancial','compta',-1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->plancompte->lire || $user->rights->facture->lire|| $user->rights->don->lire || $user->rights->tax->charges->lire || $user->rights->salaries->read || $user->rights->loan->read','$conf->comptabilite->enabled || $conf->accounting->enabled || $conf->facture->enabled || $conf->don->enabled || $conf->tax->enabled || $conf->salaries->enabled || $conf->supplier_invoice->enabled || $conf->loan->enabled',2,'2016-07-30 11:13:00'),(139891,'auguria',1,'projet','top','project',0,NULL,NULL,70,'/projet/index.php?mainmenu=project&leftmenu=','','Projects','projects',-1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(139892,'auguria',1,'mailing|export|import|opensurvey|resource','top','tools',0,NULL,NULL,90,'/core/tools.php?mainmenu=tools&leftmenu=','','Tools','other',-1,'','$user->rights->mailing->lire || $user->rights->export->lire || $user->rights->import->run || $user->rights->opensurvey->read || $user->rights->resource->read','$conf->mailing->enabled || $conf->export->enabled || $conf->import->enabled || $conf->opensurvey->enabled || $conf->resource->enabled',2,'2016-07-30 11:13:00'),(139897,'auguria',1,'adherent','top','members',0,NULL,NULL,110,'/adherents/index.php?mainmenu=members&leftmenu=','','Members','members',-1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(139898,'auguria',1,'banque|prelevement','top','bank',0,NULL,NULL,60,'/compta/bank/index.php?mainmenu=bank&leftmenu=bank','','MenuBankCash','banks',-1,'','$user->rights->banque->lire || $user->rights->prelevement->bons->lire','$conf->banque->enabled || $conf->prelevement->enabled',0,'2016-07-30 11:13:00'),(139899,'auguria',1,'hrm|holiday|deplacement|expensereport','top','hrm',0,NULL,NULL,80,'/hrm/hrm.php?mainmenu=hrm&leftmenu=','','HRM','holiday',-1,'','$user->rights->hrm->employee->read || $user->rights->holiday->write || $user->rights->deplacement->lire || $user->rights->expensereport->lire','$conf->hrm->enabled || $conf->holiday->enabled || $conf->deplacement->enabled || $conf->expensereport->enabled',0,'2016-07-30 11:13:00'),(139974,'auguria',1,'','left','home',139885,NULL,NULL,0,'/index.php','','Dashboard','',0,'','','1',2,'2016-07-30 11:13:00'),(139984,'auguria',1,'','left','home',139885,NULL,NULL,1,'/admin/index.php?leftmenu=setup','','Setup','admin',0,'setup','','$user->admin',2,'2016-07-30 11:13:00'),(139985,'auguria',1,'','left','home',139984,NULL,NULL,1,'/admin/company.php?leftmenu=setup','','MenuCompanySetup','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139986,'auguria',1,'','left','home',139984,NULL,NULL,4,'/admin/ihm.php?leftmenu=setup','','GUISetup','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139987,'auguria',1,'','left','home',139984,NULL,NULL,2,'/admin/modules.php?leftmenu=setup','','Modules','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139988,'auguria',1,'','left','home',139984,NULL,NULL,6,'/admin/boxes.php?leftmenu=setup','','Boxes','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139989,'auguria',1,'','left','home',139984,NULL,NULL,3,'/admin/menus.php?leftmenu=setup','','Menus','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139990,'auguria',1,'','left','home',139984,NULL,NULL,7,'/admin/delais.php?leftmenu=setup','','Alerts','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139991,'auguria',1,'','left','home',139984,NULL,NULL,10,'/admin/pdf.php?leftmenu=setup','','PDF','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139992,'auguria',1,'','left','home',139984,NULL,NULL,8,'/admin/security_other.php?leftmenu=setup','','Security','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139993,'auguria',1,'','left','home',139984,NULL,NULL,11,'/admin/mails.php?leftmenu=setup','','Emails','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139994,'auguria',1,'','left','home',139984,NULL,NULL,9,'/admin/limits.php?leftmenu=setup','','MenuLimits','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139995,'auguria',1,'','left','home',139984,NULL,NULL,13,'/admin/dict.php?leftmenu=setup','','Dictionary','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139996,'auguria',1,'','left','home',139984,NULL,NULL,14,'/admin/const.php?leftmenu=setup','','OtherSetup','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139997,'auguria',1,'','left','home',139984,NULL,NULL,12,'/admin/sms.php?leftmenu=setup','','SMS','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139998,'auguria',1,'','left','home',139984,NULL,NULL,4,'/admin/translation.php?leftmenu=setup','','Translation','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139999,'auguria',1,'','left','home',139984,NULL,NULL,4,'/accountancy/admin/fiscalyear.php?mainmenu=setup','','Fiscalyear','admin',1,'','','$leftmenu==\"setup\" && $conf->accounting->enabled',2,'2016-07-30 11:13:00'),(140085,'auguria',1,'','left','home',140184,NULL,NULL,0,'/admin/system/dolibarr.php?leftmenu=admintools','','InfoDolibarr','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140086,'auguria',1,'','left','home',140085,NULL,NULL,2,'/admin/system/modules.php?leftmenu=admintools','','Modules','admin',2,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140087,'auguria',1,'','left','home',140085,NULL,NULL,3,'/admin/triggers.php?leftmenu=admintools','','Triggers','admin',2,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140089,'auguria',1,'','left','home',140184,NULL,NULL,1,'/admin/system/browser.php?leftmenu=admintools','','InfoBrowser','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140090,'auguria',1,'','left','home',140184,NULL,NULL,2,'/admin/system/os.php?leftmenu=admintools','','InfoOS','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140091,'auguria',1,'','left','home',140184,NULL,NULL,3,'/admin/system/web.php?leftmenu=admintools','','InfoWebServer','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140092,'auguria',1,'','left','home',140184,NULL,NULL,4,'/admin/system/phpinfo.php?leftmenu=admintools','','InfoPHP','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140094,'auguria',1,'','left','home',140184,NULL,NULL,5,'/admin/system/database.php?leftmenu=admintools','','InfoDatabase','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140184,'auguria',1,'','left','home',139885,NULL,NULL,2,'/admin/tools/index.php?leftmenu=admintools','','AdminTools','admin',0,'admintools','','$user->admin',2,'2016-07-30 11:13:00'),(140185,'auguria',1,'','left','home',140184,NULL,NULL,6,'/admin/tools/dolibarr_export.php?leftmenu=admintools','','Backup','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140186,'auguria',1,'','left','home',140184,NULL,NULL,7,'/admin/tools/dolibarr_import.php?leftmenu=admintools','','Restore','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140189,'auguria',1,'','left','home',140184,NULL,NULL,8,'/admin/tools/update.php?leftmenu=admintools','','MenuUpgrade','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140190,'auguria',1,'','left','home',140184,NULL,NULL,9,'/admin/tools/eaccelerator.php?leftmenu=admintools','','EAccelerator','admin',1,'','','$leftmenu==\"admintools\" && function_exists(\"eaccelerator_info\")',2,'2016-07-30 11:13:00'),(140191,'auguria',1,'','left','home',140184,NULL,NULL,10,'/admin/tools/listevents.php?leftmenu=admintools','','Audit','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140192,'auguria',1,'','left','home',140184,NULL,NULL,11,'/admin/tools/listsessions.php?leftmenu=admintools','','Sessions','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140193,'auguria',1,'','left','home',140184,NULL,NULL,12,'/admin/tools/purge.php?leftmenu=admintools','','Purge','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140194,'auguria',1,'','left','home',140184,NULL,NULL,13,'/support/index.php?leftmenu=admintools','_blank','HelpCenter','help',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140195,'auguria',1,'','left','home',140184,NULL,NULL,14,'/admin/system/about.php?leftmenu=admintools','','About','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140204,'auguria',1,'','left','home',140184,NULL,NULL,0,'/product/admin/product_tools.php?mainmenu=home&leftmenu=admintools','','ProductVatMassChange','products',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140205,'auguria',1,'','left','home',140184,NULL,NULL,0,'/accountancy/admin/productaccount.php?mainmenu=home&leftmenu=admintools','','InitAccountancy','accountancy',1,'','','$leftmenu==\"admintools\" && $conf->accounting->enabled',2,'2016-07-30 11:13:00'),(140284,'auguria',1,'','left','home',139885,NULL,NULL,4,'/user/home.php?leftmenu=users','','MenuUsersAndGroups','users',0,'users','','1',2,'2016-07-30 11:13:00'),(140285,'auguria',1,'','left','home',140284,NULL,NULL,0,'/user/index.php?leftmenu=users','','Users','users',1,'','$user->rights->user->user->lire || $user->admin','$leftmenu==\"users\"',2,'2016-07-30 11:13:00'),(140286,'auguria',1,'','left','home',140285,NULL,NULL,0,'/user/card.php?leftmenu=users&action=create','','NewUser','users',2,'','$user->rights->user->user->creer || $user->admin','$leftmenu==\"users\"',2,'2016-07-30 11:13:00'),(140287,'auguria',1,'','left','home',140284,NULL,NULL,1,'/user/group/index.php?leftmenu=users','','Groups','users',1,'','($conf->global->MAIN_USE_ADVANCED_PERMS?$user->rights->user->group_advance->read:$user->rights->user->user->lire) || $user->admin','$leftmenu==\"users\"',2,'2016-07-30 11:13:00'),(140288,'auguria',1,'','left','home',140287,NULL,NULL,0,'/user/group/card.php?leftmenu=users&action=create','','NewGroup','users',2,'','($conf->global->MAIN_USE_ADVANCED_PERMS?$user->rights->user->group_advance->write:$user->rights->user->user->creer) || $user->admin','$leftmenu==\"users\"',2,'2016-07-30 11:13:00'),(140384,'auguria',1,'','left','companies',139886,NULL,NULL,0,'/societe/index.php?leftmenu=thirdparties','','ThirdParty','companies',0,'thirdparties','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140385,'auguria',1,'','left','companies',140384,NULL,NULL,0,'/societe/soc.php?action=create','','MenuNewThirdParty','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140386,'auguria',1,'','left','companies',140384,NULL,NULL,0,'/societe/list.php?action=create','','List','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140387,'auguria',1,'','left','companies',140384,NULL,NULL,5,'/societe/list.php?type=f&leftmenu=suppliers','','ListSuppliersShort','suppliers',1,'','$user->rights->societe->lire && $user->rights->fournisseur->lire','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2016-07-30 11:13:00'),(140388,'auguria',1,'','left','companies',140387,NULL,NULL,0,'/societe/soc.php?leftmenu=supplier&action=create&type=f','','NewSupplier','suppliers',2,'','$user->rights->societe->creer','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2016-07-30 11:13:00'),(140390,'auguria',1,'','left','companies',140384,NULL,NULL,3,'/societe/list.php?type=p&leftmenu=prospects','','ListProspectsShort','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140391,'auguria',1,'','left','companies',140390,NULL,NULL,0,'/societe/soc.php?leftmenu=prospects&action=create&type=p','','MenuNewProspect','companies',2,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140393,'auguria',1,'','left','companies',140384,NULL,NULL,4,'/societe/list.php?type=c&leftmenu=customers','','ListCustomersShort','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140394,'auguria',1,'','left','companies',140393,NULL,NULL,0,'/societe/soc.php?leftmenu=customers&action=create&type=c','','MenuNewCustomer','companies',2,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140484,'auguria',1,'','left','companies',139886,NULL,NULL,1,'/contact/list.php?leftmenu=contacts','','ContactsAddresses','companies',0,'contacts','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140485,'auguria',1,'','left','companies',140484,NULL,NULL,0,'/contact/card.php?leftmenu=contacts&action=create','','NewContactAddress','companies',1,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140486,'auguria',1,'','left','companies',140484,NULL,NULL,1,'/contact/list.php?leftmenu=contacts','','List','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140488,'auguria',1,'','left','companies',140486,NULL,NULL,1,'/contact/list.php?leftmenu=contacts&type=p','','ThirdPartyProspects','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140489,'auguria',1,'','left','companies',140486,NULL,NULL,2,'/contact/list.php?leftmenu=contacts&type=c','','ThirdPartyCustomers','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140490,'auguria',1,'','left','companies',140486,NULL,NULL,3,'/contact/list.php?leftmenu=contacts&type=f','','ThirdPartySuppliers','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2016-07-30 11:13:00'),(140491,'auguria',1,'','left','companies',140486,NULL,NULL,4,'/contact/list.php?leftmenu=contacts&type=o','','Others','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140534,'auguria',1,'','left','companies',139886,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=1','','SuppliersCategoriesShort','categories',0,'cat','$user->rights->categorie->lire','$conf->societe->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140535,'auguria',1,'','left','companies',140534,NULL,NULL,0,'/categories/card.php?action=create&type=1','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->societe->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140544,'auguria',1,'','left','companies',139886,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=2','','CustomersProspectsCategoriesShort','categories',0,'cat','$user->rights->categorie->lire','$conf->fournisseur->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140545,'auguria',1,'','left','companies',140544,NULL,NULL,0,'/categories/card.php?action=create&type=2','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->fournisseur->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140554,'auguria',1,'','left','companies',139886,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=4','','ContactCategoriesShort','categories',0,'cat','$user->rights->categorie->lire','$conf->societe->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140555,'auguria',1,'','left','companies',140554,NULL,NULL,0,'/categories/card.php?action=create&type=4','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->societe->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140984,'auguria',1,'','left','commercial',139889,NULL,NULL,4,'/comm/propal/index.php?leftmenu=propals','','Prop','propal',0,'propals','$user->rights->propale->lire','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(140985,'auguria',1,'','left','commercial',140984,NULL,NULL,0,'/comm/propal/card.php?action=create&leftmenu=propals','','NewPropal','propal',1,'','$user->rights->propale->creer','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(140986,'auguria',1,'','left','commercial',140984,NULL,NULL,1,'/comm/propal/list.php?leftmenu=propals','','List','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(140987,'auguria',1,'','left','commercial',140986,NULL,NULL,2,'/comm/propal/list.php?leftmenu=propals&viewstatut=0','','PropalsDraft','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2016-07-30 11:13:00'),(140988,'auguria',1,'','left','commercial',140986,NULL,NULL,3,'/comm/propal/list.php?leftmenu=propals&viewstatut=1','','PropalsOpened','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2016-07-30 11:13:00'),(140989,'auguria',1,'','left','commercial',140986,NULL,NULL,4,'/comm/propal/list.php?leftmenu=propals&viewstatut=2','','PropalStatusSigned','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2016-07-30 11:13:00'),(140990,'auguria',1,'','left','commercial',140986,NULL,NULL,5,'/comm/propal/list.php?leftmenu=propals&viewstatut=3','','PropalStatusNotSigned','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2016-07-30 11:13:00'),(140991,'auguria',1,'','left','commercial',140986,NULL,NULL,6,'/comm/propal/list.php?leftmenu=propals&viewstatut=4','','PropalStatusBilled','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2016-07-30 11:13:00'),(140994,'auguria',1,'','left','commercial',140984,NULL,NULL,4,'/comm/propal/stats/index.php?leftmenu=propals','','Statistics','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(141084,'auguria',1,'','left','commercial',139889,NULL,NULL,5,'/commande/index.php?leftmenu=orders','','CustomersOrders','orders',0,'orders','$user->rights->commande->lire','$conf->commande->enabled',2,'2016-07-30 11:13:00'),(141085,'auguria',1,'','left','commercial',141084,NULL,NULL,0,'/commande/card.php?action=create&leftmenu=orders','','NewOrder','orders',1,'','$user->rights->commande->creer','$conf->commande->enabled',2,'2016-07-30 11:13:00'),(141086,'auguria',1,'','left','commercial',141084,NULL,NULL,1,'/commande/list.php?leftmenu=orders','','List','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled',2,'2016-07-30 11:13:00'),(141087,'auguria',1,'','left','commercial',141086,NULL,NULL,2,'/commande/list.php?leftmenu=orders&viewstatut=0','','StatusOrderDraftShort','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141088,'auguria',1,'','left','commercial',141086,NULL,NULL,3,'/commande/list.php?leftmenu=orders&viewstatut=1','','StatusOrderValidated','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141089,'auguria',1,'','left','commercial',141086,NULL,NULL,4,'/commande/list.php?leftmenu=orders&viewstatut=2','','StatusOrderOnProcessShort','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141090,'auguria',1,'','left','commercial',141086,NULL,NULL,5,'/commande/list.php?leftmenu=orders&viewstatut=3','','StatusOrderToBill','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141091,'auguria',1,'','left','commercial',141086,NULL,NULL,6,'/commande/list.php?leftmenu=orders&viewstatut=4','','StatusOrderProcessed','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141092,'auguria',1,'','left','commercial',141086,NULL,NULL,7,'/commande/list.php?leftmenu=orders&viewstatut=-1','','StatusOrderCanceledShort','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141093,'auguria',1,'','left','commercial',141084,NULL,NULL,4,'/commande/stats/index.php?leftmenu=orders','','Statistics','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled',2,'2016-07-30 11:13:00'),(141184,'auguria',1,'','left','commercial',139887,NULL,NULL,6,'/expedition/index.php?leftmenu=sendings','','Shipments','sendings',0,'sendings','$user->rights->expedition->lire','$conf->expedition->enabled',2,'2016-07-30 11:13:00'),(141185,'auguria',1,'','left','commercial',141184,NULL,NULL,0,'/expedition/card.php?action=create2&leftmenu=sendings','','NewSending','sendings',1,'','$user->rights->expedition->creer','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2016-07-30 11:13:00'),(141186,'auguria',1,'','left','commercial',141184,NULL,NULL,1,'/expedition/list.php?leftmenu=sendings','','List','sendings',1,'','$user->rights->expedition->lire','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2016-07-30 11:13:00'),(141187,'auguria',1,'','left','commercial',141184,NULL,NULL,2,'/expedition/stats/index.php?leftmenu=sendings','','Statistics','sendings',1,'','$user->rights->expedition->lire','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2016-07-30 11:13:00'),(141284,'auguria',1,'','left','commercial',139889,NULL,NULL,7,'/contrat/index.php?leftmenu=contracts','','Contracts','contracts',0,'contracts','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2016-07-30 11:13:00'),(141285,'auguria',1,'','left','commercial',141284,NULL,NULL,0,'/contrat/card.php?&action=create&leftmenu=contracts','','NewContract','contracts',1,'','$user->rights->contrat->creer','$conf->contrat->enabled',2,'2016-07-30 11:13:00'),(141286,'auguria',1,'','left','commercial',141284,NULL,NULL,1,'/contrat/list.php?leftmenu=contracts','','List','contracts',1,'','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2016-07-30 11:13:00'),(141287,'auguria',1,'','left','commercial',141284,NULL,NULL,2,'/contrat/services.php?leftmenu=contracts','','MenuServices','contracts',1,'','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2016-07-30 11:13:00'),(141288,'auguria',1,'','left','commercial',141287,NULL,NULL,0,'/contrat/services.php?leftmenu=contracts&mode=0','','MenuInactiveServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2016-07-30 11:13:00'),(141289,'auguria',1,'','left','commercial',141287,NULL,NULL,1,'/contrat/services.php?leftmenu=contracts&mode=4','','MenuRunningServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2016-07-30 11:13:00'),(141290,'auguria',1,'','left','commercial',141287,NULL,NULL,2,'/contrat/services.php?leftmenu=contracts&mode=4&filter=expired','','MenuExpiredServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2016-07-30 11:13:00'),(141291,'auguria',1,'','left','commercial',141287,NULL,NULL,3,'/contrat/services.php?leftmenu=contracts&mode=5','','MenuClosedServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2016-07-30 11:13:00'),(141384,'auguria',1,'','left','commercial',139889,NULL,NULL,8,'/fichinter/list.php?leftmenu=ficheinter','','Interventions','interventions',0,'ficheinter','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2016-07-30 11:13:00'),(141385,'auguria',1,'','left','commercial',141384,NULL,NULL,0,'/fichinter/card.php?action=create&leftmenu=ficheinter','','NewIntervention','interventions',1,'','$user->rights->ficheinter->creer','$conf->ficheinter->enabled',2,'2016-07-30 11:13:00'),(141386,'auguria',1,'','left','commercial',141384,NULL,NULL,1,'/fichinter/list.php?leftmenu=ficheinter','','List','interventions',1,'','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2016-07-30 11:13:00'),(141387,'auguria',1,'','left','commercial',141384,NULL,NULL,2,'/fichinter/stats/index.php?leftmenu=ficheinter','','Statistics','interventions',1,'','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2016-07-30 11:13:00'),(141484,'auguria',1,'','left','accountancy',139890,NULL,NULL,3,'/fourn/facture/list.php?leftmenu=suppliers_bills','','BillsSuppliers','bills',0,'supplier_bills','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2016-07-30 11:13:00'),(141485,'auguria',1,'','left','accountancy',141484,NULL,NULL,0,'/fourn/facture/card.php?action=create&leftmenu=suppliers_bills','','NewBill','bills',1,'','$user->rights->fournisseur->facture->creer','$conf->supplier_invoice->enabled',2,'2016-07-30 11:13:00'),(141486,'auguria',1,'','left','accountancy',141484,NULL,NULL,1,'/fourn/facture/impayees.php?leftmenu=suppliers_bills','','Unpaid','bills',1,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2016-07-30 11:13:00'),(141487,'auguria',1,'','left','accountancy',141484,NULL,NULL,2,'/fourn/facture/paiement.php?leftmenu=suppliers_bills','','Payments','bills',1,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2016-07-30 11:13:00'),(141488,'auguria',1,'','left','accountancy',141484,NULL,NULL,8,'/compta/facture/stats/index.php?leftmenu=customers_bills&mode=supplier','','Statistics','bills',1,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2016-07-30 11:13:00'),(141584,'auguria',1,'','left','accountancy',139890,NULL,NULL,3,'/compta/facture/list.php?leftmenu=customers_bills','','BillsCustomers','bills',0,'customer_bills','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141585,'auguria',1,'','left','accountancy',141584,NULL,NULL,3,'/compta/facture.php?action=create&leftmenu=customers_bills','','NewBill','bills',1,'','$user->rights->facture->creer','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141586,'auguria',1,'','left','accountancy',141584,NULL,NULL,5,'/compta/facture/fiche-rec.php?leftmenu=customers_bills','','ListOfTemplates','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141588,'auguria',1,'','left','accountancy',141584,NULL,NULL,6,'/compta/paiement/list.php?leftmenu=customers_bills','','Payments','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141589,'auguria',1,'','left','accountancy',141584,NULL,NULL,4,'/compta/facture/list.php?leftmenu=customers_bills','','List','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141594,'auguria',1,'','left','accountancy',141588,NULL,NULL,1,'/compta/paiement/rapport.php?leftmenu=customers_bills','','Reportings','bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141595,'auguria',1,'','left','accountancy',139898,NULL,NULL,9,'/compta/paiement/cheque/index.php?leftmenu=checks&mainmenu=bank','','MenuChequeDeposits','bills',0,'checks','$user->rights->banque->lire','empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && ! empty($conf->banque->enabled) && (! empty($conf->facture->enabled) || ! empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))',2,'2016-07-30 11:13:00'),(141596,'auguria',1,'','left','accountancy',141595,NULL,NULL,0,'/compta/paiement/cheque/card.php?leftmenu=checks&action=new','','NewCheckDeposit','compta',1,'','$user->rights->banque->lire','empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && ! empty($conf->banque->enabled) && (! empty($conf->facture->enabled) || ! empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))',2,'2016-07-30 11:13:00'),(141597,'auguria',1,'','left','accountancy',141595,NULL,NULL,1,'/compta/paiement/cheque/list.php?leftmenu=checks','','List','bills',1,'','$user->rights->banque->lire','empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && ! empty($conf->banque->enabled) && (! empty($conf->facture->enabled) || ! empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))',2,'2016-07-30 11:13:00'),(141598,'auguria',1,'','left','accountancy',141584,NULL,NULL,8,'/compta/facture/stats/index.php?leftmenu=customers_bills','','Statistics','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141604,'auguria',1,'','left','accountancy',141589,NULL,NULL,1,'/compta/facture/list.php?leftmenu=customers_bills&search_status=0','','BillShortStatusDraft','bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141605,'auguria',1,'','left','accountancy',141589,NULL,NULL,2,'/compta/facture/list.php?leftmenu=customers_bills&search_status=1','','BillShortStatusNotPaid','bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141606,'auguria',1,'','left','accountancy',141589,NULL,NULL,3,'/compta/facture/list.php?leftmenu=customers_bills&search_status=2','','BillShortStatusPaid','bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141607,'auguria',1,'','left','accountancy',141589,NULL,NULL,4,'/compta/facture/list.php?leftmenu=customers_bills&search_status=3','','BillShortStatusCanceled','bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141784,'auguria',1,'','left','accountancy',139890,NULL,NULL,3,'/commande/list.php?leftmenu=orders&viewstatut=3','','MenuOrdersToBill','orders',0,'orders','$user->rights->commande->lire','$conf->commande->enabled',0,'2016-07-30 11:13:00'),(141884,'auguria',1,'','left','accountancy',139890,NULL,NULL,4,'/don/index.php?leftmenu=donations&mainmenu=accountancy','','Donations','donations',0,'donations','$user->rights->don->lire','$conf->don->enabled',2,'2016-07-30 11:13:00'),(141885,'auguria',1,'','left','accountancy',141884,NULL,NULL,0,'/don/card.php?leftmenu=donations&mainmenu=accountancy&action=create','','NewDonation','donations',1,'','$user->rights->don->creer','$conf->don->enabled && $leftmenu==\"donations\"',2,'2016-07-30 11:13:00'),(141886,'auguria',1,'','left','accountancy',141884,NULL,NULL,1,'/don/list.php?leftmenu=donations&mainmenu=accountancy','','List','donations',1,'','$user->rights->don->lire','$conf->don->enabled && $leftmenu==\"donations\"',2,'2016-07-30 11:13:00'),(141984,'auguria',1,'','left','accountancy',139899,NULL,NULL,5,'/compta/deplacement/index.php?leftmenu=tripsandexpenses','','TripsAndExpenses','trips',0,'tripsandexpenses','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2016-07-30 11:13:00'),(141985,'auguria',1,'','left','accountancy',141984,NULL,NULL,1,'/compta/deplacement/card.php?action=create&leftmenu=tripsandexpenses','','New','trips',1,'','$user->rights->deplacement->creer','$conf->deplacement->enabled',0,'2016-07-30 11:13:00'),(141986,'auguria',1,'','left','accountancy',141984,NULL,NULL,2,'/compta/deplacement/list.php?leftmenu=tripsandexpenses','','List','trips',1,'','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2016-07-30 11:13:00'),(141987,'auguria',1,'','left','accountancy',141984,NULL,NULL,2,'/compta/deplacement/stats/index.php?leftmenu=tripsandexpenses','','Statistics','trips',1,'','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2016-07-30 11:13:00'),(142084,'auguria',1,'','left','accountancy',139890,NULL,NULL,6,'/compta/charges/index.php?leftmenu=tax&mainmenu=accountancy','','MenuSpecialExpenses','compta',0,'tax','(! empty($conf->tax->enabled) && $user->rights->tax->charges->lire) || (! empty($conf->salaries->enabled) && $user->rights->salaries->read)','$conf->tax->enabled || $conf->salaries->enabled',0,'2016-07-30 11:13:00'),(142094,'auguria',1,'','left','accountancy',142084,NULL,NULL,1,'/compta/salaries/index.php?leftmenu=tax_salary&mainmenu=accountancy','','Salaries','salaries',1,'tax_sal','$user->rights->salaries->read','$conf->salaries->enabled',0,'2016-07-30 11:13:00'),(142095,'auguria',1,'','left','accountancy',142094,NULL,NULL,2,'/compta/salaries/card.php?leftmenu=tax_salary&action=create','','NewPayment','companies',2,'','$user->rights->salaries->write','$conf->salaries->enabled && $leftmenu==\"tax_salary\"',0,'2016-07-30 11:13:00'),(142096,'auguria',1,'','left','accountancy',142094,NULL,NULL,3,'/compta/salaries/index.php?leftmenu=tax_salary','','Payments','companies',2,'','$user->rights->salaries->read','$conf->salaries->enabled && $leftmenu==\"tax_salary\"',0,'2016-07-30 11:13:00'),(142104,'auguria',1,'','left','accountancy',142084,NULL,NULL,1,'/loan/index.php?leftmenu=tax_loan&mainmenu=accountancy','','Loans','loan',1,'tax_loan','$user->rights->loan->read','$conf->loan->enabled',0,'2016-07-30 11:13:00'),(142105,'auguria',1,'','left','accountancy',142104,NULL,NULL,2,'/loan/card.php?leftmenu=tax_loan&action=create','','NewLoan','loan',2,'','$user->rights->loan->write','$conf->loan->enabled && $leftmenu==\"tax_loan\"',0,'2016-07-30 11:13:00'),(142107,'auguria',1,'','left','accountancy',142104,NULL,NULL,4,'/loan/calc.php?leftmenu=tax_loan','','Calculator','companies',2,'','$user->rights->loan->calc','$conf->loan->enabled && $leftmenu==\"tax_loan\" && ! empty($conf->global->LOAN_SHOW_CALCULATOR)',0,'2016-07-30 11:13:00'),(142134,'auguria',1,'','left','accountancy',142084,NULL,NULL,1,'/compta/sociales/index.php?leftmenu=tax_social','','SocialContributions','',1,'tax_social','$user->rights->tax->charges->lire','$conf->tax->enabled',0,'2016-07-30 11:13:00'),(142135,'auguria',1,'','left','accountancy',142134,NULL,NULL,2,'/compta/sociales/charges.php?leftmenu=tax_social&action=create','','MenuNewSocialContribution','',2,'','$user->rights->tax->charges->creer','$conf->tax->enabled && $leftmenu==\"tax_social\"',0,'2016-07-30 11:13:00'),(142136,'auguria',1,'','left','accountancy',142134,NULL,NULL,3,'/compta/charges/index.php?leftmenu=tax_social&mainmenu=accountancy&mode=sconly','','Payments','',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && $leftmenu==\"tax_social\"',0,'2016-07-30 11:13:00'),(142184,'auguria',1,'','left','accountancy',142084,NULL,NULL,7,'/compta/tva/index.php?leftmenu=tax_vat&mainmenu=accountancy','','VAT','companies',1,'tax_vat','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS)',0,'2016-07-30 11:13:00'),(142185,'auguria',1,'','left','accountancy',142184,NULL,NULL,0,'/compta/tva/card.php?leftmenu=tax_vat&action=create','','New','companies',2,'','$user->rights->tax->charges->creer','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2016-07-30 11:13:00'),(142186,'auguria',1,'','left','accountancy',142184,NULL,NULL,1,'/compta/tva/reglement.php?leftmenu=tax_vat','','List','companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2016-07-30 11:13:00'),(142187,'auguria',1,'','left','accountancy',142184,NULL,NULL,2,'/compta/tva/clients.php?leftmenu=tax_vat','','ReportByCustomers','companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2016-07-30 11:13:00'),(142188,'auguria',1,'','left','accountancy',142184,NULL,NULL,3,'/compta/tva/quadri_detail.php?leftmenu=tax_vat','','ReportByQuarter','companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2016-07-30 11:13:00'),(142284,'auguria',1,'','left','accountancy',139890,NULL,NULL,7,'/accountancy/customer/index.php?leftmenu=accounting','','MenuAccountancy','accountancy',0,'accounting','! empty($conf->accounting->enabled) || $user->rights->accounting->ventilation->read || $user->rights->accounting->ventilation->dispatch || $user->rights->compta->resultat->lire','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142285,'auguria',1,'','left','accountancy',142284,NULL,NULL,1,'/accountancy/customer/index.php?leftmenu=dispatch_customer','','CustomersVentilation','accountancy',1,'dispatch_customer','$user->rights->accounting->ventilation->read','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142286,'auguria',1,'','left','accountancy',142285,NULL,NULL,2,'/accountancy/customer/list.php','','ToDispatch','accountancy',2,'','$user->rights->accounting->ventilation->dispatch','$conf->accounting->enabled && $leftmenu==\"dispatch_customer\"',0,'2016-07-30 11:13:00'),(142287,'auguria',1,'','left','accountancy',142285,NULL,NULL,3,'/accountancy/customer/lines.php','','Dispatched','accountancy',2,'','$user->rights->accounting->ventilation->read','$conf->accounting->enabled && $leftmenu==\"dispatch_customer\"',0,'2016-07-30 11:13:00'),(142294,'auguria',1,'','left','accountancy',142284,NULL,NULL,4,'/accountancy/supplier/index.php?leftmenu=dispatch_supplier','','SuppliersVentilation','accountancy',1,'ventil_supplier','$user->rights->accounting->ventilation->read','$conf->accounting->enabled && $conf->fournisseur->enabled',0,'2016-07-30 11:13:00'),(142295,'auguria',1,'','left','accountancy',142294,NULL,NULL,5,'/accountancy/supplier/list.php','','ToDispatch','accountancy',2,'','$user->rights->accounting->ventilation->dispatch','$conf->accounting->enabled && $conf->fournisseur->enabled && $leftmenu==\"dispatch_supplier\"',0,'2016-07-30 11:13:00'),(142296,'auguria',1,'','left','accountancy',142294,NULL,NULL,6,'/accountancy/supplier/lines.php','','Dispatched','accountancy',2,'','$user->rights->accounting->ventilation->read','$conf->accounting->enabled && $conf->fournisseur->enabled && $leftmenu==\"dispatch_supplier\"',0,'2016-07-30 11:13:00'),(142314,'auguria',1,'','left','accountancy',142284,NULL,NULL,15,'/accountancy/bookkeeping/list.php','','Bookkeeping','accountancy',1,'bookkeeping','$user->rights->accounting->mouvements->lire','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142319,'auguria',1,'','left','accountancy',142284,NULL,NULL,16,'/accountancy/bookkeeping/balance.php','','AccountBalance','accountancy',1,'balance','$user->rights->accounting->mouvements->lire','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142324,'auguria',1,'','left','accountancy',142284,NULL,NULL,17,'/accountancy/report/result.php?leftmenu=ca&mainmenu=accountancy','','Reportings','main',1,'report','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142325,'auguria',1,'','left','accountancy',142324,NULL,NULL,18,'/accountancy/report/result.php?leftmenu=ca','','ReportInOut','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142326,'auguria',1,'','left','accountancy',142324,NULL,NULL,19,'/compta/resultat/index.php?leftmenu=ca','','ByExpenseIncome','main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142327,'auguria',1,'','left','accountancy',142324,NULL,NULL,20,'/compta/resultat/clientfourn.php?leftmenu=ca','','ByCompanies','main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142328,'auguria',1,'','left','accountancy',142324,NULL,NULL,21,'/compta/stats/index.php?leftmenu=ca','','ReportTurnover','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142329,'auguria',1,'','left','accountancy',142324,NULL,NULL,22,'/compta/stats/casoc.php?leftmenu=ca','','ByCompanies','main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142330,'auguria',1,'','left','accountancy',142324,NULL,NULL,23,'/compta/stats/cabyuser.php?leftmenu=ca','','ByUsers','main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142331,'auguria',1,'','left','accountancy',142324,NULL,NULL,24,'/compta/stats/cabyprodserv.php?leftmenu=ca','','ByProductsAndServices','main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142335,'auguria',1,'','left','home',142284,NULL,NULL,25,'/accountancy/admin/account.php?mainmenu=accountancy','','Chartofaccounts','admin',1,'','$user->rights->accounting->chartofaccount','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142384,'auguria',1,'','left','accountancy',139898,NULL,NULL,9,'/compta/prelevement/index.php?leftmenu=withdraw&mainmenu=bank','','StandingOrders','withdrawals',0,'withdraw','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled',2,'2016-07-30 11:13:00'),(142386,'auguria',1,'','left','accountancy',142384,NULL,NULL,0,'/compta/prelevement/create.php?leftmenu=withdraw','','NewStandingOrder','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2016-07-30 11:13:00'),(142387,'auguria',1,'','left','accountancy',142384,NULL,NULL,2,'/compta/prelevement/bons.php?leftmenu=withdraw','','WithdrawalsReceipts','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2016-07-30 11:13:00'),(142388,'auguria',1,'','left','accountancy',142384,NULL,NULL,3,'/compta/prelevement/list.php?leftmenu=withdraw','','WithdrawalsLines','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2016-07-30 11:13:00'),(142390,'auguria',1,'','left','accountancy',142384,NULL,NULL,5,'/compta/prelevement/rejets.php?leftmenu=withdraw','','Rejects','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2016-07-30 11:13:00'),(142391,'auguria',1,'','left','accountancy',142384,NULL,NULL,6,'/compta/prelevement/stats.php?leftmenu=withdraw','','Statistics','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2016-07-30 11:13:00'),(142484,'auguria',1,'','left','accountancy',139898,NULL,NULL,1,'/compta/bank/index.php?leftmenu=bank&mainmenu=bank','','MenuBankCash','banks',0,'bank','$user->rights->banque->lire','$conf->banque->enabled',0,'2016-07-30 11:13:00'),(142485,'auguria',1,'','left','accountancy',142484,NULL,NULL,0,'/compta/bank/card.php?action=create&leftmenu=bank','','MenuNewFinancialAccount','banks',1,'','$user->rights->banque->configurer','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2016-07-30 11:13:00'),(142487,'auguria',1,'','left','accountancy',142484,NULL,NULL,2,'/compta/bank/search.php?leftmenu=bank','','ListTransactions','banks',1,'','$user->rights->banque->lire','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2016-07-30 11:13:00'),(142488,'auguria',1,'','left','accountancy',142484,NULL,NULL,3,'/compta/bank/budget.php?leftmenu=bank','','ListTransactionsByCategory','banks',1,'','$user->rights->banque->lire','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2016-07-30 11:13:00'),(142490,'auguria',1,'','left','accountancy',142484,NULL,NULL,5,'/compta/bank/virement.php?leftmenu=bank','','BankTransfers','banks',1,'','$user->rights->banque->transfer','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2016-07-30 11:13:00'),(142534,'auguria',1,'','left','accountancy',139898,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=5','','Categories','categories',0,'cat','$user->rights->categorie->lire','$conf->categorie->enabled',2,'2016-07-30 11:13:00'),(142535,'auguria',1,'','left','accountancy',142534,NULL,NULL,0,'/categories/card.php?action=create&type=5','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->categorie->enabled',2,'2016-07-30 11:13:00'),(142584,'auguria',1,'','left','accountancy',139890,NULL,NULL,11,'/compta/resultat/index.php?leftmenu=ca&mainmenu=accountancy','','Reportings','main',0,'ca','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled',0,'2016-07-30 11:13:00'),(142585,'auguria',1,'','left','accountancy',142584,NULL,NULL,0,'/compta/resultat/index.php?leftmenu=ca','','ReportInOut','main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142586,'auguria',1,'','left','accountancy',142585,NULL,NULL,0,'/compta/resultat/clientfourn.php?leftmenu=ca','','ByCompanies','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142587,'auguria',1,'','left','accountancy',142584,NULL,NULL,1,'/compta/stats/index.php?leftmenu=ca','','ReportTurnover','main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142588,'auguria',1,'','left','accountancy',142587,NULL,NULL,0,'/compta/stats/casoc.php?leftmenu=ca','','ByCompanies','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142589,'auguria',1,'','left','accountancy',142587,NULL,NULL,1,'/compta/stats/cabyuser.php?leftmenu=ca','','ByUsers','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142590,'auguria',1,'','left','accountancy',142584,NULL,NULL,1,'/compta/journal/sellsjournal.php?leftmenu=ca','','SellsJournal','main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142591,'auguria',1,'','left','accountancy',142584,NULL,NULL,1,'/compta/journal/purchasesjournal.php?leftmenu=ca','','PurchasesJournal','main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142592,'auguria',1,'','left','accountancy',142587,NULL,NULL,1,'/compta/stats/cabyprodserv.php?leftmenu=ca','','ByProductsAndServices','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142684,'auguria',1,'','left','products',139887,NULL,NULL,0,'/product/index.php?leftmenu=product&type=0','','Products','products',0,'product','$user->rights->produit->lire','$conf->product->enabled',2,'2016-07-30 11:13:00'),(142685,'auguria',1,'','left','products',142684,NULL,NULL,0,'/product/card.php?leftmenu=product&action=create&type=0','','NewProduct','products',1,'','$user->rights->produit->creer','$conf->product->enabled',2,'2016-07-30 11:13:00'),(142686,'auguria',1,'','left','products',142684,NULL,NULL,1,'/product/list.php?leftmenu=product&type=0','','List','products',1,'','$user->rights->produit->lire','$conf->product->enabled',2,'2016-07-30 11:13:00'),(142687,'auguria',1,'','left','products',142684,NULL,NULL,4,'/product/reassort.php?type=0','','Stocks','products',1,'','$user->rights->produit->lire && $user->rights->stock->lire','$conf->product->enabled',2,'2016-07-30 11:13:00'),(142688,'auguria',1,'','left','products',142684,NULL,NULL,6,'/product/stats/card.php?id=all&leftmenu=stats&type=0','','Statistics','main',1,'','$user->rights->produit->lire','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(142689,'auguria',1,'','left','products',142684,NULL,NULL,5,'/product/reassortlot.php?type=0','','StocksByLotSerial','products',1,'','$user->rights->produit->lire && $user->rights->stock->lire','$conf->productbatch->enabled',2,'2016-07-30 11:13:00'),(142784,'auguria',1,'','left','products',139887,NULL,NULL,1,'/product/index.php?leftmenu=service&type=1','','Services','products',0,'service','$user->rights->service->lire','$conf->service->enabled',2,'2016-07-30 11:13:00'),(142785,'auguria',1,'','left','products',142784,NULL,NULL,0,'/product/card.php?leftmenu=service&action=create&type=1','','NewService','products',1,'','$user->rights->service->creer','$conf->service->enabled',2,'2016-07-30 11:13:00'),(142786,'auguria',1,'','left','products',142784,NULL,NULL,1,'/product/list.php?leftmenu=service&type=1','','List','products',1,'','$user->rights->service->lire','$conf->service->enabled',2,'2016-07-30 11:13:00'),(142787,'auguria',1,'','left','products',142784,NULL,NULL,5,'/product/stats/card.php?id=all&leftmenu=stats&type=1','','Statistics','main',1,'','$user->rights->service->lire','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(142984,'auguria',1,'','left','products',139887,NULL,NULL,3,'/product/stock/index.php?leftmenu=stock','','Stock','stocks',0,'stock','$user->rights->stock->lire','$conf->stock->enabled',2,'2016-07-30 11:13:00'),(142985,'auguria',1,'','left','products',142984,NULL,NULL,0,'/product/stock/card.php?action=create','','MenuNewWarehouse','stocks',1,'','$user->rights->stock->creer','$conf->stock->enabled',2,'2016-07-30 11:13:00'),(142986,'auguria',1,'','left','products',142984,NULL,NULL,1,'/product/stock/list.php','','List','stocks',1,'','$user->rights->stock->lire','$conf->stock->enabled',2,'2016-07-30 11:13:00'),(142988,'auguria',1,'','left','products',142984,NULL,NULL,3,'/product/stock/mouvement.php','','Movements','stocks',1,'','$user->rights->stock->mouvement->lire','$conf->stock->enabled',2,'2016-07-30 11:13:00'),(142989,'auguria',1,'','left','products',142984,NULL,NULL,4,'/product/stock/replenish.php','','Replenishments','stocks',1,'','$user->rights->stock->mouvement->creer && $user->rights->fournisseur->lire','$conf->stock->enabled && $conf->supplier_order->enabled',2,'2016-07-30 11:13:00'),(142990,'auguria',1,'','left','products',142984,NULL,NULL,5,'/product/stock/massstockmove.php','','MassStockTransferShort','stocks',1,'','$user->rights->stock->mouvement->creer','$conf->stock->enabled',2,'2016-07-30 11:13:00'),(143084,'auguria',1,'','left','products',139887,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=0','','Categories','categories',0,'cat','$user->rights->categorie->lire','$conf->categorie->enabled',2,'2016-07-30 11:13:00'),(143085,'auguria',1,'','left','products',143084,NULL,NULL,0,'/categories/card.php?action=create&type=0','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->categorie->enabled',2,'2016-07-30 11:13:00'),(143484,'auguria',1,'','left','project',139891,NULL,NULL,0,'/projet/index.php?leftmenu=projects','','Projects','projects',0,'projects','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143485,'auguria',1,'','left','project',143484,NULL,NULL,1,'/projet/card.php?leftmenu=projects&action=create','','NewProject','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143486,'auguria',1,'','left','project',143484,NULL,NULL,2,'/projet/list.php?leftmenu=projects','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143494,'auguria',1,'','left','project',139891,NULL,NULL,0,'/projet/index.php?leftmenu=projects&mode=mine','','MyProjects','projects',0,'myprojects','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143495,'auguria',1,'','left','project',143494,NULL,NULL,1,'/projet/card.php?leftmenu=projects&action=create&mode=mine','','NewProject','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143496,'auguria',1,'','left','project',143494,NULL,NULL,2,'/projet/list.php?leftmenu=projects&mode=mine','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143584,'auguria',1,'','left','project',139891,NULL,NULL,0,'/projet/activity/index.php?leftmenu=projects','','Activities','projects',0,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143585,'auguria',1,'','left','project',143584,NULL,NULL,1,'/projet/tasks.php?leftmenu=projects&action=create','','NewTask','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143586,'auguria',1,'','left','project',143584,NULL,NULL,2,'/projet/tasks/list.php?leftmenu=projects','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143587,'auguria',1,'','left','project',143584,NULL,NULL,3,'/projet/activity/perweek.php?leftmenu=projects','','NewTimeSpent','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143684,'auguria',1,'','left','project',139891,NULL,NULL,0,'/projet/activity/index.php?leftmenu=projects&mode=mine','','MyActivities','projects',0,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143685,'auguria',1,'','left','project',143684,NULL,NULL,1,'/projet/tasks.php?leftmenu=projects&action=create','','NewTask','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143686,'auguria',1,'','left','project',143684,NULL,NULL,2,'/projet/tasks/list.php?leftmenu=projects&mode=mine','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143687,'auguria',1,'','left','project',143684,NULL,NULL,3,'/projet/activity/perweek.php?leftmenu=projects&mode=mine','','NewTimeSpent','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143784,'auguria',1,'','left','tools',139892,NULL,NULL,0,'/comm/mailing/index.php?leftmenu=mailing','','EMailings','mails',0,'mailing','$user->rights->mailing->lire','$conf->mailing->enabled',0,'2016-07-30 11:13:00'),(143785,'auguria',1,'','left','tools',143784,NULL,NULL,0,'/comm/mailing/card.php?leftmenu=mailing&action=create','','NewMailing','mails',1,'','$user->rights->mailing->creer','$conf->mailing->enabled',0,'2016-07-30 11:13:00'),(143786,'auguria',1,'','left','tools',143784,NULL,NULL,1,'/comm/mailing/list.php?leftmenu=mailing','','List','mails',1,'','$user->rights->mailing->lire','$conf->mailing->enabled',0,'2016-07-30 11:13:00'),(143984,'auguria',1,'','left','tools',139892,NULL,NULL,2,'/exports/index.php?leftmenu=export','','FormatedExport','exports',0,'export','$user->rights->export->lire','$conf->export->enabled',2,'2016-07-30 11:13:00'),(143985,'auguria',1,'','left','tools',143984,NULL,NULL,0,'/exports/export.php?leftmenu=export','','NewExport','exports',1,'','$user->rights->export->creer','$conf->export->enabled',2,'2016-07-30 11:13:00'),(144014,'auguria',1,'','left','tools',139892,NULL,NULL,2,'/imports/index.php?leftmenu=import','','FormatedImport','exports',0,'import','$user->rights->import->run','$conf->import->enabled',2,'2016-07-30 11:13:00'),(144015,'auguria',1,'','left','tools',144014,NULL,NULL,0,'/imports/import.php?leftmenu=import','','NewImport','exports',1,'','$user->rights->import->run','$conf->import->enabled',2,'2016-07-30 11:13:00'),(144084,'auguria',1,'','left','members',139897,NULL,NULL,0,'/adherents/index.php?leftmenu=members&mainmenu=members','','Members','members',0,'members','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144085,'auguria',1,'','left','members',144084,NULL,NULL,0,'/adherents/card.php?leftmenu=members&action=create','','NewMember','members',1,'','$user->rights->adherent->creer','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144086,'auguria',1,'','left','members',144084,NULL,NULL,1,'/adherents/list.php','','List','members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144087,'auguria',1,'','left','members',144086,NULL,NULL,2,'/adherents/list.php?leftmenu=members&statut=-1','','MenuMembersToValidate','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144088,'auguria',1,'','left','members',144086,NULL,NULL,3,'/adherents/list.php?leftmenu=members&statut=1','','MenuMembersValidated','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144089,'auguria',1,'','left','members',144086,NULL,NULL,4,'/adherents/list.php?leftmenu=members&statut=1&filter=outofdate','','MenuMembersNotUpToDate','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144090,'auguria',1,'','left','members',144086,NULL,NULL,5,'/adherents/list.php?leftmenu=members&statut=1&filter=uptodate','','MenuMembersUpToDate','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144091,'auguria',1,'','left','members',144086,NULL,NULL,6,'/adherents/list.php?leftmenu=members&statut=0','','MenuMembersResiliated','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144092,'auguria',1,'','left','members',144084,NULL,NULL,7,'/adherents/stats/geo.php?leftmenu=members&mode=memberbycountry','','MenuMembersStats','members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144184,'auguria',1,'','left','members',139897,NULL,NULL,1,'/adherents/index.php?leftmenu=members&mainmenu=members','','Subscriptions','compta',0,'','$user->rights->adherent->cotisation->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144185,'auguria',1,'','left','members',144184,NULL,NULL,0,'/adherents/list.php?statut=-1&leftmenu=accountancy&mainmenu=members','','NewSubscription','compta',1,'','$user->rights->adherent->cotisation->creer','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144186,'auguria',1,'','left','members',144184,NULL,NULL,1,'/adherents/cotisations.php?leftmenu=members','','List','compta',1,'','$user->rights->adherent->cotisation->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144187,'auguria',1,'','left','members',144184,NULL,NULL,7,'/adherents/stats/index.php?leftmenu=members','','MenuMembersStats','members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144384,'auguria',1,'','left','members',139897,NULL,NULL,3,'/adherents/index.php?leftmenu=export&mainmenu=members','','Exports','members',0,'export','$user->rights->adherent->export','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144385,'auguria',1,'','left','members',144384,NULL,NULL,0,'/exports/index.php?leftmenu=export','','Datas','members',1,'','$user->rights->adherent->export','$conf->adherent->enabled && $conf->export->enabled',2,'2016-07-30 11:13:00'),(144386,'auguria',1,'','left','members',144384,NULL,NULL,1,'/adherents/htpasswd.php?leftmenu=export','','Filehtpasswd','members',1,'','$user->rights->adherent->export','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144387,'auguria',1,'','left','members',144384,NULL,NULL,2,'/adherents/cartes/carte.php?leftmenu=export','','MembersCards','members',1,'','$user->rights->adherent->export','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144484,'auguria',1,'','left','hrm',139899,NULL,NULL,1,'/user/index.php?&leftmenu=hrm&mode=employee','','Employees','hrm',0,'hrm','$user->rights->hrm->employee->read','$conf->hrm->enabled',0,'2016-07-30 11:13:00'),(144485,'auguria',1,'','left','hrm',144484,NULL,NULL,1,'/user/card.php?&action=create','','NewEmployee','hrm',1,'','$user->rights->hrm->employee->write','$conf->hrm->enabled',0,'2016-07-30 11:13:00'),(144486,'auguria',1,'','left','hrm',144484,NULL,NULL,2,'/user/index.php?$leftmenu=hrm&mode=employee','','List','hrm',1,'','$user->rights->hrm->employee->read','$conf->hrm->enabled',0,'2016-07-30 11:13:00'),(144584,'auguria',1,'','left','members',139897,NULL,NULL,5,'/adherents/type.php?leftmenu=setup&mainmenu=members','','MembersTypes','members',0,'setup','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144585,'auguria',1,'','left','members',144584,NULL,NULL,0,'/adherents/type.php?leftmenu=setup&mainmenu=members&action=create','','New','members',1,'','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144586,'auguria',1,'','left','members',144584,NULL,NULL,1,'/adherents/type.php?leftmenu=setup&mainmenu=members','','List','members',1,'','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144884,'auguria',1,'','left','hrm',139899,NULL,NULL,1,'/holiday/list.php?&leftmenu=hrm','','CPTitreMenu','holiday',0,'hrm','$user->rights->holiday->read','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144885,'auguria',1,'','left','hrm',144884,NULL,NULL,1,'/holiday/card.php?&action=request','','MenuAddCP','holiday',1,'','$user->rights->holiday->write','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144886,'auguria',1,'','left','hrm',144884,NULL,NULL,1,'/holiday/list.php?&leftmenu=hrm','','List','holiday',1,'','$user->rights->holiday->read','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144887,'auguria',1,'','left','hrm',144886,NULL,NULL,1,'/holiday/list.php?select_statut=2&leftmenu=hrm','','ListToApprove','trips',2,'','$user->rights->holiday->read','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144888,'auguria',1,'','left','hrm',144884,NULL,NULL,2,'/holiday/define_holiday.php?&action=request','','MenuConfCP','holiday',1,'','$user->rights->holiday->define_holiday','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144889,'auguria',1,'','left','hrm',144884,NULL,NULL,3,'/holiday/view_log.php?&action=request','','MenuLogCP','holiday',1,'','$user->rights->holiday->define_holiday','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144984,'auguria',1,'','left','commercial',139889,NULL,NULL,6,'/fourn/commande/index.php?leftmenu=orders_suppliers','','SuppliersOrders','orders',0,'orders_suppliers','$user->rights->fournisseur->commande->lire','$conf->supplier_order->enabled',2,'2016-07-30 11:13:00'),(144985,'auguria',1,'','left','commercial',144984,NULL,NULL,0,'/fourn/commande/card.php?action=create&leftmenu=orders_suppliers','','NewOrder','orders',1,'','$user->rights->fournisseur->commande->creer','$conf->supplier_order->enabled',2,'2016-07-30 11:13:00'),(144986,'auguria',1,'','left','commercial',144984,NULL,NULL,1,'/fourn/commande/list.php?leftmenu=orders_suppliers&viewstatut=0','','List','orders',1,'','$user->rights->fournisseur->commande->lire','$conf->supplier_order->enabled',2,'2016-07-30 11:13:00'),(144992,'auguria',1,'','left','commercial',144984,NULL,NULL,7,'/commande/stats/index.php?leftmenu=orders_suppliers&mode=supplier','','Statistics','orders',1,'','$user->rights->fournisseur->commande->lire','$conf->supplier_order->enabled',2,'2016-07-30 11:13:00'),(145084,'auguria',1,'','left','members',139897,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=3','','MembersCategoriesShort','categories',0,'cat','$user->rights->categorie->lire','$conf->adherent->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(145085,'auguria',1,'','left','members',145084,NULL,NULL,0,'/categories/card.php?action=create&type=3','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->adherent->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(145086,'all',1,'supplier_proposal','left','commercial',-1,NULL,'commercial',300,'/supplier_proposal/index.php','','SupplierProposalsShort','supplier_proposal',NULL,'supplier_proposalsubmenu','$user->rights->supplier_proposal->lire','$conf->supplier_proposal->enabled',2,'2016-07-30 11:13:20'),(145087,'all',1,'supplier_proposal','left','commercial',-1,'supplier_proposalsubmenu','commercial',301,'/supplier_proposal/card.php?action=create&leftmenu=supplier_proposals','','SupplierProposalNew','supplier_proposal',NULL,NULL,'$user->rights->supplier_proposal->creer','$conf->supplier_proposal->enabled',2,'2016-07-30 11:13:20'),(145088,'all',1,'supplier_proposal','left','commercial',-1,'supplier_proposalsubmenu','commercial',302,'/supplier_proposal/list.php?leftmenu=supplier_proposals','','List','supplier_proposal',NULL,NULL,'$user->rights->supplier_proposal->lire','$conf->supplier_proposal->enabled',2,'2016-07-30 11:13:20'),(145089,'all',1,'supplier_proposal','left','commercial',-1,'supplier_proposalsubmenu','commercial',303,'/comm/propal/stats/index.php?leftmenu=supplier_proposals&mode=supplier','','Statistics','supplier_proposal',NULL,NULL,'$user->rights->supplier_proposal->lire','$conf->supplier_proposal->enabled',2,'2016-07-30 11:13:20'),(145090,'all',1,'resource','left','tools',-1,NULL,'tools',100,'/resource/list.php','','MenuResourceIndex','resource',NULL,'resource','$user->rights->resource->read','1',0,'2016-07-30 11:13:32'),(145091,'all',1,'resource','left','tools',-1,'resource','tools',101,'/resource/add.php','','MenuResourceAdd','resource',NULL,NULL,'$user->rights->resource->read','1',0,'2016-07-30 11:13:32'),(145092,'all',1,'resource','left','tools',-1,'resource','tools',102,'/resource/list.php','','List','resource',NULL,NULL,'$user->rights->resource->read','1',0,'2016-07-30 11:13:32'),(145093,'all',1,'cron','left','home',-1,'admintools','home',200,'/cron/list.php?status=-2&leftmenu=admintools','','CronList','cron',NULL,NULL,'$user->rights->cron->read','$leftmenu==\'admintools\'',2,'2016-07-30 11:14:25'),(145094,'all',1,'agenda','top','agenda',0,NULL,NULL,100,'/comm/action/index.php','','Agenda','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145095,'all',1,'agenda','left','agenda',145094,NULL,NULL,100,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Actions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145096,'all',1,'agenda','left','agenda',145095,NULL,NULL,101,'/comm/action/card.php?mainmenu=agenda&leftmenu=agenda&action=create','','NewAction','commercial',NULL,NULL,'($user->rights->agenda->myactions->create||$user->rights->agenda->allactions->create)','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145097,'all',1,'agenda','left','agenda',145095,NULL,NULL,102,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Agenda','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145098,'all',1,'agenda','left','agenda',145097,NULL,NULL,103,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145099,'all',1,'agenda','left','agenda',145097,NULL,NULL,104,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145100,'all',1,'agenda','left','agenda',145097,NULL,NULL,105,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo&filtert=-1','','MenuToDoActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2016-07-30 15:42:32'),(145101,'all',1,'agenda','left','agenda',145097,NULL,NULL,106,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done&filtert=-1','','MenuDoneActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2016-07-30 15:42:32'),(145102,'all',1,'agenda','left','agenda',145095,NULL,NULL,112,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda','','List','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145103,'all',1,'agenda','left','agenda',145102,NULL,NULL,113,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145104,'all',1,'agenda','left','agenda',145102,NULL,NULL,114,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145105,'all',1,'agenda','left','agenda',145102,NULL,NULL,115,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo&filtert=-1','','MenuToDoActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2016-07-30 15:42:32'),(145106,'all',1,'agenda','left','agenda',145102,NULL,NULL,116,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done&filtert=-1','','MenuDoneActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2016-07-30 15:42:32'),(145107,'all',1,'agenda','left','agenda',145095,NULL,NULL,120,'/comm/action/rapport/index.php?mainmenu=agenda&leftmenu=agenda','','Reportings','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145111,'all',1,'opensurvey','left','tools',-1,NULL,'tools',200,'/opensurvey/index.php?mainmenu=tools&leftmenu=opensurvey','','Survey','opensurvey',NULL,'opensurvey','$user->rights->opensurvey->read','$conf->opensurvey->enabled',0,'2016-07-30 19:04:07'),(145112,'all',1,'opensurvey','left','tools',-1,'opensurvey','tools',210,'/opensurvey/wizard/index.php','','NewSurvey','opensurvey',NULL,'opensurvey_new','$user->rights->opensurvey->write','$conf->opensurvey->enabled',0,'2016-07-30 19:04:07'),(145113,'all',1,'opensurvey','left','tools',-1,'opensurvey','tools',220,'/opensurvey/list.php','','List','opensurvey',NULL,'opensurvey_list','$user->rights->opensurvey->read','$conf->opensurvey->enabled',0,'2016-07-30 19:04:07'); +INSERT INTO `llx_menu` VALUES (103094,'all',2,'agenda','top','agenda',0,NULL,NULL,100,'/comm/action/index.php','','Agenda','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103095,'all',2,'agenda','left','agenda',103094,NULL,NULL,100,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Actions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103096,'all',2,'agenda','left','agenda',103095,NULL,NULL,101,'/comm/action/card.php?mainmenu=agenda&leftmenu=agenda&action=create','','NewAction','commercial',NULL,NULL,'($user->rights->agenda->myactions->create||$user->rights->agenda->allactions->create)','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103097,'all',2,'agenda','left','agenda',103095,NULL,NULL,102,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Calendar','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103098,'all',2,'agenda','left','agenda',103097,NULL,NULL,103,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103099,'all',2,'agenda','left','agenda',103097,NULL,NULL,104,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103100,'all',2,'agenda','left','agenda',103097,NULL,NULL,105,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo','','MenuToDoActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2013-03-13 15:29:19'),(103101,'all',2,'agenda','left','agenda',103097,NULL,NULL,106,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done','','MenuDoneActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2013-03-13 15:29:19'),(103102,'all',2,'agenda','left','agenda',103095,NULL,NULL,112,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda','','List','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103103,'all',2,'agenda','left','agenda',103102,NULL,NULL,113,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103104,'all',2,'agenda','left','agenda',103102,NULL,NULL,114,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103105,'all',2,'agenda','left','agenda',103102,NULL,NULL,115,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo','','MenuToDoActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2013-03-13 15:29:19'),(103106,'all',2,'agenda','left','agenda',103102,NULL,NULL,116,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done','','MenuDoneActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2013-03-13 15:29:19'),(103107,'all',2,'agenda','left','agenda',103095,NULL,NULL,120,'/comm/action/rapport/index.php?mainmenu=agenda&leftmenu=agenda','','Reportings','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$conf->agenda->enabled',2,'2013-03-13 15:29:19'),(103108,'all',2,'pos','top','pos',0,NULL,NULL,100,'/pos/backend/listefac.php','','POS','pos@pos',NULL,'1','1','1',2,'2013-03-13 20:33:09'),(103109,'all',2,'pos','left','pos',103108,NULL,NULL,100,'/pos/backend/list.php','','Tickets','pos@pos',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103110,'all',2,'pos','left','pos',103109,NULL,NULL,100,'/pos/backend/list.php','','List','main',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103111,'all',2,'pos','left','pos',103110,NULL,NULL,100,'/pos/backend/list.php?viewstatut=0','','StatusTicketDraft','pos@pos',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103112,'all',2,'pos','left','@pos',103110,NULL,NULL,100,'/pos/backend/list.php?viewstatut=1','','StatusTicketClosed','main',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103113,'all',2,'pos','left','@pos',103110,NULL,NULL,100,'/pos/backend/list.php?viewstatut=2','','StatusTicketProcessed','main',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103114,'all',2,'pos','left','@pos',103110,NULL,NULL,100,'/pos/backend/list.php?viewtype=1','','StatusTicketReturned','main',NULL,NULL,'$user->rights->pos->backend','$conf->global->POS_USE_TICKETS',0,'2013-03-13 20:33:09'),(103115,'all',2,'pos','left','pos',103108,NULL,NULL,100,'/pos/backend/listefac.php','','Factures','pos@pos',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103116,'all',2,'pos','left','pos',103115,NULL,NULL,100,'/pos/backend/listefac.php','','List','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103117,'all',2,'pos','left','pos',103116,NULL,NULL,100,'/pos/backend/listefac.php?viewstatut=0','','BillStatusDraft','bills',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103118,'all',2,'pos','left','@pos',103116,NULL,NULL,100,'/pos/backend/listefac.php?viewstatut=1','','BillStatusValidated','bills',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103119,'all',2,'pos','left','@pos',103116,NULL,NULL,100,'/pos/backend/listefac.php?viewstatut=2&viewtype=0','','BillStatusPaid','bills',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103120,'all',2,'pos','left','@pos',103116,NULL,NULL,100,'/pos/backend/listefac.php?viewtype=2','','BillStatusReturned','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103121,'all',2,'pos','left','@pos',103108,NULL,NULL,100,'/pos/frontend/index.php','','POS','main',NULL,NULL,'$user->rights->pos->frontend','1',0,'2013-03-13 20:33:09'),(103122,'all',2,'pos','left','@pos',103121,NULL,NULL,100,'/pos/frontend/index.php','','NewTicket','main',NULL,NULL,'$user->rights->pos->frontend','1',0,'2013-03-13 20:33:09'),(103123,'all',2,'pos','left','@pos',103121,NULL,NULL,101,'/pos/backend/closes.php','','CloseandArching','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103124,'all',2,'pos','left','@pos',103108,NULL,NULL,100,'/pos/backend/terminal/cash.php','','Terminal','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103125,'all',2,'pos','left','@pos',103124,NULL,NULL,100,'/pos/backend/terminal/card.php?action=create','','NewCash','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103126,'all',2,'pos','left','@pos',103124,NULL,NULL,101,'/pos/backend/terminal/cash.php','','List','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103127,'all',2,'pos','left','@pos',103123,NULL,NULL,101,'/pos/backend/closes.php?viewstatut=0','','Arqueo','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103128,'all',2,'pos','left','@pos',103123,NULL,NULL,102,'/pos/backend/closes.php?viewstatut=1','','Closes','main',NULL,NULL,'$user->rights->pos->backend','1',0,'2013-03-13 20:33:09'),(103129,'all',2,'pos','left','@pos',103108,NULL,NULL,102,'/pos/backend/transfers.php','','Transfer','main',NULL,NULL,'$user->rights->pos->transfer','1',0,'2013-03-13 20:33:09'),(103130,'all',2,'pos','left','@pos',103108,NULL,NULL,102,'/pos/backend/resultat/index.php','','Rapport','main',NULL,NULL,'$user->rights->pos->stats','1',0,'2013-03-13 20:33:09'),(103131,'all',2,'pos','left','@pos',103130,NULL,NULL,102,'/pos/backend/resultat/casoc.php','','ReportsCustomer','main',NULL,NULL,'$user->rights->pos->stats','1',0,'2013-03-13 20:33:09'),(103132,'all',2,'pos','left','@pos',103130,NULL,NULL,102,'/pos/backend/resultat/causer.php','','ReportsUser','main',NULL,NULL,'$user->rights->pos->stats','1',0,'2013-03-13 20:33:09'),(103133,'all',2,'pos','left','@pos',103130,NULL,NULL,102,'/pos/backend/resultat/sellsjournal.php','','ReportsSells','main',NULL,NULL,'$user->rights->pos->stats','1',0,'2013-03-13 20:33:09'),(103134,'all',2,'opensurvey','top','opensurvey',0,NULL,NULL,200,'/opensurvey/index.php','','Surveys','opensurvey',NULL,NULL,'$user->rights->opensurvey->survey->read','$conf->opensurvey->enabled',0,'2013-03-13 20:33:42'),(103135,'all',2,'opensurvey','left','opensurvey',-1,NULL,'opensurvey',200,'/opensurvey/index.php?mainmenu=opensurvey&leftmenu=opensurvey','','Survey','opensurvey@opensurvey',NULL,'opensurvey','','$conf->opensurvey->enabled',0,'2013-03-13 20:33:42'),(103136,'all',2,'opensurvey','left','opensurvey',-1,'opensurvey','opensurvey',210,'/opensurvey/public/index.php','_blank','NewSurvey','opensurvey@opensurvey',NULL,'opensurvey_new','','$conf->opensurvey->enabled',0,'2013-03-13 20:33:42'),(103137,'all',2,'opensurvey','left','opensurvey',-1,'opensurvey','opensurvey',220,'/opensurvey/list.php','','List','opensurvey@opensurvey',NULL,'opensurvey_list','','$conf->opensurvey->enabled',0,'2013-03-13 20:33:42'),(124179,'all',1,'cashdesk','top','cashdesk',0,NULL,NULL,100,'/cashdesk/index.php?user=__LOGIN__','pointofsale','CashDeskMenu','cashdesk',NULL,NULL,'$user->rights->cashdesk->use','$conf->cashdesk->enabled',0,'2015-11-15 22:38:33'),(124210,'all',1,'margins','left','accountancy',-1,NULL,'accountancy',100,'/margin/index.php','','Margins','margins',NULL,'margins','$user->rights->margins->liretous','$conf->margin->enabled',2,'2015-11-15 22:41:47'),(134675,'all',1,'ecm','top','ecm',0,NULL,NULL,100,'/ecm/index.php','','MenuECM','ecm',NULL,NULL,'$user->rights->ecm->read || $user->rights->ecm->upload || $user->rights->ecm->setup','$conf->ecm->enabled',2,'2016-01-22 17:26:43'),(134676,'all',1,'ecm','left','ecm',-1,NULL,'ecm',101,'/ecm/index.php?mainmenu=ecm&leftmenu=ecm','','ECMArea','ecm',NULL,'ecm','$user->rights->ecm->read || $user->rights->ecm->upload','$user->rights->ecm->read || $user->rights->ecm->upload',2,'2016-01-22 17:26:43'),(134677,'all',1,'ecm','left','ecm',-1,'ecm','ecm',102,'/ecm/index.php?action=file_manager&mainmenu=ecm&leftmenu=ecm','','ECMSectionsManual','ecm',NULL,'ecm_manual','$user->rights->ecm->read || $user->rights->ecm->upload','$user->rights->ecm->read || $user->rights->ecm->upload',2,'2016-01-22 17:26:43'),(134678,'all',1,'ecm','left','ecm',-1,'ecm','ecm',103,'/ecm/index_auto.php?action=file_manager&mainmenu=ecm&leftmenu=ecm','','ECMSectionsAuto','ecm',NULL,NULL,'$user->rights->ecm->read || $user->rights->ecm->upload','$user->rights->ecm->read || $user->rights->ecm->upload',2,'2016-01-22 17:26:43'),(139883,'all',1,'barcode','left','tools',-1,NULL,'tools',200,'/barcode/printsheet.php?mainmenu=tools&leftmenu=barcodeprint','','BarCodePrintsheet','products',NULL,'barcodeprint','($conf->global->MAIN_USE_ADVANCED_PERMS && $user->rights->barcode->lire_advance) || (! $conf->global->MAIN_USE_ADVANCED_PERMS)','$conf->barcode->enabled',2,'2016-07-30 11:12:59'),(139884,'all',1,'barcode','left','home',-1,'admintools','home',300,'/barcode/codeinit.php?mainmenu=home&leftmenu=admintools','','MassBarcodeInit','products',NULL,NULL,'($conf->global->MAIN_USE_ADVANCED_PERMS && $user->rights->barcode->creer_advance) || (! $conf->global->MAIN_USE_ADVANCED_PERMS)','$conf->barcode->enabled && $leftmenu==\"admintools\"',0,'2016-07-30 11:12:59'),(139885,'auguria',1,'','top','home',0,NULL,NULL,10,'/index.php?mainmenu=home&leftmenu=','','Home','',-1,'','','1',2,'2016-07-30 11:13:00'),(139886,'auguria',1,'societe|fournisseur','top','companies',0,NULL,NULL,20,'/societe/index.php?mainmenu=companies&leftmenu=','','ThirdParties','companies',-1,'','$user->rights->societe->lire || $user->rights->societe->contact->lire','( ! empty($conf->societe->enabled) && (empty($conf->global->SOCIETE_DISABLE_PROSPECTS) || empty($conf->global->SOCIETE_DISABLE_CUSTOMERS))) || ! empty($conf->fournisseur->enabled)',2,'2016-07-30 11:13:00'),(139887,'auguria',1,'product|service','top','products',0,NULL,NULL,30,'/product/index.php?mainmenu=products&leftmenu=','','Products/Services','products',-1,'','$user->rights->produit->lire||$user->rights->service->lire','$conf->product->enabled || $conf->service->enabled',0,'2016-07-30 11:13:00'),(139889,'auguria',1,'propal|commande|fournisseur|contrat|ficheinter','top','commercial',0,NULL,NULL,40,'/comm/index.php?mainmenu=commercial&leftmenu=','','Commercial','commercial',-1,'','$user->rights->societe->lire || $user->rights->societe->contact->lire','$conf->propal->enabled || $conf->commande->enabled || $conf->supplier_order->enabled || $conf->contrat->enabled || $conf->ficheinter->enabled',2,'2016-07-30 11:13:00'),(139890,'auguria',1,'comptabilite|accounting|facture|don|tax|salaries|loan','top','accountancy',0,NULL,NULL,50,'/compta/index.php?mainmenu=accountancy&leftmenu=','','MenuFinancial','compta',-1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->plancompte->lire || $user->rights->facture->lire|| $user->rights->don->lire || $user->rights->tax->charges->lire || $user->rights->salaries->read || $user->rights->loan->read','$conf->comptabilite->enabled || $conf->accounting->enabled || $conf->facture->enabled || $conf->don->enabled || $conf->tax->enabled || $conf->salaries->enabled || $conf->supplier_invoice->enabled || $conf->loan->enabled',2,'2016-07-30 11:13:00'),(139891,'auguria',1,'projet','top','project',0,NULL,NULL,70,'/projet/index.php?mainmenu=project&leftmenu=','','Projects','projects',-1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(139892,'auguria',1,'mailing|export|import|opensurvey|resource','top','tools',0,NULL,NULL,90,'/core/tools.php?mainmenu=tools&leftmenu=','','Tools','other',-1,'','$user->rights->mailing->lire || $user->rights->export->lire || $user->rights->import->run || $user->rights->opensurvey->read || $user->rights->resource->read','$conf->mailing->enabled || $conf->export->enabled || $conf->import->enabled || $conf->opensurvey->enabled || $conf->resource->enabled',2,'2016-07-30 11:13:00'),(139897,'auguria',1,'adherent','top','members',0,NULL,NULL,110,'/adherents/index.php?mainmenu=members&leftmenu=','','Members','members',-1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(139898,'auguria',1,'banque|prelevement','top','bank',0,NULL,NULL,60,'/compta/bank/index.php?mainmenu=bank&leftmenu=bank','','MenuBankCash','banks',-1,'','$user->rights->banque->lire || $user->rights->prelevement->bons->lire','$conf->banque->enabled || $conf->prelevement->enabled',0,'2016-07-30 11:13:00'),(139899,'auguria',1,'hrm|holiday|deplacement|expensereport','top','hrm',0,NULL,NULL,80,'/hrm/hrm.php?mainmenu=hrm&leftmenu=','','HRM','holiday',-1,'','$user->rights->hrm->employee->read || $user->rights->holiday->write || $user->rights->deplacement->lire || $user->rights->expensereport->lire','$conf->hrm->enabled || $conf->holiday->enabled || $conf->deplacement->enabled || $conf->expensereport->enabled',0,'2016-07-30 11:13:00'),(139974,'auguria',1,'','left','home',139885,NULL,NULL,0,'/index.php','','Dashboard','',0,'','','1',2,'2016-07-30 11:13:00'),(139984,'auguria',1,'','left','home',139885,NULL,NULL,1,'/admin/index.php?leftmenu=setup','','Setup','admin',0,'setup','','$user->admin',2,'2016-07-30 11:13:00'),(139985,'auguria',1,'','left','home',139984,NULL,NULL,1,'/admin/company.php?leftmenu=setup','','MenuCompanySetup','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139986,'auguria',1,'','left','home',139984,NULL,NULL,4,'/admin/ihm.php?leftmenu=setup','','GUISetup','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139987,'auguria',1,'','left','home',139984,NULL,NULL,2,'/admin/modules.php?leftmenu=setup','','Modules','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139988,'auguria',1,'','left','home',139984,NULL,NULL,6,'/admin/boxes.php?leftmenu=setup','','Boxes','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139989,'auguria',1,'','left','home',139984,NULL,NULL,3,'/admin/menus.php?leftmenu=setup','','Menus','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139990,'auguria',1,'','left','home',139984,NULL,NULL,7,'/admin/delais.php?leftmenu=setup','','Alerts','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139991,'auguria',1,'','left','home',139984,NULL,NULL,10,'/admin/pdf.php?leftmenu=setup','','PDF','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139992,'auguria',1,'','left','home',139984,NULL,NULL,8,'/admin/security_other.php?leftmenu=setup','','Security','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139993,'auguria',1,'','left','home',139984,NULL,NULL,11,'/admin/mails.php?leftmenu=setup','','Emails','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139994,'auguria',1,'','left','home',139984,NULL,NULL,9,'/admin/limits.php?leftmenu=setup','','MenuLimits','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139995,'auguria',1,'','left','home',139984,NULL,NULL,13,'/admin/dict.php?leftmenu=setup','','Dictionary','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139996,'auguria',1,'','left','home',139984,NULL,NULL,14,'/admin/const.php?leftmenu=setup','','OtherSetup','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139997,'auguria',1,'','left','home',139984,NULL,NULL,12,'/admin/sms.php?leftmenu=setup','','SMS','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139998,'auguria',1,'','left','home',139984,NULL,NULL,4,'/admin/translation.php?leftmenu=setup','','Translation','admin',1,'','','$leftmenu==\"setup\"',2,'2016-07-30 11:13:00'),(139999,'auguria',1,'','left','home',139984,NULL,NULL,4,'/accountancy/admin/fiscalyear.php?mainmenu=setup','','Fiscalyear','admin',1,'','','$leftmenu==\"setup\" && $conf->accounting->enabled',2,'2016-07-30 11:13:00'),(140085,'auguria',1,'','left','home',140184,NULL,NULL,0,'/admin/system/dolibarr.php?leftmenu=admintools','','InfoDolibarr','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140086,'auguria',1,'','left','home',140085,NULL,NULL,2,'/admin/system/modules.php?leftmenu=admintools','','Modules','admin',2,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140087,'auguria',1,'','left','home',140085,NULL,NULL,3,'/admin/triggers.php?leftmenu=admintools','','Triggers','admin',2,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140089,'auguria',1,'','left','home',140184,NULL,NULL,1,'/admin/system/browser.php?leftmenu=admintools','','InfoBrowser','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140090,'auguria',1,'','left','home',140184,NULL,NULL,2,'/admin/system/os.php?leftmenu=admintools','','InfoOS','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140091,'auguria',1,'','left','home',140184,NULL,NULL,3,'/admin/system/web.php?leftmenu=admintools','','InfoWebServer','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140092,'auguria',1,'','left','home',140184,NULL,NULL,4,'/admin/system/phpinfo.php?leftmenu=admintools','','InfoPHP','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140094,'auguria',1,'','left','home',140184,NULL,NULL,5,'/admin/system/database.php?leftmenu=admintools','','InfoDatabase','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140184,'auguria',1,'','left','home',139885,NULL,NULL,2,'/admin/tools/index.php?leftmenu=admintools','','AdminTools','admin',0,'admintools','','$user->admin',2,'2016-07-30 11:13:00'),(140185,'auguria',1,'','left','home',140184,NULL,NULL,6,'/admin/tools/dolibarr_export.php?leftmenu=admintools','','Backup','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140186,'auguria',1,'','left','home',140184,NULL,NULL,7,'/admin/tools/dolibarr_import.php?leftmenu=admintools','','Restore','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140189,'auguria',1,'','left','home',140184,NULL,NULL,8,'/admin/tools/update.php?leftmenu=admintools','','MenuUpgrade','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140190,'auguria',1,'','left','home',140184,NULL,NULL,9,'/admin/tools/eaccelerator.php?leftmenu=admintools','','EAccelerator','admin',1,'','','$leftmenu==\"admintools\" && function_exists(\"eaccelerator_info\")',2,'2016-07-30 11:13:00'),(140191,'auguria',1,'','left','home',140184,NULL,NULL,10,'/admin/tools/listevents.php?leftmenu=admintools','','Audit','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140192,'auguria',1,'','left','home',140184,NULL,NULL,11,'/admin/tools/listsessions.php?leftmenu=admintools','','Sessions','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140193,'auguria',1,'','left','home',140184,NULL,NULL,12,'/admin/tools/purge.php?leftmenu=admintools','','Purge','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140194,'auguria',1,'','left','home',140184,NULL,NULL,13,'/support/index.php?leftmenu=admintools','_blank','HelpCenter','help',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140195,'auguria',1,'','left','home',140184,NULL,NULL,14,'/admin/system/about.php?leftmenu=admintools','','About','admin',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140204,'auguria',1,'','left','home',140184,NULL,NULL,0,'/product/admin/product_tools.php?mainmenu=home&leftmenu=admintools','','ProductVatMassChange','products',1,'','','$leftmenu==\"admintools\"',2,'2016-07-30 11:13:00'),(140205,'auguria',1,'','left','home',140184,NULL,NULL,0,'/accountancy/admin/productaccount.php?mainmenu=home&leftmenu=admintools','','InitAccountancy','accountancy',1,'','','$leftmenu==\"admintools\" && $conf->accounting->enabled',2,'2016-07-30 11:13:00'),(140284,'auguria',1,'','left','home',139885,NULL,NULL,4,'/user/home.php?leftmenu=users','','MenuUsersAndGroups','users',0,'users','','1',2,'2016-07-30 11:13:00'),(140285,'auguria',1,'','left','home',140284,NULL,NULL,0,'/user/index.php?leftmenu=users','','Users','users',1,'','$user->rights->user->user->lire || $user->admin','$leftmenu==\"users\"',2,'2016-07-30 11:13:00'),(140286,'auguria',1,'','left','home',140285,NULL,NULL,0,'/user/card.php?leftmenu=users&action=create','','NewUser','users',2,'','$user->rights->user->user->creer || $user->admin','$leftmenu==\"users\"',2,'2016-07-30 11:13:00'),(140287,'auguria',1,'','left','home',140284,NULL,NULL,1,'/user/group/index.php?leftmenu=users','','Groups','users',1,'','($conf->global->MAIN_USE_ADVANCED_PERMS?$user->rights->user->group_advance->read:$user->rights->user->user->lire) || $user->admin','$leftmenu==\"users\"',2,'2016-07-30 11:13:00'),(140288,'auguria',1,'','left','home',140287,NULL,NULL,0,'/user/group/card.php?leftmenu=users&action=create','','NewGroup','users',2,'','($conf->global->MAIN_USE_ADVANCED_PERMS?$user->rights->user->group_advance->write:$user->rights->user->user->creer) || $user->admin','$leftmenu==\"users\"',2,'2016-07-30 11:13:00'),(140384,'auguria',1,'','left','companies',139886,NULL,NULL,0,'/societe/index.php?leftmenu=thirdparties','','ThirdParty','companies',0,'thirdparties','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140385,'auguria',1,'','left','companies',140384,NULL,NULL,0,'/societe/soc.php?action=create','','MenuNewThirdParty','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140386,'auguria',1,'','left','companies',140384,NULL,NULL,0,'/societe/list.php?action=create','','List','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140387,'auguria',1,'','left','companies',140384,NULL,NULL,5,'/societe/list.php?type=f&leftmenu=suppliers','','ListSuppliersShort','suppliers',1,'','$user->rights->societe->lire && $user->rights->fournisseur->lire','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2016-07-30 11:13:00'),(140388,'auguria',1,'','left','companies',140387,NULL,NULL,0,'/societe/soc.php?leftmenu=supplier&action=create&type=f','','NewSupplier','suppliers',2,'','$user->rights->societe->creer','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2016-07-30 11:13:00'),(140390,'auguria',1,'','left','companies',140384,NULL,NULL,3,'/societe/list.php?type=p&leftmenu=prospects','','ListProspectsShort','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140391,'auguria',1,'','left','companies',140390,NULL,NULL,0,'/societe/soc.php?leftmenu=prospects&action=create&type=p','','MenuNewProspect','companies',2,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140393,'auguria',1,'','left','companies',140384,NULL,NULL,4,'/societe/list.php?type=c&leftmenu=customers','','ListCustomersShort','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140394,'auguria',1,'','left','companies',140393,NULL,NULL,0,'/societe/soc.php?leftmenu=customers&action=create&type=c','','MenuNewCustomer','companies',2,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140484,'auguria',1,'','left','companies',139886,NULL,NULL,1,'/contact/list.php?leftmenu=contacts','','ContactsAddresses','companies',0,'contacts','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140485,'auguria',1,'','left','companies',140484,NULL,NULL,0,'/contact/card.php?leftmenu=contacts&action=create','','NewContactAddress','companies',1,'','$user->rights->societe->creer','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140486,'auguria',1,'','left','companies',140484,NULL,NULL,1,'/contact/list.php?leftmenu=contacts','','List','companies',1,'','$user->rights->societe->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140488,'auguria',1,'','left','companies',140486,NULL,NULL,1,'/contact/list.php?leftmenu=contacts&type=p','','ThirdPartyProspects','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140489,'auguria',1,'','left','companies',140486,NULL,NULL,2,'/contact/list.php?leftmenu=contacts&type=c','','ThirdPartyCustomers','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140490,'auguria',1,'','left','companies',140486,NULL,NULL,3,'/contact/list.php?leftmenu=contacts&type=f','','ThirdPartySuppliers','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled && $conf->fournisseur->enabled',2,'2016-07-30 11:13:00'),(140491,'auguria',1,'','left','companies',140486,NULL,NULL,4,'/contact/list.php?leftmenu=contacts&type=o','','Others','companies',2,'','$user->rights->societe->contact->lire','$conf->societe->enabled',2,'2016-07-30 11:13:00'),(140534,'auguria',1,'','left','companies',139886,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=1','','SuppliersCategoriesShort','categories',0,'cat','$user->rights->categorie->lire','$conf->societe->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140535,'auguria',1,'','left','companies',140534,NULL,NULL,0,'/categories/card.php?action=create&type=1','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->societe->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140544,'auguria',1,'','left','companies',139886,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=2','','CustomersProspectsCategoriesShort','categories',0,'cat','$user->rights->categorie->lire','$conf->fournisseur->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140545,'auguria',1,'','left','companies',140544,NULL,NULL,0,'/categories/card.php?action=create&type=2','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->fournisseur->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140554,'auguria',1,'','left','companies',139886,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=4','','ContactCategoriesShort','categories',0,'cat','$user->rights->categorie->lire','$conf->societe->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140555,'auguria',1,'','left','companies',140554,NULL,NULL,0,'/categories/card.php?action=create&type=4','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->societe->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(140984,'auguria',1,'','left','commercial',139889,NULL,NULL,4,'/comm/propal/index.php?leftmenu=propals','','Prop','propal',0,'propals','$user->rights->propale->lire','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(140985,'auguria',1,'','left','commercial',140984,NULL,NULL,0,'/comm/propal/card.php?action=create&leftmenu=propals','','NewPropal','propal',1,'','$user->rights->propale->creer','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(140986,'auguria',1,'','left','commercial',140984,NULL,NULL,1,'/comm/propal/list.php?leftmenu=propals','','List','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(140987,'auguria',1,'','left','commercial',140986,NULL,NULL,2,'/comm/propal/list.php?leftmenu=propals&viewstatut=0','','PropalsDraft','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2016-07-30 11:13:00'),(140988,'auguria',1,'','left','commercial',140986,NULL,NULL,3,'/comm/propal/list.php?leftmenu=propals&viewstatut=1','','PropalsOpened','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2016-07-30 11:13:00'),(140989,'auguria',1,'','left','commercial',140986,NULL,NULL,4,'/comm/propal/list.php?leftmenu=propals&viewstatut=2','','PropalStatusSigned','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2016-07-30 11:13:00'),(140990,'auguria',1,'','left','commercial',140986,NULL,NULL,5,'/comm/propal/list.php?leftmenu=propals&viewstatut=3','','PropalStatusNotSigned','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2016-07-30 11:13:00'),(140991,'auguria',1,'','left','commercial',140986,NULL,NULL,6,'/comm/propal/list.php?leftmenu=propals&viewstatut=4','','PropalStatusBilled','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled && $leftmenu==\"propals\"',2,'2016-07-30 11:13:00'),(140994,'auguria',1,'','left','commercial',140984,NULL,NULL,4,'/comm/propal/stats/index.php?leftmenu=propals','','Statistics','propal',1,'','$user->rights->propale->lire','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(141084,'auguria',1,'','left','commercial',139889,NULL,NULL,5,'/commande/index.php?leftmenu=orders','','CustomersOrders','orders',0,'orders','$user->rights->commande->lire','$conf->commande->enabled',2,'2016-07-30 11:13:00'),(141085,'auguria',1,'','left','commercial',141084,NULL,NULL,0,'/commande/card.php?action=create&leftmenu=orders','','NewOrder','orders',1,'','$user->rights->commande->creer','$conf->commande->enabled',2,'2016-07-30 11:13:00'),(141086,'auguria',1,'','left','commercial',141084,NULL,NULL,1,'/commande/list.php?leftmenu=orders','','List','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled',2,'2016-07-30 11:13:00'),(141087,'auguria',1,'','left','commercial',141086,NULL,NULL,2,'/commande/list.php?leftmenu=orders&viewstatut=0','','StatusOrderDraftShort','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141088,'auguria',1,'','left','commercial',141086,NULL,NULL,3,'/commande/list.php?leftmenu=orders&viewstatut=1','','StatusOrderValidated','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141089,'auguria',1,'','left','commercial',141086,NULL,NULL,4,'/commande/list.php?leftmenu=orders&viewstatut=2','','StatusOrderOnProcessShort','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141090,'auguria',1,'','left','commercial',141086,NULL,NULL,5,'/commande/list.php?leftmenu=orders&viewstatut=3','','StatusOrderToBill','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141091,'auguria',1,'','left','commercial',141086,NULL,NULL,6,'/commande/list.php?leftmenu=orders&viewstatut=4','','StatusOrderProcessed','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141092,'auguria',1,'','left','commercial',141086,NULL,NULL,7,'/commande/list.php?leftmenu=orders&viewstatut=-1','','StatusOrderCanceledShort','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled && $leftmenu==\"orders\"',2,'2016-07-30 11:13:00'),(141093,'auguria',1,'','left','commercial',141084,NULL,NULL,4,'/commande/stats/index.php?leftmenu=orders','','Statistics','orders',1,'','$user->rights->commande->lire','$conf->commande->enabled',2,'2016-07-30 11:13:00'),(141184,'auguria',1,'','left','commercial',139887,NULL,NULL,6,'/expedition/index.php?leftmenu=sendings','','Shipments','sendings',0,'sendings','$user->rights->expedition->lire','$conf->expedition->enabled',2,'2016-07-30 11:13:00'),(141185,'auguria',1,'','left','commercial',141184,NULL,NULL,0,'/expedition/card.php?action=create2&leftmenu=sendings','','NewSending','sendings',1,'','$user->rights->expedition->creer','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2016-07-30 11:13:00'),(141186,'auguria',1,'','left','commercial',141184,NULL,NULL,1,'/expedition/list.php?leftmenu=sendings','','List','sendings',1,'','$user->rights->expedition->lire','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2016-07-30 11:13:00'),(141187,'auguria',1,'','left','commercial',141184,NULL,NULL,2,'/expedition/stats/index.php?leftmenu=sendings','','Statistics','sendings',1,'','$user->rights->expedition->lire','$conf->expedition->enabled && $leftmenu==\"sendings\"',2,'2016-07-30 11:13:00'),(141284,'auguria',1,'','left','commercial',139889,NULL,NULL,7,'/contrat/index.php?leftmenu=contracts','','Contracts','contracts',0,'contracts','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2016-07-30 11:13:00'),(141285,'auguria',1,'','left','commercial',141284,NULL,NULL,0,'/contrat/card.php?&action=create&leftmenu=contracts','','NewContract','contracts',1,'','$user->rights->contrat->creer','$conf->contrat->enabled',2,'2016-07-30 11:13:00'),(141286,'auguria',1,'','left','commercial',141284,NULL,NULL,1,'/contrat/list.php?leftmenu=contracts','','List','contracts',1,'','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2016-07-30 11:13:00'),(141287,'auguria',1,'','left','commercial',141284,NULL,NULL,2,'/contrat/services.php?leftmenu=contracts','','MenuServices','contracts',1,'','$user->rights->contrat->lire','$conf->contrat->enabled',2,'2016-07-30 11:13:00'),(141288,'auguria',1,'','left','commercial',141287,NULL,NULL,0,'/contrat/services.php?leftmenu=contracts&mode=0','','MenuInactiveServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2016-07-30 11:13:00'),(141289,'auguria',1,'','left','commercial',141287,NULL,NULL,1,'/contrat/services.php?leftmenu=contracts&mode=4','','MenuRunningServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2016-07-30 11:13:00'),(141290,'auguria',1,'','left','commercial',141287,NULL,NULL,2,'/contrat/services.php?leftmenu=contracts&mode=4&filter=expired','','MenuExpiredServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2016-07-30 11:13:00'),(141291,'auguria',1,'','left','commercial',141287,NULL,NULL,3,'/contrat/services.php?leftmenu=contracts&mode=5','','MenuClosedServices','contracts',2,'','$user->rights->contrat->lire','$conf->contrat->enabled&&$leftmenu==\"contracts\"',2,'2016-07-30 11:13:00'),(141384,'auguria',1,'','left','commercial',139889,NULL,NULL,8,'/fichinter/list.php?leftmenu=ficheinter','','Interventions','interventions',0,'ficheinter','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2016-07-30 11:13:00'),(141385,'auguria',1,'','left','commercial',141384,NULL,NULL,0,'/fichinter/card.php?action=create&leftmenu=ficheinter','','NewIntervention','interventions',1,'','$user->rights->ficheinter->creer','$conf->ficheinter->enabled',2,'2016-07-30 11:13:00'),(141386,'auguria',1,'','left','commercial',141384,NULL,NULL,1,'/fichinter/list.php?leftmenu=ficheinter','','List','interventions',1,'','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2016-07-30 11:13:00'),(141387,'auguria',1,'','left','commercial',141384,NULL,NULL,2,'/fichinter/stats/index.php?leftmenu=ficheinter','','Statistics','interventions',1,'','$user->rights->ficheinter->lire','$conf->ficheinter->enabled',2,'2016-07-30 11:13:00'),(141484,'auguria',1,'','left','accountancy',139890,NULL,NULL,3,'/fourn/facture/list.php?leftmenu=suppliers_bills','','BillsSuppliers','bills',0,'supplier_bills','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2016-07-30 11:13:00'),(141485,'auguria',1,'','left','accountancy',141484,NULL,NULL,0,'/fourn/facture/card.php?action=create&leftmenu=suppliers_bills','','NewBill','bills',1,'','$user->rights->fournisseur->facture->creer','$conf->supplier_invoice->enabled',2,'2016-07-30 11:13:00'),(141486,'auguria',1,'','left','accountancy',141484,NULL,NULL,1,'/fourn/facture/impayees.php?leftmenu=suppliers_bills','','Unpaid','bills',1,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2016-07-30 11:13:00'),(141487,'auguria',1,'','left','accountancy',141484,NULL,NULL,2,'/fourn/facture/paiement.php?leftmenu=suppliers_bills','','Payments','bills',1,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2016-07-30 11:13:00'),(141488,'auguria',1,'','left','accountancy',141484,NULL,NULL,8,'/compta/facture/stats/index.php?leftmenu=customers_bills&mode=supplier','','Statistics','bills',1,'','$user->rights->fournisseur->facture->lire','$conf->supplier_invoice->enabled',2,'2016-07-30 11:13:00'),(141584,'auguria',1,'','left','accountancy',139890,NULL,NULL,3,'/compta/facture/list.php?leftmenu=customers_bills','','BillsCustomers','bills',0,'customer_bills','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141585,'auguria',1,'','left','accountancy',141584,NULL,NULL,3,'/compta/facture.php?action=create&leftmenu=customers_bills','','NewBill','bills',1,'','$user->rights->facture->creer','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141586,'auguria',1,'','left','accountancy',141584,NULL,NULL,5,'/compta/facture/fiche-rec.php?leftmenu=customers_bills','','ListOfTemplates','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141588,'auguria',1,'','left','accountancy',141584,NULL,NULL,6,'/compta/paiement/list.php?leftmenu=customers_bills','','Payments','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141589,'auguria',1,'','left','accountancy',141584,NULL,NULL,4,'/compta/facture/list.php?leftmenu=customers_bills','','List','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141594,'auguria',1,'','left','accountancy',141588,NULL,NULL,1,'/compta/paiement/rapport.php?leftmenu=customers_bills','','Reportings','bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141595,'auguria',1,'','left','accountancy',139898,NULL,NULL,9,'/compta/paiement/cheque/index.php?leftmenu=checks&mainmenu=bank','','MenuChequeDeposits','bills',0,'checks','$user->rights->banque->lire','empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && ! empty($conf->banque->enabled) && (! empty($conf->facture->enabled) || ! empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))',2,'2016-07-30 11:13:00'),(141596,'auguria',1,'','left','accountancy',141595,NULL,NULL,0,'/compta/paiement/cheque/card.php?leftmenu=checks&action=new','','NewCheckDeposit','compta',1,'','$user->rights->banque->lire','empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && ! empty($conf->banque->enabled) && (! empty($conf->facture->enabled) || ! empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))',2,'2016-07-30 11:13:00'),(141597,'auguria',1,'','left','accountancy',141595,NULL,NULL,1,'/compta/paiement/cheque/list.php?leftmenu=checks','','List','bills',1,'','$user->rights->banque->lire','empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && ! empty($conf->banque->enabled) && (! empty($conf->facture->enabled) || ! empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))',2,'2016-07-30 11:13:00'),(141598,'auguria',1,'','left','accountancy',141584,NULL,NULL,8,'/compta/facture/stats/index.php?leftmenu=customers_bills','','Statistics','bills',1,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141604,'auguria',1,'','left','accountancy',141589,NULL,NULL,1,'/compta/facture/list.php?leftmenu=customers_bills&search_status=0','','BillShortStatusDraft','bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141605,'auguria',1,'','left','accountancy',141589,NULL,NULL,2,'/compta/facture/list.php?leftmenu=customers_bills&search_status=1','','BillShortStatusNotPaid','bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141606,'auguria',1,'','left','accountancy',141589,NULL,NULL,3,'/compta/facture/list.php?leftmenu=customers_bills&search_status=2','','BillShortStatusPaid','bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141607,'auguria',1,'','left','accountancy',141589,NULL,NULL,4,'/compta/facture/list.php?leftmenu=customers_bills&search_status=3','','BillShortStatusCanceled','bills',2,'','$user->rights->facture->lire','$conf->facture->enabled',2,'2016-07-30 11:13:00'),(141784,'auguria',1,'','left','accountancy',139890,NULL,NULL,3,'/commande/list.php?leftmenu=orders&viewstatut=3','','MenuOrdersToBill','orders',0,'orders','$user->rights->commande->lire','$conf->commande->enabled',0,'2016-07-30 11:13:00'),(141884,'auguria',1,'','left','accountancy',139890,NULL,NULL,4,'/don/index.php?leftmenu=donations&mainmenu=accountancy','','Donations','donations',0,'donations','$user->rights->don->lire','$conf->don->enabled',2,'2016-07-30 11:13:00'),(141885,'auguria',1,'','left','accountancy',141884,NULL,NULL,0,'/don/card.php?leftmenu=donations&mainmenu=accountancy&action=create','','NewDonation','donations',1,'','$user->rights->don->creer','$conf->don->enabled && $leftmenu==\"donations\"',2,'2016-07-30 11:13:00'),(141886,'auguria',1,'','left','accountancy',141884,NULL,NULL,1,'/don/list.php?leftmenu=donations&mainmenu=accountancy','','List','donations',1,'','$user->rights->don->lire','$conf->don->enabled && $leftmenu==\"donations\"',2,'2016-07-30 11:13:00'),(141984,'auguria',1,'','left','accountancy',139899,NULL,NULL,5,'/compta/deplacement/index.php?leftmenu=tripsandexpenses','','TripsAndExpenses','trips',0,'tripsandexpenses','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2016-07-30 11:13:00'),(141985,'auguria',1,'','left','accountancy',141984,NULL,NULL,1,'/compta/deplacement/card.php?action=create&leftmenu=tripsandexpenses','','New','trips',1,'','$user->rights->deplacement->creer','$conf->deplacement->enabled',0,'2016-07-30 11:13:00'),(141986,'auguria',1,'','left','accountancy',141984,NULL,NULL,2,'/compta/deplacement/list.php?leftmenu=tripsandexpenses','','List','trips',1,'','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2016-07-30 11:13:00'),(141987,'auguria',1,'','left','accountancy',141984,NULL,NULL,2,'/compta/deplacement/stats/index.php?leftmenu=tripsandexpenses','','Statistics','trips',1,'','$user->rights->deplacement->lire','$conf->deplacement->enabled',0,'2016-07-30 11:13:00'),(142084,'auguria',1,'','left','accountancy',139890,NULL,NULL,6,'/compta/charges/index.php?leftmenu=tax&mainmenu=accountancy','','MenuSpecialExpenses','compta',0,'tax','(! empty($conf->tax->enabled) && $user->rights->tax->charges->lire) || (! empty($conf->salaries->enabled) && $user->rights->salaries->read)','$conf->tax->enabled || $conf->salaries->enabled',0,'2016-07-30 11:13:00'),(142094,'auguria',1,'','left','accountancy',142084,NULL,NULL,1,'/compta/salaries/index.php?leftmenu=tax_salary&mainmenu=accountancy','','Salaries','salaries',1,'tax_sal','$user->rights->salaries->read','$conf->salaries->enabled',0,'2016-07-30 11:13:00'),(142095,'auguria',1,'','left','accountancy',142094,NULL,NULL,2,'/compta/salaries/card.php?leftmenu=tax_salary&action=create','','NewPayment','companies',2,'','$user->rights->salaries->write','$conf->salaries->enabled && $leftmenu==\"tax_salary\"',0,'2016-07-30 11:13:00'),(142096,'auguria',1,'','left','accountancy',142094,NULL,NULL,3,'/compta/salaries/index.php?leftmenu=tax_salary','','Payments','companies',2,'','$user->rights->salaries->read','$conf->salaries->enabled && $leftmenu==\"tax_salary\"',0,'2016-07-30 11:13:00'),(142104,'auguria',1,'','left','accountancy',142084,NULL,NULL,1,'/loan/index.php?leftmenu=tax_loan&mainmenu=accountancy','','Loans','loan',1,'tax_loan','$user->rights->loan->read','$conf->loan->enabled',0,'2016-07-30 11:13:00'),(142105,'auguria',1,'','left','accountancy',142104,NULL,NULL,2,'/loan/card.php?leftmenu=tax_loan&action=create','','NewLoan','loan',2,'','$user->rights->loan->write','$conf->loan->enabled && $leftmenu==\"tax_loan\"',0,'2016-07-30 11:13:00'),(142107,'auguria',1,'','left','accountancy',142104,NULL,NULL,4,'/loan/calc.php?leftmenu=tax_loan','','Calculator','companies',2,'','$user->rights->loan->calc','$conf->loan->enabled && $leftmenu==\"tax_loan\" && ! empty($conf->global->LOAN_SHOW_CALCULATOR)',0,'2016-07-30 11:13:00'),(142134,'auguria',1,'','left','accountancy',142084,NULL,NULL,1,'/compta/sociales/index.php?leftmenu=tax_social','','SocialContributions','',1,'tax_social','$user->rights->tax->charges->lire','$conf->tax->enabled',0,'2016-07-30 11:13:00'),(142135,'auguria',1,'','left','accountancy',142134,NULL,NULL,2,'/compta/sociales/charges.php?leftmenu=tax_social&action=create','','MenuNewSocialContribution','',2,'','$user->rights->tax->charges->creer','$conf->tax->enabled && $leftmenu==\"tax_social\"',0,'2016-07-30 11:13:00'),(142136,'auguria',1,'','left','accountancy',142134,NULL,NULL,3,'/compta/charges/index.php?leftmenu=tax_social&mainmenu=accountancy&mode=sconly','','Payments','',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && $leftmenu==\"tax_social\"',0,'2016-07-30 11:13:00'),(142184,'auguria',1,'','left','accountancy',142084,NULL,NULL,7,'/compta/tva/index.php?leftmenu=tax_vat&mainmenu=accountancy','','VAT','companies',1,'tax_vat','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS)',0,'2016-07-30 11:13:00'),(142185,'auguria',1,'','left','accountancy',142184,NULL,NULL,0,'/compta/tva/card.php?leftmenu=tax_vat&action=create','','New','companies',2,'','$user->rights->tax->charges->creer','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2016-07-30 11:13:00'),(142186,'auguria',1,'','left','accountancy',142184,NULL,NULL,1,'/compta/tva/reglement.php?leftmenu=tax_vat','','List','companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2016-07-30 11:13:00'),(142187,'auguria',1,'','left','accountancy',142184,NULL,NULL,2,'/compta/tva/clients.php?leftmenu=tax_vat','','ReportByCustomers','companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2016-07-30 11:13:00'),(142188,'auguria',1,'','left','accountancy',142184,NULL,NULL,3,'/compta/tva/quadri_detail.php?leftmenu=tax_vat','','ReportByQuarter','companies',2,'','$user->rights->tax->charges->lire','$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu==\"tax_vat\"',0,'2016-07-30 11:13:00'),(142284,'auguria',1,'','left','accountancy',139890,NULL,NULL,7,'/accountancy/customer/index.php?leftmenu=accounting','','MenuAccountancy','accountancy',0,'accounting','! empty($conf->accounting->enabled) || $user->rights->accounting->ventilation->read || $user->rights->accounting->ventilation->dispatch || $user->rights->compta->resultat->lire','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142285,'auguria',1,'','left','accountancy',142284,NULL,NULL,1,'/accountancy/customer/index.php?leftmenu=dispatch_customer','','CustomersVentilation','accountancy',1,'dispatch_customer','$user->rights->accounting->ventilation->read','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142286,'auguria',1,'','left','accountancy',142285,NULL,NULL,2,'/accountancy/customer/list.php','','ToDispatch','accountancy',2,'','$user->rights->accounting->ventilation->dispatch','$conf->accounting->enabled && $leftmenu==\"dispatch_customer\"',0,'2016-07-30 11:13:00'),(142287,'auguria',1,'','left','accountancy',142285,NULL,NULL,3,'/accountancy/customer/lines.php','','Dispatched','accountancy',2,'','$user->rights->accounting->ventilation->read','$conf->accounting->enabled && $leftmenu==\"dispatch_customer\"',0,'2016-07-30 11:13:00'),(142294,'auguria',1,'','left','accountancy',142284,NULL,NULL,4,'/accountancy/supplier/index.php?leftmenu=dispatch_supplier','','SuppliersVentilation','accountancy',1,'ventil_supplier','$user->rights->accounting->ventilation->read','$conf->accounting->enabled && $conf->fournisseur->enabled',0,'2016-07-30 11:13:00'),(142295,'auguria',1,'','left','accountancy',142294,NULL,NULL,5,'/accountancy/supplier/list.php','','ToDispatch','accountancy',2,'','$user->rights->accounting->ventilation->dispatch','$conf->accounting->enabled && $conf->fournisseur->enabled && $leftmenu==\"dispatch_supplier\"',0,'2016-07-30 11:13:00'),(142296,'auguria',1,'','left','accountancy',142294,NULL,NULL,6,'/accountancy/supplier/lines.php','','Dispatched','accountancy',2,'','$user->rights->accounting->ventilation->read','$conf->accounting->enabled && $conf->fournisseur->enabled && $leftmenu==\"dispatch_supplier\"',0,'2016-07-30 11:13:00'),(142314,'auguria',1,'','left','accountancy',142284,NULL,NULL,15,'/accountancy/bookkeeping/list.php','','Bookkeeping','accountancy',1,'bookkeeping','$user->rights->accounting->mouvements->lire','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142319,'auguria',1,'','left','accountancy',142284,NULL,NULL,16,'/accountancy/bookkeeping/balance.php','','AccountBalance','accountancy',1,'balance','$user->rights->accounting->mouvements->lire','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142324,'auguria',1,'','left','accountancy',142284,NULL,NULL,17,'/accountancy/report/result.php?leftmenu=ca&mainmenu=accountancy','','Reportings','main',1,'report','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142325,'auguria',1,'','left','accountancy',142324,NULL,NULL,18,'/accountancy/report/result.php?leftmenu=ca','','ReportInOut','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142326,'auguria',1,'','left','accountancy',142324,NULL,NULL,19,'/compta/resultat/index.php?leftmenu=ca','','ByExpenseIncome','main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142327,'auguria',1,'','left','accountancy',142324,NULL,NULL,20,'/compta/resultat/clientfourn.php?leftmenu=ca','','ByCompanies','main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142328,'auguria',1,'','left','accountancy',142324,NULL,NULL,21,'/compta/stats/index.php?leftmenu=ca','','ReportTurnover','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142329,'auguria',1,'','left','accountancy',142324,NULL,NULL,22,'/compta/stats/casoc.php?leftmenu=ca','','ByCompanies','main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142330,'auguria',1,'','left','accountancy',142324,NULL,NULL,23,'/compta/stats/cabyuser.php?leftmenu=ca','','ByUsers','main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142331,'auguria',1,'','left','accountancy',142324,NULL,NULL,24,'/compta/stats/cabyprodserv.php?leftmenu=ca','','ByProductsAndServices','main',3,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->accounting->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142335,'auguria',1,'','left','home',142284,NULL,NULL,25,'/accountancy/admin/account.php?mainmenu=accountancy','','Chartofaccounts','admin',1,'','$user->rights->accounting->chartofaccount','$conf->accounting->enabled',0,'2016-07-30 11:13:00'),(142384,'auguria',1,'','left','accountancy',139898,NULL,NULL,9,'/compta/prelevement/index.php?leftmenu=withdraw&mainmenu=bank','','StandingOrders','withdrawals',0,'withdraw','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled',2,'2016-07-30 11:13:00'),(142386,'auguria',1,'','left','accountancy',142384,NULL,NULL,0,'/compta/prelevement/create.php?leftmenu=withdraw','','NewStandingOrder','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2016-07-30 11:13:00'),(142387,'auguria',1,'','left','accountancy',142384,NULL,NULL,2,'/compta/prelevement/bons.php?leftmenu=withdraw','','WithdrawalsReceipts','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2016-07-30 11:13:00'),(142388,'auguria',1,'','left','accountancy',142384,NULL,NULL,3,'/compta/prelevement/list.php?leftmenu=withdraw','','WithdrawalsLines','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2016-07-30 11:13:00'),(142390,'auguria',1,'','left','accountancy',142384,NULL,NULL,5,'/compta/prelevement/rejets.php?leftmenu=withdraw','','Rejects','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2016-07-30 11:13:00'),(142391,'auguria',1,'','left','accountancy',142384,NULL,NULL,6,'/compta/prelevement/stats.php?leftmenu=withdraw','','Statistics','withdrawals',1,'','$user->rights->prelevement->bons->lire','$conf->prelevement->enabled && $leftmenu==\"withdraw\"',2,'2016-07-30 11:13:00'),(142484,'auguria',1,'','left','accountancy',139898,NULL,NULL,1,'/compta/bank/index.php?leftmenu=bank&mainmenu=bank','','MenuBankCash','banks',0,'bank','$user->rights->banque->lire','$conf->banque->enabled',0,'2016-07-30 11:13:00'),(142485,'auguria',1,'','left','accountancy',142484,NULL,NULL,0,'/compta/bank/card.php?action=create&leftmenu=bank','','MenuNewFinancialAccount','banks',1,'','$user->rights->banque->configurer','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2016-07-30 11:13:00'),(142487,'auguria',1,'','left','accountancy',142484,NULL,NULL,2,'/compta/bank/search.php?leftmenu=bank','','ListTransactions','banks',1,'','$user->rights->banque->lire','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2016-07-30 11:13:00'),(142488,'auguria',1,'','left','accountancy',142484,NULL,NULL,3,'/compta/bank/budget.php?leftmenu=bank','','ListTransactionsByCategory','banks',1,'','$user->rights->banque->lire','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2016-07-30 11:13:00'),(142490,'auguria',1,'','left','accountancy',142484,NULL,NULL,5,'/compta/bank/virement.php?leftmenu=bank','','BankTransfers','banks',1,'','$user->rights->banque->transfer','$conf->banque->enabled && ($leftmenu==\"bank\" || $leftmenu==\"checks\" || $leftmenu==\"withdraw\")',0,'2016-07-30 11:13:00'),(142534,'auguria',1,'','left','accountancy',139898,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=5','','Categories','categories',0,'cat','$user->rights->categorie->lire','$conf->categorie->enabled',2,'2016-07-30 11:13:00'),(142535,'auguria',1,'','left','accountancy',142534,NULL,NULL,0,'/categories/card.php?action=create&type=5','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->categorie->enabled',2,'2016-07-30 11:13:00'),(142584,'auguria',1,'','left','accountancy',139890,NULL,NULL,11,'/compta/resultat/index.php?leftmenu=ca&mainmenu=accountancy','','Reportings','main',0,'ca','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled',0,'2016-07-30 11:13:00'),(142585,'auguria',1,'','left','accountancy',142584,NULL,NULL,0,'/compta/resultat/index.php?leftmenu=ca','','ReportInOut','main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142586,'auguria',1,'','left','accountancy',142585,NULL,NULL,0,'/compta/resultat/clientfourn.php?leftmenu=ca','','ByCompanies','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142587,'auguria',1,'','left','accountancy',142584,NULL,NULL,1,'/compta/stats/index.php?leftmenu=ca','','ReportTurnover','main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142588,'auguria',1,'','left','accountancy',142587,NULL,NULL,0,'/compta/stats/casoc.php?leftmenu=ca','','ByCompanies','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142589,'auguria',1,'','left','accountancy',142587,NULL,NULL,1,'/compta/stats/cabyuser.php?leftmenu=ca','','ByUsers','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142590,'auguria',1,'','left','accountancy',142584,NULL,NULL,1,'/compta/journal/sellsjournal.php?leftmenu=ca','','SellsJournal','main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142591,'auguria',1,'','left','accountancy',142584,NULL,NULL,1,'/compta/journal/purchasesjournal.php?leftmenu=ca','','PurchasesJournal','main',1,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142592,'auguria',1,'','left','accountancy',142587,NULL,NULL,1,'/compta/stats/cabyprodserv.php?leftmenu=ca','','ByProductsAndServices','main',2,'','$user->rights->compta->resultat->lire || $user->rights->accounting->comptarapport->lire','$conf->comptabilite->enabled && $leftmenu==\"ca\"',0,'2016-07-30 11:13:00'),(142684,'auguria',1,'','left','products',139887,NULL,NULL,0,'/product/index.php?leftmenu=product&type=0','','Products','products',0,'product','$user->rights->produit->lire','$conf->product->enabled',2,'2016-07-30 11:13:00'),(142685,'auguria',1,'','left','products',142684,NULL,NULL,0,'/product/card.php?leftmenu=product&action=create&type=0','','NewProduct','products',1,'','$user->rights->produit->creer','$conf->product->enabled',2,'2016-07-30 11:13:00'),(142686,'auguria',1,'','left','products',142684,NULL,NULL,1,'/product/list.php?leftmenu=product&type=0','','List','products',1,'','$user->rights->produit->lire','$conf->product->enabled',2,'2016-07-30 11:13:00'),(142687,'auguria',1,'','left','products',142684,NULL,NULL,4,'/product/reassort.php?type=0','','Stocks','products',1,'','$user->rights->produit->lire && $user->rights->stock->lire','$conf->product->enabled',2,'2016-07-30 11:13:00'),(142688,'auguria',1,'','left','products',142684,NULL,NULL,6,'/product/stats/card.php?id=all&leftmenu=stats&type=0','','Statistics','main',1,'','$user->rights->produit->lire','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(142689,'auguria',1,'','left','products',142684,NULL,NULL,5,'/product/reassortlot.php?type=0','','StocksByLotSerial','products',1,'','$user->rights->produit->lire && $user->rights->stock->lire','$conf->productbatch->enabled',2,'2016-07-30 11:13:00'),(142784,'auguria',1,'','left','products',139887,NULL,NULL,1,'/product/index.php?leftmenu=service&type=1','','Services','products',0,'service','$user->rights->service->lire','$conf->service->enabled',2,'2016-07-30 11:13:00'),(142785,'auguria',1,'','left','products',142784,NULL,NULL,0,'/product/card.php?leftmenu=service&action=create&type=1','','NewService','products',1,'','$user->rights->service->creer','$conf->service->enabled',2,'2016-07-30 11:13:00'),(142786,'auguria',1,'','left','products',142784,NULL,NULL,1,'/product/list.php?leftmenu=service&type=1','','List','products',1,'','$user->rights->service->lire','$conf->service->enabled',2,'2016-07-30 11:13:00'),(142787,'auguria',1,'','left','products',142784,NULL,NULL,5,'/product/stats/card.php?id=all&leftmenu=stats&type=1','','Statistics','main',1,'','$user->rights->service->lire','$conf->propal->enabled',2,'2016-07-30 11:13:00'),(142984,'auguria',1,'','left','products',139887,NULL,NULL,3,'/product/stock/index.php?leftmenu=stock','','Stock','stocks',0,'stock','$user->rights->stock->lire','$conf->stock->enabled',2,'2016-07-30 11:13:00'),(142985,'auguria',1,'','left','products',142984,NULL,NULL,0,'/product/stock/card.php?action=create','','MenuNewWarehouse','stocks',1,'','$user->rights->stock->creer','$conf->stock->enabled',2,'2016-07-30 11:13:00'),(142986,'auguria',1,'','left','products',142984,NULL,NULL,1,'/product/stock/list.php','','List','stocks',1,'','$user->rights->stock->lire','$conf->stock->enabled',2,'2016-07-30 11:13:00'),(142988,'auguria',1,'','left','products',142984,NULL,NULL,3,'/product/stock/mouvement.php','','Movements','stocks',1,'','$user->rights->stock->mouvement->lire','$conf->stock->enabled',2,'2016-07-30 11:13:00'),(142989,'auguria',1,'','left','products',142984,NULL,NULL,4,'/product/stock/replenish.php','','Replenishments','stocks',1,'','$user->rights->stock->mouvement->creer && $user->rights->fournisseur->lire','$conf->stock->enabled && $conf->supplier_order->enabled',2,'2016-07-30 11:13:00'),(142990,'auguria',1,'','left','products',142984,NULL,NULL,5,'/product/stock/massstockmove.php','','MassStockTransferShort','stocks',1,'','$user->rights->stock->mouvement->creer','$conf->stock->enabled',2,'2016-07-30 11:13:00'),(143084,'auguria',1,'','left','products',139887,NULL,NULL,4,'/categories/index.php?leftmenu=cat&type=0','','Categories','categories',0,'cat','$user->rights->categorie->lire','$conf->categorie->enabled',2,'2016-07-30 11:13:00'),(143085,'auguria',1,'','left','products',143084,NULL,NULL,0,'/categories/card.php?action=create&type=0','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->categorie->enabled',2,'2016-07-30 11:13:00'),(143484,'auguria',1,'','left','project',139891,NULL,NULL,0,'/projet/index.php?leftmenu=projects','','Projects','projects',0,'projects','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143485,'auguria',1,'','left','project',143484,NULL,NULL,1,'/projet/card.php?leftmenu=projects&action=create','','NewProject','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143486,'auguria',1,'','left','project',143484,NULL,NULL,2,'/projet/list.php?leftmenu=projects','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143494,'auguria',1,'','left','project',139891,NULL,NULL,0,'/projet/index.php?leftmenu=projects&mode=mine','','MyProjects','projects',0,'myprojects','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143495,'auguria',1,'','left','project',143494,NULL,NULL,1,'/projet/card.php?leftmenu=projects&action=create&mode=mine','','NewProject','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143496,'auguria',1,'','left','project',143494,NULL,NULL,2,'/projet/list.php?leftmenu=projects&mode=mine','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143584,'auguria',1,'','left','project',139891,NULL,NULL,0,'/projet/activity/index.php?leftmenu=projects','','Activities','projects',0,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143585,'auguria',1,'','left','project',143584,NULL,NULL,1,'/projet/tasks.php?leftmenu=projects&action=create','','NewTask','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143586,'auguria',1,'','left','project',143584,NULL,NULL,2,'/projet/tasks/list.php?leftmenu=projects','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143587,'auguria',1,'','left','project',143584,NULL,NULL,3,'/projet/activity/perweek.php?leftmenu=projects','','NewTimeSpent','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143684,'auguria',1,'','left','project',139891,NULL,NULL,0,'/projet/activity/index.php?leftmenu=projects&mode=mine','','MyActivities','projects',0,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143685,'auguria',1,'','left','project',143684,NULL,NULL,1,'/projet/tasks.php?leftmenu=projects&action=create','','NewTask','projects',1,'','$user->rights->projet->creer','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143686,'auguria',1,'','left','project',143684,NULL,NULL,2,'/projet/tasks/list.php?leftmenu=projects&mode=mine','','List','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143687,'auguria',1,'','left','project',143684,NULL,NULL,3,'/projet/activity/perweek.php?leftmenu=projects&mode=mine','','NewTimeSpent','projects',1,'','$user->rights->projet->lire','$conf->projet->enabled',2,'2016-07-30 11:13:00'),(143784,'auguria',1,'','left','tools',139892,NULL,NULL,0,'/comm/mailing/index.php?leftmenu=mailing','','EMailings','mails',0,'mailing','$user->rights->mailing->lire','$conf->mailing->enabled',0,'2016-07-30 11:13:00'),(143785,'auguria',1,'','left','tools',143784,NULL,NULL,0,'/comm/mailing/card.php?leftmenu=mailing&action=create','','NewMailing','mails',1,'','$user->rights->mailing->creer','$conf->mailing->enabled',0,'2016-07-30 11:13:00'),(143786,'auguria',1,'','left','tools',143784,NULL,NULL,1,'/comm/mailing/list.php?leftmenu=mailing','','List','mails',1,'','$user->rights->mailing->lire','$conf->mailing->enabled',0,'2016-07-30 11:13:00'),(143984,'auguria',1,'','left','tools',139892,NULL,NULL,2,'/exports/index.php?leftmenu=export','','FormatedExport','exports',0,'export','$user->rights->export->lire','$conf->export->enabled',2,'2016-07-30 11:13:00'),(143985,'auguria',1,'','left','tools',143984,NULL,NULL,0,'/exports/export.php?leftmenu=export','','NewExport','exports',1,'','$user->rights->export->creer','$conf->export->enabled',2,'2016-07-30 11:13:00'),(144014,'auguria',1,'','left','tools',139892,NULL,NULL,2,'/imports/index.php?leftmenu=import','','FormatedImport','exports',0,'import','$user->rights->import->run','$conf->import->enabled',2,'2016-07-30 11:13:00'),(144015,'auguria',1,'','left','tools',144014,NULL,NULL,0,'/imports/import.php?leftmenu=import','','NewImport','exports',1,'','$user->rights->import->run','$conf->import->enabled',2,'2016-07-30 11:13:00'),(144084,'auguria',1,'','left','members',139897,NULL,NULL,0,'/adherents/index.php?leftmenu=members&mainmenu=members','','Members','members',0,'members','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144085,'auguria',1,'','left','members',144084,NULL,NULL,0,'/adherents/card.php?leftmenu=members&action=create','','NewMember','members',1,'','$user->rights->adherent->creer','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144086,'auguria',1,'','left','members',144084,NULL,NULL,1,'/adherents/list.php','','List','members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144087,'auguria',1,'','left','members',144086,NULL,NULL,2,'/adherents/list.php?leftmenu=members&statut=-1','','MenuMembersToValidate','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144088,'auguria',1,'','left','members',144086,NULL,NULL,3,'/adherents/list.php?leftmenu=members&statut=1','','MenuMembersValidated','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144089,'auguria',1,'','left','members',144086,NULL,NULL,4,'/adherents/list.php?leftmenu=members&statut=1&filter=outofdate','','MenuMembersNotUpToDate','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144090,'auguria',1,'','left','members',144086,NULL,NULL,5,'/adherents/list.php?leftmenu=members&statut=1&filter=uptodate','','MenuMembersUpToDate','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144091,'auguria',1,'','left','members',144086,NULL,NULL,6,'/adherents/list.php?leftmenu=members&statut=0','','MenuMembersResiliated','members',2,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144092,'auguria',1,'','left','members',144084,NULL,NULL,7,'/adherents/stats/geo.php?leftmenu=members&mode=memberbycountry','','MenuMembersStats','members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144184,'auguria',1,'','left','members',139897,NULL,NULL,1,'/adherents/index.php?leftmenu=members&mainmenu=members','','Subscriptions','compta',0,'','$user->rights->adherent->cotisation->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144185,'auguria',1,'','left','members',144184,NULL,NULL,0,'/adherents/list.php?statut=-1&leftmenu=accountancy&mainmenu=members','','NewSubscription','compta',1,'','$user->rights->adherent->cotisation->creer','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144186,'auguria',1,'','left','members',144184,NULL,NULL,1,'/adherents/cotisations.php?leftmenu=members','','List','compta',1,'','$user->rights->adherent->cotisation->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144187,'auguria',1,'','left','members',144184,NULL,NULL,7,'/adherents/stats/index.php?leftmenu=members','','MenuMembersStats','members',1,'','$user->rights->adherent->lire','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144384,'auguria',1,'','left','members',139897,NULL,NULL,3,'/adherents/index.php?leftmenu=export&mainmenu=members','','Exports','members',0,'export','$user->rights->adherent->export','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144385,'auguria',1,'','left','members',144384,NULL,NULL,0,'/exports/index.php?leftmenu=export','','Datas','members',1,'','$user->rights->adherent->export','$conf->adherent->enabled && $conf->export->enabled',2,'2016-07-30 11:13:00'),(144386,'auguria',1,'','left','members',144384,NULL,NULL,1,'/adherents/htpasswd.php?leftmenu=export','','Filehtpasswd','members',1,'','$user->rights->adherent->export','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144387,'auguria',1,'','left','members',144384,NULL,NULL,2,'/adherents/cartes/carte.php?leftmenu=export','','MembersCards','members',1,'','$user->rights->adherent->export','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144484,'auguria',1,'','left','hrm',139899,NULL,NULL,1,'/user/index.php?&leftmenu=hrm&mode=employee','','Employees','hrm',0,'hrm','$user->rights->hrm->employee->read','$conf->hrm->enabled',0,'2016-07-30 11:13:00'),(144485,'auguria',1,'','left','hrm',144484,NULL,NULL,1,'/user/card.php?&action=create','','NewEmployee','hrm',1,'','$user->rights->hrm->employee->write','$conf->hrm->enabled',0,'2016-07-30 11:13:00'),(144486,'auguria',1,'','left','hrm',144484,NULL,NULL,2,'/user/index.php?$leftmenu=hrm&mode=employee','','List','hrm',1,'','$user->rights->hrm->employee->read','$conf->hrm->enabled',0,'2016-07-30 11:13:00'),(144584,'auguria',1,'','left','members',139897,NULL,NULL,5,'/adherents/type.php?leftmenu=setup&mainmenu=members','','MembersTypes','members',0,'setup','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144585,'auguria',1,'','left','members',144584,NULL,NULL,0,'/adherents/type.php?leftmenu=setup&mainmenu=members&action=create','','New','members',1,'','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144586,'auguria',1,'','left','members',144584,NULL,NULL,1,'/adherents/type.php?leftmenu=setup&mainmenu=members','','List','members',1,'','$user->rights->adherent->configurer','$conf->adherent->enabled',2,'2016-07-30 11:13:00'),(144884,'auguria',1,'','left','hrm',139899,NULL,NULL,1,'/holiday/list.php?&leftmenu=hrm','','CPTitreMenu','holiday',0,'hrm','$user->rights->holiday->read','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144885,'auguria',1,'','left','hrm',144884,NULL,NULL,1,'/holiday/card.php?&action=request','','MenuAddCP','holiday',1,'','$user->rights->holiday->write','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144886,'auguria',1,'','left','hrm',144884,NULL,NULL,1,'/holiday/list.php?&leftmenu=hrm','','List','holiday',1,'','$user->rights->holiday->read','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144887,'auguria',1,'','left','hrm',144886,NULL,NULL,1,'/holiday/list.php?select_statut=2&leftmenu=hrm','','ListToApprove','trips',2,'','$user->rights->holiday->read','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144888,'auguria',1,'','left','hrm',144884,NULL,NULL,2,'/holiday/define_holiday.php?&action=request','','MenuConfCP','holiday',1,'','$user->rights->holiday->define_holiday','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144889,'auguria',1,'','left','hrm',144884,NULL,NULL,3,'/holiday/view_log.php?&action=request','','MenuLogCP','holiday',1,'','$user->rights->holiday->define_holiday','$conf->holiday->enabled',0,'2016-07-30 11:13:00'),(144984,'auguria',1,'','left','commercial',139889,NULL,NULL,6,'/fourn/commande/index.php?leftmenu=orders_suppliers','','SuppliersOrders','orders',0,'orders_suppliers','$user->rights->fournisseur->commande->lire','$conf->supplier_order->enabled',2,'2016-07-30 11:13:00'),(144985,'auguria',1,'','left','commercial',144984,NULL,NULL,0,'/fourn/commande/card.php?action=create&leftmenu=orders_suppliers','','NewOrder','orders',1,'','$user->rights->fournisseur->commande->creer','$conf->supplier_order->enabled',2,'2016-07-30 11:13:00'),(144986,'auguria',1,'','left','commercial',144984,NULL,NULL,1,'/fourn/commande/list.php?leftmenu=orders_suppliers&viewstatut=0','','List','orders',1,'','$user->rights->fournisseur->commande->lire','$conf->supplier_order->enabled',2,'2016-07-30 11:13:00'),(144992,'auguria',1,'','left','commercial',144984,NULL,NULL,7,'/commande/stats/index.php?leftmenu=orders_suppliers&mode=supplier','','Statistics','orders',1,'','$user->rights->fournisseur->commande->lire','$conf->supplier_order->enabled',2,'2016-07-30 11:13:00'),(145084,'auguria',1,'','left','members',139897,NULL,NULL,3,'/categories/index.php?leftmenu=cat&type=3','','MembersCategoriesShort','categories',0,'cat','$user->rights->categorie->lire','$conf->adherent->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(145085,'auguria',1,'','left','members',145084,NULL,NULL,0,'/categories/card.php?action=create&type=3','','NewCategory','categories',1,'','$user->rights->categorie->creer','$conf->adherent->enabled && $conf->categorie->enabled',2,'2016-07-30 11:13:00'),(145086,'all',1,'supplier_proposal','left','commercial',-1,NULL,'commercial',300,'/supplier_proposal/index.php','','SupplierProposalsShort','supplier_proposal',NULL,'supplier_proposalsubmenu','$user->rights->supplier_proposal->lire','$conf->supplier_proposal->enabled',2,'2016-07-30 11:13:20'),(145087,'all',1,'supplier_proposal','left','commercial',-1,'supplier_proposalsubmenu','commercial',301,'/supplier_proposal/card.php?action=create&leftmenu=supplier_proposals','','SupplierProposalNew','supplier_proposal',NULL,NULL,'$user->rights->supplier_proposal->creer','$conf->supplier_proposal->enabled',2,'2016-07-30 11:13:20'),(145088,'all',1,'supplier_proposal','left','commercial',-1,'supplier_proposalsubmenu','commercial',302,'/supplier_proposal/list.php?leftmenu=supplier_proposals','','List','supplier_proposal',NULL,NULL,'$user->rights->supplier_proposal->lire','$conf->supplier_proposal->enabled',2,'2016-07-30 11:13:20'),(145089,'all',1,'supplier_proposal','left','commercial',-1,'supplier_proposalsubmenu','commercial',303,'/comm/propal/stats/index.php?leftmenu=supplier_proposals&mode=supplier','','Statistics','supplier_proposal',NULL,NULL,'$user->rights->supplier_proposal->lire','$conf->supplier_proposal->enabled',2,'2016-07-30 11:13:20'),(145090,'all',1,'resource','left','tools',-1,NULL,'tools',100,'/resource/list.php','','MenuResourceIndex','resource',NULL,'resource','$user->rights->resource->read','1',0,'2016-07-30 11:13:32'),(145091,'all',1,'resource','left','tools',-1,'resource','tools',101,'/resource/add.php','','MenuResourceAdd','resource',NULL,NULL,'$user->rights->resource->read','1',0,'2016-07-30 11:13:32'),(145092,'all',1,'resource','left','tools',-1,'resource','tools',102,'/resource/list.php','','List','resource',NULL,NULL,'$user->rights->resource->read','1',0,'2016-07-30 11:13:32'),(145093,'all',1,'cron','left','home',-1,'admintools','home',200,'/cron/list.php?status=-2&leftmenu=admintools','','CronList','cron',NULL,NULL,'$user->rights->cron->read','$leftmenu==\'admintools\'',2,'2016-07-30 11:14:25'),(145094,'all',1,'agenda','top','agenda',0,NULL,NULL,100,'/comm/action/index.php','','Agenda','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145095,'all',1,'agenda','left','agenda',145094,NULL,NULL,100,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Actions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145096,'all',1,'agenda','left','agenda',145095,NULL,NULL,101,'/comm/action/card.php?mainmenu=agenda&leftmenu=agenda&action=create','','NewAction','commercial',NULL,NULL,'($user->rights->agenda->myactions->create||$user->rights->agenda->allactions->create)','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145097,'all',1,'agenda','left','agenda',145095,NULL,NULL,102,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda','','Agenda','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145098,'all',1,'agenda','left','agenda',145097,NULL,NULL,103,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145099,'all',1,'agenda','left','agenda',145097,NULL,NULL,104,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145100,'all',1,'agenda','left','agenda',145097,NULL,NULL,105,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=todo&filtert=-1','','MenuToDoActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2016-07-30 15:42:32'),(145101,'all',1,'agenda','left','agenda',145097,NULL,NULL,106,'/comm/action/index.php?mainmenu=agenda&leftmenu=agenda&status=done&filtert=-1','','MenuDoneActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2016-07-30 15:42:32'),(145102,'all',1,'agenda','left','agenda',145095,NULL,NULL,112,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda','','List','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145103,'all',1,'agenda','left','agenda',145102,NULL,NULL,113,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo&filter=mine','','MenuToDoMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145104,'all',1,'agenda','left','agenda',145102,NULL,NULL,114,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done&filter=mine','','MenuDoneMyActions','agenda',NULL,NULL,'$user->rights->agenda->myactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145105,'all',1,'agenda','left','agenda',145102,NULL,NULL,115,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=todo&filtert=-1','','MenuToDoActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2016-07-30 15:42:32'),(145106,'all',1,'agenda','left','agenda',145102,NULL,NULL,116,'/comm/action/listactions.php?mainmenu=agenda&leftmenu=agenda&status=done&filtert=-1','','MenuDoneActions','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$user->rights->agenda->allactions->read',2,'2016-07-30 15:42:32'),(145107,'all',1,'agenda','left','agenda',145095,NULL,NULL,120,'/comm/action/rapport/index.php?mainmenu=agenda&leftmenu=agenda','','Reportings','agenda',NULL,NULL,'$user->rights->agenda->allactions->read','$conf->agenda->enabled',2,'2016-07-30 15:42:32'),(145111,'all',1,'opensurvey','left','tools',-1,NULL,'tools',200,'/opensurvey/index.php?mainmenu=tools&leftmenu=opensurvey','','Survey','opensurvey',NULL,'opensurvey','$user->rights->opensurvey->read','$conf->opensurvey->enabled',0,'2016-07-30 19:04:07'),(145112,'all',1,'opensurvey','left','tools',-1,'opensurvey','tools',210,'/opensurvey/wizard/index.php','','NewSurvey','opensurvey',NULL,'opensurvey_new','$user->rights->opensurvey->write','$conf->opensurvey->enabled',0,'2016-07-30 19:04:07'),(145113,'all',1,'opensurvey','left','tools',-1,'opensurvey','tools',220,'/opensurvey/list.php','','List','opensurvey',NULL,'opensurvey_list','$user->rights->opensurvey->read','$conf->opensurvey->enabled',0,'2016-07-30 19:04:07'),(145114,'all',1,'expensereport','left','hrm',-1,NULL,'hrm',100,'/expensereport/index.php','','TripsAndExpenses','trips',NULL,'expensereport','$user->rights->expensereport->lire','$conf->expensereport->enabled',2,'2016-07-31 21:14:33'),(145115,'all',1,'expensereport','left','hrm',-1,'expensereport','hrm',100,'/expensereport/card.php?action=create','','New','trips',NULL,'expensereport_detailnew','$user->rights->expensereport->creer','$conf->expensereport->enabled',2,'2016-07-31 21:14:33'),(145116,'all',1,'expensereport','left','hrm',-1,'expensereport','hrm',100,'/expensereport/list.php','','List','trips',NULL,'expensereport_detaillist','$user->rights->expensereport->lire','$conf->expensereport->enabled',2,'2016-07-31 21:14:33'),(145117,'all',1,'expensereport','left','hrm',-1,'expensereport_detaillist','hrm',100,'/expensereport/list.php?search_status=2','','ListToApprove','trips',NULL,'expensereport_detaillist_approve','$user->rights->expensereport->approve','$conf->expensereport->enabled',2,'2016-07-31 21:14:33'),(145118,'all',1,'expensereport','left','hrm',-1,'expensereport','hrm',100,'/expensereport/stats/index.php','','Statistics','trips',NULL,'expensereport_detail','$user->rights->expensereport->lire','$conf->expensereport->enabled',2,'2016-07-31 21:14:33'),(145119,'all',1,'expensereport','left','hrm',-1,'expensereport','hrm',100,'/expensereport/export_csv.php','','ExportTripCSV','expensereport',NULL,'expensereport_detail','$user->rights->expensereport->lire','$conf->global->DEPLACEMENT_TO_CLEAN',2,'2016-07-31 21:14:33'),(145120,'all',1,'expensereport','left','hrm',-1,'expensereport','hrm',100,'/expensereport/synchro_compta.php','','Synchro_Compta','expensereport',NULL,'expensereport_detail','$user->rights->expensereport->lire','$conf->global->DEPLACEMENT_TO_CLEAN',2,'2016-07-31 21:14:33'); /*!40000 ALTER TABLE `llx_menu` ENABLE KEYS */; UNLOCK TABLES; @@ -6974,7 +6974,7 @@ CREATE TABLE `llx_projet` ( UNIQUE KEY `uk_projet_ref` (`ref`,`entity`), KEY `idx_projet_fk_soc` (`fk_soc`), CONSTRAINT `fk_projet_fk_soc` FOREIGN KEY (`fk_soc`) REFERENCES `llx_societe` (`rowid`) -) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -6983,7 +6983,7 @@ CREATE TABLE `llx_projet` ( LOCK TABLES `llx_projet` WRITE; /*!40000 ALTER TABLE `llx_projet` DISABLE KEYS */; -INSERT INTO `llx_projet` VALUES (1,11,'2010-07-09','2015-10-05 20:51:28','2010-07-09',NULL,'PROJ1',1,'Project One','',1,0,1,NULL,NULL,NULL,'gdfgdfg','baleine',NULL,NULL,NULL,NULL),(2,13,'2010-07-09','2015-10-05 20:51:51','2010-07-09',NULL,'PROJ2',1,'Project Two','',1,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(3,1,'2010-07-09','2016-01-16 15:09:29','2010-07-09',NULL,'PROJINDIAN',1,'Project for Indian company move','',1,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(4,NULL,'2010-07-09','2010-07-08 22:50:49','2010-07-09',NULL,'PROJSHARED',1,'The Global project','',1,1,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(5,NULL,'2010-07-11','2010-07-11 14:22:49','2010-07-11','2011-07-14','RMLL',1,'Projet gestion RMLL 2011','',1,1,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(6,10,'2016-07-30','2016-07-30 15:53:07','2016-07-30',NULL,'PJ1607-0001',1,'PROJALICE1','The Alice project number 1',12,0,1,2,20.00,NULL,NULL,NULL,5000.00000000,NULL,NULL,8000.00000000),(7,10,'2016-07-30','2016-07-30 15:53:14','2016-07-30',NULL,'PJ1607-0002',1,'PROJALICE2','The Alice project number 2',12,0,1,4,60.00,NULL,NULL,NULL,NULL,NULL,NULL,7000.00000000),(8,10,'2016-07-30','2016-07-30 15:53:23','2016-07-30',NULL,'PJ1607-0003',1,'PROJALICE2','The Alice project number 3',12,0,1,6,100.00,NULL,NULL,NULL,NULL,NULL,NULL,3550.00000000); +INSERT INTO `llx_projet` VALUES (1,11,'2010-07-09','2015-10-05 20:51:28','2010-07-09',NULL,'PROJ1',1,'Project One','',1,0,1,NULL,NULL,NULL,'gdfgdfg','baleine',NULL,NULL,NULL,NULL),(2,13,'2010-07-09','2015-10-05 20:51:51','2010-07-09',NULL,'PROJ2',1,'Project Two','',1,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(3,1,'2010-07-09','2016-01-16 15:09:29','2010-07-09',NULL,'PROJINDIAN',1,'Project for Indian company move','',1,0,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(4,NULL,'2010-07-09','2010-07-08 22:50:49','2010-07-09',NULL,'PROJSHARED',1,'The Global project','',1,1,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(5,NULL,'2010-07-11','2010-07-11 14:22:49','2010-07-11','2011-07-14','RMLL',1,'Projet gestion RMLL 2011','',1,1,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL),(6,10,'2016-07-30','2016-07-30 15:53:07','2016-07-30',NULL,'PJ1607-0001',1,'PROJALICE1','The Alice project number 1',12,0,1,2,20.00,NULL,NULL,NULL,5000.00000000,NULL,NULL,8000.00000000),(7,10,'2016-07-30','2016-07-30 15:53:14','2016-07-30',NULL,'PJ1607-0002',1,'PROJALICE2','The Alice project number 2',12,0,1,4,60.00,NULL,NULL,NULL,NULL,NULL,NULL,7000.00000000),(8,10,'2016-07-30','2016-07-30 15:53:23','2016-07-30',NULL,'PJ1607-0003',1,'PROJALICE2','The Alice project number 3',12,0,1,6,100.00,NULL,NULL,NULL,NULL,NULL,NULL,3550.00000000),(9,4,'2016-07-31','2016-07-31 14:27:26','2016-07-31',NULL,'PJ1607-0004',1,'Project Top X','',12,0,1,2,27.00,NULL,NULL,NULL,NULL,NULL,NULL,4000.00000000); /*!40000 ALTER TABLE `llx_projet` ENABLE KEYS */; UNLOCK TABLES; @@ -7002,7 +7002,7 @@ CREATE TABLE `llx_projet_extrafields` ( `priority` text, PRIMARY KEY (`rowid`), KEY `idx_projet_extrafields` (`fk_object`) -) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1; +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -7011,7 +7011,7 @@ CREATE TABLE `llx_projet_extrafields` ( LOCK TABLES `llx_projet_extrafields` WRITE; /*!40000 ALTER TABLE `llx_projet_extrafields` DISABLE KEYS */; -INSERT INTO `llx_projet_extrafields` VALUES (5,'2016-07-30 15:53:07',6,NULL,'3'),(6,'2016-07-30 15:53:14',7,NULL,'1'),(7,'2016-07-30 15:53:23',8,NULL,'5'); +INSERT INTO `llx_projet_extrafields` VALUES (5,'2016-07-30 15:53:07',6,NULL,'3'),(6,'2016-07-30 15:53:14',7,NULL,'1'),(7,'2016-07-30 15:53:23',8,NULL,'5'),(9,'2016-07-31 14:27:24',9,NULL,'0'); /*!40000 ALTER TABLE `llx_projet_extrafields` ENABLE KEYS */; UNLOCK TABLES; @@ -8205,7 +8205,7 @@ CREATE TABLE `llx_user` ( UNIQUE KEY `uk_user_api_key` (`api_key`), KEY `idx_user_api_key` (`api_key`), KEY `idx_user_fk_societe` (`fk_soc`) -) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -8214,7 +8214,7 @@ CREATE TABLE `llx_user` ( LOCK TABLES `llx_user` WRITE; /*!40000 ALTER TABLE `llx_user` DISABLE KEYS */; -INSERT INTO `llx_user` VALUES (1,'2010-07-08 13:20:11','2015-10-05 20:07:36',NULL,NULL,'aeinstein',0,NULL,NULL,NULL,1,0,'aeinstein','11c9c772d6471aa24c27274bdd8a223b',NULL,NULL,'Einstein','Albert','','','123456789','','','aeinstein@example.com','',0,'','','',1,1,NULL,NULL,NULL,'','2015-10-05 08:32:44','2015-10-03 11:43:50',NULL,'',1,'alberteinstein.jpg',NULL,NULL,14,NULL,'','','',NULL,NULL,'aaaaff','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL),(2,'2010-07-08 13:54:48','2015-10-05 19:47:22',NULL,NULL,'demo',1,NULL,NULL,NULL,1,0,'demo','fe01ce2a7fbac8fafaed7c982a04e229',NULL,NULL,'Doe','David','','','09123123','','','daviddoe@mycompany.com','',0,'','','',1,1,NULL,NULL,NULL,'','2016-07-30 23:10:54','2016-07-30 23:04:17',NULL,'',1,'johndoe.png',NULL,NULL,11,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL),(3,'2010-07-11 16:18:59','2015-10-05 19:57:57',NULL,NULL,'pcurie',1,NULL,NULL,NULL,1,0,'pcuriedolibarr','ab335b4eb4c3c99334f656e5db9584c9',NULL,NULL,'Curie','Pierre','','','','','','pcurie@example.com','',0,'','','',1,1,NULL,NULL,2,'','2012-12-21 17:38:55',NULL,NULL,'',1,'pierrecurie.jpg',NULL,NULL,14,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,NULL,NULL),(4,'2013-01-23 17:52:27','2015-10-05 20:08:34',NULL,NULL,'bbookkeeper',1,NULL,NULL,NULL,1,0,'bbookkeeper','a7d30b58d647fcf59b7163f9592b1dbb',NULL,NULL,'Bookkeeper','Bob','Bookkeeper','','','','','','',0,'','','',1,1,17,6,NULL,'','2013-02-25 10:18:41','2013-01-23 17:53:20',NULL,'',1,NULL,NULL,NULL,11,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL),(10,'2015-10-03 11:47:41','2015-10-05 20:07:18',NULL,NULL,'mcurie',1,NULL,NULL,NULL,1,0,'mcurie','11c9c772d6471aa24c27274bdd8a223b',NULL,'t3mnkbhs','Curie','Marie','','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',1,'mariecurie.jpg',NULL,NULL,14,NULL,'','','',NULL,NULL,'ffaaff','',NULL,0,0,NULL,NULL,NULL,NULL,'woman',NULL),(11,'2015-10-05 09:07:52','2015-10-05 19:57:02',NULL,NULL,'zzeceo',1,NULL,NULL,NULL,1,0,'zzeceo','92af989c4c3a5140fb5d73eb77a52454',NULL,'cq78nf9m','Zeceo','Zack','President','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'','2015-10-05 22:48:08','2015-10-05 21:18:46',NULL,'',1,NULL,NULL,NULL,NULL,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,NULL,NULL),(12,'2015-10-05 09:09:46','2016-01-22 13:13:42',NULL,NULL,'admin',0,NULL,NULL,NULL,1,0,'admin','21232f297a57a5a743894a0e4a801fc3',NULL,'nd6hgbcr','Adminson','Alice','Admin Technical','','','','','','',1,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'','2016-07-30 23:04:31','2016-07-30 23:03:59',NULL,'',1,'mariecurie.jpg',NULL,NULL,11,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,'woman',NULL),(13,'2015-10-05 21:29:35','2016-01-22 13:51:46',NULL,NULL,'ccommercy',1,NULL,NULL,NULL,1,0,'ccomercy','11c9c772d6471aa24c27274bdd8a223b',NULL,'y451ksdv','Commercy','Charle','Commercial leader','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',1,NULL,NULL,NULL,11,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL),(14,'2015-10-05 21:33:33','2015-10-05 19:52:05',NULL,NULL,'sscientol',1,NULL,NULL,NULL,1,0,'sscientol','39bee07ac42f31c98e79cdcd5e5fe4c5',NULL,'s2hp8bxd','Scientol','Sam','Scientist leader','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',1,NULL,NULL,NULL,11,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,NULL,NULL),(16,'2015-10-05 22:47:52','2015-11-15 22:25:17',NULL,NULL,'cc1',1,NULL,NULL,NULL,1,0,'cc1','d68005ccf362b82d084551b6291792a3',NULL,'cx9y1dk0','Charle1','Commerson','Sale representative','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'','2015-10-05 23:46:24','2015-10-05 23:37:31',NULL,'',1,NULL,NULL,NULL,13,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,NULL,NULL),(17,'2015-10-05 22:48:39','2016-01-22 16:30:01',NULL,NULL,'cc2',1,NULL,NULL,NULL,1,0,'cc2','a964065211872fb76f876c6c3e952ea3',NULL,'gw8cb7xj','Charle2','Commerson','Sale representative','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'','2015-10-05 23:16:06',NULL,NULL,'',0,NULL,NULL,NULL,13,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL),(18,'2016-01-22 17:27:02','2016-07-30 12:51:23',NULL,NULL,'ldestailleur',1,NULL,NULL,NULL,1,0,'laurentd2013','1bb7805145a7a5066df9e6d585b8b645',NULL,'87g06wbx','Destailleur','Laurent','Project leader of Dolibarr ERP CRM','','','','','ldestailleur@example.com','
Laurent DESTAILLEUR
\r\n\r\n
\r\n
Project Director
\r\nldestailleur@example.com
\r\n\r\n
 
\r\n\r\n\r\n
',0,NULL,NULL,NULL,1,1,10,10,NULL,'More information on http://www.destailleur.fr','2016-07-30 22:26:58',NULL,NULL,'',1,'ldestailleur_200x200.jpg',NULL,NULL,NULL,NULL,'','','',NULL,NULL,'007f7f','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL); +INSERT INTO `llx_user` VALUES (1,'2010-07-08 13:20:11','2015-10-05 20:07:36',NULL,NULL,'aeinstein',0,NULL,NULL,NULL,1,0,'aeinstein','11c9c772d6471aa24c27274bdd8a223b',NULL,NULL,'Einstein','Albert','','','123456789','','','aeinstein@example.com','',0,'','','',1,1,NULL,NULL,NULL,'','2015-10-05 08:32:44','2015-10-03 11:43:50',NULL,'',1,'alberteinstein.jpg',NULL,NULL,14,NULL,'','','',NULL,NULL,'aaaaff','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL),(2,'2010-07-08 13:54:48','2015-10-05 19:47:22',NULL,NULL,'demo',1,NULL,NULL,NULL,1,0,'demo','fe01ce2a7fbac8fafaed7c982a04e229',NULL,NULL,'Doe','David','','','09123123','','','daviddoe@mycompany.com','',0,'','','',1,1,NULL,NULL,NULL,'','2016-07-30 23:10:54','2016-07-30 23:04:17',NULL,'',1,'johndoe.png',NULL,NULL,11,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL),(3,'2010-07-11 16:18:59','2015-10-05 19:57:57',NULL,NULL,'pcurie',1,NULL,NULL,NULL,1,0,'pcuriedolibarr','ab335b4eb4c3c99334f656e5db9584c9',NULL,NULL,'Curie','Pierre','','','','','','pcurie@example.com','',0,'','','',1,1,NULL,NULL,2,'','2012-12-21 17:38:55',NULL,NULL,'',1,'pierrecurie.jpg',NULL,NULL,14,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,NULL,NULL),(4,'2013-01-23 17:52:27','2015-10-05 20:08:34',NULL,NULL,'bbookkeeper',1,NULL,NULL,NULL,1,0,'bbookkeeper','a7d30b58d647fcf59b7163f9592b1dbb',NULL,NULL,'Bookkeeper','Bob','Bookkeeper','','','','','','',0,'','','',1,1,17,6,NULL,'','2013-02-25 10:18:41','2013-01-23 17:53:20',NULL,'',1,NULL,NULL,NULL,11,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL),(10,'2015-10-03 11:47:41','2015-10-05 20:07:18',NULL,NULL,'mcurie',1,NULL,NULL,NULL,1,0,'mcurie','11c9c772d6471aa24c27274bdd8a223b',NULL,'t3mnkbhs','Curie','Marie','','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',1,'mariecurie.jpg',NULL,NULL,14,NULL,'','','',NULL,NULL,'ffaaff','',NULL,0,0,NULL,NULL,NULL,NULL,'woman',NULL),(11,'2015-10-05 09:07:52','2015-10-05 19:57:02',NULL,NULL,'zzeceo',1,NULL,NULL,NULL,1,0,'zzeceo','92af989c4c3a5140fb5d73eb77a52454',NULL,'cq78nf9m','Zeceo','Zack','President','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'','2015-10-05 22:48:08','2015-10-05 21:18:46',NULL,'',1,NULL,NULL,NULL,NULL,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,NULL,NULL),(12,'2015-10-05 09:09:46','2016-01-22 13:13:42',NULL,NULL,'admin',0,NULL,NULL,NULL,1,0,'admin','21232f297a57a5a743894a0e4a801fc3',NULL,'nd6hgbcr','Adminson','Alice','Admin Technical','','','','','','',1,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'','2016-08-01 01:14:13','2016-07-31 20:04:34',NULL,'',1,'mariecurie.jpg',NULL,NULL,11,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,'woman',NULL),(13,'2015-10-05 21:29:35','2016-01-22 13:51:46',NULL,NULL,'ccommercy',1,NULL,NULL,NULL,1,0,'ccomercy','11c9c772d6471aa24c27274bdd8a223b',NULL,'y451ksdv','Commercy','Charle','Commercial leader','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',1,NULL,NULL,NULL,11,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL),(14,'2015-10-05 21:33:33','2015-10-05 19:52:05',NULL,NULL,'sscientol',1,NULL,NULL,NULL,1,0,'sscientol','39bee07ac42f31c98e79cdcd5e5fe4c5',NULL,'s2hp8bxd','Scientol','Sam','Scientist leader','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'',NULL,NULL,NULL,'',1,NULL,NULL,NULL,11,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,NULL,NULL),(16,'2015-10-05 22:47:52','2015-11-15 22:25:17',NULL,NULL,'cc1',1,NULL,NULL,NULL,1,0,'cc1','d68005ccf362b82d084551b6291792a3',NULL,'cx9y1dk0','Charle1','Commerson','Sale representative','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'','2015-10-05 23:46:24','2015-10-05 23:37:31',NULL,'',1,NULL,NULL,NULL,13,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,NULL,NULL),(17,'2015-10-05 22:48:39','2016-01-22 16:30:01',NULL,NULL,'cc2',1,NULL,NULL,NULL,1,0,'cc2','a964065211872fb76f876c6c3e952ea3',NULL,'gw8cb7xj','Charle2','Commerson','Sale representative','','','','','','',0,NULL,NULL,NULL,1,1,NULL,NULL,NULL,'','2015-10-05 23:16:06',NULL,NULL,'',0,NULL,NULL,NULL,13,NULL,'','','',NULL,NULL,'','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL),(18,'2016-01-22 17:27:02','2016-07-30 12:51:23',NULL,NULL,'ldestailleur',1,NULL,NULL,NULL,1,0,'laurentd2013','1bb7805145a7a5066df9e6d585b8b645',NULL,'87g06wbx','Destailleur','Laurent','Project leader of Dolibarr ERP CRM','','','','','ldestailleur@example.com','
Laurent DESTAILLEUR
\r\n\r\n
\r\n
Project Director
\r\nldestailleur@example.com
\r\n\r\n
 
\r\n\r\n\r\n
',0,NULL,NULL,NULL,1,1,10,10,NULL,'More information on http://www.destailleur.fr','2016-07-30 22:26:58',NULL,NULL,'',1,'ldestailleur_200x200.jpg',NULL,NULL,NULL,NULL,'','','',NULL,NULL,'007f7f','',NULL,0,0,NULL,NULL,NULL,NULL,'man',NULL); /*!40000 ALTER TABLE `llx_user` ENABLE KEYS */; UNLOCK TABLES; @@ -8318,7 +8318,7 @@ CREATE TABLE `llx_user_param` ( LOCK TABLES `llx_user_param` WRITE; /*!40000 ALTER TABLE `llx_user_param` DISABLE KEYS */; -INSERT INTO `llx_user_param` VALUES (1,1,'MAIN_BOXES_0','1'),(1,1,'MAIN_THEME','eldy'),(1,3,'THEME_ELDY_ENABLE_PERSONALIZED','1'),(1,1,'THEME_ELDY_RGB','ded0ed'),(1,3,'THEME_ELDY_RGB','d0ddc3'),(2,1,'MAIN_BOXES_0','1'),(11,1,'MAIN_BOXES_0','1'),(12,1,'MAIN_BOXES_0','1'),(12,1,'MAIN_SELECTEDFIELDS_projectlist','ef.priority,p.ref,p.title,s.nom,commercial,p.dateo,p.datee,p.public,p.opp_amount,p.fk_opp_status,p.opp_percent,p.fk_statut,'); +INSERT INTO `llx_user_param` VALUES (1,1,'MAIN_BOXES_0','1'),(1,1,'MAIN_THEME','eldy'),(1,3,'THEME_ELDY_ENABLE_PERSONALIZED','1'),(1,1,'THEME_ELDY_RGB','ded0ed'),(1,3,'THEME_ELDY_RGB','d0ddc3'),(2,1,'MAIN_BOXES_0','1'),(11,1,'MAIN_BOXES_0','1'),(12,1,'MAIN_BOXES_0','1'),(12,1,'MAIN_SELECTEDFIELDS_/dolibarr_4.0/htdocs/adherents/list.php','d.zip,d.ref,d.lastname,d.firstname,d.company,d.login,d.morphy,t.libelle,d.email,d.datefin,d.statut,'),(12,1,'MAIN_SELECTEDFIELDS_projectlist','ef.priority,p.ref,p.title,s.nom,commercial,p.dateo,p.datee,p.public,p.opp_amount,p.fk_opp_status,p.opp_percent,p.fk_statut,'); /*!40000 ALTER TABLE `llx_user_param` ENABLE KEYS */; UNLOCK TABLES; @@ -8373,7 +8373,7 @@ CREATE TABLE `llx_user_rights` ( PRIMARY KEY (`rowid`), UNIQUE KEY `uk_user_rights` (`fk_user`,`fk_id`), CONSTRAINT `fk_user_rights_fk_user_user` FOREIGN KEY (`fk_user`) REFERENCES `llx_user` (`rowid`) -) ENGINE=InnoDB AUTO_INCREMENT=15079 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=15092 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -8382,7 +8382,7 @@ CREATE TABLE `llx_user_rights` ( LOCK TABLES `llx_user_rights` WRITE; /*!40000 ALTER TABLE `llx_user_rights` DISABLE KEYS */; -INSERT INTO `llx_user_rights` VALUES (12402,1,11),(12380,1,12),(12385,1,13),(12389,1,14),(12393,1,15),(12398,1,16),(12404,1,19),(9726,1,21),(9700,1,22),(9706,1,24),(9711,1,25),(9716,1,26),(9722,1,27),(9728,1,28),(9978,1,31),(9968,1,32),(9974,1,34),(1910,1,36),(9980,1,38),(11573,1,41),(11574,1,42),(11575,1,44),(11576,1,45),(7184,1,61),(7181,1,62),(7183,1,64),(7185,1,67),(7186,1,68),(1678,1,71),(1673,1,72),(1675,1,74),(1679,1,75),(1677,1,76),(1681,1,78),(1682,1,79),(12322,1,81),(12309,1,82),(12312,1,84),(12314,1,86),(12317,1,87),(12320,1,88),(12323,1,89),(11580,1,91),(11581,1,92),(11582,1,93),(11583,1,94),(10097,1,95),(10099,1,96),(10103,1,97),(10104,1,98),(7139,1,101),(7134,1,102),(7136,1,104),(7137,1,105),(7138,1,106),(7140,1,109),(10229,1,111),(10201,1,112),(10207,1,113),(10213,1,114),(10219,1,115),(10225,1,116),(10231,1,117),(12518,1,121),(12508,1,122),(12514,1,125),(12520,1,126),(11577,1,141),(11578,1,142),(11579,1,144),(2307,1,151),(2304,1,152),(2306,1,153),(2308,1,154),(10092,1,161),(10093,1,162),(10094,1,163),(10095,1,164),(10096,1,165),(1585,1,170),(12342,1,171),(12331,1,172),(12335,1,173),(12339,1,174),(12343,1,178),(10000,1,221),(9990,1,222),(9996,1,223),(10002,1,229),(10007,1,237),(10011,1,238),(10015,1,239),(1686,1,241),(1685,1,242),(1687,1,243),(12604,1,251),(12566,1,252),(12569,1,253),(12572,1,254),(12575,1,255),(12579,1,256),(1617,1,258),(12525,1,262),(12544,1,281),(12534,1,282),(12540,1,283),(12546,1,286),(12288,1,300),(12290,1,301),(11591,1,302),(1763,1,331),(1762,1,332),(1764,1,333),(12582,1,341),(12584,1,342),(12586,1,343),(12588,1,344),(12600,1,351),(12593,1,352),(12597,1,353),(12601,1,354),(12605,1,358),(12560,1,531),(12553,1,532),(12557,1,534),(1625,1,536),(12561,1,538),(12358,1,700),(12348,1,701),(12354,1,702),(12360,1,703),(1755,1,1001),(1754,1,1002),(1756,1,1003),(1758,1,1004),(1759,1,1005),(7146,1,1101),(7143,1,1102),(7145,1,1104),(7147,1,1109),(12412,1,1181),(12458,1,1182),(12417,1,1183),(12420,1,1184),(12423,1,1185),(12427,1,1186),(12431,1,1187),(12437,1,1188),(12434,1,1189),(1578,1,1201),(1579,1,1202),(12454,1,1231),(12443,1,1232),(12446,1,1233),(12449,1,1234),(12452,1,1235),(12455,1,1236),(12459,1,1237),(1736,1,1251),(12409,1,1321),(12326,1,1421),(8190,1,1791),(8187,1,1792),(8191,1,1793),(12264,1,2401),(12260,1,2402),(12266,1,2403),(12280,1,2411),(12276,1,2412),(12282,1,2413),(12286,1,2414),(1618,1,2500),(12370,1,2501),(12367,1,2503),(12371,1,2515),(9610,1,5001),(9611,1,5002),(12490,1,20001),(12468,1,20002),(12474,1,20003),(12480,1,20004),(12486,1,20005),(12492,1,20006),(12302,1,23001),(12295,1,23002),(12299,1,23003),(12303,1,23004),(7701,1,50101),(4984,1,50401),(4983,1,50402),(4985,1,50403),(4987,1,50411),(4988,1,50412),(4989,1,50415),(12498,1,55001),(12499,1,55002),(3564,1,100700),(3565,1,100701),(9596,1,101051),(9598,1,101052),(9600,1,101053),(9604,1,101060),(9605,1,101061),(7177,1,101201),(7178,1,101202),(10353,1,101250),(10355,1,101251),(8980,1,101261),(8981,1,101262),(7616,1,101331),(10030,1,101701),(10031,1,101702),(3582,1,102000),(3583,1,102001),(9819,1,400051),(9823,1,400052),(9827,1,400053),(9831,1,400055),(132,2,11),(133,2,12),(134,2,13),(135,2,14),(136,2,16),(137,2,19),(138,2,21),(139,2,22),(140,2,24),(141,2,25),(142,2,26),(143,2,27),(10359,2,31),(145,2,32),(10361,2,34),(146,2,36),(147,2,41),(148,2,42),(149,2,44),(150,2,61),(151,2,62),(152,2,64),(153,2,71),(154,2,72),(155,2,74),(156,2,75),(157,2,78),(158,2,79),(159,2,81),(160,2,82),(161,2,84),(162,2,86),(163,2,87),(164,2,88),(165,2,89),(166,2,91),(167,2,92),(168,2,93),(2475,2,95),(2476,2,96),(2477,2,97),(2478,2,98),(169,2,101),(170,2,102),(171,2,104),(172,2,109),(173,2,111),(174,2,112),(175,2,113),(176,2,114),(177,2,116),(178,2,117),(179,2,121),(180,2,122),(181,2,125),(182,2,141),(183,2,142),(184,2,144),(2479,2,151),(2480,2,152),(2481,2,153),(2482,2,154),(185,2,161),(186,2,162),(187,2,163),(188,2,164),(189,2,165),(190,2,170),(2471,2,171),(192,2,172),(2472,2,173),(193,2,221),(194,2,222),(195,2,229),(196,2,241),(197,2,242),(198,2,243),(199,2,251),(201,2,262),(202,2,281),(203,2,282),(204,2,283),(205,2,331),(15072,2,510),(2483,2,531),(207,2,532),(2484,2,534),(208,2,536),(2473,2,700),(210,2,701),(211,2,702),(2474,2,703),(15064,2,771),(15057,2,772),(15059,2,773),(15061,2,774),(15063,2,775),(15065,2,776),(212,2,1001),(213,2,1002),(214,2,1003),(215,2,1004),(216,2,1005),(217,2,1101),(218,2,1102),(219,2,1104),(220,2,1109),(15073,2,1121),(15074,2,1122),(15075,2,1123),(15076,2,1124),(15077,2,1125),(15078,2,1126),(221,2,1181),(222,2,1182),(223,2,1183),(224,2,1184),(225,2,1185),(226,2,1186),(227,2,1187),(228,2,1188),(229,2,1201),(230,2,1202),(231,2,1231),(232,2,1232),(233,2,1233),(234,2,1234),(235,2,1421),(236,2,2401),(237,2,2402),(238,2,2403),(239,2,2411),(240,2,2412),(241,2,2413),(242,2,2500),(2470,2,2501),(243,2,2515),(10363,2,20001),(10364,2,20002),(10365,2,20003),(10366,2,20004),(10367,2,20005),(10368,2,20006),(15054,2,23001),(10362,2,50101),(15067,2,55001),(15066,2,59001),(15068,2,63001),(15069,2,63002),(15070,2,63003),(15071,2,63004),(10372,2,101250),(1807,3,11),(1808,3,31),(1809,3,36),(1810,3,41),(1811,3,61),(1812,3,71),(1813,3,72),(1814,3,74),(1815,3,75),(1816,3,78),(1817,3,79),(1818,3,91),(1819,3,95),(1820,3,97),(1821,3,111),(1822,3,121),(1823,3,122),(1824,3,125),(1825,3,161),(1826,3,170),(1827,3,171),(1828,3,172),(1829,3,221),(1830,3,222),(1831,3,229),(1832,3,241),(1833,3,242),(1834,3,243),(1835,3,251),(1836,3,255),(1837,3,256),(1838,3,262),(1839,3,281),(1840,3,282),(1841,3,283),(1842,3,331),(1843,3,531),(1844,3,536),(1845,3,700),(1846,3,1001),(1847,3,1002),(1848,3,1003),(1849,3,1004),(1850,3,1005),(1851,3,1181),(1852,3,1182),(1853,3,1201),(1854,3,1202),(1855,3,1231),(1856,3,2401),(1857,3,2402),(1858,3,2403),(1859,3,2411),(1860,3,2412),(1861,3,2413),(1862,3,2500),(1863,3,2515),(8026,4,11),(8027,4,21),(8028,4,31),(8029,4,41),(8030,4,61),(8031,4,71),(8032,4,72),(8033,4,74),(8034,4,75),(8035,4,78),(8036,4,79),(8037,4,81),(8038,4,91),(8039,4,95),(8040,4,97),(8041,4,101),(8042,4,111),(8043,4,121),(8044,4,151),(8045,4,161),(8046,4,171),(8047,4,221),(8048,4,222),(8049,4,229),(8050,4,241),(8051,4,242),(8052,4,243),(8146,4,251),(8147,4,253),(8053,4,262),(8054,4,281),(8055,4,331),(8056,4,341),(8057,4,342),(8058,4,343),(8059,4,344),(8060,4,531),(8061,4,700),(8062,4,1001),(8063,4,1002),(8064,4,1003),(8065,4,1004),(8066,4,1005),(8067,4,1101),(8068,4,1181),(8069,4,1182),(8070,4,1201),(8071,4,1202),(8072,4,1231),(8073,4,2401),(8074,4,2501),(8075,4,2503),(8076,4,2515),(8077,4,20001),(8078,4,50101),(8079,4,101201),(8080,4,101261),(8081,4,102000),(8082,4,400051),(8083,4,400052),(8084,4,400053),(8085,4,400055),(12608,10,11),(12609,10,21),(12610,10,31),(12611,10,41),(12612,10,61),(12613,10,71),(12614,10,72),(12615,10,74),(12616,10,75),(12617,10,78),(12618,10,79),(12619,10,81),(12620,10,91),(12621,10,95),(12622,10,97),(12623,10,101),(12624,10,111),(12625,10,121),(12626,10,151),(12627,10,161),(12628,10,171),(12629,10,221),(12630,10,222),(12631,10,229),(12632,10,241),(12633,10,242),(12634,10,243),(12635,10,262),(12636,10,281),(12637,10,300),(12638,10,331),(12639,10,341),(12640,10,342),(12641,10,343),(12642,10,344),(12643,10,531),(12644,10,700),(12645,10,1001),(12646,10,1002),(12647,10,1003),(12648,10,1004),(12649,10,1005),(12650,10,1101),(12651,10,1181),(12652,10,1182),(12653,10,1201),(12654,10,1202),(12655,10,1231),(12656,10,2401),(12657,10,2501),(12658,10,2503),(12659,10,2515),(12660,10,20001),(12661,10,20002),(12662,10,23001),(12663,10,50101),(12664,11,11),(12665,11,21),(12666,11,31),(12667,11,41),(12668,11,61),(12669,11,71),(12670,11,72),(12671,11,74),(12672,11,75),(12673,11,78),(12674,11,79),(12675,11,81),(12676,11,91),(12677,11,95),(12678,11,97),(12679,11,101),(12680,11,111),(12681,11,121),(12682,11,151),(12683,11,161),(12684,11,171),(12685,11,221),(12686,11,222),(12687,11,229),(12688,11,241),(12689,11,242),(12690,11,243),(12691,11,262),(12692,11,281),(12693,11,300),(12694,11,331),(12695,11,341),(12696,11,342),(12697,11,343),(12698,11,344),(12699,11,531),(12700,11,700),(12701,11,1001),(12702,11,1002),(12703,11,1003),(12704,11,1004),(12705,11,1005),(12706,11,1101),(12707,11,1181),(12708,11,1182),(12709,11,1201),(12710,11,1202),(12711,11,1231),(12712,11,2401),(12713,11,2501),(12714,11,2503),(12715,11,2515),(12716,11,20001),(12717,11,20002),(12718,11,23001),(12719,11,50101),(14748,12,11),(14738,12,12),(14740,12,13),(14742,12,14),(14744,12,15),(14747,12,16),(14750,12,19),(14146,12,21),(14135,12,22),(14137,12,24),(14139,12,25),(14142,12,26),(14145,12,27),(14148,12,28),(14930,12,31),(14926,12,32),(14929,12,34),(14932,12,38),(13816,12,41),(13813,12,42),(13815,12,44),(13817,12,45),(14094,12,61),(14091,12,62),(14093,12,64),(14095,12,67),(14096,12,68),(13891,12,71),(13886,12,72),(13888,12,74),(13892,12,75),(13890,12,76),(13894,12,78),(13895,12,79),(14955,12,81),(14949,12,82),(14950,12,84),(14951,12,86),(14953,12,87),(14954,12,88),(14956,12,89),(13904,12,91),(13900,12,92),(13903,12,93),(13906,12,94),(13990,12,95),(12734,12,97),(14939,12,101),(14935,12,102),(14936,12,104),(14937,12,105),(14938,12,106),(14940,12,109),(14051,12,111),(14038,12,112),(14041,12,113),(14044,12,114),(14047,12,115),(14050,12,116),(14053,12,117),(15015,12,121),(15011,12,122),(15014,12,125),(15017,12,126),(13821,12,141),(13820,12,142),(13822,12,144),(13912,12,151),(13909,12,152),(13911,12,153),(13913,12,154),(14063,12,161),(14056,12,162),(14058,12,163),(14060,12,164),(14062,12,165),(14064,12,167),(13350,12,171),(13345,12,172),(13347,12,173),(13349,12,174),(13351,12,178),(13838,12,221),(13834,12,222),(13837,12,223),(13840,12,229),(13842,12,237),(13844,12,238),(13846,12,239),(13516,12,241),(13515,12,242),(13517,12,243),(14730,12,251),(14711,12,252),(14713,12,253),(14714,12,254),(14716,12,255),(14718,12,256),(15019,12,262),(15028,12,281),(15024,12,282),(15027,12,283),(15030,12,286),(14732,12,300),(14733,12,301),(14126,12,331),(14125,12,332),(14127,12,333),(14719,12,341),(14720,12,342),(14721,12,343),(14722,12,344),(14728,12,351),(14725,12,352),(14727,12,353),(14729,12,354),(14731,12,358),(13865,12,510),(13862,12,512),(13864,12,514),(13866,12,517),(14686,12,531),(14683,12,532),(14685,12,534),(14687,12,538),(13358,12,700),(14832,12,701),(14831,12,702),(14834,12,703),(13858,12,771),(13849,12,772),(13851,12,773),(13853,12,774),(13855,12,775),(13857,12,776),(13859,12,779),(14917,12,1001),(14916,12,1002),(14918,12,1003),(14920,12,1004),(14921,12,1005),(14945,12,1101),(14943,12,1102),(14944,12,1104),(14946,12,1109),(14762,12,1121),(14755,12,1122),(14757,12,1123),(14759,12,1124),(14761,12,1125),(14763,12,1126),(14982,12,1181),(15005,12,1182),(14985,12,1183),(14986,12,1184),(14988,12,1185),(14990,12,1186),(14992,12,1187),(14995,12,1188),(14993,12,1189),(13827,12,1201),(13828,12,1202),(15003,12,1231),(14998,12,1232),(14999,12,1233),(15001,12,1234),(15002,12,1235),(15004,12,1236),(15006,12,1237),(13829,12,1251),(14752,12,1321),(14957,12,1421),(15036,12,2401),(15035,12,2402),(15038,12,2403),(15044,12,2411),(15043,12,2412),(15046,12,2413),(15047,12,2414),(14591,12,2501),(14590,12,2503),(14592,12,2515),(14651,12,20001),(14641,12,20002),(14644,12,20003),(14647,12,20004),(14650,12,20005),(14653,12,20006),(14825,12,23001),(14822,12,23002),(14824,12,23003),(14826,12,23004),(13712,12,50101),(15052,12,55001),(15053,12,55002),(14128,12,59001),(14129,12,59002),(14130,12,59003),(14818,12,63001),(14815,12,63002),(14817,12,63003),(14819,12,63004),(12776,13,11),(12777,13,21),(12778,13,31),(12779,13,41),(12780,13,61),(12781,13,71),(12782,13,72),(12783,13,74),(12784,13,75),(12785,13,78),(12786,13,79),(12787,13,81),(12788,13,91),(12789,13,95),(12790,13,97),(12791,13,101),(12792,13,111),(12793,13,121),(12794,13,151),(12795,13,161),(12796,13,171),(12797,13,221),(12798,13,222),(12799,13,229),(12800,13,241),(12801,13,242),(12802,13,243),(12803,13,262),(12804,13,281),(12805,13,300),(12806,13,331),(12807,13,341),(12808,13,342),(12809,13,343),(12810,13,344),(12811,13,531),(12812,13,700),(12813,13,1001),(12814,13,1002),(12815,13,1003),(12816,13,1004),(12817,13,1005),(12818,13,1101),(12819,13,1181),(12820,13,1182),(12821,13,1201),(12822,13,1202),(12823,13,1231),(12824,13,2401),(12825,13,2501),(12826,13,2503),(12827,13,2515),(12828,13,20001),(12829,13,20002),(12830,13,23001),(12831,13,50101),(12832,14,11),(12833,14,21),(12834,14,31),(12835,14,41),(12836,14,61),(12837,14,71),(12838,14,72),(12839,14,74),(12840,14,75),(12841,14,78),(12842,14,79),(12843,14,81),(12844,14,91),(12845,14,95),(12846,14,97),(12847,14,101),(12848,14,111),(12849,14,121),(12850,14,151),(12851,14,161),(12852,14,171),(12853,14,221),(12854,14,222),(12855,14,229),(12856,14,241),(12857,14,242),(12858,14,243),(12859,14,262),(12860,14,281),(12861,14,300),(12862,14,331),(12863,14,341),(12864,14,342),(12865,14,343),(12866,14,344),(12867,14,531),(12868,14,700),(12869,14,1001),(12870,14,1002),(12871,14,1003),(12872,14,1004),(12873,14,1005),(12874,14,1101),(12875,14,1181),(12876,14,1182),(12877,14,1201),(12878,14,1202),(12879,14,1231),(12880,14,2401),(12881,14,2501),(12882,14,2503),(12883,14,2515),(12884,14,20001),(12885,14,20002),(12886,14,23001),(12887,14,50101),(12944,16,11),(12945,16,21),(12946,16,31),(13056,16,41),(13057,16,42),(13058,16,44),(13059,16,45),(12948,16,61),(12949,16,71),(12950,16,72),(12951,16,74),(12952,16,75),(12953,16,78),(12954,16,79),(12955,16,81),(12956,16,91),(12957,16,95),(12958,16,97),(12959,16,101),(12960,16,111),(12961,16,121),(13060,16,141),(13061,16,142),(13062,16,144),(12962,16,151),(12963,16,161),(12964,16,171),(12965,16,221),(12966,16,222),(12967,16,229),(12968,16,241),(12969,16,242),(12970,16,243),(13128,16,251),(13064,16,262),(12972,16,281),(12973,16,300),(12974,16,331),(12975,16,341),(12976,16,342),(12977,16,343),(12978,16,344),(12979,16,531),(12980,16,700),(12981,16,1001),(12982,16,1002),(12983,16,1003),(12984,16,1004),(12985,16,1005),(12986,16,1101),(12987,16,1181),(12988,16,1182),(12989,16,1201),(12990,16,1202),(12991,16,1231),(12992,16,2401),(12993,16,2501),(12994,16,2503),(12995,16,2515),(12996,16,20001),(12997,16,20002),(12998,16,23001),(12999,16,50101),(13000,17,11),(13001,17,21),(13002,17,31),(13065,17,41),(13066,17,42),(13067,17,44),(13068,17,45),(13004,17,61),(13005,17,71),(13006,17,72),(13007,17,74),(13008,17,75),(13009,17,78),(13010,17,79),(13011,17,81),(13012,17,91),(13013,17,95),(13014,17,97),(13015,17,101),(13016,17,111),(13017,17,121),(13069,17,141),(13070,17,142),(13071,17,144),(13018,17,151),(13019,17,161),(13020,17,171),(13021,17,221),(13022,17,222),(13023,17,229),(13024,17,241),(13025,17,242),(13026,17,243),(13028,17,281),(13029,17,300),(13030,17,331),(13031,17,341),(13032,17,342),(13033,17,343),(13034,17,344),(13035,17,531),(13036,17,700),(13037,17,1001),(13038,17,1002),(13039,17,1003),(13040,17,1004),(13041,17,1005),(13042,17,1101),(13043,17,1181),(13044,17,1182),(13045,17,1201),(13046,17,1202),(13047,17,1231),(13048,17,2401),(13049,17,2501),(13050,17,2503),(13051,17,2515),(13052,17,20001),(13053,17,20002),(13054,17,23001),(13055,17,50101),(14504,18,11),(14505,18,21),(14506,18,31),(14507,18,41),(14508,18,61),(14509,18,71),(14510,18,78),(14511,18,81),(14512,18,91),(14513,18,95),(14514,18,101),(14515,18,111),(14516,18,121),(14517,18,151),(14518,18,161),(14519,18,221),(14520,18,241),(14521,18,262),(14522,18,281),(14523,18,300),(14524,18,331),(14525,18,332),(14526,18,333),(14527,18,341),(14528,18,342),(14529,18,343),(14530,18,344),(14531,18,531),(14532,18,701),(14533,18,771),(14534,18,774),(14535,18,1001),(14536,18,1004),(14537,18,1101),(14538,18,1181),(14539,18,1182),(14540,18,1201),(14541,18,1231),(14542,18,2401),(14543,18,2501),(14544,18,2503),(14545,18,2515),(14546,18,20001),(14547,18,20002),(14548,18,50101),(14549,18,59001); +INSERT INTO `llx_user_rights` VALUES (12402,1,11),(12380,1,12),(12385,1,13),(12389,1,14),(12393,1,15),(12398,1,16),(12404,1,19),(9726,1,21),(9700,1,22),(9706,1,24),(9711,1,25),(9716,1,26),(9722,1,27),(9728,1,28),(9978,1,31),(9968,1,32),(9974,1,34),(1910,1,36),(9980,1,38),(11573,1,41),(11574,1,42),(11575,1,44),(11576,1,45),(7184,1,61),(7181,1,62),(7183,1,64),(7185,1,67),(7186,1,68),(1678,1,71),(1673,1,72),(1675,1,74),(1679,1,75),(1677,1,76),(1681,1,78),(1682,1,79),(12322,1,81),(12309,1,82),(12312,1,84),(12314,1,86),(12317,1,87),(12320,1,88),(12323,1,89),(11580,1,91),(11581,1,92),(11582,1,93),(11583,1,94),(10097,1,95),(10099,1,96),(10103,1,97),(10104,1,98),(7139,1,101),(7134,1,102),(7136,1,104),(7137,1,105),(7138,1,106),(7140,1,109),(10229,1,111),(10201,1,112),(10207,1,113),(10213,1,114),(10219,1,115),(10225,1,116),(10231,1,117),(12518,1,121),(12508,1,122),(12514,1,125),(12520,1,126),(11577,1,141),(11578,1,142),(11579,1,144),(2307,1,151),(2304,1,152),(2306,1,153),(2308,1,154),(10092,1,161),(10093,1,162),(10094,1,163),(10095,1,164),(10096,1,165),(1585,1,170),(12342,1,171),(12331,1,172),(12335,1,173),(12339,1,174),(12343,1,178),(10000,1,221),(9990,1,222),(9996,1,223),(10002,1,229),(10007,1,237),(10011,1,238),(10015,1,239),(1686,1,241),(1685,1,242),(1687,1,243),(12604,1,251),(12566,1,252),(12569,1,253),(12572,1,254),(12575,1,255),(12579,1,256),(1617,1,258),(12525,1,262),(12544,1,281),(12534,1,282),(12540,1,283),(12546,1,286),(12288,1,300),(12290,1,301),(11591,1,302),(1763,1,331),(1762,1,332),(1764,1,333),(12582,1,341),(12584,1,342),(12586,1,343),(12588,1,344),(12600,1,351),(12593,1,352),(12597,1,353),(12601,1,354),(12605,1,358),(12560,1,531),(12553,1,532),(12557,1,534),(1625,1,536),(12561,1,538),(12358,1,700),(12348,1,701),(12354,1,702),(12360,1,703),(1755,1,1001),(1754,1,1002),(1756,1,1003),(1758,1,1004),(1759,1,1005),(7146,1,1101),(7143,1,1102),(7145,1,1104),(7147,1,1109),(12412,1,1181),(12458,1,1182),(12417,1,1183),(12420,1,1184),(12423,1,1185),(12427,1,1186),(12431,1,1187),(12437,1,1188),(12434,1,1189),(1578,1,1201),(1579,1,1202),(12454,1,1231),(12443,1,1232),(12446,1,1233),(12449,1,1234),(12452,1,1235),(12455,1,1236),(12459,1,1237),(1736,1,1251),(12409,1,1321),(12326,1,1421),(8190,1,1791),(8187,1,1792),(8191,1,1793),(12264,1,2401),(12260,1,2402),(12266,1,2403),(12280,1,2411),(12276,1,2412),(12282,1,2413),(12286,1,2414),(1618,1,2500),(12370,1,2501),(12367,1,2503),(12371,1,2515),(9610,1,5001),(9611,1,5002),(12490,1,20001),(12468,1,20002),(12474,1,20003),(12480,1,20004),(12486,1,20005),(12492,1,20006),(12302,1,23001),(12295,1,23002),(12299,1,23003),(12303,1,23004),(7701,1,50101),(4984,1,50401),(4983,1,50402),(4985,1,50403),(4987,1,50411),(4988,1,50412),(4989,1,50415),(12498,1,55001),(12499,1,55002),(3564,1,100700),(3565,1,100701),(9596,1,101051),(9598,1,101052),(9600,1,101053),(9604,1,101060),(9605,1,101061),(7177,1,101201),(7178,1,101202),(10353,1,101250),(10355,1,101251),(8980,1,101261),(8981,1,101262),(7616,1,101331),(10030,1,101701),(10031,1,101702),(3582,1,102000),(3583,1,102001),(9819,1,400051),(9823,1,400052),(9827,1,400053),(9831,1,400055),(132,2,11),(133,2,12),(134,2,13),(135,2,14),(136,2,16),(137,2,19),(138,2,21),(139,2,22),(140,2,24),(141,2,25),(142,2,26),(143,2,27),(10359,2,31),(145,2,32),(10361,2,34),(146,2,36),(147,2,41),(148,2,42),(149,2,44),(150,2,61),(151,2,62),(152,2,64),(153,2,71),(154,2,72),(155,2,74),(156,2,75),(157,2,78),(158,2,79),(159,2,81),(160,2,82),(161,2,84),(162,2,86),(163,2,87),(164,2,88),(165,2,89),(166,2,91),(167,2,92),(168,2,93),(2475,2,95),(2476,2,96),(2477,2,97),(2478,2,98),(169,2,101),(170,2,102),(171,2,104),(172,2,109),(173,2,111),(174,2,112),(175,2,113),(176,2,114),(177,2,116),(178,2,117),(179,2,121),(180,2,122),(181,2,125),(182,2,141),(183,2,142),(184,2,144),(2479,2,151),(2480,2,152),(2481,2,153),(2482,2,154),(185,2,161),(186,2,162),(187,2,163),(188,2,164),(189,2,165),(190,2,170),(2471,2,171),(192,2,172),(2472,2,173),(193,2,221),(194,2,222),(195,2,229),(196,2,241),(197,2,242),(198,2,243),(199,2,251),(201,2,262),(202,2,281),(203,2,282),(204,2,283),(205,2,331),(15072,2,510),(2483,2,531),(207,2,532),(2484,2,534),(208,2,536),(2473,2,700),(210,2,701),(211,2,702),(2474,2,703),(15064,2,771),(15057,2,772),(15059,2,773),(15061,2,774),(15063,2,775),(15065,2,776),(212,2,1001),(213,2,1002),(214,2,1003),(215,2,1004),(216,2,1005),(217,2,1101),(218,2,1102),(219,2,1104),(220,2,1109),(15073,2,1121),(15074,2,1122),(15075,2,1123),(15076,2,1124),(15077,2,1125),(15078,2,1126),(221,2,1181),(222,2,1182),(223,2,1183),(224,2,1184),(225,2,1185),(226,2,1186),(227,2,1187),(228,2,1188),(229,2,1201),(230,2,1202),(231,2,1231),(232,2,1232),(233,2,1233),(234,2,1234),(235,2,1421),(236,2,2401),(237,2,2402),(238,2,2403),(239,2,2411),(240,2,2412),(241,2,2413),(242,2,2500),(2470,2,2501),(243,2,2515),(10363,2,20001),(10364,2,20002),(10365,2,20003),(10366,2,20004),(10367,2,20005),(10368,2,20006),(15054,2,23001),(10362,2,50101),(15067,2,55001),(15066,2,59001),(15068,2,63001),(15069,2,63002),(15070,2,63003),(15071,2,63004),(10372,2,101250),(1807,3,11),(1808,3,31),(1809,3,36),(1810,3,41),(1811,3,61),(1812,3,71),(1813,3,72),(1814,3,74),(1815,3,75),(1816,3,78),(1817,3,79),(1818,3,91),(1819,3,95),(1820,3,97),(1821,3,111),(1822,3,121),(1823,3,122),(1824,3,125),(1825,3,161),(1826,3,170),(1827,3,171),(1828,3,172),(1829,3,221),(1830,3,222),(1831,3,229),(1832,3,241),(1833,3,242),(1834,3,243),(1835,3,251),(1836,3,255),(1837,3,256),(1838,3,262),(1839,3,281),(1840,3,282),(1841,3,283),(1842,3,331),(1843,3,531),(1844,3,536),(1845,3,700),(1846,3,1001),(1847,3,1002),(1848,3,1003),(1849,3,1004),(1850,3,1005),(1851,3,1181),(1852,3,1182),(1853,3,1201),(1854,3,1202),(1855,3,1231),(1856,3,2401),(1857,3,2402),(1858,3,2403),(1859,3,2411),(1860,3,2412),(1861,3,2413),(1862,3,2500),(1863,3,2515),(8026,4,11),(8027,4,21),(8028,4,31),(8029,4,41),(8030,4,61),(8031,4,71),(8032,4,72),(8033,4,74),(8034,4,75),(8035,4,78),(8036,4,79),(8037,4,81),(8038,4,91),(8039,4,95),(8040,4,97),(8041,4,101),(8042,4,111),(8043,4,121),(8044,4,151),(8045,4,161),(8046,4,171),(8047,4,221),(8048,4,222),(8049,4,229),(8050,4,241),(8051,4,242),(8052,4,243),(8146,4,251),(8147,4,253),(8053,4,262),(8054,4,281),(8055,4,331),(8056,4,341),(8057,4,342),(8058,4,343),(8059,4,344),(8060,4,531),(8061,4,700),(8062,4,1001),(8063,4,1002),(8064,4,1003),(8065,4,1004),(8066,4,1005),(8067,4,1101),(8068,4,1181),(8069,4,1182),(8070,4,1201),(8071,4,1202),(8072,4,1231),(8073,4,2401),(8074,4,2501),(8075,4,2503),(8076,4,2515),(8077,4,20001),(8078,4,50101),(8079,4,101201),(8080,4,101261),(8081,4,102000),(8082,4,400051),(8083,4,400052),(8084,4,400053),(8085,4,400055),(12608,10,11),(12609,10,21),(12610,10,31),(12611,10,41),(12612,10,61),(12613,10,71),(12614,10,72),(12615,10,74),(12616,10,75),(12617,10,78),(12618,10,79),(12619,10,81),(12620,10,91),(12621,10,95),(12622,10,97),(12623,10,101),(12624,10,111),(12625,10,121),(12626,10,151),(12627,10,161),(12628,10,171),(12629,10,221),(12630,10,222),(12631,10,229),(12632,10,241),(12633,10,242),(12634,10,243),(12635,10,262),(12636,10,281),(12637,10,300),(12638,10,331),(12639,10,341),(12640,10,342),(12641,10,343),(12642,10,344),(12643,10,531),(12644,10,700),(12645,10,1001),(12646,10,1002),(12647,10,1003),(12648,10,1004),(12649,10,1005),(12650,10,1101),(12651,10,1181),(12652,10,1182),(12653,10,1201),(12654,10,1202),(12655,10,1231),(12656,10,2401),(12657,10,2501),(12658,10,2503),(12659,10,2515),(12660,10,20001),(12661,10,20002),(12662,10,23001),(12663,10,50101),(12664,11,11),(12665,11,21),(12666,11,31),(12667,11,41),(12668,11,61),(12669,11,71),(12670,11,72),(12671,11,74),(12672,11,75),(12673,11,78),(12674,11,79),(12675,11,81),(12676,11,91),(12677,11,95),(12678,11,97),(12679,11,101),(12680,11,111),(12681,11,121),(12682,11,151),(12683,11,161),(12684,11,171),(12685,11,221),(12686,11,222),(12687,11,229),(12688,11,241),(12689,11,242),(12690,11,243),(12691,11,262),(12692,11,281),(12693,11,300),(12694,11,331),(12695,11,341),(12696,11,342),(12697,11,343),(12698,11,344),(12699,11,531),(12700,11,700),(12701,11,1001),(12702,11,1002),(12703,11,1003),(12704,11,1004),(12705,11,1005),(12706,11,1101),(12707,11,1181),(12708,11,1182),(12709,11,1201),(12710,11,1202),(12711,11,1231),(12712,11,2401),(12713,11,2501),(12714,11,2503),(12715,11,2515),(12716,11,20001),(12717,11,20002),(12718,11,23001),(12719,11,50101),(14748,12,11),(14738,12,12),(14740,12,13),(14742,12,14),(14744,12,15),(14747,12,16),(14750,12,19),(14146,12,21),(14135,12,22),(14137,12,24),(14139,12,25),(14142,12,26),(14145,12,27),(14148,12,28),(14930,12,31),(14926,12,32),(14929,12,34),(14932,12,38),(13816,12,41),(13813,12,42),(13815,12,44),(13817,12,45),(14094,12,61),(14091,12,62),(14093,12,64),(14095,12,67),(14096,12,68),(13891,12,71),(13886,12,72),(13888,12,74),(13892,12,75),(13890,12,76),(13894,12,78),(13895,12,79),(14955,12,81),(14949,12,82),(14950,12,84),(14951,12,86),(14953,12,87),(14954,12,88),(14956,12,89),(13904,12,91),(13900,12,92),(13903,12,93),(13906,12,94),(13990,12,95),(12734,12,97),(14939,12,101),(14935,12,102),(14936,12,104),(14937,12,105),(14938,12,106),(14940,12,109),(14051,12,111),(14038,12,112),(14041,12,113),(14044,12,114),(14047,12,115),(14050,12,116),(14053,12,117),(15015,12,121),(15011,12,122),(15014,12,125),(15017,12,126),(13821,12,141),(13820,12,142),(13822,12,144),(13912,12,151),(13909,12,152),(13911,12,153),(13913,12,154),(14063,12,161),(14056,12,162),(14058,12,163),(14060,12,164),(14062,12,165),(14064,12,167),(13350,12,171),(13345,12,172),(13347,12,173),(13349,12,174),(13351,12,178),(13838,12,221),(13834,12,222),(13837,12,223),(13840,12,229),(13842,12,237),(13844,12,238),(13846,12,239),(13516,12,241),(13515,12,242),(13517,12,243),(14730,12,251),(14711,12,252),(14713,12,253),(14714,12,254),(14716,12,255),(14718,12,256),(15019,12,262),(15028,12,281),(15024,12,282),(15027,12,283),(15030,12,286),(14732,12,300),(14733,12,301),(14126,12,331),(14125,12,332),(14127,12,333),(14719,12,341),(14720,12,342),(14721,12,343),(14722,12,344),(14728,12,351),(14725,12,352),(14727,12,353),(14729,12,354),(14731,12,358),(13865,12,510),(13862,12,512),(13864,12,514),(13866,12,517),(14686,12,531),(14683,12,532),(14685,12,534),(14687,12,538),(13358,12,700),(14832,12,701),(14831,12,702),(14834,12,703),(15090,12,771),(15081,12,772),(15083,12,773),(15085,12,774),(15087,12,775),(15089,12,776),(15091,12,779),(14917,12,1001),(14916,12,1002),(14918,12,1003),(14920,12,1004),(14921,12,1005),(14945,12,1101),(14943,12,1102),(14944,12,1104),(14946,12,1109),(14762,12,1121),(14755,12,1122),(14757,12,1123),(14759,12,1124),(14761,12,1125),(14763,12,1126),(14982,12,1181),(15005,12,1182),(14985,12,1183),(14986,12,1184),(14988,12,1185),(14990,12,1186),(14992,12,1187),(14995,12,1188),(14993,12,1189),(13827,12,1201),(13828,12,1202),(15003,12,1231),(14998,12,1232),(14999,12,1233),(15001,12,1234),(15002,12,1235),(15004,12,1236),(15006,12,1237),(13829,12,1251),(14752,12,1321),(14957,12,1421),(15036,12,2401),(15035,12,2402),(15038,12,2403),(15044,12,2411),(15043,12,2412),(15046,12,2413),(15047,12,2414),(14591,12,2501),(14590,12,2503),(14592,12,2515),(14651,12,20001),(14641,12,20002),(14644,12,20003),(14647,12,20004),(14650,12,20005),(14653,12,20006),(14825,12,23001),(14822,12,23002),(14824,12,23003),(14826,12,23004),(13712,12,50101),(15052,12,55001),(15053,12,55002),(14128,12,59001),(14129,12,59002),(14130,12,59003),(14818,12,63001),(14815,12,63002),(14817,12,63003),(14819,12,63004),(12776,13,11),(12777,13,21),(12778,13,31),(12779,13,41),(12780,13,61),(12781,13,71),(12782,13,72),(12783,13,74),(12784,13,75),(12785,13,78),(12786,13,79),(12787,13,81),(12788,13,91),(12789,13,95),(12790,13,97),(12791,13,101),(12792,13,111),(12793,13,121),(12794,13,151),(12795,13,161),(12796,13,171),(12797,13,221),(12798,13,222),(12799,13,229),(12800,13,241),(12801,13,242),(12802,13,243),(12803,13,262),(12804,13,281),(12805,13,300),(12806,13,331),(12807,13,341),(12808,13,342),(12809,13,343),(12810,13,344),(12811,13,531),(12812,13,700),(12813,13,1001),(12814,13,1002),(12815,13,1003),(12816,13,1004),(12817,13,1005),(12818,13,1101),(12819,13,1181),(12820,13,1182),(12821,13,1201),(12822,13,1202),(12823,13,1231),(12824,13,2401),(12825,13,2501),(12826,13,2503),(12827,13,2515),(12828,13,20001),(12829,13,20002),(12830,13,23001),(12831,13,50101),(12832,14,11),(12833,14,21),(12834,14,31),(12835,14,41),(12836,14,61),(12837,14,71),(12838,14,72),(12839,14,74),(12840,14,75),(12841,14,78),(12842,14,79),(12843,14,81),(12844,14,91),(12845,14,95),(12846,14,97),(12847,14,101),(12848,14,111),(12849,14,121),(12850,14,151),(12851,14,161),(12852,14,171),(12853,14,221),(12854,14,222),(12855,14,229),(12856,14,241),(12857,14,242),(12858,14,243),(12859,14,262),(12860,14,281),(12861,14,300),(12862,14,331),(12863,14,341),(12864,14,342),(12865,14,343),(12866,14,344),(12867,14,531),(12868,14,700),(12869,14,1001),(12870,14,1002),(12871,14,1003),(12872,14,1004),(12873,14,1005),(12874,14,1101),(12875,14,1181),(12876,14,1182),(12877,14,1201),(12878,14,1202),(12879,14,1231),(12880,14,2401),(12881,14,2501),(12882,14,2503),(12883,14,2515),(12884,14,20001),(12885,14,20002),(12886,14,23001),(12887,14,50101),(12944,16,11),(12945,16,21),(12946,16,31),(13056,16,41),(13057,16,42),(13058,16,44),(13059,16,45),(12948,16,61),(12949,16,71),(12950,16,72),(12951,16,74),(12952,16,75),(12953,16,78),(12954,16,79),(12955,16,81),(12956,16,91),(12957,16,95),(12958,16,97),(12959,16,101),(12960,16,111),(12961,16,121),(13060,16,141),(13061,16,142),(13062,16,144),(12962,16,151),(12963,16,161),(12964,16,171),(12965,16,221),(12966,16,222),(12967,16,229),(12968,16,241),(12969,16,242),(12970,16,243),(13128,16,251),(13064,16,262),(12972,16,281),(12973,16,300),(12974,16,331),(12975,16,341),(12976,16,342),(12977,16,343),(12978,16,344),(12979,16,531),(12980,16,700),(12981,16,1001),(12982,16,1002),(12983,16,1003),(12984,16,1004),(12985,16,1005),(12986,16,1101),(12987,16,1181),(12988,16,1182),(12989,16,1201),(12990,16,1202),(12991,16,1231),(12992,16,2401),(12993,16,2501),(12994,16,2503),(12995,16,2515),(12996,16,20001),(12997,16,20002),(12998,16,23001),(12999,16,50101),(13000,17,11),(13001,17,21),(13002,17,31),(13065,17,41),(13066,17,42),(13067,17,44),(13068,17,45),(13004,17,61),(13005,17,71),(13006,17,72),(13007,17,74),(13008,17,75),(13009,17,78),(13010,17,79),(13011,17,81),(13012,17,91),(13013,17,95),(13014,17,97),(13015,17,101),(13016,17,111),(13017,17,121),(13069,17,141),(13070,17,142),(13071,17,144),(13018,17,151),(13019,17,161),(13020,17,171),(13021,17,221),(13022,17,222),(13023,17,229),(13024,17,241),(13025,17,242),(13026,17,243),(13028,17,281),(13029,17,300),(13030,17,331),(13031,17,341),(13032,17,342),(13033,17,343),(13034,17,344),(13035,17,531),(13036,17,700),(13037,17,1001),(13038,17,1002),(13039,17,1003),(13040,17,1004),(13041,17,1005),(13042,17,1101),(13043,17,1181),(13044,17,1182),(13045,17,1201),(13046,17,1202),(13047,17,1231),(13048,17,2401),(13049,17,2501),(13050,17,2503),(13051,17,2515),(13052,17,20001),(13053,17,20002),(13054,17,23001),(13055,17,50101),(14504,18,11),(14505,18,21),(14506,18,31),(14507,18,41),(14508,18,61),(14509,18,71),(14510,18,78),(14511,18,81),(14512,18,91),(14513,18,95),(14514,18,101),(14515,18,111),(14516,18,121),(14517,18,151),(14518,18,161),(14519,18,221),(14520,18,241),(14521,18,262),(14522,18,281),(14523,18,300),(14524,18,331),(14525,18,332),(14526,18,333),(14527,18,341),(14528,18,342),(14529,18,343),(14530,18,344),(14531,18,531),(14532,18,701),(14533,18,771),(14534,18,774),(14535,18,1001),(14536,18,1004),(14537,18,1101),(14538,18,1181),(14539,18,1182),(14540,18,1201),(14541,18,1231),(14542,18,2401),(14543,18,2501),(14544,18,2503),(14545,18,2515),(14546,18,20001),(14547,18,20002),(14548,18,50101),(14549,18,59001); /*!40000 ALTER TABLE `llx_user_rights` ENABLE KEYS */; UNLOCK TABLES; @@ -8573,4 +8573,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2016-07-30 21:12:54 +-- Dump completed on 2016-07-31 23:17:43 From 63220eae180f77da23f728ec8e5ccc787d3ab90e Mon Sep 17 00:00:00 2001 From: aspangaro Date: Mon, 1 Aug 2016 04:40:56 +0200 Subject: [PATCH 196/476] Presentation --- htdocs/societe/rib.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/htdocs/societe/rib.php b/htdocs/societe/rib.php index 436a979ab3f..ae119ef1f4d 100644 --- a/htdocs/societe/rib.php +++ b/htdocs/societe/rib.php @@ -247,7 +247,7 @@ if ($socid && $action != 'edit' && $action != "create") print '
'; print ''; - print ''; + print ''; print ''; print ''; @@ -424,7 +424,7 @@ if ($socid && $action == 'edit' && $user->rights->societe->creer) print '
'; print '
'.$langs->trans("LabelRIB").'
'.$langs->trans("LabelRIB").''.$account->label.'
'.$langs->trans("BankName").'
'; - print ''; + print ''; print ''; print ''; @@ -487,12 +487,12 @@ if ($socid && $action == 'edit' && $user->rights->societe->creer) if (empty($account->rum)) $account->rum = $prelevement->buildRumNumber($object->code_client, $account->datec, $account->id); // RUM - print ''; - print ''; + print ''; + print ''; // FRSTRECUR - print ''; - print ''; + print ''; + print ''; print '
'.$langs->trans("LabelRIB").'
'.$langs->trans("LabelRIB").'
'.$langs->trans("BankName").'
'.$langs->trans("RUM").''.$account->rum.'
'.$langs->trans("RUM").''.$account->rum.'
'.$langs->trans("WithdrawMode").'
'.$langs->trans("WithdrawMode").'
'; } From 30ec33f1522b8e3f891d23991805832942b65f68 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Mon, 1 Aug 2016 06:45:00 +0200 Subject: [PATCH 197/476] Missing key language --- htdocs/langs/en_US/main.lang | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index e0b21059d4e..372eb5a7df0 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -701,6 +701,7 @@ RelatedObjects=Related Objects ClassifyBilled=Classify billed Progress=Progress ClickHere=Click here +View=View # Week day Monday=Monday Tuesday=Tuesday From 26f98a2ab74d31e4a536af468e9b646844ba693f Mon Sep 17 00:00:00 2001 From: aspangaro Date: Mon, 1 Aug 2016 06:45:29 +0200 Subject: [PATCH 198/476] Presentation --- htdocs/expensereport/document.php | 4 ++-- htdocs/holiday/card.php | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/expensereport/document.php b/htdocs/expensereport/document.php index 249a85f4ef2..dd9a28a130c 100644 --- a/htdocs/expensereport/document.php +++ b/htdocs/expensereport/document.php @@ -81,7 +81,7 @@ include_once DOL_DOCUMENT_ROOT . '/core/actions_linkedfiles.inc.php'; $form = new Form($db); -llxHeader("","",$langs->trans("TripCard")); +llxHeader("",$langs->trans("ExpenseReport")); if ($object->id) @@ -107,7 +107,7 @@ if ($object->id) $linkback = ''.$langs->trans("BackToList").''; // Ref - print '
'.$langs->trans("Ref").''; + print '
'.$langs->trans("Ref").''; print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref', ''); print '
'.$langs->trans("User").''.$langs->trans("User").''; if (empty($user->rights->holiday->write_all)) { From 3cdb2d45c203d7c2babd4c49d01f6abfa30c9a12 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Mon, 1 Aug 2016 07:10:42 +0200 Subject: [PATCH 199/476] Uniformize presentation customer invoice --- htdocs/compta/facture.php | 6 +++--- htdocs/compta/facture/contact.php | 11 ++++------- htdocs/compta/facture/document.php | 11 ++++------- htdocs/compta/facture/info.php | 2 +- htdocs/compta/facture/note.php | 11 ++++------- htdocs/compta/facture/prelevement.php | 16 ++++++++-------- 6 files changed, 24 insertions(+), 33 deletions(-) diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php index 5af6240fa9e..d6d7e7f0ed8 100644 --- a/htdocs/compta/facture.php +++ b/htdocs/compta/facture.php @@ -1887,7 +1887,7 @@ if (! empty($conf->projet->enabled)) { $formproject = new FormProjets($db); } $now = dol_now(); -llxHeader('', $langs->trans('Bill'), 'EN:Customers_Invoices|FR:Factures_Clients|ES:Facturas_a_clientes'); +llxHeader('', $langs->trans('InvoiceCustomer'), 'EN:Customers_Invoices|FR:Factures_Clients|ES:Facturas_a_clientes'); // Mode creation @@ -2931,7 +2931,7 @@ else if ($id > 0 || ! empty($ref)) $linkback = '' . $langs->trans("BackToList") . ''; // Ref - print '
' . $langs->trans('Ref') . '
' . $langs->trans('Ref') . ''; $morehtmlright = ''; $discount = new DiscountAbsolute($db); @@ -2946,7 +2946,7 @@ else if ($id > 0 || ! empty($ref)) print '
'; + print '
'; print ''; diff --git a/htdocs/compta/facture/contact.php b/htdocs/compta/facture/contact.php index c5a7cfcdab2..a7fa51ff5ae 100644 --- a/htdocs/compta/facture/contact.php +++ b/htdocs/compta/facture/contact.php @@ -114,7 +114,7 @@ else if ($action == 'deletecontact' && $user->rights->facture->creer) * View */ -llxHeader('', $langs->trans("Bill"), "Facture"); +llxHeader('', $langs->trans("InvoiceCustomer")); $form = new Form($db); $formcompany = new FormCompany($db); @@ -146,7 +146,7 @@ if ($id > 0 || ! empty($ref)) $linkback = ''.$langs->trans("BackToList").''; // Ref - print ''; + print ''; print ''; // Ref customer - print ''; - print ''; diff --git a/htdocs/compta/facture/document.php b/htdocs/compta/facture/document.php index 9a2bf3fe433..b25d52c173b 100644 --- a/htdocs/compta/facture/document.php +++ b/htdocs/compta/facture/document.php @@ -82,7 +82,7 @@ include_once DOL_DOCUMENT_ROOT . '/core/actions_linkedfiles.inc.php'; * View */ -llxHeader(); +llxHeader('', $langs->trans("InvoiceCustomer")); $form = new Form($db); @@ -113,7 +113,7 @@ if ($id > 0 || ! empty($ref)) $linkback = ''.$langs->trans("BackToList").''; // Ref - print ''; + print ''; print ''; // Ref customer - print ''; - print ''; diff --git a/htdocs/compta/facture/info.php b/htdocs/compta/facture/info.php index 24164b5709a..250848319f3 100644 --- a/htdocs/compta/facture/info.php +++ b/htdocs/compta/facture/info.php @@ -35,7 +35,7 @@ $langs->load("bills"); * View */ -llxHeader(); +llxHeader('', $langs->trans("InvoiceCustomer")); $fac = new Facture($db); $fac->fetch($_GET["facid"]); diff --git a/htdocs/compta/facture/note.php b/htdocs/compta/facture/note.php index 3562a235963..77d3817d911 100644 --- a/htdocs/compta/facture/note.php +++ b/htdocs/compta/facture/note.php @@ -60,7 +60,7 @@ include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, * View */ -llxHeader(); +llxHeader('', $langs->trans("InvoiceCustomer")); $form = new Form($db); @@ -81,7 +81,7 @@ if ($id > 0 || ! empty($ref)) $linkback = ''.$langs->trans("BackToList").''; // Ref - print ''; + print ''; print ''; // Ref customer - print ''; - print ''; diff --git a/htdocs/compta/facture/prelevement.php b/htdocs/compta/facture/prelevement.php index 0fa260bbe34..6cdb53953d1 100644 --- a/htdocs/compta/facture/prelevement.php +++ b/htdocs/compta/facture/prelevement.php @@ -106,7 +106,7 @@ if ($action == "delete") $now=dol_now(); -llxHeader('', $langs->trans("Bill")); +llxHeader('', $langs->trans("InvoiceCustomer")); $form = new Form($db); @@ -155,7 +155,7 @@ if ($object->id > 0) $linkback = ''.$langs->trans("BackToList").''; // Ref - print '"; // Ref customer - print ''; - print ''; // Third party print ''; - print ''; print ''; // Type - print ''; // Discounts - print ''; print ''; - print ''; From 4ee4de4a0009a34fca9249f9896ed76cb7591c24 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Mon, 1 Aug 2016 07:21:24 +0200 Subject: [PATCH 200/476] Uniformize presentation supplier invoice --- htdocs/fourn/facture/card.php | 2 +- htdocs/fourn/facture/contact.php | 4 ++-- htdocs/fourn/facture/document.php | 6 +++--- htdocs/fourn/facture/info.php | 2 +- htdocs/fourn/facture/note.php | 5 ++--- 5 files changed, 9 insertions(+), 10 deletions(-) diff --git a/htdocs/fourn/facture/card.php b/htdocs/fourn/facture/card.php index 280664ea421..e1af265a0de 100644 --- a/htdocs/fourn/facture/card.php +++ b/htdocs/fourn/facture/card.php @@ -1656,7 +1656,7 @@ else $linkback = ''.$langs->trans("BackToList").''; // Ref - print ''; print "\n"; diff --git a/htdocs/fourn/facture/contact.php b/htdocs/fourn/facture/contact.php index 664101848a6..fbcb907ec74 100644 --- a/htdocs/fourn/facture/contact.php +++ b/htdocs/fourn/facture/contact.php @@ -112,7 +112,7 @@ else if ($action == 'deletecontact' && $user->rights->fournisseur->facture->cree * View */ -llxHeader('', $langs->trans("Bill"), "Facture"); +llxHeader('',$langs->trans('SupplierInvoice')); $form = new Form($db); $formcompany = new FormCompany($db); @@ -144,7 +144,7 @@ if ($id > 0 || ! empty($ref)) $linkback = ''.$langs->trans("BackToList").''; // Reference du facture - print '"; diff --git a/htdocs/fourn/facture/document.php b/htdocs/fourn/facture/document.php index 673d679b4b5..97e84d0cb6e 100644 --- a/htdocs/fourn/facture/document.php +++ b/htdocs/fourn/facture/document.php @@ -81,7 +81,7 @@ include_once DOL_DOCUMENT_ROOT . '/core/actions_linkedfiles.inc.php'; $form = new Form($db); -llxHeader(); +llxHeader('',$langs->trans('SupplierInvoice')); if ($object->id > 0) { @@ -110,7 +110,7 @@ if ($object->id > 0) $linkback = ''.$langs->trans("BackToList").''; // Ref - print ''; print "\n"; @@ -197,7 +197,7 @@ if ($object->id > 0) print '
'; print $langs->trans('RefCustomer'); print '
'.$langs->trans('Ref').'
'.$langs->trans('Ref').''; $morehtmlref=''; $discount=new DiscountAbsolute($db); @@ -163,13 +163,10 @@ if ($id > 0 || ! empty($ref)) print '
'; - print ''; - print '
'; + print '
'; print $langs->trans('RefCustomer'); print '
'; - print '
'; + print ''; print $object->ref_client; print '
'.$langs->trans('Ref').'
'.$langs->trans('Ref').''; $morehtmlref=''; $discount=new DiscountAbsolute($db); @@ -130,13 +130,10 @@ if ($id > 0 || ! empty($ref)) print '
'; - print ''; - print '
'; + print '
'; print $langs->trans('RefCustomer'); print '
'; - print '
'; + print ''; print $object->ref_client; print '
'.$langs->trans('Ref').'
'.$langs->trans('Ref').''; $morehtmlref=''; $discount=new DiscountAbsolute($db); @@ -98,13 +98,10 @@ if ($id > 0 || ! empty($ref)) print '
'; - print ''; - print '
'; + print '
'; print $langs->trans('RefCustomer'); print '
'; - print '
'; + print ''; print $object->ref_client; print '
'.$langs->trans("Ref").''; + print '
'.$langs->trans("Ref").''; $morehtmlref=''; $discount=new DiscountAbsolute($db); $result=$discount->fetch(0,$object->id); @@ -171,24 +171,24 @@ if ($object->id > 0) print "
'; + print '
'; print ''; print '
'; print $langs->trans('RefCustomer'); print '
'; print '
'; + print ''; print $object->ref_client; print '
'.$langs->trans('Company').''.$object->thirdparty->getNomUrl(1,'compta'); + print ''.$object->thirdparty->getNomUrl(1,'compta'); print '   ('.$langs->trans('OtherBills').')
'.$langs->trans('Type').''; + print '
'.$langs->trans('Type').''; print $object->getLibType(); if ($object->type == Facture::TYPE_REPLACEMENT) { @@ -229,7 +229,7 @@ if ($object->id > 0) print '
'.$langs->trans('Discounts').''; + print '
'.$langs->trans('Discounts').''; if ($object->thirdparty->remise_percent) print $langs->trans("CompanyHasRelativeDiscount",$object->thirdparty->remise_percent); else print $langs->trans("CompanyHasNoRelativeDiscount"); print '. '; @@ -443,7 +443,7 @@ if ($object->id > 0) print '
'.$langs->trans('Status').''.($object->getLibStatut(4,$totalpaye)).'
'.$langs->trans("RIB").''; + print '
'.$langs->trans("RIB").''; print $object->thirdparty->display_rib(); print '
'.$langs->trans("Ref").''; + print '
'.$langs->trans("Ref").''; print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref'); print '
'.$langs->trans("Ref").''; + print '
'.$langs->trans("Ref").''; print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref); print "
'.$langs->trans("Ref").''; + print '
'.$langs->trans("Ref").''; print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref'); print '
'; // Nb of files - print ''; + print ''; print ''; diff --git a/htdocs/fourn/facture/info.php b/htdocs/fourn/facture/info.php index 7033d555c0e..4dad6ea7f86 100644 --- a/htdocs/fourn/facture/info.php +++ b/htdocs/fourn/facture/info.php @@ -43,7 +43,7 @@ $result = restrictedArea($user, 'fournisseur', $id, 'facture_fourn', 'facture'); * View */ -llxHeader(); +llxHeader('',$langs->trans('SupplierInvoice')); $object = new FactureFournisseur($db); $object->fetch($id); diff --git a/htdocs/fourn/facture/note.php b/htdocs/fourn/facture/note.php index 3a4528d827e..1b8a4cd6bbc 100644 --- a/htdocs/fourn/facture/note.php +++ b/htdocs/fourn/facture/note.php @@ -67,7 +67,7 @@ if ($action == 'setlabel' && $user->rights->fournisseur->facture->creer) $form = new Form($db); -llxHeader(); +llxHeader('',$langs->trans('SupplierInvoice')); if ($object->id > 0) { @@ -83,7 +83,7 @@ if ($object->id > 0) $linkback = ''.$langs->trans("BackToList").''; // Ref - print ''; print "\n"; @@ -167,7 +167,6 @@ if ($object->id > 0) print '
'; - $colwidth=20; include DOL_DOCUMENT_ROOT.'/core/tpl/notes.tpl.php'; dol_fiche_end(); From 0b7a5a4af93bda0df9b4334cb0205ca299d7de6b Mon Sep 17 00:00:00 2001 From: aspangaro Date: Mon, 1 Aug 2016 07:34:55 +0200 Subject: [PATCH 201/476] Uniformize presentation donation --- htdocs/don/card.php | 8 ++++---- htdocs/don/document.php | 4 ++-- htdocs/don/info.php | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/htdocs/don/card.php b/htdocs/don/card.php index 8614220e8c0..b4939a0b61a 100644 --- a/htdocs/don/card.php +++ b/htdocs/don/card.php @@ -283,7 +283,7 @@ if ($action == 'builddoc') * View */ -llxHeader('',$langs->trans("Donations"),'EN:Module_Donations|FR:Module_Dons|ES:Módulo_Donaciones'); +llxHeader('',$langs->trans("Donation"),'EN:Module_Donations|FR:Module_Dons|ES:Módulo_Donaciones'); $form=new Form($db); $formfile = new FormFile($db); @@ -424,7 +424,7 @@ if (! empty($id) && $action == 'edit') print '
'.$langs->trans('NbOfAttachedFiles').''.count($filearray).'
'.$langs->trans('NbOfAttachedFiles').''.count($filearray).'
'.$langs->trans('TotalSizeOfAttachedFiles').''.$totalsize.' '.$langs->trans('bytes').'
'.$langs->trans("Ref").''; + print '
'.$langs->trans("Ref").''; print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref); print '
'; // Ref - print "".''; print ''; @@ -554,13 +554,13 @@ if (! empty($id) && $action != 'edit') if (! empty($conf->projet->enabled)) $nbrows++; // Ref - print "".''; print ''; // Date - print '"; diff --git a/htdocs/don/document.php b/htdocs/don/document.php index 706eb4b70f7..4992e5dbbc8 100644 --- a/htdocs/don/document.php +++ b/htdocs/don/document.php @@ -81,7 +81,7 @@ include_once DOL_DOCUMENT_ROOT . '/core/actions_linkedfiles.inc.php'; $form = new Form($db); -llxHeader("","",$langs->trans("Donations")); +llxHeader("",$langs->trans("Donation")); if ($object->id) @@ -107,7 +107,7 @@ if ($object->id) $linkback = ''.$langs->trans("BackToList").''; // Ref - print ''; diff --git a/htdocs/don/info.php b/htdocs/don/info.php index 1c51a1fa9f8..6e7bce98b4c 100644 --- a/htdocs/don/info.php +++ b/htdocs/don/info.php @@ -38,7 +38,7 @@ $result = restrictedArea($user, 'don', $id, ''); * View */ -llxHeader(); +llxHeader("",$langs->trans("Donation")); if ($id) { From 8ce5fcd9800098885952e44464cd0a8da26b9233 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Mon, 1 Aug 2016 07:40:05 +0200 Subject: [PATCH 202/476] Uniformize presentation salary payment --- htdocs/compta/salaries/card.php | 8 ++++---- htdocs/compta/salaries/document.php | 6 +++--- htdocs/compta/salaries/info.php | 4 +--- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/htdocs/compta/salaries/card.php b/htdocs/compta/salaries/card.php index 4a8dc21ca1b..f39fd0780ad 100644 --- a/htdocs/compta/salaries/card.php +++ b/htdocs/compta/salaries/card.php @@ -1,8 +1,8 @@ +/* Copyright (C) 2011-2016 Alexandre Spangaro * Copyright (C) 2014 Laurent Destailleur * Copyright (C) 2015 Jean-François Ferry - * Copyright (C) 2015 Charlie BENKE + * Copyright (C) 2015 Charlie BENKE * * 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 @@ -187,7 +187,7 @@ if ($action == 'delete') * View */ -llxHeader(); +llxHeader("",$langs->trans("SalaryPayment")); $form = new Form($db); @@ -339,7 +339,7 @@ if ($id) $linkback = ''.$langs->trans("BackToList").''; print ""; - print ''; diff --git a/htdocs/compta/salaries/document.php b/htdocs/compta/salaries/document.php index 7f0bf49dc6d..9e48533846a 100644 --- a/htdocs/compta/salaries/document.php +++ b/htdocs/compta/salaries/document.php @@ -6,7 +6,7 @@ * Copyright (C) 2005 Simon TOSSER * Copyright (C) 2011-2012 Juanjo Menent * Copyright (C) 2013 Cédric Salvador - * Copyright (C) 2015 Alexandre Spangaro + * Copyright (C) 2015-2016 Alexandre Spangaro * * 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 @@ -81,7 +81,7 @@ include_once DOL_DOCUMENT_ROOT . '/core/actions_linkedfiles.inc.php'; $form = new Form($db); -llxHeader("","",$langs->trans("SalaryPayment")); +llxHeader("",$langs->trans("SalaryPayment")); if ($object->id) @@ -107,7 +107,7 @@ if ($object->id) $linkback = ''.$langs->trans("BackToList").''; // Ref - print ''; diff --git a/htdocs/compta/salaries/info.php b/htdocs/compta/salaries/info.php index cbc0c1742ff..429efc27a33 100644 --- a/htdocs/compta/salaries/info.php +++ b/htdocs/compta/salaries/info.php @@ -44,9 +44,7 @@ $result = restrictedArea($user, 'salaries', '', '', ''); * View */ -$help_url='EN:Module_Salaries|FR:Module Fiche de paie|ES:Módulo Salarios'; -llxHeader("",$langs->trans("Salaries"),$help_url); - +llxHeader("",$langs->trans("SalaryPayment")); $salpayment = new PaymentSalary($db); $result = $salpayment->fetch($id); From ae8f64494dc1de6d2166959f4fe119a2fa02c66e Mon Sep 17 00:00:00 2001 From: BENKE Charlie Date: Mon, 1 Aug 2016 09:56:41 +0200 Subject: [PATCH 203/476] fix : extrafield required & defaut value disabled When type "separate" is selected, required & defaut value fields are disabled and we can't not enable it. --- htdocs/core/tpl/admin_extrafields_add.tpl.php | 31 ++++++++++--------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/htdocs/core/tpl/admin_extrafields_add.tpl.php b/htdocs/core/tpl/admin_extrafields_add.tpl.php index 25b86cdc0bf..5ef1444ec19 100644 --- a/htdocs/core/tpl/admin_extrafields_add.tpl.php +++ b/htdocs/core/tpl/admin_extrafields_add.tpl.php @@ -1,6 +1,7 @@ * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2016 Charlie Benke * * 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 @@ -48,22 +49,22 @@ } ?> - if (type == 'date') { size.val('').prop('disabled', true); unique.removeAttr('disabled'); jQuery("#value_choice").hide();jQuery("#helpchkbxlst").hide(); } - else if (type == 'datetime') { size.val('').prop('disabled', true); unique.removeAttr('disabled'); jQuery("#value_choice").hide(); jQuery("#helpchkbxlst").hide();} - else if (type == 'double') { size.val('24,8').removeAttr('disabled'); unique.removeAttr('disabled','disabled'); jQuery("#value_choice").hide(); jQuery("#helpchkbxlst").hide();} - else if (type == 'int') { size.val('10').removeAttr('disabled'); unique.removeAttr('disabled'); jQuery("#value_choice").hide(); jQuery("#helpchkbxlst").hide();} - else if (type == 'text') { size.val('2000').removeAttr('disabled'); unique.prop('disabled', true).removeAttr('checked'); jQuery("#value_choice").hide();jQuery("#helpchkbxlst").hide(); } - else if (type == 'varchar') { size.val('255').removeAttr('disabled'); unique.removeAttr('disabled','disabled'); jQuery("#value_choice").hide();jQuery("#helpchkbxlst").hide(); } - else if (type == 'boolean') { size.val('').prop('disabled', true); unique.prop('disabled', true); jQuery("#value_choice").hide();jQuery("#helpchkbxlst").hide();} - else if (type == 'price') { size.val('').prop('disabled', true); unique.prop('disabled', true); jQuery("#value_choice").hide();jQuery("#helpchkbxlst").hide();} - else if (type == 'select') { size.val('').prop('disabled', true); unique.prop('disabled', true); jQuery("#value_choice").show();jQuery("#helpselect").show();jQuery("#helpsellist").hide();jQuery("#helpchkbxlst").hide();jQuery("#helplink").hide();} - else if (type == 'link') { size.val('').prop('disabled', true); unique.prop('disabled', true); jQuery("#value_choice").show();jQuery("#helpselect").hide();jQuery("#helpsellist").hide();jQuery("#helpchkbxlst").hide();jQuery("#helplink").show();} - else if (type == 'sellist') { size.val('').prop('disabled', true); unique.prop('disabled', true); jQuery("#value_choice").show();jQuery("#helpselect").hide();jQuery("#helpsellist").show();jQuery("#helpchkbxlst").hide();jQuery("#helplink").hide();} - else if (type == 'radio') { size.val('').prop('disabled', true); unique.prop('disabled', true); jQuery("#value_choice").show();jQuery("#helpselect").show();jQuery("#helpsellist").hide();jQuery("#helpchkbxlst").hide();jQuery("#helplink").hide();} - else if (type == 'checkbox') { size.val('').prop('disabled', true); unique.prop('disabled', true); jQuery("#value_choice").show();jQuery("#helpselect").show();jQuery("#helpsellist").hide();jQuery("#helpchkbxlst").hide();jQuery("#helplink").hide();} - else if (type == 'chkbxlst') { size.val('').prop('disabled', true); unique.prop('disabled', true); jQuery("#value_choice").show();jQuery("#helpselect").hide();jQuery("#helpsellist").hide();jQuery("#helpchkbxlst").show();jQuery("#helplink").hide();} + if (type == 'date') { size.val('').prop('disabled', true); unique.removeAttr('disabled'); required.removeAttr('disabled');default_value.removeAttr('disabled');jQuery("#value_choice").hide();jQuery("#helpchkbxlst").hide(); } + else if (type == 'datetime') { size.val('').prop('disabled', true); unique.removeAttr('disabled'); required.removeAttr('disabled');default_value.removeAttr('disabled');jQuery("#value_choice").hide(); jQuery("#helpchkbxlst").hide();} + else if (type == 'double') { size.val('24,8').removeAttr('disabled'); unique.removeAttr('disabled'); required.removeAttr('disabled');default_value.removeAttr('disabled');jQuery("#value_choice").hide(); jQuery("#helpchkbxlst").hide();} + else if (type == 'int') { size.val('10').removeAttr('disabled'); unique.removeAttr('disabled'); required.removeAttr('disabled');default_value.removeAttr('disabled');jQuery("#value_choice").hide(); jQuery("#helpchkbxlst").hide();} + else if (type == 'text') { size.val('2000').removeAttr('disabled'); unique.prop('disabled', true).removeAttr('checked'); required.removeAttr('disabled');default_value.removeAttr('disabled');jQuery("#value_choice").hide();jQuery("#helpchkbxlst").hide(); } + else if (type == 'varchar') { size.val('255').removeAttr('disabled'); unique.removeAttr('disabled'); required.removeAttr('disabled');default_value.removeAttr('disabled');jQuery("#value_choice").hide();jQuery("#helpchkbxlst").hide(); } + else if (type == 'boolean') { size.val('').prop('disabled', true); unique.prop('disabled', true); required.removeAttr('disabled');default_value.removeAttr('disabled');jQuery("#value_choice").hide();jQuery("#helpchkbxlst").hide();} + else if (type == 'price') { size.val('').prop('disabled', true); unique.prop('disabled', true); required.removeAttr('disabled');default_value.removeAttr('disabled');jQuery("#value_choice").hide();jQuery("#helpchkbxlst").hide();} + else if (type == 'select') { size.val('').prop('disabled', true); unique.prop('disabled', true); required.removeAttr('disabled');default_value.removeAttr('disabled');jQuery("#value_choice").show();jQuery("#helpselect").show();jQuery("#helpsellist").hide();jQuery("#helpchkbxlst").hide();jQuery("#helplink").hide();} + else if (type == 'link') { size.val('').prop('disabled', true); unique.prop('disabled', true); required.removeAttr('disabled');default_value.removeAttr('disabled');jQuery("#value_choice").show();jQuery("#helpselect").hide();jQuery("#helpsellist").hide();jQuery("#helpchkbxlst").hide();jQuery("#helplink").show();} + else if (type == 'sellist') { size.val('').prop('disabled', true); unique.prop('disabled', true); required.removeAttr('disabled');default_value.removeAttr('disabled');jQuery("#value_choice").show();jQuery("#helpselect").hide();jQuery("#helpsellist").show();jQuery("#helpchkbxlst").hide();jQuery("#helplink").hide();} + else if (type == 'radio') { size.val('').prop('disabled', true); unique.prop('disabled', true); required.removeAttr('disabled');default_value.removeAttr('disabled');jQuery("#value_choice").show();jQuery("#helpselect").show();jQuery("#helpsellist").hide();jQuery("#helpchkbxlst").hide();jQuery("#helplink").hide();} + else if (type == 'checkbox') { size.val('').prop('disabled', true); unique.prop('disabled', true); required.removeAttr('disabled');default_value.removeAttr('disabled');jQuery("#value_choice").show();jQuery("#helpselect").show();jQuery("#helpsellist").hide();jQuery("#helpchkbxlst").hide();jQuery("#helplink").hide();} + else if (type == 'chkbxlst') { size.val('').prop('disabled', true); unique.prop('disabled', true); required.removeAttr('disabled');default_value.removeAttr('disabled');jQuery("#value_choice").show();jQuery("#helpselect").hide();jQuery("#helpsellist").hide();jQuery("#helpchkbxlst").show();jQuery("#helplink").hide();} else if (type == 'separate') { size.val('').prop('disabled', true); unique.prop('disabled', true); required.val('').prop('disabled', true); default_value.val('').prop('disabled', true); jQuery("#value_choice").hide();jQuery("#helpselect").hide();jQuery("#helpsellist").hide();jQuery("#helpchkbxlst").hide();jQuery("#helplink").hide();} - else size.val('').prop('disabled', true); + else {size.val('').prop('disabled', true);required.removeAttr('disabled');default_value.removeAttr('disabled');} } init_typeoffields(''); jQuery("#type").change(function() { From fb2444c7a35e4c495b4354a5c1e02a3357a3c0b0 Mon Sep 17 00:00:00 2001 From: Ferran Marcet Date: Mon, 1 Aug 2016 10:20:10 +0200 Subject: [PATCH 204/476] Fix: Can't set PRODUIT_LIMIT_SIZE to value 0 --- htdocs/product/admin/product.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/htdocs/product/admin/product.php b/htdocs/product/admin/product.php index b8c07df87a5..c2069bea15f 100644 --- a/htdocs/product/admin/product.php +++ b/htdocs/product/admin/product.php @@ -7,6 +7,7 @@ * Copyright (C) 2011-2012 Juanjo Menent * Copyright (C) 2012 Christophe Battarel * Copyright (C) 2012 Cedric Salvador + * Copyright (C) 2016 Ferran Marcet * * 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 @@ -108,7 +109,7 @@ if ($action == 'setModuleOptions') } } -if ($action == 'other' && GETPOST('value_PRODUIT_LIMIT_SIZE') > 0) +if ($action == 'other' && GETPOST('value_PRODUIT_LIMIT_SIZE') >= 0) { $res = dolibarr_set_const($db, "PRODUIT_LIMIT_SIZE", GETPOST('value_PRODUIT_LIMIT_SIZE'),'chaine',0,'',$conf->entity); } From e0c232548e2d96475acecae035614ec956d96517 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 1 Aug 2016 10:55:41 +0200 Subject: [PATCH 205/476] Fix theme crazy after migration --- htdocs/install/mysql/migration/3.9.0-4.0.0.sql | 2 ++ 1 file changed, 2 insertions(+) diff --git a/htdocs/install/mysql/migration/3.9.0-4.0.0.sql b/htdocs/install/mysql/migration/3.9.0-4.0.0.sql index f58dda0a74f..6afc871f668 100644 --- a/htdocs/install/mysql/migration/3.9.0-4.0.0.sql +++ b/htdocs/install/mysql/migration/3.9.0-4.0.0.sql @@ -42,6 +42,8 @@ ALTER TABLE llx_expedition ADD COLUMN billed smallint DEFAULT 0; insert into llx_c_type_contact(rowid, element, source, code, libelle, active ) values (150, 'dolresource','internal', 'USERINCHARGE', 'In charge of resource', 1); insert into llx_c_type_contact(rowid, element, source, code, libelle, active ) values (151, 'dolresource','external', 'THIRDINCHARGE', 'In charge of resource', 1); +DELETE FROM llx_user_param where param = 'MAIN_THEME' and value in ('auguria', 'amarok', 'cameleo'); + -- DROP TABLE llx_product_lot; CREATE TABLE llx_product_lot ( rowid integer AUTO_INCREMENT PRIMARY KEY, From edbd92ee3e26cfe16326fbe036de252de54bd553 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 1 Aug 2016 11:16:22 +0200 Subject: [PATCH 206/476] NEW Option SUPPLIER_ORDER_SHOW_FIRST_SALES_REP shows name of buyer on PO --- .../supplier_order/pdf/pdf_muscadet.modules.php | 13 +++++++++++++ htdocs/langs/en_US/suppliers.lang | 1 + 2 files changed, 14 insertions(+) diff --git a/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php b/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php index a0ebe2e9d9f..24ab3583363 100644 --- a/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php +++ b/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php @@ -1104,6 +1104,19 @@ class pdf_muscadet extends ModelePDFSuppliersOrders $pdf->MultiCell(100, 3, $outputlangs->transnoentities("SupplierCode")." : " . $outputlangs->transnoentities($object->thirdparty->code_fournisseur), '', 'R'); } + // Get contact + if (!empty($conf->global->SUPPLIER_ORDER_SHOW_FIRST_SALES_REP)) + { + $arrayidcontact=$object->getIdContact('internal','SALESREPFOLL'); + if (count($arrayidcontact) > 0) + { + $usertmp=new User($this->db); + $usertmp->fetch($arrayidcontact[0]); + $pdf->SetTextColor(0,0,60); + $pdf->MultiCell(190, 3, $langs->trans("BuyerName")." : ".$usertmp->getFullName($langs), '', 'R'); + } + } + $posy+=1; $pdf->SetTextColor(0,0,60); diff --git a/htdocs/langs/en_US/suppliers.lang b/htdocs/langs/en_US/suppliers.lang index 10b4a5e60c8..abacb3d7660 100644 --- a/htdocs/langs/en_US/suppliers.lang +++ b/htdocs/langs/en_US/suppliers.lang @@ -41,3 +41,4 @@ SupplierReputation=Supplier reputation DoNotOrderThisProductToThisSupplier=Do not order NotTheGoodQualitySupplier=Wrong quality ReputationForThisProduct=Reputation +BuyerName=Buyer name From 9a0494bd640407995ba010707a165a55593a8d08 Mon Sep 17 00:00:00 2001 From: BENKE Charlie Date: Wed, 27 Jul 2016 22:24:48 +0200 Subject: [PATCH 207/476] Update bonprelevement.class.php --- htdocs/compta/prelevement/class/bonprelevement.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/compta/prelevement/class/bonprelevement.class.php b/htdocs/compta/prelevement/class/bonprelevement.class.php index 0a933c64275..9a569a46f7c 100644 --- a/htdocs/compta/prelevement/class/bonprelevement.class.php +++ b/htdocs/compta/prelevement/class/bonprelevement.class.php @@ -919,7 +919,7 @@ class BonPrelevement extends CommonObject $dir=$conf->prelevement->dir_output.'/receipts'; if (! is_dir($dir)) dol_mkdir($dir); - $this->filename = $dir.$ref.'.xml'; + $this->filename = $dir.'/'.$ref.'.xml'; // Create withdraw receipt in database $sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_bons ("; From 49258db58d5f423064295e67ae52cf36370f986c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 1 Aug 2016 14:20:41 +0200 Subject: [PATCH 208/476] NEW Option DOC_SHOW_FIRST_SALES_REP shows name of buyer or saler on PDF. --- .../commande/doc/pdf_einstein.modules.php | 13 +++++++++++++ .../modules/facture/doc/pdf_crabe.modules.php | 13 +++++++++++++ .../modules/propale/doc/pdf_azur.modules.php | 13 +++++++++++++ .../supplier_order/pdf/pdf_muscadet.modules.php | 2 +- .../doc/pdf_aurore.modules.php | 17 +++++++++++++++-- 5 files changed, 55 insertions(+), 3 deletions(-) diff --git a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php index 9cde59181af..2f7f1e81f1e 100644 --- a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php @@ -1253,6 +1253,19 @@ class pdf_einstein extends ModelePDFCommandes $pdf->SetTextColor(0,0,60); $pdf->MultiCell(100, 3, $outputlangs->transnoentities("OrderDate")." : " . dol_print_date($object->date,"%d %b %Y",false,$outputlangs,true), '', 'R'); + // Get contact + if (!empty($conf->global->DOC_SHOW_FIRST_SALES_REP)) + { + $arrayidcontact=$object->getIdContact('internal','SALESREPFOLL'); + if (count($arrayidcontact) > 0) + { + $usertmp=new User($this->db); + $usertmp->fetch($arrayidcontact[0]); + $pdf->SetTextColor(0,0,60); + $pdf->MultiCell(190, 3, $langs->trans("SalesRepresentative")." : ".$usertmp->getFullName($langs), '', 'R'); + } + } + $posy+=2; // Show list of linked objects diff --git a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php index c86699cded9..268b3a95505 100644 --- a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php +++ b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php @@ -1557,6 +1557,19 @@ class pdf_crabe extends ModelePDFFactures $pdf->MultiCell($w, 3, $outputlangs->transnoentities("CustomerCode")." : " . $outputlangs->transnoentities($object->thirdparty->code_client), '', 'R'); } + // Get contact + if (!empty($conf->global->DOC_SHOW_FIRST_SALES_REP)) + { + $arrayidcontact=$object->getIdContact('internal','SALESREPFOLL'); + if (count($arrayidcontact) > 0) + { + $usertmp=new User($this->db); + $usertmp->fetch($arrayidcontact[0]); + $pdf->SetTextColor(0,0,60); + $pdf->MultiCell(190, 3, $langs->trans("SalesRepresentative")." : ".$usertmp->getFullName($langs), '', 'R'); + } + } + $posy+=1; // Show list of linked objects diff --git a/htdocs/core/modules/propale/doc/pdf_azur.modules.php b/htdocs/core/modules/propale/doc/pdf_azur.modules.php index d1f8a4e8f20..16d318e58dc 100644 --- a/htdocs/core/modules/propale/doc/pdf_azur.modules.php +++ b/htdocs/core/modules/propale/doc/pdf_azur.modules.php @@ -1453,6 +1453,19 @@ class pdf_azur extends ModelePDFPropales $pdf->MultiCell(100, 3, $outputlangs->transnoentities("CustomerCode")." : " . $outputlangs->transnoentities($object->thirdparty->code_client), '', 'R'); } + // Get contact + if (!empty($conf->global->DOC_SHOW_FIRST_SALES_REP)) + { + $arrayidcontact=$object->getIdContact('internal','SALESREPFOLL'); + if (count($arrayidcontact) > 0) + { + $usertmp=new User($this->db); + $usertmp->fetch($arrayidcontact[0]); + $pdf->SetTextColor(0,0,60); + $pdf->MultiCell(190, 3, $langs->trans("SalesRepresentative")." : ".$usertmp->getFullName($langs), '', 'R'); + } + } + $posy+=2; // Show list of linked objects diff --git a/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php b/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php index 24ab3583363..411c2325e2e 100644 --- a/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php +++ b/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php @@ -1105,7 +1105,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders } // Get contact - if (!empty($conf->global->SUPPLIER_ORDER_SHOW_FIRST_SALES_REP)) + if (!empty($conf->global->DOC_SHOW_FIRST_SALES_REP)) { $arrayidcontact=$object->getIdContact('internal','SALESREPFOLL'); if (count($arrayidcontact) > 0) diff --git a/htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php b/htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php index 2a6a442582c..d2eaa6d60a9 100644 --- a/htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php +++ b/htdocs/core/modules/supplier_proposal/doc/pdf_aurore.modules.php @@ -1271,14 +1271,27 @@ class pdf_aurore extends ModelePDFSupplierProposal $pdf->MultiCell(100, 3, $outputlangs->transnoentities("SupplierProposalDate")." : " . dol_print_date($object->date_livraison,"day",false,$outputlangs,true), '', 'R'); */ - if ($object->thirdparty->code_client) + if ($object->thirdparty->code_fournisseur) { $posy+=4; $pdf->SetXY($posx,$posy); $pdf->SetTextColor(0,0,60); - $pdf->MultiCell(100, 3, $outputlangs->transnoentities("CustomerCode")." : " . $outputlangs->transnoentities($object->thirdparty->code_client), '', 'R'); + $pdf->MultiCell(100, 3, $outputlangs->transnoentities("SupplierCode")." : " . $outputlangs->transnoentities($object->thirdparty->code_fournisseur), '', 'R'); } + // Get contact + if (!empty($conf->global->DOC_SHOW_FIRST_SALES_REP)) + { + $arrayidcontact=$object->getIdContact('internal','SALESREPFOLL'); + if (count($arrayidcontact) > 0) + { + $usertmp=new User($this->db); + $usertmp->fetch($arrayidcontact[0]); + $pdf->SetTextColor(0,0,60); + $pdf->MultiCell(190, 3, $langs->trans("BuyerName")." : ".$usertmp->getFullName($langs), '', 'R'); + } + } + $posy+=2; // Show list of linked objects From 58c18f438c1e7bd7d142836e4f686a1957709384 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 1 Aug 2016 15:02:23 +0200 Subject: [PATCH 209/476] Move changelog at correct place --- ChangeLog | 124 +++++++++++++++++++++++++++--------------------------- 1 file changed, 62 insertions(+), 62 deletions(-) diff --git a/ChangeLog b/ChangeLog index 80aed11ab63..d3274e1048d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -11,67 +11,6 @@ during migration. Upgrading to any other version or any other database system is abolutely required BEFORE trying make a Dolibarr upgrade. -***** ChangeLog for 3.8.5 compared to 3.8.4 ***** -FIX: #3815 Call to undefined function local_by_date(). -FIX: #4424 Missing email of user popup in supplier orders area -FIX: #4442 Missing translation in Banks menu -FIX: #4448 $filebonprev is not used, $this->filename now -FIX: #4455 -FIX: #4737 Bank transacion type selector translation is cropped -FIX: #4742 Able to delete a supplier invoice with a registered payment -FIX: #4743 UI glitch in project summary page -FIX: #4747 Missing UI background when registering a supplier invoice payment -FIX: #4748 Supplier invoice payment confirmation amount is not translated -FIX: #4749 -FIX: #4756 -FIX: #4766 VAT not shown in supplier invoice popup -FIX: #4809 - Duplicate functions with different content -FIX: #4851 Project selector in supplier invoices shows the project label twice -FIX: #4870 -FIX: #5008 SQL error when editing the reference of a supplier invoice that already exists -FIX: #5048 Product supplier list display only one produc -FIX: #5170 tva sign with INVOICE_POSITIVE_CREDIT_NOTE option -FIX: #5203 -FIX: #5207 -FIX: #5338 use of not initialized var $aphour, $apmin, etc -FIX: #5380 -FIX: #5383 bad object id on don delete -FIX: #5474 Country_id of "Don" object is still empty -FIX: Accountancy - 3.8 - Chart of accounts are limited on only one country -FIX: Bad include and param for project numbering module call -FIX: Box disabled because bugged -FIX: bug on email template -FIX: Can correct stock of lot using eatby or sell by date -FIX: Can make a movement on "out of sell" products -FIX: Can't create thirdparty or validate invoice if profid is mandatory and profid does not exists for other countries -FIX: can't fetch by siret or siren because of first "if" -FIX: Check stock of product by warehouse if $entrepot_id defined on shippings -FIX: correct display of minimum buying price -FIX: Creation of thumb image for size "small" was not done. -FIX: Direction of movement lost if an error occurs -FIX: dont retrieve new buying price on margin display -FIX: Duplicate records into export -FIX: Email templates not compatible with Multicompany -FIX: end of select when no fournprice -FIX: finished parameters not used -FIX: hook on group card called but not initialized -FIX: It doesn't check if there is enough stock to update the lines of orders/invoices -FIX: large expense note -FIX: missing column when module was installed before standard integration -FIX: Missing database escaping on supplier price insert/update -FIX: Not filtering correctly when come from dashboard -FIX: PROPAL_MERGE_PDF with PRODUCT_USE_OLD_PATH -FIX: real min buying price -FIX: receiving link never works -FIX: same page added several times on mergepropal option -FIX: search on date into supplier invoice list dont work because of status -1 -FIX: Search supplier ref on contract -FIX: SQL error function on getAvailableDiscounts function, on bill create mode if socid is empty -FIX: systematic rounding causes prices to be updated without reason -FIX: task ODT company object not correctly retrieved -FIX: Template email must take care of positino column -FIX: VAT rate can be negative. Example spain selling to morroco. - ***** ChangeLog for 3.9.3 compared to 3.9.2 ***** FIX: #4383 $userid not defined FIX: #4448 $filebonprev is not used, $this->filename now @@ -371,7 +310,68 @@ This is list of hooks modified: - Remove deprecated Product::hidden property - + +***** ChangeLog for 3.8.5 compared to 3.8.4 ***** +FIX: #3815 Call to undefined function local_by_date(). +FIX: #4424 Missing email of user popup in supplier orders area +FIX: #4442 Missing translation in Banks menu +FIX: #4448 $filebonprev is not used, $this->filename now +FIX: #4455 +FIX: #4737 Bank transacion type selector translation is cropped +FIX: #4742 Able to delete a supplier invoice with a registered payment +FIX: #4743 UI glitch in project summary page +FIX: #4747 Missing UI background when registering a supplier invoice payment +FIX: #4748 Supplier invoice payment confirmation amount is not translated +FIX: #4749 +FIX: #4756 +FIX: #4766 VAT not shown in supplier invoice popup +FIX: #4809 - Duplicate functions with different content +FIX: #4851 Project selector in supplier invoices shows the project label twice +FIX: #4870 +FIX: #5008 SQL error when editing the reference of a supplier invoice that already exists +FIX: #5048 Product supplier list display only one produc +FIX: #5170 tva sign with INVOICE_POSITIVE_CREDIT_NOTE option +FIX: #5203 +FIX: #5207 +FIX: #5338 use of not initialized var $aphour, $apmin, etc +FIX: #5380 +FIX: #5383 bad object id on don delete +FIX: #5474 Country_id of "Don" object is still empty +FIX: Accountancy - 3.8 - Chart of accounts are limited on only one country +FIX: Bad include and param for project numbering module call +FIX: Box disabled because bugged +FIX: bug on email template +FIX: Can correct stock of lot using eatby or sell by date +FIX: Can make a movement on "out of sell" products +FIX: Can't create thirdparty or validate invoice if profid is mandatory and profid does not exists for other countries +FIX: can't fetch by siret or siren because of first "if" +FIX: Check stock of product by warehouse if $entrepot_id defined on shippings +FIX: correct display of minimum buying price +FIX: Creation of thumb image for size "small" was not done. +FIX: Direction of movement lost if an error occurs +FIX: dont retrieve new buying price on margin display +FIX: Duplicate records into export +FIX: Email templates not compatible with Multicompany +FIX: end of select when no fournprice +FIX: finished parameters not used +FIX: hook on group card called but not initialized +FIX: It doesn't check if there is enough stock to update the lines of orders/invoices +FIX: large expense note +FIX: missing column when module was installed before standard integration +FIX: Missing database escaping on supplier price insert/update +FIX: Not filtering correctly when come from dashboard +FIX: PROPAL_MERGE_PDF with PRODUCT_USE_OLD_PATH +FIX: real min buying price +FIX: receiving link never works +FIX: same page added several times on mergepropal option +FIX: search on date into supplier invoice list dont work because of status -1 +FIX: Search supplier ref on contract +FIX: SQL error function on getAvailableDiscounts function, on bill create mode if socid is empty +FIX: systematic rounding causes prices to be updated without reason +FIX: task ODT company object not correctly retrieved +FIX: Template email must take care of positino column +FIX: VAT rate can be negative. Example spain selling to morroco. + ***** ChangeLog for 3.8.4 compared to 3.8.3 ***** FIX: #3694 FIX: #3798 #2519 Cron jobs would never be executed From 4410057106f9f57e9075d7a231373a46df8cae89 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 1 Aug 2016 15:18:52 +0200 Subject: [PATCH 210/476] Fix typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cb5f7e61c70..28e06f8fa2b 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ![Build status](https://img.shields.io/travis/Dolibarr/dolibarr/develop.svg) ![Downloads per day](https://img.shields.io/sourceforge/dm/dolibarr.svg) -Dolibarr ERP & CRM is a modern software to manage your organization's activity (contacts, suppliers, invoices, orders, stocks, agenda, ...). +Dolibarr ERP & CRM is a modern software package to manage your organization's activity (contacts, suppliers, invoices, orders, stocks, agenda, ...). It's an Open Source software (wrote in PHP language) designed for small, medium or large companies, foundations and freelances. From 1e90d0a54c207574d35f5e53cff5bd611f4a00f4 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 1 Aug 2016 15:22:48 +0200 Subject: [PATCH 211/476] Fix path using https --- README-FR.md | 8 ++++---- README.md | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/README-FR.md b/README-FR.md index b3ce951c975..55065d5d15f 100644 --- a/README-FR.md +++ b/README-FR.md @@ -3,7 +3,7 @@ Dolibarr ERP & CRM est un logiciel moderne pour gérer votre activité (société, association, auto-entrepreneurs, artisans). Il est simple d'utilisation et modulaire, vous permettant de n'activez que les fonctions dont vous avez besoin (contacts, fournisseurs, factures, commandes, stocks, agenda, ...). -![ScreenShot](http://www.dolibarr.org/images/dolibarr_screenshot1_640x480.png) +![ScreenShot](https://www.dolibarr.org/images/dolibarr_screenshot1_640x480.png) @@ -23,7 +23,7 @@ Ubuntu) ou DoliRpm (la version tout-en-un de Dolibarr pour Fedora, Redhat, OpenSuse, Mandriva ou Mageia). Vous pouvez les télécharger depuis la rubrique *download* du portail officiel: -http://www.dolibarr.org/ +https://www.dolibarr.org/ Si vous avez déjà installé un serveur Web avec PHP et une base de donnée (Mysql), vous pouvez installer Dolibarr avec cette version de la manière suivante: @@ -139,13 +139,13 @@ Suivez le projet Dolibarr project sur les réseaux francophones - Facebook: - Google+: -- Twitter: +- Twitter: ou sur les réseaux anglophones - [Facebook](https://www.facebook.com/dolibarr) - [Google+](https://plus.google.com/+DolibarrOrg) -- [Twitter](http://www.twitter.com/dolibarr) +- [Twitter](https://www.twitter.com/dolibarr) - [LinkedIn](https://www.linkedin.com/company/association-dolibarr) - [YouTube](https://www.youtube.com/user/DolibarrERPCRM) - [GitHub](https://github.com/Dolibarr/dolibarr) diff --git a/README.md b/README.md index 28e06f8fa2b..3eb0941568a 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ You can freely use, study, modify or distribute it according to its Free Softwar You can use it as a standalone application or as a web application to be able to access it from the Internet or a LAN. -![ScreenShot](http://www.dolibarr.org/images/dolibarr_screenshot1_640x400.png) +![ScreenShot](https://www.dolibarr.org/images/dolibarr_screenshot1_640x400.png) ## LICENSE @@ -24,7 +24,7 @@ Other licenses apply for some included dependencies. See [COPYRIGHT](https://git ### Download -Releases can be downloaded from [official website](http://www.dolibarr.org/). +Releases can be downloaded from [official website](https://www.dolibarr.org/). ### Simple setup @@ -133,7 +133,7 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog) ### Extending -Dolibarr can be extended with a lot of other external modules from third party developers available at the [DoliStore](http://www.dolistore.com). +Dolibarr can be extended with a lot of other external modules from third party developers available at the [DoliStore](https://www.dolistore.com). ## FUTURE @@ -165,7 +165,7 @@ Follow Dolibarr project on: - [Facebook](https://www.facebook.com/dolibarr) - [Google+](https://plus.google.com/+DolibarrOrg) -- [Twitter](http://www.twitter.com/dolibarr) +- [Twitter](https://www.twitter.com/dolibarr) - [LinkedIn](https://www.linkedin.com/company/association-dolibarr) - [YouTube](https://www.youtube.com/user/DolibarrERPCRM) - [GitHub](https://github.com/Dolibarr/dolibarr) From 7dec327995d98ba151b9c0153713bcdcd9aea3a3 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 1 Aug 2016 15:43:40 +0200 Subject: [PATCH 212/476] FIX #5568 --- htdocs/install/pgsql/functions/functions.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/install/pgsql/functions/functions.sql b/htdocs/install/pgsql/functions/functions.sql index 3e976855bf0..81e2d20dd9d 100644 --- a/htdocs/install/pgsql/functions/functions.sql +++ b/htdocs/install/pgsql/functions/functions.sql @@ -95,7 +95,7 @@ CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_cronjob FOR EACH ROW CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_deplacement FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms(); CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_don FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms(); CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_don_extrafields FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms(); -CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_ecm_directories FOR EACH ROW EXECUTE PROCEDURE update_modified_column_date_u(); +CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_ecm_directories FOR EACH ROW EXECUTE PROCEDURE update_modified_column_date_m(); CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_element_resources FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms(); CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_entrepot FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms(); CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_events FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms(); From a02c539a82892a738770fc1c1a2448beef6c2e10 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 1 Aug 2016 15:53:51 +0200 Subject: [PATCH 213/476] FIX #5521 --- htdocs/core/js/timesheet.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/htdocs/core/js/timesheet.js b/htdocs/core/js/timesheet.js index da350162c1b..ea0e0782767 100644 --- a/htdocs/core/js/timesheet.js +++ b/htdocs/core/js/timesheet.js @@ -163,8 +163,11 @@ function updateTotal(days,mode) } } } - document.getElementById('totalDay['+days+']').innerHTML = pad(total.getHours())+':'+pad(total.getMinutes()); - //addText(,total.getHours()+':'+total.getMinutes()); + if (document.getElementById('totalDay['+days+']')) // May be null if no task records to output (nbline is also 0 in this case) + { + document.getElementById('totalDay['+days+']').innerHTML = pad(total.getHours())+':'+pad(total.getMinutes()); + //addText(,total.getHours()+':'+total.getMinutes()); + } } else { @@ -204,7 +207,10 @@ function updateTotal(days,mode) } } } - document.getElementById('totalDay['+days+']').innerHTML = total; + if (document.getElementById('totalDay['+days+']')) // May be null if no task records to output (nbline is also 0 in this case) + { + document.getElementById('totalDay['+days+']').innerHTML = total; + } } } From 5eda10e0ddcbc0fe9480e53958a093ae5469ddd9 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 1 Aug 2016 16:04:49 +0200 Subject: [PATCH 214/476] Fix link --- htdocs/commande/orderstoinvoice.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/commande/orderstoinvoice.php b/htdocs/commande/orderstoinvoice.php index 4bbb3def843..f9767c74695 100644 --- a/htdocs/commande/orderstoinvoice.php +++ b/htdocs/commande/orderstoinvoice.php @@ -665,7 +665,7 @@ if (($action != 'create' && $action != 'add') || ($action == 'create' && $error) print '
'.$langs->trans("Ref").''; + print '
'.$langs->trans("Ref").''; print $object->getNomUrl(); print '
'.$langs->trans("Ref").''; + print '
'.$langs->trans("Ref").''; print $form->showrefnav($object, 'rowid', $linkback, 1, 'rowid', 'ref', ''); print '
'.$langs->trans("Date").''; + print '
'.$langs->trans("Date").''; print dol_print_date($object->date,"day"); print "
'.$langs->trans("Ref").''; + print '
'.$langs->trans("Ref").''; print $form->showrefnav($object, 'id', $linkback, 1, 'rowid', 'ref', ''); print '
'.$langs->trans("Ref").''; + print ''.$langs->trans("Ref").''; print $form->showrefnav($object, 'id', $linkback, 1, 'rowid', 'ref', ''); print '
'.$langs->trans("Ref").''; + print '
'.$langs->trans("Ref").''; print $form->showrefnav($object, 'id', $linkback, 1, 'rowid', 'ref', ''); print '
'; print ''; print ''; // Show file size @@ -739,6 +742,8 @@ class FormFile $out.= img_mime($relativepath, $file["name"]); $out.= ''."\n"; + $out.= $this->showPreview($file,$modulepart,$relativepath); + $this->infofiles['nboffiles']++; $this->infofiles['files'][]=$file['fullname']; $ext=pathinfo($file["name"], PATHINFO_EXTENSION); @@ -859,6 +864,9 @@ class FormFile //print dol_trunc($file['name'],$maxlength,'middle'); print $file['name']; print ''; + + print $this->showPreview($file,$modulepart,$filepath); + print "\n"; print ''; print ''; @@ -1320,5 +1328,30 @@ class FormFile return $nboflinks; } + /** + * Show detail icon with link for preview + * @param array $file File + * @param string $modulepart propal, facture, facture_fourn, ... + * @param string $relativepath Relative path of docs + * @return string $out Output string with HTML + */ + public function showPreview($file, $modulepart, $relativepath){ + global $langs, $conf; + + if (empty($conf->use_javascript_ajax)) return ''; + + $out=''; + + $mime_preview = array('jpeg', 'png', 'gif', 'tiff', 'pdf', 'plain', 'css'); + $num_mime = array_search(dol_mimetype($file['name'], '', 1), $mime_preview); + + if( $num_mime!== false){ + $out.= ' '; + $out.= img_picto($langs->trans('Preview'), 'detail').''; + + return $out; + } + } + } diff --git a/htdocs/core/js/lib_head.js.php b/htdocs/core/js/lib_head.js.php index 0baea91412f..d64b05ccd8c 100644 --- a/htdocs/core/js/lib_head.js.php +++ b/htdocs/core/js/lib_head.js.php @@ -948,6 +948,65 @@ function copyToClipboard(text,text2) return false; } +/* + * Function show document preview + * @params string file File path + * @params string type mime file + * @params string title + */ +function document_preview(file, type, title){ + + var ValidImageTypes = ["image/gif", "image/jpeg", "image/png"]; + + if ($.inArray(type, ValidImageTypes) < 0) { + var width='85%'; + var object_width='100%'; + var height = $( window ).height()*0.90; + var object_height='98%'; + + show_preview(); + + } else { + var object_width=0; + var object_height=0; + + var img = new Image(); + + img.onload = function() { + object_width = this.width; + object_height = this.height; + + width = $( window ).width()*0.90; + if(object_width < width){ + width = object_width + 30 + } + height = $( window ).height()*0.85; + if(object_height < height){ + height = object_height + 80 + } + + show_preview(); + + }; + img.src = file; + + } + function show_preview(){ + + var newElem = ''; + + $("#dialogforpopup").html(newElem); + $("#dialogforpopup").dialog({ + closeOnEscape: true, + resizable: true, + width: width, + height: height, + modal: true, + title: title + }); + } +} + /* * Provide a function to get an URL GET parameter in javascript * From dd2e43754ef894aa04cce2fbc3b8f0e564c404bc Mon Sep 17 00:00:00 2001 From: aspangaro Date: Tue, 2 Aug 2016 06:02:01 +0200 Subject: [PATCH 220/476] Uniformize presentation in Thirdparty --- htdocs/margin/tabs/thirdpartyMargins.php | 5 ++++- htdocs/societe/note.php | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/htdocs/margin/tabs/thirdpartyMargins.php b/htdocs/margin/tabs/thirdpartyMargins.php index 29bdd16b21e..1d4d1f8f0ca 100644 --- a/htdocs/margin/tabs/thirdpartyMargins.php +++ b/htdocs/margin/tabs/thirdpartyMargins.php @@ -50,6 +50,7 @@ if (! $sortorder) $sortorder="DESC"; if (! $sortfield) $sortfield="f.datef"; $object = new Societe($db); +if ($socid > 0) $object->fetch($socid); // Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array $hookmanager->initHooks(array('thirdpartymargins','globalcard')); @@ -72,8 +73,10 @@ if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'e $invoicestatic=new Facture($db); $form = new Form($db); +$title=$langs->trans("ThirdParty").' - '.$langs->trans("Margins"); +if (! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/thirdpartynameonly/',$conf->global->MAIN_HTML_TITLE) && $object->name) $title=$object->name.' - '.$langs->trans("Files"); $help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas'; -llxHeader('',$langs->trans("ThirdParty").' - '.$langs->trans("Margins"),$help_url); +llxHeader('',$title,$help_url); if ($socid > 0) { diff --git a/htdocs/societe/note.php b/htdocs/societe/note.php index 156a4620634..5c9bc15328f 100644 --- a/htdocs/societe/note.php +++ b/htdocs/societe/note.php @@ -57,8 +57,10 @@ include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, $form = new Form($db); +$title=$langs->trans("ThirdParty").' - '.$langs->trans("Notes"); +if (! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/thirdpartynameonly/',$conf->global->MAIN_HTML_TITLE) && $object->name) $title=$object->name.' - '.$langs->trans("Files"); $help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas'; -llxHeader('',$langs->trans("ThirdParty").' - '.$langs->trans("Notes"),$help_url); +llxHeader('',$title,$help_url); if ($id > 0) { From f232ae9160c5804faca5c8768ecee45739d2a354 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Tue, 2 Aug 2016 07:47:15 +0200 Subject: [PATCH 221/476] Fix Expense report | VAT disable in Dolibarr, traduction of code_libelle & presentation --- htdocs/expensereport/card.php | 28 +++++++++++++++++----------- htdocs/expensereport/info.php | 2 +- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php index 25688bf6e6e..df2fe11bfbd 100644 --- a/htdocs/expensereport/card.php +++ b/htdocs/expensereport/card.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003 Rodolphe Quiedeville * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin - * Copyright (C) 2015 Alexandre Spangaro + * Copyright (C) 2015-2016 Alexandre Spangaro * * 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 @@ -831,6 +831,7 @@ if ($action == "addline" && $user->rights->expensereport->creer) $object_ligne = new ExpenseReportLine($db); + $vatrate = GETPOST('vatrate'); $object_ligne->comments = GETPOST('comments'); $qty = GETPOST('qty','int'); if (empty($qty)) $qty=1; @@ -843,10 +844,13 @@ if ($action == "addline" && $user->rights->expensereport->creer) $object_ligne->fk_c_type_fees = GETPOST('fk_c_type_fees'); - $object_ligne->fk_c_tva = GETPOST('fk_c_tva'); + // if VAT is not used in Dolibarr, set VAT rate to 0 because VAT rate is necessary. + if (empty($vatrate)) $vatrate = "0.000"; + $object_ligne->vatrate = price2num($vatrate); $object_ligne->fk_projet = $fk_projet; + if (! GETPOST('fk_c_type_fees') > 0) { @@ -854,10 +858,11 @@ if ($action == "addline" && $user->rights->expensereport->creer) setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Type")), null, 'errors'); $action=''; } - if (GETPOST('vatrate') < 0 || GETPOST('vatrate') == '') + + if ($vatrate < 0 || $vatrate == '') { $error++; - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Vat")), null, 'errors'); + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("VAT")), null, 'errors'); $action=''; } @@ -1096,7 +1101,7 @@ if ($action == 'create') print '
'; - print $generic_commande->getNomUrl(1,$objp->fk_statut); + print $generic_commande->getNomUrl(1,0); print ''; From a35dd9f2d1808172f5ca5ed3c5c3b1d853547f58 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 1 Aug 2016 19:37:17 +0200 Subject: [PATCH 215/476] Fix bad separation of address --- htdocs/core/lib/functions.lib.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 98fa39789f7..de31fe2d0b9 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -1045,7 +1045,7 @@ function dol_format_address($object,$withcountry=0,$sep="\n",$outputlangs='') else // Other: title firstname name \n address lines \n zip town \n country { $ret .= $object->zip ? (($ret ? $sep : '' ).$object->zip) : ''; - $ret .= ($object->town?(($object->zip?' ':$sep).$object->town):''); + $ret .= ($object->town?(($object->zip?' ':($ret ? $sep : '' )).$object->town):''); if ($object->state && in_array($object->country_code,$countriesusingstate)) { $ret.=($ret?", ":'').$object->state; From dfc38351ef0b1b3861e604bf5ad3a1281f6e36e7 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 1 Aug 2016 19:48:39 +0200 Subject: [PATCH 216/476] Fix $i not initialized --- htdocs/commande/class/api_commande.class.php | 1 + htdocs/compta/facture/class/api_invoice.class.php | 1 + htdocs/product/class/api_product.class.php | 2 ++ htdocs/societe/class/api_contact.class.php | 4 +++- htdocs/societe/class/api_thirdparty.class.php | 1 + 5 files changed, 8 insertions(+), 1 deletion(-) diff --git a/htdocs/commande/class/api_commande.class.php b/htdocs/commande/class/api_commande.class.php index d6a2a3d0f82..3a029bc0d00 100644 --- a/htdocs/commande/class/api_commande.class.php +++ b/htdocs/commande/class/api_commande.class.php @@ -160,6 +160,7 @@ class CommandeApi extends DolibarrApi if ($result) { + $i=0; $num = $db->num_rows($result); while ($i < $num) { diff --git a/htdocs/compta/facture/class/api_invoice.class.php b/htdocs/compta/facture/class/api_invoice.class.php index 60098a38b9f..c64b5db89fe 100644 --- a/htdocs/compta/facture/class/api_invoice.class.php +++ b/htdocs/compta/facture/class/api_invoice.class.php @@ -158,6 +158,7 @@ class InvoiceApi extends DolibarrApi $result = $db->query($sql); if ($result) { + $i=0; $num = $db->num_rows($result); while ($i < $num) { diff --git a/htdocs/product/class/api_product.class.php b/htdocs/product/class/api_product.class.php index ae4ed46d30e..bf022260965 100644 --- a/htdocs/product/class/api_product.class.php +++ b/htdocs/product/class/api_product.class.php @@ -147,6 +147,7 @@ class ProductApi extends DolibarrApi $result = $db->query($sql); if ($result) { + $i=0; $num = $db->num_rows($result); while ($i < $num) { @@ -232,6 +233,7 @@ class ProductApi extends DolibarrApi $result = $db->query($sql); if ($result) { + $i=0; $num = $db->num_rows($result); while ($i < $num) { diff --git a/htdocs/societe/class/api_contact.class.php b/htdocs/societe/class/api_contact.class.php index 5144c000b4d..884653e044d 100644 --- a/htdocs/societe/class/api_contact.class.php +++ b/htdocs/societe/class/api_contact.class.php @@ -114,6 +114,7 @@ class ContactApi extends DolibarrApi $socid = DolibarrApiAccess::$user->societe_id ? DolibarrApiAccess::$user->societe_id : ''; } + $search_sale = 0; // If the internal user must only see his customers, force searching by him if (!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) $search_sale = DolibarrApiAccess::$user->id; @@ -164,7 +165,8 @@ class ContactApi extends DolibarrApi $result = $db->query($sql); if ($result) { - $num = $db->num_rows($result); + $i = 0; + $num = $db->num_rows($result); while ($i < $num) { $obj = $db->fetch_object($result); diff --git a/htdocs/societe/class/api_thirdparty.class.php b/htdocs/societe/class/api_thirdparty.class.php index 507d95639e6..42a2c2f0c22 100644 --- a/htdocs/societe/class/api_thirdparty.class.php +++ b/htdocs/societe/class/api_thirdparty.class.php @@ -211,6 +211,7 @@ class ThirdpartyApi extends DolibarrApi $result = $db->query($sql); if ($result) { + $i = 0; $num = $db->num_rows($result); while ($i < $num) { From e335ce6f457b09ac162032e1a565fe632dfd4db2 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 1 Aug 2016 19:54:03 +0200 Subject: [PATCH 217/476] Fix bad var declared --- htdocs/core/class/dolgraph.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/class/dolgraph.class.php b/htdocs/core/class/dolgraph.class.php index a4ee48f256b..4fb973160d4 100644 --- a/htdocs/core/class/dolgraph.class.php +++ b/htdocs/core/class/dolgraph.class.php @@ -65,7 +65,7 @@ class DolGraph var $bgcolorgrid=array(255,255,255); // array(R,G,B) var $datacolor; // array(array(R,G,B),...) - private $_stringtoshow; // To store string to output graph into HTML page + private $stringtoshow; // To store string to output graph into HTML page /** From a353093ae7939a1d14e4d2fe98fbf519f9750e92 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 1 Aug 2016 20:18:31 +0200 Subject: [PATCH 218/476] NEW Phone formatting for Canada. Add dol_print_phone into phpunit tests --- htdocs/core/lib/functions.lib.php | 7 ++++++ test/phpunit/FunctionsLibTest.php | 36 +++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 3133be47d65..87c87804ee6 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -1625,6 +1625,13 @@ function dol_print_phone($phone,$countrycode='',$cid=0,$socid=0,$addlink='',$sep } } + if (strtoupper($countrycode) == "CA") + { + if (dol_strlen($phone) == 10) { + $newphone=($separ!=''?'(':'').substr($newphone,0,3).($separ!=''?')':'').$separ.substr($newphone,3,3).($separ!=''?'-':'').substr($newphone,6,4); + } + } + if (! empty($addlink)) // Link on phone number (+ link to add action if conf->global->AGENDA_ADDACTIONFORPHONE set) { if (! empty($conf->browser->phone) || (! empty($conf->clicktodial->enabled) && ! empty($conf->global->CLICKTODIAL_USE_TEL_LINK_ON_PHONE_NUMBERS))) // If phone or option for, we use link of phone diff --git a/test/phpunit/FunctionsLibTest.php b/test/phpunit/FunctionsLibTest.php index 4c76ba47770..ee7288e2928 100644 --- a/test/phpunit/FunctionsLibTest.php +++ b/test/phpunit/FunctionsLibTest.php @@ -624,6 +624,42 @@ class FunctionsLibTest extends PHPUnit_Framework_TestCase $this->assertEquals("21 jump street\nMyTown, MyState, 99999",$address); } + + /** + * testDolFormatAddress + * + * @return void + */ + public function testDolPrintPhone() + { + global $conf,$user,$langs,$db; + $conf=$this->savconf; + $user=$this->savuser; + $langs=$this->savlangs; + $db=$this->savdb; + + $object=new Societe($db); + $object->initAsSpecimen(); + + $object->country_code='FR'; + $phone=dol_print_phone('1234567890', $object->country_code); + $this->assertEquals('12 34 56 78 90', $phone, 'Phone for FR 1'); + + $object->country_code='FR'; + $phone=dol_print_phone('1234567890', $object->country_code, 0, 0, 0, ''); + $this->assertEquals('1234567890', $phone, 'Phone for FR 2'); + + $object->country_code='FR'; + $phone=dol_print_phone('1234567890', $object->country_code, 0, 0, 0, ' '); + $this->assertEquals('12 34 56 78 90', $phone, 'Phone for FR 3'); + + $object->country_code='CA'; + $phone=dol_print_phone('1234567890', $object->country_code, 0, 0, 0, ' '); + $this->assertEquals('(123) 456-7890', $phone, 'Phone for CA 1'); + + } + + /** * testImgPicto * From 5fe0d601da9067de2d8b3ef04780407391613af5 Mon Sep 17 00:00:00 2001 From: Sergio Sanchis Climent Date: Tue, 2 Aug 2016 03:35:22 +0200 Subject: [PATCH 219/476] New: Preview documents --- htdocs/core/class/html.formfile.class.php | 33 +++++++++++++ htdocs/core/js/lib_head.js.php | 59 +++++++++++++++++++++++ 2 files changed, 92 insertions(+) diff --git a/htdocs/core/class/html.formfile.class.php b/htdocs/core/class/html.formfile.class.php index 0e57118f4bb..bd7ee30c277 100644 --- a/htdocs/core/class/html.formfile.class.php +++ b/htdocs/core/class/html.formfile.class.php @@ -619,6 +619,9 @@ class FormFile $out.= ' target="_blank">'; $out.= img_mime($file["name"],$langs->trans("File").': '.$file["name"]).' '.dol_trunc($file["name"],$maxfilenamelength); $out.= ''."\n"; + + $out.= $this->showPreview($file,$modulepart,$relativepath); + $out.= ''.dol_print_size($file['size'],1,1).''.dol_print_date($file['date'],"dayhour","tzuser").'
'; print ''; print ''; - print ''; + print ''; print ''; @@ -1211,7 +1216,7 @@ else $linkback = ''.$langs->trans("BackToList").''; // Ref - print ''; @@ -1374,7 +1379,7 @@ else $linkback = ''.$langs->trans("BackToList").''; // Ref - print ''; @@ -1683,7 +1688,8 @@ else } print ''; } - print ''; + // print ''; + print ''; print ''; print ''; print ''; @@ -1789,7 +1795,7 @@ else print ''; if (! empty($conf->projet->enabled)) print ''; print ''; - print ''; + print ''; print ''; print ''; print ''; @@ -1807,7 +1813,7 @@ else // Select project if (! empty($conf->projet->enabled)) { - print ''; } @@ -1818,7 +1824,7 @@ else print ''; // Add comments - print ''; diff --git a/htdocs/expensereport/info.php b/htdocs/expensereport/info.php index b4302631c78..a5a3c830975 100644 --- a/htdocs/expensereport/info.php +++ b/htdocs/expensereport/info.php @@ -40,7 +40,7 @@ $result = restrictedArea($user, 'expensereport', $id, ''); * View */ -llxHeader(); +llxHeader('', $langs->trans("ExpenseReport")); if ($id) { From fdfe333f693a7cc6b0066c71362db57fd93d19ff Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 2 Aug 2016 13:10:09 +0200 Subject: [PATCH 222/476] Fix strict sql --- htdocs/resource/class/dolresource.class.php | 2 +- htdocs/resource/list.php | 29 +++++++++++---------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/htdocs/resource/class/dolresource.class.php b/htdocs/resource/class/dolresource.class.php index 4f08e6f4209..0a738846363 100644 --- a/htdocs/resource/class/dolresource.class.php +++ b/htdocs/resource/class/dolresource.class.php @@ -393,7 +393,7 @@ class Dolresource extends CommonObject } } } - $sql.= " GROUP BY t.rowid, ty.label"; + $sql.= " GROUP BY t.rowid, t.entity, t.ref, t.description, t.fk_code_type_resource, t.tms, ty.label"; $sql.= $this->db->order($sortfield,$sortorder); $this->num_all = 0; if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) diff --git a/htdocs/resource/list.php b/htdocs/resource/list.php index 777bcb374d6..90eed125284 100644 --- a/htdocs/resource/list.php +++ b/htdocs/resource/list.php @@ -97,20 +97,18 @@ if($ret == -1) { } else { print_barre_liste($pagetitle, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $ret+1, $object->num_all,'title_generic.png'); } -if(!$ret) { - print '
'.$langs->trans('NoResourceInDatabase').'
'; -} -else + +$var=true; + +print '
'.$langs->trans("DateStart").''.$langs->trans("DateStart").''; $form->select_date($date_start?$date_start:-1,'date_debut',0,0,0,'',1,1); print '
'.$langs->trans("Ref").''; + print '
'.$langs->trans("Ref").''; print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref', ''); print '
'.$langs->trans("Ref").''; + print '
'.$langs->trans("Ref").''; print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref', ''); print '
'.$langs->trans("TF_".strtoupper(empty($objp->type_fees_libelle)?'OTHER':$objp->type_fees_libelle)).''.$langs->trans("TF_".strtoupper(empty($objp->type_fees_libelle)?'OTHER':$objp->type_fees_libelle)).''.($langs->trans(($objp->type_fees_code)) == $objp->type_fees_code ? $objp->type_fees_libelle : $langs->trans(($objp->type_fees_code))).''.$objp->comments.''.vatrate($objp->vatrate,true).''.price($objp->value_unit).''.$langs->trans('Date').''.$langs->trans('Project').''.$langs->trans('Type').''.$langs->trans('Description').''.$langs->trans('Description').''.$langs->trans('VAT').''.$langs->trans('PriceUTTC').''.$langs->trans('Qty').''; + print ''; $formproject->select_projects(-1, $fk_projet, 'fk_projet', 0, 0, 1, 1); print ''; + print ''; print ''; print '
'."\n"; +print ''; +print_liste_field_titre($langs->trans('Ref'),$_SERVER['PHP_SELF'],'t.ref','',$param,'',$sortfield,$sortorder); +print_liste_field_titre($langs->trans('ResourceType'),$_SERVER['PHP_SELF'],'ty.code','',$param,'',$sortfield,$sortorder); +print_liste_field_titre('',"","","","",'width="60" align="center"',"",""); +print "\n"; + +if ($ret) { - $var=true; - - print '
'."\n"; - print ''; - print_liste_field_titre($langs->trans('Ref'),$_SERVER['PHP_SELF'],'t.ref','',$param,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans('ResourceType'),$_SERVER['PHP_SELF'],'ty.code','',$param,'',$sortfield,$sortorder); - print_liste_field_titre('',"","","","",'width="60" align="center"',"",""); - print "\n"; - foreach ($object->lines as $resource) { $var=!$var; @@ -142,7 +140,10 @@ else } print '
'; - +} +else +{ + print '
'.$langs->trans('NoResourceInDatabase').'
 
    ' . $langs->trans('AlertOnly') . '   '; - $searchpitco=$form->showFilterAndCheckAddButtons(0); - print $searchpitco; - print '  ' . $langs->trans('AlertOnly') . '   '; +$searchpitco=$form->showFilterAndCheckAddButtons(0); +print $searchpitco; +print '
'.$prod->getNomUrl(1, '').'' . $objp->label . ''.$objp->label ; + print ''; // TODO Remove this and make a fetch to get description when creating order instead of a GETPOST + print '
'; // Ref @@ -213,8 +213,10 @@ if ($action == 'edit') } print ''; - print "

"; + print "
"; + dol_fiche_end(); + print '
'; print ''; print '     '; @@ -227,6 +229,8 @@ else { // View mode + dol_fiche_head($head, 'perso', $title, 0, 'contact'); + $linkback = ''.$langs->trans("BackToList").''; dol_banner_tab($object, 'id', $linkback, 1, 'rowid', 'ref', ''); @@ -285,16 +289,17 @@ else } else { - print ''.$langs->trans("DateToBirth").''.$langs->trans("Unknown").""; + print ''.$langs->trans("DateToBirth").''; } print ""; print ""; print '
'; + + dol_fiche_end(); } -dol_fiche_end(); if ($action != 'edit') { From 3ea7a1fcab8384f538aec327c4d52427271b23f4 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 2 Aug 2016 17:36:24 +0200 Subject: [PATCH 228/476] Fix strict mode --- htdocs/fourn/facture/card.php | 2 +- htdocs/fourn/facture/paiement.php | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/htdocs/fourn/facture/card.php b/htdocs/fourn/facture/card.php index 50ec61f10f5..058c148ce88 100644 --- a/htdocs/fourn/facture/card.php +++ b/htdocs/fourn/facture/card.php @@ -2159,7 +2159,7 @@ else // Make payments if ($action != 'edit' && $object->statut == FactureFournisseur::STATUS_VALIDATED && $object->paye == 0 && $user->societe_id == 0) { - print ''.$langs->trans('DoPayment').''; // must use facid because id is for payment id not invoice + print ''.$langs->trans('DoPayment').''; // must use facid because id is for payment id not invoice } // Classify paid diff --git a/htdocs/fourn/facture/paiement.php b/htdocs/fourn/facture/paiement.php index ad1ba8555a2..bc01a38fc59 100644 --- a/htdocs/fourn/facture/paiement.php +++ b/htdocs/fourn/facture/paiement.php @@ -386,15 +386,15 @@ if ($action == 'create' || $action == 'confirm_paiement' || $action == 'add_paie /* * Autres factures impayees */ - $sql = 'SELECT f.rowid as facid, f.ref, f.ref_supplier, f.total_ht, f.total_ttc, f.multicurrency_total_ttc, f.datef as df'; - $sql.= ', SUM(pf.amount) as am, SUM(pf.multicurrency_amount) as multicurrency_am'; + $sql = 'SELECT f.rowid as facid, f.ref, f.ref_supplier, f.total_ht, f.total_ttc, f.multicurrency_total_ttc, f.datef as df,'; + $sql.= ' SUM(pf.amount) as am, SUM(pf.multicurrency_amount) as multicurrency_am'; $sql.= ' FROM '.MAIN_DB_PREFIX.'facture_fourn as f'; $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'paiementfourn_facturefourn as pf ON pf.fk_facturefourn = f.rowid'; $sql.= " WHERE f.entity = ".$conf->entity; $sql.= ' AND f.fk_soc = '.$object->socid; $sql.= ' AND f.paye = 0'; $sql.= ' AND f.fk_statut = 1'; // Statut=0 => non validee, Statut=2 => annulee - $sql.= ' GROUP BY f.rowid, f.ref, f.ref_supplier, f.total_ht, f.total_ttc, f.datef'; + $sql.= ' GROUP BY f.rowid, f.ref, f.ref_supplier, f.total_ht, f.total_ttc, f.multicurrency_total_ttc, f.datef'; $resql = $db->query($sql); if ($resql) { From d353a7863b4e7f9b1fe74e6420af348732e8e74b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 2 Aug 2016 17:39:23 +0200 Subject: [PATCH 229/476] Fix ambiguos field --- htdocs/fourn/facture/paiement.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/htdocs/fourn/facture/paiement.php b/htdocs/fourn/facture/paiement.php index ad1ba8555a2..4883a3c4f28 100644 --- a/htdocs/fourn/facture/paiement.php +++ b/htdocs/fourn/facture/paiement.php @@ -319,7 +319,7 @@ if ($action == 'create' || $action == 'confirm_paiement' || $action == 'add_paie $dateinvoice=($datefacture==''?(empty($conf->global->MAIN_AUTOFILL_DATE)?-1:''):$datefacture); $sql = 'SELECT s.nom as name, s.rowid as socid,'; - $sql.= ' f.rowid, f.ref, f.ref_supplier, f.amount, f.total_ttc as total, fk_mode_reglement, fk_account'; + $sql.= ' f.rowid, f.ref, f.ref_supplier, f.amount, f.total_ttc as total, f.fk_mode_reglement, f.fk_account'; if (!$user->rights->societe->client->voir && !$socid) $sql .= ", sc.fk_soc, sc.fk_user "; $sql.= ' FROM '.MAIN_DB_PREFIX.'societe as s, '.MAIN_DB_PREFIX.'facture_fourn as f'; if (!$user->rights->societe->client->voir && !$socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; @@ -334,7 +334,7 @@ if ($action == 'create' || $action == 'confirm_paiement' || $action == 'add_paie { $obj = $db->fetch_object($resql); $total = $obj->total; - + print load_fiche_titre($langs->trans('DoPayment')); print '
'; @@ -544,6 +544,7 @@ if ($action == 'create' || $action == 'confirm_paiement' || $action == 'add_paie print '
'; } } + else dol_print_error($db); } /* From 176b52f3052c83f1db5ce44e415243c5ec3c0fb2 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 2 Aug 2016 17:55:13 +0200 Subject: [PATCH 230/476] Fix No modify trigger must be called during creation --- htdocs/contact/class/contact.class.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/contact/class/contact.class.php b/htdocs/contact/class/contact.class.php index 1edb0b1d3c3..6a9a7df7b5e 100644 --- a/htdocs/contact/class/contact.class.php +++ b/htdocs/contact/class/contact.class.php @@ -216,9 +216,9 @@ class Contact extends CommonObject } } - if (! $error) + if (! $error) { - $result=$this->update_perso($this->id, $user); + $result=$this->update_perso($this->id, $user, 1); // TODO Remove function update_perso, should be same than update if ($result < 0) { $error++; @@ -226,7 +226,7 @@ class Contact extends CommonObject } } - if (! $error) + if (! $error) { // Call trigger $result=$this->call_trigger('CONTACT_CREATE',$user); From 88dcb279813aa5aa36beb04409b20224040bf2f4 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 2 Aug 2016 21:24:14 +0200 Subject: [PATCH 231/476] Fix option not visible when it should --- htdocs/admin/fckeditor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/admin/fckeditor.php b/htdocs/admin/fckeditor.php index e244941ff58..3cb111c4d53 100644 --- a/htdocs/admin/fckeditor.php +++ b/htdocs/admin/fckeditor.php @@ -56,7 +56,7 @@ $conditions = array( 'SOCIETE' => 1, 'PRODUCTDESC' => (! empty($conf->product->enabled) || ! empty($conf->service->enabled)), 'MAILING' => ! empty($conf->mailing->enabled), -'DETAILS' => (! empty($conf->facture->enabled) || ! empty($conf->propal->enabled) || ! empty($conf->commande->enabled)), +'DETAILS' => (! empty($conf->facture->enabled) || ! empty($conf->propal->enabled) || ! empty($conf->commande->enabled) || ! empty($conf->supplier_proposal->enabled) || ! empty($conf->fournisseur->enabled)), 'USERSIGN' => 1, 'MAIL' => (! empty($conf->facture->enabled) || ! empty($conf->propal->enabled) || ! empty($conf->commande->enabled)) ); From 216ec6ac4bc2ef5fb7b07dd900f2f5ddb0fd64e3 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 2 Aug 2016 23:33:31 +0200 Subject: [PATCH 232/476] Label week too long with some language --- htdocs/langs/en_US/main.lang | 1 + htdocs/projet/activity/perweek.php | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index bb8ffeb6b4f..150abc1b4b8 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -256,6 +256,7 @@ DurationDays=days Year=Year Month=Month Week=Week +WeekShort=Week Day=Day Hour=Hour Minute=Minute diff --git a/htdocs/projet/activity/perweek.php b/htdocs/projet/activity/perweek.php index 53b9ba151b4..4a4a0a27713 100644 --- a/htdocs/projet/activity/perweek.php +++ b/htdocs/projet/activity/perweek.php @@ -291,7 +291,7 @@ $param=($mode?'&mode='.$mode:''); // Show navigation bar $nav ="".img_previous($langs->trans("Previous"))."\n"; -$nav.=" ".dol_print_date(dol_mktime(0,0,0,$first_month,$first_day,$first_year),"%Y").", ".$langs->trans("Week")." ".$week." \n"; +$nav.=" ".dol_print_date(dol_mktime(0,0,0,$first_month,$first_day,$first_year),"%Y").", ".$langs->trans("WeekShort")." ".$week." \n"; $nav.="".img_next($langs->trans("Next"))."\n"; $nav.="   (".$langs->trans("Today").")"; $nav.='
'.$form->select_date(-1,'',0,0,2,"addtime",1,0,1).' '; From 6ae8d26a89bc6d5a748c8683504276d2ecaf4bfa Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 3 Aug 2016 00:04:38 +0200 Subject: [PATCH 233/476] Fix max width on combo of tasks --- htdocs/core/class/html.formprojet.class.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/core/class/html.formprojet.class.php b/htdocs/core/class/html.formprojet.class.php index a588fc8f241..4c4c1486d51 100644 --- a/htdocs/core/class/html.formprojet.class.php +++ b/htdocs/core/class/html.formprojet.class.php @@ -149,7 +149,7 @@ class FormProjets $resql=$this->db->query($sql); if ($resql) { - $minmax=''; + $minmax='maxwidth500'; // Use select2 selector $nodatarole=''; @@ -314,7 +314,7 @@ class FormProjets $resql=$this->db->query($sql); if ($resql) { - $minmax=''; + $minmax='maxwidth500'; // Use select2 selector $nodatarole=''; @@ -324,7 +324,7 @@ class FormProjets $comboenhancement = ajax_combobox($htmlname, '', 0, $forcefocus); $out.=$comboenhancement; $nodatarole=($comboenhancement?' data-role="none"':''); - $minmax='minwidth200'; + $minmax='minwidth200 maxwidth500'; } if (empty($option_only)) { From a240cf30d685492b676821bf46dafb674e90224a Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 3 Aug 2016 00:50:17 +0200 Subject: [PATCH 234/476] Fix PROJECT_LINES_PERWEEK_SHOW_THIRDPARTY to show thirdparty. --- htdocs/projet/activity/perweek.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/htdocs/projet/activity/perweek.php b/htdocs/projet/activity/perweek.php index 13d3610b0cc..44462bb8594 100644 --- a/htdocs/projet/activity/perweek.php +++ b/htdocs/projet/activity/perweek.php @@ -407,8 +407,11 @@ if (count($tasksarray) > 0) $level=0; projectLinesPerWeek($j, $firstdaytoshow, $usertoprocess, 0, $tasksarray, $level, $projectsrole, $tasksrole, $mine, $restrictviewformytask); + $colspan=7; + if (! empty($conf->global->PROJECT_LINES_PERWEEK_SHOW_THIRDPARTY)) $colspan++; + print ' - '.$langs->trans("Total").' + '.$langs->trans("Total").'
 
 
 
From abbe204c97fb644aa0381e1a41d53491e219d08d Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 3 Aug 2016 01:42:05 +0200 Subject: [PATCH 235/476] Fix design of option PROJECT_ADD_SUBTOTAL_LINES --- htdocs/fourn/class/fournisseur.commande.class.php | 2 ++ htdocs/fourn/commande/card.php | 3 ++- htdocs/projet/element.php | 2 +- htdocs/theme/eldy/style.css.php | 3 +++ htdocs/theme/md/style.css.php | 4 +++- 5 files changed, 11 insertions(+), 3 deletions(-) diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index 306dfbbb9a7..5021061ec19 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -1078,6 +1078,7 @@ class CommandeFournisseur extends CommonOrder $sql.= ", note_public"; $sql.= ", entity"; $sql.= ", fk_soc"; + $sql.= ", fk_projet"; $sql.= ", date_creation"; $sql.= ", date_livraison"; $sql.= ", fk_user_author"; @@ -1099,6 +1100,7 @@ class CommandeFournisseur extends CommonOrder $sql.= ", '".$this->db->escape($this->note_public)."'"; $sql.= ", ".$conf->entity; $sql.= ", ".$this->socid; + $sql.= ", ".($this->fk_project > 0 ? $this->fk_project : "null"); $sql.= ", '".$this->db->idate($now)."'"; $sql.= ", ".($this->date_livraison?"'".$this->db->idate($this->date_livraison)."'":"null"); $sql.= ", ".$user->id; diff --git a/htdocs/fourn/commande/card.php b/htdocs/fourn/commande/card.php index 500b240fa16..afaff18734c 100644 --- a/htdocs/fourn/commande/card.php +++ b/htdocs/fourn/commande/card.php @@ -971,7 +971,8 @@ if (empty($reshook)) $object->location_incoterms = GETPOST('location_incoterms', 'alpha'); $object->multicurrency_code = GETPOST('multicurrency_code', 'alpha'); $object->multicurrency_tx = GETPOST('originmulticurrency_tx', 'int'); - + $object->fk_project = GETPOST('projectid'); + // Fill array 'array_options' with data from add form if (! $error) { diff --git a/htdocs/projet/element.php b/htdocs/projet/element.php index 85ffae8b4b6..80b9499ed9e 100644 --- a/htdocs/projet/element.php +++ b/htdocs/projet/element.php @@ -876,7 +876,7 @@ foreach ($listofreferent as $key => $value) if (canApplySubtotalOn($tablename)) { - $breakline=''; + $breakline=''; $breakline.=''; $breakline.=''; $breakline.=''; diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index 570dab7e959..092188f5616 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -2760,6 +2760,9 @@ input.liste_titre { form.liste_total div { border-top: 1px solid #DDDDDD; } +tr.liste_sub_total, tr.liste_sub_total td { + border-bottom: 2px solid #aaa; +} .tableforservicepart1 .impair, .tableforservicepart1 .pair, .tableforservicepart2 .impair, .tableforservicepart2 .pair { background: #FFF; diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php index 157beca791f..0a54d06b1ac 100644 --- a/htdocs/theme/md/style.css.php +++ b/htdocs/theme/md/style.css.php @@ -2634,7 +2634,9 @@ input.liste_titre { padding: 4px; height: 20px; } - +tr.liste_sub_total, tr.liste_sub_total td { + border-bottom: 2px solid #aaa; +} .tableforservicepart1 .impair, .tableforservicepart1 .pair, .tableforservicepart2 .impair, .tableforservicepart2 .pair { background: #FFF; From da274f0ca4ea0a780758e927ec6eccfb5e69f107 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Wed, 3 Aug 2016 07:28:00 +0200 Subject: [PATCH 236/476] Uniformize presentation on contract --- htdocs/contrat/card.php | 24 ++++++++++++------------ htdocs/contrat/contact.php | 4 ++-- htdocs/contrat/document.php | 4 ++-- htdocs/contrat/info.php | 2 +- htdocs/contrat/note.php | 4 ++-- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/htdocs/contrat/card.php b/htdocs/contrat/card.php index 5a9c8a267ea..f6d299f94e0 100644 --- a/htdocs/contrat/card.php +++ b/htdocs/contrat/card.php @@ -998,7 +998,7 @@ if (empty($reshook)) * View */ -llxHeader('',$langs->trans("ContractCard"),"Contrat"); +llxHeader('',$langs->trans("Contract"),""); $form = new Form($db); $formfile = new FormFile($db); @@ -1094,7 +1094,7 @@ if ($action == 'create') } else { $tmpcode=''; } - print ''.$langs->trans('Ref').''.$tmpcode.''; + print ''.$langs->trans('Ref').''.$tmpcode.''; // Ref customer print ''.$langs->trans('RefCustomer').''; @@ -1137,12 +1137,12 @@ if ($action == 'create') } // Commercial suivi - print ''.$langs->trans("TypeContact_contrat_internal_SALESREPFOLL").''; + print ''.$langs->trans("TypeContact_contrat_internal_SALESREPFOLL").''; print $form->select_dolusers(GETPOST("commercial_suivi_id")?GETPOST("commercial_suivi_id"):$user->id,'commercial_suivi_id',1,''); print ''; // Commercial signature - print ''.$langs->trans("TypeContact_contrat_internal_SALESREPSIGN").''; + print ''.$langs->trans("TypeContact_contrat_internal_SALESREPSIGN").''; print $form->select_dolusers(GETPOST("commercial_signature_id")?GETPOST("commercial_signature_id"):$user->id,'commercial_signature_id',1,''); print ''; @@ -1188,7 +1188,7 @@ if ($action == 'create') dol_fiche_end(); - print '
'; + print '
'; print ''; print '     '; print ''; @@ -1295,13 +1295,13 @@ else $linkback = ''.$langs->trans("BackToList").''; // Ref du contrat - if (!empty($modCodeContract->code_auto)) { - print ''.$langs->trans("Ref").''; + if (! empty($modCodeContract->code_auto)) { + print ''.$langs->trans("Ref").''; print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref', ''); print ""; } else { print ''; - print ''; + print ''; print $form->editfieldkey("Ref",'ref',$object->ref,$object,$user->rights->contrat->creer); print ''; print $form->editfieldval("Ref",'ref',$object->ref,$object,$user->rights->contrat->creer); @@ -1310,7 +1310,7 @@ else } print ''; - print ''; + print ''; print $form->editfieldkey("RefCustomer",'ref_customer',$object->ref_customer,$object,$user->rights->contrat->creer); print ''; print $form->editfieldval("RefCustomer",'ref_customer',$object->ref_customer,$object,$user->rights->contrat->creer); @@ -1318,7 +1318,7 @@ else print ''; print ''; - print ''; + print ''; print $form->editfieldkey("RefSupplier",'ref_supplier',$object->ref_supplier,$object,$user->rights->contrat->creer); print ''; print $form->editfieldval("RefSupplier",'ref_supplier',$object->ref_supplier,$object,$user->rights->contrat->creer); @@ -1348,7 +1348,7 @@ else // Date print ''; - print ''; + print ''; print $form->editfieldkey("Date",'date_contrat',$object->date_contrat,$object,$user->rights->contrat->creer); print ''; print $form->editfieldval("Date",'date_contrat',$object->date_contrat,$object,$user->rights->contrat->creer,'datehourpicker'); @@ -1584,7 +1584,7 @@ else } - //Display lines extrafields + // Display lines extrafields if (is_array($extralabelslines) && count($extralabelslines)>0) { print ''; $line = new ContratLigne($db); diff --git a/htdocs/contrat/contact.php b/htdocs/contrat/contact.php index cd070f6078d..304ae5b17be 100644 --- a/htdocs/contrat/contact.php +++ b/htdocs/contrat/contact.php @@ -109,7 +109,7 @@ if ($action == 'deletecontact' && $user->rights->contrat->creer) * View */ -llxHeader('', $langs->trans("ContractCard"), "Contrat"); +llxHeader('',$langs->trans("Contract"),""); $form = new Form($db); $formcompany= new FormCompany($db); @@ -142,7 +142,7 @@ if ($id > 0 || ! empty($ref)) $linkback = ''.$langs->trans("BackToList").''; // Reference du contrat - print ''.$langs->trans("Ref").''; + print ''.$langs->trans("Ref").''; print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref', ''); print ""; diff --git a/htdocs/contrat/document.php b/htdocs/contrat/document.php index 95da343e3af..024cf561fb5 100644 --- a/htdocs/contrat/document.php +++ b/htdocs/contrat/document.php @@ -86,7 +86,7 @@ include_once DOL_DOCUMENT_ROOT . '/core/actions_linkedfiles.inc.php'; $form = new Form($db); -llxHeader(); +llxHeader('',$langs->trans("Contract"),""); if ($object->id) @@ -110,7 +110,7 @@ if ($object->id) $linkback = ''.$langs->trans("BackToList").''; // Reference - print ''.$langs->trans('Ref').''.$form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref', '').''; + print ''.$langs->trans('Ref').''.$form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref', '').''; // Societe print ''.$langs->trans("Customer").''; diff --git a/htdocs/contrat/info.php b/htdocs/contrat/info.php index 2067247dbf6..f993a940e14 100644 --- a/htdocs/contrat/info.php +++ b/htdocs/contrat/info.php @@ -38,7 +38,7 @@ $result = restrictedArea($user, 'contrat',$contratid,''); * View */ -llxHeader(); +llxHeader('',$langs->trans("Contract"),""); $contrat = new Contrat($db); $contrat->fetch($contratid); diff --git a/htdocs/contrat/note.php b/htdocs/contrat/note.php index 502b354ee69..806434176fd 100644 --- a/htdocs/contrat/note.php +++ b/htdocs/contrat/note.php @@ -58,7 +58,7 @@ include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, * View */ -llxHeader(); +llxHeader('',$langs->trans("Contract"),""); $form = new Form($db); @@ -78,7 +78,7 @@ if ($id > 0 || ! empty($ref)) $linkback = ''.$langs->trans("BackToList").''; // Reference - print ''.$langs->trans('Ref').''.$form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref', '').''; + print ''.$langs->trans('Ref').''.$form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref', '').''; // Societe print ''.$langs->trans("Customer").''; From 21e753d510f7946f85de4f659e040e5e7f11d0e1 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Wed, 3 Aug 2016 08:00:30 +0200 Subject: [PATCH 237/476] Uniformize presentation on intervention --- htdocs/fichinter/card.php | 2 +- htdocs/fichinter/contact.php | 2 +- htdocs/fichinter/document.php | 2 +- htdocs/fichinter/note.php | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/htdocs/fichinter/card.php b/htdocs/fichinter/card.php index 3f266f71de4..a01ba2f1180 100644 --- a/htdocs/fichinter/card.php +++ b/htdocs/fichinter/card.php @@ -1154,7 +1154,7 @@ else if ($id > 0 || ! empty($ref)) $linkback = ''.$langs->trans("BackToList").''; // Ref - print ''.$langs->trans("Ref").''; + print ''.$langs->trans("Ref").''; print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref'); print ''; diff --git a/htdocs/fichinter/contact.php b/htdocs/fichinter/contact.php index b64a16f91ba..473445049f7 100644 --- a/htdocs/fichinter/contact.php +++ b/htdocs/fichinter/contact.php @@ -128,7 +128,7 @@ if ($id > 0 || ! empty($ref)) $linkback = ''.$langs->trans("BackToList").''; // Ref - print ''.$langs->trans("Ref").''; + print ''.$langs->trans("Ref").''; print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref'); print ""; diff --git a/htdocs/fichinter/document.php b/htdocs/fichinter/document.php index aca31d4e7c2..59a3bbf3c5d 100644 --- a/htdocs/fichinter/document.php +++ b/htdocs/fichinter/document.php @@ -106,7 +106,7 @@ if ($object->id) $linkback = ''.$langs->trans("BackToList").''; // Ref - print ''.$langs->trans("Ref").''; + print ''.$langs->trans("Ref").''; print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref'); print ''; diff --git a/htdocs/fichinter/note.php b/htdocs/fichinter/note.php index 3c5fce7caa2..c672d48cb71 100644 --- a/htdocs/fichinter/note.php +++ b/htdocs/fichinter/note.php @@ -54,7 +54,7 @@ include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, * View */ -llxHeader(); +llxHeader('',$langs->trans("Intervention")); $form = new Form($db); @@ -70,12 +70,12 @@ if ($id > 0 || ! empty($ref)) $linkback = ''.$langs->trans("BackToList").''; - print ''.$langs->trans('Ref').''; + print ''.$langs->trans('Ref').''; print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref'); print ''; // Company - print ''.$langs->trans('Company').''.$societe->getNomUrl(1).''; + print ''.$langs->trans('Company').''.$societe->getNomUrl(1).''; print ""; From 27603b966ebb4c3be81d13560af630471f97bf90 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Wed, 3 Aug 2016 08:25:35 +0200 Subject: [PATCH 238/476] Uniformize presentation on supplier order --- htdocs/fourn/commande/card.php | 6 +++--- htdocs/fourn/commande/contact.php | 6 +++--- htdocs/fourn/commande/dispatch.php | 6 +++--- htdocs/fourn/commande/document.php | 5 +++-- htdocs/fourn/commande/info.php | 3 ++- htdocs/fourn/commande/note.php | 6 +++--- 6 files changed, 17 insertions(+), 15 deletions(-) diff --git a/htdocs/fourn/commande/card.php b/htdocs/fourn/commande/card.php index afaff18734c..d5be9002241 100644 --- a/htdocs/fourn/commande/card.php +++ b/htdocs/fourn/commande/card.php @@ -1307,8 +1307,8 @@ if (empty($reshook)) /* * View */ - -llxHeader('',$langs->trans("OrderCard"),"CommandeFournisseur"); +$help_url='EN:Module_Suppliers_Orders|FR:CommandeFournisseur|ES:Módulo_Pedidos_a_proveedores'; +llxHeader('',$langs->trans("Order"),$help_url); $form = new Form($db); $formfile = new FormFile($db); @@ -1757,7 +1757,7 @@ elseif (! empty($object->id)) $linkback = ''.$langs->trans("BackToList").''; // Ref - print ''.$langs->trans("Ref").''; + print ''.$langs->trans("Ref").''; print ''; print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref'); print ''; diff --git a/htdocs/fourn/commande/contact.php b/htdocs/fourn/commande/contact.php index 8ced1e9844c..446b96687b5 100644 --- a/htdocs/fourn/commande/contact.php +++ b/htdocs/fourn/commande/contact.php @@ -112,8 +112,8 @@ else if ($action == 'deletecontact' && $user->rights->fournisseur->commande->cre /* * View */ - -llxHeader('', $langs->trans("Order"), "Commande"); +$help_url='EN:Module_Suppliers_Orders|FR:CommandeFournisseur|ES:Módulo_Pedidos_a_proveedores'; +llxHeader('',$langs->trans("Order"),$help_url); $form = new Form($db); $formcompany = new FormCompany($db); @@ -149,7 +149,7 @@ if ($id > 0 || ! empty($ref)) $linkback = ''.$langs->trans("BackToList").''; // Ref - print ''.$langs->trans("Ref").''; + print ''.$langs->trans("Ref").''; print ''; print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref'); print ''; diff --git a/htdocs/fourn/commande/dispatch.php b/htdocs/fourn/commande/dispatch.php index f4685469711..51b6aa48e84 100644 --- a/htdocs/fourn/commande/dispatch.php +++ b/htdocs/fourn/commande/dispatch.php @@ -251,8 +251,8 @@ $warehouse_static = new Entrepot($db); $supplierorderdispatch = new CommandeFournisseurDispatch($db); -$help_url='EN:CommandeFournisseur'; -llxHeader('',$langs->trans("OrderCard"),$help_url,'',0,0,array('/fourn/js/lib_dispatch.js')); +$help_url='EN:Module_Suppliers_Orders|FR:CommandeFournisseur|ES:Módulo_Pedidos_a_proveedores'; +llxHeader('',$langs->trans("Order"),$help_url,'',0,0,array('/fourn/js/lib_dispatch.js')); $now=dol_now(); @@ -284,7 +284,7 @@ if ($id > 0 || ! empty($ref)) print ''; // Ref - print ''; + print ''; print ''; diff --git a/htdocs/fourn/commande/document.php b/htdocs/fourn/commande/document.php index e78320c0043..cd6542a2810 100644 --- a/htdocs/fourn/commande/document.php +++ b/htdocs/fourn/commande/document.php @@ -89,7 +89,8 @@ $form = new Form($db); if ($object->id > 0) { - llxHeader(); + $help_url='EN:Module_Suppliers_Orders|FR:CommandeFournisseur|ES:Módulo_Pedidos_a_proveedores'; + llxHeader('',$langs->trans("Order"),$help_url); $author = new User($db); $author->fetch($object->user_author_id); @@ -113,7 +114,7 @@ if ($object->id > 0) $linkback = ''.$langs->trans("BackToList").''; // Ref - print ''; + print ''; print ''; diff --git a/htdocs/fourn/commande/info.php b/htdocs/fourn/commande/info.php index c8ed0e73660..5cd8510d854 100644 --- a/htdocs/fourn/commande/info.php +++ b/htdocs/fourn/commande/info.php @@ -62,7 +62,8 @@ if ($id > 0 || ! empty($ref)) $soc->fetch($object->socid); - llxHeader('',$langs->trans("History"),"CommandeFournisseur"); + $help_url='EN:Module_Suppliers_Orders|FR:CommandeFournisseur|ES:Módulo_Pedidos_a_proveedores'; + llxHeader('',$langs->trans("Order"),$help_url); $head = ordersupplier_prepare_head($object); diff --git a/htdocs/fourn/commande/note.php b/htdocs/fourn/commande/note.php index 6a1c6cfe80e..1e2ae3e4c7b 100644 --- a/htdocs/fourn/commande/note.php +++ b/htdocs/fourn/commande/note.php @@ -57,8 +57,8 @@ include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, /* * View */ - -llxHeader('',$langs->trans("OrderCard"),"CommandeFournisseur"); +$help_url='EN:Module_Suppliers_Orders|FR:CommandeFournisseur|ES:Módulo_Pedidos_a_proveedores'; +llxHeader('',$langs->trans("Order"),$help_url); $form = new Form($db); @@ -94,7 +94,7 @@ if ($id > 0 || ! empty($ref)) $linkback = ''.$langs->trans("BackToList").''; // Ref - print ''; + print ''; print ''; From 0d536bff5433b04b6bde7ce9c59f27b0daa59e90 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Wed, 3 Aug 2016 09:04:24 +0200 Subject: [PATCH 239/476] Fix dashboard --- htdocs/index.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/htdocs/index.php b/htdocs/index.php index 7462b05b3e7..25800f97b92 100644 --- a/htdocs/index.php +++ b/htdocs/index.php @@ -437,9 +437,11 @@ foreach($valid_dashboardlines as $board) if ($board->nbtodolate > 0) { $totallate += $board->nbtodolate; } +} - // Show dashboard - +// Show dashboard +foreach($valid_dashboardlines as $board) +{ $var=!$var; print ''; print ''; From 28efc3e50fc2df4839823e019f6a012d4780eeee Mon Sep 17 00:00:00 2001 From: Juanjo Menent Date: Wed, 3 Aug 2016 09:45:12 +0200 Subject: [PATCH 240/476] NEW Add Panama datas --- .../install/mysql/data/llx_10_c_regions.sql | 7 +++++-- .../mysql/data/llx_20_c_departements.sql | 16 ++++++++++++++-- .../mysql/data/llx_c_forme_juridique.sql | 8 +++++++- htdocs/install/mysql/data/llx_c_tva.sql | 6 +++++- .../install/mysql/migration/3.9.0-4.0.0.sql | 19 +++++++++++++++++++ 5 files changed, 50 insertions(+), 6 deletions(-) diff --git a/htdocs/install/mysql/data/llx_10_c_regions.sql b/htdocs/install/mysql/data/llx_10_c_regions.sql index 46999c537ed..62b474533f4 100644 --- a/htdocs/install/mysql/data/llx_10_c_regions.sql +++ b/htdocs/install/mysql/data/llx_10_c_regions.sql @@ -5,7 +5,7 @@ -- Copyright (C) 2004 Guillaume Delecourt -- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin --- Copyright (C) 2010-2011 Juanjo Menent +-- Copyright (C) 2010-2016 Juanjo Menent -- Copyright (C) 2012 Sebastian Neuwert -- Copyright (C) 2012 Ricardo Schluter -- Copyright (C) 2015 Ferran Marcet @@ -320,4 +320,7 @@ INSERT INTO llx_c_regions (fk_pays, code_region, cheflieu, tncc, nom, active) va INSERT INTO llx_c_regions (fk_pays, code_region, cheflieu, tncc, nom, active) values ( 181, 18123, '', 0, 'San Martín', 1); INSERT INTO llx_c_regions (fk_pays, code_region, cheflieu, tncc, nom, active) values ( 181, 18124, '', 0, 'Tacna', 1); INSERT INTO llx_c_regions (fk_pays, code_region, cheflieu, tncc, nom, active) values ( 181, 18125, '', 0, 'Tumbes', 1); -INSERT INTO llx_c_regions (fk_pays, code_region, cheflieu, tncc, nom, active) values ( 181, 18126, '', 0, 'Ucayali', 1); \ No newline at end of file +INSERT INTO llx_c_regions (fk_pays, code_region, cheflieu, tncc, nom, active) values ( 181, 18126, '', 0, 'Ucayali', 1); + +-- Regions Panama (id country=178) +INSERT INTO llx_c_regions (fk_pays, code_region, cheflieu, tncc, nom, active) values ( 178, 17801, '', 0, 'Panama', 1); \ No newline at end of file diff --git a/htdocs/install/mysql/data/llx_20_c_departements.sql b/htdocs/install/mysql/data/llx_20_c_departements.sql index c50bdf94987..066bbb9fd6e 100644 --- a/htdocs/install/mysql/data/llx_20_c_departements.sql +++ b/htdocs/install/mysql/data/llx_20_c_departements.sql @@ -5,7 +5,7 @@ -- Copyright (C) 2004 Guillaume Delecourt -- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin --- Copyright (C) 2010-2013 Juanjo Menent +-- Copyright (C) 2010-2016 Juanjo Menent -- Copyright (C) 2012 Sebastian Neuwert -- Copyright (C) 2012 Ricardo Schluter -- Copyright (C) 2015 Ferran Marcet @@ -1479,4 +1479,16 @@ INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, nc INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('2501', 18126, '', 0, '', 'Coronel Portillo', 1); INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('2502', 18126, '', 0, '', 'Atalaya', 1); INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('2503', 18126, '', 0, '', 'Padre Abad', 1); -INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('2504', 18126, '', 0, '', 'Purús', 1); \ No newline at end of file +INSERT INTO llx_c_departements ( code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('2504', 18126, '', 0, '', 'Purús', 1); + +-- Provinces Panama (id country=178) +INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('PA-1', 17801, '', 0, '', 'Bocas del Toro', 1); +INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('PA-2', 17801, '', 0, '', 'Coclé', 1); +INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('PA-3', 17801, '', 0, '', 'Colón', 1); +INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('PA-4', 17801, '', 0, '', 'Chiriquí', 1); +INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('PA-5', 17801, '', 0, '', 'Darién', 1); +INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('PA-6', 17801, '', 0, '', 'Herrera', 1); +INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('PA-7', 17801, '', 0, '', 'Los Santos', 1); +INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('PA-8', 17801, '', 0, '', 'Panamá', 1); +INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('PA-9', 17801, '', 0, '', 'Veraguas', 1); +INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('PA-13', 17801, '', 0, '', 'Panamá Oeste', 1); \ No newline at end of file diff --git a/htdocs/install/mysql/data/llx_c_forme_juridique.sql b/htdocs/install/mysql/data/llx_c_forme_juridique.sql index bfbad1f1f2b..8948984e907 100644 --- a/htdocs/install/mysql/data/llx_c_forme_juridique.sql +++ b/htdocs/install/mysql/data/llx_c_forme_juridique.sql @@ -5,7 +5,7 @@ -- Copyright (C) 2004 Guillaume Delecourt -- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin --- Copyright (C) 2010-2011 Juanjo Menent +-- Copyright (C) 2010-2016 Juanjo Menent -- Copyright (C) 2012 Sebastian Neuwert -- Copyright (C) 2012 Tommaso Basilici -- Copyright (C) 2012 Ricardo Schluter @@ -308,3 +308,9 @@ INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (188, INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (188, '18816', 'SRL - Societate comercialã cu rãspundere limitatã', 1); INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (188, '18817', 'URL - Intreprindere profesionala unipersonala cu rãspundere limitata (IPURL)', 1); +-- Panama +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (178, '17801', 'Empresa individual', 1); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (178, '17802', 'Asociación General', 1); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (178, '17803', 'Sociedad de Responsabilidad Limitada', 1); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (178, '17804', 'Sociedad Civil', 1); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (178, '17805', 'Sociedad Anónima', 1); \ No newline at end of file diff --git a/htdocs/install/mysql/data/llx_c_tva.sql b/htdocs/install/mysql/data/llx_c_tva.sql index 774ffc381fc..7c1da17c8b0 100644 --- a/htdocs/install/mysql/data/llx_c_tva.sql +++ b/htdocs/install/mysql/data/llx_c_tva.sql @@ -5,7 +5,7 @@ -- Copyright (C) 2004 Guillaume Delecourt -- Copyright (C) 2005-2009 Regis Houssin -- Copyright (C) 2007 Patrick Raguin --- Copyright (C) 2010-2015 Juanjo Menent +-- Copyright (C) 2010-2016 Juanjo Menent -- Copyright (C) 2012 Sebastian Neuwert -- Copyright (C) 2012 Ricardo Schluter -- @@ -200,6 +200,10 @@ insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (17 insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1733, 173, '8','0','VAT reduced rate', 1); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1734, 173, '0','0','VAT Rate 0', 1); +-- PANAMA (id country=178) +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1781, 178, '7','0','ITBMS standard rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1782, 178, '0','0','ITBMS Rate 0',1); + -- PERU (id country=181) insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1811, 181, '18','0','VAT standard rate',1); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1812, 181, '0','0','VAT Rate 0',1); diff --git a/htdocs/install/mysql/migration/3.9.0-4.0.0.sql b/htdocs/install/mysql/migration/3.9.0-4.0.0.sql index 6afc871f668..1309c1dc225 100644 --- a/htdocs/install/mysql/migration/3.9.0-4.0.0.sql +++ b/htdocs/install/mysql/migration/3.9.0-4.0.0.sql @@ -517,4 +517,23 @@ CREATE TABLE llx_oauth_state ( ALTER TABLE llx_product_batch ADD UNIQUE INDEX uk_product_batch (fk_product_stock, batch); +-- Panama datas +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1781, 178, '7','0','ITBMS standard rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1782, 178, '0','0','ITBMS Rate 0',1); +INSERT INTO llx_c_regions (fk_pays, code_region, cheflieu, tncc, nom, active) values ( 178, 17801, '', 0, 'Panama', 1); +INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('PA-1', 17801, '', 0, '', 'Bocas del Toro', 1); +INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('PA-2', 17801, '', 0, '', 'Coclé', 1); +INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('PA-3', 17801, '', 0, '', 'Colón', 1); +INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('PA-4', 17801, '', 0, '', 'Chiriquí', 1); +INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('PA-5', 17801, '', 0, '', 'Darién', 1); +INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('PA-6', 17801, '', 0, '', 'Herrera', 1); +INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('PA-7', 17801, '', 0, '', 'Los Santos', 1); +INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('PA-8', 17801, '', 0, '', 'Panamá', 1); +INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('PA-9', 17801, '', 0, '', 'Veraguas', 1); +INSERT INTO llx_c_departements (code_departement, fk_region, cheflieu, tncc, ncc, nom, active) VALUES ('PA-13', 17801, '', 0, '', 'Panamá Oeste', 1); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (178, '17801', 'Empresa individual', 1); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (178, '17802', 'Asociación General', 1); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (178, '17803', 'Sociedad de Responsabilidad Limitada', 1); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (178, '17804', 'Sociedad Civil', 1); +INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (178, '17805', 'Sociedad Anónima', 1); From 5f415478aca360a6e28f215e0313af10ddf3cde3 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Wed, 3 Aug 2016 17:29:04 +0200 Subject: [PATCH 241/476] FIX : update limit stock on product stock --- htdocs/product/stock/product.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/product/stock/product.php b/htdocs/product/stock/product.php index 9d84ccd6bfe..3170f329ea7 100644 --- a/htdocs/product/stock/product.php +++ b/htdocs/product/stock/product.php @@ -50,7 +50,7 @@ $cancel=GETPOST('cancel'); $id=GETPOST('id', 'int'); $ref=GETPOST('ref', 'alpha'); -$stocklimit = GETPOST('stocklimit'); +$stocklimit = GETPOST('seuil_stock_alerte'); $desiredstock = GETPOST('desiredstock'); $cancel = GETPOST('cancel'); $fieldid = isset($_GET["ref"])?'ref':'rowid'; @@ -70,7 +70,7 @@ $result=restrictedArea($user,'produit&stock',$id,'product&product','','',$fieldi if ($cancel) $action=''; // Set stock limit -if ($action == 'setstocklimit') +if ($action == 'setseuil_stock_alerte') { $object = new Product($db); $result=$object->fetch($id); From b97223edd7a3ae6f1839fd18be23da12a02a9699 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 3 Aug 2016 19:01:51 +0200 Subject: [PATCH 242/476] Fix: link to link to objects not visible --- htdocs/core/class/html.form.class.php | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 3354aa01209..813e1aa9a12 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -5266,8 +5266,8 @@ class Form * Show block with links to link to other objects. * * @param CommonObject $object Object we want to show links to - * @param array $restrictlinksto Restrict links to some elements, for exemple array('order') or array('supplier_order') - * @return string <0 if KO, >0 if OK + * @param array $restrictlinksto Restrict links to some elements, for exemple array('order') or array('supplier_order'). null or array() if no restriction. + * @return string <0 if KO, >0 if OK */ function showLinkToObjectBlock($object, $restrictlinksto=array()) { @@ -5278,8 +5278,7 @@ class Form if (! is_object($object->thirdparty)) $object->fetch_thirdparty(); - - if (((! is_array($restrictlinksto)) || in_array('order',$restrictlinksto)) + if ((empty($restrictlinksto) || in_array('order',$restrictlinksto)) && ! empty($conf->commande->enabled)) { $linktoelem.=($linktoelem?'   ':'').'' . $langs->trans('LinkedOrder') . ''; @@ -5346,7 +5345,7 @@ class Form print ''; } - if ((in_array('fichinter',$restrictlinksto)) && ! empty($conf->ficheinter->enabled)) + if ((empty($restrictlinksto) || (in_array('fichinter',$restrictlinksto))) && ! empty($conf->ficheinter->enabled)) { $linktoelem.=($linktoelem?'   ':'').'' . $langs->trans('LinkedFichinter') . ''; @@ -5407,7 +5406,7 @@ class Form print ''; } - if (((! is_array($restrictlinksto)) || in_array('supplier_order',$restrictlinksto)) + if ((empty($restrictlinksto) || in_array('supplier_order',$restrictlinksto)) && ! empty($conf->fournisseur->enabled)) { $linktoelem.=($linktoelem?'   ':'').'' . $langs->trans('LinkedOrder') . ''; From 7c97bf900f26fdaf7c0b58477361d05e4fcd0d3d Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 3 Aug 2016 20:52:50 +0200 Subject: [PATCH 243/476] Neutral colors --- htdocs/theme/eldy/img/puce.png | Bin 504 -> 223 bytes htdocs/theme/md/img/puce.png | Bin 193 -> 223 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/htdocs/theme/eldy/img/puce.png b/htdocs/theme/eldy/img/puce.png index 8c116b0dc4218939fcb62ee4087b2f2a353f6d03..55046304094972d0793a1d8d682c201037fafd00 100644 GIT binary patch delta 195 zcmeyte4lZGO1*1(>A_xJZn}AFP21!XtV`F0Fdh=fP-1cm_c}syE0Iru&0Y-2*>s0gaxt>9zIkIZBSxh Y&?sTZjV^6|1(as+boFyt=akR{07{5IGynhq literal 504 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~e!3-p0EYEHRQs)DFLR<~Kq6~wQErX&ggR(87 zvMrN~or02`fMjyDQ#KH_cmYvyk5~1SpzPwH>N!CzK(sU}yE+O;_NzuvkmhQc_^w_<%$Iflt3j)Wk-8%;a*RGwr_x#+w_vfC! zzxMq3wde2e0l{++cn<{MA>jY_{~&Pc%Ss8L*IY}2{DQ#(6cP-Z-fgr18aUb0#W92< zn)P5bS5tsU+r{;d1NWpvIx2j55;5yPgOtNwk=CHDH~-&UyA{LuciPN7uNagJe3hSV zdREhvlTfwf*xkwJ&nI~|lxt}+UdUB3=+)6-NXTdEzHPPcnZ*)u!SJ*PlTOPjwQ@VG z+j2?ZMVZ>kNi!=qsyqFk%c#2fLU;;uWpvGwlr7Vf-C17!Dww`$**fnZ%ym*B!7NOT Rj6mlxc)I$ztaD0e0st>n9KQen diff --git a/htdocs/theme/md/img/puce.png b/htdocs/theme/md/img/puce.png index 9bd70dccb731658e40d16ba29f4c09174d35c5ec..55046304094972d0793a1d8d682c201037fafd00 100644 GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~e!3-p0EYEHRQmz3$A+G-!82$qxhyc+*qMiYW zAOwhR0x}sGBqb${jg5VLeA3d=>g(%g&YZbv)21_L&OCkk^#A|=eKS%n0u?cq1o;Is zI6S+N2I3@nySp%Su*!M>Ih+L^k;M!Q+`=Ht$S`Y;1W=H@#M9T6{Q(EFkTHYs9Cu}) tkg%tVV+hCfwJ?4sjygS@*6UV$`p=OU}W|`P`E>nNbW^*u1E}vst(w2g3%gran6&F1} sp;E6RlKqGGbkhXYo-;l?CVRdzXLGLK=BO9b1auRFr>mdKI;Vst0EEX)`Tzg` From a013e84e0ecc0f072b075610a050145c7d9b9d85 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Thu, 4 Aug 2016 09:21:04 +0200 Subject: [PATCH 244/476] NEW : Add color regarding stock even on ajax autocompleter product selector --- htdocs/core/class/html.form.class.php | 182 +++++++++++++------------- 1 file changed, 92 insertions(+), 90 deletions(-) diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index fbc544b2a14..f8baa72d4cc 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -203,7 +203,7 @@ class Form $ret.=$doleditor->Create(1); } $ret.=''; - + $ret.='
'.$langs->trans("Ref").'
'.$langs->trans("Ref").''; print $form->showrefnav($commande,'ref','',1,'ref','ref'); print '
'.$langs->trans("Ref").'
'.$langs->trans("Ref").''; print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref'); print '
'.$langs->trans("Ref").'
'.$langs->trans("Ref").''; print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref'); print '
'.$board->img.''.$board->label.''.$board->nbtodo.''; $ret.=''; if (preg_match('/ckeditor|textarea/',$typeofdata)) $ret.='
'."\n"; @@ -493,7 +493,7 @@ class Form /** * Generate select HTML to choose massaction - * + * * @param string $selected Selected value * @param int $arrayofaction array('code'=>'label', ...). The code is the key stored into the GETPOST('massaction') when submitting action. * @return string Select list @@ -501,9 +501,9 @@ class Form function selectMassAction($selected, $arrayofaction) { global $conf,$langs,$hookmanager; - + if (count($arrayofaction) == 0) return; - + $disabled=0; $ret='
'; $ret.='
'; - + $ret.=' '; - + return $ret; } - + /** * Return combo list of activated countries, into language of user * @@ -1029,9 +1029,9 @@ class Form $textifempty=''; // Do not use textifempty = ' ' or ' ' here, or search on key will search on ' key'. //if (! empty($conf->use_javascript_ajax) || $forcecombo) $textifempty=''; - if (! empty($conf->global->COMPANY_USE_SEARCH_TO_SELECT)) + if (! empty($conf->global->COMPANY_USE_SEARCH_TO_SELECT)) { - if ($showempty && ! is_numeric($showempty)) $textifempty=$langs->trans($showempty); + if ($showempty && ! is_numeric($showempty)) $textifempty=$langs->trans($showempty); else $textifempty.=$langs->trans("All"); } if ($showempty) $out.= ''."\n"; @@ -1350,7 +1350,7 @@ class Form * @param integer $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 $morecss More css - * @param int $noactive Show only active users (this will also happened whatever is this option if USER_HIDE_INACTIVE_IN_COMBOBOX is on). + * @param int $noactive Show only active users (this will also happened whatever is this option if USER_HIDE_INACTIVE_IN_COMBOBOX is on). * @return string HTML select string * @see select_dolgroups */ @@ -1881,7 +1881,7 @@ class Form $outlabel=$objp->label; $outdesc=$objp->description; $outbarcode=$objp->barcode; - + $outtype=$objp->fk_product_type; $outdurationvalue=$outtype == Product::TYPE_SERVICE?substr($objp->duration,0,dol_strlen($objp->duration)-1):''; $outdurationunit=$outtype == Product::TYPE_SERVICE?substr($objp->duration,-1):''; @@ -1898,13 +1898,13 @@ class Form $opt.= $objp->ref; if ($outbarcode) $opt.=' ('.$outbarcode.')'; $opt.=' - '.dol_trunc($label,$maxlengtharticle).' - '; - + $objRef = $objp->ref; if (! empty($filterkey) && $filterkey != '') $objRef=preg_replace('/('.preg_quote($filterkey).')/i','$1',$objRef,1); $outval.=$objRef; if ($outbarcode) $outval.=' ('.$outbarcode.')'; $outval.=' - '.dol_trunc($label,$maxlengtharticle).' - '; - + $found=0; // Multiprice @@ -1986,9 +1986,9 @@ class Form } // Price by customer - if (empty($hidepriceinlabel) && !empty($conf->global->PRODUIT_CUSTOMER_PRICES)) + if (empty($hidepriceinlabel) && !empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { - if (!empty($objp->idprodcustprice)) + if (!empty($objp->idprodcustprice)) { $found = 1; @@ -2032,7 +2032,9 @@ class Form if (! empty($conf->stock->enabled) && isset($objp->stock) && $objp->fk_product_type == 0) { $opt.= ' - '.$langs->trans("Stock").':'.$objp->stock; - $outval.=' - '.$langs->transnoentities("Stock").':'.$objp->stock; + + if ($objp->stock > 0) $outval.= ''.' - '.$langs->transnoentities("Stock").':'.$objp->stock.''; + else if ($objp->stock <= 0) $outval.= ''.' - '.$langs->transnoentities("Stock").':'.$objp->stock.''; } if ($outdurationvalue && $outdurationunit) @@ -2066,7 +2068,7 @@ class Form { global $langs,$conf; global $price_level, $status, $finished; - + $selected_input_value=''; if (! empty($conf->use_javascript_ajax) && ! empty($conf->global->PRODUIT_USE_SEARCH_TO_SELECT)) { @@ -2198,11 +2200,11 @@ class Form if ($filterkey && $filterkey != '') $label=preg_replace('/('.preg_quote($filterkey).')/i','$1',$label,1); $opt.=$objp->ref; - if (! empty($objp->idprodfournprice) && ($objp->ref != $objp->ref_fourn)) + if (! empty($objp->idprodfournprice) && ($objp->ref != $objp->ref_fourn)) $opt.=' ('.$objp->ref_fourn.')'; $opt.=' - '; $outval.=$objRef; - if (! empty($objp->idprodfournprice) && ($objp->ref != $objp->ref_fourn)) + if (! empty($objp->idprodfournprice) && ($objp->ref != $objp->ref_fourn)) $outval.=' ('.$objRefFourn.')'; $outval.=' - '; $opt.=dol_trunc($label, 72).' - '; @@ -2805,7 +2807,7 @@ class Form { // If not good status if ($active >= 0 && $arraytypes['active'] != $active) continue; - + // On passe si on a demande de filtrer sur des modes de paiments particuliers if (count($filterarray) && ! in_array($arraytypes['type'],$filterarray)) continue; @@ -3168,13 +3170,13 @@ class Form $langs->load("categories"); include_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; - + // For backward compatibility if (is_numeric($type)) { dol_syslog(__METHOD__ . ': using numeric value for parameter type is deprecated. Use string code instead.', LOG_WARNING); } - + $cat = new Categorie($this->db); $cate_arbo = $cat->get_full_arbo($type,$excludeafterid); @@ -3794,7 +3796,7 @@ class Form } } } - + /** * Show form with multicurrency code * @@ -3824,7 +3826,7 @@ class Form print !empty($selected) ? currency_name($selected,1) : ' '; } } - + /** * Show form with multicurrency rate * @@ -3837,7 +3839,7 @@ class Form function form_multicurrency_rate($page, $rate='', $htmlname='multicurrency_tx', $currency='') { global $langs, $mysoc, $conf; - + if ($htmlname != "none") { print '
'; @@ -4068,7 +4070,7 @@ class Form /** * Return array of currencies in user language - * + * * @param string $selected preselected currency code * @param string $htmlname name of HTML select list * @param integer $useempty 1=Add empty line @@ -4081,7 +4083,7 @@ class Form $langs->loadCacheCurrencies(''); // Load ->cache_currencies $TCurrency = array(); - + $sql = 'SELECT code FROM '.MAIN_DB_PREFIX.'multicurrency'; $sql.= " WHERE entity IN ('".getEntity('mutlicurrency')."')"; $resql = $db->query($sql); @@ -4089,7 +4091,7 @@ class Form { while ($obj = $db->fetch_object($resql)) $TCurrency[$obj->code] = $obj->code; } - + $out=''; $out.= ''; return $out; } - + /** * Load into the cache vat rates of a country * @@ -4204,7 +4206,7 @@ class Form $defaulttx=preg_replace('/\s*\(.*\)/','',$defaulttx); } //var_dump($selectedrate.'-'.$defaulttx.'-'.$defaultnpr.'-'.$defaultcode); - + // Check parameters if (is_object($societe_vendeuse) && ! $societe_vendeuse->country_code) { @@ -4263,7 +4265,7 @@ class Form // Now we get list $num = $this->load_cache_vatrates($code_country); // If no vat defined, return -1 with message into this->error - + if ($num > 0) { // Definition du taux a pre-selectionner (si defaulttx non force et donc vaut -1 ou '') @@ -4304,7 +4306,7 @@ class Form $return.= '"'; if ($defaultcode) // If defaultcode is defined, we used it in priority to select combo option instead of using rate+npr flag { - if ($defaultcode == $rate['code']) $return.= ' selected'; + if ($defaultcode == $rate['code']) $return.= ' selected'; } elseif ($rate['txtva'] == $defaulttx && $rate['nprtva'] == $defaultnpr) { @@ -4313,7 +4315,7 @@ class Form $return.= '>'.vatrate($rate['libtva']); //$return.=($rate['code']?' '.$rate['code']:''); $return.= (empty($rate['code']) && $rate['nprtva']) ? ' *': ''; // We show the * (old behaviour only if new vat code is not used) - + $return.= ''; } @@ -4617,7 +4619,7 @@ class Form { $tmparray=dol_getdate($adddateof); $retstring.=' -
'; print '
     
'; - + print ''; $this->db->free($resqlorderlist); } else { @@ -5607,9 +5609,9 @@ class Form //print "xx".$previous_ref."x".$next_ref; $ret.='
'; - + if ($morehtmlleft) $ret.='
'.$morehtmlleft.'
'; - + $ret.='
'; // For thirdparty and contact, the ref is the id, so we show something else @@ -5629,7 +5631,7 @@ class Form $ret.='
'; if ($morehtmlright) $ret.='
'.$morehtmlright.'
'; - + if ($previous_ref || $next_ref || $morehtml) { $ret.=''; - + return $ret; } @@ -5708,7 +5710,7 @@ class Form if ($modulepart=='societe') { $dir=$conf->societe->multidir_output[$entity]; - if (! empty($object->logo)) + if (! empty($object->logo)) { if ((string) $imagesize == 'mini') $file=get_exdir(0, 0, 0, 0, $object, 'thirdparty').'/logos/'.getImageFileNameForSize($object->logo, '_mini'); // getImageFileNameForSize include the thumbs else if ((string) $imagesize == 'small') $file=get_exdir(0, 0, 0, 0, $object, 'thirdparty').'/logos/'.getImageFileNameForSize($object->logo, '_small'); @@ -5743,7 +5745,7 @@ class Form else if ($modulepart=='memberphoto') { $dir=$conf->adherent->dir_output; - if (! empty($object->photo)) + if (! empty($object->photo)) { if ((string) $imagesize == 'mini') $file=get_exdir($id, 2, 0, 0, $object, 'member').'photos/'.getImageFileNameForSize($object->photo, '_mini'); else if ((string) $imagesize == 'small') $file=get_exdir($id, 2, 0, 0, $object, 'member').'photos/'.getImageFileNameForSize($object->photo, '_small'); @@ -5752,11 +5754,11 @@ class Form } if (! empty($conf->global->MAIN_OLD_IMAGE_LINKS)) $altfile=$object->id.".jpg"; // For backward compatibility $email=$object->email; - } - else + } + else { $dir=$conf->$modulepart->dir_output; - if (! empty($object->photo)) + if (! empty($object->photo)) { if ((string) $imagesize == 'mini') $file=get_exdir($id, 2, 0, 0, $object, $modulepart).'photos/'.getImageFileNameForSize($object->photo, '_mini'); else if ((string) $imagesize == 'small') $file=get_exdir($id, 2, 0, 0, $object, $modulepart).'photos/'.getImageFileNameForSize($object->photo, '_small'); @@ -5934,10 +5936,10 @@ class Form * @param int $addcheckuncheckall Add the check all/uncheck all checkbox (use javascript) and code to manage this * @param string $cssclass CSS class * @param int $calljsfunction 0=default. 1=call function initCheckForSelect() after changing status of checkboxes - * @return string + * @return string */ function showFilterAndCheckAddButtons($addcheckuncheckall=0, $cssclass='checkforaction', $calljsfunction=0) - { + { global $conf, $langs; $out=''; From 13f33ab9c7c6c638fffde01480d2d53d26ebd985 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Thu, 4 Aug 2016 09:23:10 +0200 Subject: [PATCH 245/476] syntax --- htdocs/core/class/html.form.class.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index f8baa72d4cc..a75fd5aa28f 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -2033,8 +2033,11 @@ class Form { $opt.= ' - '.$langs->trans("Stock").':'.$objp->stock; - if ($objp->stock > 0) $outval.= ''.' - '.$langs->transnoentities("Stock").':'.$objp->stock.''; - else if ($objp->stock <= 0) $outval.= ''.' - '.$langs->transnoentities("Stock").':'.$objp->stock.''; + if ($objp->stock > 0) { + $outval.= ' - '.$langs->transnoentities("Stock").':'.$objp->stock.''; + }elseif ($objp->stock <= 0) { + $outval.= ' - '.$langs->transnoentities("Stock").':'.$objp->stock.''; + } } if ($outdurationvalue && $outdurationunit) From f0622139ffde6856d31f271cf053693786dc5b65 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Thu, 4 Aug 2016 09:55:16 +0200 Subject: [PATCH 246/476] NEW : Add workflow to classifed propal bill on invoice validation --- htdocs/admin/workflow.php | 5 +++-- ...ace_20_modWorkflow_WorkflowManager.class.php | 17 +++++++++++++++-- htdocs/langs/en_US/workflow.lang | 1 + 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/htdocs/admin/workflow.php b/htdocs/admin/workflow.php index 28feb8ab23e..717a25aa8b3 100644 --- a/htdocs/admin/workflow.php +++ b/htdocs/admin/workflow.php @@ -76,6 +76,7 @@ $workflowcodes=array( 'WORKFLOW_PROPAL_AUTOCREATE_ORDER'=>array('family'=>'create', 'position'=>10, 'enabled'=>'! empty($conf->propal->enabled) && ! empty($conf->commande->enabled)', 'picto'=>'order'), 'WORKFLOW_ORDER_AUTOCREATE_INVOICE'=>array('family'=>'create', 'position'=>20, 'enabled'=>'! empty($conf->commande->enabled) && ! empty($conf->facture->enabled)', 'picto'=>'bill'), 'WORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL'=>array('family'=>'classify', 'position'=>30, 'enabled'=>'! empty($conf->propal->enabled) && ! empty($conf->commande->enabled)', 'picto'=>'order','warning'=>'WarningCloseAlways'), + 'WORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL'=>array('family'=>'classify', 'position'=>30, 'enabled'=>'! empty($conf->propal->enabled) && ! empty($conf->facture->enabled)', 'picto'=>'order','warning'=>'WarningCloseAlways'), // For the following 2 options, if module invoice is disabled, they does not exists, so "Classify billed" for order must be done manually from order card. 'WORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER'=>array('family'=>'classify', 'position'=>40, 'enabled'=>'! empty($conf->facture->enabled) && ! empty($conf->commande->enabled)', 'picto'=>'bill','warning'=>'WarningCloseAlways'), 'WORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER'=>array('family'=>'classify', 'position'=>50, 'enabled'=>'! empty($conf->facture->enabled) && ! empty($conf->commande->enabled)', 'picto'=>'bill','warning'=>'WarningCloseAlways'), @@ -110,8 +111,8 @@ foreach($workflowcodes as $key => $params) print ' '.$langs->trans("Status").''; print "\n"; $oldfamily = $family; - } - + } + $var = !$var; print "\n"; print "".img_object('', $picto).$langs->trans('desc'.$key); diff --git a/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php b/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php index b0b4893d485..fd97edc8089 100644 --- a/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php +++ b/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php @@ -64,7 +64,7 @@ class InterfaceWorkflowManager extends DolibarrTriggers $newobject->context['createfrompropal'] = 'createfrompropal'; $newobject->context['origin'] = $object->element; $newobject->context['origin_id'] = $object->id; - + $ret=$newobject->createFromProposal($object); if ($ret < 0) { $this->error=$newobject->error; $this->errors[]=$newobject->error; } return $ret; @@ -83,7 +83,7 @@ class InterfaceWorkflowManager extends DolibarrTriggers $newobject->context['createfromorder'] = 'createfromorder'; $newobject->context['origin'] = $object->element; $newobject->context['origin_id'] = $object->id; - + $ret=$newobject->createFromOrder($object); if ($ret < 0) { $this->error=$newobject->error; $this->errors[]=$newobject->error; } return $ret; @@ -144,6 +144,19 @@ class InterfaceWorkflowManager extends DolibarrTriggers } return $ret; } + + if (! empty($conf->propal->enabled) && ! empty($conf->global->WORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL)) + { + $object->fetchObjectLinked('','propal',$object->id,$object->element); + if (! empty($object->linkedObjects)) + { + foreach($object->linkedObjects['propal'] as $element) + { + $ret=$element->classifyBilled($user); + } + } + return $ret; + } } return 0; diff --git a/htdocs/langs/en_US/workflow.lang b/htdocs/langs/en_US/workflow.lang index 1c59a3651ec..688938f28ea 100644 --- a/htdocs/langs/en_US/workflow.lang +++ b/htdocs/langs/en_US/workflow.lang @@ -9,3 +9,4 @@ descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Automatically create a customer invoice af descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer invoice is validated From da84fac390306ebe5f7c7cadc68c9df89b6b1fb3 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 4 Aug 2016 10:08:58 +0200 Subject: [PATCH 247/476] Fix: data were lost if creation failed --- htdocs/langs/en_US/projects.lang | 2 +- htdocs/projet/card.php | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/htdocs/langs/en_US/projects.lang b/htdocs/langs/en_US/projects.lang index fe21b3558ba..8c23135ddbd 100644 --- a/htdocs/langs/en_US/projects.lang +++ b/htdocs/langs/en_US/projects.lang @@ -174,7 +174,7 @@ ProjectOpenedProjectByOppStatus=Open project/lead by opportunity status ProjectsStatistics=Statistics on projects/leads TaskAssignedToEnterTime=Task assigned. Entering time on this task should be possible. IdTaskTime=Id task time -YouCanCompleteRef=If you want to complete the ref with some information (to use it as search filters), it is recommanded to add a - character to separate it, so the automatic numbering will still work correctly for next projects. For example %s-ABC. You may also prefer to add search keys into label. +YouCanCompleteRef=If you want to complete the ref with some information (to use it as search filters), it is recommanded to add a - character to separate it, so the automatic numbering will still work correctly for next projects. For example %s-ABC. You may also prefer to add search keys into label. But best practice may be to add a dedicated field, also called complementary attributes. OpenedProjectsByThirdparties=Open projects by thirdparties OnlyOpportunitiesShort=Only opportunities OpenedOpportunitiesShort=Open opportunities diff --git a/htdocs/projet/card.php b/htdocs/projet/card.php index 1b43eb1dd39..dd111b62396 100644 --- a/htdocs/projet/card.php +++ b/htdocs/projet/card.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004-2015 Laurent Destailleur + * Copyright (C) 2004-2016 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * * This program is free software; you can redistribute it and/or modify @@ -492,7 +492,7 @@ if ($action == 'create' && $user->rights->projet->creer) // Public print ''.$langs->trans("Visibility").''; $array=array(0 => $langs->trans("PrivateProject"),1 => $langs->trans("SharedProject")); - print $form->selectarray('public',$array,$object->public); + print $form->selectarray('public',$array,GETPOST('public')?GETPOST('public'):(isset($conf->global->PROJECT_DEFAULT_PUBLIC)?$conf->global->PROJECT_DEFAULT_PUBLIC:$object->public)); print ''; // Date start @@ -510,7 +510,7 @@ if ($action == 'create' && $user->rights->projet->creer) // Opportunity status print ''.$langs->trans("OpportunityStatus").''; print ''; - print $formproject->selectOpportunityStatus('opp_status',$object->opp_status); + print $formproject->selectOpportunityStatus('opp_status', GETPOST('opp_status')?GETPOST('opp_status'):$object->opp_status); print ''; // Opportunity probability From caa987fb613c8643787e06e27029603ba7bc55b7 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 4 Aug 2016 10:13:27 +0200 Subject: [PATCH 248/476] Clean obsolete comment --- htdocs/fourn/facture/list.php | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/htdocs/fourn/facture/list.php b/htdocs/fourn/facture/list.php index 8ffd81c8ea4..574501276be 100644 --- a/htdocs/fourn/facture/list.php +++ b/htdocs/fourn/facture/list.php @@ -546,19 +546,7 @@ if ($resql) if (! empty($arrayfields['f.tms']['checked'])) print_liste_field_titre($arrayfields['f.tms']['label'],$_SERVER["PHP_SELF"],"f.tms","",$param,'align="center" class="nowrap"',$sortfield,$sortorder); if (! empty($arrayfields['f.fk_statut']['checked'])) print_liste_field_titre($arrayfields['f.fk_statut']['label'],$_SERVER["PHP_SELF"],"fk_statut,paye","",$param,'align="right"',$sortfield,$sortorder); print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"],"",'','','align="right"',$sortfield,$sortorder,'maxwidthsearch '); -/* - print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"f.ref,f.rowid","",$param,"",$sortfield,$sortorder); - if (empty($conf->global->SUPPLIER_INVOICE_HIDE_REF_SUPPLIER)) print_liste_field_titre($langs->trans("RefSupplier"),$_SERVER["PHP_SELF"],"ref_supplier","",$param,"",$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"],"f.datef,f.rowid","",$param,'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("DateDue"),$_SERVER["PHP_SELF"],"f.date_lim_reglement","",$param,'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Label"),$_SERVER["PHP_SELF"],"f.libelle","",$param,"",$sortfield,$sortorder); - print_liste_field_titre($langs->trans("ThirdParty"),$_SERVER["PHP_SELF"],"s.nom","",$param,"",$sortfield,$sortorder); - if (! empty($conf->global->PROJECT_SHOW_REF_INTO_LISTS)) print_liste_field_titre($langs->trans("Project"),$_SERVER["PHP_SELF"],"p.ref","",$param,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("AmountHT"),$_SERVER["PHP_SELF"],"f.total_ht","",$param,'align="right"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("AmountTTC"),$_SERVER["PHP_SELF"],"f.total_ttc","",$param,'align="right"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"fk_statut,paye","",$param,'align="right"',$sortfield,$sortorder); - print_liste_field_titre('',$_SERVER["PHP_SELF"],"",'','','',$sortfield,$sortorder,'maxwidthsearch '); -*/ print "\n"; + print "\n"; // Line for filters From af150c35fc227fb5e4d2ee32437cdae9ce9d19b9 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 4 Aug 2016 10:19:30 +0200 Subject: [PATCH 249/476] Fix no picto on setup pages --- htdocs/admin/supplier_payment.php | 2 +- htdocs/projet/admin/project.php | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/htdocs/admin/supplier_payment.php b/htdocs/admin/supplier_payment.php index bc960c7bd2c..b5732d1f1c9 100644 --- a/htdocs/admin/supplier_payment.php +++ b/htdocs/admin/supplier_payment.php @@ -94,7 +94,7 @@ dol_fiche_head($head, 'supplierpayment', $langs->trans("Suppliers"), 0, 'company if (empty($conf->global->SUPPLIER_PAYMENT_ADDON)) $conf->global->SUPPLIER_PAYMENT_ADDON = 'mod_supplier_payment_bronan'; -print load_fiche_titre($langs->trans("PaymentsNumberingModule")); +print load_fiche_titre($langs->trans("PaymentsNumberingModule"), '', ''); print ''; print ''; diff --git a/htdocs/projet/admin/project.php b/htdocs/projet/admin/project.php index 5233832ea05..fca5eeb22f6 100644 --- a/htdocs/projet/admin/project.php +++ b/htdocs/projet/admin/project.php @@ -1,6 +1,6 @@ - * Copyright (C) 2011 Laurent Destailleur + * Copyright (C) 2011-2016 Laurent Destailleur * Copyright (C) 2011-2012 Juanjo Menent * Copyright (C) 2011-2015 Philippe Grand * Copyright (C) 2013 Florian Henry @@ -373,7 +373,7 @@ print '
'; * Projects Numbering model */ -print load_fiche_titre($langs->trans("ProjectsNumberingModules")); +print load_fiche_titre($langs->trans("ProjectsNumberingModules"), '', ''); print '
'; print ''; @@ -477,7 +477,7 @@ print '

'; if (empty($conf->global->PROJECT_HIDE_TASKS)) { // Task numbering module - print load_fiche_titre($langs->trans("TasksNumberingModules")); + print load_fiche_titre($langs->trans("TasksNumberingModules"), '', ''); print ''; print ''; @@ -583,7 +583,7 @@ if (empty($conf->global->PROJECT_HIDE_TASKS)) * Document templates generators */ -print load_fiche_titre($langs->trans("ProjectsModelModule")); +print load_fiche_titre($langs->trans("ProjectsModelModule"), '', ''); // Defini tableau def de modele $type='project'; @@ -742,7 +742,7 @@ if (empty($conf->global->PROJECT_HIDE_TASKS)) * Modeles documents for Task */ - print load_fiche_titre($langs->trans("TaskModelModule")); + print load_fiche_titre($langs->trans("TaskModelModule"), '', ''); // Defini tableau def de modele $type='project_task'; @@ -894,7 +894,7 @@ if (empty($conf->global->PROJECT_HIDE_TASKS)) } -print load_fiche_titre($langs->trans("Other")); +print load_fiche_titre($langs->trans("Other"), '', ''); // Other options $form=new Form($db); From 11ab49d85da58ac265018bff6f60f1903b421a29 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 4 Aug 2016 10:27:19 +0200 Subject: [PATCH 250/476] Fix bad help --- htdocs/langs/en_US/admin.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 369dde1cf1c..8672056858b 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -179,7 +179,7 @@ FeatureDisabledInDemo=Feature disabled in demo Rights=Permissions BoxesDesc=Widgets are components showing some information that you can add to personalize some pages. You can choose between showing the widget or not by selecting target page and clicking 'Activate', or by clicking the dustbin to disable it. OnlyActiveElementsAreShown=Only elements from enabled modules are shown. -ModulesDesc=Dolibarr modules define which functionality is enabled in software. Some modules require permissions you must grant to users, after enabling module. Click on button on/off in column "Status" to enable a module/feature. +ModulesDesc=Dolibarr modules define which functionality is enabled in software. Some modules require permissions you must grant to users, after enabling module. Click on button on/off to enable a module/feature. ModulesMarketPlaceDesc=You can find more modules to download on external websites on the Internet... ModulesMarketPlaces=More modules... DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules From e0b9496f9e18568cf3d14bc1f9bbd53384bb6477 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 4 Aug 2016 10:44:17 +0200 Subject: [PATCH 251/476] Fix link sometimes fails because of id not defined --- htdocs/core/class/html.form.class.php | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 61a999f7a04..2929044a858 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -5312,6 +5312,7 @@ class Form $i = 0; print '
'; + print ''; print '
'; print ''; print ''; From 5247faf50f7a52c83063e13e0e2c20a33395349f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 4 Aug 2016 10:48:19 +0200 Subject: [PATCH 252/476] Fix align --- htdocs/expensereport/card.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php index df2fe11bfbd..d3b25d2277f 100644 --- a/htdocs/expensereport/card.php +++ b/htdocs/expensereport/card.php @@ -1813,7 +1813,7 @@ else // Select project if (! empty($conf->projet->enabled)) { - print ''; } From 4001bc474e1ae0b803d75fef9ac2601024112a40 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Thu, 4 Aug 2016 11:37:32 +0200 Subject: [PATCH 253/476] NEW : Add workflow to calculated supplier order status on stock dispatch --- htdocs/admin/stock.php | 58 ++++++-- htdocs/admin/workflow.php | 5 +- ...e_20_modWorkflow_WorkflowManager.class.php | 57 +++++++- .../fournisseur.commande.dispatch.class.php | 135 +++++++++++++++--- htdocs/langs/en_US/stocks.lang | 1 + htdocs/langs/en_US/workflow.lang | 1 + 6 files changed, 223 insertions(+), 34 deletions(-) diff --git a/htdocs/admin/stock.php b/htdocs/admin/stock.php index e258011de76..492c77f1dba 100644 --- a/htdocs/admin/stock.php +++ b/htdocs/admin/stock.php @@ -73,12 +73,27 @@ if($action) || $action == 'STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER' || $action == 'STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER') { + //Use variable cause empty(GETPOST()) do not work with php version < 5.4 + $valdispatch=GETPOST('STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER','alpha'); + $res=dolibarr_set_const($db, "STOCK_CALCULATE_ON_SUPPLIER_BILL", '','chaine',0,'',$conf->entity); $res=dolibarr_set_const($db, "STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER", '','chaine',0,'',$conf->entity); $res=dolibarr_set_const($db, "STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER", '','chaine',0,'',$conf->entity); if ($action == 'STOCK_CALCULATE_ON_SUPPLIER_BILL') $res=dolibarr_set_const($db, "STOCK_CALCULATE_ON_SUPPLIER_BILL", GETPOST('STOCK_CALCULATE_ON_SUPPLIER_BILL','alpha'),'chaine',0,'',$conf->entity); if ($action == 'STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER') $res=dolibarr_set_const($db, "STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER", GETPOST('STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER','alpha'),'chaine',0,'',$conf->entity); - if ($action == 'STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER') $res=dolibarr_set_const($db, "STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER", GETPOST('STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER','alpha'),'chaine',0,'',$conf->entity); + if ($action == 'STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER') $res=dolibarr_set_const($db, "STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER", $valdispatch,'chaine',0,'',$conf->entity); + if ($conf->workflow->enabled && !empty($conf->global->WORKFLOW_ORDER_CLASSIFY_RECEIPT_ORDER)) { + if (empty($valdispatch)) { + $res=dolibarr_set_const($db, "WORKFLOW_ORDER_CLASSIFY_RECEIPT_ORDER", '','chaine',0,'',$conf->entity); + } + } + if (empty($valdispatch)) { + $res=dolibarr_set_const($db, "SUPPLIER_ORDER_USE_DISPATCH_STATUS", '','chaine',0,'',$conf->entity); + } + } + + if($action == 'SUPPLIER_ORDER_USE_DISPATCH_STATUS') { + $res = dolibarr_set_const($db, "SUPPLIER_ORDER_USE_DISPATCH_STATUS", GETPOST('SUPPLIER_ORDER_USE_DISPATCH_STATUS','alpha'),'chaine',0,'',$conf->entity); } if($action == 'STOCK_USE_VIRTUAL_STOCK') { @@ -163,7 +178,7 @@ if (! empty($conf->facture->enabled)) } else { - print $langs->trans("ModuleMustBeEnabledFirst", $langs->transnoentitiesnoconv("Module30Name")); + print $langs->trans("ModuleMustBeEnabledFirst", $langs->transnoentitiesnoconv("Module30Name")); } print "\n\n"; $found++; @@ -183,7 +198,7 @@ if (! empty($conf->commande->enabled)) } else { - print $langs->trans("ModuleMustBeEnabledFirst", $langs->transnoentitiesnoconv("Module25Name")); + print $langs->trans("ModuleMustBeEnabledFirst", $langs->transnoentitiesnoconv("Module25Name")); } print "\n\n"; $found++; @@ -205,7 +220,7 @@ if (! empty($conf->expedition->enabled)) } else { - print $langs->trans("ModuleMustBeEnabledFirst", $langs->transnoentitiesnoconv("Module80Name")); + print $langs->trans("ModuleMustBeEnabledFirst", $langs->transnoentitiesnoconv("Module80Name")); } print "\n\n"; $found++; @@ -225,7 +240,7 @@ if (! empty($conf->expedition->enabled)) } else { - print $langs->trans("ModuleMustBeEnabledFirst", $langs->transnoentitiesnoconv("Module80Name")); + print $langs->trans("ModuleMustBeEnabledFirst", $langs->transnoentitiesnoconv("Module80Name")); } print "\n\n"; $found++; @@ -267,7 +282,7 @@ if (! empty($conf->fournisseur->enabled)) } else { - print $langs->trans("ModuleMustBeEnabledFirst", $langs->transnoentitiesnoconv("Module40Name")); + print $langs->trans("ModuleMustBeEnabledFirst", $langs->transnoentitiesnoconv("Module40Name")); } print "\n\n"; $found++; @@ -288,7 +303,7 @@ if (! empty($conf->fournisseur->enabled)) } else { - print $langs->trans("ModuleMustBeEnabledFirst", $langs->transnoentitiesnoconv("Module40Name")); + print $langs->trans("ModuleMustBeEnabledFirst", $langs->transnoentitiesnoconv("Module40Name")); } print "\n\n"; $found++; @@ -308,9 +323,30 @@ if (! empty($conf->fournisseur->enabled)) } else { - print $langs->trans("ModuleMustBeEnabledFirst", $langs->transnoentitiesnoconv("Module40Name")); + print $langs->trans("ModuleMustBeEnabledFirst", $langs->transnoentitiesnoconv("Module40Name")); } print "\n\n"; + +if (!empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER)) { + $var=!$var; + print ""; + print ''; + print '\n\n"; +} $found++; /*if (! $found) @@ -446,13 +482,13 @@ print '
'; /* I keep the option/feature, but hidden to end users for the moment. If feature is used by module, no need to have users see it. If not used by a module, I still need to understand in which case user may need this now we can set rule on product page. -if ($conf->global->PRODUIT_SOUSPRODUITS) +if ($conf->global->PRODUIT_SOUSPRODUITS) { $var=!$var; - + print ""; print ''; - + print ''; print "\n"; $oldfamily = $family; - } - + } + $var = !$var; print "\n"; print "
'; + print ''; $formproject->select_projects(-1, $fk_projet, 'fk_projet', 0, 0, 1, 1); print '
'.$langs->trans("UseDispatchStatus").''; + if (! empty($conf->fournisseur->enabled)) + { + print ""; + print ''; + print ""; + print $form->selectyesno("SUPPLIER_ORDER_USE_DISPATCH_STATUS",$conf->global->SUPPLIER_ORDER_USE_DISPATCH_STATUS,1,$disabled); + print ''; + print "\n"; + } + else + { + print $langs->trans("ModuleMustBeEnabledFirst", $langs->transnoentitiesnoconv("Module40Name")); + } + print "
'.$langs->trans("IndependantSubProductStock").''; print "
"; print ''; diff --git a/htdocs/admin/workflow.php b/htdocs/admin/workflow.php index 28feb8ab23e..b81162c5cfa 100644 --- a/htdocs/admin/workflow.php +++ b/htdocs/admin/workflow.php @@ -79,6 +79,7 @@ $workflowcodes=array( // For the following 2 options, if module invoice is disabled, they does not exists, so "Classify billed" for order must be done manually from order card. 'WORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER'=>array('family'=>'classify', 'position'=>40, 'enabled'=>'! empty($conf->facture->enabled) && ! empty($conf->commande->enabled)', 'picto'=>'bill','warning'=>'WarningCloseAlways'), 'WORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER'=>array('family'=>'classify', 'position'=>50, 'enabled'=>'! empty($conf->facture->enabled) && ! empty($conf->commande->enabled)', 'picto'=>'bill','warning'=>'WarningCloseAlways'), + 'WORKFLOW_SUPPLIER_ORDER_CLASSIFY_RECEIPT_ORDER'=>array('family'=>'classify', 'position'=>50, 'enabled'=>'! empty($conf->fournisseur->enabled) && ! empty($conf->commande->enabled) && ! empty($conf->stock->enabled) && ! empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER)', 'picto'=>'order'), ); if (! empty($conf->modules_parts['workflow']) && is_array($conf->modules_parts['workflow'])) @@ -110,8 +111,8 @@ foreach($workflowcodes as $key => $params) print '
'.$langs->trans("Status").'
".img_object('', $picto).$langs->trans('desc'.$key); diff --git a/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php b/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php index b0b4893d485..1da35108789 100644 --- a/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php +++ b/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php @@ -64,7 +64,7 @@ class InterfaceWorkflowManager extends DolibarrTriggers $newobject->context['createfrompropal'] = 'createfrompropal'; $newobject->context['origin'] = $object->element; $newobject->context['origin_id'] = $object->id; - + $ret=$newobject->createFromProposal($object); if ($ret < 0) { $this->error=$newobject->error; $this->errors[]=$newobject->error; } return $ret; @@ -83,7 +83,7 @@ class InterfaceWorkflowManager extends DolibarrTriggers $newobject->context['createfromorder'] = 'createfromorder'; $newobject->context['origin'] = $object->element; $newobject->context['origin_id'] = $object->id; - + $ret=$newobject->createFromOrder($object); if ($ret < 0) { $this->error=$newobject->error; $this->errors[]=$newobject->error; } return $ret; @@ -146,6 +146,59 @@ class InterfaceWorkflowManager extends DolibarrTriggers } } + // classify supplier order delivery status + if ($action == 'ORDER_SUPPLIER_DISPATCH') + { + dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); + + if (! empty($conf->commande->enabled) && ! empty($conf->fournisseur->enabled) && ! empty($conf->global->WORKFLOW_SUPPLIER_ORDER_CLASSIFY_RECEIPT_ORDER)) + { + require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.dispatch.class.php'; + + $qtydelivered=array(); + $qtywished=array(); + + $supplierorderdispatch = new CommandeFournisseurDispatch($this->db); + $filter=array('t.fk_commande'=>$object->id); + if (!empty($conf->global->SUPPLIER_ORDER_USE_DISPATCH_STATUS)) { + $filter['t.status']=1; + } + $ret=$supplierorderdispatch->fetchAll('','',0,0,$filter); + if ($ret<0) { + $this->error=$supplierorderdispatch->error; $this->errors=$supplierorderdispatch->errors; + return $ret; + } else { + if (is_array($supplierorderdispatch->lines) && count($supplierorderdispatch->lines)>0) { + //Build array with quantity deliverd by product + foreach($supplierorderdispatch->lines as $line) { + $qtydelivered[$line->fk_product]+=$line->qty; + } + foreach($object->lines as $line) { + $qtywished[$line->fk_product]+=$line->qty; + } + //Compare array + $diff_array=array_diff_assoc($qtydelivered,$qtywished); + if (count($diff_array)==0) { + //No diff => mean everythings is received + $ret=$object->setStatus($user,5); + if ($ret<0) { + $this->error=$object->error; $this->errors=$object->errors; + } + } else { + //Diff => received partially + $ret=$object->setStatus($user,4); + if ($ret<0) { + $this->error=$object->error; $this->errors=$object->errors; + } + } + } + } + + + return $ret; + } + } + return 0; } diff --git a/htdocs/fourn/class/fournisseur.commande.dispatch.class.php b/htdocs/fourn/class/fournisseur.commande.dispatch.class.php index 4d6f75444b8..0464a9fb51f 100644 --- a/htdocs/fourn/class/fournisseur.commande.dispatch.class.php +++ b/htdocs/fourn/class/fournisseur.commande.dispatch.class.php @@ -34,27 +34,28 @@ require_once(DOL_DOCUMENT_ROOT."/core/class/commonobject.class.php"); */ class CommandeFournisseurDispatch extends CommonObject { - var $db; //!< To store db handler - var $error; //!< To return error code (or message) - var $errors=array(); //!< To return several error codes (or messages) - var $element='commandefournisseurdispatch'; //!< Id that identify managed objects - var $table_element='commande_fournisseur_dispatch'; //!< Name of table without prefix where object is stored + public $db; //!< To store db handler + public $error; //!< To return error code (or message) + public $errors=array(); //!< To return several error codes (or messages) + public $element='commandefournisseurdispatch'; //!< Id that identify managed objects + public $table_element='commande_fournisseur_dispatch'; //!< Name of table without prefix where object is stored + public $lines=array(); - var $id; + public $id; - var $fk_commande; - var $fk_product; - var $fk_commandefourndet; - var $qty; - var $fk_entrepot; - var $fk_user; - var $datec=''; - var $comment; - var $status; - var $tms=''; - var $batch; - var $eatby=''; - var $sellby=''; + public $fk_commande; + public $fk_product; + public $fk_commandefourndet; + public $qty; + public $fk_entrepot; + public $fk_user; + public $datec=''; + public $comment; + public $status; + public $tms=''; + public $batch; + public $eatby=''; + public $sellby=''; @@ -539,4 +540,100 @@ class CommandeFournisseurDispatch extends CommonObject } + /** + * Load object in memory from the database + * + * @param string $sortorder Sort Order + * @param string $sortfield Sort field + * @param int $limit offset limit + * @param int $offset offset limit + * @param array $filter filter array + * @param string $filtermode filter mode (AND or OR) + * + * @return int <0 if KO, >0 if OK + */ + public function fetchAll($sortorder='', $sortfield='', $limit=0, $offset=0, array $filter = array(), $filtermode='AND') + { + dol_syslog(__METHOD__, LOG_DEBUG); + + $sql = "SELECT"; + $sql.= " t.rowid,"; + + $sql.= " t.fk_commande,"; + $sql.= " t.fk_product,"; + $sql.= " t.fk_commandefourndet,"; + $sql.= " t.qty,"; + $sql.= " t.fk_entrepot,"; + $sql.= " t.fk_user,"; + $sql.= " t.datec,"; + $sql.= " t.comment,"; + $sql.= " t.status,"; + $sql.= " t.tms,"; + $sql.= " t.batch,"; + $sql.= " t.eatby,"; + $sql.= " t.sellby"; + + $sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element." as t"; + + // Manage filter + $sqlwhere = array(); + if (count($filter) > 0) { + foreach ($filter as $key => $value) { + if ($key=='t.comment') { + $sqlwhere [] = $key . ' LIKE \'%' . $this->db->escape($value) . '%\''; + } elseif ($key=='t.datec' || $key=='t.tms' || $key=='t.eatby' || $key=='t.sellby' || $key=='t.batch') { + $sqlwhere [] = $key . ' = \'' . $this->db->escape($value) . '\''; + } else { + $sqlwhere [] = $key . ' = ' . $this->db->escape($value); + } + } + } + if (count($sqlwhere) > 0) { + $sql .= ' WHERE ' . implode(' '.$filtermode.' ', $sqlwhere); + } + + if (!empty($sortfield)) { + $sql .= $this->db->order($sortfield,$sortorder); + } + if (!empty($limit)) { + $sql .= ' ' . $this->db->plimit($limit + 1, $offset); + } + $this->lines = array(); + + $resql = $this->db->query($sql); + if ($resql) { + $num = $this->db->num_rows($resql); + + while ($obj = $this->db->fetch_object($resql)) { + $line = new self($this->db); + + $line->id = $obj->rowid; + + $line->fk_commande = $obj->fk_commande; + $line->fk_product = $obj->fk_product; + $line->fk_commandefourndet = $obj->fk_commandefourndet; + $line->qty = $obj->qty; + $line->fk_entrepot = $obj->fk_entrepot; + $line->fk_user = $obj->fk_user; + $line->datec = $this->db->jdate($obj->datec); + $line->comment = $obj->comment; + $line->status = $obj->status; + $line->tms = $this->db->jdate($obj->tms); + $line->batch = $obj->batch; + $line->eatby = $this->db->jdate($obj->eatby); + $line->sellby = $this->db->jdate($obj->sellby); + + $this->lines[$line->id] = $line; + } + $this->db->free($resql); + + return $num; + } else { + $this->errors[] = 'Error ' . $this->db->lasterror(); + dol_syslog(__METHOD__ . ' ' . implode(',', $this->errors), LOG_ERR); + + return - 1; + } + } + } diff --git a/htdocs/langs/en_US/stocks.lang b/htdocs/langs/en_US/stocks.lang index 8ea8ad609d1..10c463f71c4 100644 --- a/htdocs/langs/en_US/stocks.lang +++ b/htdocs/langs/en_US/stocks.lang @@ -132,3 +132,4 @@ OpenAll=Open for all actions OpenInternal=Open for internal actions OpenShipping=Open for shippings OpenDispatch=Open for dispatch +UseDispatchStatus=Use dispatch status (aprouve/refuse) diff --git a/htdocs/langs/en_US/workflow.lang b/htdocs/langs/en_US/workflow.lang index 1c59a3651ec..f0634d63841 100644 --- a/htdocs/langs/en_US/workflow.lang +++ b/htdocs/langs/en_US/workflow.lang @@ -9,3 +9,4 @@ descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Automatically create a customer invoice af descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +descWORKFLOW_SUPPLIER_ORDER_CLASSIFY_RECEIPT_ORDER=Classify supplier order status to Partially or Totally delivered on manual stock dispatch \ No newline at end of file From 7f6e2a277a32aeabce0d88f569ee441e5535665e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 4 Aug 2016 11:57:37 +0200 Subject: [PATCH 254/476] NEW Link between objects can be done on both side and on all objects --- htdocs/adherents/fiche_subscription.php | 2 +- htdocs/comm/propal/card.php | 6 +- htdocs/commande/card.php | 6 +- htdocs/compta/facture.php | 14 +- htdocs/contrat/card.php | 4 +- htdocs/core/actions_dellink.inc.php | 17 +- htdocs/core/class/commonobject.class.php | 28 ++- htdocs/core/class/html.form.class.php | 266 +++++++---------------- htdocs/expedition/card.php | 4 +- htdocs/expensereport/card.php | 8 +- htdocs/fichinter/card.php | 6 +- htdocs/fourn/commande/card.php | 4 +- htdocs/fourn/facture/card.php | 6 +- htdocs/langs/fr_FR/main.lang | 8 + htdocs/product/stock/productlot_card.php | 4 +- htdocs/supplier_proposal/card.php | 5 +- 16 files changed, 147 insertions(+), 241 deletions(-) diff --git a/htdocs/adherents/fiche_subscription.php b/htdocs/adherents/fiche_subscription.php index 28fb2268d4c..2e149dbc028 100644 --- a/htdocs/adherents/fiche_subscription.php +++ b/htdocs/adherents/fiche_subscription.php @@ -424,7 +424,7 @@ if ($rowid && $action != 'edit') // Show links to link elements /*$linktoelem = $form->showLinkToObjectBlock($object,array('order')); - if ($linktoelem) print '
'.$linktoelem; + if ($linktoelem) print ($somethingshown?'':'
').$linktoelem; // Link for paypal payment if (! empty($conf->paypal->enabled) && $object->statut != 0) { diff --git a/htdocs/comm/propal/card.php b/htdocs/comm/propal/card.php index 1e580826e96..0e2a4219e55 100644 --- a/htdocs/comm/propal/card.php +++ b/htdocs/comm/propal/card.php @@ -2324,9 +2324,9 @@ if ($action == 'create') $somethingshown = $form->showLinkedObjectBlock($object); // Show links to link elements - $linktoelem = $form->showLinkToObjectBlock($object); - if ($linktoelem) print '
'.$linktoelem; - + $linktoelem = $form->showLinkToObjectBlock($object, null, array('propal')); + if ($linktoelem) print ($somethingshown?'':'
').$linktoelem; + print '
'; // print '
'; diff --git a/htdocs/commande/card.php b/htdocs/commande/card.php index f3240443a6e..21a6ed5fc97 100644 --- a/htdocs/commande/card.php +++ b/htdocs/commande/card.php @@ -2614,9 +2614,9 @@ if ($action == 'create' && $user->rights->commande->creer) $somethingshown = $form->showLinkedObjectBlock($object); // Show links to link elements - //$linktoelem = $form->showLinkToObjectBlock($object); - //if ($linktoelem) print '
'.$linktoelem; - + $linktoelem = $form->showLinkToObjectBlock($object, null, array('order')); + if ($linktoelem) print ($somethingshown?'':'
').$linktoelem; + print '
'; diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php index 6535cee7c98..7a7cb0c8e62 100644 --- a/htdocs/compta/facture.php +++ b/htdocs/compta/facture.php @@ -134,14 +134,6 @@ if (empty($reshook)) include DOL_DOCUMENT_ROOT.'/core/actions_lineupdown.inc.php'; // Must be include, not include_once - // Link invoice to order - if (GETPOST('linkedOrder') && empty($cancel) && $id > 0) - { - $object->fetch($id); - $object->fetch_thirdparty(); - $result = $object->add_object_linked('commande', GETPOST('linkedOrder')); - } - // Action clone object if ($action == 'confirm_clone' && $confirm == 'yes' && $user->rights->facture->creer) { // if (1 == 0 && empty($_REQUEST["clone_content"]) && empty($_REQUEST["clone_receivers"])) { @@ -4103,9 +4095,9 @@ else if ($id > 0 || ! empty($ref)) $somethingshown = $form->showLinkedObjectBlock($object); // Show links to link elements - $linktoelem = $form->showLinkToObjectBlock($object,array('order')); - if ($linktoelem) print '
'.$linktoelem; - + $linktoelem = $form->showLinkToObjectBlock($object, null, array('invoice')); + if ($linktoelem) print ($somethingshown?'':'
').$linktoelem; + // Link for paypal payment if (! empty($conf->paypal->enabled) && $object->statut != 0) { include_once DOL_DOCUMENT_ROOT . '/paypal/lib/paypal.lib.php'; diff --git a/htdocs/contrat/card.php b/htdocs/contrat/card.php index 5a87d3b3d51..dfa61513f9e 100644 --- a/htdocs/contrat/card.php +++ b/htdocs/contrat/card.php @@ -2021,8 +2021,8 @@ else $somethingshown = $form->showLinkedObjectBlock($object); // Show links to link elements - $linktoelem = $form->showLinkToObjectBlock($object); - if ($linktoelem) print '
'.$linktoelem; + $linktoelem = $form->showLinkToObjectBlock($object, null, array('contrat')); + if ($linktoelem) print ($somethingshown?'':'
').$linktoelem; print '
'; diff --git a/htdocs/core/actions_dellink.inc.php b/htdocs/core/actions_dellink.inc.php index 45fb8c5f9ec..63218dde739 100644 --- a/htdocs/core/actions_dellink.inc.php +++ b/htdocs/core/actions_dellink.inc.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2015-2016 Laurent Destailleur * * 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 @@ -18,22 +18,29 @@ /** * \file htdocs/core/actions_dellink.inc.php - * \brief Code for actions on deleting link between elements + * \brief Code for actions on linking and deleting link between elements */ // $action must be defined // $object must be defined // $permissiondellink must be defined -// $uploaddir (example $conf->projet->dir_output . "/";) $dellinkid = GETPOST('dellinkid','int'); +$addlinkid = GETPOST('idtolinkto','int'); -// Set public note +// Link invoice to order +if ($action == 'addlink' && ! empty($permissiondellink) && ! GETPOST('cancel') && $id > 0 && $addlinkid > 0) +{ + $object->fetch($id); + $object->fetch_thirdparty(); + $result = $object->add_object_linked(GETPOST('addlink'), $addlinkid); +} + +// Delete link if ($action == 'dellink' && ! empty($permissiondellink) && ! GETPOST('cancel') && $dellinkid > 0) { $result=$object->deleteObjectLinked(0, '', 0, '', $dellinkid); if ($result < 0) setEventMessages($object->error,$object->errors,'errors'); } - diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 71540cf16d7..221e9c83062 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -2364,6 +2364,10 @@ abstract class CommonObject $origin = (! empty($origin) ? $origin : $this->origin); $origin_id = (! empty($origin_id) ? $origin_id : $this->origin_id); + // Special case + if ($origin == 'order') $origin='commande'; + if ($origin == 'invoice') $origin='facture'; + $this->db->begin(); $sql = "INSERT INTO ".MAIN_DB_PREFIX."element_element ("; @@ -2548,7 +2552,10 @@ abstract class CommonObject // Set classfile $classfile = strtolower($subelement); $classname = ucfirst($subelement); - if ($objecttype == 'invoice_supplier') { + if ($objecttype == 'order') { + $classfile = 'commande'; $classname = 'Commande'; + } + else if ($objecttype == 'invoice_supplier') { $classfile = 'fournisseur.facture'; $classname = 'FactureFournisseur'; } else if ($objecttype == 'order_supplier') { @@ -2568,15 +2575,18 @@ abstract class CommonObject if ($conf->$module->enabled && (($element != $this->element) || $alsosametype)) { dol_include_once('/'.$classpath.'/'.$classfile.'.class.php'); - - foreach($objectids as $i => $objectid) // $i is rowid into llx_element_element + //print '/'.$classpath.'/'.$classfile.'.class.php'; + if (class_exists($classname)) { - $object = new $classname($this->db); - $ret = $object->fetch($objectid); - if ($ret >= 0) - { - $this->linkedObjects[$objecttype][$i] = $object; - } + foreach($objectids as $i => $objectid) // $i is rowid into llx_element_element + { + $object = new $classname($this->db); + $ret = $object->fetch($objectid); + if ($ret >= 0) + { + $this->linkedObjects[$objecttype][$i] = $object; + } + } } } } diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 813e1aa9a12..ccc6c7b2d0f 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -5264,12 +5264,13 @@ class Form /** * Show block with links to link to other objects. - * + * * @param CommonObject $object Object we want to show links to * @param array $restrictlinksto Restrict links to some elements, for exemple array('order') or array('supplier_order'). null or array() if no restriction. + * @param array $excludelinksto Do not show links of this type, for exemple array('order') or array('supplier_order'). null or array() if no exclusion. * @return string <0 if KO, >0 if OK */ - function showLinkToObjectBlock($object, $restrictlinksto=array()) + function showLinkToObjectBlock($object, $restrictlinksto=array(), $excludelinksto=array()) { global $conf, $langs, $hookmanager; global $bc; @@ -5278,201 +5279,90 @@ class Form if (! is_object($object->thirdparty)) $object->fetch_thirdparty(); - if ((empty($restrictlinksto) || in_array('order',$restrictlinksto)) - && ! empty($conf->commande->enabled)) + $possiblelinks=array( + 'propal'=>array('enabled'=>$conf->propale->enabled, 'perms'=>1, 'label'=>'LinkToProposal', 'sql'=>"SELECT s.rowid as socid, s.nom as name, s.client, t.rowid, t.ref, t.ref_client, t.total_ht FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."propal as t WHERE t.fk_soc = s.rowid AND t.fk_soc = ".$object->thirdparty->id), + 'order'=>array('enabled'=>$conf->commande->enabled, 'perms'=>1, 'label'=>'LinkToOrder', 'sql'=>"SELECT s.rowid as socid, s.nom as name, s.client, t.rowid, t.ref, t.ref_client, t.total_ht FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."commande as t WHERE t.fk_soc = s.rowid AND t.fk_soc = ".$object->thirdparty->id), + 'invoice'=>array('enabled'=>$conf->facture->enabled, 'perms'=>1, 'label'=>'LinkToInvoice', 'sql'=>"SELECT s.rowid as socid, s.nom as name, s.client, t.rowid, t.facnumber as ref, t.ref_client, t.total as total_ht FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."facture as t WHERE t.fk_soc = s.rowid AND t.fk_soc = ".$object->thirdparty->id), + 'contrat'=>array('enabled'=>$conf->contrat->enabled , 'perms'=>1, 'label'=>'LinkToContract', 'sql'=>"SELECT s.rowid as socid, s.nom as name, s.client, t.rowid, t.ref, t.ref_supplier, '' as total_ht FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."contrat as t WHERE t.fk_soc = s.rowid AND t.fk_soc = ".$object->thirdparty->id), + 'fichinter'=>array('enabled'=>$conf->ficheinter->enabled, 'perms'=>1, 'label'=>'LinkToIntervention', 'sql'=>"SELECT s.rowid as socid, s.nom as name, s.client, t.rowid, t.ref FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."fichinter as t WHERE t.fk_soc = s.rowid AND t.fk_soc = ".$object->thirdparty->id), + 'supplier_proposal'=>array('enabled'=>$conf->supplier_proposal->enabled , 'perms'=>1, 'label'=>'LinkToSupplierProposal', 'sql'=>"SELECT s.rowid as socid, s.nom as name, s.client, t.rowid, t.ref, '' as ref_supplier, t.total_ht FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."supplier_proposal as t WHERE t.fk_soc = s.rowid AND t.fk_soc = ".$object->thirdparty->id), + 'order_supplier'=>array('enabled'=>$conf->fournisseur->commande->enabled , 'perms'=>1, 'label'=>'LinkToSupplierOrder', 'sql'=>"SELECT s.rowid as socid, s.nom as name, s.client, t.rowid, t.ref, t.ref_supplier, t.total_ht FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."commande_fournisseur as t WHERE t.fk_soc = s.rowid AND t.fk_soc = ".$object->thirdparty->id), + 'invoice_supplier'=>array('enabled'=>$conf->fournisseur->facture->enabled , 'perms'=>1, 'label'=>'LinkToSupplierInvoice', 'sql'=>"SELECT s.rowid as socid, s.nom as name, s.client, t.rowid, t.ref, t.ref_supplier, t.total_ht FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."facture_fourn as t WHERE t.fk_soc = s.rowid AND t.fk_soc = ".$object->thirdparty->id) + ); + + foreach($possiblelinks as $key => $possiblelink) { - $linktoelem.=($linktoelem?'   ':'').'' . $langs->trans('LinkedOrder') . ''; - - print ' - - '; - - print '
global->MAIN_OPTIMIZEFORTEXTBROWSER)?' style="display:none"':'').'>'; - - $sql = "SELECT s.rowid as socid, s.nom as name, s.client, c.rowid, c.ref, c.ref_client, c.total_ht"; - $sql .= " FROM " . MAIN_DB_PREFIX . "societe as s"; - $sql .= ", " . MAIN_DB_PREFIX . "commande as c"; - $sql .= ' WHERE c.fk_soc = s.rowid AND c.fk_soc = ' . $object->thirdparty->id . ''; - - $resqlorderlist = $this->db->query($sql); - if ($resqlorderlist) + $num = 0; + + if (! empty($possiblelink['perms']) && (empty($restrictlinksto) || in_array($key, $restrictlinksto)) && (empty($excludelinksto) || ! in_array($key, $excludelinksto))) { - $num = $this->db->num_rows($resqlorderlist); - $i = 0; - - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - while ($i < $num) + print '
global->MAIN_OPTIMIZEFORTEXTBROWSER)?' style="display:none"':'').'>'; + $sql = $possiblelink['sql']; + $resqllist = $this->db->query($sql); + if ($resqllist) { - $objp = $this->db->fetch_object($resqlorderlist); - - $var = ! $var; - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; + $num = $this->db->num_rows($resqllist); + $i = 0; + + print '
'; + print ''; + print ''; + print ''; + print '
' . $langs->trans("Ref") . '' . $langs->trans("RefCustomer") . '' . $langs->trans("AmountHTShort") . '' . $langs->trans("Company") . '
'; - print ''; - print '' . $objp->ref . '' . $objp->ref_client . '' . price($objp->total_ht) . '' . $objp->name . '
'; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; print ''; - - $i ++; + while ($i < $num) + { + $objp = $this->db->fetch_object($resqlorderlist); + + $var = ! $var; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + $i++; + } + print '
' . $langs->trans("Ref") . '' . $langs->trans("RefCustomer") . '' . $langs->trans("AmountHTShort") . '' . $langs->trans("Company") . '
'; + print ''; + print '' . $objp->ref . '' . $objp->ref_client . '' . price($objp->total_ht) . '' . $objp->name . '
'; + print '
     
'; + + print ''; + $this->db->free($resqllist); + } else { + dol_print_error($this->db); } - print '
'; - print '
     
'; - - print ''; - $this->db->free($resqlorderlist); - } else { - dol_print_error($this->db); + print '
'; + if ($num > 0) + { + print ' + + + '; + } } - print '
'; + $linktoelem.=($linktoelem?'   ':''); + if ($num > 0) $linktoelem.='' . $langs->trans($possiblelink['label']) .' ('.$num.')'; + //else $linktoelem.=$langs->trans($possiblelink['label']); + else $linktoelem.='' . $langs->trans($possiblelink['label']) . ''; } - if ((empty($restrictlinksto) || (in_array('fichinter',$restrictlinksto))) && ! empty($conf->ficheinter->enabled)) - { - $linktoelem.=($linktoelem?'   ':'').'' . $langs->trans('LinkedFichinter') . ''; - - print ' - - '; - - print '
global->MAIN_OPTIMIZEFORTEXTBROWSER)?' style="display:none"':'').'>'; - - $sql = "SELECT s.rowid as socid, s.nom as name, s.client, f.rowid, f.ref"; - $sql .= " FROM " . MAIN_DB_PREFIX . "societe as s"; - $sql .= ", " . MAIN_DB_PREFIX . "fichinter as f"; - $sql .= ' WHERE f.fk_soc = s.rowid'; - - $resqlorderlist = $this->db->query($sql); - if ($resqlorderlist) - { - $num = $this->db->num_rows($resqlorderlist); - $i = 0; - - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - while ($i < $num) - { - $objp = $this->db->fetch_object($resqlorderlist); - - $var = ! $var; - print ''; - print ''; - print ''; - print ''; - print ''; - - $i ++; - } - print '
' . $langs->trans("Ref") . '' . $langs->trans("Company") . '
'; - print ''; - print '' . $objp->ref . '' . $objp->name . '
'; - print '
     
'; - print '
'; - $this->db->free($resqlorderlist); - } else { - dol_print_error($this->db); - } - - print '
'; - } - - if ((empty($restrictlinksto) || in_array('supplier_order',$restrictlinksto)) - && ! empty($conf->fournisseur->enabled)) - { - $linktoelem.=($linktoelem?'   ':'').'' . $langs->trans('LinkedOrder') . ''; - - print ' - - '; - - print '
global->MAIN_OPTIMIZEFORTEXTBROWSER)?' style="display:none"':'').'>'; - - $sql = "SELECT s.rowid as socid, s.nom as name, s.client, c.rowid, c.ref, c.ref_supplier, c.total_ht"; - $sql .= " FROM " . MAIN_DB_PREFIX . "societe as s"; - $sql .= ", " . MAIN_DB_PREFIX . "commande_fournisseur as c"; - $sql .= ' WHERE c.fk_soc = s.rowid AND c.fk_soc = ' . $object->thirdparty->id; - - $resqlorderlist = $this->db->query($sql); - if ($resqlorderlist) - { - $num = $this->db->num_rows($resqlorderlist); - $i = 0; - - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - while ($i < $num) - { - $objp = $this->db->fetch_object($resqlorderlist); - - $var = ! $var; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - - $i ++; - } - print '
' . $langs->trans("Ref") . '' . $langs->trans("RefSupplier") . '' . $langs->trans("AmountHTShort") . '' . $langs->trans("Company") . '
'; - print ''; - print '' . $objp->ref . '' . $objp->ref_supplier . '' . price($objp->total_ht) . '' . $objp->name . '
'; - print '
 
'; - print '
'; - $this->db->free($resqlorderlist); - } else { - dol_print_error($this->db); - } - - print '
'; - } - - return $linktoelem; } diff --git a/htdocs/expedition/card.php b/htdocs/expedition/card.php index e38ebd977e1..cbcee84451f 100644 --- a/htdocs/expedition/card.php +++ b/htdocs/expedition/card.php @@ -1836,8 +1836,8 @@ else if ($id || $ref) // Show links to link elements //$linktoelem = $form->showLinkToObjectBlock($object); - //if ($linktoelem) print '
'.$linktoelem; - + //if ($linktoelem) print ($somethingshown?'':'
').$linktoelem; + print '
'; // List of actions on element diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php index e177312a7d6..1b9bd2592ea 100644 --- a/htdocs/expensereport/card.php +++ b/htdocs/expensereport/card.php @@ -2099,11 +2099,9 @@ if ($action != 'create' && $action != 'edit' && ($id || $ref)) // Show links to link elements $linktoelements=array(); - if($conf->global->EXPENSES_LINK_TO_INTERVENTION) $linktoelements[]='fichinter'; - $linktoelem=''; - $linktoelem = $form->showLinkToObjectBlock($object,$linktoelements); - if ($linktoelem) print '
'.$linktoelem; - + if (! empty($conf->global->EXPENSES_LINK_TO_INTERVENTION)) $linktoelements[]='fichinter'; + $linktoelem = $form->showLinkToObjectBlock($object, $linktoelements, array('expensereport')); + if ($linktoelem) print ($somethingshown?'':'
').$linktoelem; } llxFooter(); diff --git a/htdocs/fichinter/card.php b/htdocs/fichinter/card.php index 2a4ec4337f2..833f2140de9 100644 --- a/htdocs/fichinter/card.php +++ b/htdocs/fichinter/card.php @@ -1667,9 +1667,9 @@ else if ($id > 0 || ! empty($ref)) $somethingshown = $form->showLinkedObjectBlock($object); // Show links to link elements - //$linktoelem = $form->showLinkToObjectBlock($object); - //if ($linktoelem) print '
'.$linktoelem; - + $linktoelem = $form->showLinkToObjectBlock($object, null, array('fichinter')); + if ($linktoelem) print ($somethingshown?'':'
').$linktoelem; + print '
'; diff --git a/htdocs/fourn/commande/card.php b/htdocs/fourn/commande/card.php index fa93be5020d..a642855a241 100644 --- a/htdocs/fourn/commande/card.php +++ b/htdocs/fourn/commande/card.php @@ -2834,8 +2834,8 @@ elseif (! empty($object->id)) $somethingshown = $form->showLinkedObjectBlock($object); // Show links to link elements - //$linktoelem = $form->showLinkToObjectBlock($object); - //if ($linktoelem) print '
'.$linktoelem; + $linktoelem = $form->showLinkToObjectBlock($object, null, array('order_supplier')); + if ($linktoelem) print ($somethingshown?'':'
').$linktoelem; print '
'; diff --git a/htdocs/fourn/facture/card.php b/htdocs/fourn/facture/card.php index 280664ea421..b2c823d68fd 100644 --- a/htdocs/fourn/facture/card.php +++ b/htdocs/fourn/facture/card.php @@ -2239,9 +2239,9 @@ else $somethingshown = $form->showLinkedObjectBlock($object); // Show links to link elements - $linktoelem = $form->showLinkToObjectBlock($object,array('supplier_order')); - if ($linktoelem) print '
'.$linktoelem; - + $linktoelem = $form->showLinkToObjectBlock($object, null, array('invoice_supplier')); + if ($linktoelem) print ($somethingshown?'':'
').$linktoelem; + print '
'; //print ''; diff --git a/htdocs/langs/fr_FR/main.lang b/htdocs/langs/fr_FR/main.lang index 5eb99eb0f43..fd7d8068f15 100644 --- a/htdocs/langs/fr_FR/main.lang +++ b/htdocs/langs/fr_FR/main.lang @@ -640,6 +640,14 @@ NewAttribute=Nouvel attribut AttributeCode=Code de l'attribut URLPhoto=URL de la photo/logo SetLinkToAnotherThirdParty=Lier vers un autre tiers +LinkToProposal=Link to proposal +LinkToOrder=Link to order +LinkToInvoice=Link to invoice +LinkToSupplierOrder=Link to supplier order +LinkToSupplierProposal=Link to supplier proposal +LinkToSupplierInvoice=Link to supplier invoice +LinkToContract=Link to contract +LinkToIntervention=Link to intervention CreateDraft=Créer brouillon SetToDraft=Retour en brouillon ClickToEdit=Cliquer ici pour éditer diff --git a/htdocs/product/stock/productlot_card.php b/htdocs/product/stock/productlot_card.php index 4af5b8a4d59..d1346088692 100644 --- a/htdocs/product/stock/productlot_card.php +++ b/htdocs/product/stock/productlot_card.php @@ -366,8 +366,8 @@ print ''.$langs->trans("Fieldimport_key").'showLinkedObjectBlock($object); //$linktoelem = $form->showLinkToObjectBlock($object); - //if ($linktoelem) print '
'.$linktoelem; - + //if ($linktoelem) print ($somethingshown?'':'
').$linktoelem; + } diff --git a/htdocs/supplier_proposal/card.php b/htdocs/supplier_proposal/card.php index 3e7871b2c4a..16029c5a95e 100644 --- a/htdocs/supplier_proposal/card.php +++ b/htdocs/supplier_proposal/card.php @@ -1809,9 +1809,10 @@ if ($action == 'create') $somethingshown = $form->showLinkedObjectBlock($object); // Show links to link elements - //$linktoelem = $form->showLinkToObjectBlock($object); - //if ($linktoelem) print '
'.$linktoelem; + $linktoelem = $form->showLinkToObjectBlock($object, null, array('supplier_proposal')); + if ($linktoelem) print ($somethingshown?'':'
').$linktoelem; + print '
'; // List of actions on element From 26f553a1a8be46c95223bd55eb08a15e6204a4b5 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 4 Aug 2016 12:04:43 +0200 Subject: [PATCH 255/476] Fix bad position of test --- htdocs/core/class/html.form.class.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index eaf4ddd4d94..83f10b469c0 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -5358,12 +5358,12 @@ class Form '; } + + $linktoelem.=($linktoelem?'   ':''); + if ($num > 0) $linktoelem.='' . $langs->trans($possiblelink['label']) .' ('.$num.')'; + //else $linktoelem.=$langs->trans($possiblelink['label']); + else $linktoelem.='' . $langs->trans($possiblelink['label']) . ''; } - - $linktoelem.=($linktoelem?'   ':''); - if ($num > 0) $linktoelem.='' . $langs->trans($possiblelink['label']) .' ('.$num.')'; - //else $linktoelem.=$langs->trans($possiblelink['label']); - else $linktoelem.='' . $langs->trans($possiblelink['label']) . ''; } return $linktoelem; From d6886816059d8f5ce7af7e9f38191f0a0a50a1df Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 4 Aug 2016 15:45:55 +0200 Subject: [PATCH 256/476] Use standard prefix for supplier order for new install --- .../supplier_order/mod_commande_fournisseur_muguet.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/htdocs/core/modules/supplier_order/mod_commande_fournisseur_muguet.php b/htdocs/core/modules/supplier_order/mod_commande_fournisseur_muguet.php index 563e1b6fe1a..0a017e3bc51 100644 --- a/htdocs/core/modules/supplier_order/mod_commande_fournisseur_muguet.php +++ b/htdocs/core/modules/supplier_order/mod_commande_fournisseur_muguet.php @@ -37,6 +37,16 @@ class mod_commande_fournisseur_muguet extends ModeleNumRefSuppliersOrders var $prefix='CF'; + /** + * Constructor + */ + function __construct() + { + global $conf; + + if ((float) $conf->global->MAIN_VERSION_LAST_INSTALL >= 5.0) $this->prefix = 'PO'; // We use correct standard code "PO = Purchase Order" + } + /** * Return description of numbering module * From 5126786d60b27e6590bfac02c616539e8d25f05a Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 4 Aug 2016 15:46:31 +0200 Subject: [PATCH 257/476] NEW Add option SUPPLIER_ORDER_3_STEPS_TO_BE_APPROVED --- htdocs/admin/supplier_order.php | 16 ++++++++-------- htdocs/core/modules/modFournisseur.class.php | 4 ++-- .../fourn/class/fournisseur.commande.class.php | 8 ++++---- htdocs/fourn/commande/card.php | 8 ++++---- htdocs/langs/en_US/admin.lang | 2 ++ htdocs/langs/en_US/suppliers.lang | 1 - 6 files changed, 20 insertions(+), 19 deletions(-) diff --git a/htdocs/admin/supplier_order.php b/htdocs/admin/supplier_order.php index 50eb9c9a322..b19831502f9 100644 --- a/htdocs/admin/supplier_order.php +++ b/htdocs/admin/supplier_order.php @@ -169,11 +169,11 @@ else if ($action == 'addcat') else if ($action == 'set_SUPPLIER_ORDER_OTHER') { $freetext = GETPOST('SUPPLIER_ORDER_FREE_TEXT'); // No alpha here, we want exact string - $doubleapproval = GETPOST('SUPPLIER_ORDER_DOUBLE_APPROVAL','alpha'); + $doubleapproval = GETPOST('SUPPLIER_ORDER_3_STEPS_TO_BE_APPROVED','alpha'); $doubleapproval = price2num($doubleapproval ); $res1 = dolibarr_set_const($db, "SUPPLIER_ORDER_FREE_TEXT",$freetext,'chaine',0,'',$conf->entity); - $res2 = dolibarr_set_const($db, "SUPPLIER_ORDER_DOUBLE_APPROVAL",$doubleapproval,'chaine',0,'',$conf->entity); + $res2 = dolibarr_set_const($db, "SUPPLIER_ORDER_3_STEPS_TO_BE_APPROVED",$doubleapproval,'chaine',0,'',$conf->entity); // TODO We add/delete permission here until permission can have a condition on a global var include_once DOL_DOCUMENT_ROOT.'/core/modules/modFournisseur.class.php'; @@ -189,7 +189,7 @@ else if ($action == 'set_SUPPLIER_ORDER_OTHER') $newmodule->rights[$r][4] = 'commande'; $newmodule->rights[$r][5] = 'approve2'; - if ($conf->global->SUPPLIER_ORDER_DOUBLE_APPROVAL) + if ($conf->global->SUPPLIER_ORDER_3_STEPS_TO_BE_APPROVED) { $newmodule->insert_permissions(1); } @@ -474,18 +474,18 @@ print ''.$langs->trans("Value").''; print ' '; print "\n"; $var=false; -if ($conf->global->MAIN_FEATURES_LEVEL > 0) -{ +//if ($conf->global->MAIN_FEATURES_LEVEL > 0) +//{ print ''; - print $langs->trans("UseDoubleApproval").'
'; + print $form->textwithpicto($langs->trans("UseDoubleApproval"), $langs->trans("Use3StepsApproval"), 1, 'help').'
'; print $langs->trans("IfSetToYesDontForgetPermission"); print ''; - print ''; + print ''; print ''; print ''; print "\n"; $var=!$var; -} +//} print ''; print $langs->trans("FreeLegalTextOnOrders").' ('.$langs->trans("AddCRIfTooLong").')
'; diff --git a/htdocs/core/modules/modFournisseur.class.php b/htdocs/core/modules/modFournisseur.class.php index 794b6cb50ff..7d5d6752281 100644 --- a/htdocs/core/modules/modFournisseur.class.php +++ b/htdocs/core/modules/modFournisseur.class.php @@ -261,7 +261,7 @@ class modFournisseur extends DolibarrModules $this->rights[$r][4] = 'commande'; $this->rights[$r][5] = 'export'; - if (! empty($conf->global->SUPPLIER_ORDER_DOUBLE_APPROVAL)) + if (! empty($conf->global->SUPPLIER_ORDER_3_STEPS_TO_BE_APPROVED)) { $r++; $this->rights[$r][0] = 1190; @@ -449,7 +449,7 @@ class modFournisseur extends DolibarrModules $this->export_permission[$r]=array(array("fournisseur","commande","export")); $this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.zip'=>'Zip','s.town'=>'Town','c.code'=>'CountryCode','s.phone'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.idprof5'=>'ProfId5','s.idprof6'=>'ProfId6','s.tva_intra'=>'VATIntra','f.rowid'=>"OrderId",'f.ref'=>"Ref",'f.ref_supplier'=>"RefSupplier",'f.date_creation'=>"DateCreation",'f.date_commande'=>"OrderDate",'f.total_ht'=>"TotalHT",'f.total_ttc'=>"TotalTTC",'f.tva'=>"TotalVAT",'f.fk_statut'=>'Status','f.date_approve'=>'DateApprove','f.date_approve2'=>'DateApprove2','f.note_public'=>"NotePublic",'f.note_private'=>"NotePrivate",'ua1.login'=>'ApprovedBy','ua2.login'=>'ApprovedBy2','fd.rowid'=>'LineId','fd.description'=>"LineDescription",'fd.tva_tx'=>"LineVATRate",'fd.qty'=>"LineQty",'fd.remise_percent'=>"Discount",'fd.total_ht'=>"LineTotalHT",'fd.total_ttc'=>"LineTotalTTC",'fd.total_tva'=>"LineTotalVAT",'fd.product_type'=>'TypeOfLineServiceOrProduct','fd.fk_product'=>'ProductId', 'p.ref'=>'ProductRef','p.label'=>'ProductLabel','project.rowid'=>'ProjectId','project.ref'=>'ProjectRef','project.title'=>'ProjectLabel'); - if (empty($conf->global->SUPPLIER_ORDER_DOUBLE_APPROVAL)) + if (empty($conf->global->SUPPLIER_ORDER_3_STEPS_TO_BE_APPROVED)) { unset($this->export_fields_array['f.date_approve2']); unset($this->export_fields_array['ua2.login']); diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index 29670e28dc8..54241a36eee 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -71,7 +71,7 @@ class CommandeFournisseur extends CommonOrder public $date; public $date_valid; public $date_approve; - public $date_approve2; // Used when SUPPLIER_ORDER_DOUBLE_APPROVAL is set + public $date_approve2; // Used when SUPPLIER_ORDER_3_STEPS_TO_BE_APPROVED is set public $date_commande; /** @@ -101,7 +101,7 @@ class CommandeFournisseur extends CommonOrder public $user_author_id; public $user_valid_id; public $user_approve_id; - public $user_approve_id2; // Used when SUPPLIER_ORDER_DOUBLE_APPROVAL is set + public $user_approve_id2; // Used when SUPPLIER_ORDER_3_STEPS_TO_BE_APPROVED is set //Incoterms public $fk_incoterms; @@ -718,7 +718,7 @@ class CommandeFournisseur extends CommonOrder * * @param User $user Object user * @param int $idwarehouse Id of warhouse for stock change - * @param int $secondlevel 0=Standard approval, 1=Second level approval (used when option SUPPLIER_ORDER_DOUBLE_APPROVAL is set) + * @param int $secondlevel 0=Standard approval, 1=Second level approval (used when option SUPPLIER_ORDER_3_STEPS_TO_BE_APPROVED is set) * @return int <0 if KO, >0 if OK */ public function approve($user, $idwarehouse=0, $secondlevel=0) @@ -761,7 +761,7 @@ class CommandeFournisseur extends CommonOrder { $sql.= " date_approve='".$this->db->idate($now)."',"; $sql.= " fk_user_approve = ".$user->id; - if (! empty($conf->global->SUPPLIER_ORDER_DOUBLE_APPROVAL) && $conf->global->MAIN_FEATURES_LEVEL > 0 && $this->total_ht >= $conf->global->SUPPLIER_ORDER_DOUBLE_APPROVAL) + if (! empty($conf->global->SUPPLIER_ORDER_3_STEPS_TO_BE_APPROVED) && $conf->global->MAIN_FEATURES_LEVEL > 0 && $this->total_ht >= $conf->global->SUPPLIER_ORDER_3_STEPS_TO_BE_APPROVED) { if (empty($this->user_approve_id2)) { diff --git a/htdocs/fourn/commande/card.php b/htdocs/fourn/commande/card.php index 500b240fa16..a316aaf0f6a 100644 --- a/htdocs/fourn/commande/card.php +++ b/htdocs/fourn/commande/card.php @@ -2659,7 +2659,7 @@ elseif (! empty($object->id)) { if ($user->rights->fournisseur->commande->approuver) { - if (! empty($conf->global->SUPPLIER_ORDER_DOUBLE_APPROVAL) && $conf->global->MAIN_FEATURES_LEVEL > 0 && $object->total_ht >= $conf->global->SUPPLIER_ORDER_DOUBLE_APPROVAL && ! empty($object->user_approve_id)) + if (! empty($conf->global->SUPPLIER_ORDER_3_STEPS_TO_BE_APPROVED) && $conf->global->MAIN_FEATURES_LEVEL > 0 && $object->total_ht >= $conf->global->SUPPLIER_ORDER_3_STEPS_TO_BE_APPROVED && ! empty($object->user_approve_id)) { print ''.$langs->trans("ApproveOrder").''; } @@ -2674,8 +2674,8 @@ elseif (! empty($object->id)) } } - // Second approval (if option SUPPLIER_ORDER_DOUBLE_APPROVAL is set) - if (! empty($conf->global->SUPPLIER_ORDER_DOUBLE_APPROVAL) && $conf->global->MAIN_FEATURES_LEVEL > 0 && $object->total_ht >= $conf->global->SUPPLIER_ORDER_DOUBLE_APPROVAL) + // Second approval (if option SUPPLIER_ORDER_3_STEPS_TO_BE_APPROVED is set) + if (! empty($conf->global->SUPPLIER_ORDER_3_STEPS_TO_BE_APPROVED) && $conf->global->MAIN_FEATURES_LEVEL > 0 && $object->total_ht >= $conf->global->SUPPLIER_ORDER_3_STEPS_TO_BE_APPROVED) { if ($object->statut == 1) { @@ -2732,7 +2732,7 @@ elseif (! empty($object->id)) $buttonshown++; } } - if (! $buttonshown && $user->rights->fournisseur->commande->approve2 && ! empty($conf->global->SUPPLIER_ORDER_DOUBLE_APPROVAL)) + if (! $buttonshown && $user->rights->fournisseur->commande->approve2 && ! empty($conf->global->SUPPLIER_ORDER_3_STEPS_TO_BE_APPROVED)) { if (empty($conf->global->SUPPLIER_ORDER_REOPEN_BY_APPROVER2_ONLY) || (! empty($conf->global->SUPPLIER_ORDER_REOPEN_BY_APPROVER2_ONLY) && $user->id == $object->user_approve_id2)) diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index df79240c4b4..6ce618f5bbd 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -390,6 +390,8 @@ EnableAndSetupModuleCron=If you want to have this recurring invoice beeing gener ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. ModuleCompanyCodePanicum=Return an empty accountancy code. ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. +Use3StepsApproval=By default, Purchase Orders need to be created and approved by 2 different users (one step/user to validate and one step/user to approve. Note that if user has both permission to create and approve, one step/user will be enough). You can ask with this option to introduce an third step/user approval, if amount is higher than a dedicated value (so 3 steps will be necessary: 1 validation, 2=first approval and 3=second approval). Set this to 0 if only one approval is required, set it to a very low value (0.1) if second approval is always required. +UseDoubleApproval=Use a 3 steps approval when amount (without tax) is higher than... # Modules Module0Name=Users & groups diff --git a/htdocs/langs/en_US/suppliers.lang b/htdocs/langs/en_US/suppliers.lang index abacb3d7660..6e554c6545e 100644 --- a/htdocs/langs/en_US/suppliers.lang +++ b/htdocs/langs/en_US/suppliers.lang @@ -36,7 +36,6 @@ ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice NbDaysToDelivery=Delivery delay in days DescNbDaysToDelivery=The biggest deliver delay of the products from this order -UseDoubleApproval=Use double approval when amount (without tax) is higher than (The second approval can be done by any user with the dedicated permission. Set to 0 for no double approval) SupplierReputation=Supplier reputation DoNotOrderThisProductToThisSupplier=Do not order NotTheGoodQualitySupplier=Wrong quality From 4b5cae0af842e414bc707791518650c698482650 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 4 Aug 2016 17:09:49 +0200 Subject: [PATCH 258/476] Fix help --- htdocs/langs/en_US/admin.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 6ce618f5bbd..afd205e6a61 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -390,7 +390,7 @@ EnableAndSetupModuleCron=If you want to have this recurring invoice beeing gener ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. ModuleCompanyCodePanicum=Return an empty accountancy code. ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. -Use3StepsApproval=By default, Purchase Orders need to be created and approved by 2 different users (one step/user to validate and one step/user to approve. Note that if user has both permission to create and approve, one step/user will be enough). You can ask with this option to introduce an third step/user approval, if amount is higher than a dedicated value (so 3 steps will be necessary: 1 validation, 2=first approval and 3=second approval). Set this to 0 if only one approval is required, set it to a very low value (0.1) if second approval is always required. +Use3StepsApproval=By default, Purchase Orders need to be created and approved by 2 different users (one step/user to create and one step/user to approve. Note that if user has both permission to create and approve, one step/user will be enough). You can ask with this option to introduce an third step/user approval, if amount is higher than a dedicated value (so 3 steps will be necessary: 1 validation, 2=first approval and 3=second approval if amount is enough).
Set this to empty if one approval (2 steps) is enough, set it to a very low value (0.1) if a second approval is always required. UseDoubleApproval=Use a 3 steps approval when amount (without tax) is higher than... # Modules From 48fe3524d5d378221540474c6ab10532e72d54d1 Mon Sep 17 00:00:00 2001 From: Juanjo Menent Date: Thu, 4 Aug 2016 17:34:53 +0200 Subject: [PATCH 259/476] Fix #5582 Can't add or change customer ref on proposal --- htdocs/comm/propal/card.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/comm/propal/card.php b/htdocs/comm/propal/card.php index b09ce43af96..25337446b5b 100644 --- a/htdocs/comm/propal/card.php +++ b/htdocs/comm/propal/card.php @@ -5,7 +5,7 @@ * Copyright (C) 2005 Marc Barilley / Ocebo * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2006 Andre Cianfarani - * Copyright (C) 2010-2014 Juanjo Menent + * Copyright (C) 2010-2016 Juanjo Menent * Copyright (C) 2010-2015 Philippe Grand * Copyright (C) 2012-2013 Christophe Battarel * Copyright (C) 2012 Cedric Salvador @@ -1717,7 +1717,7 @@ if ($action == 'create') print ''; print ''; if ($user->rights->propal->creer && $action == 'refclient') { - print '
'; + print ''; print ''; print ''; print ''; From c2e81b6edb44eaa7fbf38a27b805e5ac5537c5b9 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 5 Aug 2016 00:36:58 +0200 Subject: [PATCH 260/476] Fix colspan --- htdocs/product/card.php | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/htdocs/product/card.php b/htdocs/product/card.php index 7f338c6dc06..d386132813e 100644 --- a/htdocs/product/card.php +++ b/htdocs/product/card.php @@ -1841,14 +1841,14 @@ if ($object->id && ($action == '' || $action == 'view') && $object->status) { $var=!$var; $html .= ''; - $html .= $langs->trans("AddToDraftProposals").''; + $html .= $langs->trans("AddToDraftProposals").''; $html .= $form->selectarray("propalid", $otherprop, 0, 1); $html .= ''; } else { $html .= ''; - $html .= $langs->trans("AddToDraftProposals").''; + $html .= $langs->trans("AddToDraftProposals").''; $html .= $langs->trans("NoDraftProposals"); $html .= ''; } @@ -1867,14 +1867,14 @@ if ($object->id && ($action == '' || $action == 'view') && $object->status) { $var=!$var; $html .= ''; - $html .= $langs->trans("AddToDraftOrders").''; + $html .= $langs->trans("AddToDraftOrders").''; $html .= $form->selectarray("commandeid", $othercom, 0, 1); $html .= ''; } else { $html .= ''; - $html .= $langs->trans("AddToDraftOrders").''; + $html .= $langs->trans("AddToDraftOrders").''; $html .= $langs->trans("NoDraftOrders"); $html .= ''; } @@ -1893,14 +1893,14 @@ if ($object->id && ($action == '' || $action == 'view') && $object->status) { $var=!$var; $html .= ''; - $html .= $langs->trans("AddToDraftInvoices").''; + $html .= $langs->trans("AddToDraftInvoices").''; $html .= $form->selectarray("factureid", $otherinvoice, 0, 1); $html .= ''; } else { $html .= ''; - $html .= $langs->trans("AddToDraftInvoices").''; + $html .= $langs->trans("AddToDraftInvoices").''; $html .= $langs->trans("NoDraftInvoices"); $html .= ''; } @@ -1918,7 +1918,8 @@ if ($object->id && ($action == '' || $action == 'view') && $object->status) dol_fiche_head(''); $html .= ''.$langs->trans("Quantity").' '; - $html .= ''.$langs->trans("ReductionShort").'(%) '; + $html .= ''; + $html .= ''.$langs->trans("ReductionShort").'(%) '; $html .= ''; $html .= ''; From 63562beb368331e451e67d5160ff2fb6ab31af22 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 5 Aug 2016 01:19:20 +0200 Subject: [PATCH 261/476] Fix move translation key into source language --- htdocs/langs/en_US/main.lang | 8 ++++++++ htdocs/langs/fr_FR/main.lang | 8 -------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index 9cd397fe47f..666e29a276d 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -644,6 +644,14 @@ NewAttribute=New attribute AttributeCode=Attribute code URLPhoto=URL of photo/logo SetLinkToAnotherThirdParty=Link to another third party +LinkToProposal=Link to proposal +LinkToOrder=Link to order +LinkToInvoice=Link to invoice +LinkToSupplierOrder=Link to supplier order +LinkToSupplierProposal=Link to supplier proposal +LinkToSupplierInvoice=Link to supplier invoice +LinkToContract=Link to contract +LinkToIntervention=Link to intervention CreateDraft=Create draft SetToDraft=Back to draft ClickToEdit=Click to edit diff --git a/htdocs/langs/fr_FR/main.lang b/htdocs/langs/fr_FR/main.lang index 506707a294f..e4dca048a78 100644 --- a/htdocs/langs/fr_FR/main.lang +++ b/htdocs/langs/fr_FR/main.lang @@ -641,14 +641,6 @@ NewAttribute=Nouvel attribut AttributeCode=Code de l'attribut URLPhoto=URL de la photo/logo SetLinkToAnotherThirdParty=Lier vers un autre tiers -LinkToProposal=Link to proposal -LinkToOrder=Link to order -LinkToInvoice=Link to invoice -LinkToSupplierOrder=Link to supplier order -LinkToSupplierProposal=Link to supplier proposal -LinkToSupplierInvoice=Link to supplier invoice -LinkToContract=Link to contract -LinkToIntervention=Link to intervention CreateDraft=Créer brouillon SetToDraft=Retour en brouillon ClickToEdit=Cliquer ici pour éditer From 1b10e276181d28754f6f396a7a670caafcbcc4c6 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 5 Aug 2016 04:20:38 +0200 Subject: [PATCH 262/476] Fix bad link --- htdocs/product/card.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/product/card.php b/htdocs/product/card.php index d386132813e..f06009ecfa7 100644 --- a/htdocs/product/card.php +++ b/htdocs/product/card.php @@ -1954,7 +1954,7 @@ if ($action == '' || $action == 'view') $var=true; - $somethingshown=$formfile->show_documents($modulepart,$object->id,$filedir,$urlsource,$genallowed,$delallowed,'',0,0,0,28,0,'',0,'',$object->default_lang); + $somethingshown=$formfile->show_documents($modulepart,$object->ref,$filedir,$urlsource,$genallowed,$delallowed,'',0,0,0,28,0,'',0,'',$object->default_lang); print '
'; From e1e8254bcf19f7dd25d52710ee50eb5725712429 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 5 Aug 2016 04:31:19 +0200 Subject: [PATCH 263/476] Fix thumbs are using same extension than original. --- htdocs/core/class/html.formfile.class.php | 6 ++---- htdocs/product/class/product.class.php | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/htdocs/core/class/html.formfile.class.php b/htdocs/core/class/html.formfile.class.php index f4163a889f0..5a55b3a8a9c 100644 --- a/htdocs/core/class/html.formfile.class.php +++ b/htdocs/core/class/html.formfile.class.php @@ -860,10 +860,8 @@ class FormFile print ''; if (image_format_supported($file['name']) > 0) { - $minifile=getImageFileNameForSize($file['name'], '_mini', '.png'); // Thumbs are created with filename in lower case and with .png extension - //print $relativepath.'
'; - //print $file['path'].'/'.$minifile.'
'; - if (! dol_is_file($file['path'].'/'.$minifile)) $minifile=getImageFileNameForSize($file['name'], '_mini', '.'.$fileinfo['extension']); // For old thumbs + $minifile=getImageFileNameForSize($file['name'], '_mini'); // For new thumbs using same ext (in lower case howerver) than original + if (! dol_is_file($file['path'].'/'.$minifile)) $minifile=getImageFileNameForSize($file['name'], '_mini', '.png'); // For backward compatibility of old thumbs that were created with filename in lower case and with .png extension //print $file['path'].'/'.$minifile.'
'; print ''; print ''; diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index 982b109da99..7b3f1750003 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -3676,7 +3676,7 @@ class Product extends CommonObject if ($size == 1 || $size == 'small') { // Format vignette // Find name of thumb file - $photo_vignette=basename(getImageFileNameForSize($dir.$file, '_small', '.png')); + $photo_vignette=basename(getImageFileNameForSize($dir.$file, '_small')); if (! dol_is_file($dirthumb.$photo_vignette)) $photo_vignette=''; // Get filesize of original file From 57a542d52d6cd8440a4ffd57ab33d5b69eeb5bb2 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 5 Aug 2016 04:45:05 +0200 Subject: [PATCH 264/476] Fix: we still need gd --- htdocs/install/check.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/install/check.php b/htdocs/install/check.php index c864afeb648..adbe7759f4e 100644 --- a/htdocs/install/check.php +++ b/htdocs/install/check.php @@ -122,8 +122,8 @@ else } -// Check if GD supported -/*if (! function_exists("imagecreate")) +// Check if GD supported (we need GD for image conversion) +if (! function_exists("imagecreate")) { $langs->load("errors"); print 'Error '.$langs->trans("ErrorPHPDoesNotSupportGD")."
\n"; @@ -132,7 +132,7 @@ else else { print 'Ok '.$langs->trans("PHPSupportGD")."
\n"; -}*/ +} // Check if Curl supported From 4cf01bc685fe3d5ce42cae2c842a5d9168412a41 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 5 Aug 2016 04:48:30 +0200 Subject: [PATCH 265/476] Fix code comment --- htdocs/core/actions_linkedfiles.inc.php | 2 +- htdocs/product/document.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/core/actions_linkedfiles.inc.php b/htdocs/core/actions_linkedfiles.inc.php index 22ff9155fd1..8977938eb4a 100644 --- a/htdocs/core/actions_linkedfiles.inc.php +++ b/htdocs/core/actions_linkedfiles.inc.php @@ -22,7 +22,7 @@ // Variable $upload_dir must be defined when entering here // Variable $upload_dirold may also exists. -// Send file/link +// Submit file/link if (GETPOST('sendit') && ! empty($conf->global->MAIN_UPLOAD_DOC)) { if ($object->id) diff --git a/htdocs/product/document.php b/htdocs/product/document.php index 259ffae5913..cddcff12374 100644 --- a/htdocs/product/document.php +++ b/htdocs/product/document.php @@ -110,7 +110,7 @@ if (empty($reshook)) } } - // Action sending file + // Action submit/delete file/link include_once DOL_DOCUMENT_ROOT.'/core/actions_linkedfiles.inc.php'; } From 0780188f4e5882795b2bb627ed01344d0835f04b Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Fri, 5 Aug 2016 09:46:17 +0200 Subject: [PATCH 266/476] taking account @eldy remarks --- htdocs/admin/stock.php | 5 - htdocs/admin/workflow.php | 1 - ...e_20_modWorkflow_WorkflowManager.class.php | 53 -------- .../class/fournisseur.commande.class.php | 121 +++++++++++++----- htdocs/fourn/commande/dispatch.php | 18 ++- htdocs/langs/en_US/workflow.lang | 3 +- 6 files changed, 104 insertions(+), 97 deletions(-) diff --git a/htdocs/admin/stock.php b/htdocs/admin/stock.php index 492c77f1dba..6faaff1e006 100644 --- a/htdocs/admin/stock.php +++ b/htdocs/admin/stock.php @@ -82,11 +82,6 @@ if($action) if ($action == 'STOCK_CALCULATE_ON_SUPPLIER_BILL') $res=dolibarr_set_const($db, "STOCK_CALCULATE_ON_SUPPLIER_BILL", GETPOST('STOCK_CALCULATE_ON_SUPPLIER_BILL','alpha'),'chaine',0,'',$conf->entity); if ($action == 'STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER') $res=dolibarr_set_const($db, "STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER", GETPOST('STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER','alpha'),'chaine',0,'',$conf->entity); if ($action == 'STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER') $res=dolibarr_set_const($db, "STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER", $valdispatch,'chaine',0,'',$conf->entity); - if ($conf->workflow->enabled && !empty($conf->global->WORKFLOW_ORDER_CLASSIFY_RECEIPT_ORDER)) { - if (empty($valdispatch)) { - $res=dolibarr_set_const($db, "WORKFLOW_ORDER_CLASSIFY_RECEIPT_ORDER", '','chaine',0,'',$conf->entity); - } - } if (empty($valdispatch)) { $res=dolibarr_set_const($db, "SUPPLIER_ORDER_USE_DISPATCH_STATUS", '','chaine',0,'',$conf->entity); } diff --git a/htdocs/admin/workflow.php b/htdocs/admin/workflow.php index e079e6df7bb..717a25aa8b3 100644 --- a/htdocs/admin/workflow.php +++ b/htdocs/admin/workflow.php @@ -80,7 +80,6 @@ $workflowcodes=array( // For the following 2 options, if module invoice is disabled, they does not exists, so "Classify billed" for order must be done manually from order card. 'WORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER'=>array('family'=>'classify', 'position'=>40, 'enabled'=>'! empty($conf->facture->enabled) && ! empty($conf->commande->enabled)', 'picto'=>'bill','warning'=>'WarningCloseAlways'), 'WORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER'=>array('family'=>'classify', 'position'=>50, 'enabled'=>'! empty($conf->facture->enabled) && ! empty($conf->commande->enabled)', 'picto'=>'bill','warning'=>'WarningCloseAlways'), - 'WORKFLOW_SUPPLIER_ORDER_CLASSIFY_RECEIPT_ORDER'=>array('family'=>'classify', 'position'=>50, 'enabled'=>'! empty($conf->fournisseur->enabled) && ! empty($conf->commande->enabled) && ! empty($conf->stock->enabled) && ! empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER)', 'picto'=>'order'), ); if (! empty($conf->modules_parts['workflow']) && is_array($conf->modules_parts['workflow'])) diff --git a/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php b/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php index 3dfe18edad2..fd97edc8089 100644 --- a/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php +++ b/htdocs/core/triggers/interface_20_modWorkflow_WorkflowManager.class.php @@ -159,59 +159,6 @@ class InterfaceWorkflowManager extends DolibarrTriggers } } - // classify supplier order delivery status - if ($action == 'ORDER_SUPPLIER_DISPATCH') - { - dol_syslog("Trigger '".$this->name."' for action '$action' launched by ".__FILE__.". id=".$object->id); - - if (! empty($conf->commande->enabled) && ! empty($conf->fournisseur->enabled) && ! empty($conf->global->WORKFLOW_SUPPLIER_ORDER_CLASSIFY_RECEIPT_ORDER)) - { - require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.dispatch.class.php'; - - $qtydelivered=array(); - $qtywished=array(); - - $supplierorderdispatch = new CommandeFournisseurDispatch($this->db); - $filter=array('t.fk_commande'=>$object->id); - if (!empty($conf->global->SUPPLIER_ORDER_USE_DISPATCH_STATUS)) { - $filter['t.status']=1; - } - $ret=$supplierorderdispatch->fetchAll('','',0,0,$filter); - if ($ret<0) { - $this->error=$supplierorderdispatch->error; $this->errors=$supplierorderdispatch->errors; - return $ret; - } else { - if (is_array($supplierorderdispatch->lines) && count($supplierorderdispatch->lines)>0) { - //Build array with quantity deliverd by product - foreach($supplierorderdispatch->lines as $line) { - $qtydelivered[$line->fk_product]+=$line->qty; - } - foreach($object->lines as $line) { - $qtywished[$line->fk_product]+=$line->qty; - } - //Compare array - $diff_array=array_diff_assoc($qtydelivered,$qtywished); - if (count($diff_array)==0) { - //No diff => mean everythings is received - $ret=$object->setStatus($user,5); - if ($ret<0) { - $this->error=$object->error; $this->errors=$object->errors; - } - } else { - //Diff => received partially - $ret=$object->setStatus($user,4); - if ($ret<0) { - $this->error=$object->error; $this->errors=$object->errors; - } - } - } - } - - - return $ret; - } - } - return 0; } diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index 6b73e5a7477..ec7d3843fa0 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -126,7 +126,7 @@ class CommandeFournisseur extends CommonOrder public $multicurrency_total_ht; public $multicurrency_total_tva; public $multicurrency_total_ttc; - + /** * Constructor * @@ -255,7 +255,7 @@ class CommandeFournisseur extends CommonOrder $this->multicurrency_total_ht = $obj->multicurrency_total_ht; $this->multicurrency_total_tva = $obj->multicurrency_total_tva; $this->multicurrency_total_ttc = $obj->multicurrency_total_ttc; - + $this->extraparams = (array) json_decode($obj->extraparams, true); $this->db->free($resql); @@ -330,7 +330,7 @@ class CommandeFournisseur extends CommonOrder $line->date_start = $this->db->jdate($objp->date_start); $line->date_end = $this->db->jdate($objp->date_end); $line->fk_unit = $objp->fk_unit; - + // Multicurrency $line->fk_multicurrency = $objp->fk_multicurrency; $line->multicurrency_code = $objp->multicurrency_code; @@ -338,7 +338,7 @@ class CommandeFournisseur extends CommonOrder $line->multicurrency_total_ht = $objp->multicurrency_total_ht; $line->multicurrency_total_tva = $objp->multicurrency_total_tva; $line->multicurrency_total_ttc = $objp->multicurrency_total_ttc; - + $this->special_code = $objp->special_code; $this->fk_parent_line = $objp->fk_parent_line; @@ -513,7 +513,7 @@ class CommandeFournisseur extends CommonOrder $billedtext=''; //if ($statut==5 && $this->billed == 1) $statut = 8; if ($billed == 1) $billedtext=$langs->trans("Billed"); - + // List of language codes for status $statutshort[0] = 'StatusOrderDraftShort'; $statutshort[1] = 'StatusOrderValidatedShort'; @@ -678,7 +678,7 @@ class CommandeFournisseur extends CommonOrder { $error=0; $this->db->begin(); - + $sql = 'UPDATE '.MAIN_DB_PREFIX.'commande_fournisseur SET billed = 1'; $sql .= ' WHERE rowid = '.$this->id.' AND fk_statut > 0 '; if ($this->db->query($sql)) @@ -690,11 +690,11 @@ class CommandeFournisseur extends CommonOrder if ($result < 0) $error++; // End call triggers } - + if (! $error) { $this->billed=1; - + $this->db->commit(); return 1; } @@ -707,7 +707,7 @@ class CommandeFournisseur extends CommonOrder else { dol_print_error($this->db); - + $this->db->rollback(); return -1; } @@ -754,7 +754,7 @@ class CommandeFournisseur extends CommonOrder // Do we have to change status now ? (If double approval is required and first approval, we keep status to 1 = validated) $movetoapprovestatus=true; $comment=''; - + $sql = "UPDATE ".MAIN_DB_PREFIX."commande_fournisseur"; $sql.= " SET ref='".$this->db->escape($num)."',"; if (empty($secondlevel)) // standard or first level approval @@ -763,7 +763,7 @@ class CommandeFournisseur extends CommonOrder $sql.= " fk_user_approve = ".$user->id; if (! empty($conf->global->SUPPLIER_ORDER_3_STEPS_TO_BE_APPROVED) && $conf->global->MAIN_FEATURES_LEVEL > 0 && $this->total_ht >= $conf->global->SUPPLIER_ORDER_3_STEPS_TO_BE_APPROVED) { - if (empty($this->user_approve_id2)) + if (empty($this->user_approve_id2)) { $movetoapprovestatus=false; // second level approval not done $comment=' (first level)'; @@ -830,7 +830,7 @@ class CommandeFournisseur extends CommonOrder if (! $error) { $this->ref = $this->newref; - + if ($movetoapprovestatus) $this->statut = 2; else $this->statut = 1; if (empty($secondlevel)) // standard or first level approval @@ -1009,7 +1009,7 @@ class CommandeFournisseur extends CommonOrder $this->statut = 3; $this->methode_commande_id = $methode; $this->date_commande = $this->db->idate($date); - + // Call trigger $result=$this->call_trigger('ORDER_SUPPLIER_SUBMIT',$user); if ($result < 0) $error++; @@ -1021,7 +1021,7 @@ class CommandeFournisseur extends CommonOrder $this->error = $this->db->lasterror(); $this->errors[] = $this->db->lasterror(); } - + if (! $error) { $this->db->commit(); @@ -1070,7 +1070,7 @@ class CommandeFournisseur extends CommonOrder $this->fk_multicurrency = 0; $this->multicurrency_tx = 1; } - + // We set order into draft status $this->brouillon = 1; @@ -1103,7 +1103,7 @@ class CommandeFournisseur extends CommonOrder $sql.= ", '".$this->db->escape($this->note_public)."'"; $sql.= ", ".$conf->entity; $sql.= ", ".$this->socid; - $sql.= ", ".($this->fk_project > 0 ? $this->fk_project : "null"); + $sql.= ", ".($this->fk_project > 0 ? $this->fk_project : "null"); $sql.= ", '".$this->db->idate($now)."'"; $sql.= ", ".($this->date_livraison?"'".$this->db->idate($this->date_livraison)."'":"null"); $sql.= ", ".$user->id; @@ -1407,7 +1407,7 @@ class CommandeFournisseur extends CommonOrder $localtaxes_type=getLocalTaxesFromRate($txtva,0,$mysoc,$this->thirdparty); $txtva = preg_replace('/\s*\(.*\)/','',$txtva); // Remove code into vatrate. - + $tabprice = calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits, $product_type, $this->thirdparty, $localtaxes_type, 100, $this->multicurrency_tx); $total_ht = $tabprice[0]; $total_tva = $tabprice[1]; @@ -1419,7 +1419,7 @@ class CommandeFournisseur extends CommonOrder $multicurrency_total_ht = $tabprice[16]; $multicurrency_total_tva = $tabprice[17]; $multicurrency_total_ttc = $tabprice[18]; - + $localtax1_type=$localtaxes_type[0]; $localtax2_type=$localtaxes_type[2]; @@ -1952,7 +1952,7 @@ class CommandeFournisseur extends CommonOrder $result=$this->call_trigger('ORDER_SUPPLIER_RECEIVE',$user); if ($result < 0) $error++; // End call triggers - + if (! $error) { $this->db->commit(); @@ -2211,7 +2211,7 @@ class CommandeFournisseur extends CommonOrder $localtaxes_type=getLocalTaxesFromRate($txtva,0,$mysoc, $this->thirdparty); $txtva = preg_replace('/\s*\(.*\)/','',$txtva); // Remove code into vatrate. - + $tabprice=calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits, $type, $this->thirdparty, $localtaxes_type, 100, $this->multicurrency_tx); $total_ht = $tabprice[0]; $total_tva = $tabprice[1]; @@ -2223,7 +2223,7 @@ class CommandeFournisseur extends CommonOrder $multicurrency_total_ht = $tabprice[16]; $multicurrency_total_tva = $tabprice[17]; $multicurrency_total_ttc = $tabprice[18]; - + $localtax1_type=$localtaxes_type[0]; $localtax2_type=$localtaxes_type[2]; @@ -2405,7 +2405,7 @@ class CommandeFournisseur extends CommonOrder { $obj = $this->db->fetch_object($result); $this->id = $obj->rowid; - if ($obj->fk_user_author) $this->user_creation_id = $obj->fk_user_author; + if ($obj->fk_user_author) $this->user_creation_id = $obj->fk_user_author; if ($obj->fk_user_valid) $this->user_validation_id = $obj->fk_user_valid; if ($obj->fk_user_modif) $this->user_modification_id =$obj->fk_user_modif; if ($obj->fk_user_approve) $this->user_approve_id = $obj->fk_user_approve; @@ -2424,7 +2424,7 @@ class CommandeFournisseur extends CommonOrder dol_print_error($this->db); } } - + /** * Charge indicateurs this->nb de tableau de bord * @@ -2660,15 +2660,15 @@ class CommandeFournisseur extends CommonOrder public function hasDelay() { global $conf; - + if (empty($this->date_delivery) && ! empty($this->date_livraison)) $this->date_delivery = $this->date_livraison; // For backward compatibility - + $now = dol_now(); $date_to_test = empty($this->date_delivery) ? $this->date_commande : $this->date_delivery; - + return ($this->statut > 0 && $this->statut < 4) && $date_to_test && $date_to_test < ($now - $conf->commande->fournisseur->warning_delay); } - + /** * Show the customer delayed info * @@ -2677,15 +2677,15 @@ class CommandeFournisseur extends CommonOrder public function showDelay() { global $conf, $langs; - + if (empty($this->date_delivery) && ! empty($this->date_livraison)) $this->date_delivery = $this->date_livraison; // For backward compatibility - + if (empty($this->date_delivery)) $text=$langs->trans("OrderDate").' '.dol_print_date($this->date_commande, 'day'); else $text=$text=$langs->trans("DeliveryDate").' '.dol_print_date($this->date_delivery, 'day'); $text.=' '.($conf->commande->fournisseur->warning_delay>0?'+':'-').' '.round(abs($conf->commande->fournisseur->warning_delay)/3600/24,1).' '.$langs->trans("days").' < '.$langs->trans("Today"); - + return $text; - } + } } @@ -2883,7 +2883,7 @@ class CommandeFournisseurLigne extends CommonOrderLine $this->fk_multicurrency = 0; $this->multicurrency_tx = 1; } - + // Check parameters if ($this->product_type < 0) return -1; @@ -3056,5 +3056,62 @@ class CommandeFournisseurLigne extends CommonOrderLine return -1; } } + + /** + * Calc status regarding dispatch stock + * + * @param User $user + * @return int <0 si ko, >0 si ok + */ + public function calcAndSetStatusDispatch(User $user) { + global $conf; + + if (! empty($conf->commande->enabled) && ! empty($conf->fournisseur->enabled) && ! empty($conf->global->WORKFLOW_SUPPLIER_ORDER_CLASSIFY_RECEIPT_ORDER)) + { + require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.dispatch.class.php'; + + $qtydelivered=array(); + $qtywished=array(); + + $supplierorderdispatch = new CommandeFournisseurDispatch($this->db); + $filter=array('t.fk_commande'=>$this->id); + if (!empty($conf->global->SUPPLIER_ORDER_USE_DISPATCH_STATUS)) { + $filter['t.status']=1; + } + $ret=$supplierorderdispatch->fetchAll('','',0,0,$filter); + if ($ret<0) { + $this->error=$supplierorderdispatch->error; $this->errors=$supplierorderdispatch->errors; + return $ret; + } else { + if (is_array($supplierorderdispatch->lines) && count($supplierorderdispatch->lines)>0) { + //Build array with quantity deliverd by product + foreach($supplierorderdispatch->lines as $line) { + $qtydelivered[$line->fk_product]+=$line->qty; + } + foreach($this->lines as $line) { + $qtywished[$line->fk_product]+=$line->qty; + } + //Compare array + $diff_array=array_diff_assoc($qtydelivered,$qtywished); + if (count($diff_array)==0) { + //No diff => mean everythings is received + $ret=$this->setStatus($user,5); + if ($ret<0) { + $this->error=$object->error; $this->errors=$object->errors; + } + } else { + //Diff => received partially + $ret=$this->setStatus($user,4); + if ($ret<0) { + $this->error=$object->error; $this->errors=$object->errors; + } + } + } + } + + + return 1; + } + } } diff --git a/htdocs/fourn/commande/dispatch.php b/htdocs/fourn/commande/dispatch.php index f4685469711..cbcfd214f57 100644 --- a/htdocs/fourn/commande/dispatch.php +++ b/htdocs/fourn/commande/dispatch.php @@ -131,7 +131,7 @@ if ($action == 'dispatch' && $user->rights->fournisseur->commande->receptionner) $pos=0; foreach($_POST as $key => $value) { - if (preg_match('/^product_([0-9]+)_([0-9]+)$/i', $key, $reg)) // without batch module enabled + if (preg_match('/^product_([0-9]+)_([0-9]+)$/i', $key, $reg)) // without batch module enabled { $pos++; @@ -155,7 +155,7 @@ if ($action == 'dispatch' && $user->rights->fournisseur->commande->receptionner) if (! $error) { - $result = $commande->DispatchProduct($user, GETPOST($prod,'int'), GETPOST($qty), GETPOST($ent,'int'), GETPOST($pu), GETPOST('comment'), '', '', '', GETPOST($fk_commandefourndet, 'int'), $notrigger); + $result = $commande->dispatchProduct($user, GETPOST($prod,'int'), GETPOST($qty), GETPOST($ent,'int'), GETPOST($pu), GETPOST('comment'), '', '', '', GETPOST($fk_commandefourndet, 'int'), $notrigger); if ($result < 0) { setEventMessages($commande->error, $commande->errors, 'errors'); @@ -181,7 +181,7 @@ if ($action == 'dispatch' && $user->rights->fournisseur->commande->receptionner) $dDLC = dol_mktime(12, 0, 0, $_POST['dlc_'.$reg[1].'_'.$reg[2].'month'], $_POST['dlc_'.$reg[1].'_'.$reg[2].'day'], $_POST['dlc_'.$reg[1].'_'.$reg[2].'year']); $fk_commandefourndet = 'fk_commandefourndet_'.$reg[1].'_'.$reg[2]; - + if (GETPOST($qty) > 0) // We ask to move a qty { if (! (GETPOST($ent,'int') > 0)) @@ -213,10 +213,20 @@ if ($action == 'dispatch' && $user->rights->fournisseur->commande->receptionner) } } + if (! $error) { + $result = $commande->calcAndSetStatusDispatch($user); + if ($result < 0) + { + setEventMessages($commande->error, $commande->errors, 'errors'); + $error++; + } + } + if (! $notrigger && ! $error) { global $conf, $langs, $user; // Call trigger + $result = $commande->call_trigger('ORDER_SUPPLIER_DISPATCH', $user); // End call triggers @@ -363,7 +373,7 @@ if ($id > 0 || ! empty($ref)) { $num = $db->num_rows($resql); $i = 0; - + if ($num) { while ($i < $num) diff --git a/htdocs/langs/en_US/workflow.lang b/htdocs/langs/en_US/workflow.lang index 45b9213bd34..e18f93f65ab 100644 --- a/htdocs/langs/en_US/workflow.lang +++ b/htdocs/langs/en_US/workflow.lang @@ -9,5 +9,4 @@ descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Automatically create a customer invoice af descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated -descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer invoice is validated -descWORKFLOW_SUPPLIER_ORDER_CLASSIFY_RECEIPT_ORDER=Classify supplier order status to Partially or Totally delivered on manual stock dispatch \ No newline at end of file +descWORKFLOW_INVOICE_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer invoice is validated \ No newline at end of file From 1e929e647df87dacb6c6abe099587c930ef93412 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Fri, 5 Aug 2016 10:02:36 +0200 Subject: [PATCH 267/476] better management of dispatch status --- .../class/fournisseur.commande.class.php | 114 +- htdocs/fourn/commande/dispatch.php | 1130 ++++++++--------- 2 files changed, 591 insertions(+), 653 deletions(-) diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index ec7d3843fa0..b01ae40d62e 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -2686,6 +2686,63 @@ class CommandeFournisseur extends CommonOrder return $text; } + + /** + * Calc status regarding dispatch stock + * + * @param User $user + * @return int <0 si ko, >0 si ok + */ + public function calcAndSetStatusDispatch(User $user) { + global $conf; + + if (! empty($conf->commande->enabled) && ! empty($conf->fournisseur->enabled)) + { + require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.dispatch.class.php'; + + $qtydelivered=array(); + $qtywished=array(); + + $supplierorderdispatch = new CommandeFournisseurDispatch($this->db); + $filter=array('t.fk_commande'=>$this->id); + if (!empty($conf->global->SUPPLIER_ORDER_USE_DISPATCH_STATUS)) { + $filter['t.status']=1; + } + $ret=$supplierorderdispatch->fetchAll('','',0,0,$filter); + if ($ret<0) { + $this->error=$supplierorderdispatch->error; $this->errors=$supplierorderdispatch->errors; + return $ret; + } else { + if (is_array($supplierorderdispatch->lines) && count($supplierorderdispatch->lines)>0) { + //Build array with quantity deliverd by product + foreach($supplierorderdispatch->lines as $line) { + $qtydelivered[$line->fk_product]+=$line->qty; + } + foreach($this->lines as $line) { + $qtywished[$line->fk_product]+=$line->qty; + } + //Compare array + $diff_array=array_diff_assoc($qtydelivered,$qtywished); + if (count($diff_array)==0) { + //No diff => mean everythings is received + $ret=$this->setStatus($user,5); + if ($ret<0) { + $this->error=$object->error; $this->errors=$object->errors; + } + } else { + //Diff => received partially + $ret=$this->setStatus($user,4); + if ($ret<0) { + $this->error=$object->error; $this->errors=$object->errors; + } + } + } + } + + + return 1; + } + } } @@ -3056,62 +3113,5 @@ class CommandeFournisseurLigne extends CommonOrderLine return -1; } } - - /** - * Calc status regarding dispatch stock - * - * @param User $user - * @return int <0 si ko, >0 si ok - */ - public function calcAndSetStatusDispatch(User $user) { - global $conf; - - if (! empty($conf->commande->enabled) && ! empty($conf->fournisseur->enabled) && ! empty($conf->global->WORKFLOW_SUPPLIER_ORDER_CLASSIFY_RECEIPT_ORDER)) - { - require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.dispatch.class.php'; - - $qtydelivered=array(); - $qtywished=array(); - - $supplierorderdispatch = new CommandeFournisseurDispatch($this->db); - $filter=array('t.fk_commande'=>$this->id); - if (!empty($conf->global->SUPPLIER_ORDER_USE_DISPATCH_STATUS)) { - $filter['t.status']=1; - } - $ret=$supplierorderdispatch->fetchAll('','',0,0,$filter); - if ($ret<0) { - $this->error=$supplierorderdispatch->error; $this->errors=$supplierorderdispatch->errors; - return $ret; - } else { - if (is_array($supplierorderdispatch->lines) && count($supplierorderdispatch->lines)>0) { - //Build array with quantity deliverd by product - foreach($supplierorderdispatch->lines as $line) { - $qtydelivered[$line->fk_product]+=$line->qty; - } - foreach($this->lines as $line) { - $qtywished[$line->fk_product]+=$line->qty; - } - //Compare array - $diff_array=array_diff_assoc($qtydelivered,$qtywished); - if (count($diff_array)==0) { - //No diff => mean everythings is received - $ret=$this->setStatus($user,5); - if ($ret<0) { - $this->error=$object->error; $this->errors=$object->errors; - } - } else { - //Diff => received partially - $ret=$this->setStatus($user,4); - if ($ret<0) { - $this->error=$object->error; $this->errors=$object->errors; - } - } - } - } - - - return 1; - } - } } diff --git a/htdocs/fourn/commande/dispatch.php b/htdocs/fourn/commande/dispatch.php index cbcfd214f57..8494e160223 100644 --- a/htdocs/fourn/commande/dispatch.php +++ b/htdocs/fourn/commande/dispatch.php @@ -5,6 +5,7 @@ * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2010 Juanjo Menent * Copyright (C) 2014 Cedric Gross + * Copyright (C) 2016 Florian Henry * * 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 @@ -22,19 +23,19 @@ */ /** - * \file htdocs/fourn/commande/dispatch.php - * \ingroup commande - * \brief Page to dispatch receiving + * \file htdocs/fourn/commande/dispatch.php + * \ingroup commande + * \brief Page to dispatch receiving */ - require '../../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/core/modules/supplier_order/modules_commandefournisseur.php'; -require_once DOL_DOCUMENT_ROOT.'/product/stock/class/entrepot.class.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/fourn.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php'; -require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.dispatch.class.php'; -require_once DOL_DOCUMENT_ROOT.'/product/class/html.formproduct.class.php'; -if (! empty($conf->projet->enabled)) require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/modules/supplier_order/modules_commandefournisseur.php'; +require_once DOL_DOCUMENT_ROOT . '/product/stock/class/entrepot.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/lib/fourn.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/fourn/class/fournisseur.commande.class.php'; +require_once DOL_DOCUMENT_ROOT . '/fourn/class/fournisseur.commande.dispatch.class.php'; +require_once DOL_DOCUMENT_ROOT . '/product/class/html.formproduct.class.php'; +if (! empty($conf->projet->enabled)) + require_once DOL_DOCUMENT_ROOT . '/projet/class/project.class.php'; $langs->load('orders'); $langs->load('sendings'); @@ -43,170 +44,179 @@ $langs->load('bills'); $langs->load('deliveries'); $langs->load('products'); $langs->load('stocks'); -if (! empty($conf->productbatch->enabled)) $langs->load('productbatch'); +if (! empty($conf->productbatch->enabled)) + $langs->load('productbatch'); -// Security check -$id = GETPOST("id",'int'); + // Security check +$id = GETPOST("id", 'int'); +$ref = GETPOST('ref'); $lineid = GETPOST('lineid', 'int'); $action = GETPOST('action'); -if ($user->societe_id) $socid=$user->societe_id; +if ($user->societe_id) + $socid = $user->societe_id; $result = restrictedArea($user, 'fournisseur', $id, '', 'commande'); -if (empty($conf->stock->enabled)) -{ +if (empty($conf->stock->enabled)) { accessforbidden(); } -// Recuperation de l'id de projet -$projectid = 0; -if ($_GET["projectid"]) $projectid = GETPOST("projectid",'int'); - -$mesg=''; +// Recuperation de l'id de projet +$projectid = 0; +if ($_GET["projectid"]) + $projectid = GETPOST("projectid", 'int'); +$commande = new CommandeFournisseur($db); +if ($id > 0 || ! empty($ref)) { + $result = $commande->fetch($id, $ref); + if ($result < 0) { + setEventMessages($commande->error, $commande->errors, 'errors'); + } + $result = $commande->fetch_thirdparty(); + if ($result < 0) { + setEventMessages($commande->error, $commande->errors, 'errors'); + } +} /* * Actions */ -if ($action == 'checkdispatchline' && - ! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->fournisseur->commande->receptionner)) - || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->fournisseur->commande_advance->check))) -) -{ +if ($action == 'checkdispatchline' && ! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->fournisseur->commande->receptionner)) || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->fournisseur->commande_advance->check)))) { $supplierorderdispatch = new CommandeFournisseurDispatch($db); - $result=$supplierorderdispatch->fetch($lineid); - if (! $result) dol_print_error($db); - $result=$supplierorderdispatch->setStatut(1); - if ($result < 0) - { + $result = $supplierorderdispatch->fetch($lineid); + if (! $result) + dol_print_error($db); + $result = $supplierorderdispatch->setStatut(1); + if ($result < 0) { setEventMessages($supplierorderdispatch->error, $supplierorderdispatch->errors, 'errors'); - $error++; - $action=''; + $error ++; + $action = ''; + } else { + $result = $commande->calcAndSetStatusDispatch($user); + if ($result < 0) { + setEventMessages($commande->error, $commande->errors, 'errors'); + $error ++; + $action = ''; + } } } -if ($action == 'uncheckdispatchline' && - ! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->fournisseur->commande->receptionner)) - || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->fournisseur->commande_advance->check))) -) -{ +if ($action == 'uncheckdispatchline' && ! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->fournisseur->commande->receptionner)) || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->fournisseur->commande_advance->check)))) { $supplierorderdispatch = new CommandeFournisseurDispatch($db); - $result=$supplierorderdispatch->fetch($lineid); - if (! $result) dol_print_error($db); - $result=$supplierorderdispatch->setStatut(0); - if ($result < 0) - { + $result = $supplierorderdispatch->fetch($lineid); + if (! $result) + dol_print_error($db); + $result = $supplierorderdispatch->setStatut(0); + if ($result < 0) { setEventMessages($supplierorderdispatch->error, $supplierorderdispatch->errors, 'errors'); - $error++; - $action=''; + $error ++; + $action = ''; + } else { + $result = $commande->calcAndSetStatusDispatch($user); + if ($result < 0) { + setEventMessages($commande->error, $commande->errors, 'errors'); + $error ++; + $action = ''; + } } } -if ($action == 'denydispatchline' && - ! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->fournisseur->commande->receptionner)) - || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->fournisseur->commande_advance->check))) -) -{ +if ($action == 'denydispatchline' && ! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->fournisseur->commande->receptionner)) || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->fournisseur->commande_advance->check)))) { $supplierorderdispatch = new CommandeFournisseurDispatch($db); - $result=$supplierorderdispatch->fetch($lineid); - if (! $result) dol_print_error($db); - $result=$supplierorderdispatch->setStatut(2); - if ($result < 0) - { + $result = $supplierorderdispatch->fetch($lineid); + if (! $result) + dol_print_error($db); + $result = $supplierorderdispatch->setStatut(2); + if ($result < 0) { setEventMessages($supplierorderdispatch->error, $supplierorderdispatch->errors, 'errors'); - $error++; - $action=''; + $error ++; + $action = ''; + } else { + $result = $commande->calcAndSetStatusDispatch($user); + if ($result < 0) { + setEventMessages($commande->error, $commande->errors, 'errors'); + $error ++; + $action = ''; + } } } -if ($action == 'dispatch' && $user->rights->fournisseur->commande->receptionner) -{ - $commande = new CommandeFournisseur($db); - $commande->fetch($id); - - $error=0; +if ($action == 'dispatch' && $user->rights->fournisseur->commande->receptionner) { + $error = 0; $db->begin(); - $pos=0; - foreach($_POST as $key => $value) - { - if (preg_match('/^product_([0-9]+)_([0-9]+)$/i', $key, $reg)) // without batch module enabled - { - $pos++; + $pos = 0; + foreach ( $_POST as $key => $value ) { + // without batch module enabled + if (preg_match('/^product_([0-9]+)_([0-9]+)$/i', $key, $reg)) { + $pos ++; - //$numline=$reg[2] + 1; // line of product - $numline=$pos; - $prod = "product_".$reg[1].'_'.$reg[2]; - $qty = "qty_".$reg[1].'_'.$reg[2]; - $ent = "entrepot_".$reg[1].'_'.$reg[2]; - $pu = "pu_".$reg[1].'_'.$reg[2]; // This is unit price including discount - $fk_commandefourndet = "fk_commandefourndet_".$reg[1].'_'.$reg[2]; + // $numline=$reg[2] + 1; // line of product + $numline = $pos; + $prod = "product_" . $reg[1] . '_' . $reg[2]; + $qty = "qty_" . $reg[1] . '_' . $reg[2]; + $ent = "entrepot_" . $reg[1] . '_' . $reg[2]; + $pu = "pu_" . $reg[1] . '_' . $reg[2]; // This is unit price including discount + $fk_commandefourndet = "fk_commandefourndet_" . $reg[1] . '_' . $reg[2]; - if (GETPOST($qty) > 0) // We ask to move a qty - { - if (! (GETPOST($ent,'int') > 0)) - { - dol_syslog('No dispatch for line '.$key.' as no warehouse choosed'); - $text = $langs->transnoentities('Warehouse').', '.$langs->transnoentities('Line').' ' .($numline); - setEventMessages($langs->trans('ErrorFieldRequired',$text), null, 'errors'); - $error++; + // We ask to move a qty + if (GETPOST($qty) > 0) { + if (! (GETPOST($ent, 'int') > 0)) { + dol_syslog('No dispatch for line ' . $key . ' as no warehouse choosed'); + $text = $langs->transnoentities('Warehouse') . ', ' . $langs->transnoentities('Line') . ' ' . ($numline); + setEventMessages($langs->trans('ErrorFieldRequired', $text), null, 'errors'); + $error ++; } - if (! $error) - { - $result = $commande->dispatchProduct($user, GETPOST($prod,'int'), GETPOST($qty), GETPOST($ent,'int'), GETPOST($pu), GETPOST('comment'), '', '', '', GETPOST($fk_commandefourndet, 'int'), $notrigger); - if ($result < 0) - { + if (! $error) { + $result = $commande->dispatchProduct($user, GETPOST($prod, 'int'), GETPOST($qty), GETPOST($ent, 'int'), GETPOST($pu), GETPOST('comment'), '', '', '', GETPOST($fk_commandefourndet, 'int'), $notrigger); + if ($result < 0) { setEventMessages($commande->error, $commande->errors, 'errors'); - $error++; + $error ++; } } } } - if (preg_match('/^product_batch_([0-9]+)_([0-9]+)$/i', $key, $reg)) // with batch module enabled - { - $pos++; + // with batch module enabled + if (preg_match('/^product_batch_([0-9]+)_([0-9]+)$/i', $key, $reg)) { + $pos ++; - //eat-by date dispatch - //$numline=$reg[2] + 1; // line of product - $numline=$pos; - $prod = 'product_batch_'.$reg[1].'_'.$reg[2]; - $qty = 'qty_'.$reg[1].'_'.$reg[2]; - $ent = 'entrepot_'.$reg[1].'_'.$reg[2]; - $pu = 'pu_'.$reg[1].'_'.$reg[2]; - $fk_commandefourndet = 'fk_commandefourndet_'.$reg[1].'_'.$reg[2]; - $lot = 'lot_number_'.$reg[1].'_'.$reg[2]; - $dDLUO = dol_mktime(12, 0, 0, $_POST['dluo_'.$reg[1].'_'.$reg[2].'month'], $_POST['dluo_'.$reg[1].'_'.$reg[2].'day'], $_POST['dluo_'.$reg[1].'_'.$reg[2].'year']); - $dDLC = dol_mktime(12, 0, 0, $_POST['dlc_'.$reg[1].'_'.$reg[2].'month'], $_POST['dlc_'.$reg[1].'_'.$reg[2].'day'], $_POST['dlc_'.$reg[1].'_'.$reg[2].'year']); + // eat-by date dispatch + // $numline=$reg[2] + 1; // line of product + $numline = $pos; + $prod = 'product_batch_' . $reg[1] . '_' . $reg[2]; + $qty = 'qty_' . $reg[1] . '_' . $reg[2]; + $ent = 'entrepot_' . $reg[1] . '_' . $reg[2]; + $pu = 'pu_' . $reg[1] . '_' . $reg[2]; + $fk_commandefourndet = 'fk_commandefourndet_' . $reg[1] . '_' . $reg[2]; + $lot = 'lot_number_' . $reg[1] . '_' . $reg[2]; + $dDLUO = dol_mktime(12, 0, 0, $_POST['dluo_' . $reg[1] . '_' . $reg[2] . 'month'], $_POST['dluo_' . $reg[1] . '_' . $reg[2] . 'day'], $_POST['dluo_' . $reg[1] . '_' . $reg[2] . 'year']); + $dDLC = dol_mktime(12, 0, 0, $_POST['dlc_' . $reg[1] . '_' . $reg[2] . 'month'], $_POST['dlc_' . $reg[1] . '_' . $reg[2] . 'day'], $_POST['dlc_' . $reg[1] . '_' . $reg[2] . 'year']); - $fk_commandefourndet = 'fk_commandefourndet_'.$reg[1].'_'.$reg[2]; + $fk_commandefourndet = 'fk_commandefourndet_' . $reg[1] . '_' . $reg[2]; - if (GETPOST($qty) > 0) // We ask to move a qty - { - if (! (GETPOST($ent,'int') > 0)) - { - dol_syslog('No dispatch for line '.$key.' as no warehouse choosed'); - $text = $langs->transnoentities('Warehouse').', '.$langs->transnoentities('Line').' ' .($numline).'-'.($reg[1]+1); - setEventMessages($langs->trans('ErrorFieldRequired',$text), null, 'errors'); - $error++; + // We ask to move a qty + if (GETPOST($qty) > 0) { + if (! (GETPOST($ent, 'int') > 0)) { + dol_syslog('No dispatch for line ' . $key . ' as no warehouse choosed'); + $text = $langs->transnoentities('Warehouse') . ', ' . $langs->transnoentities('Line') . ' ' . ($numline) . '-' . ($reg[1] + 1); + setEventMessages($langs->trans('ErrorFieldRequired', $text), null, 'errors'); + $error ++; } - if (! (GETPOST($lot, 'alpha') || $dDLUO || $dDLC)) - { - dol_syslog('No dispatch for line '.$key.' as serial/eat-by/sellby date are not set'); - $text = $langs->transnoentities('atleast1batchfield').', '.$langs->transnoentities('Line').' ' .($numline).'-'.($reg[1]+1); - setEventMessages($langs->trans('ErrorFieldRequired',$text), null, 'errors'); - $error++; + if (! (GETPOST($lot, 'alpha') || $dDLUO || $dDLC)) { + dol_syslog('No dispatch for line ' . $key . ' as serial/eat-by/sellby date are not set'); + $text = $langs->transnoentities('atleast1batchfield') . ', ' . $langs->transnoentities('Line') . ' ' . ($numline) . '-' . ($reg[1] + 1); + setEventMessages($langs->trans('ErrorFieldRequired', $text), null, 'errors'); + $error ++; } - if (! $error) - { - $result = $commande->dispatchProduct($user, GETPOST($prod,'int'), GETPOST($qty), GETPOST($ent,'int'), GETPOST($pu), GETPOST('comment'), $dDLC, $dDLUO, GETPOST($lot, 'alpha'), GETPOST($fk_commandefourndet, 'int'), $notrigger); - if ($result < 0) - { + if (! $error) { + $result = $commande->dispatchProduct($user, GETPOST($prod, 'int'), GETPOST($qty), GETPOST($ent, 'int'), GETPOST($pu), GETPOST('comment'), $dDLC, $dDLUO, GETPOST($lot, 'alpha'), GETPOST($fk_commandefourndet, 'int'), $notrigger); + if ($result < 0) { setEventMessages($commande->error, $commande->errors, 'errors'); - $error++; + $error ++; } } } @@ -215,542 +225,470 @@ if ($action == 'dispatch' && $user->rights->fournisseur->commande->receptionner) if (! $error) { $result = $commande->calcAndSetStatusDispatch($user); - if ($result < 0) - { + if ($result < 0) { setEventMessages($commande->error, $commande->errors, 'errors'); - $error++; + $error ++; } } - if (! $notrigger && ! $error) - { + if (! $notrigger && ! $error) { global $conf, $langs, $user; - // Call trigger + // Call trigger - $result = $commande->call_trigger('ORDER_SUPPLIER_DISPATCH', $user); - // End call triggers + $result = $commande->call_trigger('ORDER_SUPPLIER_DISPATCH', $user); + // End call triggers - if ($result < 0) - { + if ($result < 0) { setEventMessages($commande->error, $commande->errors, 'errors'); - $error++; + $error ++; } } - if ($result >= 0 && ! $error) - { + if ($result >= 0 && ! $error) { $db->commit(); - header("Location: dispatch.php?id=".$id); - exit; - } - else - { + header("Location: dispatch.php?id=" . $id); + exit(); + } else { $db->rollback(); } } - /* * View */ -$form = new Form($db); +$form = new Form($db); $formproduct = new FormProduct($db); $warehouse_static = new Entrepot($db); $supplierorderdispatch = new CommandeFournisseurDispatch($db); +$help_url = 'EN:CommandeFournisseur'; +llxHeader('', $langs->trans("OrderCard"), $help_url, '', 0, 0, array( + '/fourn/js/lib_dispatch.js' +)); -$help_url='EN:CommandeFournisseur'; -llxHeader('',$langs->trans("OrderCard"),$help_url,'',0,0,array('/fourn/js/lib_dispatch.js')); +$now = dol_now(); -$now=dol_now(); +if ($id > 0 || ! empty($ref)) { + $soc = new Societe($db); + $soc->fetch($commande->socid); -$id = GETPOST('id','int'); -$ref= GETPOST('ref'); -if ($id > 0 || ! empty($ref)) -{ - //if ($mesg) print $mesg.'
'; + $author = new User($db); + $author->fetch($commande->user_author_id); - $commande = new CommandeFournisseur($db); + $head = ordersupplier_prepare_head($commande); - $result=$commande->fetch($id,$ref); - if ($result >= 0) - { - $soc = new Societe($db); - $soc->fetch($commande->socid); + $title = $langs->trans("SupplierOrder"); + dol_fiche_head($head, 'dispatch', $title, 0, 'order'); - $author = new User($db); - $author->fetch($commande->user_author_id); + /* + * Commande + */ + print ''; - $head = ordersupplier_prepare_head($commande); + // Ref + print ''; + print ''; + print ''; - $title=$langs->trans("SupplierOrder"); - dol_fiche_head($head, 'dispatch', $title, 0, 'order'); + // Fournisseur + print '"; + print ''; + print ''; - /* - * Commande - */ - print '
' . $langs->trans("Ref") . ''; + print $form->showrefnav($commande, 'ref', '', 1, 'ref', 'ref'); + print '
' . $langs->trans("Supplier") . "' . $soc->getNomUrl(1, 'supplier') . '
'; + // Statut + print ''; + print ''; + print '"; - // Ref - print ''; - print ''; - print ''; - - // Fournisseur - print '"; - print ''; - print ''; - - // Statut - print ''; - print ''; - print '"; - // Date - if ($commande->methode_commande_id > 0) - { - print '"; - - if ($commande->methode_commande) - { - print ''; - } + if ($commande->methode_commande) { + print ''; } + } - // Auteur - print ''; - print ''; - print ''; + // Auteur + print ''; + print ''; + print ''; - print "
' . $langs->trans("Status") . ''; + print $commande->getLibStatut(4); + print "
'.$langs->trans("Ref").''; - print $form->showrefnav($commande,'ref','',1,'ref','ref'); - print '
'.$langs->trans("Supplier")."'.$soc->getNomUrl(1,'supplier').'
'.$langs->trans("Status").''; - print $commande->getLibStatut(4); + // Date + if ($commande->methode_commande_id > 0) { + print '
' . $langs->trans("Date") . ''; + if ($commande->date_commande) { + print dol_print_date($commande->date_commande, "dayhourtext") . "\n"; + } print "
'.$langs->trans("Date").''; - if ($commande->date_commande) - { - print dol_print_date($commande->date_commande,"dayhourtext")."\n"; - } - print "
'.$langs->trans("Method").''.$commande->methode_commande.'
' . $langs->trans("Method") . '' . $commande->methode_commande . '
'.$langs->trans("AuthorRequest").''.$author->getNomUrl(1).'
' . $langs->trans("AuthorRequest") . '' . $author->getNomUrl(1) . '
"; + print ""; - //if ($mesg) print $mesg; - print '
'; + // if ($mesg) print $mesg; + print '
'; - - $disabled=1; - if (! empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER)) $disabled=0; + $disabled = 1; + if (! empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER)) + $disabled = 0; /* - * Lignes de commandes - */ - if ($commande->statut <= 2 || $commande->statut >= 6) - { - print $langs->trans("OrderStatusNotReadyToDispatch"); - } + * Lignes de commandes + */ + if ($commande->statut <= 2 || $commande->statut >= 6) { + print $langs->trans("OrderStatusNotReadyToDispatch"); + } - if ($commande->statut == 3 || $commande->statut == 4 || $commande->statut == 5) - { - $entrepot = new Entrepot($db); - $listwarehouses=$entrepot->list_array(1); + if ($commande->statut == 3 || $commande->statut == 4 || $commande->statut == 5) { + $entrepot = new Entrepot($db); + $listwarehouses = $entrepot->list_array(1); - print ''; - print ''; - print ''; - print ''; + print ''; + print ''; + print ''; + print '
'; - // Set $products_dispatched with qty dispatched for each product id - $products_dispatched = array(); - $sql = "SELECT l.rowid, cfd.fk_product, sum(cfd.qty) as qty"; - $sql.= " FROM ".MAIN_DB_PREFIX."commande_fournisseur_dispatch as cfd"; - $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."commande_fournisseurdet as l on l.rowid = cfd.fk_commandefourndet"; - $sql.= " WHERE cfd.fk_commande = ".$commande->id; - $sql.= " GROUP BY l.rowid, cfd.fk_product"; - - $resql = $db->query($sql); - if ($resql) - { - $num = $db->num_rows($resql); - $i = 0; - - if ($num) - { - while ($i < $num) - { - $objd = $db->fetch_object($resql); - $products_dispatched[$objd->rowid] = price2num($objd->qty, 5); - $i++; - } - } - $db->free($resql); - } - - $sql = "SELECT l.rowid, l.fk_product, l.subprice, l.remise_percent, SUM(l.qty) as qty,"; - $sql.= " p.ref, p.label, p.tobatch"; - $sql.= " FROM ".MAIN_DB_PREFIX."commande_fournisseurdet as l"; - $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON l.fk_product=p.rowid"; - $sql.= " WHERE l.fk_commande = ".$commande->id; - if(empty($conf->global->STOCK_SUPPORTS_SERVICES)) $sql.= " AND l.product_type = 0"; - $sql.= " GROUP BY p.ref, p.label, p.tobatch, l.rowid, l.fk_product, l.subprice, l.remise_percent"; // Calculation of amount dispatched is done per fk_product so we must group by fk_product - $sql.= " ORDER BY p.ref, p.label"; - - $resql = $db->query($sql); - if ($resql) - { - $num = $db->num_rows($resql); - $i = 0; - - if ($num) - { - print ''; - - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print "\n"; - - if (! empty($conf->productbatch->enabled)) - { - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print "\n"; - } - - } - - $nbfreeproduct=0; - $nbproduct=0; - - $var=false; - while ($i < $num) - { - $objp = $db->fetch_object($resql); - - // On n'affiche pas les produits personnalises - if (! $objp->fk_product > 0) - { - $nbfreeproduct++; - } - else - { - $remaintodispatch=price2num($objp->qty - ((float) $products_dispatched[$objp->rowid]), 5); // Calculation of dispatched - if ($remaintodispatch < 0) $remaintodispatch=0; - - if ($remaintodispatch || empty($conf->global->SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED)) - { - $nbproduct++; - - $var=!$var; - - // To show detail cref and description value, we must make calculation by cref - //print ($objp->cref?' ('.$objp->cref.')':''); - //if ($objp->description) print '
'.nl2br($objp->description); - $suffix='_0_'.$i; - - print "\n"; - print ''."\n"; - print ""; - - $linktoprod=''.img_object($langs->trans("ShowProduct"),'product').' '.$objp->ref.''; - $linktoprod.=' - '.$objp->label."\n"; - - if (! empty($conf->productbatch->enabled)) - { - if ($objp->tobatch) - { - print '"; - } - else - { - print '"; - print ''; - } - } - else - { - print '"; - } - - $var=!$var; - $up_ht_disc=$objp->subprice; - if (! empty($objp->remise_percent) && empty($conf->global->STOCK_EXCLUDE_DISCOUNT_FOR_PMP)) $up_ht_disc=price2num($up_ht_disc * (100 - $objp->remise_percent) / 100, 'MU'); - - // Qty ordered - print ''; - - // Already dispatched - print ''; - - if (! empty($conf->productbatch->enabled) && $objp->tobatch==1) - { - $type = 'batch'; - print ''; // Dispatch column - print ''; // Warehouse column - print ''; - - print ''; - print ''; - - print ''; - print ''; - print ''; - print ''; // Qty ordered + qty already dispatached - } - else - { - $type = 'dispatch'; - print ''; // Dispatch column - print ''; - print ''; - print ''; - print ''; - } - // Dispatch - print ''; - - // Warehouse - print '\n"; - - print "\n"; - } - } - $i++; - } - $db->free($resql); - } - else - { - dol_print_error($db); - } - - print "
'.$langs->trans("Description").''.$langs->trans("QtyOrdered").''.$langs->trans("QtyDispatchedShort").''.$langs->trans("QtyToDispatchShort").''.$langs->trans("Warehouse").'
'.$langs->trans("batch_number").''.$langs->trans("l_eatby").''.$langs->trans("l_sellby").' 
'; - print $linktoprod; - print "'; - print $linktoprod; - print "'; - print $langs->trans("ProductDoesNotUseBatchSerial"); - print ''; - print $linktoprod; - print "'.$objp->qty.''.$products_dispatched[$objp->rowid].''.img_picto($langs->trans('AddDispatchBatchLine'),'split.png','onClick="addDispatchLine('.$i.',\''.$type.'\')"').'
'; - print ''; - print ''; - print ''; - // hidden fields for js function - print ''; - print ''; - print ''; - print ''; - print ''; - $dlcdatesuffix=dol_mktime(0, 0, 0, GETPOST('dlc'.$suffix.'month'), GETPOST('dlc'.$suffix.'day'), GETPOST('dlc'.$suffix.'year')); - $form->select_date($dlcdatesuffix,'dlc'.$suffix,'','',1,""); - print ''; - $dluodatesuffix=dol_mktime(0, 0, 0, GETPOST('dluo'.$suffix.'month'), GETPOST('dluo'.$suffix.'day'), GETPOST('dluo'.$suffix.'year')); - $form->select_date($dluodatesuffix,'dluo'.$suffix,'','',1,""); - print ' '.img_picto($langs->trans('AddStockLocationLine'),'split.png','onClick="addDispatchLine('.$i.',\''.$type.'\')"').'
'; - print ''; - print ''; - print ''; - // hidden fields for js function - print ''; - print ''; - print ''; - print ''; - print ''; - if (count($listwarehouses)>1) - { - print $formproduct->selectWarehouses(GETPOST("entrepot".$suffix), "entrepot".$suffix,'',1,0,$objp->fk_product); - } - elseif (count($listwarehouses)==1) - { - print $formproduct->selectWarehouses(GETPOST("entrepot".$suffix), "entrepot".$suffix,'',0,0,$objp->fk_product); - } - else - { - print $langs->trans("NoWarehouseDefined"); - } - print "
\n"; - print "
\n"; - - if ($nbproduct) - { - print $langs->trans("Comment").' : '; - print 'trans("DispatchSupplierOrder",$commande->ref); - // print ' / '.$commande->ref_supplier; // Not yet available - print '" class="flat">   '; - - //print '
'; - print ''; - //print '
'; - } - if (! $nbproduct && $nbfreeproduct) - { - print $langs->trans("NoPredefinedProductToDispatch"); - } - - print ''; - } - - dol_fiche_end(); - - - // List of lines already dispatched - $sql = "SELECT p.ref, p.label,"; - $sql.= " e.rowid as warehouse_id, e.label as entrepot,"; - $sql.= " cfd.rowid as dispatchlineid, cfd.fk_product, cfd.qty, cfd.eatby, cfd.sellby, cfd.batch, cfd.comment, cfd.status"; - $sql.= " FROM ".MAIN_DB_PREFIX."product as p,"; - $sql.= " ".MAIN_DB_PREFIX."commande_fournisseur_dispatch as cfd"; - $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."entrepot as e ON cfd.fk_entrepot = e.rowid"; - $sql.= " WHERE cfd.fk_commande = ".$commande->id; - $sql.= " AND cfd.fk_product = p.rowid"; - $sql.= " ORDER BY cfd.rowid ASC"; + // Set $products_dispatched with qty dispatched for each product id + $products_dispatched = array(); + $sql = "SELECT l.rowid, cfd.fk_product, sum(cfd.qty) as qty"; + $sql .= " FROM " . MAIN_DB_PREFIX . "commande_fournisseur_dispatch as cfd"; + $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "commande_fournisseurdet as l on l.rowid = cfd.fk_commandefourndet"; + $sql .= " WHERE cfd.fk_commande = " . $commande->id; + $sql .= " GROUP BY l.rowid, cfd.fk_product"; $resql = $db->query($sql); - if ($resql) - { + if ($resql) { $num = $db->num_rows($resql); $i = 0; - if ($num > 0) - { - print "
\n"; - - print load_fiche_titre($langs->trans("ReceivingForSameOrder")); - - print ''; - - print ''; - print ''; - if (! empty($conf->productbatch->enabled)) - { - print ''; - print ''; - print ''; + if ($num) { + while ( $i < $num ) { + $objd = $db->fetch_object($resql); + $products_dispatched[$objd->rowid] = price2num($objd->qty, 5); + $i ++; } - print ''; + } + $db->free($resql); + } + + $sql = "SELECT l.rowid, l.fk_product, l.subprice, l.remise_percent, SUM(l.qty) as qty,"; + $sql .= " p.ref, p.label, p.tobatch"; + $sql .= " FROM " . MAIN_DB_PREFIX . "commande_fournisseurdet as l"; + $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "product as p ON l.fk_product=p.rowid"; + $sql .= " WHERE l.fk_commande = " . $commande->id; + if (empty($conf->global->STOCK_SUPPORTS_SERVICES)) + $sql .= " AND l.product_type = 0"; + $sql .= " GROUP BY p.ref, p.label, p.tobatch, l.rowid, l.fk_product, l.subprice, l.remise_percent"; // Calculation of amount dispatched is done per fk_product so we must group by fk_product + $sql .= " ORDER BY p.ref, p.label"; + + $resql = $db->query($sql); + if ($resql) { + $num = $db->num_rows($resql); + $i = 0; + + if ($num) { + print ''; + + print ''; print ''; - print ''; - print ''; - if (! empty($conf->global->SUPPLIER_ORDER_USE_DISPATCH_STATUS)) print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; print "\n"; - $var=false; - - while ($i < $num) - { - $objp = $db->fetch_object($resql); - - print ""; - print '\n"; - - if (! empty($conf->productbatch->enabled)) - { - print ''; - print ''; - print ''; - } - - // Qty - print ''; - print ''; - - // Warehouse - print ''; - - // Comment - print ''; - - // Status - if (! empty($conf->global->SUPPLIER_ORDER_USE_DISPATCH_STATUS)) - { - print ''; - - // Add button to check/uncheck disaptching - print ''; - } - + if (! empty($conf->productbatch->enabled)) { + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; print "\n"; - - $i++; - $var=!$var; } - $db->free($resql); - - print "
'.$langs->trans("Description").''.$langs->trans("batch_number").''.$langs->trans("l_eatby").''.$langs->trans("l_sellby").''.$langs->trans("QtyDispatched").'
' . $langs->trans("Description") . ''.$langs->trans("Warehouse").''.$langs->trans("Comment").''.$langs->trans("Status").'' . $langs->trans("QtyOrdered") . '' . $langs->trans("QtyDispatchedShort") . '' . $langs->trans("QtyToDispatchShort") . '' . $langs->trans("Warehouse") . '
'; - print ''.img_object($langs->trans("ShowProduct"),'product').' '.$objp->ref.''; - print ' - '.$objp->label; - print "'.$objp->batch.''.dol_print_date($db->jdate($objp->eatby),'day').''.dol_print_date($db->jdate($objp->sellby),'day').''.$objp->qty.' '; - $warehouse_static->id=$objp->warehouse_id; - $warehouse_static->libelle=$objp->entrepot; - print $warehouse_static->getNomUrl(1); - print ''.dol_trunc($objp->comment).''; - $supplierorderdispatch->status = (empty($objp->status)?0:$objp->status); - //print $supplierorderdispatch->status; - print $supplierorderdispatch->getLibStatut(5); - print ''; - if ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->fournisseur->commande->receptionner)) - || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->fournisseur->commande_advance->check)) - ) - { - if (empty($objp->status)) - { - print ''.$langs->trans("Approve").''; - print ''.$langs->trans("Deny").''; - } - else - { - print ''.$langs->trans("Disapprove").''; - print ''.$langs->trans("Deny").''; - } - } - else - { - $disabled=''; - if ($commande->statut == 5) $disabled=1; - if (empty($objp->status)) - { - print 'dispatchlineid.'">'.$langs->trans("Approve").''; - print 'dispatchlineid.'">'.$langs->trans("Deny").''; - } - if ($objp->status == 1) - { - print 'dispatchlineid.'">'.$langs->trans("Reinit").''; - print 'dispatchlineid.'">'.$langs->trans("Deny").''; - } - if ($objp->status == 2) - { - print 'dispatchlineid.'">'.$langs->trans("Reinit").''; - print 'dispatchlineid.'">'.$langs->trans("Approve").''; - } - } - print '
' . $langs->trans("batch_number") . '' . $langs->trans("l_eatby") . '' . $langs->trans("l_sellby") . ' 
\n"; } - } - else - { + + $nbfreeproduct = 0; + $nbproduct = 0; + + $var = false; + while ( $i < $num ) { + $objp = $db->fetch_object($resql); + + // On n'affiche pas les produits personnalises + if (! $objp->fk_product > 0) { + $nbfreeproduct ++; + } else { + $remaintodispatch = price2num($objp->qty - (( float ) $products_dispatched[$objp->rowid]), 5); // Calculation of dispatched + if ($remaintodispatch < 0) + $remaintodispatch = 0; + + if ($remaintodispatch || empty($conf->global->SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED)) { + $nbproduct ++; + + $var = ! $var; + + // To show detail cref and description value, we must make calculation by cref + // print ($objp->cref?' ('.$objp->cref.')':''); + // if ($objp->description) print '
'.nl2br($objp->description); + $suffix = '_0_' . $i; + + print "\n"; + print '' . "\n"; + print ""; + + $linktoprod = '' . img_object($langs->trans("ShowProduct"), 'product') . ' ' . $objp->ref . ''; + $linktoprod .= ' - ' . $objp->label . "\n"; + + if (! empty($conf->productbatch->enabled)) { + if ($objp->tobatch) { + print ''; + print $linktoprod; + print ""; + } else { + print ''; + print $linktoprod; + print ""; + print ''; + print $langs->trans("ProductDoesNotUseBatchSerial"); + print ''; + } + } else { + print ''; + print $linktoprod; + print ""; + } + + $var = ! $var; + $up_ht_disc = $objp->subprice; + if (! empty($objp->remise_percent) && empty($conf->global->STOCK_EXCLUDE_DISCOUNT_FOR_PMP)) + $up_ht_disc = price2num($up_ht_disc * (100 - $objp->remise_percent) / 100, 'MU'); + + // Qty ordered + print '' . $objp->qty . ''; + + // Already dispatched + print '' . $products_dispatched[$objp->rowid] . ''; + + if (! empty($conf->productbatch->enabled) && $objp->tobatch == 1) { + $type = 'batch'; + print '' . img_picto($langs->trans('AddDispatchBatchLine'), 'split.png', 'onClick="addDispatchLine(' . $i . ',\'' . $type . '\')"') . ''; // Dispatch column + print ''; // Warehouse column + print ''; + + print ''; + print ''; + print ''; + print ''; + print ''; + // hidden fields for js function + print ''; + print ''; + print ''; + + print ''; + print ''; + print ''; + print ''; + $dlcdatesuffix = dol_mktime(0, 0, 0, GETPOST('dlc' . $suffix . 'month'), GETPOST('dlc' . $suffix . 'day'), GETPOST('dlc' . $suffix . 'year')); + $form->select_date($dlcdatesuffix, 'dlc' . $suffix, '', '', 1, ""); + print ''; + print ''; + $dluodatesuffix = dol_mktime(0, 0, 0, GETPOST('dluo' . $suffix . 'month'), GETPOST('dluo' . $suffix . 'day'), GETPOST('dluo' . $suffix . 'year')); + $form->select_date($dluodatesuffix, 'dluo' . $suffix, '', '', 1, ""); + print ''; + print ' '; // Qty ordered + qty already dispatached + } else { + $type = 'dispatch'; + print '' . img_picto($langs->trans('AddStockLocationLine'), 'split.png', 'onClick="addDispatchLine(' . $i . ',\'' . $type . '\')"') . ''; // Dispatch column + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + // hidden fields for js function + print ''; + print ''; + print ''; + } + // Dispatch + print ''; + print ''; + print ''; + + // Warehouse + print ''; + if (count($listwarehouses) > 1) { + print $formproduct->selectWarehouses(GETPOST("entrepot" . $suffix), "entrepot" . $suffix, '', 1, 0, $objp->fk_product); + } elseif (count($listwarehouses) == 1) { + print $formproduct->selectWarehouses(GETPOST("entrepot" . $suffix), "entrepot" . $suffix, '', 0, 0, $objp->fk_product); + } else { + print $langs->trans("NoWarehouseDefined"); + } + print "\n"; + + print "\n"; + } + } + $i ++; + } + $db->free($resql); + } else { dol_print_error($db); } + + print "\n"; + print "
\n"; + + if ($nbproduct) { + print $langs->trans("Comment") . ' : '; + print 'trans("DispatchSupplierOrder", $commande->ref); + // print ' / '.$commande->ref_supplier; // Not yet available + print '" class="flat">   '; + + // print '
'; + print ''; + // print '
'; + } + if (! $nbproduct && $nbfreeproduct) { + print $langs->trans("NoPredefinedProductToDispatch"); + } + + print ''; } - else - { - // Commande non trouvee + + dol_fiche_end(); + + // List of lines already dispatched + $sql = "SELECT p.ref, p.label,"; + $sql .= " e.rowid as warehouse_id, e.label as entrepot,"; + $sql .= " cfd.rowid as dispatchlineid, cfd.fk_product, cfd.qty, cfd.eatby, cfd.sellby, cfd.batch, cfd.comment, cfd.status"; + $sql .= " FROM " . MAIN_DB_PREFIX . "product as p,"; + $sql .= " " . MAIN_DB_PREFIX . "commande_fournisseur_dispatch as cfd"; + $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "entrepot as e ON cfd.fk_entrepot = e.rowid"; + $sql .= " WHERE cfd.fk_commande = " . $commande->id; + $sql .= " AND cfd.fk_product = p.rowid"; + $sql .= " ORDER BY cfd.rowid ASC"; + + $resql = $db->query($sql); + if ($resql) { + $num = $db->num_rows($resql); + $i = 0; + + if ($num > 0) { + print "
\n"; + + print load_fiche_titre($langs->trans("ReceivingForSameOrder")); + + print ''; + + print ''; + print ''; + if (! empty($conf->productbatch->enabled)) { + print ''; + print ''; + print ''; + } + print ''; + print ''; + print ''; + print ''; + if (! empty($conf->global->SUPPLIER_ORDER_USE_DISPATCH_STATUS)) + print ''; + print "\n"; + + $var = false; + + while ( $i < $num ) { + $objp = $db->fetch_object($resql); + + print ""; + print '\n"; + + if (! empty($conf->productbatch->enabled)) { + print ''; + print ''; + print ''; + } + + // Qty + print ''; + print ''; + + // Warehouse + print ''; + + // Comment + print ''; + + // Status + if (! empty($conf->global->SUPPLIER_ORDER_USE_DISPATCH_STATUS)) { + print ''; + + // Add button to check/uncheck disaptching + print ''; + } + + print "\n"; + + $i ++; + $var = ! $var; + } + $db->free($resql); + + print "
' . $langs->trans("Description") . '' . $langs->trans("batch_number") . '' . $langs->trans("l_eatby") . '' . $langs->trans("l_sellby") . '' . $langs->trans("QtyDispatched") . '' . $langs->trans("Warehouse") . '' . $langs->trans("Comment") . '' . $langs->trans("Status") . '
'; + print '' . img_object($langs->trans("ShowProduct"), 'product') . ' ' . $objp->ref . ''; + print ' - ' . $objp->label; + print "' . $objp->batch . '' . dol_print_date($db->jdate($objp->eatby), 'day') . '' . dol_print_date($db->jdate($objp->sellby), 'day') . '' . $objp->qty . ' '; + $warehouse_static->id = $objp->warehouse_id; + $warehouse_static->libelle = $objp->entrepot; + print $warehouse_static->getNomUrl(1); + print '' . dol_trunc($objp->comment) . ''; + $supplierorderdispatch->status = (empty($objp->status) ? 0 : $objp->status); + // print $supplierorderdispatch->status; + print $supplierorderdispatch->getLibStatut(5); + print ''; + if ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->fournisseur->commande->receptionner)) || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->fournisseur->commande_advance->check))) { + if (empty($objp->status)) { + print '' . $langs->trans("Approve") . ''; + print '' . $langs->trans("Deny") . ''; + } else { + print '' . $langs->trans("Disapprove") . ''; + print '' . $langs->trans("Deny") . ''; + } + } else { + $disabled = ''; + if ($commande->statut == 5) + $disabled = 1; + if (empty($objp->status)) { + print 'dispatchlineid . '">' . $langs->trans("Approve") . ''; + print 'dispatchlineid . '">' . $langs->trans("Deny") . ''; + } + if ($objp->status == 1) { + print 'dispatchlineid . '">' . $langs->trans("Reinit") . ''; + print 'dispatchlineid . '">' . $langs->trans("Deny") . ''; + } + if ($objp->status == 2) { + print 'dispatchlineid . '">' . $langs->trans("Reinit") . ''; + print 'dispatchlineid . '">' . $langs->trans("Approve") . ''; + } + } + print '
\n"; + } + } else { dol_print_error($db); } } - llxFooter(); $db->close(); From 33251fc97e14af5a1cc27d9ccb35c5ff4ae528e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Doursenaud?= Date: Mon, 1 Aug 2016 11:09:11 +0200 Subject: [PATCH 268/476] FIX #4608 [Debian] Don't hard depend on mysql-server Allows using a separate MySQL server and switching to MariaDB. --- build/debian/control | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/debian/control b/build/debian/control index 9a76856505a..d5c4a913713 100755 --- a/build/debian/control +++ b/build/debian/control @@ -26,11 +26,11 @@ Depends: libapache2-mod-php5 | libapache2-mod-php5filter | php5-cgi | php5-fpm | # Misc dependencies # fonts-dejavu-core | ttf-dejavu-core, xdg-utils, - mysql-server, - mysql-client, + virtual-mysql-client, ${misc:Depends}, ${perl:Depends} -Recommends: apache2 | lighttpd | httpd +Recommends: apache2 | lighttpd | httpd, + virtual-mysql-server Suggests: www-browser, php5-geoip Description: Web based software to manage a company or foundation Dolibarr ERP & CRM is an easy to use open source/free software package for From e168888c597040dd49dce9a019e8d7f7eb83d328 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 5 Aug 2016 12:18:51 +0200 Subject: [PATCH 269/476] NEW Reduce nb of picto on ref into list, merging preview and download --- htdocs/comm/propal/list.php | 6 +- htdocs/core/class/html.form.class.php | 71 ++++++++-------- htdocs/core/class/html.formfile.class.php | 97 +++++++++++++--------- htdocs/core/js/lib_head.js.php | 9 +- htdocs/core/lib/functions.lib.php | 23 +++++ htdocs/fourn/commande/list.php | 16 +++- htdocs/fourn/facture/list.php | 18 ++-- htdocs/product/card.php | 2 +- htdocs/product/class/product.class.php | 11 ++- htdocs/theme/eldy/img/listlight.png | Bin 0 -> 177 bytes htdocs/theme/eldy/style.css.php | 4 +- htdocs/theme/md/img/listlight.png | Bin 0 -> 177 bytes htdocs/theme/md/style.css.php | 4 +- 13 files changed, 170 insertions(+), 91 deletions(-) create mode 100644 htdocs/theme/eldy/img/listlight.png create mode 100644 htdocs/theme/md/img/listlight.png diff --git a/htdocs/comm/propal/list.php b/htdocs/comm/propal/list.php index af73bf3e45f..ad338b150b7 100644 --- a/htdocs/comm/propal/list.php +++ b/htdocs/comm/propal/list.php @@ -634,10 +634,11 @@ if ($result) $objectstatic->ref=$obj->ref; print ''; + // Picto + Ref print ''; - + // Warning print ''; - - // Ref + // Other picto tool print '
'; print $objectstatic->getNomUrl(1); print ''; if ($obj->fk_statut == 1 && $db->jdate($obj->dfv) < ($now - $conf->propal->cloture->warning_delay)) print img_warning($langs->trans("Late")); if (! empty($obj->note_private)) @@ -647,8 +648,7 @@ if ($result) print ''; } print ''; $filename=dol_sanitizeFileName($obj->ref); $filedir=$conf->propal->dir_output . '/' . dol_sanitizeFileName($obj->ref); diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index b21aab1af0e..66bb880147f 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -5074,37 +5074,32 @@ class Form '; @@ -5665,13 +5660,23 @@ class Form { if ($file && file_exists($dir."/".$file)) { - if ($addlinktofullsize) $ret.=''; + if ($addlinktofullsize) + { + $urladvanced=getAdvancedPreviewUrl($modulepart, $originalfile); + if ($urladvanced) $ret.=''; + else $ret.=''; + } $ret.='Photo'; if ($addlinktofullsize) $ret.=''; } else if ($altfile && file_exists($dir."/".$altfile)) { - if ($addlinktofullsize) $ret.=''; + if ($addlinktofullsize) + { + $urladvanced=getAdvancedPreviewUrl($modulepart, $originalfile); + if ($urladvanced) $ret.=''; + else $ret.=''; + } $ret.='Photo alt'; if ($addlinktofullsize) $ret.=''; } diff --git a/htdocs/core/class/html.formfile.class.php b/htdocs/core/class/html.formfile.class.php index bd7ee30c277..1ec75cc43ed 100644 --- a/htdocs/core/class/html.formfile.class.php +++ b/htdocs/core/class/html.formfile.class.php @@ -586,12 +586,14 @@ class FormFile { $file_list=dol_dir_list($filedir,'files',0,'','(\.meta|_preview\.png)$','date',SORT_DESC); + $out.= ''."\n"; + // Show title of array if not already shown if ((! empty($file_list) || preg_match('/^massfilesarea/', $modulepart)) && ! $headershown) { $headershown=1; - $out.= '
'.$titletoshow.'
'; - $out.= ''; + $out.= '
'.$titletoshow.'
'."\n"; + $out.= '
'."\n"; } // Loop on each file found @@ -603,14 +605,14 @@ class FormFile // Define relative path for download link (depends on module) $relativepath=$file["name"]; // Cas general - if ($modulesubdir) $relativepath=$modulesubdir."/".$file["name"]; // Cas propal, facture... + if ($modulesubdir) $relativepath=$modulesubdir."/".$file["name"]; // Cas propal, facture... if ($modulepart == 'export') $relativepath = $file["name"]; // Other case $out.= ""; $documenturl = DOL_URL_ROOT.'/document.php'; if (isset($conf->global->DOL_URL_ROOT_DOCUMENT_PHP)) $documenturl=$conf->global->DOL_URL_ROOT_DOCUMENT_PHP; - + // Show file name with link to download $out.= ''; // Show file size @@ -706,21 +707,28 @@ class FormFile */ function getDocumentsLink($modulepart, $modulesubdir, $filedir, $filter='') { + global $conf, $langs; + include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; $out=''; $this->infofiles=array('nboffiles'=>0,'extensions'=>array(),'files'=>array()); - $file_list=dol_dir_list($filedir, 'files', 0, preg_quote(basename($modulesubdir),'/').'[^\-]+', '\.meta$|\.png$'); // Get list of files starting with name fo ref (but not followed by "-" to discard uploaded files) + $file_list=dol_dir_list($filedir, 'files', 0, preg_quote(basename($modulesubdir),'/').'[^\-]+', '\.meta$|\.png$'); // Get list of files starting with name of ref (but not followed by "-" to discard uploaded files) // For ajax treatment - $out.= '
'.img_picto('', 'refresh').'
'."\n"; - + $out.= ''."\n"; if (! empty($file_list)) { + $out=''; + } + else + { + // TODO Add link to regenerate doc ? + //$out.= '
'.img_picto('', 'refresh').'
'."\n"; } return $out; @@ -845,6 +862,7 @@ class FormFile $var=!$var; print ''; print ''."\n"; if (! $i) $totalarray['nbfield']++; } diff --git a/htdocs/fourn/facture/list.php b/htdocs/fourn/facture/list.php index 574501276be..d234ea01bcb 100644 --- a/htdocs/fourn/facture/list.php +++ b/htdocs/fourn/facture/list.php @@ -736,16 +736,24 @@ if ($resql) { print '\n"; + if (! $i) $totalarray['nbfield']++; } // Customer ref diff --git a/htdocs/product/card.php b/htdocs/product/card.php index 2ff5e2b5b43..90cc0ef806d 100644 --- a/htdocs/product/card.php +++ b/htdocs/product/card.php @@ -1968,7 +1968,7 @@ if ($action == '' || $action == 'view') $var=true; - $somethingshown=$formfile->show_documents($modulepart,$object->id,$filedir,$urlsource,$genallowed,$delallowed,'',0,0,0,28,0,'',0,'',$object->default_lang); + $somethingshown=$formfile->show_documents($modulepart,$object->ref,$filedir,$urlsource,$genallowed,$delallowed,'',0,0,0,28,0,'',0,'',$object->default_lang); print '
'; diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index 0a9962ecd7b..3f8e258b9ea 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -3710,11 +3710,18 @@ class Product extends CommonObject else if ($nbbyrow < 0) $return .= '
'; $return.= "\n"; - if (empty($nolink)) $return.= ''; + + $relativefile=preg_replace('/^\//', '', $pdir.$photo); + if (empty($nolink)) + { + $urladvanced=getAdvancedPreviewUrl('product', $relativefile); + if ($urladvanced) $return.=''; + else $return.= ''; + } // Show image (width height=$maxHeight) // Si fichier vignette disponible et image source trop grande, on utilise la vignette, sinon on utilise photo origine - $alt=$langs->transnoentitiesnoconv('File').': '.$pdir.$photo; + $alt=$langs->transnoentitiesnoconv('File').': '.$relativefile; $alt.=' - '.$langs->transnoentitiesnoconv('Size').': '.$imgarray['width'].'x'.$imgarray['height']; if (empty($maxHeight) || $photo_vignette && $imgarray['height'] > $maxHeight) diff --git a/htdocs/theme/eldy/img/listlight.png b/htdocs/theme/eldy/img/listlight.png new file mode 100644 index 0000000000000000000000000000000000000000..c894f28ce3854e247fab671fb9f017aa84e9fa6a GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+0wn(&ce?|mn3BBRT^Rni_n+Ah4nJ za0`PlBg3pY5H=O_6HoST*4x&=SaN(3ORYYIEHAPzk6;YZ-apV%fW+-6sD)m zso|Z!(?rXu<%E)=(uZa0Z{@T%JMwHg8W8_`X78t?Tbk#I_Z_#L?l5J)-P*IfcV6*) UkZ8Ho4>XOz)78&qol`;+03P`{PXGV_ literal 0 HcmV?d00001 diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index b052a18fdf7..5602b109b4f 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -869,8 +869,8 @@ div.nopadding { padding-left: 2px; padding-right: 2px; } -.pictowarning { - padding-left: 3px; +.pictowarning, .pictopreview { + padding-: 3px; } .colorthumb { padding-left: 1px !important; diff --git a/htdocs/theme/md/img/listlight.png b/htdocs/theme/md/img/listlight.png new file mode 100644 index 0000000000000000000000000000000000000000..c894f28ce3854e247fab671fb9f017aa84e9fa6a GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+0wn(&ce?|mn3BBRT^Rni_n+Ah4nJ za0`PlBg3pY5H=O_6HoST*4x&=SaN(3ORYYIEHAPzk6;YZ-apV%fW+-6sD)m zso|Z!(?rXu<%E)=(uZa0Z{@T%JMwHg8W8_`X78t?Tbk#I_Z_#L?l5J)-P*IfcV6*) UkZ8Ho4>XOz)78&qol`;+03P`{PXGV_ literal 0 HcmV?d00001 diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php index bdfd10fc23d..d8855714c06 100644 --- a/htdocs/theme/md/style.css.php +++ b/htdocs/theme/md/style.css.php @@ -912,8 +912,8 @@ table.noborder tr.liste_titre td { padding-left: 2px; padding-right: 2px; } -.pictowarning { - padding-left: 3px; +.pictowarning, .pictopreview { + padding-: 3px; } .colorthumb { padding-left: 1px !important; From 890e6f59c815a774e7f311170834ddec705d1b84 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 5 Aug 2016 13:08:23 +0200 Subject: [PATCH 270/476] NEW Support mass actions for proposals --- dev/skeletons/skeleton_list.php | 9 +- htdocs/comm/propal/list.php | 231 +++++++++++++++++++----- htdocs/commande/list.php | 12 +- htdocs/compta/facture/list.php | 1 + htdocs/core/actions_massactions.inc.php | 4 +- htdocs/core/class/html.form.class.php | 2 +- htdocs/core/lib/files.lib.php | 20 +- 7 files changed, 217 insertions(+), 62 deletions(-) diff --git a/dev/skeletons/skeleton_list.php b/dev/skeletons/skeleton_list.php index 130582b3812..b53231e24a0 100644 --- a/dev/skeletons/skeleton_list.php +++ b/dev/skeletons/skeleton_list.php @@ -157,10 +157,11 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") ||GETPO if (empty($reshook)) { - $objectclass='Commande'; - $permtoread = $user->rights->commande->lire; - $permtodelete = $user->rights->commande->supprimer; - $uploaddir = $conf->commande->dir_output; + $objectclass='Skeleton'; + $objectlabel='Skeleton'; + $permtoread = $user->rights->skeleton->read; + $permtodelete = $user->rights->skeleton->delete; + $uploaddir = $conf->skeleton->dir_output; include DOL_DOCUMENT_ROOT.'/core/actions_massactions.inc.php'; } diff --git a/htdocs/comm/propal/list.php b/htdocs/comm/propal/list.php index ad338b150b7..4ba01b8cd31 100644 --- a/htdocs/comm/propal/list.php +++ b/htdocs/comm/propal/list.php @@ -51,6 +51,12 @@ $langs->load('products'); $socid=GETPOST('socid','int'); +$action=GETPOST('action','alpha'); +$massaction=GETPOST('massaction','alpha'); +$show_files=GETPOST('show_files','int'); +$confirm=GETPOST('confirm','alpha'); +$toselect = GETPOST('toselect', 'array'); + $search_user=GETPOST('search_user','int'); $search_sale=GETPOST('search_sale','int'); $search_ref=GETPOST('sf_ref')?GETPOST('sf_ref','alpha'):GETPOST('search_ref','alpha'); @@ -159,7 +165,7 @@ if (is_array($extrafields->attribute_label) && count($extrafields->attribute_lab */ if (GETPOST('cancel')) { $action='list'; $massaction=''; } -if (! GETPOST('confirmmassaction')) { $massaction=''; } +if (! GETPOST('confirmmassaction') && $massaction != 'presend' && $massaction != 'confirm_presend') { $massaction=''; } $parameters=array('socid'=>$socid); $reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks @@ -192,28 +198,19 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") || GETP $day=''; $viewstatut=''; $object_statut=''; + $toselect=''; $search_array_options=array(); } if ($object_statut != '') $viewstatut=$object_statut; if (empty($reshook)) { - // Mass actions. Controls on number of lines checked - $maxformassaction=1000; - if (! empty($massaction) && count($toselect) < 1) - { - $error++; - setEventMessages($langs->trans("NoLineChecked"), null, "warnings"); - } - if (! $error && count($toselect) > $maxformassaction) - { - setEventMessages($langs->trans('TooManyRecordForMassAction',$maxformassaction), null, 'errors'); - $error++; - } - - - - + $objectclass='Propal'; + $objectlabel='Proposals'; + $permtoread = $user->rights->propal->lire; + $permtodelete = $user->rights->propal->supprimer; + $uploaddir = $conf->propal->dir_output; + include DOL_DOCUMENT_ROOT.'/core/actions_massactions.inc.php'; } @@ -222,7 +219,7 @@ if (empty($reshook)) * View */ -llxHeader('',$langs->trans('Proposal'),'EN:Commercial_Proposals|FR:Proposition_commerciale|ES:Presupuestos'); +$now=dol_now(); $form = new Form($db); $formother = new FormOther($db); @@ -231,14 +228,15 @@ $formpropal = new FormPropal($db); $companystatic=new Societe($db); $formcompany=new FormCompany($db); -$now=dol_now(); +$help_url='EN:Commercial_Proposals|FR:Proposition_commerciale|ES:Presupuestos'; +llxHeader('',$langs->trans('Proposal'),$help_url); $sql = 'SELECT'; if ($sall || $search_product_category > 0) $sql = 'SELECT DISTINCT'; -$sql.= ' s.rowid, s.nom as name, s.town, s.zip, s.fk_pays, s.client, s.code_client, '; +$sql.= ' s.rowid as socid, s.nom as name, s.town, s.zip, s.fk_pays, s.client, s.code_client, '; $sql.= " typent.code as typent_code,"; $sql.= " state.code_departement as state_code, state.nom as state_name,"; -$sql.= ' p.rowid as propalid, p.note_private, p.total_ht, p.tva as total_vat, p.total as total_ttc, p.localtax1, p.localtax2, p.ref, p.ref_client, p.fk_statut, p.fk_user_author, p.datep as dp, p.fin_validite as dfv,'; +$sql.= ' p.rowid, p.note_private, p.total_ht, p.tva as total_vat, p.total as total_ttc, p.localtax1, p.localtax2, p.ref, p.ref_client, p.fk_statut, p.fk_user_author, p.datep as dp, p.fin_validite as dfv,'; $sql.= ' p.datec as date_creation, p.tms as date_update,'; if (! $user->rights->societe->client->voir && ! $socid) $sql .= " sc.fk_soc, sc.fk_user,"; $sql.= ' u.login'; @@ -340,19 +338,27 @@ if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) $sql.= $db->plimit($limit+1, $offset); -$result=$db->query($sql); -if ($result) +$resql=$db->query($sql); +if ($resql) { $objectstatic=new Propal($db); $userstatic=new User($db); - $num = $db->num_rows($result); - if ($socid) + if ($socid > 0) { $soc = new Societe($db); - $soc->fetch($socid); + $soc->fetch($socid); + $title = $langs->trans('ListOfProposals') . ' - '.$soc->name; } + else + { + $title = $langs->trans('ListOfProposals'); + } + $num = $db->num_rows($resql); + + $arrayofselected=is_array($toselect)?$toselect:array(); + $param='&socid='.$socid.'&viewstatut='.$viewstatut; if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.$contextpage; if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.$limit; @@ -375,10 +381,17 @@ if ($result) if ($val != '') $param.='&search_options_'.$tmpkey.'='.urlencode($val); } - //$massactionbutton=$form->selectMassAction('', $massaction == 'presend' ? array() : array('presend'=>$langs->trans("SendByMail"), 'builddoc'=>$langs->trans("PDFMerge"))); + // List of mass actions available + $arrayofmassactions = array( + 'presend'=>$langs->trans("SendByMail"), + 'builddoc'=>$langs->trans("PDFMerge"), + ); + if ($user->rights->propal->supprimer) $arrayofmassactions['delete']=$langs->trans("Delete"); + if ($massaction == 'presend') $arrayofmassactions=array(); + $massactionbutton=$form->selectMassAction('', $arrayofmassactions); // Lignes des champs de filtre - print '
'; + print ''; if ($optioncss != '') print ''; print ''; print ''; @@ -386,12 +399,107 @@ if ($result) print ''; print ''; - print_barre_liste($langs->trans('ListOfProposals').' '.($socid?'- '.$soc->name:''), $page, $_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',$num,$nbtotalofrecords,'title_commercial.png', 0, '', '', $limit); + print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $nbtotalofrecords, 'title_commercial.png', 0, '', '', $limit); + + if ($massaction == 'presend') + { + $langs->load("mails"); + + if (! GETPOST('cancel')) + { + $objecttmp=new Propal($db); + $listofselectedid=array(); + $listofselectedthirdparties=array(); + $listofselectedref=array(); + foreach($arrayofselected as $toselectid) + { + $result=$objecttmp->fetch($toselectid); + if ($result > 0) + { + $listofselectedid[$toselectid]=$toselectid; + $thirdpartyid=$objecttmp->fk_soc?$objecttmp->fk_soc:$objecttmp->socid; + $listofselectedthirdparties[$thirdpartyid]=$thirdpartyid; + $listofselectedref[$thirdpartyid][$toselectid]=$objecttmp->ref; + } + } + } + + print ''; + + include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php'; + $formmail = new FormMail($db); + + dol_fiche_head(null, '', ''); + + $topicmail="SendProposalRef"; + $modelmail="propal_send"; + + // Cree l'objet formulaire mail + include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php'; + $formmail = new FormMail($db); + $formmail->withform=-1; + $formmail->fromtype = 'user'; + $formmail->fromid = $user->id; + $formmail->fromname = $user->getFullName($langs); + $formmail->frommail = $user->email; + if (! empty($conf->global->MAIN_EMAIL_ADD_TRACK_ID) && ($conf->global->MAIN_EMAIL_ADD_TRACK_ID & 1)) // If bit 1 is set + { + $formmail->trackid='ord'.$object->id; + } + if (! empty($conf->global->MAIN_EMAIL_ADD_TRACK_ID) && ($conf->global->MAIN_EMAIL_ADD_TRACK_ID & 2)) // If bit 2 is set + { + include DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; + $formmail->frommail=dolAddEmailTrackId($formmail->frommail, 'ord'.$object->id); + } + $formmail->withfrom=1; + $liste=$langs->trans("AllRecipientSelected"); + if (count($listofselectedthirdparties) == 1) + { + $liste=array(); + $thirdpartyid=array_shift($listofselectedthirdparties); + $soc=new Societe($db); + $soc->fetch($thirdpartyid); + foreach ($soc->thirdparty_and_contact_email_array(1) as $key=>$value) + { + $liste[$key]=$value; + } + $formmail->withtoreadonly=0; + } + else + { + $formmail->withtoreadonly=1; + } + $formmail->withto=$liste; + $formmail->withtofree=0; + $formmail->withtocc=1; + $formmail->withtoccc=$conf->global->MAIN_EMAIL_USECCC; + $formmail->withtopic=$langs->transnoentities($topicmail, '__REF__', '__REFCLIENT__'); + $formmail->withfile=$langs->trans("OnlyPDFattachmentSupported"); + $formmail->withbody=1; + $formmail->withdeliveryreceipt=1; + $formmail->withcancel=1; + // Tableau des substitutions + $formmail->substit['__REF__']='__REF__'; // We want to keep the tag + $formmail->substit['__SIGNATURE__']=$user->signature; + $formmail->substit['__REFCLIENT__']='__REFCLIENT__'; // We want to keep the tag + $formmail->substit['__PERSONALIZED__']=''; + $formmail->substit['__CONTACTCIVNAME__']=''; + + // Tableau des parametres complementaires du post + $formmail->param['action']=$action; + $formmail->param['models']=$modelmail; + $formmail->param['models_id']=GETPOST('modelmailselected','int'); + $formmail->param['id']=join(',',$arrayofselected); + //$formmail->param['returnurl']=$_SERVER["PHP_SELF"].'?id='.$object->id; + + print $formmail->get_form(); + + dol_fiche_end(); + } if ($sall) { foreach($fieldstosearchall as $key => $val) $fieldstosearchall[$key]=$langs->trans($val); - //sort($fieldstosearchall); print $langs->trans("FilterOnInto", $sall) . join(', ',$fieldstosearchall); } @@ -426,6 +534,11 @@ if ($result) $moreforfilter.=$form->selectarray('search_product_category', $cate_arbo, $search_product_category, 1, 0, 0, '', 0, 0, 0, 0, '', 1); $moreforfilter.='
'; } + $parameters=array(); + $reshook=$hookmanager->executeHooks('printFieldPreListTitle',$parameters); // Note that $action and $object may have been modified by hook + if (empty($reshook)) $moreforfilter .= $hookmanager->resPrint; + else $moreforfilter = $hookmanager->resPrint; + if (! empty($moreforfilter)) { print '
'; @@ -438,6 +551,7 @@ if ($result) print '
'; $out.= 'trans("File").': '.$file["name"]).' '.dol_trunc($file["name"],$maxfilenamelength); $out.= ''."\n"; - + $out.= $this->showPreview($file,$modulepart,$relativepath); - $out.= '
'; + //print "XX".$file['name']; //$file['name'] must be utf8 print '\n"; @@ -882,7 +900,9 @@ class FormFile //print $file['path'].'/'.$minifile.'
'; if (! dol_is_file($file['path'].'/'.$minifile)) $minifile=getImageFileNameForSize($file['name'], '_mini', '.'.$fileinfo['extension']); // For old thumbs //print $file['path'].'/'.$minifile.'
'; - print '
'; + $urlforhref=getAdvancedPreviewUrl($modulepart, $relativepath.$fileinfo['filename'].'.'.strtolower($fileinfo['extension'])); + if (empty($urlforhref)) $urlforhref=DOL_URL_ROOT.'/viewimage.php?modulepart='.$modulepart.'&file='.urlencode($relativepath.$fileinfo['filename'].'.'.strtolower($fileinfo['extension'])); + print ''; print ''; print ''; } @@ -1327,30 +1347,31 @@ class FormFile return $nboflinks; } - + + /** * Show detail icon with link for preview - * @param array $file File - * @param string $modulepart propal, facture, facture_fourn, ... - * @param string $relativepath Relative path of docs - * @return string $out Output string with HTML + * + * @param array $file File + * @param string $modulepart propal, facture, facture_fourn, ... + * @param string $relativepath Relative path of docs + * @param string $ruleforpicto Rule for picto: 0=Preview picto, 1=Use picto of mime type of file) + * @return string $out Output string with HTML */ - public function showPreview($file, $modulepart, $relativepath){ + public function showPreview($file, $modulepart, $relativepath, $ruleforpicto=0) + { global $langs, $conf; - if (empty($conf->use_javascript_ajax)) return ''; - $out=''; - - $mime_preview = array('jpeg', 'png', 'gif', 'tiff', 'pdf', 'plain', 'css'); - $num_mime = array_search(dol_mimetype($file['name'], '', 1), $mime_preview); - - if( $num_mime!== false){ - $out.= ' '; - $out.= img_picto($langs->trans('Preview'), 'detail').''; - - return $out; + $urladvancedpreview=getAdvancedPreviewUrl($modulepart, $relativepath); + if ($urladvancedpreview) + { + $out.= ''; + if (empty($ruleforpicto)) $out.= img_picto($langs->trans('Preview').' '.$file['name'], 'detail'); + else $out.= img_mime($relativepath, $langs->trans('Preview').' '.$file['name']); + $out.= ''; } + return $out; } } diff --git a/htdocs/core/js/lib_head.js.php b/htdocs/core/js/lib_head.js.php index d64b05ccd8c..17e8b547487 100644 --- a/htdocs/core/js/lib_head.js.php +++ b/htdocs/core/js/lib_head.js.php @@ -950,14 +950,17 @@ function copyToClipboard(text,text2) /* * Function show document preview + * * @params string file File path * @params string type mime file * @params string title */ -function document_preview(file, type, title){ - +function document_preview(file, type, title) +{ + console.log("document_preview A click was done"); var ValidImageTypes = ["image/gif", "image/jpeg", "image/png"]; - + console.log("document_preview A click was done. file="+file+", type="+type); + if ($.inArray(type, ValidImageTypes) < 0) { var width='85%'; var object_width='100%'; diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 1d14bb2c86f..bc57cb3e405 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -5647,3 +5647,26 @@ function getImageFileNameForSize($file, $extName, $extImgTarget='') return ($dirName?$dirName.'/':'').$subdir.$fileName.$extName.$extImgTarget; // New filename for thumb } + + +/** + * Return URL we can use for advanced preview links + * + * @param string $modulepart propal, facture, facture_fourn, ... + * @param string $relativepath Relative path of docs + * @return string Output string with HTML + */ +function getAdvancedPreviewUrl($modulepart, $relativepath) +{ + global $conf; + + if (empty($conf->use_javascript_ajax)) return ''; + + $mime_preview = array('bmp', 'jpeg', 'png', 'gif', 'tiff', 'pdf', 'plain', 'css'); + //$mime_preview[]='vnd.oasis.opendocument.presentation'; + //$mime_preview[]='archive'; + $num_mime = array_search(dol_mimetype($relativepath, '', 1), $mime_preview); + + if ($num_mime !== false) return 'javascript:document_preview(\''.dol_escape_js(DOL_URL_ROOT.'/document.php?modulepart='.$modulepart.'&attachment=0&file='.$relativepath).'\', \''.dol_mimetype($relativepath).'\', \''.dol_escape_js('ttt').'\')'; + else return ''; +} diff --git a/htdocs/fourn/commande/list.php b/htdocs/fourn/commande/list.php index 3f2f77c62e8..3b6c928619f 100644 --- a/htdocs/fourn/commande/list.php +++ b/htdocs/fourn/commande/list.php @@ -502,7 +502,7 @@ if ($resql) if (! empty($arrayfields['typent.code']['checked'])) print_liste_field_titre($arrayfields['typent.code']['label'],$_SERVER["PHP_SELF"],"typent.code","",$param,'align="center"',$sortfield,$sortorder); if (! empty($arrayfields['cf.fk_author']['checked'])) print_liste_field_titre($arrayfields['cf.fk_author']['label'],$_SERVER["PHP_SELF"],"u.login","",$param,'',$sortfield,$sortorder); if (! empty($arrayfields['cf.date_commande']['checked'])) print_liste_field_titre($arrayfields['cf.date_commande']['label'],$_SERVER["PHP_SELF"],"cf.date_commande","",$param,'align="center"',$sortfield,$sortorder); - if (! empty($arrayfields['cf.date_delivery']['checked'])) print_liste_field_titre($arrayfields['cf.date_delivery']['label'],$_SERVER["PHP_SELF"],'cf.date_livraison','',$param, 'align="right"',$sortfield,$sortorder); + if (! empty($arrayfields['cf.date_delivery']['checked'])) print_liste_field_titre($arrayfields['cf.date_delivery']['label'],$_SERVER["PHP_SELF"],'cf.date_livraison','',$param, 'align="center"',$sortfield,$sortorder); if (! empty($arrayfields['cf.total_ht']['checked'])) print_liste_field_titre($arrayfields['cf.total_ht']['label'],$_SERVER["PHP_SELF"],"cf.total_ht","",$param,'align="right"',$sortfield,$sortorder); if (! empty($arrayfields['cf.total_vat']['checked'])) print_liste_field_titre($arrayfields['cf.total_vat']['label'],$_SERVER["PHP_SELF"],"cf.tva","",$param,'align="right"',$sortfield,$sortorder); if (! empty($arrayfields['cf.total_ttc']['checked'])) print_liste_field_titre($arrayfields['cf.total_ttc']['label'],$_SERVER["PHP_SELF"],"cf.total_ttc","",$param,'align="right"',$sortfield,$sortorder); @@ -712,11 +712,23 @@ if ($resql) // Ref if (! empty($arrayfields['cf.ref']['checked'])) { - print '
'; + print ''; + + print ''; + // Picto + Ref + print ''; + // Warning + //print ''; + // Other picto tool + print '
'; print $objectstatic->getNomUrl(1); + print ''; + //print ''; $filename=dol_sanitizeFileName($obj->ref); $filedir=$conf->fournisseur->dir_output.'/commande' . '/' . dol_sanitizeFileName($obj->ref); print $formfile->getDocumentsLink($objectstatic->element, $filename, $filedir); + print '
'; + print '
'; + print ''; + // Picto + Ref + print ''; + // Warning + //print ''; + // Other picto tool + print '\n"; - - if (! $i) $totalarray['nbfield']++; + print '
'; print $facturestatic->getNomUrl(1); + print ''; + //print ''; $filename=dol_sanitizeFileName($obj->ref); - $filedir=$conf->fournisseur->facture->dir_output.'/'.get_exdir($obj->facid,2,0,0,$facturestatic,'invoice_supplier').dol_sanitizeFileName($obj->ref); $subdir = get_exdir($obj->facid,2,0,0,$facturestatic,'invoice_supplier').dol_sanitizeFileName($obj->ref); print $formfile->getDocumentsLink('facture_fournisseur', $subdir, $filedir); - - print "
'; + + print "
'."\n"; + // Fields title print ''; if (! empty($arrayfields['p.ref']['checked'])) print_liste_field_titre($arrayfields['p.ref']['label'],$_SERVER["PHP_SELF"],'p.ref','',$param,'',$sortfield,$sortorder); if (! empty($arrayfields['p.ref_client']['checked'])) print_liste_field_titre($arrayfields['p.ref_client']['label'],$_SERVER["PHP_SELF"],'p.ref_client','',$param,'',$sortfield,$sortorder); @@ -473,8 +587,8 @@ if ($result) if (! empty($arrayfields['p.tms']['checked'])) print_liste_field_titre($arrayfields['p.tms']['label'],$_SERVER["PHP_SELF"],"p.tms","",$param,'align="center" class="nowrap"',$sortfield,$sortorder); if (! empty($arrayfields['p.fk_statut']['checked'])) print_liste_field_titre($arrayfields['p.fk_statut']['label'],$_SERVER["PHP_SELF"],"p.fk_statut","",$param,'align="right"',$sortfield,$sortorder); print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"],"",'','','align="right"',$sortfield,$sortorder,'maxwidthsearch '); - print "\n"; - + print ''."\n"; + print ''; if (! empty($arrayfields['p.ref']['checked'])) { @@ -610,7 +724,7 @@ if ($result) } // Action column print ''; @@ -622,7 +736,7 @@ if ($result) $totalarray=array(); while ($i < min($num,$limit)) { - $obj = $db->fetch_object($result); + $obj = $db->fetch_object($resql); $var=!$var; print ''; @@ -630,7 +744,7 @@ if ($result) { print ''; + print ''; if (! $i) $totalarray['nbfield']++; print "\n"; @@ -863,15 +982,39 @@ if ($result) } - $db->free($result); + $db->free($resql); $parameters=array('arrayfields'=>$arrayfields, 'sql'=>$sql); $reshook=$hookmanager->executeHooks('printFieldListFooter',$parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; - print '
'; - $searchpitco=$form->showFilterAndCheckAddButtons(0); + $searchpitco=$form->showFilterAndCheckAddButtons($massactionbutton?1:0, 'checkforselect', 1); print $searchpitco; print '
'; - $objectstatic->id=$obj->propalid; + $objectstatic->id=$obj->rowid; $objectstatic->ref=$obj->ref; print ''; @@ -644,7 +758,7 @@ if ($result) if (! empty($obj->note_private)) { print ' '; - print ''.img_picto($langs->trans("ViewPrivateNote"),'object_generic').''; + print ''.img_picto($langs->trans("ViewPrivateNote"),'object_generic').''; print ''; } print ''; @@ -652,7 +766,7 @@ if ($result) print '
'; $filename=dol_sanitizeFileName($obj->ref); $filedir=$conf->propal->dir_output . '/' . dol_sanitizeFileName($obj->ref); - $urlsource=$_SERVER['PHP_SELF'].'?id='.$obj->propalid; + $urlsource=$_SERVER['PHP_SELF'].'?id='.$obj->rowid; print $formfile->getDocumentsLink($objectstatic->element, $filename, $filedir); print '
'; @@ -669,9 +783,7 @@ if ($result) if (! $i) $totalarray['nbfield']++; } - $url = DOL_URL_ROOT.'/comm/card.php?socid='.$obj->rowid; - - $companystatic->id=$obj->rowid; + $companystatic->id=$obj->socid; $companystatic->name=$obj->name; $companystatic->client=$obj->client; $companystatic->code_client=$obj->code_client; @@ -833,7 +945,14 @@ if ($result) if (! $i) $totalarray['nbfield']++; } // Action column - print '
'; + if ($massactionbutton || $massaction) // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined + { + $selected=0; + if (in_array($obj->rowid, $arrayofselected)) $selected=1; + print ''; + } + print '
'; + print '
'."\n"; - print ''; + print ''."\n"; + + if ($massaction == 'builddoc' || $action == 'remove_file' || $show_files) + { + /* + * Show list of available documents + */ + $urlsource=$_SERVER['PHP_SELF'].'?sortfield='.$sortfield.'&sortorder='.$sortorder; + $urlsource.=str_replace('&','&',$param); + + $filedir=$diroutputmassaction; + $genallowed=$user->rights->propal->lire; + $delallowed=$user->rights->propal->lire; + + print '
'; + $paramwithoutshowfiles=preg_replace('/show_files=1&?/','',$param); + $title=$langs->trans("MassFilesArea").' ('.$langs->trans("Hide").')'; + + print $formfile->showdocuments('massfilesarea_proposals','',$filedir,$urlsource,0,$delallowed,'',1,1,0,48,1,$param,$title,''); + } + else + { + print '
'.$langs->trans("ShowTempMassFilesArea").''; + } + } else { diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index 665ec578627..cc4a156746f 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -196,6 +196,7 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") || GETP if (empty($reshook)) { $objectclass='Commande'; + $objectlabel='Orders'; $permtoread = $user->rights->commande->lire; $permtodelete = $user->rights->commande->supprimer; $uploaddir = $conf->commande->dir_output; @@ -411,6 +412,7 @@ if ($resql) if ($val != '') $param.='&search_options_'.$tmpkey.'='.urlencode($val); } + // List of mass actions available $arrayofmassactions = array( 'presend'=>$langs->trans("SendByMail"), 'builddoc'=>$langs->trans("PDFMerge"), @@ -1118,8 +1120,8 @@ if ($resql) print ''; if (! $i) $totalarray['nbfield']++; - print ''; - + print "\n"; + $total+=$obj->total_ht; $subtotal+=$obj->total_ht; $i++; @@ -1167,8 +1169,8 @@ if ($resql) $urlsource.=str_replace('&','&',$param); $filedir=$diroutputmassaction; - $genallowed=$user->rights->facture->lire; - $delallowed=$user->rights->facture->lire; + $genallowed=$user->rights->commande->lire; + $delallowed=$user->rights->commande->lire; print '
'; $paramwithoutshowfiles=preg_replace('/show_files=1&?/','',$param); @@ -1187,6 +1189,6 @@ else dol_print_error($db); } +// End of page llxFooter(); - $db->close(); diff --git a/htdocs/compta/facture/list.php b/htdocs/compta/facture/list.php index e3c0faff35e..bab9ab00769 100644 --- a/htdocs/compta/facture/list.php +++ b/htdocs/compta/facture/list.php @@ -219,6 +219,7 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter") || GETPOS if (empty($reshook)) { $objectclass='Facture'; + $objectlabel='Invoices'; $permtoread = $user->rights->facture->lire; $permtodelete = $user->rights->facture->supprimer; $uploaddir = $conf->facture->dir_output; diff --git a/htdocs/core/actions_massactions.inc.php b/htdocs/core/actions_massactions.inc.php index 3c800f1f7fb..085f98b0218 100644 --- a/htdocs/core/actions_massactions.inc.php +++ b/htdocs/core/actions_massactions.inc.php @@ -23,7 +23,7 @@ // $massaction must be defined -// $objectclass must be defined +// $objectclass and $$objectlabel must be defined // $uploaddir (example $conf->projet->dir_output . "/";) // $toselect may be defined @@ -413,7 +413,7 @@ if (! $error && $massaction == "builddoc" && $permtoread && ! GETPOST('button_se dol_mkdir($diroutputmassaction); // Save merged file - $filename=strtolower(dol_sanitizeFileName($langs->transnoentities("Invoices"))); + $filename=strtolower(dol_sanitizeFileName($langs->transnoentities($objectlabel))); if ($filter=='paye:0') { if ($option=='late') $filename.='_'.strtolower(dol_sanitizeFileName($langs->transnoentities("Unpaid"))).'_'.strtolower(dol_sanitizeFileName($langs->transnoentities("Late"))); diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 66bb880147f..310c7e6bb69 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -5057,7 +5057,7 @@ class Form $out =' -
'; diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php index 252fa872e6f..eb1a78c8732 100644 --- a/htdocs/compta/facture.php +++ b/htdocs/compta/facture.php @@ -4018,12 +4018,9 @@ else if ($id > 0 || ! empty($ref)) print $formfile->showdocuments('facture', $filename, $filedir, $urlsource, $genallowed, $delallowed, $object->modelpdf, 1, 0, 0, 28, 0, '', '', '', $soc->default_lang); $somethingshown = $formfile->numoffiles; - // Linked object block - $somethingshown = $form->showLinkedObjectBlock($object); - // Show links to link elements $linktoelem = $form->showLinkToObjectBlock($object, null, array('invoice')); - if ($linktoelem) print ($somethingshown?'':'
').$linktoelem; + $somethingshown = $form->showLinkedObjectBlock($object, $linktoelem); // Link for paypal payment if (! empty($conf->paypal->enabled) && $object->statut != 0) { diff --git a/htdocs/compta/facture/fiche-rec.php b/htdocs/compta/facture/fiche-rec.php index 8eb77d30767..4198640701e 100644 --- a/htdocs/compta/facture/fiche-rec.php +++ b/htdocs/compta/facture/fiche-rec.php @@ -1533,8 +1533,11 @@ else print '
'; print ''; // ancre - // Linked object block - $somethingshown = $form->showLinkedObjectBlock($object); + + // Show links to link elements + //$linktoelem = $form->showLinkToObjectBlock($object, null, array('order')); + $somethingshown = $form->showLinkedObjectBlock($object, ''); + print '
'; diff --git a/htdocs/contrat/card.php b/htdocs/contrat/card.php index 8415b6dfbad..270bc6b1a06 100644 --- a/htdocs/contrat/card.php +++ b/htdocs/contrat/card.php @@ -1992,12 +1992,10 @@ else $somethingshown = $formfile->show_documents('contract', $filename, $filedir, $urlsource, $genallowed, $delallowed, $object->modelpdf, 1, 0, 0, 28, 0, '', 0, '', $soc->default_lang); - // Linked object block - $somethingshown = $form->showLinkedObjectBlock($object); - + // Show links to link elements $linktoelem = $form->showLinkToObjectBlock($object, null, array('contrat')); - if ($linktoelem) print ($somethingshown?'':'
').$linktoelem; + $somethingshown = $form->showLinkedObjectBlock($object, $linktoelem); print '
'; diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index f3dd64e6838..52f476e857e 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -3196,20 +3196,6 @@ abstract class CommonObject // TODO: All functions here must be redesigned and moved as they are not business functions but output functions // -------------------- - /** - * Show linked object block. - * - * @return int <0 if KO, >0 if OK - * @deprecated 3.8 Use instead $form->showLinkedObjectBlock($object) - * @see Form::showLinkedObjectBlock - */ - function showLinkedObjectBlock() - { - global $form; - return $form->showLinkedObjectBlock($this); - } - - /* This is to show add lines */ /** diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 310c7e6bb69..c1990199f54 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -5075,17 +5075,6 @@ class Form - '; } - $linktoelem.=($linktoelem?'   ':''); - if ($num > 0) $linktoelem.='' . $langs->trans($possiblelink['label']) .' ('.$num.')'; + //$linktoelem.=($linktoelem?'   ':''); + if ($num > 0) $linktoelem.='
  • ' . $langs->trans($possiblelink['label']) .' ('.$num.')
  • '; //else $linktoelem.=$langs->trans($possiblelink['label']); - else $linktoelem.='' . $langs->trans($possiblelink['label']) . ''; + else $linktoelem.='
  • ' . $langs->trans($possiblelink['label']) . ' (0)
  • '; } } + $linktoelem=' + '; + + print ' + + '; + return $linktoelem; } diff --git a/htdocs/core/js/lib_head.js.php b/htdocs/core/js/lib_head.js.php index 17e8b547487..bfcfd74811a 100644 --- a/htdocs/core/js/lib_head.js.php +++ b/htdocs/core/js/lib_head.js.php @@ -948,6 +948,7 @@ function copyToClipboard(text,text2) return false; } + /* * Function show document preview * @@ -1128,3 +1129,5 @@ function price2numjs(amount) { return res; } + + diff --git a/htdocs/expedition/card.php b/htdocs/expedition/card.php index 87179b9840f..0fd78495ddd 100644 --- a/htdocs/expedition/card.php +++ b/htdocs/expedition/card.php @@ -1831,12 +1831,11 @@ else if ($id || $ref) $somethingshown=$formfile->show_documents('expedition',$objectref,$filedir,$urlsource,$genallowed,$delallowed,$object->modelpdf,1,0,0,28,0,'','','',$soc->default_lang); - // Linked object block - $somethingshown = $form->showLinkedObjectBlock($object); - + // Show links to link elements - //$linktoelem = $form->showLinkToObjectBlock($object); - //if ($linktoelem) print ($somethingshown?'':'
    ').$linktoelem; + //$linktoelem = $form->showLinkToObjectBlock($object, null, array('order')); + $somethingshown = $form->showLinkedObjectBlock($object, ''); + print '
    '; diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php index 020478aa918..23943fd5282 100644 --- a/htdocs/expensereport/card.php +++ b/htdocs/expensereport/card.php @@ -2069,15 +2069,15 @@ if ($action != 'create' && $action != 'edit' && ($id || $ref)) $object->fetch_thirdparty(); $result = $object->add_object_linked('fichinter', GETPOST('LinkedFichinter')); } - // Linked object block - $somethingshown = $form->showLinkedObjectBlock($object); - + // Show links to link elements $linktoelements=array(); if (! empty($conf->global->EXPENSES_LINK_TO_INTERVENTION)) $linktoelements[]='fichinter'; $linktoelem = $form->showLinkToObjectBlock($object, $linktoelements, array('expensereport')); - if ($linktoelem) print ($somethingshown?'':'
    ').$linktoelem; + $somethingshown = $form->showLinkedObjectBlock($object, $linktoelem); + } + llxFooter(); $db->close(); diff --git a/htdocs/fichinter/card.php b/htdocs/fichinter/card.php index 79e0687c372..a123ccd633a 100644 --- a/htdocs/fichinter/card.php +++ b/htdocs/fichinter/card.php @@ -1677,12 +1677,10 @@ else if ($id > 0 || ! empty($ref)) //print "
    \n"; $somethingshown=$formfile->show_documents('ficheinter',$filename,$filedir,$urlsource,$genallowed,$delallowed,$object->modelpdf,1,0,0,28,0,'','','',$soc->default_lang); - // Linked object block - $somethingshown = $form->showLinkedObjectBlock($object); // Show links to link elements $linktoelem = $form->showLinkToObjectBlock($object, null, array('fichinter')); - if ($linktoelem) print ($somethingshown?'':'
    ').$linktoelem; + $somethingshown = $form->showLinkedObjectBlock($object, $linktoelem); print '
    '; diff --git a/htdocs/fourn/commande/card.php b/htdocs/fourn/commande/card.php index 430b9a6903f..d800edd8b0d 100644 --- a/htdocs/fourn/commande/card.php +++ b/htdocs/fourn/commande/card.php @@ -2831,12 +2831,10 @@ elseif (! empty($object->id)) print $formfile->showdocuments('commande_fournisseur',$comfournref,$filedir,$urlsource,$genallowed,$delallowed,$object->modelpdf,1,0,0,0,0,'','','',$object->thirdparty->default_lang); $somethingshown=$formfile->numoffiles; - // Linked object block - $somethingshown = $form->showLinkedObjectBlock($object); // Show links to link elements $linktoelem = $form->showLinkToObjectBlock($object, null, array('order_supplier')); - if ($linktoelem) print ($somethingshown?'':'
    ').$linktoelem; + $somethingshown = $form->showLinkedObjectBlock($object, $linktoelem); print '
    '; diff --git a/htdocs/fourn/facture/card.php b/htdocs/fourn/facture/card.php index cafb67b50f3..0eada7d918f 100644 --- a/htdocs/fourn/facture/card.php +++ b/htdocs/fourn/facture/card.php @@ -2236,12 +2236,10 @@ else print $formfile->showdocuments('facture_fournisseur',$subdir,$filedir,$urlsource,$genallowed,$delallowed,$modelpdf,1,0,0,40,0,'','','',$societe->default_lang); $somethingshown=$formfile->numoffiles; - // Linked object block - $somethingshown = $form->showLinkedObjectBlock($object); - - // Show links to link elements - $linktoelem = $form->showLinkToObjectBlock($object, null, array('invoice_supplier')); - if ($linktoelem) print ($somethingshown?'':'
    ').$linktoelem; + + // Show links to link elements + $linktoelem = $form->showLinkToObjectBlock($object, null, array('invoice_supplier')); + $somethingshown = $form->showLinkedObjectBlock($object, $linktoelem); print '
    '; diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index 666e29a276d..7b8e3dd222e 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -644,6 +644,7 @@ NewAttribute=New attribute AttributeCode=Attribute code URLPhoto=URL of photo/logo SetLinkToAnotherThirdParty=Link to another third party +LinkTo=Link to LinkToProposal=Link to proposal LinkToOrder=Link to order LinkToInvoice=Link to invoice diff --git a/htdocs/livraison/card.php b/htdocs/livraison/card.php index 7b47c17f5c7..ff541f45d93 100644 --- a/htdocs/livraison/card.php +++ b/htdocs/livraison/card.php @@ -680,12 +680,9 @@ else $shipment = new Expedition($db); $shipment->fetch($object->origin_id); - // Linked object block - $somethingshown = $form->showLinkedObjectBlock($shipment); - - // Show links to link elements - //$linktoelem = $form->showLinkToObjectBlock($shipment); - //if ($linktoelem) print '
    '.$linktoelem; + // Show links to link elements + //$linktoelem = $form->showLinkToObjectBlock($object, null, array('order')); + $somethingshown = $form->showLinkedObjectBlock($object, ''); } diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index 1a02e7186c1..d6d04c7b76b 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -1929,7 +1929,46 @@ if (! function_exists("llxFooter")) }); ' . "\n"; } - + + // Wrapper to manage dropdown + if ($conf->use_javascript_ajax) + { + print "\n\n"; + print ''; + } + // A div for the address popup print "\n\n"; print ''."\n"; diff --git a/htdocs/product/stock/productlot_card.php b/htdocs/product/stock/productlot_card.php index d1346088692..f0f54a4e133 100644 --- a/htdocs/product/stock/productlot_card.php +++ b/htdocs/product/stock/productlot_card.php @@ -362,12 +362,6 @@ print ''.$langs->trans("Fieldimport_key").''."\n"; - - // Example 2 : Adding links to objects - //$somethingshown=$form->showLinkedObjectBlock($object); - //$linktoelem = $form->showLinkToObjectBlock($object); - //if ($linktoelem) print ($somethingshown?'':'
    ').$linktoelem; - } diff --git a/htdocs/supplier_proposal/card.php b/htdocs/supplier_proposal/card.php index e461d6d42ac..e53378e0423 100644 --- a/htdocs/supplier_proposal/card.php +++ b/htdocs/supplier_proposal/card.php @@ -1805,12 +1805,10 @@ if ($action == 'create') $somethingshown = $formfile->show_documents('supplier_proposal', $filename, $filedir, $urlsource, $genallowed, $delallowed, $object->modelpdf, 1, 0, 0, 28, 0, '', 0, '', $soc->default_lang); - // Linked object block - $somethingshown = $form->showLinkedObjectBlock($object); - + // Show links to link elements $linktoelem = $form->showLinkToObjectBlock($object, null, array('supplier_proposal')); - if ($linktoelem) print ($somethingshown?'':'
    ').$linktoelem; + $somethingshown = $form->showLinkedObjectBlock($object, $linktoelem); print '
    '; From 0176acd08fa98edfe69c3e3836f038233e51bbf3 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Fri, 5 Aug 2016 16:15:30 +0200 Subject: [PATCH 273/476] fix travis --- htdocs/fourn/class/fournisseur.commande.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index b01ae40d62e..8a812c34f8b 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -2690,7 +2690,7 @@ class CommandeFournisseur extends CommonOrder /** * Calc status regarding dispatch stock * - * @param User $user + * @param User $user User action * @return int <0 si ko, >0 si ok */ public function calcAndSetStatusDispatch(User $user) { From d2c55330e9d312479152bf2ab94cbc4e257ba520 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 5 Aug 2016 23:34:59 +0200 Subject: [PATCH 274/476] NEW Add option "Hide images in Top menu". --- ChangeLog | 2 +- htdocs/admin/ihm.php | 6 +++- htdocs/core/lib/usergroups.lib.php | 48 +++++++++++++++++++++++++++++- htdocs/langs/en_US/admin.lang | 3 +- htdocs/theme/eldy/style.css.php | 8 +++-- htdocs/theme/md/style.css.php | 2 +- 6 files changed, 61 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index cd4096f4a36..68ccd4e50df 100644 --- a/ChangeLog +++ b/ChangeLog @@ -946,7 +946,7 @@ NEW: add hook in send mail NEW: Add hooks on list of members to allow an external module to add more fields into list view. NEW: Add hooks to allow an external module to complete list of events into calendar views. NEW: Add opportunity amount on project card. -NEW: Add option THEME_ELDY_DISABLE_IMAGE to disable images into menu eldy. +NEW: Add option THEME_TOPMENU_DISABLE_IMAGE to disable images into menu eldy. NEW: add PDF icon on linked element into project NEW: add "productpricecard" hook and uniformize code NEW: Add ref and label of project into export diff --git a/htdocs/admin/ihm.php b/htdocs/admin/ihm.php index cc1e1792f01..cb8ac8a599a 100644 --- a/htdocs/admin/ihm.php +++ b/htdocs/admin/ihm.php @@ -78,8 +78,12 @@ if ($action == 'update') $val=(implode(',',(colorStringToArray(GETPOST('THEME_ELDY_BACKBODY'),array())))); if ($val == '') dolibarr_del_const($db, 'THEME_ELDY_BACKBODY', $conf->entity); - else dolibarr_set_const($db, 'THEME_ELDY_BACKBODY', implode(',',colorStringToArray(GETPOST('THEME_ELDY_BACKBODY'),array())),'chaine',0,'',$conf->entity); + else dolibarr_set_const($db, 'THEME_ELDY_BACKBODY', implode(',',colorStringToArray(GETPOST('THEME_ELDY_BACKBODY'),array())),'chaine',0,'',$conf->entity); + $val=GETPOST('THEME_TOPMENU_DISABLE_IMAGE'); + if (! $val) dolibarr_del_const($db, 'THEME_TOPMENU_DISABLE_IMAGE', $conf->entity); + else dolibarr_set_const($db, 'THEME_TOPMENU_DISABLE_IMAGE', GETPOST('THEME_TOPMENU_DISABLE_IMAGE'),'chaine',0,'',$conf->entity); + $val=(implode(',',(colorStringToArray(GETPOST('THEME_ELDY_TOPMENU_BACK1'),array())))); if ($val == '') dolibarr_del_const($db, 'THEME_ELDY_TOPMENU_BACK1', $conf->entity); else dolibarr_set_const($db, 'THEME_ELDY_TOPMENU_BACK1', implode(',',colorStringToArray(GETPOST('THEME_ELDY_TOPMENU_BACK1'),array())),'chaine',0,'',$conf->entity); diff --git a/htdocs/core/lib/usergroups.lib.php b/htdocs/core/lib/usergroups.lib.php index 5ea489c1212..26a7455bf62 100644 --- a/htdocs/core/lib/usergroups.lib.php +++ b/htdocs/core/lib/usergroups.lib.php @@ -296,7 +296,7 @@ function entity_prepare_head($object, $aEntities) */ function show_theme($fuser,$edit=0,$foruserprofile=false) { - global $conf,$langs,$db; + global $conf,$langs,$db,$form; global $bc; require_once DOL_DOCUMENT_ROOT . '/core/class/html.formother.class.php'; @@ -515,6 +515,52 @@ function show_theme($fuser,$edit=0,$foruserprofile=false) print ''; } + // TopMenuBackgroundColor + if ($foruserprofile) + { + /*$var=!$var; + print ''; + print ''.$langs->trans("TopMenuBackgroundColor").''; + print ''.($conf->global->THEME_ELDY_TOPMENU_BACK1?$conf->global->THEME_ELDY_TOPMENU_BACK1:$langs->trans("Default")).''; + print 'conf->THEME_ELDY_TOPMENU_BACK1)?" checked":""); + print (empty($dolibarr_main_demo) && $edit)?'':' disabled="disabled"'; // Disabled for demo + print '> '.$langs->trans("UsePersonalValue").''; + print ''; + if ($edit) + { + print $formother->selectColor(colorArrayToHex(colorStringToArray($conf->global->THEME_ELDY_TOPMENU_BACK1,array()),''),'THEME_ELDY_TOPMENU_BACK1','formcolor',1).' '; + } + else + { + $color = colorArrayToHex(colorStringToArray($conf->global->THEME_ELDY_TOPMENU_BACK1,array()),''); + if ($color) print ''; + else print ''; + } + if ($edit) print '
    ('.$langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis").')'; + print '';*/ + } + else + { + $default=$langs->trans('No'); + $var=!$var; + print ''; + print ''.$langs->trans("TopMenuDisableImages").''; + print ''; + if ($edit) + { + print $form->selectyesno('THEME_TOPMENU_DISABLE_IMAGE', $conf->global->THEME_TOPMENU_DISABLE_IMAGE, 1); + } + else + { + print yn($conf->global->THEME_TOPMENU_DISABLE_IMAGE); + } + print '   ('.$langs->trans("Default").': '.$default.', '.$langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis").')'; + print ''; + } + + + + // BackgroundTableTitleColor if ($foruserprofile) { diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 9b62f7f4a3b..1e2e3e68291 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -1548,9 +1548,10 @@ HighlightLinesColor=Highlight color of the line when the mouse passes over (keep TextTitleColor=Color of page title LinkColor=Color of links 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 core themes, may not be supported by external themes BackgroundColor=Background color TopMenuBackgroundColor=Background color for Top menu +TopMenuDisableImages=Hide images in Top menu LeftMenuBackgroundColor=Background color for Left menu BackgroundTableTitleColor=Background color for Table title line BackgroundTableLineOddColor=Background color for odd table lines diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index 5602b109b4f..be38ec586b4 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -932,7 +932,7 @@ $heightmenu=46; /* height of top menu, part with image */ $heightmenu2=48; /* height of top menu, part with login */ $disableimages = 0; $maxwidthloginblock = 110; -if (! empty($conf->global->THEME_ELDY_DISABLE_IMAGE)) { $disableimages = 1; $maxwidthloginblock = 180; $minwidthtmenu=0; } +if (! empty($conf->global->THEME_TOPMENU_DISABLE_IMAGE)) { $disableimages = 1; $maxwidthloginblock = 180; $minwidthtmenu=0; } ?> div#id-top { @@ -940,6 +940,8 @@ div#id-top { display:none; background: rgb(); + -webkit-box-shadow: 0 0 13px rgba(0,0,0,0.2); + box-shadow: 0 0 13px rgba(0,0,0,0.2); background-image: linear-gradient(top, rgba(255,255,255,.1) 0%, rgba(0,0,0,.4) 100%); background-image: -o-linear-gradient(top, rgba(255,255,255,.1) 0%, rgba(0,0,0,.4) 100%); @@ -1354,7 +1356,7 @@ div.login_block { position: absolute; text-align: right; : 5px; - top: 2px; + top: 3px; font-weight: bold; max-width: px; @@ -2833,7 +2835,7 @@ span.boxstatstext { line-height: 18px; } span.boxstatsindicator { - font-size: 110%; + font-size: 130%; font-weight: normal; } span.dashboardlineindicator, span.dashboardlineindicatorlate { diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php index d8855714c06..452640ddd9c 100644 --- a/htdocs/theme/md/style.css.php +++ b/htdocs/theme/md/style.css.php @@ -972,7 +972,7 @@ $heightmenu=48; /* height of top menu, part with image */ $heightmenu2=48; /* height of top menu, ârt with login */ $disableimages = 0; $maxwidthloginblock = 110; -if (! empty($conf->global->THEME_MD_DISABLE_IMAGE)) { $heightmenu = 30; $disableimages = 1; $maxwidthloginblock = 180; $minwidthtmenu=0; } +if (! empty($conf->global->THEME_TOPMENU_DISABLE_IMAGE)) { $heightmenu = 30; $disableimages = 1; $maxwidthloginblock = 180; $minwidthtmenu=0; } ?> div#tmenu_tooltip { From 034b08ce56f1132fd483fd4e7e44ba916b6dddd5 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 5 Aug 2016 23:34:59 +0200 Subject: [PATCH 275/476] NEW Add option "Hide images in Top menu". --- ChangeLog | 2 +- htdocs/admin/ihm.php | 6 +- htdocs/core/lib/files.lib.php | 110 ---------------------------- htdocs/core/lib/functions.lib.php | 114 ++++++++++++++++++++++++++++- htdocs/core/lib/usergroups.lib.php | 48 +++++++++++- htdocs/langs/en_US/admin.lang | 3 +- htdocs/theme/eldy/style.css.php | 8 +- htdocs/theme/md/style.css.php | 2 +- 8 files changed, 174 insertions(+), 119 deletions(-) diff --git a/ChangeLog b/ChangeLog index cd4096f4a36..68ccd4e50df 100644 --- a/ChangeLog +++ b/ChangeLog @@ -946,7 +946,7 @@ NEW: add hook in send mail NEW: Add hooks on list of members to allow an external module to add more fields into list view. NEW: Add hooks to allow an external module to complete list of events into calendar views. NEW: Add opportunity amount on project card. -NEW: Add option THEME_ELDY_DISABLE_IMAGE to disable images into menu eldy. +NEW: Add option THEME_TOPMENU_DISABLE_IMAGE to disable images into menu eldy. NEW: add PDF icon on linked element into project NEW: add "productpricecard" hook and uniformize code NEW: Add ref and label of project into export diff --git a/htdocs/admin/ihm.php b/htdocs/admin/ihm.php index cc1e1792f01..cb8ac8a599a 100644 --- a/htdocs/admin/ihm.php +++ b/htdocs/admin/ihm.php @@ -78,8 +78,12 @@ if ($action == 'update') $val=(implode(',',(colorStringToArray(GETPOST('THEME_ELDY_BACKBODY'),array())))); if ($val == '') dolibarr_del_const($db, 'THEME_ELDY_BACKBODY', $conf->entity); - else dolibarr_set_const($db, 'THEME_ELDY_BACKBODY', implode(',',colorStringToArray(GETPOST('THEME_ELDY_BACKBODY'),array())),'chaine',0,'',$conf->entity); + else dolibarr_set_const($db, 'THEME_ELDY_BACKBODY', implode(',',colorStringToArray(GETPOST('THEME_ELDY_BACKBODY'),array())),'chaine',0,'',$conf->entity); + $val=GETPOST('THEME_TOPMENU_DISABLE_IMAGE'); + if (! $val) dolibarr_del_const($db, 'THEME_TOPMENU_DISABLE_IMAGE', $conf->entity); + else dolibarr_set_const($db, 'THEME_TOPMENU_DISABLE_IMAGE', GETPOST('THEME_TOPMENU_DISABLE_IMAGE'),'chaine',0,'',$conf->entity); + $val=(implode(',',(colorStringToArray(GETPOST('THEME_ELDY_TOPMENU_BACK1'),array())))); if ($val == '') dolibarr_del_const($db, 'THEME_ELDY_TOPMENU_BACK1', $conf->entity); else dolibarr_set_const($db, 'THEME_ELDY_TOPMENU_BACK1', implode(',',colorStringToArray(GETPOST('THEME_ELDY_TOPMENU_BACK1'),array())),'chaine',0,'',$conf->entity); diff --git a/htdocs/core/lib/files.lib.php b/htdocs/core/lib/files.lib.php index 4d3d8d439b4..186a17a9934 100644 --- a/htdocs/core/lib/files.lib.php +++ b/htdocs/core/lib/files.lib.php @@ -561,116 +561,6 @@ function dol_compare_file($a, $b) } } -/** - * Return mime type of a file - * - * @param string $file Filename we looking for MIME type - * @param string $default Default mime type if extension not found in known list - * @param int $mode 0=Return full mime, 1=otherwise short mime string, 2=image for mime type, 3=source language - * @return string Return a mime type family (text/xxx, application/xxx, image/xxx, audio, video, archive) - * @see image_format_supported (images.lib.php) - */ -function dol_mimetype($file,$default='application/octet-stream',$mode=0) -{ - $mime=$default; - $imgmime='other.png'; - $srclang=''; - - $tmpfile=preg_replace('/\.noexe$/','',$file); - - // Text files - if (preg_match('/\.txt$/i',$tmpfile)) { $mime='text/plain'; $imgmime='text.png'; } - if (preg_match('/\.rtx$/i',$tmpfile)) { $mime='text/richtext'; $imgmime='text.png'; } - if (preg_match('/\.csv$/i',$tmpfile)) { $mime='text/csv'; $imgmime='text.png'; } - if (preg_match('/\.tsv$/i',$tmpfile)) { $mime='text/tab-separated-values'; $imgmime='text.png'; } - if (preg_match('/\.(cf|conf|log)$/i',$tmpfile)) { $mime='text/plain'; $imgmime='text.png'; } - if (preg_match('/\.ini$/i',$tmpfile)) { $mime='text/plain'; $imgmime='text.png'; $srclang='ini'; } - if (preg_match('/\.css$/i',$tmpfile)) { $mime='text/css'; $imgmime='css.png'; $srclang='css'; } - // Certificate files - if (preg_match('/\.(crt|cer|key|pub)$/i',$tmpfile)) { $mime='text/plain'; $imgmime='text.png'; } - // HTML/XML - if (preg_match('/\.(html|htm|shtml)$/i',$tmpfile)) { $mime='text/html'; $imgmime='html.png'; $srclang='html'; } - if (preg_match('/\.(xml|xhtml)$/i',$tmpfile)) { $mime='text/xml'; $imgmime='other.png'; $srclang='xml'; } - // Languages - if (preg_match('/\.bas$/i',$tmpfile)) { $mime='text/plain'; $imgmime='text.png'; $srclang='bas'; } - if (preg_match('/\.(c)$/i',$tmpfile)) { $mime='text/plain'; $imgmime='text.png'; $srclang='c'; } - if (preg_match('/\.(cpp)$/i',$tmpfile)) { $mime='text/plain'; $imgmime='text.png'; $srclang='cpp'; } - if (preg_match('/\.(h)$/i',$tmpfile)) { $mime='text/plain'; $imgmime='text.png'; $srclang='h'; } - if (preg_match('/\.(java|jsp)$/i',$tmpfile)) { $mime='text/plain'; $imgmime='text.png'; $srclang='java'; } - if (preg_match('/\.php([0-9]{1})?$/i',$tmpfile)) { $mime='text/plain'; $imgmime='php.png'; $srclang='php'; } - if (preg_match('/\.phtml$/i',$tmpfile)) { $mime='text/plain'; $imgmime='php.png'; $srclang='php'; } - if (preg_match('/\.(pl|pm)$/i',$tmpfile)) { $mime='text/plain'; $imgmime='pl.png'; $srclang='perl'; } - if (preg_match('/\.sql$/i',$tmpfile)) { $mime='text/plain'; $imgmime='text.png'; $srclang='sql'; } - if (preg_match('/\.js$/i',$tmpfile)) { $mime='text/x-javascript'; $imgmime='jscript.png'; $srclang='js'; } - // Open office - if (preg_match('/\.odp$/i',$tmpfile)) { $mime='application/vnd.oasis.opendocument.presentation'; $imgmime='ooffice.png'; } - if (preg_match('/\.ods$/i',$tmpfile)) { $mime='application/vnd.oasis.opendocument.spreadsheet'; $imgmime='ooffice.png'; } - if (preg_match('/\.odt$/i',$tmpfile)) { $mime='application/vnd.oasis.opendocument.text'; $imgmime='ooffice.png'; } - // MS Office - if (preg_match('/\.mdb$/i',$tmpfile)) { $mime='application/msaccess'; $imgmime='mdb.png'; } - if (preg_match('/\.doc(x|m)?$/i',$tmpfile)) { $mime='application/msword'; $imgmime='doc.png'; } - if (preg_match('/\.dot(x|m)?$/i',$tmpfile)) { $mime='application/msword'; $imgmime='doc.png'; } - if (preg_match('/\.xlt(x)?$/i',$tmpfile)) { $mime='application/vnd.ms-excel'; $imgmime='xls.png'; } - if (preg_match('/\.xla(m)?$/i',$tmpfile)) { $mime='application/vnd.ms-excel'; $imgmime='xls.png'; } - if (preg_match('/\.xls$/i',$tmpfile)) { $mime='application/vnd.ms-excel'; $imgmime='xls.png'; } - if (preg_match('/\.xls(b|m|x)$/i',$tmpfile)) { $mime='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'; $imgmime='xls.png'; } - if (preg_match('/\.pps(m|x)?$/i',$tmpfile)) { $mime='application/vnd.ms-powerpoint'; $imgmime='ppt.png'; } - if (preg_match('/\.ppt(m|x)?$/i',$tmpfile)) { $mime='application/x-mspowerpoint'; $imgmime='ppt.png'; } - // Other - if (preg_match('/\.pdf$/i',$tmpfile)) { $mime='application/pdf'; $imgmime='pdf.png'; } - // Scripts - if (preg_match('/\.bat$/i',$tmpfile)) { $mime='text/x-bat'; $imgmime='script.png'; $srclang='dos'; } - if (preg_match('/\.sh$/i',$tmpfile)) { $mime='text/x-sh'; $imgmime='script.png'; $srclang='bash'; } - if (preg_match('/\.ksh$/i',$tmpfile)) { $mime='text/x-ksh'; $imgmime='script.png'; $srclang='bash'; } - if (preg_match('/\.bash$/i',$tmpfile)) { $mime='text/x-bash'; $imgmime='script.png'; $srclang='bash'; } - // Images - if (preg_match('/\.ico$/i',$tmpfile)) { $mime='image/x-icon'; $imgmime='image.png'; } - if (preg_match('/\.(jpg|jpeg)$/i',$tmpfile)) { $mime='image/jpeg'; $imgmime='image.png'; } - if (preg_match('/\.png$/i',$tmpfile)) { $mime='image/png'; $imgmime='image.png'; } - if (preg_match('/\.gif$/i',$tmpfile)) { $mime='image/gif'; $imgmime='image.png'; } - if (preg_match('/\.bmp$/i',$tmpfile)) { $mime='image/bmp'; $imgmime='image.png'; } - if (preg_match('/\.(tif|tiff)$/i',$tmpfile)) { $mime='image/tiff'; $imgmime='image.png'; } - // Calendar - if (preg_match('/\.vcs$/i',$tmpfile)) { $mime='text/calendar'; $imgmime='other.png'; } - if (preg_match('/\.ics$/i',$tmpfile)) { $mime='text/calendar'; $imgmime='other.png'; } - // Other - if (preg_match('/\.torrent$/i',$tmpfile)) { $mime='application/x-bittorrent'; $imgmime='other.png'; } - // Audio - if (preg_match('/\.(mp3|ogg|au|wav|wma|mid)$/i',$tmpfile)) { $mime='audio'; $imgmime='audio.png'; } - // Video - if (preg_match('/\.ogv$/i',$tmpfile)) { $mime='video/ogg'; $imgmime='video.png'; } - if (preg_match('/\.webm$/i',$tmpfile)) { $mime='video/webm'; $imgmime='video.png'; } - if (preg_match('/\.avi$/i',$tmpfile)) { $mime='video/x-msvideo'; $imgmime='video.png'; } - if (preg_match('/\.divx$/i',$tmpfile)) { $mime='video/divx'; $imgmime='video.png'; } - if (preg_match('/\.xvid$/i',$tmpfile)) { $mime='video/xvid'; $imgmime='video.png'; } - if (preg_match('/\.(wmv|mpg|mpeg)$/i',$tmpfile)) { $mime='video'; $imgmime='video.png'; } - // Archive - if (preg_match('/\.(zip|rar|gz|tgz|z|cab|bz2|7z|tar|lzh)$/i',$tmpfile)) { $mime='archive'; $imgmime='archive.png'; } // application/xxx where zzz is zip, ... - // Exe - if (preg_match('/\.(exe|com)$/i',$tmpfile)) { $mime='application/octet-stream'; $imgmime='other.png'; } - // Lib - if (preg_match('/\.(dll|lib|o|so|a)$/i',$tmpfile)) { $mime='library'; $imgmime='library.png'; } - // Err - if (preg_match('/\.err$/i',$tmpfile)) { $mime='error'; $imgmime='error.png'; } - - // Return string - if ($mode == 1) - { - $tmp=explode('/',$mime); - return (! empty($tmp[1])?$tmp[1]:$tmp[0]); - } - if ($mode == 2) - { - return $imgmime; - } - if ($mode == 3) - { - return $srclang; - } - - return $mime; -} - /** * Test if filename is a directory diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index bc57cb3e405..4ce0b658a60 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -5667,6 +5667,118 @@ function getAdvancedPreviewUrl($modulepart, $relativepath) //$mime_preview[]='archive'; $num_mime = array_search(dol_mimetype($relativepath, '', 1), $mime_preview); - if ($num_mime !== false) return 'javascript:document_preview(\''.dol_escape_js(DOL_URL_ROOT.'/document.php?modulepart='.$modulepart.'&attachment=0&file='.$relativepath).'\', \''.dol_mimetype($relativepath).'\', \''.dol_escape_js('ttt').'\')'; + if ($num_mime !== false) return 'javascript:document_preview(\''.dol_escape_js(DOL_URL_ROOT.'/document.php?modulepart='.$modulepart.'&attachment=0&file='.$relativepath).'\', \''.dol_mimetype($relativepath).'\', \''.dol_escape_js('Preview').'\')'; else return ''; } + + +/** + * Return mime type of a file + * + * @param string $file Filename we looking for MIME type + * @param string $default Default mime type if extension not found in known list + * @param int $mode 0=Return full mime, 1=otherwise short mime string, 2=image for mime type, 3=source language + * @return string Return a mime type family (text/xxx, application/xxx, image/xxx, audio, video, archive) + * @see image_format_supported (images.lib.php) + */ +function dol_mimetype($file,$default='application/octet-stream',$mode=0) +{ + $mime=$default; + $imgmime='other.png'; + $srclang=''; + + $tmpfile=preg_replace('/\.noexe$/','',$file); + + // Text files + if (preg_match('/\.txt$/i',$tmpfile)) { $mime='text/plain'; $imgmime='text.png'; } + if (preg_match('/\.rtx$/i',$tmpfile)) { $mime='text/richtext'; $imgmime='text.png'; } + if (preg_match('/\.csv$/i',$tmpfile)) { $mime='text/csv'; $imgmime='text.png'; } + if (preg_match('/\.tsv$/i',$tmpfile)) { $mime='text/tab-separated-values'; $imgmime='text.png'; } + if (preg_match('/\.(cf|conf|log)$/i',$tmpfile)) { $mime='text/plain'; $imgmime='text.png'; } + if (preg_match('/\.ini$/i',$tmpfile)) { $mime='text/plain'; $imgmime='text.png'; $srclang='ini'; } + if (preg_match('/\.css$/i',$tmpfile)) { $mime='text/css'; $imgmime='css.png'; $srclang='css'; } + // Certificate files + if (preg_match('/\.(crt|cer|key|pub)$/i',$tmpfile)) { $mime='text/plain'; $imgmime='text.png'; } + // HTML/XML + if (preg_match('/\.(html|htm|shtml)$/i',$tmpfile)) { $mime='text/html'; $imgmime='html.png'; $srclang='html'; } + if (preg_match('/\.(xml|xhtml)$/i',$tmpfile)) { $mime='text/xml'; $imgmime='other.png'; $srclang='xml'; } + // Languages + if (preg_match('/\.bas$/i',$tmpfile)) { $mime='text/plain'; $imgmime='text.png'; $srclang='bas'; } + if (preg_match('/\.(c)$/i',$tmpfile)) { $mime='text/plain'; $imgmime='text.png'; $srclang='c'; } + if (preg_match('/\.(cpp)$/i',$tmpfile)) { $mime='text/plain'; $imgmime='text.png'; $srclang='cpp'; } + if (preg_match('/\.(h)$/i',$tmpfile)) { $mime='text/plain'; $imgmime='text.png'; $srclang='h'; } + if (preg_match('/\.(java|jsp)$/i',$tmpfile)) { $mime='text/plain'; $imgmime='text.png'; $srclang='java'; } + if (preg_match('/\.php([0-9]{1})?$/i',$tmpfile)) { $mime='text/plain'; $imgmime='php.png'; $srclang='php'; } + if (preg_match('/\.phtml$/i',$tmpfile)) { $mime='text/plain'; $imgmime='php.png'; $srclang='php'; } + if (preg_match('/\.(pl|pm)$/i',$tmpfile)) { $mime='text/plain'; $imgmime='pl.png'; $srclang='perl'; } + if (preg_match('/\.sql$/i',$tmpfile)) { $mime='text/plain'; $imgmime='text.png'; $srclang='sql'; } + if (preg_match('/\.js$/i',$tmpfile)) { $mime='text/x-javascript'; $imgmime='jscript.png'; $srclang='js'; } + // Open office + if (preg_match('/\.odp$/i',$tmpfile)) { $mime='application/vnd.oasis.opendocument.presentation'; $imgmime='ooffice.png'; } + if (preg_match('/\.ods$/i',$tmpfile)) { $mime='application/vnd.oasis.opendocument.spreadsheet'; $imgmime='ooffice.png'; } + if (preg_match('/\.odt$/i',$tmpfile)) { $mime='application/vnd.oasis.opendocument.text'; $imgmime='ooffice.png'; } + // MS Office + if (preg_match('/\.mdb$/i',$tmpfile)) { $mime='application/msaccess'; $imgmime='mdb.png'; } + if (preg_match('/\.doc(x|m)?$/i',$tmpfile)) { $mime='application/msword'; $imgmime='doc.png'; } + if (preg_match('/\.dot(x|m)?$/i',$tmpfile)) { $mime='application/msword'; $imgmime='doc.png'; } + if (preg_match('/\.xlt(x)?$/i',$tmpfile)) { $mime='application/vnd.ms-excel'; $imgmime='xls.png'; } + if (preg_match('/\.xla(m)?$/i',$tmpfile)) { $mime='application/vnd.ms-excel'; $imgmime='xls.png'; } + if (preg_match('/\.xls$/i',$tmpfile)) { $mime='application/vnd.ms-excel'; $imgmime='xls.png'; } + if (preg_match('/\.xls(b|m|x)$/i',$tmpfile)) { $mime='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'; $imgmime='xls.png'; } + if (preg_match('/\.pps(m|x)?$/i',$tmpfile)) { $mime='application/vnd.ms-powerpoint'; $imgmime='ppt.png'; } + if (preg_match('/\.ppt(m|x)?$/i',$tmpfile)) { $mime='application/x-mspowerpoint'; $imgmime='ppt.png'; } + // Other + if (preg_match('/\.pdf$/i',$tmpfile)) { $mime='application/pdf'; $imgmime='pdf.png'; } + // Scripts + if (preg_match('/\.bat$/i',$tmpfile)) { $mime='text/x-bat'; $imgmime='script.png'; $srclang='dos'; } + if (preg_match('/\.sh$/i',$tmpfile)) { $mime='text/x-sh'; $imgmime='script.png'; $srclang='bash'; } + if (preg_match('/\.ksh$/i',$tmpfile)) { $mime='text/x-ksh'; $imgmime='script.png'; $srclang='bash'; } + if (preg_match('/\.bash$/i',$tmpfile)) { $mime='text/x-bash'; $imgmime='script.png'; $srclang='bash'; } + // Images + if (preg_match('/\.ico$/i',$tmpfile)) { $mime='image/x-icon'; $imgmime='image.png'; } + if (preg_match('/\.(jpg|jpeg)$/i',$tmpfile)) { $mime='image/jpeg'; $imgmime='image.png'; } + if (preg_match('/\.png$/i',$tmpfile)) { $mime='image/png'; $imgmime='image.png'; } + if (preg_match('/\.gif$/i',$tmpfile)) { $mime='image/gif'; $imgmime='image.png'; } + if (preg_match('/\.bmp$/i',$tmpfile)) { $mime='image/bmp'; $imgmime='image.png'; } + if (preg_match('/\.(tif|tiff)$/i',$tmpfile)) { $mime='image/tiff'; $imgmime='image.png'; } + // Calendar + if (preg_match('/\.vcs$/i',$tmpfile)) { $mime='text/calendar'; $imgmime='other.png'; } + if (preg_match('/\.ics$/i',$tmpfile)) { $mime='text/calendar'; $imgmime='other.png'; } + // Other + if (preg_match('/\.torrent$/i',$tmpfile)) { $mime='application/x-bittorrent'; $imgmime='other.png'; } + // Audio + if (preg_match('/\.(mp3|ogg|au|wav|wma|mid)$/i',$tmpfile)) { $mime='audio'; $imgmime='audio.png'; } + // Video + if (preg_match('/\.ogv$/i',$tmpfile)) { $mime='video/ogg'; $imgmime='video.png'; } + if (preg_match('/\.webm$/i',$tmpfile)) { $mime='video/webm'; $imgmime='video.png'; } + if (preg_match('/\.avi$/i',$tmpfile)) { $mime='video/x-msvideo'; $imgmime='video.png'; } + if (preg_match('/\.divx$/i',$tmpfile)) { $mime='video/divx'; $imgmime='video.png'; } + if (preg_match('/\.xvid$/i',$tmpfile)) { $mime='video/xvid'; $imgmime='video.png'; } + if (preg_match('/\.(wmv|mpg|mpeg)$/i',$tmpfile)) { $mime='video'; $imgmime='video.png'; } + // Archive + if (preg_match('/\.(zip|rar|gz|tgz|z|cab|bz2|7z|tar|lzh)$/i',$tmpfile)) { $mime='archive'; $imgmime='archive.png'; } // application/xxx where zzz is zip, ... + // Exe + if (preg_match('/\.(exe|com)$/i',$tmpfile)) { $mime='application/octet-stream'; $imgmime='other.png'; } + // Lib + if (preg_match('/\.(dll|lib|o|so|a)$/i',$tmpfile)) { $mime='library'; $imgmime='library.png'; } + // Err + if (preg_match('/\.err$/i',$tmpfile)) { $mime='error'; $imgmime='error.png'; } + + // Return string + if ($mode == 1) + { + $tmp=explode('/',$mime); + return (! empty($tmp[1])?$tmp[1]:$tmp[0]); + } + if ($mode == 2) + { + return $imgmime; + } + if ($mode == 3) + { + return $srclang; + } + + return $mime; +} + diff --git a/htdocs/core/lib/usergroups.lib.php b/htdocs/core/lib/usergroups.lib.php index 5ea489c1212..26a7455bf62 100644 --- a/htdocs/core/lib/usergroups.lib.php +++ b/htdocs/core/lib/usergroups.lib.php @@ -296,7 +296,7 @@ function entity_prepare_head($object, $aEntities) */ function show_theme($fuser,$edit=0,$foruserprofile=false) { - global $conf,$langs,$db; + global $conf,$langs,$db,$form; global $bc; require_once DOL_DOCUMENT_ROOT . '/core/class/html.formother.class.php'; @@ -515,6 +515,52 @@ function show_theme($fuser,$edit=0,$foruserprofile=false) print ''; } + // TopMenuBackgroundColor + if ($foruserprofile) + { + /*$var=!$var; + print ''; + print ''.$langs->trans("TopMenuBackgroundColor").''; + print ''.($conf->global->THEME_ELDY_TOPMENU_BACK1?$conf->global->THEME_ELDY_TOPMENU_BACK1:$langs->trans("Default")).''; + print 'conf->THEME_ELDY_TOPMENU_BACK1)?" checked":""); + print (empty($dolibarr_main_demo) && $edit)?'':' disabled="disabled"'; // Disabled for demo + print '> '.$langs->trans("UsePersonalValue").''; + print ''; + if ($edit) + { + print $formother->selectColor(colorArrayToHex(colorStringToArray($conf->global->THEME_ELDY_TOPMENU_BACK1,array()),''),'THEME_ELDY_TOPMENU_BACK1','formcolor',1).' '; + } + else + { + $color = colorArrayToHex(colorStringToArray($conf->global->THEME_ELDY_TOPMENU_BACK1,array()),''); + if ($color) print ''; + else print ''; + } + if ($edit) print '
    ('.$langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis").')'; + print '';*/ + } + else + { + $default=$langs->trans('No'); + $var=!$var; + print ''; + print ''.$langs->trans("TopMenuDisableImages").''; + print ''; + if ($edit) + { + print $form->selectyesno('THEME_TOPMENU_DISABLE_IMAGE', $conf->global->THEME_TOPMENU_DISABLE_IMAGE, 1); + } + else + { + print yn($conf->global->THEME_TOPMENU_DISABLE_IMAGE); + } + print '   ('.$langs->trans("Default").': '.$default.', '.$langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis").')'; + print ''; + } + + + + // BackgroundTableTitleColor if ($foruserprofile) { diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 9b62f7f4a3b..1e2e3e68291 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -1548,9 +1548,10 @@ HighlightLinesColor=Highlight color of the line when the mouse passes over (keep TextTitleColor=Color of page title LinkColor=Color of links 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 core themes, may not be supported by external themes BackgroundColor=Background color TopMenuBackgroundColor=Background color for Top menu +TopMenuDisableImages=Hide images in Top menu LeftMenuBackgroundColor=Background color for Left menu BackgroundTableTitleColor=Background color for Table title line BackgroundTableLineOddColor=Background color for odd table lines diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index 5602b109b4f..be38ec586b4 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -932,7 +932,7 @@ $heightmenu=46; /* height of top menu, part with image */ $heightmenu2=48; /* height of top menu, part with login */ $disableimages = 0; $maxwidthloginblock = 110; -if (! empty($conf->global->THEME_ELDY_DISABLE_IMAGE)) { $disableimages = 1; $maxwidthloginblock = 180; $minwidthtmenu=0; } +if (! empty($conf->global->THEME_TOPMENU_DISABLE_IMAGE)) { $disableimages = 1; $maxwidthloginblock = 180; $minwidthtmenu=0; } ?> div#id-top { @@ -940,6 +940,8 @@ div#id-top { display:none; background: rgb(); + -webkit-box-shadow: 0 0 13px rgba(0,0,0,0.2); + box-shadow: 0 0 13px rgba(0,0,0,0.2); background-image: linear-gradient(top, rgba(255,255,255,.1) 0%, rgba(0,0,0,.4) 100%); background-image: -o-linear-gradient(top, rgba(255,255,255,.1) 0%, rgba(0,0,0,.4) 100%); @@ -1354,7 +1356,7 @@ div.login_block { position: absolute; text-align: right; : 5px; - top: 2px; + top: 3px; font-weight: bold; max-width: px; @@ -2833,7 +2835,7 @@ span.boxstatstext { line-height: 18px; } span.boxstatsindicator { - font-size: 110%; + font-size: 130%; font-weight: normal; } span.dashboardlineindicator, span.dashboardlineindicatorlate { diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php index d8855714c06..452640ddd9c 100644 --- a/htdocs/theme/md/style.css.php +++ b/htdocs/theme/md/style.css.php @@ -972,7 +972,7 @@ $heightmenu=48; /* height of top menu, part with image */ $heightmenu2=48; /* height of top menu, ârt with login */ $disableimages = 0; $maxwidthloginblock = 110; -if (! empty($conf->global->THEME_MD_DISABLE_IMAGE)) { $heightmenu = 30; $disableimages = 1; $maxwidthloginblock = 180; $minwidthtmenu=0; } +if (! empty($conf->global->THEME_TOPMENU_DISABLE_IMAGE)) { $heightmenu = 30; $disableimages = 1; $maxwidthloginblock = 180; $minwidthtmenu=0; } ?> div#tmenu_tooltip { From 3f87b0c2255d8dd781d44e55176f17a23b101b54 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 6 Aug 2016 00:04:24 +0200 Subject: [PATCH 276/476] NEW Show photo of contacts on thirdparty card. --- htdocs/contact/class/contact.class.php | 25 +++++++++++++++++------ htdocs/core/lib/company.lib.php | 28 +++++++++++++++++++++----- htdocs/societe/soc.php | 7 +++++-- htdocs/theme/eldy/style.css.php | 9 ++++++++- htdocs/theme/md/style.css.php | 7 +++++++ 5 files changed, 62 insertions(+), 14 deletions(-) diff --git a/htdocs/contact/class/contact.class.php b/htdocs/contact/class/contact.class.php index ee057bbb00f..8566b4e5585 100644 --- a/htdocs/contact/class/contact.class.php +++ b/htdocs/contact/class/contact.class.php @@ -41,7 +41,8 @@ class Contact extends CommonObject public $table_element='socpeople'; protected $ismultientitymanaged = 1; // 0=No test on entity, 1=Test with field entity, 2=Test with link by societe - var $civility_id; // In fact we store civility_code + var $civility_id; // In fact we store civility_code + var $civility_code; var $address; var $zip; var $town; @@ -612,6 +613,7 @@ class Contact extends CommonObject $this->ref = $obj->rowid; $this->ref_ext = $obj->ref_ext; $this->civility_id = $obj->civility_id; + $this->civility_code = $obj->civility_id; $this->lastname = $obj->lastname; $this->firstname = $obj->firstname; $this->address = $obj->address; @@ -659,11 +661,7 @@ class Contact extends CommonObject $this->import_key = $obj->import_key; // Define gender according to civility - if(in_array($this->civility_id, array('MR'))) { - $this->gender = 'man'; - } else if(in_array($this->civility_id, array('MME','MLE'))) { - $this->gender = 'woman'; - } + $this->setGenderFromCivility(); // Search Dolibarr user linked to this contact $sql = "SELECT u.rowid "; @@ -735,6 +733,21 @@ class Contact extends CommonObject } + /** + * Set property ->gender from property ->civility_id + * + * @return void + */ + function setGenderFromCivility() + { + unset($this->gender); + if (in_array($this->civility_id, array('MR'))) { + $this->gender = 'man'; + } else if(in_array($this->civility_id, array('MME','MLE'))) { + $this->gender = 'woman'; + } + } + /** * Load number of elements the contact is used as a link for * ref_facturation diff --git a/htdocs/core/lib/company.lib.php b/htdocs/core/lib/company.lib.php index 2ef445bcac3..0f427381d15 100644 --- a/htdocs/core/lib/company.lib.php +++ b/htdocs/core/lib/company.lib.php @@ -653,6 +653,7 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='') $colspan=9; print ''; + print_liste_field_titre(''); print_liste_field_titre($langs->trans("Name"),$_SERVER["PHP_SELF"],"p.lastname","",$param,'',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Poste"),$_SERVER["PHP_SELF"],"p.poste","",$param,'',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Address").' / '.$langs->trans("Phone").' / '.$langs->trans("Email"),$_SERVER["PHP_SELF"],"","",$param,'',$sortfield,$sortorder); @@ -668,8 +669,8 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='') print "\n"; - $sql = "SELECT p.rowid, p.lastname, p.firstname, p.fk_pays as country_id, p.civility, p.poste, p.phone as phone_pro, p.phone_mobile, p.phone_perso, p.fax, p.email, p.skype, p.statut "; - $sql .= ", p.civility as civility_id, p.address, p.zip, p.town"; + $sql = "SELECT p.rowid, p.lastname, p.firstname, p.fk_pays as country_id, p.civility, p.poste, p.phone as phone_pro, p.phone_mobile, p.phone_perso, p.fax, p.email, p.skype, p.statut, p.photo,"; + $sql .= " p.civility as civility_id, p.address, p.zip, p.town"; $sql .= " FROM ".MAIN_DB_PREFIX."socpeople as p"; $sql .= " WHERE p.fk_soc = ".$object->id; if ($search_status!='' && $search_status != '-1') $sql .= " AND p.statut = ".$db->escape($search_status); @@ -687,6 +688,10 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='') { print ''; + // Photo + print ''; + print ''; + // Name - Position print ''; print ''; @@ -732,6 +737,7 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='') $contactstatic->lastname = $obj->lastname; $contactstatic->firstname = $obj->firstname; $contactstatic->civility_id = $obj->civility_id; + $contactstatic->civility_code = $obj->civility_id; $contactstatic->poste = $obj->poste; $contactstatic->address = $obj->address; $contactstatic->zip = $obj->zip; @@ -742,15 +748,27 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='') $contactstatic->email = $obj->email; $contactstatic->web = $obj->web; $contactstatic->skype = $obj->skype; + $contactstatic->photo = $obj->photo; $country_code = getCountry($obj->country_id, 2); $contactstatic->country_code = $country_code; + + $contactstatic->setGenderFromCivility(); print ""; - print ''; - print $contactstatic->getNomUrl(1,'',0,'&backtopage='.urlencode($backtopage)); - print ''; + // Photo + print ''; + print $form->showphoto('contact',$contactstatic,0,0,0,'photorefnoborder','small',1,0,1); + print ''; + + // Name + print ''; + print $contactstatic->getNomUrl(0,'',0,'&backtopage='.urlencode($backtopage)); + print ''; + + // Job position + print ''; if ($obj->poste) print $obj->poste; print ''; diff --git a/htdocs/societe/soc.php b/htdocs/societe/soc.php index b7813eadac4..0eecd8e6b92 100644 --- a/htdocs/societe/soc.php +++ b/htdocs/societe/soc.php @@ -2537,8 +2537,11 @@ else print '

    '; // Subsidiaries list - $result=show_subsidiaries($conf,$langs,$db,$object); - + if (empty($conf->global->SOCIETE_DISABLE_SUBSIDIARIES)) + { + $result=show_subsidiaries($conf,$langs,$db,$object); + } + // Contacts list if (empty($conf->global->SOCIETE_DISABLE_CONTACTS)) { diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index be38ec586b4..eed6e5792ca 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -913,7 +913,14 @@ img.photoref { padding: 4px; height: 80px; width: 80px; - object-fit: contain + object-fit: contain; +} +img.photorefnoborder { + padding: 2px; + height: 48px; + width: 48px; + object-fit: contain; + border: 1px solid #CCC; } .underrefbanner { } diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php index 452640ddd9c..16dce1c5206 100644 --- a/htdocs/theme/md/style.css.php +++ b/htdocs/theme/md/style.css.php @@ -955,6 +955,13 @@ img.photoref { -webkit-box-shadow: 3px 3px 4px #DDD; box-shadow: 3px 3px 4px #DDD; } +img.photorefnoborder { + padding: 2px; + height: 48px; + width: 48px; + object-fit: contain; + border: 1px solid #CCC; +} .underrefbanner { } .underbanner { From 94487cf411e094780f299ba4302a2edf34544215 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Mon, 8 Aug 2016 13:43:44 +0200 Subject: [PATCH 277/476] FIX #5594 --- htdocs/core/class/extrafields.class.php | 39 ++++++++++++++----------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/htdocs/core/class/extrafields.class.php b/htdocs/core/class/extrafields.class.php index d63c2536476..cf35dd1ee5c 100644 --- a/htdocs/core/class/extrafields.class.php +++ b/htdocs/core/class/extrafields.class.php @@ -675,7 +675,7 @@ class ExtraFields if ($showsize > 48) $showsize=48; } } - + if (in_array($type,array('date','datetime'))) { $tmp=explode(',',$size); @@ -812,7 +812,7 @@ class ExtraFields if (strpos($InfoFieldList[4], '$SEL$')!==false) { $InfoFieldList[4]=str_replace('$SEL$','SELECT',$InfoFieldList[4]); } - + // current object id can be use into filter if (strpos($InfoFieldList[4], '$ID$')!==false && !empty($objectid)) { $InfoFieldList[4]=str_replace('$ID$',$objectid,$InfoFieldList[4]); @@ -830,14 +830,14 @@ class ExtraFields $sqlwhere.= ' WHERE '.$InfoFieldList[4]; } } - else + else { $sqlwhere.= ' WHERE 1=1'; } // Some tables may have field, some other not. For the moment we disable it. - if (in_array($InfoFieldList[0],array('tablewithentity'))) + if (in_array($InfoFieldList[0],array('tablewithentity'))) { - $sqlwhere.= ' AND entity = '.$conf->entity; + $sqlwhere.= ' AND entity = '.$conf->entity; } $sql.=$sqlwhere; //print $sql; @@ -996,19 +996,19 @@ class ExtraFields $sql = 'SELECT ' . $keyList; $sql .= ' FROM ' . MAIN_DB_PREFIX . $InfoFieldList[0]; if (! empty($InfoFieldList[4])) { - + // can use SELECT request if (strpos($InfoFieldList[4], '$SEL$')!==false) { $InfoFieldList[4]=str_replace('$SEL$','SELECT',$InfoFieldList[4]); } - + // current object id can be use into filter if (strpos($InfoFieldList[4], '$ID$')!==false && !empty($objectid)) { $InfoFieldList[4]=str_replace('$ID$',$objectid,$InfoFieldList[4]); } else { $InfoFieldList[4]=str_replace('$ID$','0',$InfoFieldList[4]); } - + // We have to join on extrafield table if (strpos($InfoFieldList[4], 'extra') !== false) { $sql .= ' as main, ' . MAIN_DB_PREFIX . $InfoFieldList[0] . '_extrafields as extra'; @@ -1020,13 +1020,13 @@ class ExtraFields $sqlwhere .= ' WHERE 1=1'; } // Some tables may have field, some other not. For the moment we disable it. - if (in_array($InfoFieldList[0], array ('tablewithentity'))) + if (in_array($InfoFieldList[0], array ('tablewithentity'))) { $sqlwhere .= ' AND entity = ' . $conf->entity; } // $sql.=preg_replace('/^ AND /','',$sqlwhere); // print $sql; - + $sql .= $sqlwhere; dol_syslog(get_class($this) . '::showInputField type=chkbxlst',LOG_DEBUG); $resql = $this->db->query($sql); @@ -1232,7 +1232,12 @@ class ExtraFields { $sql.= ' as main'; } - $sql.= " WHERE ".$selectkey."='".$this->db->escape($value)."'"; + if ($selectkey=='rowid') { + $sql.= " WHERE ".$selectkey."=".$this->db->escape($value); + } else { + $sql.= " WHERE ".$selectkey."='".$this->db->escape($value)."'"; + } + //$sql.= ' AND entity = '.$conf->entity; dol_syslog(get_class($this).':showOutputField:$type=sellist', LOG_DEBUG); @@ -1391,10 +1396,10 @@ class ExtraFields $showsize=round($size); if ($showsize > 48) $showsize=48; } - + //print $type.'-'.$size; $out=$value; - + return $out; } @@ -1411,7 +1416,7 @@ class ExtraFields $type=$this->attribute_type[$key]; $align=''; - + if ($type == 'date') { $align="center"; @@ -1440,10 +1445,10 @@ class ExtraFields { $align="center"; } - + return $align; } - + /** * Return HTML string to print separator extrafield * @@ -1523,7 +1528,7 @@ class ExtraFields return 0; } } - + /** * return array_options array for object by extrafields value (using for data send by forms) * From 15f187c466f4ab64576fb11cc1c16e57580043dd Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Mon, 8 Aug 2016 13:54:03 +0200 Subject: [PATCH 278/476] better test --- htdocs/core/class/extrafields.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/class/extrafields.class.php b/htdocs/core/class/extrafields.class.php index cf35dd1ee5c..237f1a36b81 100644 --- a/htdocs/core/class/extrafields.class.php +++ b/htdocs/core/class/extrafields.class.php @@ -1232,7 +1232,7 @@ class ExtraFields { $sql.= ' as main'; } - if ($selectkey=='rowid') { + if ($selectkey=='rowid' && is_int($value)) { $sql.= " WHERE ".$selectkey."=".$this->db->escape($value); } else { $sql.= " WHERE ".$selectkey."='".$this->db->escape($value)."'"; From 90cb71f34185c60f76fac15767d06dcab12fc542 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Mon, 8 Aug 2016 13:54:51 +0200 Subject: [PATCH 279/476] revert better fix --- htdocs/core/class/extrafields.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/class/extrafields.class.php b/htdocs/core/class/extrafields.class.php index 237f1a36b81..cf35dd1ee5c 100644 --- a/htdocs/core/class/extrafields.class.php +++ b/htdocs/core/class/extrafields.class.php @@ -1232,7 +1232,7 @@ class ExtraFields { $sql.= ' as main'; } - if ($selectkey=='rowid' && is_int($value)) { + if ($selectkey=='rowid') { $sql.= " WHERE ".$selectkey."=".$this->db->escape($value); } else { $sql.= " WHERE ".$selectkey."='".$this->db->escape($value)."'"; From 13bbd5059b006847699c31e862c095c7451a9ee9 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 8 Aug 2016 14:21:43 +0200 Subject: [PATCH 280/476] Work on module website --- htdocs/public/websites/index.php | 12 ++- htdocs/public/websites/styles.css.php | 139 ++++++++++++++++++++++++++ htdocs/websites/index.php | 47 ++++++--- 3 files changed, 182 insertions(+), 16 deletions(-) create mode 100644 htdocs/public/websites/styles.css.php diff --git a/htdocs/public/websites/index.php b/htdocs/public/websites/index.php index 4625bc1573a..8c83a1daebc 100644 --- a/htdocs/public/websites/index.php +++ b/htdocs/public/websites/index.php @@ -17,8 +17,8 @@ /** * \file htdocs/public/websites/index.php - * \ingroup core - * \brief A redirect page to an error + * \ingroup website + * \brief Page to output pages * \author Laurent Destailleur */ @@ -90,14 +90,14 @@ if (empty($pageid)) // Security: Delete string ../ into $original_file global $dolibarr_main_data_root; -if ($pageid == 'css') +if ($pageid == 'css') // No more used ? { header('Content-type: text/css'); // Important: Following code is to avoid page request by browser and PHP CPU at each Dolibarr page access. //if (empty($dolibarr_nocache)) header('Cache-Control: max-age=3600, public, must-revalidate'); //else header('Cache-Control: no-cache'); - $original_file=$dolibarr_main_data_root.'/websites/'.$website.'/styles.css'; + $original_file=$dolibarr_main_data_root.'/websites/'.$website.'/styles.css.php'; } else { @@ -142,7 +142,11 @@ if (! file_exists($original_file_osencoded)) exit; } + +// Output page content +print "\n".''."\n"; include_once $original_file_osencoded; + if (is_object($db)) $db->close(); diff --git a/htdocs/public/websites/styles.css.php b/htdocs/public/websites/styles.css.php new file mode 100644 index 00000000000..5a736affc25 --- /dev/null +++ b/htdocs/public/websites/styles.css.php @@ -0,0 +1,139 @@ + + * + * 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 . + */ + +/** + * \file htdocs/public/websites/styles.css.php + * \ingroup website + * \brief Page to output style page + * \author Laurent Destailleur + */ + +define('NOTOKENRENEWAL',1); // Disables token renewal +define("NOLOGIN",1); +define("NOCSRFCHECK",1); // We accept to go on this page from external web site. +if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU','1'); +if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML','1'); +if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1'); + +/** + * Header empty + * + * @return void + */ +function llxHeader() { } +/** + * Footer empty + * + * @return void + */ +function llxFooter() { } + +require '../../master.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + + +$error=0; +$website=GETPOST('website', 'alpha'); +$pageid=GETPOST('page', 'alpha')?GETPOST('page', 'alpha'):GETPOST('pageid', 'alpha'); + +$accessallowed = 1; +$type=''; + + +/* + * View + */ + +$appli=constant('DOL_APPLICATION_TITLE'); +if (!empty($conf->global->MAIN_APPLICATION_TITLE)) $appli=$conf->global->MAIN_APPLICATION_TITLE; + +//print 'Directory with '.$appli.' websites.
    '; + +if (empty($pageid)) +{ + require_once DOL_DOCUMENT_ROOT.'/websites/class/website.class.php'; + require_once DOL_DOCUMENT_ROOT.'/websites/class/websitepage.class.php'; + + $object=new Website($db); + $object->fetch(0, $website); + + $objectpage=new WebsitePage($db); + $array=$objectpage->fetchAll($object->id); + + if (count($array) > 0) + { + $firstrep=reset($array); + $pageid=$firstrep->id; + } +} +if (empty($pageid)) +{ + $langs->load("website"); + print $langs->trans("PreviewOfSiteNotYetAvailable"); + exit; +} + +// Security: Delete string ../ into $original_file +global $dolibarr_main_data_root; + +$original_file=$dolibarr_main_data_root.'/websites/'.$website.'/styles.css.php'; + +// Find the subdirectory name as the reference +$refname=basename(dirname($original_file)."/"); + +// Security: +// Limite acces si droits non corrects +if (! $accessallowed) +{ + accessforbidden(); +} + +// Security: +// On interdit les remontees de repertoire ainsi que les pipe dans +// les noms de fichiers. +if (preg_match('/\.\./',$original_file) || preg_match('/[<>|]/',$original_file)) +{ + dol_syslog("Refused to deliver file ".$original_file); + $file=basename($original_file); // Do no show plain path of original_file in shown error message + dol_print_error(0,$langs->trans("ErrorFileNameInvalid",$file)); + exit; +} + +clearstatcache(); + +$filename = basename($original_file); + +// Output file on browser +dol_syslog("styles.css.php include $original_file $filename content-type=$type"); +$original_file_osencoded=dol_osencode($original_file); // New file name encoded in OS encoding charset + +// This test if file exists should be useless. We keep it to find bug more easily +if (! file_exists($original_file_osencoded)) +{ + $langs->load("website"); + print $langs->trans("RequestedPageHasNoContentYet", $pageid); + //dol_print_error(0,$langs->trans("ErrorFileDoesNotExists",$original_file)); + exit; +} + + +// Output page content +require_once $original_file_osencoded; + + +if (is_object($db)) $db->close(); + diff --git a/htdocs/websites/index.php b/htdocs/websites/index.php index 188a3fa7ce6..b5eb5df1ef3 100644 --- a/htdocs/websites/index.php +++ b/htdocs/websites/index.php @@ -123,7 +123,7 @@ if ($pageid > 0 && $action != 'add') global $dolibarr_main_data_root; $pathofwebsite=$dolibarr_main_data_root.'/websites/'.$website; -$filecss=$pathofwebsite.'/styles.css'; +$filecss=$pathofwebsite.'/styles.css.php'; $filetpl=$pathofwebsite.'/page'.$pageid.'.tpl.php'; // Define $urlwithroot @@ -276,7 +276,10 @@ if ($action == 'updatecss') $db->rollback(); }*/ - $csscontent = GETPOST('WEBSITE_CSS_INLINE'); + $csscontent ='"."\n"; + $csscontent .= GETPOST('WEBSITE_CSS_INLINE'); dol_mkdir($pathofwebsite); file_put_contents($filecss, $csscontent); @@ -379,15 +382,26 @@ if ($action == 'updatecontent') if (! $error) { $db->commit(); - setEventMessages($langs->trans("Saved"), null, 'mesgs'); + // Now create the .tpl file dol_mkdir($pathofwebsite); dol_delete_file($filetpl); - file_put_contents($filetpl, $objectpage->content); + + $tplcontent = ''."\n"; + $tplcontent.= '
    '."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= '
    '."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= $objectpage->content."\n"; + $tplcontent.= ''."\n"; +//var_dump($filetpl);exit; + $result = file_put_contents($filetpl, $tplcontent); if (! empty($conf->global->MAIN_UMASK)) @chmod($filetpl, octdec($conf->global->MAIN_UMASK)); - - header("Location: ".$_SERVER["PHP_SELF"].'?website='.$website.'&pageid='.$pageid); + + setEventMessages($langs->trans("Saved"), null, 'mesgs'); + + header("Location: ".$_SERVER["PHP_SELF"].'?website='.$website.'&pageid='.$pageid); exit; } else @@ -600,7 +614,6 @@ if (count($object->records) > 0) $out.=''; print $out; print ''; - print ''; //print $form->selectarray('page', $array); if ($website && $pageid > 0) @@ -608,7 +621,7 @@ if (count($object->records) > 0) print ' - '.$langs->trans("RealURL").' '; $realurl=$urlwithroot.'/public/websites/index.php?website='.$website.'&page='.$pageid; print ' '; - print ''.$langs->trans("ViewPageInNewTab").''; + print ''.$langs->trans("ViewPageInNewTab").''; // View page in new Tab //print ''; } @@ -631,14 +644,15 @@ if (count($object->records) > 0) print ''; //print ''.dol_escape_htmltag($langs->trans("EditPageMeta")).''; //print ''.dol_escape_htmltag($langs->trans("EditPageContent")).''; + print ''; } } if (! in_array($action, array('editcss','editmenu','create'))) { if ($action != 'preview') print ''; - if (preg_match('/^create/',$action)) print ''; - if (preg_match('/^edit/',$action)) print ''; + if (preg_match('/^create/',$action)) print ''; + if (preg_match('/^edit/',$action)) print ''; } print '
    '; @@ -780,8 +794,17 @@ if ($action == 'editcontent') /* * Editing global variables not related to a specific theme */ + + $csscontent = @file_get_contents($filecss); + + $contentforedit = ''; + /*$contentforedit.=''."\n";*/ + $contentforedit .= $objectpage->content; + require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; - $doleditor=new DolEditor('PAGE_CONTENT',$objectpage->content,'',500,'Full','',true,true,true,5,60); + $doleditor=new DolEditor('PAGE_CONTENT',$contentforedit,'',500,'Full','',true,true,true,5,60); $doleditor->Create(); } @@ -795,7 +818,7 @@ if ($action == 'preview') { $objectpage->fetch($pageid); - print "\n".''."\n"; + print "\n".''."\n"; $csscontent = @file_get_contents($filecss); From 95a66e7e63cc8a62e7f461beca312b313a69a369 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Mon, 8 Aug 2016 14:52:19 +0200 Subject: [PATCH 281/476] Work on accoutancy PgSQL comptatiblity and other stuff --- htdocs/accountancy/customer/index.php | 55 +++++----- htdocs/accountancy/customer/list.php | 1 + htdocs/accountancy/supplier/index.php | 141 ++++++++------------------ htdocs/langs/en_US/accountancy.lang | 2 + 4 files changed, 73 insertions(+), 126 deletions(-) diff --git a/htdocs/accountancy/customer/index.php b/htdocs/accountancy/customer/index.php index fce70e56051..9a4b1d2e2f0 100644 --- a/htdocs/accountancy/customer/index.php +++ b/htdocs/accountancy/customer/index.php @@ -43,7 +43,7 @@ if ($user->societe_id > 0) accessforbidden(); if (! $user->rights->accounting->ventilation->read) accessforbidden(); - + // Filter $year = $_GET["year"]; if ($year == 0) { @@ -57,17 +57,17 @@ if ($year == 0) { // Validate History $action = GETPOST('action'); if ($action == 'validatehistory') { - + $error = 0; $db->begin(); - + if ($db->type == 'pgsql') { - $sql1 = "UPDATE " . MAIN_DB_PREFIX . "facturedet as fd"; - $sql1 .= " SET fd.fk_code_ventilation = accnt.rowid"; + $sql1 = "UPDATE " . MAIN_DB_PREFIX . "facturedet"; + $sql1 .= " SET fk_code_ventilation = accnt.rowid"; $sql1 .= " FROM " . MAIN_DB_PREFIX . "product as p, " . MAIN_DB_PREFIX . "accounting_account as accnt , " . MAIN_DB_PREFIX . "accounting_system as syst"; - $sql1 .= " WHERE fd.fk_product = p.rowid AND accnt.fk_pcg_version = syst.pcg_version AND syst.rowid=" . $conf->global->CHARTOFACCOUNTS; + $sql1 .= " WHERE " . MAIN_DB_PREFIX . "facturedet.fk_product = p.rowid AND accnt.fk_pcg_version = syst.pcg_version AND syst.rowid=" . $conf->global->CHARTOFACCOUNTS; $sql1 .= " AND accnt.active = 1 AND p.accountancy_code_sell=accnt.account_number"; - $sql1 .= " AND fd.fk_code_ventilation = 0"; + $sql1 .= " AND " . MAIN_DB_PREFIX . "facturedet.fk_code_ventilation = 0"; } else { $sql1 = "UPDATE " . MAIN_DB_PREFIX . "facturedet as fd, " . MAIN_DB_PREFIX . "product as p, " . MAIN_DB_PREFIX . "accounting_account as accnt , " . MAIN_DB_PREFIX . "accounting_system as syst"; $sql1 .= " SET fd.fk_code_ventilation = accnt.rowid"; @@ -75,9 +75,9 @@ if ($action == 'validatehistory') { $sql1 .= " AND accnt.active = 1 AND p.accountancy_code_sell=accnt.account_number"; $sql1 .= " AND fd.fk_code_ventilation = 0"; } - + dol_syslog("htdocs/accountancy/customer/index.php sql=" . $sql, LOG_DEBUG); - + $resql1 = $db->query($sql1); if (! $resql1) { $error ++; @@ -90,7 +90,7 @@ if ($action == 'validatehistory') { } elseif ($action == 'fixaccountancycode') { $error = 0; $db->begin(); - + $sql1 = "UPDATE " . MAIN_DB_PREFIX . "facturedet as fd"; $sql1 .= " SET fd.fk_code_ventilation = 0"; $sql1 .= ' WHERE fd.fk_code_ventilation NOT IN '; @@ -98,9 +98,9 @@ if ($action == 'validatehistory') { $sql1 .= ' FROM ' . MAIN_DB_PREFIX . 'accounting_account as accnt'; $sql1 .= ' INNER JOIN ' . MAIN_DB_PREFIX . 'accounting_system as syst'; $sql1 .= ' ON accnt.fk_pcg_version = syst.pcg_version AND syst.rowid=' . $conf->global->CHARTOFACCOUNTS . ')'; - + dol_syslog("htdocs/accountancy/customer/index.php fixaccountancycode", LOG_DEBUG); - + $resql1 = $db->query($sql1); if (! $resql1) { $error ++; @@ -113,15 +113,15 @@ if ($action == 'validatehistory') { } elseif ($action == 'cleanaccountancycode') { $error = 0; $db->begin(); - + $sql1 = "UPDATE " . MAIN_DB_PREFIX . "facturedet as fd"; $sql1 .= " SET fd.fk_code_ventilation = 0"; $sql1 .= " WHERE fd.fk_facture IN ( SELECT f.rowid FROM " . MAIN_DB_PREFIX . "facture as f"; $sql1 .= " WHERE f.datef >= '" . $db->idate(dol_get_first_day($year_current, 1, false)) . "'"; $sql1 .= " AND f.datef <= '" . $db->idate(dol_get_last_day($year_current, 12, false)) . "')"; - + dol_syslog("htdocs/accountancy/customer/index.php fixaccountancycode", LOG_DEBUG); - + $resql1 = $db->query($sql1); if (! $resql1) { $error ++; @@ -198,7 +198,7 @@ $resql = $db->query($sql); if ($resql) { $i = 0; $num = $db->num_rows($resql); - + while ( $i < $num ) { $row = $db->fetch_row($resql); $var = ! $var; @@ -245,10 +245,10 @@ $resql = $db->query($sql); if ($resql) { $i = 0; $num = $db->num_rows($resql); - + while ( $i < $num ) { $row = $db->fetch_row($resql); - + print '' . $row[0] . ''; for($i = 1; $i <= 12; $i ++) { print '' . price($row[$i]) . ''; @@ -271,37 +271,34 @@ if (! empty($conf->margin->enabled)) { print '' . $langs->trans('MonthShort' . str_pad($i, 2, '0', STR_PAD_LEFT)) . ''; } print '' . $langs->trans("Total") . ''; - - $sql = "SELECT '" . $langs->trans("Vide") . "' AS 'Marge',"; + + $sql = "SELECT '" . $langs->trans("Vide") . "' AS marge,"; for($i = 1; $i <= 12; $i ++) { $sql .= " SUM(" . $db->ifsql('MONTH(f.datef)=' . $i, '(fd.total_ht-(fd.qty * fd.buy_price_ht))', '0') . ") AS month" . str_pad($i, 2, '0', STR_PAD_LEFT) . ","; } - $sql .= " SUM((fd.total_ht-(fd.qty * fd.buy_price_ht))) as 'Total'"; + $sql .= " SUM((fd.total_ht-(fd.qty * fd.buy_price_ht))) as total"; $sql .= " FROM " . MAIN_DB_PREFIX . "facturedet as fd"; $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "facture as f ON f.rowid = fd.fk_facture"; $sql .= " WHERE f.datef >= '" . $db->idate(dol_get_first_day($y, 1, false)) . "'"; $sql .= " AND f.datef <= '" . $db->idate(dol_get_last_day($y, 12, false)) . "'"; - + if (! empty($conf->multicompany->enabled)) { $sql .= " AND f.entity IN (" . getEntity("facture", 1) . ")"; } - + dol_syslog('htdocs/accountancy/customer/index.php:: $sql=' . $sql); $resql = $db->query($sql); if ($resql) { - $i = 0; $num = $db->num_rows($resql); - - while ( $i < $num ) { - $row = $db->fetch_row($resql); - + + while ($row = $db->fetch_row($resql)) { + print '' . $row[0] . ''; for($i = 1; $i <= 12; $i ++) { print '' . price($row[$i]) . ''; } print '' . price($row[13]) . ''; print ''; - $i ++; } $db->free($resql); } else { diff --git a/htdocs/accountancy/customer/list.php b/htdocs/accountancy/customer/list.php index 167f558d830..db73fe7e947 100644 --- a/htdocs/accountancy/customer/list.php +++ b/htdocs/accountancy/customer/list.php @@ -307,6 +307,7 @@ if ($result) { // Ref Invoice $facture_static->ref = $objp->facnumber; $facture_static->id = $objp->facid; + $facture_static->type = $objp->ftype; print '' . $facture_static->getNomUrl(1) . ''; // Ref Product $product_static->ref = $objp->product_ref; diff --git a/htdocs/accountancy/supplier/index.php b/htdocs/accountancy/supplier/index.php index 5e87985ce61..bbef2a6dcc0 100644 --- a/htdocs/accountancy/supplier/index.php +++ b/htdocs/accountancy/supplier/index.php @@ -41,7 +41,7 @@ if ($user->societe_id > 0) accessforbidden(); if (! $user->rights->accounting->ventilation->read) accessforbidden(); - + // Filter $year = $_GET["year"]; if ($year == 0) { @@ -55,17 +55,17 @@ if ($year == 0) { // Validate History $action = GETPOST('action'); if ($action == 'validatehistory') { - + $error = 0; $db->begin(); - + if ($db->type == 'pgsql') { - $sql1 = "UPDATE " . MAIN_DB_PREFIX . "facture_fourn_det as fd"; - $sql1 .= " SET fd.fk_code_ventilation = accnt.rowid"; + $sql1 = "UPDATE " . MAIN_DB_PREFIX . "facture_fourn_det"; + $sql1 .= " SET fk_code_ventilation = accnt.rowid"; $sql1 .= " FROM " . MAIN_DB_PREFIX . "product as p, " . MAIN_DB_PREFIX . "accounting_account as accnt , " . MAIN_DB_PREFIX . "accounting_system as syst"; - $sql1 .= " WHERE fd.fk_product = p.rowid AND accnt.fk_pcg_version = syst.pcg_version AND syst.rowid=" . $conf->global->CHARTOFACCOUNTS; + $sql1 .= " WHERE " . MAIN_DB_PREFIX . "facture_fourn_det.fk_product = p.rowid AND accnt.fk_pcg_version = syst.pcg_version AND syst.rowid=" . $conf->global->CHARTOFACCOUNTS; $sql1 .= " AND accnt.active = 1 AND p.accountancy_code_buy=accnt.account_number"; - $sql1 .= " AND fd.fk_code_ventilation = 0"; + $sql1 .= " AND " . MAIN_DB_PREFIX . "facture_fourn_det.fk_code_ventilation = 0"; } else { $sql1 = "UPDATE " . MAIN_DB_PREFIX . "facture_fourn_det as fd, " . MAIN_DB_PREFIX . "product as p, " . MAIN_DB_PREFIX . "accounting_account as accnt , " . MAIN_DB_PREFIX . "accounting_system as syst"; $sql1 .= " SET fd.fk_code_ventilation = accnt.rowid"; @@ -73,7 +73,7 @@ if ($action == 'validatehistory') { $sql1 .= " AND accnt.active = 1 AND p.accountancy_code_buy=accnt.account_number"; $sql1 .= " AND fd.fk_code_ventilation = 0"; } - + $resql1 = $db->query($sql1); if (! $resql1) { $error ++; @@ -86,7 +86,7 @@ if ($action == 'validatehistory') { } elseif ($action == 'fixaccountancycode') { $error = 0; $db->begin(); - + $sql1 = "UPDATE " . MAIN_DB_PREFIX . "facture_fourn_det as fd"; $sql1 .= " SET fd.fk_code_ventilation = 0"; $sql1 .= ' WHERE fd.fk_code_ventilation NOT IN '; @@ -94,9 +94,9 @@ if ($action == 'validatehistory') { $sql1 .= ' FROM ' . MAIN_DB_PREFIX . 'accounting_account as accnt'; $sql1 .= ' INNER JOIN ' . MAIN_DB_PREFIX . 'accounting_system as syst'; $sql1 .= ' ON accnt.fk_pcg_version = syst.pcg_version AND syst.rowid=' . $conf->global->CHARTOFACCOUNTS . ')'; - + dol_syslog("htdocs/accountancy/customer/index.php fixaccountancycode", LOG_DEBUG); - + $resql1 = $db->query($sql1); if (! $resql1) { $error ++; @@ -109,15 +109,15 @@ if ($action == 'validatehistory') { } elseif ($action == 'cleanaccountancycode') { $error = 0; $db->begin(); - + $sql1 = "UPDATE " . MAIN_DB_PREFIX . "facture_fourn_det as fd"; $sql1 .= " SET fd.fk_code_ventilation = 0"; $sql1 .= " WHERE fd.fk_facture_fourn IN ( SELECT f.rowid FROM " . MAIN_DB_PREFIX . "facture_fourn as f"; $sql1 .= " WHERE f.datef >= '" . $db->idate(dol_get_first_day($year_current, 1, false)) . "'"; $sql1 .= " AND f.datef <= '" . $db->idate(dol_get_last_day($year_current, 12, false)) . "')"; - + dol_syslog("htdocs/accountancy/customer/index.php fixaccountancycode", LOG_DEBUG); - + $resql1 = $db->query($sql1); if (! $resql1) { $error ++; @@ -154,35 +154,17 @@ $var = true; print ''; print ''; print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; +for($i = 1; $i <= 12; $i ++) { + print ''; +} print ''; -$sql = "SELECT IF(aa.account_number IS NULL, 'Non pointe', aa.account_number) AS 'code comptable',"; -$sql .= " IF(aa.label IS NULL, 'Non pointe', aa.label) AS 'Intitulé',"; -$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=1,ffd.total_ht,0)),2) AS 'Janvier',"; -$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=2,ffd.total_ht,0)),2) AS 'Fevrier',"; -$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=3,ffd.total_ht,0)),2) AS 'Mars',"; -$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=4,ffd.total_ht,0)),2) AS 'Avril',"; -$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=5,ffd.total_ht,0)),2) AS 'Mai',"; -$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=6,ffd.total_ht,0)),2) AS 'Juin',"; -$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=7,ffd.total_ht,0)),2) AS 'Juillet',"; -$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=8,ffd.total_ht,0)),2) AS 'Aout',"; -$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=9,ffd.total_ht,0)),2) AS 'Septembre',"; -$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=10,ffd.total_ht,0)),2) AS 'Octobre',"; -$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=11,ffd.total_ht,0)),2) AS 'Novembre',"; -$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=12,ffd.total_ht,0)),2) AS 'Decembre',"; -$sql .= " ROUND(SUM(ffd.total_ht),2) as 'Total'"; +$sql = "SELECT ".$db->ifsql('aa.account_number IS NULL', "'".$langs->trans('NotMatch')."'", 'aa.account_number') ." AS codecomptable,"; +$sql .= " " . $db->ifsql('aa.label IS NULL', "'".$langs->trans('NotMatch')."'", 'aa.label') . " AS intitule,"; +for($i = 1; $i <= 12; $i ++) { + $sql .= " SUM(" . $db->ifsql('MONTH(ff.datef)=' . $i, 'ffd.total_ht', '0') . ") AS month" . str_pad($i, 2, '0', STR_PAD_LEFT) . ","; +} +$sql .= " ROUND(SUM(ffd.total_ht),2) as total"; $sql .= " FROM " . MAIN_DB_PREFIX . "facture_fourn_det as ffd"; $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "facture_fourn as ff ON ff.rowid = ffd.fk_facture_fourn"; $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "accounting_account as aa ON aa.rowid = ffd.fk_code_ventilation"; @@ -194,31 +176,23 @@ if (! empty($conf->multicompany->enabled)) { $sql .= " AND ff.entity IN (" . getEntity("facture_fourn", 1) . ")"; } -$sql .= " GROUP BY ffd.fk_code_ventilation"; +$sql .= " GROUP BY ffd.fk_code_ventilation,aa.account_number,aa.label"; dol_syslog('/accountancy/supplier/index.php:: sql=' . $sql); $resql = $db->query($sql); if ($resql) { $i = 0; $num = $db->num_rows($resql); - + while ( $i < $num ) { - + $row = $db->fetch_row($resql); $var = ! $var; print ''; print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; + for($i = 2; $i <= 12; $i ++) { + print ''; + } print ''; print ''; print ''; @@ -233,34 +207,16 @@ print "
    ' . $langs->trans("Account") . '' . $langs->trans("Label") . '' . $langs->trans("JanuaryMin") . '' . $langs->trans("FebruaryMin") . '' . $langs->trans("MarchMin") . '' . $langs->trans("AprilMin") . '' . $langs->trans("MayMin") . '' . $langs->trans("JuneMin") . '' . $langs->trans("JulyMin") . '' . $langs->trans("AugustMin") . '' . $langs->trans("SeptemberMin") . '' . $langs->trans("OctoberMin") . '' . $langs->trans("NovemberMin") . '' . $langs->trans("DecemberMin") . '' . $langs->trans('MonthShort' . str_pad($i, 2, '0', STR_PAD_LEFT)) . '' . $langs->trans("Total") . '
    ' . length_accountg($row[0]) . '' . $row[1] . '' . price($row[2]) . '' . price($row[3]) . '' . price($row[4]) . '' . price($row[5]) . '' . price($row[6]) . '' . price($row[7]) . '' . price($row[8]) . '' . price($row[9]) . '' . price($row[10]) . '' . price($row[11]) . '' . price($row[12]) . '' . price($row[$i]) . '' . price($row[13]) . '' . price($row[14]) . '
    \n"; print "
    \n"; print ''; print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; +for($i = 1; $i <= 12; $i ++) { + print ''; +} print ''; -$sql = "SELECT '" . $langs->trans("CAHTF") . "' AS 'Total',"; -$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=1,ffd.total_ht,0)),2) AS 'Janvier',"; -$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=2,ffd.total_ht,0)),2) AS 'Fevrier',"; -$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=3,ffd.total_ht,0)),2) AS 'Mars',"; -$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=4,ffd.total_ht,0)),2) AS 'Avril',"; -$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=5,ffd.total_ht,0)),2) AS 'Mai',"; -$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=6,ffd.total_ht,0)),2) AS 'Juin',"; -$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=7,ffd.total_ht,0)),2) AS 'Juillet',"; -$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=8,ffd.total_ht,0)),2) AS 'Aout',"; -$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=9,ffd.total_ht,0)),2) AS 'Septembre',"; -$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=10,ffd.total_ht,0)),2) AS 'Octobre',"; -$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=11,ffd.total_ht,0)),2) AS 'Novembre',"; -$sql .= " ROUND(SUM(IF(MONTH(ff.datef)=12,ffd.total_ht,0)),2) AS 'Decembre',"; -$sql .= " ROUND(SUM(ffd.total_ht),2) as 'Total'"; +$sql = "SELECT '" . $langs->trans("CAHTF") . "' AS label,"; +for($i = 1; $i <= 12; $i ++) { + $sql .= " SUM(" . $db->ifsql('MONTH(ff.datef)=' . $i, 'ffd.total_ht', '0') . ") AS month" . str_pad($i, 2, '0', STR_PAD_LEFT) . ","; +} +$sql .= " ROUND(SUM(ffd.total_ht),2) as total"; $sql .= " FROM " . MAIN_DB_PREFIX . "facture_fourn_det as ffd"; $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "facture_fourn as ff ON ff.rowid = ffd.fk_facture_fourn"; $sql .= " WHERE ff.datef >= '" . $db->idate(dol_get_first_day($y, 1, false)) . "'"; @@ -276,29 +232,20 @@ $resql = $db->query($sql); if ($resql) { $i = 0; $num = $db->num_rows($resql); - + while ( $i < $num ) { $row = $db->fetch_row($resql); - + print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; + for($i = 1; $i <= 12; $i ++) { + print ''; + } print ''; print ''; - + $i ++; } - + $db->free($resql); } else { print $db->lasterror(); // Show last sql error diff --git a/htdocs/langs/en_US/accountancy.lang b/htdocs/langs/en_US/accountancy.lang index a663d683fe3..056466706a1 100644 --- a/htdocs/langs/en_US/accountancy.lang +++ b/htdocs/langs/en_US/accountancy.lang @@ -158,6 +158,8 @@ OptionModeProductSell=Mode sales OptionModeProductBuy=Mode purchases OptionModeProductSellDesc=Show all products with no accounting account defined for sales. OptionModeProductBuyDesc=Show all products with no accounting account defined for purchases. +CleanFixHistory=Remove accountancy code from lines that not exists into charts of account +CleanHistory=Reset all accountancy for selected year ## Dictionary Range=Range of accounting account From beadb19fea2844c9e5e55c0c227237514d5c7688 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Mon, 8 Aug 2016 15:31:06 +0200 Subject: [PATCH 282/476] fix list --- htdocs/accountancy/customer/index.php | 10 +++------- htdocs/accountancy/customer/list.php | 2 +- htdocs/accountancy/supplier/index.php | 12 +++--------- 3 files changed, 7 insertions(+), 17 deletions(-) diff --git a/htdocs/accountancy/customer/index.php b/htdocs/accountancy/customer/index.php index 9a4b1d2e2f0..4df2c68243a 100644 --- a/htdocs/accountancy/customer/index.php +++ b/htdocs/accountancy/customer/index.php @@ -196,11 +196,10 @@ $sql .= " GROUP BY fd.fk_code_ventilation,aa.account_number,aa.label"; dol_syslog("htdocs/accountancy/customer/index.php sql=" . $sql, LOG_DEBUG); $resql = $db->query($sql); if ($resql) { - $i = 0; $num = $db->num_rows($resql); - while ( $i < $num ) { - $row = $db->fetch_row($resql); + while ( $row = $db->fetch_row($resql)) { + $var = ! $var; print ''; print ''; @@ -210,7 +209,6 @@ if ($resql) { print ''; print ''; print ''; - $i ++; } $db->free($resql); } else { @@ -246,9 +244,7 @@ if ($resql) { $i = 0; $num = $db->num_rows($resql); - while ( $i < $num ) { - $row = $db->fetch_row($resql); - + while ($row = $db->fetch_row($resql)) { print ''; for($i = 1; $i <= 12; $i ++) { print ''; diff --git a/htdocs/accountancy/customer/list.php b/htdocs/accountancy/customer/list.php index db73fe7e947..0c1a4d1eb6b 100644 --- a/htdocs/accountancy/customer/list.php +++ b/htdocs/accountancy/customer/list.php @@ -185,7 +185,7 @@ $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "product as p ON p.rowid = l.fk_product $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "accounting_account as aa ON p.accountancy_code_sell = aa.account_number"; $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "accounting_system as accsys ON accsys.pcg_version = aa.fk_pcg_version"; $sql .= " WHERE f.fk_statut > 0"; -$sql .= " AND fk_code_ventilation <= 0"; +$sql .= " AND l.fk_code_ventilation <= 0"; $sql .= " AND product_type <= 2"; $sql .= " AND (accsys.rowid='" . $conf->global->CHARTOFACCOUNTS . "' OR p.accountancy_code_sell IS NULL OR p.accountancy_code_sell ='')"; diff --git a/htdocs/accountancy/supplier/index.php b/htdocs/accountancy/supplier/index.php index bbef2a6dcc0..9dd5bd1e1d7 100644 --- a/htdocs/accountancy/supplier/index.php +++ b/htdocs/accountancy/supplier/index.php @@ -181,12 +181,10 @@ $sql .= " GROUP BY ffd.fk_code_ventilation,aa.account_number,aa.label"; dol_syslog('/accountancy/supplier/index.php:: sql=' . $sql); $resql = $db->query($sql); if ($resql) { - $i = 0; $num = $db->num_rows($resql); - while ( $i < $num ) { + while ( $row = $db->fetch_row($resql)) { - $row = $db->fetch_row($resql); $var = ! $var; print ''; print ''; @@ -196,7 +194,6 @@ if ($resql) { print ''; print ''; print ''; - $i ++; } $db->free($resql); } else { @@ -230,11 +227,10 @@ if (! empty($conf->multicompany->enabled)) { dol_syslog('/accountancy/supplier/index.php:: sql=' . $sql); $resql = $db->query($sql); if ($resql) { - $i = 0; $num = $db->num_rows($resql); - while ( $i < $num ) { - $row = $db->fetch_row($resql); + while ( $row = $db->fetch_row($resql)) { + print ''; for($i = 1; $i <= 12; $i ++) { @@ -242,8 +238,6 @@ if ($resql) { } print ''; print ''; - - $i ++; } $db->free($resql); From 50a7046bd4820aadd875e5fbe9994fd0a8abfac1 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 8 Aug 2016 18:25:37 +0200 Subject: [PATCH 283/476] Fix edit of page in module website --- htdocs/websites/class/website.class.php | 2 +- htdocs/websites/index.php | 111 +++++++++++++++++++++--- 2 files changed, 101 insertions(+), 12 deletions(-) diff --git a/htdocs/websites/class/website.class.php b/htdocs/websites/class/website.class.php index a3760a792ce..e75cacf9100 100644 --- a/htdocs/websites/class/website.class.php +++ b/htdocs/websites/class/website.class.php @@ -392,7 +392,7 @@ class Website extends CommonObject $sql .= ' description = '.(isset($this->description)?"'".$this->db->escape($this->description)."'":"null").','; $sql .= ' status = '.(isset($this->status)?$this->status:"null").','; $sql .= ' fk_default_home = '.(($this->fk_default_home > 0)?$this->fk_default_home:"null").','; - $sql .= ' virtualhost = '.(($this->virtualhost != '')?$this->virtualhost:"null").','; + $sql .= ' virtualhost = '.(($this->virtualhost != '')?"'".$this->db->escape($this->virtualhost)."'":"null").','; $sql .= ' date_creation = '.(! isset($this->date_creation) || dol_strlen($this->date_creation) != 0 ? "'".$this->db->idate($this->date_creation)."'" : 'null').','; $sql .= ' date_modification = '.(! isset($this->date_modification) || dol_strlen($this->date_modification) != 0 ? "'".$this->db->idate($this->date_modification)."'" : 'null').','; $sql .= ' tms = '.(dol_strlen($this->tms) != 0 ? "'".$this->db->idate($this->tms)."'" : "'".$this->db->idate(dol_now())."'"); diff --git a/htdocs/websites/index.php b/htdocs/websites/index.php index b5eb5df1ef3..113e4531f04 100644 --- a/htdocs/websites/index.php +++ b/htdocs/websites/index.php @@ -125,6 +125,7 @@ global $dolibarr_main_data_root; $pathofwebsite=$dolibarr_main_data_root.'/websites/'.$website; $filecss=$pathofwebsite.'/styles.css.php'; $filetpl=$pathofwebsite.'/page'.$pageid.'.tpl.php'; +$fileindex=$pathofwebsite.'/index.php'; // Define $urlwithroot $urlwithouturlroot=preg_replace('/'.preg_quote(DOL_URL_ROOT,'/').'$/i','',trim($dolibarr_main_url_root)); @@ -279,13 +280,16 @@ if ($action == 'updatecss') $csscontent ='"."\n"; - $csscontent .= GETPOST('WEBSITE_CSS_INLINE'); + $csscontent.= GETPOST('WEBSITE_CSS_INLINE'); dol_mkdir($pathofwebsite); - file_put_contents($filecss, $csscontent); + $result = file_put_contents($filecss, $csscontent); if (! empty($conf->global->MAIN_UMASK)) @chmod($filecss, octdec($conf->global->MAIN_UMASK)); - + + if ($result) setEventMessages($langs->trans("Saved"), null, 'mesgs'); + else setEventMessages('Failed to write file '.$fileindex, null, 'errors'); + $action='preview'; } @@ -306,7 +310,23 @@ if ($action == 'setashome') if (! $error) { $db->commit(); - setEventMessages($langs->trans("Saved"), null, 'mesgs'); + + // Generate the index.php page to be the home page + //------------------------------------------------- + dol_mkdir($pathofwebsite); + dol_delete_file($fileindex); + + $indexcontent = ''."\n"; + $result = file_put_contents($fileindex, $indexcontent); + if (! empty($conf->global->MAIN_UMASK)) + @chmod($fileindex, octdec($conf->global->MAIN_UMASK)); + + if ($result) setEventMessages($langs->trans("Saved"), null, 'mesgs'); + else setEventMessages('Failed to write file '.$fileindex, null, 'errors'); + $action='preview'; } else @@ -326,6 +346,8 @@ if ($action == 'updatemeta') $res = $objectpage->fetch($pageid, $object->fk_website); if ($res > 0) { + $oldobjectpage = clone $objectpage; + $objectpage->pageurl = GETPOST('WEBSITE_PAGENAME'); $objectpage->title = GETPOST('WEBSITE_TITLE'); $objectpage->description = GETPOST('WEBSITE_DESCRIPTION'); @@ -341,7 +363,61 @@ if ($action == 'updatemeta') if (! $error) { $db->commit(); - setEventMessages($langs->trans("Saved"), null, 'mesgs'); + + $fileoldalias=$pathofwebsite.'/'.$oldobjectpage->pageurl.'.php'; + $filealias=$pathofwebsite.'/'.$objectpage->pageurl.'.php'; + + // Generate the alias.php page + //----------------------------- + dol_mkdir($pathofwebsite); + dol_delete_file($fileoldalias); + + $aliascontent = 'id.".tpl.php'\n"; + $aliascontent.= '?>'."\n"; + $result = file_put_contents($filealias, $aliascontent); + if (! empty($conf->global->MAIN_UMASK)) + @chmod($filealias, octdec($conf->global->MAIN_UMASK)); + + if ($result) setEventMessages($langs->trans("Saved"), null, 'mesgs'); + else setEventMessages('Failed to write file '.$filealias, null, 'errors'); + + + + // Now create the .tpl file (duplicate code with actions updatecontent but we need this to save new header) + dol_mkdir($pathofwebsite); + dol_delete_file($filetpl); + + $tplcontent = ''."\n"; + $tplcontent.= '
    '."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''.dol_escape_htmltag($objectpage->title).''."\n"; + $tplcontent.= '
    '."\n"; + + $tplcontent.= ''."\n"; + $tplcontent.= $objectpage->content."\n"; + $tplcontent.= ''."\n"; + //var_dump($filetpl);exit; + $result = file_put_contents($filetpl, $tplcontent); + if (! empty($conf->global->MAIN_UMASK)) + @chmod($filetpl, octdec($conf->global->MAIN_UMASK)); + + if ($result) + { + //setEventMessages($langs->trans("Saved"), null, 'mesgs'); + //header("Location: ".$_SERVER["PHP_SELF"].'?website='.$website.'&pageid='.$pageid); + //exit; + } + else setEventMessages('Failed to write file '.$filetpl, null, 'errors'); + $action='preview'; } else @@ -384,25 +460,38 @@ if ($action == 'updatecontent') $db->commit(); // Now create the .tpl file + // TODO Keep a one time generate file or include a dynamicaly generated content ? dol_mkdir($pathofwebsite); dol_delete_file($filetpl); $tplcontent = ''."\n"; $tplcontent.= '
    '."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''."\n"; $tplcontent.= ''."\n"; + $tplcontent.= ''.dol_escape_htmltag($objectpage->title).''."\n"; $tplcontent.= '
    '."\n"; + $tplcontent.= ''."\n"; $tplcontent.= $objectpage->content."\n"; $tplcontent.= ''."\n"; -//var_dump($filetpl);exit; + //var_dump($filetpl);exit; $result = file_put_contents($filetpl, $tplcontent); if (! empty($conf->global->MAIN_UMASK)) @chmod($filetpl, octdec($conf->global->MAIN_UMASK)); - - setEventMessages($langs->trans("Saved"), null, 'mesgs'); - - header("Location: ".$_SERVER["PHP_SELF"].'?website='.$website.'&pageid='.$pageid); - exit; + + if ($result) + { + setEventMessages($langs->trans("Saved"), null, 'mesgs'); + header("Location: ".$_SERVER["PHP_SELF"].'?website='.$website.'&pageid='.$pageid); + exit; + } + else setEventMessages('Failed to write file '.$filetpl, null, 'errors'); } else { From fb3f6972ebc1542dba768565353f33c19a96da7c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 8 Aug 2016 14:21:43 +0200 Subject: [PATCH 284/476] Work on module website Conflicts: htdocs/websites/index.php --- htdocs/public/websites/index.php | 12 ++- htdocs/public/websites/styles.css.php | 139 ++++++++++++++++++++++++++ htdocs/websites/index.php | 53 +++++++--- 3 files changed, 186 insertions(+), 18 deletions(-) create mode 100644 htdocs/public/websites/styles.css.php diff --git a/htdocs/public/websites/index.php b/htdocs/public/websites/index.php index 4625bc1573a..8c83a1daebc 100644 --- a/htdocs/public/websites/index.php +++ b/htdocs/public/websites/index.php @@ -17,8 +17,8 @@ /** * \file htdocs/public/websites/index.php - * \ingroup core - * \brief A redirect page to an error + * \ingroup website + * \brief Page to output pages * \author Laurent Destailleur */ @@ -90,14 +90,14 @@ if (empty($pageid)) // Security: Delete string ../ into $original_file global $dolibarr_main_data_root; -if ($pageid == 'css') +if ($pageid == 'css') // No more used ? { header('Content-type: text/css'); // Important: Following code is to avoid page request by browser and PHP CPU at each Dolibarr page access. //if (empty($dolibarr_nocache)) header('Cache-Control: max-age=3600, public, must-revalidate'); //else header('Cache-Control: no-cache'); - $original_file=$dolibarr_main_data_root.'/websites/'.$website.'/styles.css'; + $original_file=$dolibarr_main_data_root.'/websites/'.$website.'/styles.css.php'; } else { @@ -142,7 +142,11 @@ if (! file_exists($original_file_osencoded)) exit; } + +// Output page content +print "\n".''."\n"; include_once $original_file_osencoded; + if (is_object($db)) $db->close(); diff --git a/htdocs/public/websites/styles.css.php b/htdocs/public/websites/styles.css.php new file mode 100644 index 00000000000..5a736affc25 --- /dev/null +++ b/htdocs/public/websites/styles.css.php @@ -0,0 +1,139 @@ + + * + * 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 . + */ + +/** + * \file htdocs/public/websites/styles.css.php + * \ingroup website + * \brief Page to output style page + * \author Laurent Destailleur + */ + +define('NOTOKENRENEWAL',1); // Disables token renewal +define("NOLOGIN",1); +define("NOCSRFCHECK",1); // We accept to go on this page from external web site. +if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU','1'); +if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML','1'); +if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1'); + +/** + * Header empty + * + * @return void + */ +function llxHeader() { } +/** + * Footer empty + * + * @return void + */ +function llxFooter() { } + +require '../../master.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + + +$error=0; +$website=GETPOST('website', 'alpha'); +$pageid=GETPOST('page', 'alpha')?GETPOST('page', 'alpha'):GETPOST('pageid', 'alpha'); + +$accessallowed = 1; +$type=''; + + +/* + * View + */ + +$appli=constant('DOL_APPLICATION_TITLE'); +if (!empty($conf->global->MAIN_APPLICATION_TITLE)) $appli=$conf->global->MAIN_APPLICATION_TITLE; + +//print 'Directory with '.$appli.' websites.
    '; + +if (empty($pageid)) +{ + require_once DOL_DOCUMENT_ROOT.'/websites/class/website.class.php'; + require_once DOL_DOCUMENT_ROOT.'/websites/class/websitepage.class.php'; + + $object=new Website($db); + $object->fetch(0, $website); + + $objectpage=new WebsitePage($db); + $array=$objectpage->fetchAll($object->id); + + if (count($array) > 0) + { + $firstrep=reset($array); + $pageid=$firstrep->id; + } +} +if (empty($pageid)) +{ + $langs->load("website"); + print $langs->trans("PreviewOfSiteNotYetAvailable"); + exit; +} + +// Security: Delete string ../ into $original_file +global $dolibarr_main_data_root; + +$original_file=$dolibarr_main_data_root.'/websites/'.$website.'/styles.css.php'; + +// Find the subdirectory name as the reference +$refname=basename(dirname($original_file)."/"); + +// Security: +// Limite acces si droits non corrects +if (! $accessallowed) +{ + accessforbidden(); +} + +// Security: +// On interdit les remontees de repertoire ainsi que les pipe dans +// les noms de fichiers. +if (preg_match('/\.\./',$original_file) || preg_match('/[<>|]/',$original_file)) +{ + dol_syslog("Refused to deliver file ".$original_file); + $file=basename($original_file); // Do no show plain path of original_file in shown error message + dol_print_error(0,$langs->trans("ErrorFileNameInvalid",$file)); + exit; +} + +clearstatcache(); + +$filename = basename($original_file); + +// Output file on browser +dol_syslog("styles.css.php include $original_file $filename content-type=$type"); +$original_file_osencoded=dol_osencode($original_file); // New file name encoded in OS encoding charset + +// This test if file exists should be useless. We keep it to find bug more easily +if (! file_exists($original_file_osencoded)) +{ + $langs->load("website"); + print $langs->trans("RequestedPageHasNoContentYet", $pageid); + //dol_print_error(0,$langs->trans("ErrorFileDoesNotExists",$original_file)); + exit; +} + + +// Output page content +require_once $original_file_osencoded; + + +if (is_object($db)) $db->close(); + diff --git a/htdocs/websites/index.php b/htdocs/websites/index.php index 19f72486c3f..8fdd09c30ae 100644 --- a/htdocs/websites/index.php +++ b/htdocs/websites/index.php @@ -123,7 +123,7 @@ if ($pageid > 0 && $action != 'add') global $dolibarr_main_data_root; $pathofwebsite=$dolibarr_main_data_root.'/websites/'.$website; -$filecss=$pathofwebsite.'/styles.css'; +$filecss=$pathofwebsite.'/styles.css.php'; $filetpl=$pathofwebsite.'/page'.$pageid.'.tpl.php'; // Define $urlwithroot @@ -276,7 +276,10 @@ if ($action == 'updatecss') $db->rollback(); }*/ - $csscontent = GETPOST('WEBSITE_CSS_INLINE'); + $csscontent ='"."\n"; + $csscontent .= GETPOST('WEBSITE_CSS_INLINE'); dol_mkdir($pathofwebsite); file_put_contents($filecss, $csscontent); @@ -379,15 +382,26 @@ if ($action == 'updatecontent') if (! $error) { $db->commit(); - setEventMessages($langs->trans("Saved"), null, 'mesgs'); + // Now create the .tpl file dol_mkdir($pathofwebsite); dol_delete_file($filetpl); - file_put_contents($filetpl, $objectpage->content); + + $tplcontent = ''."\n"; + $tplcontent.= '
    '."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= '
    '."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= $objectpage->content."\n"; + $tplcontent.= ''."\n"; +//var_dump($filetpl);exit; + $result = file_put_contents($filetpl, $tplcontent); if (! empty($conf->global->MAIN_UMASK)) @chmod($filetpl, octdec($conf->global->MAIN_UMASK)); - - header("Location: ".$_SERVER["PHP_SELF"].'?website='.$website.'&pageid='.$pageid); + + setEventMessages($langs->trans("Saved"), null, 'mesgs'); + + header("Location: ".$_SERVER["PHP_SELF"].'?website='.$website.'&pageid='.$pageid); exit; } else @@ -555,16 +569,17 @@ if (count($object->records) > 0) else $out.=''; $out.=''; print $out; - print ''; - print ''; + + print ''; //print $form->selectarray('page', $array); if ($website && $pageid > 0) { print ' - '.$langs->trans("RealURL").' '; $realurl=$urlwithroot.'/public/websites/index.php?website='.$website.'&page='.$pageid; - print ' '; - print ''.$langs->trans("ViewPageInNewTab").''; + print ' '; + print ''.$langs->trans("ViewPageInNewTab").''; // View page in new Tab + //print ''; } print ''; @@ -586,14 +601,15 @@ if (count($object->records) > 0) print ''; //print ''.dol_escape_htmltag($langs->trans("EditPageMeta")).''; //print ''.dol_escape_htmltag($langs->trans("EditPageContent")).''; + print ''; } } if (! in_array($action, array('editcss','editmenu','create'))) { if ($action != 'preview') print ''; - if (preg_match('/^create/',$action)) print ''; - if (preg_match('/^edit/',$action)) print ''; + if (preg_match('/^create/',$action)) print ''; + if (preg_match('/^edit/',$action)) print ''; } print ''; @@ -735,8 +751,17 @@ if ($action == 'editcontent') /* * Editing global variables not related to a specific theme */ + + $csscontent = @file_get_contents($filecss); + + $contentforedit = ''; + /*$contentforedit.=''."\n";*/ + $contentforedit .= $objectpage->content; + require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; - $doleditor=new DolEditor('PAGE_CONTENT',$objectpage->content,'',500,'Full','',true,true,true,5,60); + $doleditor=new DolEditor('PAGE_CONTENT',$contentforedit,'',500,'Full','',true,true,true,5,60); $doleditor->Create(); } @@ -750,7 +775,7 @@ if ($action == 'preview') { $objectpage->fetch($pageid); - print "\n".''."\n"; + print "\n".''."\n"; $csscontent = @file_get_contents($filecss); From 54b47d7f4f2be3de625234830c0d15d9fe5877ab Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 8 Aug 2016 18:25:37 +0200 Subject: [PATCH 285/476] Fix edit of page in module website Conflicts: htdocs/websites/class/website.class.php --- htdocs/install/mysql/tables/llx_website.sql | 1 + htdocs/websites/class/website.class.php | 1 + htdocs/websites/index.php | 111 ++++++++++++++++++-- 3 files changed, 102 insertions(+), 11 deletions(-) diff --git a/htdocs/install/mysql/tables/llx_website.sql b/htdocs/install/mysql/tables/llx_website.sql index 8dd257ffa69..331e6b085bd 100644 --- a/htdocs/install/mysql/tables/llx_website.sql +++ b/htdocs/install/mysql/tables/llx_website.sql @@ -25,6 +25,7 @@ CREATE TABLE llx_website description varchar(255), status integer, fk_default_home integer, + virtualhost varchar(255), date_creation datetime, date_modification datetime, tms timestamp diff --git a/htdocs/websites/class/website.class.php b/htdocs/websites/class/website.class.php index e87e830bb77..b7c8f02d20c 100644 --- a/htdocs/websites/class/website.class.php +++ b/htdocs/websites/class/website.class.php @@ -380,6 +380,7 @@ class Website extends CommonObject $sql .= ' description = '.(isset($this->description)?"'".$this->db->escape($this->description)."'":"null").','; $sql .= ' status = '.(isset($this->status)?$this->status:"null").','; $sql .= ' fk_default_home = '.(($this->fk_default_home > 0)?$this->fk_default_home:"null").','; + $sql .= ' virtualhost = '.(($this->virtualhost != '')?"'".$this->db->escape($this->virtualhost)."'":"null").','; $sql .= ' date_creation = '.(! isset($this->date_creation) || dol_strlen($this->date_creation) != 0 ? "'".$this->db->idate($this->date_creation)."'" : 'null').','; $sql .= ' date_modification = '.(! isset($this->date_modification) || dol_strlen($this->date_modification) != 0 ? "'".$this->db->idate($this->date_modification)."'" : 'null').','; $sql .= ' tms = '.(dol_strlen($this->tms) != 0 ? "'".$this->db->idate($this->tms)."'" : "'".$this->db->idate(dol_now())."'"); diff --git a/htdocs/websites/index.php b/htdocs/websites/index.php index 8fdd09c30ae..16bdd23d4ce 100644 --- a/htdocs/websites/index.php +++ b/htdocs/websites/index.php @@ -125,6 +125,7 @@ global $dolibarr_main_data_root; $pathofwebsite=$dolibarr_main_data_root.'/websites/'.$website; $filecss=$pathofwebsite.'/styles.css.php'; $filetpl=$pathofwebsite.'/page'.$pageid.'.tpl.php'; +$fileindex=$pathofwebsite.'/index.php'; // Define $urlwithroot $urlwithouturlroot=preg_replace('/'.preg_quote(DOL_URL_ROOT,'/').'$/i','',trim($dolibarr_main_url_root)); @@ -279,13 +280,16 @@ if ($action == 'updatecss') $csscontent ='"."\n"; - $csscontent .= GETPOST('WEBSITE_CSS_INLINE'); + $csscontent.= GETPOST('WEBSITE_CSS_INLINE'); dol_mkdir($pathofwebsite); - file_put_contents($filecss, $csscontent); + $result = file_put_contents($filecss, $csscontent); if (! empty($conf->global->MAIN_UMASK)) @chmod($filecss, octdec($conf->global->MAIN_UMASK)); - + + if ($result) setEventMessages($langs->trans("Saved"), null, 'mesgs'); + else setEventMessages('Failed to write file '.$fileindex, null, 'errors'); + $action='preview'; } @@ -306,7 +310,23 @@ if ($action == 'setashome') if (! $error) { $db->commit(); - setEventMessages($langs->trans("Saved"), null, 'mesgs'); + + // Generate the index.php page to be the home page + //------------------------------------------------- + dol_mkdir($pathofwebsite); + dol_delete_file($fileindex); + + $indexcontent = ''."\n"; + $result = file_put_contents($fileindex, $indexcontent); + if (! empty($conf->global->MAIN_UMASK)) + @chmod($fileindex, octdec($conf->global->MAIN_UMASK)); + + if ($result) setEventMessages($langs->trans("Saved"), null, 'mesgs'); + else setEventMessages('Failed to write file '.$fileindex, null, 'errors'); + $action='preview'; } else @@ -326,6 +346,8 @@ if ($action == 'updatemeta') $res = $objectpage->fetch($pageid, $object->fk_website); if ($res > 0) { + $oldobjectpage = clone $objectpage; + $objectpage->pageurl = GETPOST('WEBSITE_PAGENAME'); $objectpage->title = GETPOST('WEBSITE_TITLE'); $objectpage->description = GETPOST('WEBSITE_DESCRIPTION'); @@ -341,7 +363,61 @@ if ($action == 'updatemeta') if (! $error) { $db->commit(); - setEventMessages($langs->trans("Saved"), null, 'mesgs'); + + $fileoldalias=$pathofwebsite.'/'.$oldobjectpage->pageurl.'.php'; + $filealias=$pathofwebsite.'/'.$objectpage->pageurl.'.php'; + + // Generate the alias.php page + //----------------------------- + dol_mkdir($pathofwebsite); + dol_delete_file($fileoldalias); + + $aliascontent = 'id.".tpl.php'\n"; + $aliascontent.= '?>'."\n"; + $result = file_put_contents($filealias, $aliascontent); + if (! empty($conf->global->MAIN_UMASK)) + @chmod($filealias, octdec($conf->global->MAIN_UMASK)); + + if ($result) setEventMessages($langs->trans("Saved"), null, 'mesgs'); + else setEventMessages('Failed to write file '.$filealias, null, 'errors'); + + + + // Now create the .tpl file (duplicate code with actions updatecontent but we need this to save new header) + dol_mkdir($pathofwebsite); + dol_delete_file($filetpl); + + $tplcontent = ''."\n"; + $tplcontent.= '
    '."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''.dol_escape_htmltag($objectpage->title).''."\n"; + $tplcontent.= '
    '."\n"; + + $tplcontent.= ''."\n"; + $tplcontent.= $objectpage->content."\n"; + $tplcontent.= ''."\n"; + //var_dump($filetpl);exit; + $result = file_put_contents($filetpl, $tplcontent); + if (! empty($conf->global->MAIN_UMASK)) + @chmod($filetpl, octdec($conf->global->MAIN_UMASK)); + + if ($result) + { + //setEventMessages($langs->trans("Saved"), null, 'mesgs'); + //header("Location: ".$_SERVER["PHP_SELF"].'?website='.$website.'&pageid='.$pageid); + //exit; + } + else setEventMessages('Failed to write file '.$filetpl, null, 'errors'); + $action='preview'; } else @@ -384,25 +460,38 @@ if ($action == 'updatecontent') $db->commit(); // Now create the .tpl file + // TODO Keep a one time generate file or include a dynamicaly generated content ? dol_mkdir($pathofwebsite); dol_delete_file($filetpl); $tplcontent = ''."\n"; $tplcontent.= '
    '."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''."\n"; + $tplcontent.= ''."\n"; $tplcontent.= ''."\n"; + $tplcontent.= ''.dol_escape_htmltag($objectpage->title).''."\n"; $tplcontent.= '
    '."\n"; + $tplcontent.= ''."\n"; $tplcontent.= $objectpage->content."\n"; $tplcontent.= ''."\n"; -//var_dump($filetpl);exit; + //var_dump($filetpl);exit; $result = file_put_contents($filetpl, $tplcontent); if (! empty($conf->global->MAIN_UMASK)) @chmod($filetpl, octdec($conf->global->MAIN_UMASK)); - - setEventMessages($langs->trans("Saved"), null, 'mesgs'); - - header("Location: ".$_SERVER["PHP_SELF"].'?website='.$website.'&pageid='.$pageid); - exit; + + if ($result) + { + setEventMessages($langs->trans("Saved"), null, 'mesgs'); + header("Location: ".$_SERVER["PHP_SELF"].'?website='.$website.'&pageid='.$pageid); + exit; + } + else setEventMessages('Failed to write file '.$filetpl, null, 'errors'); } else { From 2133b1c3b53fcfb121439ff7949924ec3d2cd4a0 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 8 Aug 2016 20:31:03 +0200 Subject: [PATCH 286/476] NEW Table with list of lots/serial can be viewed (module product batch). --- dev/skeletons/skeleton_list.php | 12 +- htdocs/core/menus/init_menu_auguria.sql | 5 +- htdocs/core/menus/standard/eldy.lib.php | 3 +- htdocs/core/modules/modStock.class.php | 2 +- htdocs/fourn/commande/dispatch.php | 8 +- htdocs/langs/en_US/main.lang | 4 + htdocs/langs/en_US/productbatch.lang | 4 +- htdocs/langs/en_US/products.lang | 4 +- htdocs/langs/en_US/stocks.lang | 3 + htdocs/product/reassort.php | 2 +- htdocs/product/reassortlot.php | 4 +- htdocs/product/stats/card.php | 1 + htdocs/product/stock/index.php | 4 +- htdocs/product/stock/mouvement.php | 4 +- htdocs/product/stock/product.php | 4 +- htdocs/product/stock/productlot_card.php | 2 +- htdocs/product/stock/productlot_list.php | 335 +++++++++++------- .../product/stock/tpl/stockcorrection.tpl.php | 4 +- .../product/stock/tpl/stocktransfer.tpl.php | 4 +- 19 files changed, 251 insertions(+), 158 deletions(-) diff --git a/dev/skeletons/skeleton_list.php b/dev/skeletons/skeleton_list.php index b53231e24a0..5058e4a7d5a 100644 --- a/dev/skeletons/skeleton_list.php +++ b/dev/skeletons/skeleton_list.php @@ -103,7 +103,7 @@ $arrayfields=array( 't.field1'=>array('label'=>$langs->trans("Field1"), 'checked'=>1), 't.field2'=>array('label'=>$langs->trans("Field2"), 'checked'=>1), //'t.entity'=>array('label'=>$langs->trans("Entity"), 'checked'=>1, 'enabled'=>(! empty($conf->multicompany->enabled) && empty($conf->multicompany->transverse_mode))), - 't.datec'=>array('label'=>$langs->trans("DateCreation"), 'checked'=>0, 'position'=>500), + 't.datec'=>array('label'=>$langs->trans("DateCreationShort"), 'checked'=>0, 'position'=>500), 't.tms'=>array('label'=>$langs->trans("DateModificationShort"), 'checked'=>0, 'position'=>500), //'t.statut'=>array('label'=>$langs->trans("Status"), 'checked'=>1, 'position'=>1000), ); @@ -179,10 +179,10 @@ $form=new Form($db); //$help_url="EN:Module_Customers_Orders|FR:Module_Commandes_Clients|ES:Módulo_Pedidos_de_clientes"; $help_url=''; -llxHeader('','MyPageName',$help_url); +$title = $langs->trans('MyModuleListTitle'); +llxHeader('', $title, $help_url); // Put here content of your page -$title = $langs->trans('MyModuleListTitle'); // Example : Adding jquery code print '' . "\n"; } From 15a40f64018423a00982399c004e61dfa3d8d0ee Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 11 Aug 2016 15:50:18 +0200 Subject: [PATCH 324/476] Fix default value of entity --- htdocs/install/mysql/migration/3.9.0-4.0.0.sql | 8 ++++---- htdocs/install/mysql/tables/llx_oauth_state.sql | 2 +- htdocs/install/mysql/tables/llx_oauth_token.sql | 2 +- htdocs/install/mysql/tables/llx_product_lot.sql | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/htdocs/install/mysql/migration/3.9.0-4.0.0.sql b/htdocs/install/mysql/migration/3.9.0-4.0.0.sql index 1309c1dc225..a9ce468a14c 100644 --- a/htdocs/install/mysql/migration/3.9.0-4.0.0.sql +++ b/htdocs/install/mysql/migration/3.9.0-4.0.0.sql @@ -47,7 +47,7 @@ DELETE FROM llx_user_param where param = 'MAIN_THEME' and value in ('auguria', ' -- DROP TABLE llx_product_lot; CREATE TABLE llx_product_lot ( rowid integer AUTO_INCREMENT PRIMARY KEY, - entity integer, + entity integer DEFAULT 1, fk_product integer NOT NULL, -- Id of product batch varchar(30) DEFAULT NULL, -- Lot or serial number eatby date DEFAULT NULL, -- Eatby date @@ -198,7 +198,7 @@ ALTER TABLE llx_extrafields ADD COLUMN ishidden integer DEFAULT 0; ALTER TABLE llx_paiementfourn ADD COLUMN ref varchar(30) AFTER rowid; -ALTER TABLE llx_paiementfourn ADD COLUMN entity integer AFTER ref; +ALTER TABLE llx_paiementfourn ADD COLUMN entity integer DEFAULT 1 AFTER ref; CREATE TABLE llx_multicurrency @@ -499,7 +499,7 @@ CREATE TABLE llx_oauth_token ( token text, fk_user integer, fk_adherent integer, - entity integer + entity integer DEFAULT 1 )ENGINE=InnoDB; CREATE TABLE llx_oauth_state ( @@ -508,7 +508,7 @@ CREATE TABLE llx_oauth_state ( state varchar(128), fk_user integer, fk_adherent integer, - entity integer + entity integer DEFAuLT 1 )ENGINE=InnoDB; -- At end (higher risk of error) diff --git a/htdocs/install/mysql/tables/llx_oauth_state.sql b/htdocs/install/mysql/tables/llx_oauth_state.sql index 92cae17ef07..bab41e95f13 100644 --- a/htdocs/install/mysql/tables/llx_oauth_state.sql +++ b/htdocs/install/mysql/tables/llx_oauth_state.sql @@ -21,5 +21,5 @@ CREATE TABLE llx_oauth_state ( state varchar(128), fk_user integer, fk_adherent integer, - entity integer + entity integer DEFAULT 1 )ENGINE=InnoDB; \ No newline at end of file diff --git a/htdocs/install/mysql/tables/llx_oauth_token.sql b/htdocs/install/mysql/tables/llx_oauth_token.sql index 5dd5cd0507f..0ae4fed1ea8 100644 --- a/htdocs/install/mysql/tables/llx_oauth_token.sql +++ b/htdocs/install/mysql/tables/llx_oauth_token.sql @@ -21,5 +21,5 @@ CREATE TABLE llx_oauth_token ( token text, fk_user integer, fk_adherent integer, - entity integer + entity integer DEFAULT 1 )ENGINE=InnoDB; \ No newline at end of file diff --git a/htdocs/install/mysql/tables/llx_product_lot.sql b/htdocs/install/mysql/tables/llx_product_lot.sql index 498b6039977..3cf10b893ce 100644 --- a/htdocs/install/mysql/tables/llx_product_lot.sql +++ b/htdocs/install/mysql/tables/llx_product_lot.sql @@ -19,7 +19,7 @@ CREATE TABLE llx_product_lot ( rowid integer AUTO_INCREMENT PRIMARY KEY, - entity integer, + entity integer DEFAULT 1, fk_product integer NOT NULL, -- Id of product batch varchar(30) DEFAULT NULL, -- Lot or serial number eatby date DEFAULT NULL, -- Eatby date From f674b249450b07a3e6bdfbcb820c6cbc98510548 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 11 Aug 2016 17:23:42 +0200 Subject: [PATCH 325/476] Fix look and feel --- htdocs/compta/payment_sc/card.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/htdocs/compta/payment_sc/card.php b/htdocs/compta/payment_sc/card.php index ad59687b43c..aa0c89aa3ba 100644 --- a/htdocs/compta/payment_sc/card.php +++ b/htdocs/compta/payment_sc/card.php @@ -162,25 +162,25 @@ if ($action == 'valide') print '
    ' . $langs->trans("Total") . '' . $langs->trans("JanuaryMin") . '' . $langs->trans("FebruaryMin") . '' . $langs->trans("MarchMin") . '' . $langs->trans("AprilMin") . '' . $langs->trans("MayMin") . '' . $langs->trans("JuneMin") . '' . $langs->trans("JulyMin") . '' . $langs->trans("AugustMin") . '' . $langs->trans("SeptemberMin") . '' . $langs->trans("OctoberMin") . '' . $langs->trans("NovemberMin") . '' . $langs->trans("DecemberMin") . '' . $langs->trans('MonthShort' . str_pad($i, 2, '0', STR_PAD_LEFT)) . '' . $langs->trans("Total") . '
    ' . $row[0] . '' . $row[1] . '' . price($row[2]) . '' . price($row[3]) . '' . price($row[4]) . '' . price($row[5]) . '' . price($row[6]) . '' . price($row[7]) . '' . price($row[8]) . '' . price($row[9]) . '' . price($row[10]) . '' . price($row[11]) . '' . price($row[12]) . '' . price($row[$i]) . '' . price($row[13]) . '
    ' . length_accountg($row[0]) . '' . $row[1] . '' . price($row[13]) . '' . price($row[14]) . '
    ' . $row[0] . '' . price($row[$i]) . '
    ' . length_accountg($row[0]) . '' . $row[1] . '' . price($row[13]) . '' . price($row[14]) . '
    ' . $row[0] . '' . price($row[13]) . '
    '; // Ref -print ''; +print ''; print ''; // Date -print ''; +print ''; // Mode -print ''; +print ''; // Numero -print ''; +print ''; // Montant -print ''; +print ''; // Note -print ''; +print ''; // Bank account if (! empty($conf->banque->enabled)) @@ -278,7 +278,7 @@ else dol_print_error($db); } -print ''; +dol_fiche_end(); /* From 7cc7ac54856f0886831f78a1a005404313b0651d Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 11 Aug 2016 17:41:09 +0200 Subject: [PATCH 326/476] Fix translation --- htdocs/core/modules/printing/printgcp.modules.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/core/modules/printing/printgcp.modules.php b/htdocs/core/modules/printing/printgcp.modules.php index 27b0e0f779c..f0e12f33610 100644 --- a/htdocs/core/modules/printing/printgcp.modules.php +++ b/htdocs/core/modules/printing/printgcp.modules.php @@ -57,7 +57,7 @@ class printing_printgcp extends PrintingDriver */ function __construct($db) { - global $conf, $dolibarr_main_url_root; + global $conf, $langs, $dolibarr_main_url_root; // Define $urlwithroot $urlwithouturlroot=preg_replace('/'.preg_quote(DOL_URL_ROOT,'/').'$/i','',trim($dolibarr_main_url_root)); @@ -66,7 +66,7 @@ class printing_printgcp extends PrintingDriver $this->db = $db; if (!$conf->oauth->enabled) { - $this->conf[] = array('varname'=>'PRINTGCP_INFO', 'info'=>'ModuleAuthNotActive', 'type'=>'info'); + $this->conf[] = array('varname'=>'PRINTGCP_INFO', 'info'=>$langs->transnoentitiesnoconv("WarningModuleNotActive", "OAuth"), 'type'=>'info'); } else { $this->google_id = $conf->global->OAUTH_GOOGLE_ID; From 4df9af1ba0325d2beb7d1615e91580f17dea9add Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 11 Aug 2016 18:18:03 +0200 Subject: [PATCH 327/476] Fix several errors with bank account module enabled on sale tax edition --- htdocs/compta/paiement/list.php | 39 +++++++++++++++++---------- htdocs/compta/tva/card.php | 26 +++++++++--------- htdocs/compta/tva/reglement.php | 47 ++++++++++++++++++++++++++++----- 3 files changed, 79 insertions(+), 33 deletions(-) diff --git a/htdocs/compta/paiement/list.php b/htdocs/compta/paiement/list.php index e230d91e6ae..17882e76a6a 100644 --- a/htdocs/compta/paiement/list.php +++ b/htdocs/compta/paiement/list.php @@ -229,7 +229,10 @@ if ($resql) print_liste_field_titre($langs->trans("ThirdParty"),$_SERVER["PHP_SELF"],"s.nom","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"c.libelle","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("Numero"),$_SERVER["PHP_SELF"],"p.num_paiement","",$param,"",$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Account"),$_SERVER["PHP_SELF"],"ba.label","",$param,"",$sortfield,$sortorder); + if (! empty($conf->banque->enabled)) + { + print_liste_field_titre($langs->trans("Account"),$_SERVER["PHP_SELF"],"ba.label","",$param,"",$sortfield,$sortorder); + } print_liste_field_titre($langs->trans("Amount"),$_SERVER["PHP_SELF"],"p.amount","",$param,'align="right"',$sortfield,$sortorder); //print_liste_field_titre($langs->trans("Invoices"),"","","",$param,'align="left"',$sortfield,$sortorder); @@ -260,9 +263,12 @@ if ($resql) print ''; - print ''; + if (! empty($conf->banque->enabled)) + { + print ''; + } print ''; @@ -309,16 +315,21 @@ if ($resql) // Payment number print ''; - - print ''; + + // Account + if (! empty($conf->banque->enabled)) + { + print ''; + } + // Amount print ''; if (! empty($conf->global->BILL_ADD_PAYMENT_VALIDATION)) diff --git a/htdocs/compta/tva/card.php b/htdocs/compta/tva/card.php index eb887054151..fb2edc5c4d1 100644 --- a/htdocs/compta/tva/card.php +++ b/htdocs/compta/tva/card.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004-2013 Laurent Destailleur + * Copyright (C) 2004-2016 Laurent Destailleur * Copyright (C) 2005-2013 Regis Houssin * Copyright (C) 2015 Alexandre Spangaro * @@ -266,19 +266,19 @@ if ($action == 'create') print ''; + } - // Type payment - print '\n"; - print ""; - - // Number - print ''."\n"; - } - + // Type payment + print '\n"; + print ""; + + // Number + print ''."\n"; + // Other attributes $parameters=array('colspan' => ' colspan="1"'); $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook diff --git a/htdocs/compta/tva/reglement.php b/htdocs/compta/tva/reglement.php index 5484be65a32..9fbf0f978ee 100644 --- a/htdocs/compta/tva/reglement.php +++ b/htdocs/compta/tva/reglement.php @@ -26,6 +26,7 @@ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; @@ -40,6 +41,7 @@ $result = restrictedArea($user, 'tax', '', '', 'charges'); $search_ref = GETPOST('search_ref','int'); $search_label = GETPOST('search_label','alpha'); $search_amount = GETPOST('search_amount','alpha'); +$search_account = GETPOST('search_account','int'); $month = GETPOST("month","int"); $year = GETPOST("year","int"); @@ -71,16 +73,18 @@ else $typeid=$_REQUEST['typeid']; } -if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both test are required to be compatible with all browsers +if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") || GETPOST("button_removefilter")) // Both test are required to be compatible with all browsers { $search_ref=""; $search_label=""; $search_amount=""; + $search_account=''; $year=""; $month=""; $typeid=""; } + /* * View */ @@ -90,14 +94,19 @@ llxHeader(); $form = new Form($db); $formother=new FormOther($db); $tva_static = new Tva($db); +$accountstatic = new Account($db); -$sql = "SELECT t.rowid, t.amount, t.label, t.datev as dv, t.datep as dp, t.fk_typepayment as type, t.num_payment, pst.code as payment_code"; +$sql = "SELECT t.rowid, t.amount, t.label, t.datev as dv, t.datep as dp, t.fk_typepayment as type, t.num_payment, t.fk_bank, pst.code as payment_code,"; +$sql.= " ba.rowid as bid, ba.label as blabel"; $sql.= " FROM ".MAIN_DB_PREFIX."tva as t"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_paiement as pst ON t.fk_typepayment = pst.id"; +$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."bank as b ON t.fk_bank = b.rowid"; +$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."bank_account as ba ON b.fk_account = ba.rowid"; $sql.= " WHERE t.entity = ".$conf->entity; if ($search_ref) $sql.=" AND t.rowid=".$search_ref; if ($search_label) $sql.=" AND t.label LIKE '%".$db->escape($search_label)."%'"; if ($search_amount) $sql.=" AND t.amount='".$db->escape(price2num(trim($search_amount)))."'"; +if ($search_account > 0) $sql .=" AND b.fk_account=".$search_account; if ($month > 0) { if ($year > 0) @@ -155,8 +164,12 @@ if ($result) print_liste_field_titre($langs->trans("DateValue"),$_SERVER["PHP_SELF"],"dv","",$param,'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("DatePayment"),$_SERVER["PHP_SELF"],"dp","",$param,'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"type","",$param,'align="left"',$sortfield,$sortorder); + if (! empty($conf->banque->enabled)) + { + print_liste_field_titre($langs->trans("Account"),$_SERVER["PHP_SELF"],"ba.label","",$param,"",$sortfield,$sortorder); + } print_liste_field_titre($langs->trans("PayedByThisPayment"),$_SERVER["PHP_SELF"],"t.amount","",$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 "\n"; print ''; @@ -172,8 +185,13 @@ if ($result) print ''; + if (! empty($conf->banque->enabled)) + { + print ''; + } print ''; - print '\n"; // Type print $type; + // Account + if (! empty($conf->banque->enabled)) + { + print ''; + } // Amount $total = $total + $obj->amount; print ""; - print ""; + print ""; print "\n"; $i++; } - print ''; + + $colspan=5; + if (! empty($conf->banque->enabled)) $colspan++; + print ''; print ""; print ""; From 86c90ade3fc035de05358b617025f9220b953c88 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 11 Aug 2016 18:41:31 +0200 Subject: [PATCH 328/476] Another fix on bank account missing when bank module enabled. --- htdocs/compta/charges/index.php | 27 ++++++++++++++++++-- htdocs/compta/salaries/index.php | 43 ++++++++++++++++++++++++++++---- htdocs/compta/tva/reglement.php | 6 ++--- 3 files changed, 65 insertions(+), 11 deletions(-) diff --git a/htdocs/compta/charges/index.php b/htdocs/compta/charges/index.php index 3f794491566..4813d742ad5 100644 --- a/htdocs/compta/charges/index.php +++ b/htdocs/compta/charges/index.php @@ -32,6 +32,7 @@ require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php' require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/paymentsocialcontribution.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/paymentsalary.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; $langs->load("compta"); $langs->load("bills"); @@ -45,6 +46,8 @@ $year=GETPOST("year",'int'); $filtre=GETPOST("filtre",'alpha'); if (! $year && $mode != 'sconly') { $year=date("Y", time()); } +$search_account = GETPOST('search_account','int'); + $limit = GETPOST('limit')?GETPOST('limit','int'):$conf->liste_limit; $sortfield = GETPOST("sortfield",'alpha'); $sortorder = GETPOST("sortorder",'alpha'); @@ -65,6 +68,7 @@ $tva_static = new Tva($db); $socialcontrib=new ChargeSociales($db); $payment_sc_static=new PaymentSocialContribution($db); $sal_static = new PaymentSalary($db); +$accountstatic = new Account($db); llxHeader('',$langs->trans("SpecialExpensesArea")); @@ -122,17 +126,21 @@ if (! empty($conf->tax->enabled) && $user->rights->tax->charges->lire) print_liste_field_titre($langs->trans("RefPayment"),$_SERVER["PHP_SELF"],"pc.rowid","",$param,'',$sortfield,$sortorder); print_liste_field_titre($langs->trans("DatePayment"),$_SERVER["PHP_SELF"],"pc.datep","",$param,'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"pct.code","",$param,'',$sortfield,$sortorder); + if (! empty($conf->banque->enabled)) print_liste_field_titre($langs->trans("Account"),$_SERVER["PHP_SELF"],"ba.label","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("PayedByThisPayment"),$_SERVER["PHP_SELF"],"pc.amount","",$param,'align="right"',$sortfield,$sortorder); print "\n"; $sql = "SELECT c.id, c.libelle as lib,"; $sql.= " cs.rowid, cs.libelle, cs.fk_type as type, cs.periode, cs.date_ech, cs.amount as total,"; - $sql.= " pc.rowid as pid, pc.datep, pc.amount as totalpaye, pc.num_paiement as num_payment,"; - $sql.= " pct.code as payment_code"; + $sql.= " pc.rowid as pid, pc.datep, pc.amount as totalpaye, pc.num_paiement as num_payment, pc.fk_bank,"; + $sql.= " pct.code as payment_code,"; + $sql.= " ba.rowid as bid, ba.label as blabel"; $sql.= " FROM ".MAIN_DB_PREFIX."c_chargesociales as c,"; $sql.= " ".MAIN_DB_PREFIX."chargesociales as cs"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."paiementcharge as pc ON pc.fk_charge = cs.rowid"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_paiement as pct ON pc.fk_typepaiement = pct.id"; + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."bank as b ON pc.fk_bank = b.rowid"; + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."bank_account as ba ON b.fk_account = ba.rowid"; $sql.= " WHERE cs.fk_type = c.id"; $sql.= " AND cs.entity = ".$conf->entity; if ($year > 0) @@ -189,6 +197,20 @@ if (! empty($conf->tax->enabled) && $user->rights->tax->charges->lire) print ''; + // Account + if (! empty($conf->banque->enabled)) + { + print ''; + } // Paid print ''; print ''; print ''; + if (! empty($conf->banque->enabled)) print ''; print '"; print ""; } diff --git a/htdocs/compta/salaries/index.php b/htdocs/compta/salaries/index.php index f279e97b478..d01954002c4 100644 --- a/htdocs/compta/salaries/index.php +++ b/htdocs/compta/salaries/index.php @@ -25,6 +25,7 @@ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/paymentsalary.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; $langs->load("compta"); $langs->load("salaries"); @@ -40,6 +41,8 @@ $search_ref = GETPOST('search_ref','int'); $search_user = GETPOST('search_user','alpha'); $search_label = GETPOST('search_label','alpha'); $search_amount = GETPOST('search_amount','alpha'); +$search_account = GETPOST('search_account','int'); + $sortfield = GETPOST("sortfield",'alpha'); $sortorder = GETPOST("sortorder",'alpha'); $page = GETPOST("page",'int'); @@ -68,11 +71,12 @@ else $typeid=$_REQUEST['typeid']; } -if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both test are required to be compatible with all browsers +if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") || GETPOST("button_removefilter")) // All test are required to be compatible with all browsers { $search_ref=""; $search_label=""; $search_amount=""; + $search_account=''; $typeid=""; } @@ -85,12 +89,16 @@ llxHeader(); $form = new Form($db); $salstatic = new PaymentSalary($db); $userstatic = new User($db); +$accountstatic = new Account($db); $sql = "SELECT u.rowid as uid, u.lastname, u.firstname, u.login, u.email, u.admin, u.salary as current_salary, u.fk_soc as fk_soc,"; -$sql.= " s.rowid, s.fk_user, s.amount, s.salary, s.label, s.datep as datep, s.datev as datev, s.fk_typepayment as type, s.num_payment,"; +$sql.= " s.rowid, s.fk_user, s.amount, s.salary, s.label, s.datep as datep, s.datev as datev, s.fk_typepayment as type, s.num_payment, s.fk_bank,"; +$sql.= " ba.rowid as bid, ba.label as blabel,"; $sql.= " pst.code as payment_code"; $sql.= " FROM ".MAIN_DB_PREFIX."payment_salary as s"; -$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_paiement as pst ON s.fk_typepayment = pst.id,"; +$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_paiement as pst ON s.fk_typepayment = pst.id"; +$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."bank as b ON s.fk_bank = b.rowid"; +$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."bank_account as ba ON b.fk_account = ba.rowid,"; $sql.= " ".MAIN_DB_PREFIX."user as u"; $sql.= " WHERE u.rowid = s.fk_user"; $sql.= " AND s.entity = ".$conf->entity; @@ -100,6 +108,7 @@ if ($search_ref) $sql.=" AND s.rowid=".$search_ref; if ($search_user) $sql.=natural_search(array('u.login', 'u.lastname', 'u.firstname', 'u.email', 'u.note'), $search_user); if ($search_label) $sql.=natural_search(array('s.label'), $search_label); if ($search_amount) $sql.=natural_search("s.amount", $search_amount, 1); +if ($search_account > 0) $sql .=" AND b.fk_account=".$search_account; if ($filtre) { $filtre=str_replace(":","=",$filtre); $sql .= " AND ".$filtre; @@ -150,6 +159,7 @@ if ($result) print_liste_field_titre($langs->trans("Label"),$_SERVER["PHP_SELF"],"s.label","",$param,'align="left"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("DatePayment"),$_SERVER["PHP_SELF"],"s.datep","",$param,'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("PaymentMode"),$_SERVER["PHP_SELF"],"type","",$param,'align="left"',$sortfield,$sortorder); + if (! empty($conf->banque->enabled)) print_liste_field_titre($langs->trans("Account"),$_SERVER["PHP_SELF"],"ba.label","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("PayedByThisPayment"),$_SERVER["PHP_SELF"],"s.amount","",$param,'align="right"',$sortfield,$sortorder); print_liste_field_titre('',$_SERVER["PHP_SELF"],"",'','','',$sortfield,$sortorder,'maxwidthsearch '); print "\n"; @@ -173,6 +183,13 @@ if ($result) print ''; + // Account + if (! empty($conf->banque->enabled)) + { + print ''; + } // Amount print ''; @@ -210,7 +227,21 @@ if ($result) print '\n"; // Type print ''; - // Amount + // Account + if (! empty($conf->banque->enabled)) + { + print ''; + } + // Amount print ""; print ""; print "\n"; @@ -220,7 +251,9 @@ if ($result) $i++; } - print ''; + $colspan=6; + if (! empty($conf->banque->enabled)) $colspan++; + print ''; print '"; print ""; diff --git a/htdocs/compta/tva/reglement.php b/htdocs/compta/tva/reglement.php index 9fbf0f978ee..d5bcbeeb06a 100644 --- a/htdocs/compta/tva/reglement.php +++ b/htdocs/compta/tva/reglement.php @@ -164,10 +164,7 @@ if ($result) print_liste_field_titre($langs->trans("DateValue"),$_SERVER["PHP_SELF"],"dv","",$param,'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("DatePayment"),$_SERVER["PHP_SELF"],"dp","",$param,'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"type","",$param,'align="left"',$sortfield,$sortorder); - if (! empty($conf->banque->enabled)) - { - print_liste_field_titre($langs->trans("Account"),$_SERVER["PHP_SELF"],"ba.label","",$param,"",$sortfield,$sortorder); - } + if (! empty($conf->banque->enabled)) print_liste_field_titre($langs->trans("Account"),$_SERVER["PHP_SELF"],"ba.label","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("PayedByThisPayment"),$_SERVER["PHP_SELF"],"t.amount","",$param,'align="right"',$sortfield,$sortorder); print_liste_field_titre('',$_SERVER["PHP_SELF"],"",'','','',$sortfield,$sortorder,'maxwidthsearch '); print "\n"; @@ -185,6 +182,7 @@ if ($result) print ''; + // Account if (! empty($conf->banque->enabled)) { print ''; + print ''; print ''; $client = true; @@ -96,9 +98,10 @@ if ($socid > 0) { } } else { - print ''; + print ''; print ''; } @@ -121,11 +124,11 @@ if (! $sortfield) // Start date print ''; -print ''; -print ''; -print ''; +print ''; print ''; - + // Parent category print ''; - + print ''; print '
    '.$langs->trans('Ref').'
    '.$langs->trans('Ref').''; print $form->showrefnav($paiement,'id','',1,'rowid','id'); print '
    '.$langs->trans('Date').''.dol_print_date($paiement->datep,'day').'
    '.$langs->trans('Date').''.dol_print_date($paiement->datep,'day').'
    '.$langs->trans('Mode').''.$langs->trans("PaymentType".$paiement->type_code).'
    '.$langs->trans('Mode').''.$langs->trans("PaymentType".$paiement->type_code).'
    '.$langs->trans('Numero').''.$paiement->num_paiement.'
    '.$langs->trans('Numero').''.$paiement->num_paiement.'
    '.$langs->trans('Amount').''.price($paiement->amount, 0, $outputlangs, 1, -1, -1, $conf->currency).'
    '.$langs->trans('Amount').''.price($paiement->amount, 0, $outputlangs, 1, -1, -1, $conf->currency).'
    '.$langs->trans('Note').''.nl2br($paiement->note).'
    '.$langs->trans('Note').''.nl2br($paiement->note).'
    '; print ''; print ''; - $form->select_comptes($search_account,'search_account',0,'',1); - print ''; + $form->select_comptes($search_account,'search_account',0,'',1); + print ''; print ''; print ''.$objp->num_paiement.''; - if ($objp->bid) - { - $accountstatic->id=$objp->bid; - $accountstatic->label=$objp->label; - print $accountstatic->getNomUrl(1); - } - else print ' '; - print ''; + if ($objp->bid) + { + $accountstatic->id=$objp->bid; + $accountstatic->label=$objp->label; + print $accountstatic->getNomUrl(1); + } + else print ' '; + print ''.price($objp->amount).'
    '.$langs->trans("Account").''; $form->select_comptes($_POST["accountid"],"accountid",0,"courant=1",1); // Affiche liste des comptes courant print '
    '.$langs->trans("PaymentMode").''; - $form->select_types_paiements(GETPOST("type_payment"), "type_payment"); - print "
    '.$langs->trans('Numero'); - print ' ('.$langs->trans("ChequeOrTransferNumber").')'; - print '
    '.$langs->trans("PaymentMode").''; + $form->select_types_paiements(GETPOST("type_payment"), "type_payment"); + print "
    '.$langs->trans('Numero'); + print ' ('.$langs->trans("ChequeOrTransferNumber").')'; + print '
    '; $form->select_types_paiements($typeid,'typeid','',0,0,1,16); print ''; + $form->select_comptes($search_account,'search_account',0,'',1); + print ''; $searchpitco=$form->showFilterAndCheckAddButtons(0); print $searchpitco; @@ -204,15 +222,32 @@ if ($result) print ''.dol_print_date($db->jdate($obj->dp),'day')."'; + if ($obj->fk_bank > 0) + { + //$accountstatic->fetch($obj->fk_bank); + $accountstatic->id=$obj->bid; + $accountstatic->label=$obj->blabel; + print $accountstatic->getNomUrl(1); + } + else print ' '; + print '".price($obj->amount)."  
    '.$langs->trans("Total").'
    '.$langs->trans("Total").'".price($total)." 
    '; if ($obj->payment_code) print $langs->trans("PaymentTypeShort".$obj->payment_code).' '; print $obj->num_payment.''; + if ($obj->fk_bank > 0) + { + //$accountstatic->fetch($obj->fk_bank); + $accountstatic->id=$obj->bid; + $accountstatic->label=$obj->blabel; + print $accountstatic->getNomUrl(1); + } + else print ' '; + print ''; if ($obj->totalpaye) print price($obj->totalpaye); @@ -205,6 +227,7 @@ if (! empty($conf->tax->enabled) && $user->rights->tax->charges->lire) print '   '.price($totalpaye)."
    '; $form->select_types_paiements($typeid,'typeid','',0,0,1,16); print ''; + $form->select_comptes($search_account,'search_account',0,'',1); + print ''.dol_print_date($db->jdate($obj->datep),'day')."'.$langs->trans("PaymentTypeShort".$obj->payment_code).' '.$obj->num_payment.''; + if ($obj->fk_bank > 0) + { + //$accountstatic->fetch($obj->fk_bank); + $accountstatic->id=$obj->bid; + $accountstatic->label=$obj->blabel; + print $accountstatic->getNomUrl(1); + } + else print ' '; + print '".price($obj->amount)."
    '.$langs->trans("Total").'
    '.$langs->trans("Total").''.price($total)."
    '; $form->select_types_paiements($typeid,'typeid','',0,0,1,16); print ''; From 6b6ee8795ce832379fbf7d3543379da4c5c53163 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 11 Aug 2016 19:55:29 +0200 Subject: [PATCH 329/476] Button filter on boxes is at end of title line --- .../boxes/box_graph_invoices_permonth.php | 2 +- .../box_graph_invoices_supplier_permonth.php | 2 +- .../core/boxes/box_graph_orders_permonth.php | 2 +- .../box_graph_orders_supplier_permonth.php | 2 +- .../boxes/box_graph_product_distribution.php | 2 +- .../boxes/box_graph_propales_permonth.php | 2 +- htdocs/core/boxes/modules_boxes.php | 8 +++--- htdocs/core/class/html.formfile.class.php | 2 +- htdocs/margin/customerMargins.php | 27 ++++++++++--------- htdocs/theme/eldy/style.css.php | 5 +++- htdocs/theme/md/style.css.php | 4 +++ 11 files changed, 35 insertions(+), 23 deletions(-) diff --git a/htdocs/core/boxes/box_graph_invoices_permonth.php b/htdocs/core/boxes/box_graph_invoices_permonth.php index d098106724c..e4639070203 100644 --- a/htdocs/core/boxes/box_graph_invoices_permonth.php +++ b/htdocs/core/boxes/box_graph_invoices_permonth.php @@ -77,7 +77,7 @@ class box_graph_invoices_permonth extends ModeleBoxes 'sublink'=>'', 'subtext'=>$langs->trans("Filter"), 'subpicto'=>'filter.png', - 'subclass'=>'linkobject', + 'subclass'=>'linkobject boxfilter', 'target'=>'none' // Set '' to get target="_blank" ); diff --git a/htdocs/core/boxes/box_graph_invoices_supplier_permonth.php b/htdocs/core/boxes/box_graph_invoices_supplier_permonth.php index c7856d619f6..254195b42f1 100644 --- a/htdocs/core/boxes/box_graph_invoices_supplier_permonth.php +++ b/htdocs/core/boxes/box_graph_invoices_supplier_permonth.php @@ -76,7 +76,7 @@ class box_graph_invoices_supplier_permonth extends ModeleBoxes 'sublink'=>'', 'subtext'=>$langs->trans("Filter"), 'subpicto'=>'filter.png', - 'subclass'=>'linkobject', + 'subclass'=>'linkobject boxfilter', 'target'=>'none' // Set '' to get target="_blank" ); diff --git a/htdocs/core/boxes/box_graph_orders_permonth.php b/htdocs/core/boxes/box_graph_orders_permonth.php index 4a0f0a7d5b1..6b023b9c157 100644 --- a/htdocs/core/boxes/box_graph_orders_permonth.php +++ b/htdocs/core/boxes/box_graph_orders_permonth.php @@ -77,7 +77,7 @@ class box_graph_orders_permonth extends ModeleBoxes 'sublink'=>'', 'subtext'=>$langs->trans("Filter"), 'subpicto'=>'filter.png', - 'subclass'=>'linkobject', + 'subclass'=>'linkobject boxfilter', 'target'=>'none' // Set '' to get target="_blank" ); diff --git a/htdocs/core/boxes/box_graph_orders_supplier_permonth.php b/htdocs/core/boxes/box_graph_orders_supplier_permonth.php index 2ab14bb4502..646f28e949c 100644 --- a/htdocs/core/boxes/box_graph_orders_supplier_permonth.php +++ b/htdocs/core/boxes/box_graph_orders_supplier_permonth.php @@ -76,7 +76,7 @@ class box_graph_orders_supplier_permonth extends ModeleBoxes 'sublink'=>'', 'subtext'=>$langs->trans("Filter"), 'subpicto'=>'filter.png', - 'subclass'=>'linkobject', + 'subclass'=>'linkobject boxfilter', 'target'=>'none' // Set '' to get target="_blank" ); diff --git a/htdocs/core/boxes/box_graph_product_distribution.php b/htdocs/core/boxes/box_graph_product_distribution.php index 48168eadb53..a709a7aef3a 100644 --- a/htdocs/core/boxes/box_graph_product_distribution.php +++ b/htdocs/core/boxes/box_graph_product_distribution.php @@ -108,7 +108,7 @@ class box_graph_product_distribution extends ModeleBoxes 'sublink'=>'', 'subtext'=>$langs->trans("Filter"), 'subpicto'=>'filter.png', - 'subclass'=>'linkobject', + 'subclass'=>'linkobject boxfilter', 'target'=>'none' // Set '' to get target="_blank" ); diff --git a/htdocs/core/boxes/box_graph_propales_permonth.php b/htdocs/core/boxes/box_graph_propales_permonth.php index 0ae61938ce7..39fe12ed7a3 100644 --- a/htdocs/core/boxes/box_graph_propales_permonth.php +++ b/htdocs/core/boxes/box_graph_propales_permonth.php @@ -77,7 +77,7 @@ class box_graph_propales_permonth extends ModeleBoxes 'sublink'=>'', 'subtext'=>$langs->trans("Filter"), 'subpicto'=>'filter.png', - 'subclass'=>'linkobject', + 'subclass'=>'linkobject boxfilter', 'target'=>'none' // Set '' to get target="_blank" ); diff --git a/htdocs/core/boxes/modules_boxes.php b/htdocs/core/boxes/modules_boxes.php index 238aa8ab438..877f40f6b79 100644 --- a/htdocs/core/boxes/modules_boxes.php +++ b/htdocs/core/boxes/modules_boxes.php @@ -251,12 +251,14 @@ class ModeleBoxes // Can't be abtract as it is instantiated to build "empty" $out.= $s; } $out.= ' '; - if (! empty($head['sublink'])) $out.= ''; - if (! empty($head['subpicto'])) $out.= img_picto($head['subtext'], $head['subpicto'], 'class="'.(empty($head['subclass'])?'':$head['subclass']).'" id="idsubimg'.$this->boxcode.'"'); - if (! empty($head['sublink'])) ''; + $sublink=''; + if (! empty($head['sublink'])) $sublink.= ''; + if (! empty($head['subpicto'])) $sublink.= img_picto($head['subtext'], $head['subpicto'], 'class="'.(empty($head['subclass'])?'':$head['subclass']).'" id="idsubimg'.$this->boxcode.'"'); + if (! empty($head['sublink'])) $sublink.= ''; if (! empty($conf->use_javascript_ajax)) { $out.= ''; + $out.=$sublink; // The image must have the class 'boxhandle' beause it's value used in DOM draggable objects to define the area used to catch the full object $out.= img_picto($langs->trans("MoveBox",$this->box_id),'grip_title','class="boxhandle hideonsmartphone" style="cursor:move;"'); $out.= img_picto($langs->trans("CloseBox",$this->box_id),'close_title','class="boxclose" rel="x:y" style="cursor:pointer;" id="imgclose'.$this->box_id.'"'); diff --git a/htdocs/core/class/html.formfile.class.php b/htdocs/core/class/html.formfile.class.php index 41ff22276d7..06eb8c0c5d2 100644 --- a/htdocs/core/class/html.formfile.class.php +++ b/htdocs/core/class/html.formfile.class.php @@ -721,7 +721,7 @@ class FormFile if (! empty($file_list)) { $out='
    '.$langs->trans('ThirdPartyName').'
    '.$langs->trans('ThirdPartyName').''; - $form->form_thirdparty($_SERVER['PHP_SELF'].'?socid='.$socid,$socid,'socid','client=1 OR client=3',1,0,1); + print $form->select_company($socid, 'socid', 'client=1 OR client=3', 1, 0, 0); + //$form->form_thirdparty($_SERVER['PHP_SELF'].'?socid='.$socid,$socid,'socid','client=1 OR client=3',1,0,1); print '
    '.$langs->trans('ThirdPartyName').'
    '.$langs->trans('ThirdPartyName').''; - $form->form_thirdparty($_SERVER['PHP_SELF'],null,'socid','client=1 OR client=3',1,0,1); + print $form->select_company(null, 'socid', 'client=1 OR client=3', 1, 0, 0); + //$form->form_thirdparty($_SERVER['PHP_SELF'],null,'socid','client=1 OR client=3',1,0,1); print '
    '.$langs->trans('DateStart').' ('.$langs->trans("DateValidation").')'; +print ''; $form->select_date($startdate,'startdate','','',1,"sel",1,1); print ''.$langs->trans('DateEnd').' ('.$langs->trans("DateValidation").')'; +print ''.$langs->trans('DateEnd').' ('.$langs->trans("DateValidation").')'; $form->select_date($enddate,'enddate','','',1,"sel",1,1); print ''; @@ -139,20 +142,20 @@ print '
    '; print ''; // Total Margin -print ''; // Margin Rate if (! empty($conf->global->DISPLAY_MARGIN_RATES)) { - print ''; } // Mark Rate if (! empty($conf->global->DISPLAY_MARK_RATES)) { - print ''; } @@ -324,10 +327,10 @@ $db->close(); '."\n"; } - // Raven.js for client-side Sentry logging support - if (array_key_exists('mod_syslog_sentry', $conf->loghandlers)) { - print '' . "\n"; - print '' . "\n"; - print '' . "\n"; - if (! defined('DISABLE_JQUERY')) { - print '' . "\n"; - } - } - // Global js function print ''."\n"; print ''."\n"; @@ -1387,23 +1377,6 @@ function top_menu($head, $title='', $target='', $disablejs=0, $disablehead=0, $a print '' . "\n"; - if ($conf->use_javascript_ajax) - { - // Raven.js for client-side Sentry logging support - if (array_key_exists('mod_syslog_sentry', $conf->loghandlers) && ! empty($conf->global->SYSLOG_SENTRY_DSN)) - { - // Filter out secret key - $dsn = parse_url($conf->global->SYSLOG_SENTRY_DSN); - $public_dsn = $dsn['scheme'] . '://' . $dsn['user'] .'@' . $dsn['host'] . $dsn['path']; - - print '\n"; - } - } - /* * Top menu */ From aa17564e93bbfbb2617f8c7eb564596ebf584172 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Tue, 16 Aug 2016 08:54:12 +0200 Subject: [PATCH 335/476] FIX: #5594 --- htdocs/core/class/extrafields.class.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/htdocs/core/class/extrafields.class.php b/htdocs/core/class/extrafields.class.php index 1a362d143dc..ae9b57cba8f 100644 --- a/htdocs/core/class/extrafields.class.php +++ b/htdocs/core/class/extrafields.class.php @@ -1250,7 +1250,14 @@ class ExtraFields { $sql.= ' as main'; } - $sql.= " WHERE ".$selectkey."='".$this->db->escape($value)."'"; + if ($selectkey=='rowid' && empty($value)) { + $sql.= " WHERE ".$selectkey."=0"; + } elseif ($selectkey=='rowid') { + $sql.= " WHERE ".$selectkey."=".$this->db->escape($value); + }else { + $sql.= " WHERE ".$selectkey."='".$this->db->escape($value)."'"; + } + //$sql.= ' AND entity = '.$conf->entity; dol_syslog(get_class($this).':showOutputField:$type=sellist', LOG_DEBUG); From 3932a32399270553f48e285e35c5fff5f00a2f1c Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Tue, 16 Aug 2016 09:00:52 +0200 Subject: [PATCH 336/476] FIX : #5629 PgSQL Interger string stylish error --- htdocs/core/class/commonobject.class.php | 152 ++++++++++++----------- 1 file changed, 79 insertions(+), 73 deletions(-) diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index c3140118745..3279d372a0e 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -448,7 +448,7 @@ abstract class CommonObject global $conf, $langs; $countriesusingstate=array('AU','US','IN','GB','ES','UK','TR'); // See also option MAIN_FORCE_STATE_INTO_ADDRESS - + $contactid=0; $thirdpartyid=0; if ($this->element == 'societe') @@ -465,12 +465,12 @@ abstract class CommonObject $contactid=$this->contact_id; $thirdpartyid=$object->fk_soc; } - + $out=''; - + $outdone=0; $coords = $this->getFullAddress(1,', '); - if ($coords) + if ($coords) { if (! empty($conf->use_javascript_ajax)) { @@ -485,7 +485,7 @@ abstract class CommonObject } if (! in_array($this->country_code,$countriesusingstate) && empty($conf->global->MAIN_FORCE_STATE_INTO_ADDRESS) // If MAIN_FORCE_STATE_INTO_ADDRESS is on, state is already returned previously with getFullAddress - && empty($conf->global->SOCIETE_DISABLE_STATE) && $this->state) + && empty($conf->global->SOCIETE_DISABLE_STATE) && $this->state) { $out.=($outdone?' - ':'').$this->state; $outdone++; @@ -516,15 +516,15 @@ abstract class CommonObject if (! empty($this->office_fax)) { $out.=dol_print_phone($this->fax,$this->country_code,$contactid,$thirdpartyid,'AC_FAX',' ','fax',$langs->trans("Fax")); $outdone++; } - + $out.='
    '; $outdone=0; - if (! empty($this->email)) + if (! empty($this->email)) { $out.=dol_print_email($this->email,$this->id,$object->id,'AC_EMAIL',0,0,1); $outdone++; } - if (! empty($this->url)) + if (! empty($this->url)) { $out.=dol_print_url($this->url,'',0,1); $outdone++; @@ -535,12 +535,12 @@ abstract class CommonObject if ($this->skype) $out.=dol_print_skype($this->skype,$this->id,$object->id,'AC_SKYPE'); $outdone++; } - + $out.=''; - + return $out; } - + /** * Add a link between element $this->element and a contact * @@ -595,50 +595,56 @@ abstract class CommonObject } } - $datecreate = dol_now(); - - $this->db->begin(); - // Insertion dans la base - $sql = "INSERT INTO ".MAIN_DB_PREFIX."element_contact"; - $sql.= " (element_id, fk_socpeople, datecreate, statut, fk_c_type_contact) "; - $sql.= " VALUES (".$this->id.", ".$fk_socpeople." , " ; - $sql.= "'".$this->db->idate($datecreate)."'"; - $sql.= ", 4, '". $id_type_contact . "' "; - $sql.= ")"; - dol_syslog(get_class($this)."::add_contact", LOG_DEBUG); - $resql=$this->db->query($sql); - if ($resql) - { - if (! $notrigger) - { - $result=$this->call_trigger(strtoupper($this->element).'_ADD_CONTACT', $user); - if ($result < 0) - { - $this->db->rollback(); + if(! empty($id_type_contact)) { + + $datecreate = dol_now(); + + $this->db->begin(); + + // Insertion dans la base + $sql = "INSERT INTO ".MAIN_DB_PREFIX."element_contact"; + $sql.= " (element_id, fk_socpeople, datecreate, statut, fk_c_type_contact) "; + $sql.= " VALUES (".$this->id.", ".$fk_socpeople." , " ; + $sql.= "'".$this->db->idate($datecreate)."'"; + $sql.= ", 4, ". $id_type_contact . " "; + $sql.= ")"; + dol_syslog(get_class($this)."::add_contact", LOG_DEBUG); + + $resql=$this->db->query($sql); + if ($resql) + { + if (! $notrigger) + { + $result=$this->call_trigger(strtoupper($this->element).'_ADD_CONTACT', $user); + if ($result < 0) + { + $this->db->rollback(); + return -1; + } + } + + $this->db->commit(); + return 1; + } + else + { + if ($this->db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS') + { + $this->error=$this->db->errno(); + $this->db->rollback(); + return -2; + } + else + { + $this->error=$this->db->error(); + $this->db->rollback(); return -1; } - } - - $this->db->commit(); - return 1; - } - else - { - if ($this->db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS') - { - $this->error=$this->db->errno(); - $this->db->rollback(); - return -2; - } - else - { - $this->error=$this->db->error(); - $this->db->rollback(); - return -1; - } + } } + return 1; } /** @@ -1196,7 +1202,7 @@ abstract class CommonObject if (!empty($id) && !empty($field) && !empty($table)) { $sql = "SELECT ".$field." FROM ".MAIN_DB_PREFIX.$table; $sql.= " WHERE rowid = ".$id; - + dol_syslog(get_class($this).'::getValueFrom', LOG_DEBUG); $resql = $this->db->query($sql); if ($resql) @@ -2275,8 +2281,8 @@ abstract class CommonObject * - all parameters empty -> we look all link to current object (current object can be source or target) * - one couple id+type is provided -> this will set $justsource or $justtarget * - one couple id+type is provided and other type is provided -> this will set $justsource or $justtarget + criteria on other type - * - * + * + * * @param int $sourceid Object source id (if not defined, id of object) * @param string $sourcetype Object source type (if not defined, element name of object) * @param int $targetid Object target id (if not defined, id of object) @@ -3223,7 +3229,7 @@ abstract class CommonObject $text.= ' - '.(! empty($line->label)?$line->label:$label); $description.=(! empty($conf->global->PRODUIT_DESC_IN_FORM)?'':dol_htmlentitiesbr($line->description)); // Description is what to show on popup. We shown nothing if already into desc. } - + $line->pu_ttc = price2num($line->subprice * (1 + ($line->tva_tx/100)), 'MU'); // Output template part (modules that overwrite templates must declare this into descriptor) @@ -3662,7 +3668,7 @@ abstract class CommonObject return -1; } } - + // We save charset_output to restore it because write_file can change it if needed for // output format that does not support UTF8. $sav_charset_output=$outputlangs->charset_output; @@ -3726,13 +3732,13 @@ abstract class CommonObject /* For default values */ /** - * Return the default value to use for a field when showing the create form of object. + * Return the default value to use for a field when showing the create form of object. * Return values in this order: * 1) If parameter is available into POST, we return it first. * 2) If not but an alternate value was provided as parameter of function, we return it. - * 3) If not but a constant $conf->global->OBJECTELEMENT_FIELDNAME is set, we return it (It is better to use the dedicated table). + * 3) If not but a constant $conf->global->OBJECTELEMENT_FIELDNAME is set, we return it (It is better to use the dedicated table). * 4) Return value found into database (TODO No yet implemented) - * + * * @param string $fieldname Name of field * @param string $alternatevalue Alternate value to use * @return string Default value @@ -3743,27 +3749,27 @@ abstract class CommonObject // If param is has been posted with use this value first. if (isset($_POST[$fieldname])) return GETPOST($fieldname, 2); - + if (isset($alternatevalue)) return $alternatevalue; - + $newelement=$this->element; if ($newelement == 'facture') $newelement='invoice'; if ($newelement == 'commande') $newelement='order'; - if (empty($newelement)) + if (empty($newelement)) { dol_syslog("Ask a default value using common method getDefaultCreateValueForField on an object with no property ->element defined. Return empty string.", LOG_WARNING); return ''; } - + $keyforfieldname=strtoupper($newelement.'_DEFAULT_'.$fieldname); //var_dump($keyforfieldname); if (isset($conf->global->$keyforfieldname)) return $conf->global->$keyforfieldname; - - // TODO Ad here a scan into table llx_overwrite_default with a filter on $this->element and $fieldname - + + // TODO Ad here a scan into table llx_overwrite_default with a filter on $this->element and $fieldname + } - - + + /* For triggers */ @@ -3963,7 +3969,7 @@ abstract class CommonObject { $res=$object->fetch(0,$value); if ($res > 0) $this->array_options[$key]=$object->id; - else + else { $this->error="Ref '".$value."' for object '".$object->element."' not found"; $this->db->rollback(); @@ -4196,25 +4202,25 @@ abstract class CommonObject return true; } - + /** * define buy price if not defined * set buy price = sell price if ForceBuyingPriceIfNull configured, * else if calculation MARGIN_TYPE = 'pmp' and pmp is calculated, set pmp as buyprice * else set min buy price as buy price - * + * * @param float $unitPrice product unit price * @param float $discountPercent line discount percent * @param int $fk_product product id * * @return float <0 if ko, buyprice if ok */ - public function defineBuyPrice($unitPrice = 0, $discountPercent = 0, $fk_product = 0) + public function defineBuyPrice($unitPrice = 0, $discountPercent = 0, $fk_product = 0) { global $conf; - + $buyPrice = 0; - + if (($unitPrice > 0) && (isset($conf->global->ForceBuyingPriceIfNull) && $conf->global->ForceBuyingPriceIfNull == 1)) { $buyPrice = $unitPrice * (1 - $discountPercent / 100); From 0ac090e9591c1bf61013f9ae806439de1b68114f Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Tue, 16 Aug 2016 09:07:08 +0200 Subject: [PATCH 337/476] FIX : #5629 DoliDBPgsql::query SQL Error message: ERROR: 22P02: invalid input syntax for integer: "" --- htdocs/core/class/commonobject.class.php | 77 ++++++++++++------------ 1 file changed, 40 insertions(+), 37 deletions(-) diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 71540cf16d7..14ea39a2077 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -591,50 +591,53 @@ abstract class CommonObject } } - $datecreate = dol_now(); + if(! empty($id_type_contact)) { + $datecreate = dol_now(); - $this->db->begin(); + $this->db->begin(); - // Insertion dans la base - $sql = "INSERT INTO ".MAIN_DB_PREFIX."element_contact"; - $sql.= " (element_id, fk_socpeople, datecreate, statut, fk_c_type_contact) "; - $sql.= " VALUES (".$this->id.", ".$fk_socpeople." , " ; - $sql.= "'".$this->db->idate($datecreate)."'"; - $sql.= ", 4, '". $id_type_contact . "' "; - $sql.= ")"; - dol_syslog(get_class($this)."::add_contact", LOG_DEBUG); + // Insertion dans la base + $sql = "INSERT INTO ".MAIN_DB_PREFIX."element_contact"; + $sql.= " (element_id, fk_socpeople, datecreate, statut, fk_c_type_contact) "; + $sql.= " VALUES (".$this->id.", ".$fk_socpeople." , " ; + $sql.= "'".$this->db->idate($datecreate)."'"; + $sql.= ", 4, ". $id_type_contact . " "; + $sql.= ")"; + dol_syslog(get_class($this)."::add_contact", LOG_DEBUG); - $resql=$this->db->query($sql); - if ($resql) - { - if (! $notrigger) - { - $result=$this->call_trigger(strtoupper($this->element).'_ADD_CONTACT', $user); - if ($result < 0) + $resql=$this->db->query($sql); + if ($resql) + { + if (! $notrigger) { + $result=$this->call_trigger(strtoupper($this->element).'_ADD_CONTACT', $user); + if ($result < 0) + { + $this->db->rollback(); + return -1; + } + } + + $this->db->commit(); + return 1; + } + else + { + if ($this->db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS') + { + $this->error=$this->db->errno(); + $this->db->rollback(); + return -2; + } + else + { + $this->error=$this->db->error(); $this->db->rollback(); return -1; } - } - - $this->db->commit(); - return 1; - } - else - { - if ($this->db->errno() == 'DB_ERROR_RECORD_ALREADY_EXISTS') - { - $this->error=$this->db->errno(); - $this->db->rollback(); - return -2; - } - else - { - $this->error=$this->db->error(); - $this->db->rollback(); - return -1; - } + } } + return 1; } /** @@ -4489,7 +4492,7 @@ abstract class CommonObject if (! $db->query($sql)) { - if ($ignoreerrors) return true; // TODO Not enough. If there is A-B on kept thirdarty and B-C on old one, we must get A-B-C after merge. Not A-B. + if ($ignoreerrors) return true; // TODO Not enough. If there is A-B on kept thirdarty and B-C on old one, we must get A-B-C after merge. Not A-B. //$this->errors = $db->lasterror(); return false; } From c385b86793e2760108eb322625ee56cf224be10b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josep=20Llu=C3=ADs?= Date: Tue, 16 Aug 2016 23:12:02 +0200 Subject: [PATCH 338/476] Bug: delivery date value is not hide with global ORDER_DISABLE_DELIVERY_DATE In title and in filter the delivery date column is well hidden. The error is only in column value, --- htdocs/commande/list.php | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index cfb8486be6f..401be745957 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -587,10 +587,13 @@ if ($resql) print dol_print_date($db->jdate($objp->date_commande), 'day'); print ''; - // Delivery date - print '
    '; + if (empty($conf->global->ORDER_DISABLE_DELIVERY_DATE)) + { + // Delivery date + print ''; + } // Amount HT print ''; From a1323756a96d78f6ba27cfc21836be69756ad543 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Wed, 17 Aug 2016 10:23:23 +0200 Subject: [PATCH 339/476] FIX : in PgSQL no quote "word style" is permitted around column name --- htdocs/core/db/pgsql.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/db/pgsql.class.php b/htdocs/core/db/pgsql.class.php index 048ef2d450d..304006402c2 100644 --- a/htdocs/core/db/pgsql.class.php +++ b/htdocs/core/db/pgsql.class.php @@ -1093,7 +1093,7 @@ class DoliDBPgsql extends DoliDB */ function DDLDropField($table,$field_name) { - $sql= "ALTER TABLE ".$table." DROP COLUMN `".$field_name."`"; + $sql= "ALTER TABLE ".$table." DROP COLUMN ".$field_name; dol_syslog($sql,LOG_DEBUG); if (! $this->query($sql)) { From 6724901b9ec69fd9c4ba096e2d07893262ebc31f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 17 Aug 2016 11:15:20 +0200 Subject: [PATCH 340/476] Fix closing td --- htdocs/core/boxes/modules_boxes.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/boxes/modules_boxes.php b/htdocs/core/boxes/modules_boxes.php index 238aa8ab438..17079618bf0 100644 --- a/htdocs/core/boxes/modules_boxes.php +++ b/htdocs/core/boxes/modules_boxes.php @@ -253,7 +253,7 @@ class ModeleBoxes // Can't be abtract as it is instantiated to build "empty" $out.= ' '; if (! empty($head['sublink'])) $out.= ''; if (! empty($head['subpicto'])) $out.= img_picto($head['subtext'], $head['subpicto'], 'class="'.(empty($head['subclass'])?'':$head['subclass']).'" id="idsubimg'.$this->boxcode.'"'); - if (! empty($head['sublink'])) ''; + if (! empty($head['sublink'])) $out.= ''; if (! empty($conf->use_javascript_ajax)) { $out.= ''; - print ''; - print ''; + print ''; + // Date contract + print ''; + print ''; print ''; - print ''; + print ''; //print ''; print ''; print ''; From 5c51cb0f29c6aa8e844cd16c575dedc56282dc3b Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Wed, 17 Aug 2016 14:40:05 +0200 Subject: [PATCH 344/476] FIX : PgSQL Module Ressource list crash #5637 --- htdocs/resource/class/resource.class.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/htdocs/resource/class/resource.class.php b/htdocs/resource/class/resource.class.php index c323ad17e69..ea575bc6ce8 100644 --- a/htdocs/resource/class/resource.class.php +++ b/htdocs/resource/class/resource.class.php @@ -393,7 +393,6 @@ class Resource extends CommonObject } } } - $sql.= " GROUP BY t.rowid"; $sql.= $this->db->order($sortfield,$sortorder); $this->num_all = 0; if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) @@ -473,7 +472,6 @@ class Resource extends CommonObject } } } - $sql.= " GROUP BY t.rowid"; $sql.= $this->db->order($sortfield,$sortorder); if ($limit) $sql.= $this->db->plimit($limit+1,$offset); dol_syslog(get_class($this)."::fetch_all", LOG_DEBUG); @@ -559,7 +557,6 @@ class Resource extends CommonObject } } } - $sql.= " GROUP BY t.resource_id"; $sql.= $this->db->order($sortfield,$sortorder); if ($limit) $sql.= $this->db->plimit($limit+1,$offset); dol_syslog(get_class($this)."::fetch_all", LOG_DEBUG); From 63c54259918be35ceb16d74d3c0c835f9eaba8b6 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Wed, 17 Aug 2016 14:46:15 +0200 Subject: [PATCH 345/476] another fix for Ressource module in PgSQL --- htdocs/resource/class/dolresource.class.php | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/htdocs/resource/class/dolresource.class.php b/htdocs/resource/class/dolresource.class.php index 0a738846363..72c77ef7108 100644 --- a/htdocs/resource/class/dolresource.class.php +++ b/htdocs/resource/class/dolresource.class.php @@ -339,7 +339,7 @@ class Dolresource extends CommonObject if ($this->db->query($sql)) { $sql = "DELETE FROM ".MAIN_DB_PREFIX."element_resources"; - $sql.= " WHERE element_type='resource' AND resource_id ='".$this->db->escape($rowid)."'"; + $sql.= " WHERE element_type='resource' AND resource_id =".$this->db->escape($rowid); dol_syslog(get_class($this)."::delete", LOG_DEBUG); if ($this->db->query($sql)) { @@ -393,7 +393,6 @@ class Dolresource extends CommonObject } } } - $sql.= " GROUP BY t.rowid, t.entity, t.ref, t.description, t.fk_code_type_resource, t.tms, ty.label"; $sql.= $this->db->order($sortfield,$sortorder); $this->num_all = 0; if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) @@ -473,7 +472,6 @@ class Dolresource extends CommonObject } } } - $sql.= " GROUP BY t.rowid, ty.label"; $sql.= $this->db->order($sortfield,$sortorder); if ($limit) $sql.= $this->db->plimit($limit+1,$offset); dol_syslog(get_class($this)."::fetch_all", LOG_DEBUG); @@ -559,7 +557,6 @@ class Dolresource extends CommonObject } } } - $sql.= " GROUP BY t.resource_id"; $sql.= $this->db->order($sortfield,$sortorder); if ($limit) $sql.= $this->db->plimit($limit+1,$offset); dol_syslog(get_class($this)."::fetch_all", LOG_DEBUG); @@ -570,10 +567,9 @@ class Dolresource extends CommonObject $num = $this->db->num_rows($resql); if ($num) { - $i = 0; - while ($i < $num) + $this->lines=array(); + while ($obj = $this->db->fetch_object($resql)) { - $obj = $this->db->fetch_object($resql); $line = new Dolresource($this->db); $line->id = $obj->rowid; $line->resource_id = $obj->resource_id; @@ -584,7 +580,7 @@ class Dolresource extends CommonObject $line->mandatory = $obj->mandatory; $line->fk_user_create = $obj->fk_user_create; - $this->lines[$i] = fetchObjectByElement($obj->resource_id,$obj->resource_type); + $this->lines[] = fetchObjectByElement($obj->resource_id,$obj->resource_type); $i++; } @@ -759,7 +755,7 @@ class Dolresource extends CommonObject /** * Return an array with resources linked to the element - * + * * @param string $element Element * @param int $element_id Id * @param string $resource_type Type From ddc480b6c90aa10b83c8b6fb5d48eb37ba41bfbc Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Wed, 17 Aug 2016 14:51:25 +0200 Subject: [PATCH 346/476] other fix for PgSQL and style --- htdocs/resource/class/resource.class.php | 37 +++++++++++------------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/htdocs/resource/class/resource.class.php b/htdocs/resource/class/resource.class.php index ea575bc6ce8..0f4809fc1b4 100644 --- a/htdocs/resource/class/resource.class.php +++ b/htdocs/resource/class/resource.class.php @@ -339,7 +339,7 @@ class Resource extends CommonObject if ($this->db->query($sql)) { $sql = "DELETE FROM ".MAIN_DB_PREFIX."element_resources"; - $sql.= " WHERE element_type='resource' AND resource_id ='".$this->db->escape($rowid)."'"; + $sql.= " WHERE element_type='resource' AND resource_id =".$this->db->escape($rowid); dol_syslog(get_class($this)."::delete", LOG_DEBUG); if ($this->db->query($sql)) { @@ -409,10 +409,10 @@ class Resource extends CommonObject $num = $this->db->num_rows($resql); if ($num) { - $i = 0; - while ($i < $num) + $this->lines=array(); + while ($obj = $this->db->fetch_object($resql)) { - $obj = $this->db->fetch_object($resql); + $line = new Resource($this->db); $line->id = $obj->rowid; $line->ref = $obj->ref; @@ -420,8 +420,7 @@ class Resource extends CommonObject $line->fk_code_type_resource = $obj->fk_code_type_resource; $line->type_label = $obj->type_label; - $this->lines[$i] = $line; - $i++; + $this->lines[] = $line; } $this->db->free($resql); } @@ -482,10 +481,9 @@ class Resource extends CommonObject $num = $this->db->num_rows($resql); if ($num) { - $i = 0; - while ($i < $num) + $this->lines=array(); + while ($obj = $this->db->fetch_object($resql)) { - $obj = $this->db->fetch_object($resql); $line = new Resource($this->db); $line->id = $obj->rowid; $line->resource_id = $obj->resource_id; @@ -500,9 +498,8 @@ class Resource extends CommonObject $line->objresource = fetchObjectByElement($obj->resource_id,$obj->resource_type); if($obj->element_id && $obj->element_type) $line->objelement = fetchObjectByElement($obj->element_id,$obj->element_type); - $this->lines[$i] = $line; + $this->lines[] = $line; - $i++; } $this->db->free($resql); } @@ -567,10 +564,9 @@ class Resource extends CommonObject $num = $this->db->num_rows($resql); if ($num) { - $i = 0; - while ($i < $num) + $this->lines=array(); + while ($obj = $this->db->fetch_object($resql)) { - $obj = $this->db->fetch_object($resql); $line = new Resource($this->db); $line->id = $obj->rowid; $line->resource_id = $obj->resource_id; @@ -581,9 +577,7 @@ class Resource extends CommonObject $line->mandatory = $obj->mandatory; $line->fk_user_create = $obj->fk_user_create; - $this->lines[$i] = fetchObjectByElement($obj->resource_id,$obj->resource_type); - - $i++; + $this->lines[] = fetchObjectByElement($obj->resource_id,$obj->resource_type); } $this->db->free($resql); } @@ -754,10 +748,13 @@ class Resource extends CommonObject } - /* + /** * Return an array with resources linked to the element * - * + * @param string $element Element + * @param int $element_id Id + * @param string $resource_type Type + * @return array Aray of resources */ function getElementResources($element,$element_id,$resource_type='') { @@ -765,7 +762,7 @@ class Resource extends CommonObject // Links beetween objects are stored in this table $sql = 'SELECT rowid, resource_id, resource_type, busy, mandatory'; $sql.= ' FROM '.MAIN_DB_PREFIX.'element_resources'; - $sql.= " WHERE element_id='".$element_id."' AND element_type='".$element."'"; + $sql.= " WHERE element_id=".$element_id." AND element_type='".$this->db->escape($element)."'"; if($resource_type) $sql.=" AND resource_type LIKE '%".$resource_type."%'"; $sql .= ' ORDER BY resource_type'; From f7bb2483d8436adac643de02595ed7ccbae2da5b Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Wed, 17 Aug 2016 14:53:51 +0200 Subject: [PATCH 347/476] fix ressource for PGSQL --- htdocs/resource/class/dolresource.class.php | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/htdocs/resource/class/dolresource.class.php b/htdocs/resource/class/dolresource.class.php index 72c77ef7108..dab3bf6e735 100644 --- a/htdocs/resource/class/dolresource.class.php +++ b/htdocs/resource/class/dolresource.class.php @@ -409,10 +409,9 @@ class Dolresource extends CommonObject $num = $this->db->num_rows($resql); if ($num) { - $i = 0; - while ($i < $num) + $this->lines=array(); + while ($obj = $this->db->fetch_object($resql)) { - $obj = $this->db->fetch_object($resql); $line = new Dolresource($this->db); $line->id = $obj->rowid; $line->ref = $obj->ref; @@ -420,8 +419,7 @@ class Dolresource extends CommonObject $line->fk_code_type_resource = $obj->fk_code_type_resource; $line->type_label = $obj->type_label; - $this->lines[$i] = $line; - $i++; + $this->lines[] = $line; } $this->db->free($resql); } @@ -482,10 +480,8 @@ class Dolresource extends CommonObject $num = $this->db->num_rows($resql); if ($num) { - $i = 0; - while ($i < $num) + while ($obj = $this->db->fetch_object($resql)) { - $obj = $this->db->fetch_object($resql); $line = new Dolresource($this->db); $line->id = $obj->rowid; $line->resource_id = $obj->resource_id; @@ -500,9 +496,8 @@ class Dolresource extends CommonObject $line->objresource = fetchObjectByElement($obj->resource_id,$obj->resource_type); if($obj->element_id && $obj->element_type) $line->objelement = fetchObjectByElement($obj->element_id,$obj->element_type); - $this->lines[$i] = $line; + $this->lines[] = $line; - $i++; } $this->db->free($resql); } @@ -581,8 +576,6 @@ class Dolresource extends CommonObject $line->fk_user_create = $obj->fk_user_create; $this->lines[] = fetchObjectByElement($obj->resource_id,$obj->resource_type); - - $i++; } $this->db->free($resql); } @@ -766,7 +759,7 @@ class Dolresource extends CommonObject // Links beetween objects are stored in this table $sql = 'SELECT rowid, resource_id, resource_type, busy, mandatory'; $sql.= ' FROM '.MAIN_DB_PREFIX.'element_resources'; - $sql.= " WHERE element_id='".$element_id."' AND element_type='".$element."'"; + $sql.= " WHERE element_id=".$element_id." AND element_type='".$element."'"; if($resource_type) $sql.=" AND resource_type LIKE '%".$resource_type."%'"; $sql .= ' ORDER BY resource_type'; From 906508ec6f4f450c5dcc01caf97d610e2e2528cc Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 17 Aug 2016 15:40:17 +0200 Subject: [PATCH 348/476] Close #4666 --- htdocs/cron/card.php | 22 +- htdocs/cron/class/cronjob.class.php | 3 - htdocs/cron/list.php | 368 +++++++++++++++++----------- htdocs/langs/en_US/cron.lang | 4 +- htdocs/theme/eldy/style.css.php | 4 +- htdocs/theme/md/style.css.php | 4 +- 6 files changed, 249 insertions(+), 156 deletions(-) diff --git a/htdocs/cron/card.php b/htdocs/cron/card.php index 13bc2624966..ef1adf44441 100644 --- a/htdocs/cron/card.php +++ b/htdocs/cron/card.php @@ -316,9 +316,9 @@ if (($action=="create") || ($action=="edit")) print '
    '.$langs->trans("TotalMargin").''; +print '
    '.$langs->trans("TotalMargin").''; print ''; // set by jquery (see below) print '
    '.$langs->trans("MarginRate").''; + print '
    '.$langs->trans("MarginRate").''; print ''; // set by jquery (see below) print '
    '.$langs->trans("MarkRate").''; + print '
    '.$langs->trans("MarkRate").''; print ''; // set by jquery (see below) print '
    '; - print dol_print_date($db->jdate($objp->date_delivery), 'day'); - print ''; + print dol_print_date($db->jdate($objp->date_delivery), 'day'); + print ''.price($objp->total_ht).''; From ba8c2dbf9fff701cfb35c848f4efe7615191ce1b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 17 Aug 2016 11:39:11 +0200 Subject: [PATCH 341/476] Fix order of module for demo. --- htdocs/core/modules/modHRM.class.php | 6 +++--- htdocs/langs/en_US/multicurrency.lang | 3 ++- htdocs/public/demo/index.php | 9 ++++++--- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/htdocs/core/modules/modHRM.class.php b/htdocs/core/modules/modHRM.class.php index 174158ac7e2..f370c78b25e 100644 --- a/htdocs/core/modules/modHRM.class.php +++ b/htdocs/core/modules/modHRM.class.php @@ -44,13 +44,13 @@ class modHRM extends DolibarrModules $this->family = "hr"; // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) - $this->name = preg_replace ( '/^mod/i', '', get_class ( $this ) ); - $this->description = "Gestion des ressources humaines"; + $this->name = preg_replace( '/^mod/i', '', get_class($this)); + $this->description = "Management of employees carrier and feelings"; // Possible values for version are: 'development', 'experimental', 'dolibarr' or version $this->version = 'development'; - $this->const_name = 'MAIN_MODULE_' . strtoupper ( $this->name ); + $this->const_name = 'MAIN_MODULE_' . strtoupper($this->name); $this->special = 0; // $this->picto = ''; diff --git a/htdocs/langs/en_US/multicurrency.lang b/htdocs/langs/en_US/multicurrency.lang index b75942ebb44..10d84a5edc6 100644 --- a/htdocs/langs/en_US/multicurrency.lang +++ b/htdocs/langs/en_US/multicurrency.lang @@ -1,4 +1,5 @@ -# ADMIN +# Dolibarr language file - Source file is en_US - multicurrency +MultiCurrency=Multi currency ErrorAddRateFail=Error in added rate ErrorAddCurrencyFail=Error in added currency ErrorDeleteCurrencyFail=Error delete fail diff --git a/htdocs/public/demo/index.php b/htdocs/public/demo/index.php index 1dd8fc461e0..e50193d8d51 100644 --- a/htdocs/public/demo/index.php +++ b/htdocs/public/demo/index.php @@ -90,7 +90,7 @@ if (empty($reshook)) 'mailmanspip','notification','oauth','syslog','user','webservices', // Extended modules 'memcached','numberwords','zipautofillfr'); - $alwayshiddenuncheckedmodules=array('ftp','webservicesclient','websites', + $alwayshiddenuncheckedmodules=array('ftp','hrm','webservicesclient','websites', // Extended modules 'awstats','bittorrent','bootstrap','cabinetmed','cmcic','concatpdf','customfield','deplacement','dolicloud','filemanager','lightbox','mantis','monitoring','moretemplates','multicompany','nltechno','numberingpack','openstreetmap', 'ovh','phenix','phpsysinfo','pibarcode','postnuke','selectbank','skincoloreditor','submiteverywhere','survey','thomsonphonebook','topten','tvacerfa','voyage','webcalendar','webmail'); @@ -375,8 +375,11 @@ foreach ($demoprofiles as $profilearray) $listofdisabledmodules=explode(',',$profilearray['disablemodules']); $j=0; $nbcolsmod=empty($conf->dol_optimize_smallscreen)?4:3; - foreach($modules as $val) // Loop on qualified (enabled) modules + //var_dump($modules); + foreach($orders as $index => $key) // Loop on qualified (enabled) modules { + //print $index.' '.$key; + $val = $modules[$index]; $modulekeyname=strtolower($val->name); $modulequalified=1; @@ -454,7 +457,7 @@ if (! empty($conf->google->enabled) && ! empty($conf->global->MAIN_GOOGLE_AD_CLI } else { - print ''."\n"; + print ''."\n"; } } From caa0dd75aa38faf16d90e9fa11576d7da0644a7b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 17 Aug 2016 11:47:39 +0200 Subject: [PATCH 342/476] Fix responsive design on small smartphone --- htdocs/core/class/html.formother.class.php | 2 +- htdocs/langs/en_US/boxes.lang | 2 +- htdocs/theme/eldy/style.css.php | 1 + htdocs/theme/md/style.css.php | 1 + 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/htdocs/core/class/html.formother.class.php b/htdocs/core/class/html.formother.class.php index 2a1d5f5fdaa..26ddd33f0a2 100644 --- a/htdocs/core/class/html.formother.class.php +++ b/htdocs/core/class/html.formother.class.php @@ -1030,7 +1030,7 @@ class FormOther $selectboxlist.=''; $selectboxlist.=''; $selectboxlist.=''; - $selectboxlist.=Form::selectarray('boxcombo', $arrayboxtoactivatelabel, '', $langs->trans("ChooseBoxToAdd").'...', 0, 0, '', 0, 0, 0, 'ASC', 'maxwidth200onsmartphone', 0, ' disabled hidden selected'); + $selectboxlist.=Form::selectarray('boxcombo', $arrayboxtoactivatelabel, '', $langs->trans("ChooseBoxToAdd").'...', 0, 0, '', 0, 0, 0, 'ASC', 'maxwidth150onsmartphone', 0, ' disabled hidden selected'); if (empty($conf->use_javascript_ajax)) $selectboxlist.=' '; $selectboxlist.=''; } diff --git a/htdocs/langs/en_US/boxes.lang b/htdocs/langs/en_US/boxes.lang index 2e85ba36f1f..0cd7cac6a6b 100644 --- a/htdocs/langs/en_US/boxes.lang +++ b/htdocs/langs/en_US/boxes.lang @@ -81,4 +81,4 @@ ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals LastXMonthRolling=The latest %s month rolling -ChooseBoxToAdd=Add widget to your dashboard... +ChooseBoxToAdd=Add widget to your dashboard diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index 092188f5616..48930bbd9f7 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -650,6 +650,7 @@ div.myavailability { .noenlargeonsmartphone { width : 50px !important; display: inline !important; } .maxwidthonsmartphone { max-width: 100px; } .maxwidth100onsmartphone { max-width: 100px; } + .maxwidth150onsmartphone { max-width: 150px; } .maxwidth200onsmartphone { max-width: 200px; } .maxwidth300onsmartphone { max-width: 300px; } .maxwidth400onsmartphone { max-width: 400px; } diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php index 0a54d06b1ac..d9d9d7622af 100644 --- a/htdocs/theme/md/style.css.php +++ b/htdocs/theme/md/style.css.php @@ -648,6 +648,7 @@ div.myavailability { .noenlargeonsmartphone { width : 50px !important; display: inline !important; } .maxwidthonsmartphone { max-width: 100px; } .maxwidth100onsmartphone { max-width: 100px; } + .maxwidth150onsmartphone { max-width: 150px; } .maxwidth200onsmartphone { max-width: 200px; } .maxwidth300onsmartphone { max-width: 300px; } .maxwidth400onsmartphone { max-width: 400px; } From 2afc567a5304660232f6f1932923980c56fb2660 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 17 Aug 2016 11:58:55 +0200 Subject: [PATCH 343/476] Fix fiter on contract date --- htdocs/contrat/list.php | 48 +++++++++++++++++++++++++++++------------ 1 file changed, 34 insertions(+), 14 deletions(-) diff --git a/htdocs/contrat/list.php b/htdocs/contrat/list.php index cd0c934ead2..9e0bf8a022d 100644 --- a/htdocs/contrat/list.php +++ b/htdocs/contrat/list.php @@ -30,6 +30,7 @@ require ("../main.inc.php"); require_once (DOL_DOCUMENT_ROOT."/contrat/class/contrat.class.php"); require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; $langs->load("contracts"); $langs->load("products"); @@ -45,6 +46,9 @@ $socid=GETPOST('socid'); $search_user=GETPOST('search_user','int'); $search_sale=GETPOST('search_sale','int'); $search_product_category=GETPOST('search_product_category','int'); +$day=GETPOST("day","int"); +$year=GETPOST("year","int"); +$month=GETPOST("month","int"); $optioncss = GETPOST('optioncss','alpha'); @@ -117,6 +121,9 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") || GETP $sall=""; $search_status=""; $search_array_options=array(); + $day=''; + $month=''; + $year=''; } @@ -154,23 +161,27 @@ $sql.= ' AND c.entity IN ('.getEntity('contract', 1).')'; if ($search_product_category > 0) $sql.=" AND cp.fk_categorie = ".$search_product_category; if ($socid) $sql.= " AND s.rowid = ".$db->escape($socid); if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; - -if ($search_name) { - $sql .= natural_search('s.nom', $search_name); +if ($month > 0) +{ + if ($year > 0 && empty($day)) + $sql.= " AND c.date_contrat BETWEEN '".$db->idate(dol_get_first_day($year,$month,false))."' AND '".$db->idate(dol_get_last_day($year,$month,false))."'"; + else if ($year > 0 && ! empty($day)) + $sql.= " AND c.date_contrat BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $month, $day, $year))."' AND '".$db->idate(dol_mktime(23, 59, 59, $month, $day, $year))."'"; + else + $sql.= " AND date_format(c.date_contrat, '%m') = '".$month."'"; } -if ($search_contract) { - $sql .= natural_search(array('c.rowid', 'c.ref'), $search_contract); -} -if (!empty($search_ref_supplier)) { - $sql .= natural_search(array('c.ref_supplier'), $search_ref_supplier); +else if ($year > 0) +{ + $sql.= " AND c.date_contrat BETWEEN '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'"; } +if ($search_name) $sql .= natural_search('s.nom', $search_name); +if ($search_contract) $sql .= natural_search(array('c.rowid', 'c.ref'), $search_contract); +if (!empty($search_ref_supplier)) $sql .= natural_search(array('c.ref_supplier'), $search_ref_supplier); if ($search_sale > 0) { $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$search_sale; } -if ($sall) { - $sql .= natural_search(array_keys($fieldstosearchall), $sall); -} +if ($sall) $sql .= natural_search(array_keys($fieldstosearchall), $sall); if ($search_user > 0) $sql.= " AND ec.fk_c_type_contact = tc.rowid AND tc.element='contrat' AND tc.source='internal' AND ec.element_id = c.rowid AND ec.fk_socpeople = ".$search_user; $sql.= " GROUP BY c.rowid, c.ref, c.datec, c.date_contrat, c.statut, c.ref_customer, c.ref_supplier, s.nom, s.rowid"; $totalnboflines=0; @@ -292,8 +303,17 @@ if ($resql) print ''; print ''; print ' '; + //print $langs->trans('Month').': '; + if (! empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) print ''; + print ''; + //print ' '.$langs->trans('Year').': '; + $syear = $year; + $formother->select_year($syear,'year',1, 20, 5); + print ''; $searchpitco=$form->showFilterAndCheckAddButtons(0); print $searchpitco; @@ -358,7 +378,7 @@ if ($resql) print ''.dol_print_date($db->jdate($obj->date_contrat)).''.dol_print_date($db->jdate($obj->date_contrat), 'day').''.$staticcontrat->LibStatut($obj->statut,3).''.($obj->nb_initial>0?$obj->nb_initial:'').''.($obj->nb_running>0?$obj->nb_running:'').'
    '; - print '"; - print ""; print ""; @@ -496,7 +496,7 @@ if (($action=="create") || ($action=="edit")) print ""; print "\n"; - print '
    '; + print '
    '; print $langs->trans('CronLabel')."label."\" /> "; + print "label."\" /> "; print ""; print "
    '; + print '
    '; $maxrun=''; if (!empty($object->maxrun)) { $maxrun=$object->maxrun; @@ -552,7 +552,7 @@ else // box add_jobs_box print ''; - print '"; print "\n"; @@ -614,7 +614,7 @@ else print '
    '; + print '
    '; print $langs->trans('CronId')."".$form->showrefnav($object, 'id', $linkback, 1, 'rowid', 'id', '', '', 0); print "
    '; - print ""; print ""; - print '"; @@ -653,11 +653,13 @@ else print $langs->trans('CronDtNextLaunch'); print ' ('.$langs->trans('CronFrom').')'; print ""; print '
    "; + print '
    '; print $langs->trans('CronEvery').""; if($object->unitfrequency == "60") print $langs->trans('CronEach')." ".($object->frequency)." ".$langs->trans('Minutes'); @@ -623,7 +623,7 @@ else if($object->unitfrequency == "604800") print $langs->trans('CronEach')." ".($object->frequency)." ".$langs->trans('Weeks'); print "
    '; + print '
    '; print $langs->trans('CronDtStart').""; if(!empty($object->datestart)) {print dol_print_date($object->datestart,'dayhoursec');} print "
    "; - print ''; - if (!empty($object->datenextrun)) {print dol_print_date($object->datenextrun,'dayhoursec');} else {print $langs->trans('CronNone');} + //print ''; + if (! $object->status) print $langs->trans("Disabled"); + elseif (!empty($object->datenextrun)) { print img_picto('','object_calendarday').' '.dol_print_date($object->datenextrun,'dayhoursec');} + else {print $langs->trans('CronNone');} + //print ''; if ($object->maxnbrun && $object->nbrun >= $object->maxrun) print img_warning($langs->trans("Finished")); if ($object->datenextrun && $object->datenextrun < $now) print img_warning($langs->trans("Late")); - print ''; print "
    '; @@ -666,7 +668,7 @@ else print ''; - print '"; diff --git a/htdocs/cron/class/cronjob.class.php b/htdocs/cron/class/cronjob.class.php index 99b17da3899..b60ad5c963a 100644 --- a/htdocs/cron/class/cronjob.class.php +++ b/htdocs/cron/class/cronjob.class.php @@ -411,9 +411,6 @@ class Cronjob extends CommonObject $sqlwhere = array(); - if (!empty($module_name)) { - $sqlwhere[]='(t.module_name='.$module_name.')'; - } if (count($sqlwhere)>0) { $sql.= " WHERE ".implode(' AND ',$sqlwhere); } diff --git a/htdocs/cron/list.php b/htdocs/cron/list.php index b6ad4a8d2aa..10f9b954cb1 100644 --- a/htdocs/cron/list.php +++ b/htdocs/cron/list.php @@ -39,31 +39,38 @@ $action=GETPOST('action','alpha'); $confirm=GETPOST('confirm','alpha'); $id=GETPOST('id','int'); -$limit = GETPOST('limit')?GETPOST('limit','int'):$conf->liste_limit; +$limit = GETPOST("limit")?GETPOST("limit","int"):$conf->liste_limit; $sortfield = GETPOST("sortfield",'alpha'); $sortorder = GETPOST("sortorder",'alpha'); $page = GETPOST("page",'int'); -if ($page == -1) { - $page = 0; -} +if ($page == -1) { $page = 0; } $offset = $limit * $page; -if (! $sortorder) $sortorder='ASC'; -if (! $sortfield) $sortfield='t.label'; $pageprev = $page - 1; $pagenext = $page + 1; +if (! $sortfield) $sortfield='t.status'; +if (! $sortorder) $sortorder='ASC'; + +// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array +$contextpage='cronjoblist'; $status=GETPOST('status','int'); if ($status == '') $status=-2; //Search criteria $search_label=GETPOST("search_label",'alpha'); - -if (empty($sortorder)) $sortorder="DESC"; -if (empty($sortfield)) $sortfield="t.status"; if (empty($arch)) $arch = 0; -if ($page == -1) { - $page = 0 ; -} + +$diroutputmassaction=$conf->cronjob->dir_output . '/temp/massgeneration/'.$user->id; + +// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array +$hookmanager->initHooks(array('cronjoblist')); +$extrafields = new ExtraFields($db); + +// fetch optionals attributes and labels +$extralabels = $extrafields->fetch_name_optionals_label('cronjob'); +$search_array_options=$extrafields->getOptionalsFromPost($extralabels,'','search_'); + +$object = new Cronjob($db); /* @@ -71,7 +78,7 @@ if ($page == -1) { */ // Do we click on purge search criteria ? -if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both test are required to be compatible with all browsers +if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") || GETPOST("button_removefilter")) // All test are required to be compatible with all browsers { $search_label=''; $status=-1; @@ -141,110 +148,195 @@ $pagetitle=$langs->trans("CronList"); llxHeader('',$pagetitle); -// list of jobs created -// TODO Replace this with an embedded select. -$object = new Cronjob($db); -$result=$object->fetch_all($sortorder, $sortfield, $limit, $offset, $status, $filter); -if ($result < 0) -{ - setEventMessages($object->error, $object->errors, 'errors'); + +$sql = "SELECT"; +$sql.= " t.rowid,"; +$sql.= " t.tms,"; +$sql.= " t.datec,"; +$sql.= " t.jobtype,"; +$sql.= " t.label,"; +$sql.= " t.command,"; +$sql.= " t.classesname,"; +$sql.= " t.objectname,"; +$sql.= " t.methodename,"; +$sql.= " t.params,"; +$sql.= " t.md5params,"; +$sql.= " t.module_name,"; +$sql.= " t.priority,"; +$sql.= " t.datelastrun,"; +$sql.= " t.datenextrun,"; +$sql.= " t.dateend,"; +$sql.= " t.datestart,"; +$sql.= " t.lastresult,"; +$sql.= " t.datelastresult,"; +$sql.= " t.lastoutput,"; +$sql.= " t.unitfrequency,"; +$sql.= " t.frequency,"; +$sql.= " t.status,"; +$sql.= " t.fk_user_author,"; +$sql.= " t.fk_user_mod,"; +$sql.= " t.note,"; +$sql.= " t.nbrun,"; +$sql.= " t.libname,"; +$sql.= " t.test"; +$sql.= " FROM ".MAIN_DB_PREFIX."cronjob as t"; +$sql.= " WHERE 1 = 1"; +if ($status >= 0 && $status < 2) $sql.= " AND t.status = ".(empty($status)?'0':'1'); +if ($status == 2) $sql.= " AND t.status = 2"; +//Manage filter +if (is_array($filter) && count($filter)>0) { + foreach($filter as $key => $value) { + $sql.= ' AND '.$key.' LIKE \'%'.$value.'%\''; + } } -$nbtotalofrecord=0; -$num=count($object->lines); - -$param='&page='.$page.'&status='.$status.'&search_label='.$search_label; - -$stringcurrentdate = $langs->trans("CurrentHour").': '.dol_print_date(dol_now(), 'dayhour'); - - - -if ($action == 'delete') +$sqlwhere = array(); +if (!empty($module_name)) { + $sqlwhere[]='(t.module_name='.$module_name.')'; +} +if (count($sqlwhere)>0) { + $sql.= " WHERE ".implode(' AND ',$sqlwhere); +} +// Add where from extra fields +foreach ($search_array_options as $key => $val) { - print $form->formconfirm($_SERVER['PHP_SELF']."?id=".$id.'&status='.$status,$langs->trans("CronDelete"),$langs->trans("CronConfirmDelete"),"confirm_delete",'','',1); + $crit=$val; + $tmpkey=preg_replace('/search_options_/','',$key); + $typ=$extrafields->attribute_type[$tmpkey]; + $mode=0; + if (in_array($typ, array('int','double'))) $mode=1; // Search on a numeric + if ($val && ( ($crit != '' && ! in_array($typ, array('select'))) || ! empty($crit))) + { + $sql .= natural_search('ef.'.$tmpkey, $crit, $mode); + } +} +// Add where from hooks +$parameters=array(); +$reshook=$hookmanager->executeHooks('printFieldListWhere',$parameters); // Note that $action and $object may have been modified by hook +$sql.=$hookmanager->resPrint; +$sql.= $db->order($sortfield,$sortorder); + +// Count total nb of records +$nbtotalofrecords = 0; +if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) +{ + $result = $db->query($sql); + $nbtotalofrecords = $db->num_rows($result); } -if ($action == 'execute') -{ - print $form->formconfirm($_SERVER['PHP_SELF']."?id=".$id.'&status='.$status,$langs->trans("CronExecute"),$langs->trans("CronConfirmExecute"),"confirm_execute",'','',1); - -} - - -print ''."\n"; -print ''; -if ($optioncss != '') print ''; -print ''; -print ''; -print ''; -print ''; -print ''; - -print_barre_liste($pagetitle, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $stringcurrentdate, $num, 0, 'title_setup', 0, '', '', $limit); - - -// Line with explanation and button new job -if (! $user->rights->cron->create) -{ - $buttontoshow.=''.$langs->trans("CronCreateJob").''; -} -else -{ - $buttontoshow.=''.$langs->trans("CronCreateJob").''; -} -print '
    '; + print '
    '; print $langs->trans('CronDtLastLaunch').""; if(!empty($object->datelastrun)) {print dol_print_date($object->datelastrun,'dayhoursec');} else {print $langs->trans('CronNone');} print "
    '.$langs->trans('CronInfo').''.$buttontoshow.'
    '; -print '
    '; - - -print ''; -print ''; -print_liste_field_titre($langs->trans("ID"),$_SERVER["PHP_SELF"],"t.rowid","",$param,'',$sortfield,$sortorder); -print_liste_field_titre($langs->trans("CronLabel"),$_SERVER["PHP_SELF"],"t.label","",$param,'',$sortfield,$sortorder); -print_liste_field_titre($langs->trans("CronTask"),'','',"",$param,'',$sortfield,$sortorder); -print_liste_field_titre($langs->trans("CronFrequency"),'',"","",$param,'',$sortfield,$sortorder); -print_liste_field_titre($langs->trans("CronDtStart"),$_SERVER["PHP_SELF"],"t.datestart","",$param,'align="center"',$sortfield,$sortorder); -print_liste_field_titre($langs->trans("CronDtEnd"),$_SERVER["PHP_SELF"],"t.dateend","",$param,'align="center"',$sortfield,$sortorder); -print_liste_field_titre($langs->trans("CronMaxRun"),$_SERVER["PHP_SELF"],"t.maxrun","",$param,'align="right"',$sortfield,$sortorder); -print_liste_field_titre($langs->trans("CronNbRun"),$_SERVER["PHP_SELF"],"t.nbrun","",$param,'align="right"',$sortfield,$sortorder); -print_liste_field_titre($langs->trans("CronDtNextLaunch"),$_SERVER["PHP_SELF"],"t.datenextrun","",$param,'align="center"',$sortfield,$sortorder); -print_liste_field_titre($langs->trans("CronDtLastLaunch"),$_SERVER["PHP_SELF"],"t.datelastrun","",$param,'align="center"',$sortfield,$sortorder); -print_liste_field_titre($langs->trans("CronLastResult"),$_SERVER["PHP_SELF"],"t.lastresult","",$param,'align="center"',$sortfield,$sortorder); -print_liste_field_titre($langs->trans("CronLastOutput"),$_SERVER["PHP_SELF"],"t.lastoutput","",$param,'',$sortfield,$sortorder); -print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"t.status","",$param,'align="center"',$sortfield,$sortorder); -print_liste_field_titre(''); -print "\n"; - -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; +$sql.= $db->plimit($limit+1, $offset); +$result=$db->query($sql); +if (! $result) dol_print_error($db); +$num = $db->num_rows($result); if ($num > 0) { + $param='&status='.$status; + if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.$contextpage; + if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.$limit; + if ($search_label) $param.='&search_label='.$search_label; + if ($optioncss != '') $param.='&optioncss='.$optioncss; + // Add $param from extra fields + foreach ($search_array_options as $key => $val) + { + $crit=$val; + $tmpkey=preg_replace('/search_options_/','',$key); + if ($val != '') $param.='&search_options_'.$tmpkey.'='.urlencode($val); + } + + //$massactionbutton=$form->selectMassAction('', $massaction == 'presend' ? array() : array('presend'=>$langs->trans("SendByMail"), 'builddoc'=>$langs->trans("PDFMerge"))); + + $stringcurrentdate = $langs->trans("CurrentHour").': '.dol_print_date(dol_now(), 'dayhour'); + + if ($action == 'delete') + { + print $form->formconfirm($_SERVER['PHP_SELF']."?id=".$id.'&status='.$status,$langs->trans("CronDelete"),$langs->trans("CronConfirmDelete"),"confirm_delete",'','',1); + } + if ($action == 'execute') + { + print $form->formconfirm($_SERVER['PHP_SELF']."?id=".$id.'&status='.$status,$langs->trans("CronExecute"),$langs->trans("CronConfirmExecute"),"confirm_execute",'','',1); + } + + + print ''."\n"; + print ''; + if ($optioncss != '') print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + + print_barre_liste($pagetitle, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $stringcurrentdate, $num, $nbtotalofrecords, 'title_setup', 0, '', '', $limit); + + + // Line with explanation and button new job + if (! $user->rights->cron->create) + { + $buttontoshow.=''.$langs->trans("CronCreateJob").''; + } + else + { + $buttontoshow.=''.$langs->trans("CronCreateJob").''; + } + print '
     '; -print ''; -print '          '; -print $form->selectarray('status', array('0'=>$langs->trans("Disabled"), '1'=>$langs->trans("Enabled"), '-2'=>$langs->trans("EnabledAndDisabled"), '2'=>$langs->trans("Archived")), $status, 1); -print ''; -print ''; -print ''; -print '
    '.$langs->trans('CronInfo').''.$buttontoshow.'
    '; + print '
    '; + + + print ''; + print ''; + print_liste_field_titre($langs->trans("ID"),$_SERVER["PHP_SELF"],"t.rowid","",$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("CronLabel"),$_SERVER["PHP_SELF"],"t.label","",$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("CronTask"),'','',"",$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("CronFrequency"),'',"","",$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("CronDtStart"),$_SERVER["PHP_SELF"],"t.datestart","",$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("CronDtEnd"),$_SERVER["PHP_SELF"],"t.dateend","",$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("CronMaxRun"),$_SERVER["PHP_SELF"],"t.maxrun","",$param,'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("CronNbRun"),$_SERVER["PHP_SELF"],"t.nbrun","",$param,'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("CronDtNextLaunch"),$_SERVER["PHP_SELF"],"t.datenextrun","",$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("CronDtLastLaunch"),$_SERVER["PHP_SELF"],"t.datelastrun","",$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("CronLastResult"),$_SERVER["PHP_SELF"],"t.lastresult","",$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("CronLastOutput"),$_SERVER["PHP_SELF"],"t.lastoutput","",$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"t.status","",$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre(''); + print "\n"; + + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + // Loop on each job $style='pair'; - foreach($object->lines as $line) + $now = dol_now(); + $i=0; + $var=true; + $totalarray=array(); + while ($i < min($num,$limit)) { - if (! verifCond($line->test)) continue; // Discard line with test = false + $obj = $db->fetch_object($result); + $var=!$var; + + if (! verifCond($obj->test)) continue; // Discard line with test = false // title profil if ($style=='pair') {$style='impair';} @@ -253,16 +345,16 @@ if ($num > 0) print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; // Status print ''; print ''; print ''; + + $i++; } } else diff --git a/htdocs/langs/en_US/cron.lang b/htdocs/langs/en_US/cron.lang index d52433ed267..949703bb06e 100644 --- a/htdocs/langs/en_US/cron.lang +++ b/htdocs/langs/en_US/cron.lang @@ -23,7 +23,7 @@ CronCommand=Command CronList=Scheduled jobs CronDelete=Delete scheduled jobs CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? -CronExecute=Launch scheduled jobs +CronExecute=Launch scheduled job CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronTask=Job @@ -39,7 +39,7 @@ CronMethod=Method CronModule=Module CronNoJobs=No jobs registered CronPriority=Priority -CronLabel=Description +CronLabel=Label CronNbRun=Nb. launch CronMaxRun=Max nb. launch CronEach=Every diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index ad9ab064a6f..d0fed74c7d0 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -2724,9 +2724,9 @@ div.liste_titre, tr.liste_titre, tr.liste_titre_sel, form.liste_titre, form.list border-bottom: 1px solid #FDFFFF; text-align: ; } -tr.liste_titre th, th.liste_titre, form.liste_titre div, div.liste_titre +tr.liste_titre th, tr.liste_titre td, th.liste_titre, form.liste_titre div, div.liste_titre { - border-bottom: 1px solid #FDFFFF; + border-bottom: 1px solid #; } tr.liste_titre th, th.liste_titre, tr.liste_titre td, td.liste_titre, form.liste_titre div, div.liste_titre { diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php index 13ab596db17..a9726641c58 100644 --- a/htdocs/theme/md/style.css.php +++ b/htdocs/theme/md/style.css.php @@ -2604,9 +2604,9 @@ div.liste_titre, tr.liste_titre, tr.liste_titre_sel, form.liste_titre, form.list border-bottom: 1px solid #FDFFFF; text-align: ; } -tr.liste_titre th, th.liste_titre, form.liste_titre div, div.liste_titre +tr.liste_titre th, tr.liste_titre td, th.liste_titre, form.liste_titre div, div.liste_titre { - border-bottom: 1px solid #FDFFFF; + border-bottom: 1px solid #; } tr.liste_titre th, th.liste_titre, tr.liste_titre td, td.liste_titre, form.liste_titre div, div.liste_titre { From 83107746ad77b89f83e6ba9a33825ff9e9c3b911 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 19 Aug 2016 16:18:17 +0200 Subject: [PATCH 349/476] Fix no way to fix the ref of recurring invoice when an error was done into typing. --- htdocs/compta/facture/fiche-rec.php | 214 +++----------------------- htdocs/core/class/html.form.class.php | 10 +- 2 files changed, 29 insertions(+), 195 deletions(-) diff --git a/htdocs/compta/facture/fiche-rec.php b/htdocs/compta/facture/fiche-rec.php index 198b08cb451..6145766e1e4 100644 --- a/htdocs/compta/facture/fiche-rec.php +++ b/htdocs/compta/facture/fiche-rec.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004-2015 Laurent Destailleur + * Copyright (C) 2004-2016 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Florian Henry * Copyright (C) 2013 Juanjo Menent @@ -266,6 +266,16 @@ elseif ($action == 'classin' && $user->rights->facture->creer) $object->setProject(GETPOST('projectid', 'int')); } // Set bank account +elseif ($action == 'setref' && $user->rights->facture->creer) +{ + $result=$object->setValueFrom('titre', GETPOST('ref', 'alpha')); + if ($result > 0) + { + $object->titre = GETPOST('ref', 'alpha'); + $object->ref = $object->titre; + } +} +// Set bank account elseif ($action == 'setbankaccount' && $user->rights->facture->creer) { $result=$object->setBankAccount(GETPOST('fk_account', 'int')); @@ -840,15 +850,15 @@ if ($action == 'create') $object->fetch_thirdparty(); + // Title + print ''; + // Third party print ''; print ''; - // Title - print ''; - // Note public print '
     '; + print ''; + print '          '; + print $form->selectarray('status', array('0'=>$langs->trans("Disabled"), '1'=>$langs->trans("Enabled"), '-2'=>$langs->trans("EnabledAndDisabled"), '2'=>$langs->trans("Archived")), $status, 1); + print ''; + print ''; + print ''; + print '
    '; - print ''; + print ''; print img_picto('', 'object_cron').' '; - print $line->id; + print $obj->rowid; print ''; print ''; - if (! empty($line->label)) + if (! empty($obj->label)) { - print ''.$langs->trans($line->label).''; + print ''.$langs->trans($obj->label).''; } else { @@ -271,86 +363,86 @@ if ($num > 0) print ''; - if ($line->jobtype=='method') + if ($obj->jobtype=='method') { $text=$langs->trans("CronClass"); - $texttoshow=$langs->trans('CronModule').': '.$line->module_name.'
    '; - $texttoshow.=$langs->trans('CronClass').': '. $line->classesname.'
    '; - $texttoshow.=$langs->trans('CronObject').': '. $line->objectname.'
    '; - $texttoshow.=$langs->trans('CronMethod').': '. $line->methodename; - $texttoshow.='
    '.$langs->trans('CronArgs').': '. $line->params; - $texttoshow.='
    '.$langs->trans('Comment').': '. $langs->trans($line->note); + $texttoshow=$langs->trans('CronModule').': '.$obj->module_name.'
    '; + $texttoshow.=$langs->trans('CronClass').': '. $obj->classesname.'
    '; + $texttoshow.=$langs->trans('CronObject').': '. $obj->objectname.'
    '; + $texttoshow.=$langs->trans('CronMethod').': '. $obj->methodename; + $texttoshow.='
    '.$langs->trans('CronArgs').': '. $obj->params; + $texttoshow.='
    '.$langs->trans('Comment').': '. $langs->trans($obj->note); } - elseif ($line->jobtype=='command') + elseif ($obj->jobtype=='command') { $text=$langs->trans('CronCommand'); - $texttoshow=$langs->trans('CronCommand').': '.dol_trunc($line->command); - $texttoshow.='
    '.$langs->trans('CronArgs').': '. $line->params; - $texttoshow.='
    '.$langs->trans('Comment').': '. $langs->trans($line->note); + $texttoshow=$langs->trans('CronCommand').': '.dol_trunc($obj->command); + $texttoshow.='
    '.$langs->trans('CronArgs').': '. $obj->params; + $texttoshow.='
    '.$langs->trans('Comment').': '. $langs->trans($obj->note); } print $form->textwithpicto($text, $texttoshow, 1); print '
    '; - if($line->unitfrequency == "60") print $langs->trans('CronEach')." ".($line->frequency)." ".$langs->trans('Minutes'); - if($line->unitfrequency == "3600") print $langs->trans('CronEach')." ".($line->frequency)." ".$langs->trans('Hours'); - if($line->unitfrequency == "86400") print $langs->trans('CronEach')." ".($line->frequency)." ".$langs->trans('Days'); - if($line->unitfrequency == "604800") print $langs->trans('CronEach')." ".($line->frequency)." ".$langs->trans('Weeks'); + if($obj->unitfrequency == "60") print $langs->trans('CronEach')." ".($obj->frequency)." ".$langs->trans('Minutes'); + if($obj->unitfrequency == "3600") print $langs->trans('CronEach')." ".($obj->frequency)." ".$langs->trans('Hours'); + if($obj->unitfrequency == "86400") print $langs->trans('CronEach')." ".($obj->frequency)." ".$langs->trans('Days'); + if($obj->unitfrequency == "604800") print $langs->trans('CronEach')." ".($obj->frequency)." ".$langs->trans('Weeks'); print ''; - if(!empty($line->datestart)) {print dol_print_date($line->datestart,'dayhour');} + if(!empty($obj->datestart)) {print dol_print_date($obj->datestart,'dayhour');} print ''; - if(!empty($line->dateend)) {print dol_print_date($line->dateend,'dayhour');} + if(!empty($obj->dateend)) {print dol_print_date($obj->dateend,'dayhour');} print ''; - if (!empty($line->maxrun)) {print $line->maxrun;} + if (!empty($obj->maxrun)) {print $obj->maxrun;} print ''; - if (!empty($line->nbrun)) {print $line->nbrun;} else {print '0';} + if (!empty($obj->nbrun)) {print $obj->nbrun;} else {print '0';} print ''; - if(!empty($line->datenextrun)) {print dol_print_date($line->datenextrun,'dayhour');} + if(!empty($obj->datenextrun)) {print dol_print_date($obj->datenextrun,'dayhour');} print ''; - if(!empty($line->datelastrun)) {print dol_print_date($line->datelastrun,'dayhour');} + if(!empty($obj->datelastrun)) {print dol_print_date($obj->datelastrun,'dayhour');} print ''; - if ($line->lastresult != '') {print dol_trunc($line->lastresult);} + if ($obj->lastresult != '') {print dol_trunc($obj->lastresult);} print ''; - if(!empty($line->lastoutput)) {print dol_trunc(nl2br($line->lastoutput),50);} + if(!empty($obj->lastoutput)) {print dol_trunc(nl2br($obj->lastoutput),50);} print ''; - if ($line->status == 1) print $langs->trans("Enabled"); - elseif ($line->status == 2) print $langs->trans("Archived"); + if ($obj->status == 1) print $langs->trans("Enabled"); + elseif ($obj->status == 2) print $langs->trans("Archived"); else print $langs->trans("Disabled"); print ''; if ($user->rights->cron->create) { - print "id."&action=edit".($sortfield?'&sortfield='.$sortfield:'').($sortorder?'&sortorder='.$sortorder:'').$param."&backtourl=".urlencode($_SERVER["PHP_SELF"])."\" title=\"".dol_escape_htmltag($langs->trans('Edit'))."\">".img_picto($langs->trans('Edit'),'edit')."  "; + print "rowid."&action=edit".($sortfield?'&sortfield='.$sortfield:'').($sortorder?'&sortorder='.$sortorder:'').$param."&backtourl=".urlencode($_SERVER["PHP_SELF"])."\" title=\"".dol_escape_htmltag($langs->trans('Edit'))."\">".img_picto($langs->trans('Edit'),'edit')."  "; } if ($user->rights->cron->delete) { - print "id."&action=delete".($sortfield?'&sortfield='.$sortfield:'').($sortorder?'&sortorder='.$sortorder:'').$param."\" title=\"".dol_escape_htmltag($langs->trans('CronDelete'))."\">".img_picto($langs->trans('CronDelete'),'delete')."  "; + print "rowid."&action=delete".($sortfield?'&sortfield='.$sortfield:'').($sortorder?'&sortorder='.$sortorder:'').$param."\" title=\"".dol_escape_htmltag($langs->trans('CronDelete'))."\">".img_picto($langs->trans('CronDelete'),'delete')."  "; } else { print "trans('NotEnoughPermissions'))."\">".img_picto($langs->trans('NotEnoughPermissions'), 'delete')."   "; } if ($user->rights->cron->execute) { - if (!empty($line->status)) print "id."&action=execute".($sortfield?'&sortfield='.$sortfield:'').($sortorder?'&sortorder='.$sortorder:'').$param."\" title=\"".dol_escape_htmltag($langs->trans('CronExecute'))."\">".img_picto($langs->trans('CronExecute'),"play").""; + if (!empty($obj->status)) print "rowid."&action=execute".($sortfield?'&sortfield='.$sortfield:'').($sortorder?'&sortorder='.$sortorder:'').$param."\" title=\"".dol_escape_htmltag($langs->trans('CronExecute'))."\">".img_picto($langs->trans('CronExecute'),"play").""; else print "trans('JobDisabled'))."\">".img_picto($langs->trans('JobDisabled'),"play").""; } else { print "trans('NotEnoughPermissions'))."\">".img_picto($langs->trans('NotEnoughPermissions'),"play").""; @@ -358,6 +450,8 @@ if ($num > 0) print '
    '.$langs->trans("Title").''; + print ''; + print '
    '.$langs->trans("Customer").''.$object->thirdparty->getNomUrl(1,'customer').'
    '.$langs->trans("Title").''; - print ''; - print '
    '.$langs->trans("NotePublic").''; print ''; @@ -950,176 +960,7 @@ if ($action == 'create') } print "
    \n"; - - /* - print ''; - print ''; if ($flag_price_may_change) @@ -1178,20 +1019,13 @@ else $linkback = '' . $langs->trans("BackToList") . ''; // Ref - print ''; - print ''; + print ''; diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index 2929044a858..cebb623823a 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -5580,15 +5580,15 @@ class Form * @param string $paramid Name of parameter to use to name the id into the URL next/previous link * @param string $morehtml More html content to output just before the nav bar * @param int $shownav Show Condition (navigation is shown if value is 1) - * @param string $fieldid Nom du champ en base a utiliser pour select next et previous (we make the select max and min on this field) - * @param string $fieldref Nom du champ objet ref (object->ref) a utiliser pour select next et previous + * @param string $fieldid Name of field id into database to use for select next and previous (we make the select max and min on this field) + * @param string $fieldref Name of field ref of object (object->ref) to show or 'none' to not show ref. * @param string $morehtmlref More html to show after ref * @param string $moreparam More param to add in nav link url. * @param int $nodbprefix Do not include DB prefix to forge table name * @param string $morehtmlleft More html code to show before ref * @param string $morehtmlstatus More html code to show under navigation arrows (status place) * @param string $morehtmlright More html code to show after ref - * @return string Portion HTML avec ref + boutons nav + * @return string Portion HTML with ref + navigation buttons */ function showrefnav($object,$paramid,$morehtml='',$shownav=1,$fieldid='rowid',$fieldref='ref',$morehtmlref='',$moreparam='',$nodbprefix=0,$morehtmlleft='',$morehtmlstatus='',$morehtmlright='') { @@ -5613,7 +5613,7 @@ class Form $ret.='
    '; - // For thirdparty and contact, the ref is the id, so we show something else + // For thirdparty, contact, user, member, the ref is the id, so we show something else if ($object->element == 'societe') { $ret.=dol_htmlentities($object->name); @@ -5622,7 +5622,7 @@ class Form { $ret.=dol_htmlentities($object->getFullName($langs)); } - else $ret.=dol_htmlentities($object->$fieldref); + else if ($fieldref != 'none') $ret.=dol_htmlentities($object->$fieldref); if ($morehtmlref) { $ret.=' '.$morehtmlref; From 919b73b4c472a548065c265c841781dce188d0b0 Mon Sep 17 00:00:00 2001 From: philippe grand Date: Fri, 19 Aug 2016 16:29:54 +0200 Subject: [PATCH 350/476] fix : translation --- htdocs/admin/ihm.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/admin/ihm.php b/htdocs/admin/ihm.php index 51d0a6174c8..3147538c8fe 100644 --- a/htdocs/admin/ihm.php +++ b/htdocs/admin/ihm.php @@ -167,7 +167,7 @@ if ($action == 'edit') // Edit print '
    '; print ''; - // Multilangual GUI + // Multilingual GUI $var=!$var; print ''; if (! empty($arrayfields['p.ref']['checked'])) { print ''; + print ''; } if (! empty($arrayfields['d.lastname']['checked'])) From 5e88de7e2ca795e8a55fe686c067d57894b376d7 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 28 Aug 2016 15:21:09 +0200 Subject: [PATCH 374/476] Fix field customer/prospect/supplier in list of thirdparties --- htdocs/core/class/html.form.class.php | 2 +- htdocs/societe/list.php | 82 +++++++++++++++------------ 2 files changed, 46 insertions(+), 38 deletions(-) diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index cebb623823a..40b03f2286a 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -5056,8 +5056,8 @@ class Form
    '.img_picto('','list').' - +
    diff --git a/htdocs/societe/list.php b/htdocs/societe/list.php index e4e67ba7eab..af840283223 100644 --- a/htdocs/societe/list.php +++ b/htdocs/societe/list.php @@ -159,7 +159,8 @@ $arrayfields=array( 's.idprof4'=>array('label'=>$langs->trans("ProfId4Short"), 'checked'=>$checkedprofid4), 's.idprof5'=>array('label'=>$langs->trans("ProfId5Short"), 'checked'=>$checkedprofid5), 's.idprof6'=>array('label'=>$langs->trans("ProfId6Short"), 'checked'=>$checkedprofid6), - 's.fk_prospectlevel'=>array('label'=>$langs->trans("ProspectLevelShort"), 'checked'=>$checkprospectlevel), + 'customerorsupplier'=>array('label'=>'Nature', 'checked'=>1), + 's.fk_prospectlevel'=>array('label'=>$langs->trans("ProspectLevelShort"), 'checked'=>$checkprospectlevel), 's.fk_stcomm'=>array('label'=>$langs->trans("StatusProsp"), 'checked'=>$checkstcomm), 's.datec'=>array('label'=>$langs->trans("DateCreation"), 'checked'=>0, 'position'=>500), 's.tms'=>array('label'=>$langs->trans("DateModificationShort"), 'checked'=>0, 'position'=>500), @@ -567,6 +568,8 @@ if (! empty($moreforfilter)) $varpage=empty($contextpage)?$_SERVER["PHP_SELF"]:$contextpage; $selectedfields=$form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields +if (empty($arrayfields['customerorsupplier']['checked'])) print ''; + print '
    '; - - $sql = 'SELECT l.fk_product, l.product_type, l.label as custom_label, l.description, l.qty, l.rowid, l.tva_tx,'; - $sql.= ' l.fk_remise_except,'; - $sql.= ' l.remise_percent, l.subprice, l.info_bits,'; - $sql.= ' l.total_ht, l.total_tva as total_vat, l.total_ttc,'; - $sql.= ' l.date_start,'; - $sql.= ' l.date_end,'; - $sql.= ' l.product_type,'; - $sql.= ' l.fk_unit,'; - $sql.= ' p.ref, p.fk_product_type, p.label as product_label,'; - $sql.= ' p.description as product_desc'; - $sql.= " FROM ".MAIN_DB_PREFIX."facturedet as l"; - $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON l.fk_product = p.rowid"; - $sql.= " WHERE l.fk_facture = ".$object->id; - $sql.= " ORDER BY l.rowid"; - - $result = $db->query($sql); - if ($result) - { - $num = $db->num_rows($result); - $i = 0; $total = 0; - - echo ''; - if ($num) - { - print ''; - print ''; - print ''; - print ''; - if ($conf->global->PRODUCT_USE_UNITS) { - print ''; - } - print ''; - print ''; - print ''; - print ''; - print ''; - if (empty($conf->global->PRODUIT_MULTIPRICES)) print ''; - print "\n"; - } - $var=true; - while ($i < $num) - { - $objp = $db->fetch_object($result); - - if ($objp->fk_product > 0) - { - $product = New Product($db); - $product->fetch($objp->fk_product); - } - - $var=!$var; - print ""; - - // Show product and description - $type=(isset($objp->product_type)?$objp->product_type:$objp->fk_product_type); - $product_static->fk_unit=$objp->fk_unit; - - if ($objp->fk_product > 0) - { - print ''; - } - else - { - print '\n"; - } - - // Vat rate - print ''; - - // Qty - print ''; - - if ($conf->global->PRODUCT_USE_UNITS) { - print ''; - } - - // Percent - if ($objp->remise_percent > 0) - { - print '\n"; - } - else - { - print ''; - } - - // Total HT - print '\n"; - - // Total VAT - print '\n"; - - // Total TTC - print '\n"; - - // Total Unit price - print '\n"; - - // Current price of product - if (empty($conf->global->PRODUIT_MULTIPRICES)) - { - if ($objp->fk_product > 0) - { - $flag_price_may_change++; - $prodprice=$product_static->price; // price HT - print '\n"; - } - else - { - print ''; - } - } - - print ""; - - $i++; - } - - $db->free($result); - - } - else - { - print $db->error(); - } - print "
    '.$langs->trans("Description").''.$langs->trans("VAT").''.$langs->trans("Qty").''.$langs->trans("Unit").''.$langs->trans("ReductionShort").''.$langs->trans("TotalHT").''.$langs->trans("TotalVAT").''.$langs->trans("TotalTTC").''.$langs->trans("PriceUHT").''.$langs->trans("CurrentProductPrice").'
    '; - - print ''; // ancre pour retourner sur la ligne - - // Show product and description - $product_static->fetch($objp->fk_product); // We need all information later - $text=$product_static->getNomUrl(1); - $text.= ' - '.(! empty($objp->custom_label)?$objp->custom_label:$objp->product_label); - $description=(! empty($conf->global->PRODUIT_DESC_IN_FORM)?'':dol_htmlentitiesbr($objp->description)); - print $form->textwithtooltip($text,$description,3,'','',$i); - - // Show range - print_date_range($db->jdate($objp->date_start), $db->jdate($objp->date_end)); - - // Add description in form - if (! empty($conf->global->PRODUIT_DESC_IN_FORM)) - print (! empty($objp->description) && $objp->description!=$objp->product_label)?'
    '.dol_htmlentitiesbr($objp->description):''; - - print '
    '; - print ''; // ancre pour retourner sur la ligne - - if ($type==1) $text = img_object($langs->trans('Service'),'service'); - else $text = img_object($langs->trans('Product'),'product'); - - if (! empty($objp->custom_label)) { - - $text.= ' '.$objp->custom_label.''; - print $form->textwithtooltip($text,dol_htmlentitiesbr($objp->description),3,'','',$i); - - } else { - - print $text.' '.nl2br($objp->description); - } - - // Show range - print_date_range($db->jdate($objp->date_start), $db->jdate($objp->date_end)); - - print "'.vatrate($objp->tva_tx).'%'.$objp->qty.''.$product_static->getLabelOfUnit().''.$objp->remise_percent." % '.price($objp->total_ht)."'.price($objp->total_vat)."'.price($objp->total_ttc)."'.price($objp->subprice)."'.price($prodprice)." 
    "; - */ - + print '
    ' . $langs->trans('Ref') . ''; - $morehtmlref = ''; - /* - require_once DOL_DOCUMENT_ROOT . '/core/class/discount.class.php'; - $discount = new DiscountAbsolute($db); - $result = $discount->fetch(0, $object->id); - if ($result > 0) { - $morehtmlref = ' (' . $langs->trans("CreditNoteConvertedIntoDiscount", $discount->getNomUrl(1, 'discount')) . ')'; - } - if ($result < 0) { - dol_print_error('', $discount->error); - }*/ - print $form->showrefnav($object, 'ref', $linkback, 1, 'titre', 'titre', $morehtmlref); + print '
    '; + //print $langs->trans('Ref'); + print $form->editfieldkey($langs->trans("Ref"), 'ref', $object->ref, $object, $user->rights->facture->creer); + print ''; + $morehtmlref = $form->editfieldval($langs->trans("Ref"), 'ref', $object->ref, $object, $user->rights->facture->creer, 'string'); + print $form->showrefnav($object, 'ref', $linkback, 1, 'titre', 'none', $morehtmlref); print '
     
    '.$langs->trans("EnableMultilangInterface").''; print $form->selectyesno('main_multilangs',$conf->global->MAIN_MULTILANGS,1); @@ -181,7 +181,7 @@ if ($action == 'edit') // Edit show_theme(null,1); print '
    '; - // Liste des zone de recherche permanantes supportees + // List of permanent supported search box if (! empty($searchform)) { print ''; From 9c22d94bd3897680210948aab5e15ed3c85aa157 Mon Sep 17 00:00:00 2001 From: philippe grand Date: Fri, 19 Aug 2016 17:12:46 +0200 Subject: [PATCH 351/476] fix : bad sort --- htdocs/adherents/list.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/htdocs/adherents/list.php b/htdocs/adherents/list.php index 4573237925b..1767e9971ef 100644 --- a/htdocs/adherents/list.php +++ b/htdocs/adherents/list.php @@ -610,6 +610,13 @@ if ($resql) print "\n"; + } + // Firstname + if (! empty($arrayfields['d.firstname']['checked'])) + { + print "\n"; } // Lastname if (! empty($arrayfields['d.lastname']['checked'])) @@ -617,13 +624,6 @@ if ($resql) print "\n"; - } - // Firstname - if (! empty($arrayfields['d.firstname']['checked'])) - { - print "\n"; } // Company if (! empty($arrayfields['d.company']['checked'])) From f06545a3fe30abc517e7ad5f2faf4cd5706933ca Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 19 Aug 2016 17:22:53 +0200 Subject: [PATCH 352/476] Fix cancel button ignored --- htdocs/compta/facture/fiche-rec.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/htdocs/compta/facture/fiche-rec.php b/htdocs/compta/facture/fiche-rec.php index 6145766e1e4..de76577e78b 100644 --- a/htdocs/compta/facture/fiche-rec.php +++ b/htdocs/compta/facture/fiche-rec.php @@ -128,6 +128,8 @@ include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, include DOL_DOCUMENT_ROOT.'/core/actions_lineupdown.inc.php'; // Must be include, not include_once +if (GETPOST('cancel')) $action=''; + // Create predefined invoice if ($action == 'add') { From c0d6d6d92c8c4243b446e54f784f17816d34b33f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 20 Aug 2016 00:22:16 +0200 Subject: [PATCH 353/476] CSS --- htdocs/theme/eldy/style.css.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index f1287b1b637..3c0b7576c69 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -947,8 +947,8 @@ div#id-top { display:none; background: rgb(); - -webkit-box-shadow: 0 0 13px rgba(0,0,0,0.2); - box-shadow: 0 0 13px rgba(0,0,0,0.2); + /*-webkit-box-shadow: 0 0 6px rgba(0,0,0,0.4); + box-shadow: 0 0 6px rgba(0,0,0,0.4); */ background-image: linear-gradient(top, rgba(255,255,255,.1) 0%, rgba(0,0,0,.4) 100%); background-image: -o-linear-gradient(top, rgba(255,255,255,.1) 0%, rgba(0,0,0,.4) 100%); From 1fc571504021019de1703acd3a4931c75018ceaa Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 20 Aug 2016 00:30:09 +0200 Subject: [PATCH 354/476] Fix date of contract not used --- htdocs/contrat/class/contrat.class.php | 1 + htdocs/core/modules/contract/doc/pdf_strato.modules.php | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/htdocs/contrat/class/contrat.class.php b/htdocs/contrat/class/contrat.class.php index fd92db95dfc..69e969c56d9 100644 --- a/htdocs/contrat/class/contrat.class.php +++ b/htdocs/contrat/class/contrat.class.php @@ -2127,6 +2127,7 @@ class Contrat extends CommonObject $this->ref_supplier = 'SPECIMENSUPP'; $this->socid = 1; $this->statut= 0; + $this->date_creation = (dol_now() - 3600 * 24 * 7); $this->date_contrat = dol_now(); $this->commercial_signature_id = 1; $this->commercial_suivi_id = 1; diff --git a/htdocs/core/modules/contract/doc/pdf_strato.modules.php b/htdocs/core/modules/contract/doc/pdf_strato.modules.php index a2828fb466a..a25c9918408 100644 --- a/htdocs/core/modules/contract/doc/pdf_strato.modules.php +++ b/htdocs/core/modules/contract/doc/pdf_strato.modules.php @@ -554,7 +554,7 @@ class pdf_strato extends ModelePDFContract $posy+=4; $pdf->SetXY($posx,$posy); $pdf->SetTextColor(0,0,60); - $pdf->MultiCell(100, 3, $outputlangs->transnoentities("Date")." : " . dol_print_date($object->date_creation,"day",false,$outputlangs,true), '', 'R'); + $pdf->MultiCell(100, 3, $outputlangs->transnoentities("Date")." : " . dol_print_date($object->date_contrat,"day",false,$outputlangs,true), '', 'R'); if ($object->thirdparty->code_client) { From 0839a9fa4f99e5e587d369b3bc54156829402684 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 20 Aug 2016 00:54:49 +0200 Subject: [PATCH 355/476] Code comment --- htdocs/core/lib/geturl.lib.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/htdocs/core/lib/geturl.lib.php b/htdocs/core/lib/geturl.lib.php index 2785a0aeafc..7731c7473e5 100644 --- a/htdocs/core/lib/geturl.lib.php +++ b/htdocs/core/lib/geturl.lib.php @@ -59,6 +59,9 @@ function getURLContent($url,$postorget='GET',$param='',$followlocation=1,$addhea if (count($addheaders)) curl_setopt($ch, CURLOPT_HTTPHEADER, $addheaders); curl_setopt($ch, CURLINFO_HEADER_OUT, true); // To be able to retrieve request header and log it + // TLSv1 by default or change to TLSv1.2 in module configuration + //curl_setopt($ch, CURLOPT_SSLVERSION, (empty($conf->global->MAIN_CURL_SSLVERSION)?1:$conf->global->MAIN_CURL_SSLVERSION)); + //turning off the server and peer verification(TrustManager Concept). curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); From 317132fea49138fb123fcdfcff93b00a92635566 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 22 Aug 2016 12:25:54 +0200 Subject: [PATCH 356/476] CSS --- htdocs/compta/payment_sc/card.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/compta/payment_sc/card.php b/htdocs/compta/payment_sc/card.php index aa0c89aa3ba..7214b60b685 100644 --- a/htdocs/compta/payment_sc/card.php +++ b/htdocs/compta/payment_sc/card.php @@ -168,7 +168,7 @@ print $form->showrefnav($paiement,'id','',1,'rowid','id'); print ''; // Date -print ''; +print ''; // Mode print ''; From 03c30c487c46f5aa25ca58491854002e5ab71ca8 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 22 Aug 2016 13:43:49 +0200 Subject: [PATCH 357/476] Uniformise code --- htdocs/compta/bank/ligne.php | 2 +- htdocs/compta/bank/releve.php | 2 +- htdocs/compta/paiement_charge.php | 6 +- htdocs/compta/payment_sc/card.php | 2 +- .../compta/sociales/{charges.php => card.php} | 14 +- .../sociales/class/chargesociales.class.php | 2 +- htdocs/compta/sociales/index.php | 4 +- htdocs/compta/sociales/payments.php | 490 ++++++++++++++++++ htdocs/core/lib/tax.lib.php | 2 +- htdocs/core/menus/init_menu_auguria.sql | 4 +- htdocs/core/menus/standard/eldy.lib.php | 4 +- htdocs/langs/en_US/compta.lang | 2 + scripts/bank/export-bank-receipts.php | 2 +- 13 files changed, 514 insertions(+), 22 deletions(-) rename htdocs/compta/sociales/{charges.php => card.php} (96%) create mode 100644 htdocs/compta/sociales/payments.php diff --git a/htdocs/compta/bank/ligne.php b/htdocs/compta/bank/ligne.php index f6709c4d1c5..0d307115ed9 100644 --- a/htdocs/compta/bank/ligne.php +++ b/htdocs/compta/bank/ligne.php @@ -320,7 +320,7 @@ if ($result) print ''; } else if ($links[$key]['type']=='sc') { - print ''; + print ''; print img_object($langs->trans('ShowSocialContribution'),'bill').' '; print $langs->trans("SocialContribution").($links[$key]['label']?' - '.$links[$key]['label']:''); print ''; diff --git a/htdocs/compta/bank/releve.php b/htdocs/compta/bank/releve.php index 7a7941da64d..cc23d9a9d04 100644 --- a/htdocs/compta/bank/releve.php +++ b/htdocs/compta/bank/releve.php @@ -469,7 +469,7 @@ else $newline=0; } elseif ($links[$key]['type']=='sc') { - print ''; + print ''; print img_object($langs->trans('ShowBill'),'bill').' '; print $langs->trans("SocialContribution"); print ''; diff --git a/htdocs/compta/paiement_charge.php b/htdocs/compta/paiement_charge.php index 06a32c3865f..c8e272cfd5a 100644 --- a/htdocs/compta/paiement_charge.php +++ b/htdocs/compta/paiement_charge.php @@ -51,7 +51,7 @@ if ($action == 'add_payment') if ($_POST["cancel"]) { - $loc = DOL_URL_ROOT.'/compta/sociales/charges.php?id='.$chid; + $loc = DOL_URL_ROOT.'/compta/sociales/card.php?id='.$chid; header("Location: ".$loc); exit; } @@ -130,7 +130,7 @@ if ($action == 'add_payment') if (! $error) { $db->commit(); - $loc = DOL_URL_ROOT.'/compta/sociales/charges.php?id='.$chid; + $loc = DOL_URL_ROOT.'/compta/sociales/card.php?id='.$chid; header('Location: '.$loc); exit; } @@ -185,7 +185,7 @@ if ($_GET["action"] == 'create') print ""; - print ''; + print ''; print '\n"; print '\n"; print '\n"; diff --git a/htdocs/compta/payment_sc/card.php b/htdocs/compta/payment_sc/card.php index ad59687b43c..9229397dbb6 100644 --- a/htdocs/compta/payment_sc/card.php +++ b/htdocs/compta/payment_sc/card.php @@ -65,7 +65,7 @@ if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->tax->char if ($result > 0) { $db->commit(); - header("Location: ".DOL_URL_ROOT."/compta/charges/index.php?mode=sconly"); + header("Location: ".DOL_URL_ROOT."/compta/sociales/payments.php?mode=sconly"); exit; } else diff --git a/htdocs/compta/sociales/charges.php b/htdocs/compta/sociales/card.php similarity index 96% rename from htdocs/compta/sociales/charges.php rename to htdocs/compta/sociales/card.php index f5a6cc2f6a9..8c21bf32ceb 100644 --- a/htdocs/compta/sociales/charges.php +++ b/htdocs/compta/sociales/card.php @@ -18,7 +18,7 @@ */ /** - * \file htdocs/compta/sociales/charges.php + * \file htdocs/compta/sociales/card.php * \ingroup tax * \brief Social contribution card page */ @@ -382,7 +382,7 @@ if ($id > 0) if ($action == 'edit') { - print "id&action=update\" method=\"post\">"; + print "id&action=update\" method=\"post\">"; print ''; } @@ -585,13 +585,13 @@ if ($id > 0) // Reopen if ($object->paye && $user->rights->tax->charges->creer) { - print "id&action=reopen\">".$langs->trans("ReOpen").""; + print "id&action=reopen\">".$langs->trans("ReOpen").""; } // Edit if ($object->paye == 0 && $user->rights->tax->charges->creer) { - print "id&action=edit\">".$langs->trans("Modify").""; + print "id&action=edit\">".$langs->trans("Modify").""; } // Emit payment @@ -603,19 +603,19 @@ if ($id > 0) // Classify 'paid' if ($object->paye == 0 && round($resteapayer) <=0 && $user->rights->tax->charges->creer) { - print "id&action=paid\">".$langs->trans("ClassifyPaid").""; + print "id&action=paid\">".$langs->trans("ClassifyPaid").""; } // Clone if ($user->rights->tax->charges->creer) { - print "id&action=clone\">".$langs->trans("ToClone").""; + print "id&action=clone\">".$langs->trans("ToClone").""; } // Delete if ($user->rights->tax->charges->supprimer) { - print "id&action=delete\">".$langs->trans("Delete").""; + print "id&action=delete\">".$langs->trans("Delete").""; } print ""; diff --git a/htdocs/compta/sociales/class/chargesociales.class.php b/htdocs/compta/sociales/class/chargesociales.class.php index af3acbf4c7f..ca9af965758 100644 --- a/htdocs/compta/sociales/class/chargesociales.class.php +++ b/htdocs/compta/sociales/class/chargesociales.class.php @@ -449,7 +449,7 @@ class ChargeSociales extends CommonObject if (empty($this->ref)) $this->ref=$this->lib; $label = $langs->trans("ShowSocialContribution").': '.$this->ref; - $link = ''; + $link = ''; $linkend=''; if ($withpicto) $result.=($link.img_object($label, 'bill', 'class="classfortooltip"').$linkend.' '); diff --git a/htdocs/compta/sociales/index.php b/htdocs/compta/sociales/index.php index 15ca799c1c2..fc106de2ad1 100644 --- a/htdocs/compta/sociales/index.php +++ b/htdocs/compta/sociales/index.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004-2014 Laurent Destailleur + * Copyright (C) 2004-2016 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2016 Frédéric France * @@ -233,7 +233,7 @@ if ($resql) print ''; // Type - print ''; + print ''; // Date end period print '
    "; print $memberstatic->getNomUrl(1); print ""; + print $obj->firstname; + print ""; print $obj->lastname; print ""; - print $obj->firstname; - print "
    '.$langs->trans('Date').''.dol_print_date($paiement->datep,'day').'
    '.$langs->trans('Date').''.dol_print_date($paiement->datep,'day').'
    '.$langs->trans('Mode').''.$langs->trans("PaymentType".$paiement->type_code).'
    ".$langs->trans("SocialContribution")."
    '.$langs->trans("Ref").''.$chid.'
    '.$langs->trans("Ref").''.$chid.'
    '.$langs->trans("Type")."".$charge->type_libelle."
    '.$langs->trans("Period")."".dol_print_date($charge->periode,'day')."
    '.$langs->trans("Label").''.$charge->lib."
    '.dol_trunc($obj->libelle,42).''.dol_trunc($obj->type_lib,16).''.$obj->type_lib.''; diff --git a/htdocs/compta/sociales/payments.php b/htdocs/compta/sociales/payments.php new file mode 100644 index 00000000000..017bcb7686e --- /dev/null +++ b/htdocs/compta/sociales/payments.php @@ -0,0 +1,490 @@ + + * Copyright (C) 2004-2014 Laurent Destailleur + * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2011-2016 Alexandre Spangaro + * Copyright (C) 2011-2014 Juanjo Menent + * Copyright (C) 2015 Jean-François Ferry + * + * 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 . + */ + +/** + * \file htdocs/compta/sociales/payments.php + * \ingroup compta + * \brief Page to list payments of special expenses + */ + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/paymentsocialcontribution.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/paymentsalary.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; + +$langs->load("compta"); +$langs->load("bills"); + +// Security check +if ($user->societe_id) $socid=$user->societe_id; +$result = restrictedArea($user, 'tax|salaries', '', '', 'charges|'); + +$mode=GETPOST("mode",'alpha'); +$year=GETPOST("year",'int'); +$filtre=GETPOST("filtre",'alpha'); +if (! $year && $mode != 'sconly') { $year=date("Y", time()); } + +$limit = GETPOST('limit')?GETPOST('limit','int'):$conf->liste_limit; +$sortfield = GETPOST("sortfield",'alpha'); +$sortorder = GETPOST("sortorder",'alpha'); +$page = GETPOST("page",'int'); +if ($page == -1) { $page = 0; } +$offset = $limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; +if (! $sortfield) $sortfield="pc.datep"; +if (! $sortorder) $sortorder="DESC"; + + +/* + * View + */ + +$tva_static = new Tva($db); +$socialcontrib=new ChargeSociales($db); +$payment_sc_static=new PaymentSocialContribution($db); +$sal_static = new PaymentSalary($db); + +llxHeader('',$langs->trans("SpecialExpensesArea")); + +$title=$langs->trans("SpecialExpensesArea"); +if ($mode == 'sconly') $title=$langs->trans("SocialContributionsPayments"); + +$param=''; +if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.$contextpage; +if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.$limit; +if ($mode == 'sconly') $param='&mode=sconly'; +if ($sortfield) $param.='&sortfield='.$sortfield; +if ($sortorder) $param.='&sortorder='.$sortorder; + + +print ''; +if ($optioncss != '') print ''; +print ''; +print ''; +print ''; +print ''; +print ''; + +if ($mode != 'sconly') +{ + $center=($year?''.img_previous($langs->trans("Previous"), 'class="valignbottom"')." ".$langs->trans("Year").' '.$year.' '.img_next($langs->trans("Next"), 'class="valignbottom"')."":""); + print_barre_liste($title,$page,$_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,$center,$num,$totalnboflines, 'title_accountancy', 0, '', '', $limit, 1); +} +else +{ + print_barre_liste($title,$page,$_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,$center,$num,$totalnboflines, 'title_accountancy', 0, '', '', $limit); +} + +if ($year) $param.='&year='.$year; + +if ($mode != 'sconly') +{ + print $langs->trans("DescTaxAndDividendsArea").'
    '; + print "
    "; +} + +if (! empty($conf->tax->enabled) && $user->rights->tax->charges->lire) +{ + // Social contributions only + if ($mode != 'sconly') + { + print load_fiche_titre($langs->trans("SocialContributionsPayments").($year?' ('.$langs->trans("Year").' '.$year.')':''), '', ''); + } + + print ''; + print ''; + print_liste_field_titre($langs->trans("RefPayment"),$_SERVER["PHP_SELF"],"pc.rowid","",$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("DatePayment"),$_SERVER["PHP_SELF"],"pc.datep","",$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"pct.code","",$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("LabelContrib"),$_SERVER["PHP_SELF"],"c.libelle","",$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("TypeContrib"),$_SERVER["PHP_SELF"],"cs.fk_type","",$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("PeriodEndDate"),$_SERVER["PHP_SELF"],"cs.date_ech","",$param,'width="140px"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("ExpectedToPay"),$_SERVER["PHP_SELF"],"cs.amount","",$param,'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("PayedByThisPayment"),$_SERVER["PHP_SELF"],"pc.amount","",$param,'align="right"',$sortfield,$sortorder); + print "\n"; + + $sql = "SELECT c.id, c.libelle as lib,"; + $sql.= " cs.rowid, cs.libelle, cs.fk_type as type, cs.periode, cs.date_ech, cs.amount as total,"; + $sql.= " pc.rowid as pid, pc.datep, pc.amount as totalpaye, pc.num_paiement as num_payment,"; + $sql.= " pct.code as payment_code"; + $sql.= " FROM ".MAIN_DB_PREFIX."c_chargesociales as c,"; + $sql.= " ".MAIN_DB_PREFIX."chargesociales as cs,"; + $sql.= " ".MAIN_DB_PREFIX."paiementcharge as pc"; + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_paiement as pct ON pc.fk_typepaiement = pct.id"; + $sql.= " WHERE cs.fk_type = c.id AND pc.fk_charge = cs.rowid"; + $sql.= " AND cs.entity = ".$conf->entity; + if ($year > 0) + { + $sql .= " AND ("; + // Si period renseignee on l'utilise comme critere de date, sinon on prend date echeance, + // ceci afin d'etre compatible avec les cas ou la periode n'etait pas obligatoire + $sql .= " (cs.periode IS NOT NULL AND cs.periode between '".$db->idate(dol_get_first_day($year))."' AND '".$db->idate(dol_get_last_day($year))."')"; + $sql .= " OR (cs.periode IS NULL AND cs.date_ech between '".$db->idate(dol_get_first_day($year))."' AND '".$db->idate(dol_get_last_day($year))."')"; + $sql .= ")"; + } + if (preg_match('/^cs\./',$sortfield) || preg_match('/^c\./',$sortfield) || preg_match('/^pc\./',$sortfield) || preg_match('/^pct\./',$sortfield)) $sql.= $db->order($sortfield,$sortorder); + //$sql.= $db->plimit($limit+1,$offset); + //print $sql; + + dol_syslog("compta/sociales/payments.php: select payment", LOG_DEBUG); + $resql=$db->query($sql); + if ($resql) + { + $num = $db->num_rows($resql); + $i = 0; + $total = 0; + $totalnb = 0; + $totalpaye = 0; + $var=true; + + while ($i < min($num, $limit)) + { + $obj = $db->fetch_object($resql); + $var = !$var; + print ""; + // Ref payment + $payment_sc_static->id=$obj->pid; + $payment_sc_static->ref=$obj->pid; + print '\n"; + // Date payment + print ''; + // Type payment + print ''; + // Label + print ''; + // Type + print ''; + // Date + $date=$obj->periode; + if (empty($date)) $date=$obj->date_ech; + print ''; + // Expected to pay + print ''; + // Paid + print ''; + print ''; + + $total = $total + $obj->total; + $totalnb = $totalnb + $obj->nb; + $totalpaye = $totalpaye + $obj->totalpaye; + $i++; + } + print ''; + print ''; // A total here has no sense + print ''; + print ''; + print ''; + print '"; + print ""; + } + else + { + dol_print_error($db); + } + print '
    '.$payment_sc_static->getNomUrl(1)."'.dol_print_date($db->jdate($obj->datep),'day').''; + if ($obj->payment_code) print $langs->trans("PaymentTypeShort".$obj->payment_code).' '; + print $obj->num_payment.''; + $socialcontrib->id=$obj->rowid; + $socialcontrib->ref=$obj->libelle; + $socialcontrib->lib=$obj->libelle; + print $socialcontrib->getNomUrl(1,'20'); + print ''.$obj->lib.''.dol_print_date($date,'day').''.price($obj->total).''; + if ($obj->totalpaye) print price($obj->totalpaye); + print '
    '.$langs->trans("Total").'   '.price($totalpaye)."
    '; +} + +// VAT +if (! empty($conf->tax->enabled) && $user->rights->tax->charges->lire) +{ + if (! $mode || $mode != 'sconly') + { + print "
    "; + + $tva = new Tva($db); + + print load_fiche_titre($langs->trans("VATPayments").($year?' ('.$langs->trans("Year").' '.$year.')':''), '', ''); + + $sql = "SELECT pv.rowid, pv.amount, pv.label, pv.datev as dm"; + $sql.= " FROM ".MAIN_DB_PREFIX."tva as pv"; + $sql.= " WHERE pv.entity = ".$conf->entity; + if ($year > 0) + { + // Si period renseignee on l'utilise comme critere de date, sinon on prend date echeance, + // ceci afin d'etre compatible avec les cas ou la periode n'etait pas obligatoire + $sql.= " AND pv.datev between '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'"; + } + if (preg_match('/^pv\./',$sortfield)) $sql.= $db->order($sortfield,$sortorder); + + $result = $db->query($sql); + if ($result) + { + $num = $db->num_rows($result); + $i = 0; + $total = 0 ; + print ''; + print ''; + print_liste_field_titre($langs->trans("PeriodEndDate"),$_SERVER["PHP_SELF"],"pv.datev","",$param,'width="140px"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Label"),$_SERVER["PHP_SELF"],"pv.label","",$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("ExpectedToPay"),$_SERVER["PHP_SELF"],"pv.amount","",$param,'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("RefPayment"),$_SERVER["PHP_SELF"],"pv.rowid","",$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("DatePayment"),$_SERVER["PHP_SELF"],"pv.datev","",$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("PayedByThisPayment"),$_SERVER["PHP_SELF"],"pv.amount","",$param,'align="right"',$sortfield,$sortorder); + print "\n"; + $var=1; + while ($i < $num) + { + $obj = $db->fetch_object($result); + + $total = $total + $obj->amount; + + $var=!$var; + print ""; + print ''."\n"; + + print "\n"; + + print '"; + + // Ref payment + $tva_static->id=$obj->rowid; + $tva_static->ref=$obj->rowid; + print '\n"; + + print '\n"; + print '"; + print "\n"; + + $i++; + } + print ''; + print ''; + print ''; + print ''; + print '"; + print ""; + + print "
    '.dol_print_date($db->jdate($obj->dm),'day').'".$obj->label."'.price($obj->amount)."'.$tva_static->getNomUrl(1)."'.dol_print_date($db->jdate($obj->dm),'day')."'.price($obj->amount)."
    '.$langs->trans("Total").''.price($total).'  '.price($total)."
    "; + $db->free($result); + } + else + { + dol_print_error($db); + } + } +} + +// Localtax +if($mysoc->localtax1_assuj=="1" && $mysoc->localtax2_assuj=="1") +{ + $j=1; + $numlt=3; +} +elseif($mysoc->localtax1_assuj=="1") +{ + $j=1; + $numlt=2; +} +elseif($mysoc->localtax2_assuj=="1") +{ + $j=2; + $numlt=3; +} +else +{ + $j=0; + $numlt=0; +} + +while($j<$numlt) +{ + if (! $mode || $mode != 'sconly') + { + print "
    "; + + $tva = new Tva($db); + + print load_fiche_titre($langs->transcountry(($j==1?"LT1Payments":"LT2Payments"),$mysoc->country_code).($year?' ('.$langs->trans("Year").' '.$year.')':''), '', ''); + + + $sql = "SELECT pv.rowid, pv.amount, pv.label, pv.datev as dm, pv.datep as dp"; + $sql.= " FROM ".MAIN_DB_PREFIX."localtax as pv"; + $sql.= " WHERE pv.entity = ".$conf->entity." AND localtaxtype = ".$j ; + if ($year > 0) + { + // Si period renseignee on l'utilise comme critere de date, sinon on prend date echeance, + // ceci afin d'etre compatible avec les cas ou la periode n'etait pas obligatoire + $sql.= " AND pv.datev between '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'"; + } + if (preg_match('/^pv/',$sortfield)) $sql.= $db->order($sortfield,$sortorder); + + $result = $db->query($sql); + if ($result) + { + $num = $db->num_rows($result); + $i = 0; + $total = 0 ; + print ''; + print ''; + print_liste_field_titre($langs->trans("PeriodEndDate"),$_SERVER["PHP_SELF"],"pv.datev","",$param,'width="120"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Label"),$_SERVER["PHP_SELF"],"pv.label","",$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("ExpectedToPay"),$_SERVER["PHP_SELF"],"pv.amount","",$param,'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("RefPayment"),$_SERVER["PHP_SELF"],"pv.rowid","",$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("DatePayment"),$_SERVER["PHP_SELF"],"pv.datep","",$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("PayedByThisPayment"),$_SERVER["PHP_SELF"],"pv.amount","",$param,'align="right"',$sortfield,$sortorder); + print "\n"; + $var=1; + while ($i < $num) + { + $obj = $db->fetch_object($result); + + $total = $total + $obj->amount; + + $var=!$var; + print ""; + print ''."\n"; + + print "\n"; + + print '"; + + // Ref payment + $tva_static->id=$obj->rowid; + $tva_static->ref=$obj->rowid; + print '\n"; + + print '\n"; + print '"; + print "\n"; + + $i++; + } + print ''; + print '"; + print ''; + print ''; + print '"; + print ""; + + print "
    '.dol_print_date($db->jdate($obj->dm),'day').'".$obj->label."'.price($obj->amount)."'.$tva_static->getNomUrl(1)."'.dol_print_date($db->jdate($obj->dp),'day')."'.price($obj->amount)."
    '.$langs->trans("Total").''.price($total)."  '.price($total)."
    "; + $db->free($result); + } + else + { + dol_print_error($db); + } + } + $j++; +} + + +// Payment Salary +if (! empty($conf->salaries->enabled) && $user->rights->salaries->read) +{ + if (! $mode || $mode != 'sconly') + { + $sal = new PaymentSalary($db); + + print "
    "; + + print_fiche_titre($langs->trans("SalariesPayments").($year?' ('.$langs->trans("Year").' '.$year.')':''), '', ''); + + $sql = "SELECT s.rowid, s.amount, s.label, s.datep as datep, s.datev as datev, s.datesp, s.dateep, s.salary, u.salary as current_salary"; + $sql.= " FROM ".MAIN_DB_PREFIX."payment_salary as s, ".MAIN_DB_PREFIX."user as u"; + $sql.= " WHERE s.entity IN (".getEntity('user',1).")"; + $sql.= " AND u.rowid = s.fk_user"; + if ($year > 0) + { + $sql.= " AND (s.datesp between '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'"; + $sql.= " OR s.dateep between '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."')"; + } + if (preg_match('/^s\./',$sortfield)) $sql.= $db->order($sortfield,$sortorder); + + $result = $db->query($sql); + if ($result) + { + $num = $db->num_rows($result); + $i = 0; + $total = 0 ; + print ''; + print ''; + print_liste_field_titre($langs->trans("PeriodEndDate"),$_SERVER["PHP_SELF"],"s.dateep","",$param,'width="140px"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Label"),$_SERVER["PHP_SELF"],"s.label","",$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("ExpectedToPay"),$_SERVER["PHP_SELF"],"s.amount","",$param,'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("RefPayment"),$_SERVER["PHP_SELF"],"s.rowid","",$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("DatePayment"),$_SERVER["PHP_SELF"],"s.datep","",$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("PayedByThisPayment"),$_SERVER["PHP_SELF"],"s.amount","",$param,'align="right"',$sortfield,$sortorder); + print "\n"; + $var=1; + while ($i < $num) + { + $obj = $db->fetch_object($result); + + $total = $total + $obj->amount; + + $var=!$var; + print ""; + + print ''."\n"; + + print "\n"; + + print '"; + + // Ref payment + $sal_static->id=$obj->rowid; + $sal_static->ref=$obj->rowid; + print '\n"; + + print '\n"; + print '"; + print "\n"; + + $i++; + } + print ''; + print ''; // A total here has no sense + print ''; + print ''; + print '"; + print ""; + + print "
    '.dol_print_date($db->jdate($obj->dateep),'day').'".$obj->label."'.($obj->salary?price($obj->salary):'')."'.$sal_static->getNomUrl(1)."'.dol_print_date($db->jdate($obj->datep),'day')."'.price($obj->amount)."
    '.$langs->trans("Total").'  '.price($total)."
    "; + $db->free($result); + + print "
    "; + } + else + { + dol_print_error($db); + } + } +} + +print ''; + + +llxFooter(); + +$db->close(); diff --git a/htdocs/core/lib/tax.lib.php b/htdocs/core/lib/tax.lib.php index 203316ce111..740bb223cba 100644 --- a/htdocs/core/lib/tax.lib.php +++ b/htdocs/core/lib/tax.lib.php @@ -41,7 +41,7 @@ function tax_prepare_head(ChargeSociales $object) $h = 0; $head = array(); - $head[$h][0] = DOL_URL_ROOT.'/compta/sociales/charges.php?id='.$object->id; + $head[$h][0] = DOL_URL_ROOT.'/compta/sociales/card.php?id='.$object->id; $head[$h][1] = $langs->trans('Card'); $head[$h][2] = 'card'; $h++; diff --git a/htdocs/core/menus/init_menu_auguria.sql b/htdocs/core/menus/init_menu_auguria.sql index 1682f8d0887..57270236c64 100644 --- a/htdocs/core/menus/init_menu_auguria.sql +++ b/htdocs/core/menus/init_menu_auguria.sql @@ -202,8 +202,8 @@ insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, left --insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->loan->enabled && $leftmenu=="tax_loan"', __HANDLER__, 'left', 2222__+MAX_llx_menu__, 'accountancy', '', 2220__+MAX_llx_menu__, '/loan/payment/list.php?leftmenu=tax_loan', 'Payments', 2, 'companies', '$user->rights->loan->read', '', 0, 3, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->loan->enabled && $leftmenu=="tax_loan" && ! empty($conf->global->LOAN_SHOW_CALCULATOR)', __HANDLER__, 'left', 2223__+MAX_llx_menu__, 'accountancy', '', 2220__+MAX_llx_menu__, '/loan/calc.php?leftmenu=tax_loan', 'Calculator', 2, 'companies', '$user->rights->loan->calc', '', 0, 4, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled', __HANDLER__, 'left', 2250__+MAX_llx_menu__, 'accountancy', 'tax_social', 2200__+MAX_llx_menu__, '/compta/sociales/index.php?leftmenu=tax_social', 'SocialContributions', 1, '', '$user->rights->tax->charges->lire', '', 0, 1, __ENTITY__); -insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && $leftmenu=="tax_social"', __HANDLER__, 'left', 2251__+MAX_llx_menu__, 'accountancy', '', 2250__+MAX_llx_menu__, '/compta/sociales/charges.php?leftmenu=tax_social&action=create', 'MenuNewSocialContribution', 2, '', '$user->rights->tax->charges->creer', '', 0, 2, __ENTITY__); -insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && $leftmenu=="tax_social"', __HANDLER__, 'left', 2252__+MAX_llx_menu__, 'accountancy', '', 2250__+MAX_llx_menu__, '/compta/charges/index.php?leftmenu=tax_social&mainmenu=accountancy&mode=sconly', 'Payments', 2, '', '$user->rights->tax->charges->lire', '', 0, 3, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && $leftmenu=="tax_social"', __HANDLER__, 'left', 2251__+MAX_llx_menu__, 'accountancy', '', 2250__+MAX_llx_menu__, '/compta/sociales/card.php?leftmenu=tax_social&action=create', 'MenuNewSocialContribution', 2, '', '$user->rights->tax->charges->creer', '', 0, 2, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && $leftmenu=="tax_social"', __HANDLER__, 'left', 2252__+MAX_llx_menu__, 'accountancy', '', 2250__+MAX_llx_menu__, '/compta/sociales/payments.php?leftmenu=tax_social&mainmenu=accountancy&mode=sconly', 'Payments', 2, '', '$user->rights->tax->charges->lire', '', 0, 3, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS)', __HANDLER__, 'left', 2300__+MAX_llx_menu__, 'accountancy', 'tax_vat', 2200__+MAX_llx_menu__, '/compta/tva/index.php?leftmenu=tax_vat&mainmenu=accountancy', 'VAT', 1, 'companies', '$user->rights->tax->charges->lire', '', 0, 7, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu=="tax_vat"', __HANDLER__, 'left', 2301__+MAX_llx_menu__, 'accountancy', '', 2300__+MAX_llx_menu__, '/compta/tva/card.php?leftmenu=tax_vat&action=create', 'New', 2, 'companies', '$user->rights->tax->charges->creer', '', 0, 0, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu=="tax_vat"', __HANDLER__, 'left', 2302__+MAX_llx_menu__, 'accountancy', '', 2300__+MAX_llx_menu__, '/compta/tva/reglement.php?leftmenu=tax_vat', 'List', 2, 'companies', '$user->rights->tax->charges->lire', '', 0, 1, __ENTITY__); diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php index 68917a8ba89..7b2b131a59e 100644 --- a/htdocs/core/menus/standard/eldy.lib.php +++ b/htdocs/core/menus/standard/eldy.lib.php @@ -876,9 +876,9 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu if (! empty($conf->tax->enabled)) { $newmenu->add("/compta/sociales/index.php?leftmenu=tax_social",$langs->trans("MenuSocialContributions"),1,$user->rights->tax->charges->lire); - if (empty($leftmenu) || preg_match('/^tax_social/i',$leftmenu)) $newmenu->add("/compta/sociales/charges.php?leftmenu=tax_social&action=create",$langs->trans("MenuNewSocialContribution"), 2, $user->rights->tax->charges->creer); + if (empty($leftmenu) || preg_match('/^tax_social/i',$leftmenu)) $newmenu->add("/compta/sociales/card.php?leftmenu=tax_social&action=create",$langs->trans("MenuNewSocialContribution"), 2, $user->rights->tax->charges->creer); if (empty($leftmenu) || preg_match('/^tax_social/i',$leftmenu)) $newmenu->add("/compta/sociales/index.php?leftmenu=tax_social",$langs->trans("List"),2,$user->rights->tax->charges->lire); - if (empty($leftmenu) || preg_match('/^tax_social/i',$leftmenu)) $newmenu->add("/compta/charges/index.php?leftmenu=tax_social&mainmenu=accountancy&mode=sconly",$langs->trans("Payments"), 2, $user->rights->tax->charges->lire); + if (empty($leftmenu) || preg_match('/^tax_social/i',$leftmenu)) $newmenu->add("/compta/sociales/payments.php?leftmenu=tax_social&mainmenu=accountancy&mode=sconly",$langs->trans("Payments"), 2, $user->rights->tax->charges->lire); // VAT if (empty($conf->global->TAX_DISABLE_VAT_MENUS)) { diff --git a/htdocs/langs/en_US/compta.lang b/htdocs/langs/en_US/compta.lang index 13433dcac3f..3a7cd41386f 100644 --- a/htdocs/langs/en_US/compta.lang +++ b/htdocs/langs/en_US/compta.lang @@ -49,6 +49,8 @@ SocialContribution=Social or fiscal tax SocialContributions=Social or fiscal taxes SocialContributionsDeductibles=Deductible social or fiscal taxes SocialContributionsNondeductibles=Nondeductible social or fiscal taxes +LabelContrib=Label contribution +TypeContrib=Type contribution MenuSpecialExpenses=Special expenses MenuTaxAndDividends=Taxes and dividends MenuSocialContributions=Social/fiscal taxes diff --git a/scripts/bank/export-bank-receipts.php b/scripts/bank/export-bank-receipts.php index 98ec3dd84cd..4ec31ea3789 100755 --- a/scripts/bank/export-bank-receipts.php +++ b/scripts/bank/export-bank-receipts.php @@ -366,7 +366,7 @@ if ($resql) /*elseif ($links[$key]['type']=='sc') { if ($accountelem) $accountelem.= ', '; - //$accountelem.= ''; + //$accountelem.= ''; //$accountelem.= img_object($langs->transnoentitiesnoconv('ShowBill'),'bill').' '; $accountelem.= $langs->transnoentitiesnoconv("SocialContribution"); //$accountelem.= ''; From e22e243bc55e9027f2bc6ddd152b747643d45cc5 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 22 Aug 2016 14:31:15 +0200 Subject: [PATCH 358/476] NEW Can set to paid automaically social or fiscal contributions after a payment was recorded. --- htdocs/compta/facture/class/facture.class.php | 2 +- htdocs/compta/paiement_charge.php | 15 ++++--- .../class/paymentsocialcontribution.class.php | 43 ++++++++++++++++--- .../fourn/class/fournisseur.facture.class.php | 8 ++-- htdocs/fourn/class/paiementfourn.class.php | 7 +-- htdocs/langs/en_US/bills.lang | 1 + 6 files changed, 57 insertions(+), 19 deletions(-) diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php index 001b9058b24..3bc60390d61 100644 --- a/htdocs/compta/facture/class/facture.class.php +++ b/htdocs/compta/facture/class/facture.class.php @@ -1738,7 +1738,7 @@ class Facture extends CommonInvoice * @param string $close_note Commentaire renseigne si on classe a payee alors que paiement incomplet (cas escompte par exemple) * @return int <0 if KO, >0 if OK */ - function set_paid($user,$close_code='',$close_note='') + function set_paid($user, $close_code='', $close_note='') { $error=0; diff --git a/htdocs/compta/paiement_charge.php b/htdocs/compta/paiement_charge.php index c8e272cfd5a..3822f9f91f5 100644 --- a/htdocs/compta/paiement_charge.php +++ b/htdocs/compta/paiement_charge.php @@ -29,8 +29,8 @@ require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; $langs->load("bills"); -$chid=GETPOST("id"); -$action=GETPOST('action'); +$chid=GETPOST("id", 'int'); +$action=GETPOST('action', 'alpha'); $amounts = array(); // Security check @@ -45,7 +45,7 @@ if ($user->societe_id > 0) * Actions */ -if ($action == 'add_payment') +if ($action == 'add_payment' || ($action == 'confirm_paiement' && $confirm=='yes')) { $error=0; @@ -109,7 +109,7 @@ if ($action == 'add_payment') if (! $error) { - $paymentid = $paiement->create($user); + $paymentid = $paiement->create($user, (GETPOST('closepaidcontrib')=='on'?1:0)); if ($paymentid < 0) { $errmsg=$paiement->error; @@ -155,7 +155,7 @@ $form=new Form($db); // Formulaire de creation d'un paiement de charge -if ($_GET["action"] == 'create') +if ($action == 'create') { $charge = new ChargeSociales($db); @@ -317,8 +317,9 @@ if ($_GET["action"] == 'create') print "
    "; - print '
    '; - print ''; + // Bouton Save payment + print '
    '.$langs->trans("ClosePaidContributionsAutomatically"); + print '
    '; print '     '; print ''; print '
    '; diff --git a/htdocs/compta/sociales/class/paymentsocialcontribution.class.php b/htdocs/compta/sociales/class/paymentsocialcontribution.class.php index e3bf17b3418..1d553831f99 100644 --- a/htdocs/compta/sociales/class/paymentsocialcontribution.class.php +++ b/htdocs/compta/sociales/class/paymentsocialcontribution.class.php @@ -23,6 +23,7 @@ */ require_once DOL_DOCUMENT_ROOT.'/core/class/commonobject.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php'; /** @@ -64,10 +65,11 @@ class PaymentSocialContribution extends CommonObject * Create payment of social contribution into database. * Use this->amounts to have list of lines for the payment * - * @param User $user User making payment - * @return int <0 if KO, id of payment if OK + * @param User $user User making payment + * @param int $closepaidcontrib 1=Also close payed contributions to paid, 0=Do nothing more + * @return int <0 if KO, id of payment if OK */ - function create($user) + function create($user, $closepaidcontrib=0) { global $conf, $langs; @@ -75,7 +77,9 @@ class PaymentSocialContribution extends CommonObject $now=dol_now(); - // Validate parametres + dol_syslog(get_class($this)."::create", LOG_DEBUG); + + // Validate parametres if (! $this->datepaye) { $this->error='ErrorBadValueForParameterCreatePaymentSocialContrib'; @@ -117,11 +121,40 @@ class PaymentSocialContribution extends CommonObject $sql.= " ".$this->paiementtype.", '".$this->db->escape($this->num_paiement)."', '".$this->db->escape($this->note)."', ".$user->id.","; $sql.= " 0)"; - dol_syslog(get_class($this)."::create", LOG_DEBUG); $resql=$this->db->query($sql); if ($resql) { $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."paiementcharge"); + + // Insere tableau des montants / factures + foreach ($this->amounts as $key => $amount) + { + $contribid = $key; + if (is_numeric($amount) && $amount <> 0) + { + $amount = price2num($amount); + + // If we want to closed payed invoices + if ($closepaidcontrib) + { + + $contrib=new ChargeSociales($this->db); + $contrib->fetch($contribid); + $paiement = $contrib->getSommePaiement(); + //$creditnotes=$contrib->getSumCreditNotesUsed(); + $creditnotes=0; + //$deposits=$contrib->getSumDepositsUsed(); + $deposits=0; + $alreadypayed=price2num($paiement + $creditnotes + $deposits,'MT'); + $remaintopay=price2num($contrib->amount - $paiement - $creditnotes - $deposits,'MT'); + if ($remaintopay == 0) + { + $result=$contrib->set_paid($user, '', ''); + } + else dol_syslog("Remain to pay for conrib ".$contribid." not null. We do nothing."); + } + } + } } else { diff --git a/htdocs/fourn/class/fournisseur.facture.class.php b/htdocs/fourn/class/fournisseur.facture.class.php index aab90ce4b49..8a814c492d0 100644 --- a/htdocs/fourn/class/fournisseur.facture.class.php +++ b/htdocs/fourn/class/fournisseur.facture.class.php @@ -856,10 +856,12 @@ class FactureFournisseur extends CommonInvoice /** * Tag invoice as a payed invoice * - * @param User $user Object user - * @return int <0 si ko, >0 si ok + * @param User $user Object user + * @param string $close_code Code renseigne si on classe a payee completement alors que paiement incomplet. Not implementd yet. + * @param string $close_note Commentaire renseigne si on classe a payee alors que paiement incomplet. Not implementd yet. + * @return int <0 si ko, >0 si ok */ - function set_paid($user) + function set_paid($user, $close_code='', $close_note='') { global $conf,$langs; $error=0; diff --git a/htdocs/fourn/class/paiementfourn.class.php b/htdocs/fourn/class/paiementfourn.class.php index 78bdab0f6c5..738c0eb716f 100644 --- a/htdocs/fourn/class/paiementfourn.class.php +++ b/htdocs/fourn/class/paiementfourn.class.php @@ -130,7 +130,7 @@ class PaiementFourn extends Paiement * @param int $closepaidinvoices 1=Also close payed invoices to paid, 0=Do nothing more * @return int id of created payment, < 0 if error */ - function create($user,$closepaidinvoices=0) + function create($user, $closepaidinvoices=0) { global $langs,$conf; @@ -141,6 +141,8 @@ class PaiementFourn extends Paiement $totalamount = 0; $totalamount_converted = 0; + dol_syslog(get_class($this)."::create", LOG_DEBUG); + if ($way == 'dolibarr') { $amounts = &$this->amounts; @@ -188,7 +190,6 @@ class PaiementFourn extends Paiement $sql.= " VALUES ('".$this->db->escape($ref)."', ".$conf->entity.", '".$this->db->idate($now)."',"; $sql.= " '".$this->db->idate($this->datepaye)."', '".$total."', '".$mtotal."', ".$this->paiementid.", '".$this->num_paiement."', '".$this->db->escape($this->note)."', ".$user->id.", 0)"; - dol_syslog("PaiementFourn::create", LOG_DEBUG); $resql = $this->db->query($sql); if ($resql) { @@ -220,7 +221,7 @@ class PaiementFourn extends Paiement $remaintopay=price2num($invoice->total_ttc - $paiement - $creditnotes - $deposits,'MT'); if ($remaintopay == 0) { - $result=$invoice->set_paid($user,'',''); + $result=$invoice->set_paid($user, '', ''); } else dol_syslog("Remain to pay for invoice ".$facid." not null. We do nothing."); } diff --git a/htdocs/langs/en_US/bills.lang b/htdocs/langs/en_US/bills.lang index f07b069e031..49402de185c 100644 --- a/htdocs/langs/en_US/bills.lang +++ b/htdocs/langs/en_US/bills.lang @@ -429,6 +429,7 @@ CantRemoveConciliatedPayment=Can't remove conciliated payment PayedByThisPayment=Paid by this payment ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. +ClosePaidContributionsAutomatically=Classify "Paid" all social or fiscal contributions entirely paid. AllCompletelyPayedInvoiceWillBeClosed=All invoice with no remain to pay will be automatically closed to status "Paid". ToMakePayment=Pay ToMakePaymentBack=Pay back From 6b3cbc918dfca1d2800f2286699e6679825a489a Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Mon, 22 Aug 2016 20:49:14 +0200 Subject: [PATCH 359/476] Fix: wrong "lastoutput" and "lastresult" if jobtype is "method" or "function" --- htdocs/cron/class/cronjob.class.php | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/htdocs/cron/class/cronjob.class.php b/htdocs/cron/class/cronjob.class.php index 26ae969e493..be5f4c3120f 100644 --- a/htdocs/cron/class/cronjob.class.php +++ b/htdocs/cron/class/cronjob.class.php @@ -1033,21 +1033,21 @@ class Cronjob extends CommonObject } if (! empty($conf->global->MAIN_UMASK)) @chmod($outputfile, octdec($conf->global->MAIN_UMASK)); } - } - dol_syslog(get_class($this)."::run_jobs output_arr:".var_export($output_arr,true), LOG_DEBUG); + dol_syslog(get_class($this)."::run_jobs output_arr:".var_export($output_arr,true), LOG_DEBUG); - - // Update with result - $this->lastoutput=''; - if (is_array($output_arr) && count($output_arr)>0) - { - foreach($output_arr as $val) + // Update with result + $this->lastoutput=''; + if (is_array($output_arr) && count($output_arr)>0) { - $this->lastoutput.=$val."\n"; + foreach($output_arr as $val) + { + $this->lastoutput.=$val."\n"; + } } + $this->lastresult=$retval; } - $this->lastresult=$retval; + $this->datelastresult=dol_now(); $result = $this->update($user); if ($result < 0) From 52cbdf04c38adcc4aaecee7cff2a26a58f800910 Mon Sep 17 00:00:00 2001 From: Maxime Kohlhaas Date: Tue, 23 Aug 2016 11:03:47 +0200 Subject: [PATCH 360/476] Allow to use textwithpicto with a custom picto --- htdocs/core/class/html.form.class.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index c1990199f54..57fc127f776 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -449,7 +449,7 @@ class Form * @param string $text Text to show * @param string $htmltext Content of tooltip * @param int $direction 1=Icon is after text, -1=Icon is before text, 0=no icon - * @param string $type Type of picto (info, help, warning, superadmin...) + * @param string $type Type of picto (info, help, warning, superadmin...) OR image filepath (mypicto@mymodule) * @param string $extracss Add a CSS style to td tags * @param int $noencodehtmltext Do not encode into html entity the htmltext * @param int $notabs 0=Include table and tr tags, 1=Do not include table and tr tags, 2=use div, 3=use span @@ -487,6 +487,7 @@ class Form elseif ($type == 'superadmin') $img = img_picto($alt, 'redstar'); elseif ($type == 'admin') $img = img_picto($alt, 'star'); elseif ($type == 'warning') $img = img_warning($alt); + else $img = img_picto($alt, $type); return $this->textwithtooltip($text, $htmltext, 2, $direction, $img, $extracss, $notabs, '', $noencodehtmltext); } From 4a2b7e1bba1cfecac354327c8f0f30e7bf4d8de4 Mon Sep 17 00:00:00 2001 From: BENKE Charlie Date: Tue, 23 Aug 2016 11:25:14 +0200 Subject: [PATCH 361/476] add link to commande fourn if resplenish --- htdocs/install/mysql/tables/llx_commandedet.sql | 2 ++ 1 file changed, 2 insertions(+) diff --git a/htdocs/install/mysql/tables/llx_commandedet.sql b/htdocs/install/mysql/tables/llx_commandedet.sql index 9608c2ae44b..ee407fe9cff 100644 --- a/htdocs/install/mysql/tables/llx_commandedet.sql +++ b/htdocs/install/mysql/tables/llx_commandedet.sql @@ -57,6 +57,8 @@ create table llx_commandedet fk_unit integer DEFAULT NULL, -- lien vers table des unités import_key varchar(14), + fk_commandefourndet integer NOT NULL, -- link to detail line of commande fourn (resplenish) + fk_multicurrency integer, multicurrency_code varchar(255), multicurrency_subprice double(24,8) DEFAULT 0, From 777b9fe4d8aac4fa7aad1a0c46969e9add900bee Mon Sep 17 00:00:00 2001 From: BENKE Charlie Date: Tue, 23 Aug 2016 11:28:10 +0200 Subject: [PATCH 362/476] Update 4.0.0-5.0.0.sql --- htdocs/install/mysql/migration/4.0.0-5.0.0.sql | 2 ++ 1 file changed, 2 insertions(+) diff --git a/htdocs/install/mysql/migration/4.0.0-5.0.0.sql b/htdocs/install/mysql/migration/4.0.0-5.0.0.sql index f5f6a1cdf99..443afa13289 100644 --- a/htdocs/install/mysql/migration/4.0.0-5.0.0.sql +++ b/htdocs/install/mysql/migration/4.0.0-5.0.0.sql @@ -27,6 +27,8 @@ ALTER TABLE llx_user DROP COLUMN phenix_pass; ALTER TABLE llx_societe ADD COLUMN fk_account integer; +ALTER TABLE llx_commandedet ADD COLUMN fk_commandefourndet integer NOT NULL after import_key; -- link to detail line of commande fourn (resplenish) + ALTER TABLE llx_website ADD COLUMN virtualhost varchar(255) after fk_default_home; ALTER TABLE llx_chargesociales ADD COLUMN fk_account integer after fk_type; From 87c49366d890b81e972a2f4ddaf7e7f826ac22e6 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 23 Aug 2016 15:43:48 +0200 Subject: [PATCH 363/476] Uniformize code --- htdocs/comm/propal/list.php | 25 +++++++---- htdocs/fichinter/list.php | 47 ++++++++++++++++---- htdocs/supplier_proposal/list.php | 71 +++++++++++++++++-------------- htdocs/theme/eldy/style.css.php | 21 +++++---- htdocs/theme/md/style.css.php | 5 ++- 5 files changed, 110 insertions(+), 59 deletions(-) diff --git a/htdocs/comm/propal/list.php b/htdocs/comm/propal/list.php index 4ba01b8cd31..9c0c0c6a6f9 100644 --- a/htdocs/comm/propal/list.php +++ b/htdocs/comm/propal/list.php @@ -738,30 +738,37 @@ if ($resql) { $obj = $db->fetch_object($resql); $var=!$var; + + $objectstatic->id=$obj->rowid; + $objectstatic->ref=$obj->ref; + print '
    '; - $objectstatic->id=$obj->rowid; - $objectstatic->ref=$obj->ref; - print ''; // Picto + Ref print ''; // Warning - print ''; } - print ''; // Other picto tool print ''; } @@ -372,16 +374,45 @@ if ($result) { $obj = $db->fetch_object($result); - $interventionstatic->id=$obj->fichid; - $interventionstatic->ref=$obj->ref; - $interventionstatic->statut=$obj->fk_statut; + $objectstatic->id=$obj->rowid; + $objectstatic->ref=$obj->ref; + $objectstatic->statut=$obj->fk_statut; $var=!$var; print ""; if (! empty($arrayfields['f.ref']['checked'])) { print "\n"; if (! $i) $totalarray['nbfield']++; } @@ -460,7 +491,7 @@ if ($result) // Status if (! empty($arrayfields['f.fk_statut']['checked'])) { - print ''; + print ''; if (! $i) $totalarray['nbfield']++; } // Action column diff --git a/htdocs/supplier_proposal/list.php b/htdocs/supplier_proposal/list.php index 512db4b7c4d..23607c444a7 100644 --- a/htdocs/supplier_proposal/list.php +++ b/htdocs/supplier_proposal/list.php @@ -195,8 +195,8 @@ $companystatic=new Societe($db); $now=dol_now(); -$sql = 'SELECT s.rowid, s.nom as name, s.town, s.client, s.code_client,'; -$sql.= ' p.rowid as supplier_proposalid, p.note_private, p.total_ht, p.ref, p.fk_statut, p.fk_user_author, p.date_valid, p.date_livraison as dp,'; +$sql = 'SELECT s.rowid as socid, s.nom as name, s.town, s.client, s.code_client,'; +$sql.= ' p.rowid, p.note_private, p.total_ht, p.ref, p.fk_statut, p.fk_user_author, p.date_valid, p.date_livraison as dp,'; if (! $user->rights->societe->client->voir && ! $socid) $sql .= " sc.fk_soc, sc.fk_user,"; $sql.= ' u.login'; $sql.= ' FROM '.MAIN_DB_PREFIX.'societe as s, '.MAIN_DB_PREFIX.'supplier_proposal as p'; @@ -402,78 +402,85 @@ if ($result) while ($i < min($num,$limit)) { - $objp = $db->fetch_object($result); + $obj = $db->fetch_object($result); $now = dol_now(); $var=!$var; + + $objectstatic->id=$obj->rowid; + $objectstatic->ref=$obj->ref; + print ''; print '\n"; - $url = DOL_URL_ROOT.'/comm/card.php?socid='.$objp->rowid; + $url = DOL_URL_ROOT.'/comm/card.php?socid='.$obj->socid; // Company - $companystatic->id=$objp->rowid; - $companystatic->name=$objp->name; - $companystatic->client=$objp->client; - $companystatic->code_client=$objp->code_client; + $companystatic->id=$obj->socid; + $companystatic->name=$obj->name; + $companystatic->client=$obj->client; + $companystatic->code_client=$obj->code_client; print ''; // Date print '\n"; // Date delivery print '\n"; - print '\n"; + print '\n"; - $userstatic->id=$objp->fk_user_author; - $userstatic->login=$objp->login; + $userstatic->id=$obj->fk_user_author; + $userstatic->login=$obj->login; print '\n"; - print '\n"; + print '\n"; print ''; print "\n"; - $total += $objp->total_ht; - $subtotal += $objp->total_ht; + $total += $obj->total_ht; + $subtotal += $obj->total_ht; $i++; } diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index 3c0b7576c69..b157e600347 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -1911,12 +1911,11 @@ div.tabsAction > a { a.tabTitle { color:rgba(0,0,0,.5) !important; - margin-right:10px; text-shadow:1px 1px 1px #ffffff; font-family: ; font-weight: normal !important; - padding: 4px 6px 2px 6px; - margin: 0px 6px; + padding: 4px 6px 2px 0px; + margin-right: 10px; text-decoration: none; white-space: nowrap; } @@ -2829,7 +2828,7 @@ div.tabBar .noborder { margin-bottom: 8px !important;*/ border: 1px solid #CCC; text-align: center; - border-radius: 4px; + border-radius: 2px; } .boxstats:hover { box-shadow: 0px 0px 8px 0px rgba(0,0,0,0.20); @@ -3364,9 +3363,6 @@ li.cal_event { border: none; list-style-type: none; } .cal_event_busy { } .cal_peruserviewname { max-width: 100px; height: 22px; } -.topmenuimage { - background-size: 28px auto; -} /* ============================================================================== */ /* Ajax - Liste deroulante de l'autocompletion */ @@ -4094,10 +4090,13 @@ dl.dropdown { .dropdown dd ul li input[type="checkbox"] { margin-right: 3px; } -.dropdown dd ul li a { +.dropdown dd ul li a, .dropdown dd ul li span { padding:5px; display:block; } +.dropdown dd ul li span { + color: #888; +} .dropdown dd ul li a:hover { background-color:#fff; } @@ -4378,6 +4377,10 @@ img.demothumb { /* CSS style used for small screen */ /* ============================================================================== */ +.topmenuimage { + background-size: 22px auto; + top: 2px; +} .imgopensurveywizard { padding: 0 4px 0 4px; @@ -4415,7 +4418,7 @@ img.demothumb { font-size: 10px; } .topmenuimage { - background-size: 26px auto; + background-size: 22px auto; margin-top: 0px; } diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php index 3588877adba..bbe2fa6b1cc 100644 --- a/htdocs/theme/md/style.css.php +++ b/htdocs/theme/md/style.css.php @@ -3990,10 +3990,13 @@ dl.dropdown { .dropdown dd ul li input[type="checkbox"] { margin-right: 3px; } -.dropdown dd ul li a { +.dropdown dd ul li a, .dropdown dd ul li span { padding:5px; display:block; } +.dropdown dd ul li span { + color: #888; +} .dropdown dd ul li a:hover { background-color:#fff; } From 8f809e403d9d73c151e835aedffbbac4cca2de62 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 24 Aug 2016 19:38:34 +0200 Subject: [PATCH 364/476] Uniformize code --- htdocs/comm/mailing/class/mailing.class.php | 1 + htdocs/comm/mailing/list.php | 22 +++++++++++++++++++-- htdocs/core/lib/emailing.lib.php | 2 ++ htdocs/supplier_proposal/list.php | 16 +++++++++++---- 4 files changed, 35 insertions(+), 6 deletions(-) diff --git a/htdocs/comm/mailing/class/mailing.class.php b/htdocs/comm/mailing/class/mailing.class.php index 298ceb886b9..6a7ae2cefbe 100644 --- a/htdocs/comm/mailing/class/mailing.class.php +++ b/htdocs/comm/mailing/class/mailing.class.php @@ -79,6 +79,7 @@ class Mailing extends CommonObject $this->statuts[2] = 'MailingStatusSentPartialy'; $this->statuts[3] = 'MailingStatusSentCompletely'; + $this->statut_dest[0] = 'MailingStatusNotSent'; $this->statut_dest[-1] = 'MailingStatusError'; $this->statut_dest[1] = 'MailingStatusSent'; $this->statut_dest[2] = 'MailingStatusRead'; diff --git a/htdocs/comm/mailing/list.php b/htdocs/comm/mailing/list.php index 66474afea8e..7542782f6e7 100644 --- a/htdocs/comm/mailing/list.php +++ b/htdocs/comm/mailing/list.php @@ -45,6 +45,19 @@ $sall=GETPOST("sall","alpha"); $sref=GETPOST("sref","alpha"); $filteremail=GETPOST('filteremail','alpha'); +// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array +$hookmanager->initHooks(array('mailinglist')); +$extrafields = new ExtraFields($db); + +// fetch optionals attributes and labels +$extralabels = $extrafields->fetch_name_optionals_label('mailing'); +$search_array_options=$extrafields->getOptionalsFromPost($extralabels,'','search_'); + +// List of fields to search into when doing a "search in all" +$fieldstosearchall = array( + 'm.titre'=>'Ref', +); + /* @@ -107,6 +120,7 @@ if ($result) if (! $filteremail) print_liste_field_titre($langs->trans("DateLastSend"),$_SERVER["PHP_SELF"],"m.date_envoi",$param,"",'align="center"',$sortfield,$sortorder); 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("Status"),$_SERVER["PHP_SELF"],($filteremail?"mc.statut":"m.statut"),$param,"",'align="right"',$sortfield,$sortorder); + print_liste_field_titre('', $_SERVER["PHP_SELF"],"",'','','align="right"',$sortfield,$sortorder,'maxwidthsearch '); print "\n"; print ''; @@ -120,8 +134,11 @@ if ($result) print ''; if (! $filteremail) print ''; print ''; - print '"; + print ''; + print ''; print "\n"; $var=True; @@ -172,6 +189,7 @@ if ($result) print $email->LibStatut($obj->statut,5); } print ''; + print ''; print "\n"; $i++; } diff --git a/htdocs/core/lib/emailing.lib.php b/htdocs/core/lib/emailing.lib.php index 9ddd05f7faa..4c447e5583a 100644 --- a/htdocs/core/lib/emailing.lib.php +++ b/htdocs/core/lib/emailing.lib.php @@ -43,7 +43,9 @@ function emailing_prepare_head(Mailing $object) { $head[$h][0] = DOL_URL_ROOT."/comm/mailing/cibles.php?id=".$object->id; $head[$h][1] = $langs->trans("MailRecipients"); + if ($object->nbemail > 0) $head[$h][1].= ' '.$object->nbemail.''; $head[$h][2] = 'targets'; + $h++; if (! empty($conf->global->EMAILING_USE_ADVANCED_SELECTOR)) diff --git a/htdocs/supplier_proposal/list.php b/htdocs/supplier_proposal/list.php index 23607c444a7..c17cf9f8757 100644 --- a/htdocs/supplier_proposal/list.php +++ b/htdocs/supplier_proposal/list.php @@ -388,10 +388,10 @@ if ($result) print ''; - + // Check boxes print ''; print "\n"; @@ -475,7 +475,15 @@ if ($result) print '\n"; - print ''; + // Action column + print ''; print "\n"; From b81de6b383701f524e92418519d368264594b9b2 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 24 Aug 2016 20:17:33 +0200 Subject: [PATCH 365/476] Fix wrapping with jmobile --- htdocs/public/test/test_arrays.php | 2 +- htdocs/theme/eldy/style.css.php | 1 + htdocs/theme/md/style.css.php | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/htdocs/public/test/test_arrays.php b/htdocs/public/test/test_arrays.php index 28ff4bdb743..05a291d5c4d 100644 --- a/htdocs/public/test/test_arrays.php +++ b/htdocs/public/test/test_arrays.php @@ -82,7 +82,7 @@ else

    This page is a sample of page using tables. It is designed to make test with
    - css (add parameter &theme=newtheme to test another theme or edit css of current theme)
    -- jmobile (add parameter ">dol_use_jmobile=1&dol_optimize_smallscreen=1 to enable view with jmobile)
    +- jmobile (add parameter ">dol_use_jmobile=1&dol_optimize_smallscreen=1 and switch to small screen < 960 to enable view with jmobile)
    - no javascript / usage for bind people (add parameter ">nojs=1 to force disable javascript)
    - dataTables
    - tablednd
    diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index 48930bbd9f7..845f6ede9ad 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -635,6 +635,7 @@ div.myavailability { @media only screen and (max-width: 960px) { + .maxwidthonsmartphone { max-width: 100px; } .minwidth50imp { min-width: 50px !important; } .minwidth100imp { min-width: 50px !important; } .minwidth200imp { min-width: 100px !important; } diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php index d9d9d7622af..900b614f1fe 100644 --- a/htdocs/theme/md/style.css.php +++ b/htdocs/theme/md/style.css.php @@ -633,6 +633,7 @@ div.myavailability { @media only screen and (max-width: 960px) { + .maxwidthonsmartphone { max-width: 100px; } .minwidth50imp { min-width: 50px !important; } .minwidth100imp { min-width: 50px !important; } .minwidth200imp { min-width: 100px !important; } From 7813f0be27ab218ca7c45b58f6fe3e80bc5e48d9 Mon Sep 17 00:00:00 2001 From: phf Date: Thu, 25 Aug 2016 10:07:19 +0200 Subject: [PATCH 366/476] Fix deprecated value given to dol_print_date --- htdocs/compta/journal/purchasesjournal.php | 2 +- htdocs/compta/journal/sellsjournal.php | 2 +- htdocs/contrat/index.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/compta/journal/purchasesjournal.php b/htdocs/compta/journal/purchasesjournal.php index b8a5779c708..f0b520bb11e 100644 --- a/htdocs/compta/journal/purchasesjournal.php +++ b/htdocs/compta/journal/purchasesjournal.php @@ -230,7 +230,7 @@ foreach ($tabfac as $key => $val) if (isset($line['nomtcheck']) || $mt) { print "

    "; - print ""; + print ""; print ""; print ""; diff --git a/htdocs/compta/journal/sellsjournal.php b/htdocs/compta/journal/sellsjournal.php index 0cbd5068077..670d89fd2cb 100644 --- a/htdocs/compta/journal/sellsjournal.php +++ b/htdocs/compta/journal/sellsjournal.php @@ -263,7 +263,7 @@ foreach ($tabfac as $key => $val) if (isset($line['nomtcheck']) || $mt) { print ""; - print ""; + print ""; print ""; print ""; diff --git a/htdocs/contrat/index.php b/htdocs/contrat/index.php index 86f7c00e566..2a2d2d35891 100644 --- a/htdocs/contrat/index.php +++ b/htdocs/contrat/index.php @@ -344,7 +344,7 @@ if ($result) $staticcompany->name=$obj->name; print $staticcompany->getNomUrl(1,'',20); print ''; - print ''; + print ''; //print ''; print ''; print ''; From 89e6b5a6cdfba2762fc85345e1cf3beb27dd6594 Mon Sep 17 00:00:00 2001 From: BENKE Charlie Date: Thu, 25 Aug 2016 12:22:17 +0200 Subject: [PATCH 367/476] add color of type for URL background --- htdocs/comm/action/class/actioncomm.class.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/htdocs/comm/action/class/actioncomm.class.php b/htdocs/comm/action/class/actioncomm.class.php index a5016de7ec4..68943525ca6 100644 --- a/htdocs/comm/action/class/actioncomm.class.php +++ b/htdocs/comm/action/class/actioncomm.class.php @@ -513,7 +513,7 @@ class ActionComm extends CommonObject $sql.= " a.fk_contact, a.percent as percentage,"; $sql.= " a.fk_element, a.elementtype,"; $sql.= " a.priority, a.fulldayevent, a.location, a.punctual, a.transparency,"; - $sql.= " c.id as type_id, c.code as type_code, c.libelle,"; + $sql.= " c.id as type_id, c.code as type_code, c.libelle, c.color,"; $sql.= " s.nom as socname,"; $sql.= " u.firstname, u.lastname as lastname"; $sql.= " FROM ".MAIN_DB_PREFIX."actioncomm as a "; @@ -541,6 +541,7 @@ class ActionComm extends CommonObject // Properties of parent table llx_c_actioncomm (will be deprecated in future) $this->type_id = $obj->type_id; $this->type_code = $obj->type_code; + $this->color = $obj->color; $transcode=$langs->trans("Action".$obj->type_code); $type_libelle=($transcode!="Action".$obj->type_code?$transcode:$obj->libelle); $this->type = $type_libelle; @@ -1109,7 +1110,11 @@ class ActionComm extends CommonObject if (! empty($this->location)) $tooltip .= '
    ' . $langs->trans('Location') . ': ' . $this->location; - $linkclose = ' class="'.$classname.' classfortooltip" title="'.dol_escape_htmltag($tooltip, 1).'">'; + if (! empty($conf->global->AGENDA_USE_EVENT_TYPE) && $this->type_color) + $linkclose = ' style="background-color:#'.$this->type_color.'" class="'.$classname.' classfortooltip" title="'.dol_escape_htmltag($tooltip, 1).'">'; + else + $linkclose = ' class="'.$classname.' classfortooltip" title="'.dol_escape_htmltag($tooltip, 1).'">'; + if (! is_object($hookmanager)) { include_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php'; From 223eed0cba92f60f094806ae687dceb31abe6571 Mon Sep 17 00:00:00 2001 From: BENKE Charlie Date: Thu, 25 Aug 2016 12:24:38 +0200 Subject: [PATCH 368/476] Update index.php --- htdocs/comm/action/index.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/htdocs/comm/action/index.php b/htdocs/comm/action/index.php index 5306300e7b1..f70b8d171a1 100644 --- a/htdocs/comm/action/index.php +++ b/htdocs/comm/action/index.php @@ -440,7 +440,7 @@ $sql.= ' a.percent,'; $sql.= ' a.fk_user_author,a.fk_user_action,'; $sql.= ' a.transparency, a.priority, a.fulldayevent, a.location,'; $sql.= ' a.fk_soc, a.fk_contact,'; -$sql.= ' ca.code as type_code, ca.libelle as type_label'; +$sql.= ' ca.code as type_code, ca.libelle as type_label, ca.color as type_color'; $sql.= ' FROM '.MAIN_DB_PREFIX.'c_actioncomm as ca, '.MAIN_DB_PREFIX."actioncomm as a"; if (! $user->rights->societe->client->voir && ! $socid) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON a.fk_soc = sc.fk_soc"; // We must filter on resource table @@ -531,6 +531,8 @@ if ($resql) $event->type_code=$obj->type_code; $event->type_label=$obj->type_label; + $event->type_color=$obj->type_color; + $event->libelle=$obj->label; $event->percentage=$obj->percent; $event->authorid=$obj->fk_user_author; // user id of creator From ba422615dd4137175e7ab18d756cdfbda6309218 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Thu, 25 Aug 2016 14:38:16 +0200 Subject: [PATCH 369/476] better trigger management on supplier order --- .../class/fournisseur.commande.class.php | 102 ++++++++++++++---- 1 file changed, 81 insertions(+), 21 deletions(-) diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index 8a812c34f8b..8a9b2a88be7 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -1987,28 +1987,58 @@ class CommandeFournisseur extends CommonOrder * * @param User $user Objet user making change * @param timestamp $date_livraison Planned delivery date + * @param int $notrigger 1=Does not execute triggers, 0= execuete triggers * @return int <0 if KO, >0 if OK */ - function set_date_livraison($user, $date_livraison) + function set_date_livraison($user, $date_livraison, $notrigger=0) { if ($user->rights->fournisseur->commande->creer) { - $sql = "UPDATE ".MAIN_DB_PREFIX."commande_fournisseur"; + $error=0; + + $this->db->begin(); + + $sql = "UPDATE ".MAIN_DB_PREFIX."commande_fournisseur"; $sql.= " SET date_livraison = ".($date_livraison ? "'".$this->db->idate($date_livraison)."'" : 'null'); $sql.= " WHERE rowid = ".$this->id; - dol_syslog(get_class($this)."::set_date_livraison", LOG_DEBUG); - $resql=$this->db->query($sql); - if ($resql) - { - $this->date_livraison = $date_livraison; - return 1; - } - else - { - $this->error=$this->db->error(); - return -1; - } + dol_syslog(__METHOD__, LOG_DEBUG); + $resql=$this->db->query($sql); + if (!$resql) + { + $this->errors[]=$this->db->error(); + $error++; + } + + if (! $error) + { + $this->oldcopy= clone $this; + $this->date_livraison = $date_livraison; + } + + if (! $notrigger && empty($error)) + { + // Call trigger + $result=$this->call_trigger('ORDER_SUPPLIER_MODIFY',$user); + if ($result < 0) $error++; + // End call triggers + } + + if (! $error) + { + $this->db->commit(); + return 1; + } + else + { + foreach($this->errors as $errmsg) + { + dol_syslog(__METHOD__.' Error: '.$errmsg, LOG_ERR); + $this->error.=($this->error?', '.$errmsg:$errmsg); + } + $this->db->rollback(); + return -1*$error; + } } else { @@ -2021,27 +2051,57 @@ class CommandeFournisseur extends CommonOrder * * @param User $user Objet utilisateur qui modifie * @param int $id_projet Date de livraison + * @param int $notrigger 1=Does not execute triggers, 0= execuete triggers * @return int <0 si ko, >0 si ok */ - function set_id_projet($user, $id_projet) + function set_id_projet($user, $id_projet, $notrigger=0) { if ($user->rights->fournisseur->commande->creer) { + $error=0; + + $this->db->begin(); + $sql = "UPDATE ".MAIN_DB_PREFIX."commande_fournisseur"; $sql.= " SET fk_projet = ".($id_projet > 0 ? (int) $id_projet : 'null'); $sql.= " WHERE rowid = ".$this->id; - dol_syslog(get_class($this)."::set_id_projet", LOG_DEBUG); + dol_syslog(__METHOD__, LOG_DEBUG); $resql=$this->db->query($sql); - if ($resql) + if (!$resql) { - $this->fk_projet = $id_projet; - return 1; + $this->errors[]=$this->db->error(); + $error++; + } + + if (! $error) + { + $this->oldcopy= clone $this; + $this->fk_projet = $id_projet; + } + + if (! $notrigger && empty($error)) + { + // Call trigger + $result=$this->call_trigger('ORDER_SUPPLIER_MODIFY',$user); + if ($result < 0) $error++; + // End call triggers + } + + if (! $error) + { + $this->db->commit(); + return 1; } else { - $this->error=$this->db->error(); - return -1; + foreach($this->errors as $errmsg) + { + dol_syslog(__METHOD__.' Error: '.$errmsg, LOG_ERR); + $this->error.=($this->error?', '.$errmsg:$errmsg); + } + $this->db->rollback(); + return -1*$error; } } else From 9f40f346cb2f88b08420a8fa3dadf0ac3b65dc6c Mon Sep 17 00:00:00 2001 From: aspangaro Date: Fri, 26 Aug 2016 13:23:00 +0200 Subject: [PATCH 370/476] Fix: Presentation of Donations Area and add search --- htdocs/don/index.php | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/htdocs/don/index.php b/htdocs/don/index.php index 73c9e56d29c..6d0b9a7fafa 100644 --- a/htdocs/don/index.php +++ b/htdocs/don/index.php @@ -79,11 +79,32 @@ if ($result) print load_fiche_titre($langs->trans("DonationsArea")); -print '
    '; print $objectstatic->getNomUrl(1); print ''; - if ($obj->fk_statut == 1 && $db->jdate($obj->dfv) < ($now - $conf->propal->cloture->warning_delay)) print img_warning($langs->trans("Late")); + $warnornote=''; + if ($obj->fk_statut == 1 && $db->jdate($obj->dfv) < ($now - $conf->propal->cloture->warning_delay)) $warnornote.=img_warning($langs->trans("Late")); if (! empty($obj->note_private)) { - print ' '; - print ''.img_picto($langs->trans("ViewPrivateNote"),'object_generic').''; - print ''; + $warnornote.=($warnornote?' ':''); + $warnornote.= ''; + $warnornote.= ''.img_picto($langs->trans("ViewPrivateNote"),'object_generic').''; + $warnornote.= ''; + } + if ($warnornote) + { + print ''; + print $warnornote; + print ''; $filename=dol_sanitizeFileName($obj->ref); diff --git a/htdocs/fichinter/list.php b/htdocs/fichinter/list.php index 5d88dd78977..d6de8f3c19b 100644 --- a/htdocs/fichinter/list.php +++ b/htdocs/fichinter/list.php @@ -27,6 +27,7 @@ */ require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; require_once DOL_DOCUMENT_ROOT.'/fichinter/class/fichinter.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; @@ -134,13 +135,14 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") || GETP */ $form = new Form($db); -$interventionstatic=new Fichinter($db); +$formfile = new FormFile($db); +$objectstatic=new Fichinter($db); llxHeader('', $langs->trans("Intervention")); $sql = "SELECT"; -$sql.= " f.ref, f.rowid as fichid, f.fk_statut, f.description, f.datec as date_creation, f.tms as date_update,"; +$sql.= " f.ref, f.rowid, f.fk_statut, f.description, f.datec as date_creation, f.tms as date_update, f.note_private,"; if (empty($conf->global->FICHINTER_DISABLE_DETAILS)) $sql.= " fd.description as descriptiondetail, fd.date as dp, fd.duree,"; $sql.= " s.nom as name, s.rowid as socid, s.client"; // Add fields from extrafields @@ -352,7 +354,7 @@ if ($result) if (! empty($arrayfields['f.fk_statut']['checked'])) { print ''; - $liststatus=$interventionstatic->statuts_short; + $liststatus=$objectstatic->statuts_short; print $form->selectarray('search_status', $liststatus, $search_status, 1, 0, 0, '', 1); print '
    "; - print $interventionstatic->getNomUrl(1); + + print ''; + // Picto + Ref + print ''; + // Warning + $warnornote=''; + //if ($obj->fk_statut == 1 && $db->jdate($obj->dfv) < ($now - $conf->fichinter->warning_delay)) $warnornote.=img_warning($langs->trans("Late")); + if (! empty($obj->note_private)) + { + $warnornote.=($warnornote?' ':''); + $warnornote.= ''; + $warnornote.= ''.img_picto($langs->trans("ViewPrivateNote"),'object_generic').''; + $warnornote.= ''; + } + if ($warnornote) + { + print ''; + } + // Other picto tool + print '
    '; + print $objectstatic->getNomUrl(1); + print ''; + print $warnornote; + print ''; + $filename=dol_sanitizeFileName($obj->ref); + $filedir=$conf->fichinter->dir_output . '/' . dol_sanitizeFileName($obj->ref); + $urlsource=$_SERVER['PHP_SELF'].'?id='.$obj->rowid; + print $formfile->getDocumentsLink($objectstatic->element, $filename, $filedir); + print '
    '; + print "
    '.$interventionstatic->LibStatut($obj->fk_statut,5).''.$objectstatic->LibStatut($obj->fk_statut,5).'
    '; - $objectstatic->id=$objp->supplier_proposalid; - $objectstatic->ref=$objp->ref; - print ''; + // Picto + Ref print ''; - - print ''; - - // Ref + if ($warnornote) + { + print ''; + } + // Other picto tool print '
    '; print $objectstatic->getNomUrl(1); print ''; - if ($objp->fk_statut == 1 && $db->jdate($objp->dfv) < ($now - $conf->supplier_proposal->cloture->warning_delay)) print img_warning($langs->trans("Late")); - if (! empty($objp->note_private)) + // Warning + $warnornote=''; + if ($obj->fk_statut == 1 && $db->jdate($obj->date_valid) < ($now - $conf->supplier_proposal->warning_delay)) $warnornote.=img_warning($langs->trans("Late")); + if (! empty($obj->note_private)) { - print ' '; - print ''.img_picto($langs->trans("ViewPrivateNote"),'object_generic').''; - print ''; + $warnornote.=($warnornote?' ':''); + $warnornote.= ''; + $warnornote.= ''.img_picto($langs->trans("ViewPrivateNote"),'object_generic').''; + $warnornote.= ''; } - print ''; + print $warnornote; + print ''; - $filename=dol_sanitizeFileName($objp->ref); - $filedir=$conf->supplier_proposal->dir_output . '/' . dol_sanitizeFileName($objp->ref); - $urlsource=$_SERVER['PHP_SELF'].'?id='.$objp->supplier_proposalid; + $filename=dol_sanitizeFileName($obj->ref); + $filedir=$conf->supplier_proposal->dir_output . '/' . dol_sanitizeFileName($obj->ref); + $urlsource=$_SERVER['PHP_SELF'].'?id='.$obj->rowid; print $formfile->getDocumentsLink($objectstatic->element, $filename, $filedir); print '
    '; print "
    '; print $companystatic->getNomUrl(1,'customer'); print ''; - print dol_print_date($db->jdate($objp->date_valid), 'day'); + print dol_print_date($db->jdate($obj->date_valid), 'day'); print "'; - print dol_print_date($db->jdate($objp->dp), 'day'); + print dol_print_date($db->jdate($obj->dp), 'day'); print "'.price($objp->total_ht)."'.price($obj->total_ht)."'; if ($userstatic->id) print $userstatic->getLoginUrl(1); else print ' '; print "'.$objectstatic->LibStatut($objp->fk_statut,5)."'.$objectstatic->LibStatut($obj->fk_statut,5)." 
       '; - print " '; + $searchpitco=$form->showFilterAndCheckAddButtons(0); + print $searchpitco; + print '
    '; $formsupplier_proposal->selectSupplierProposalStatus($viewstatut,1); print ''; - print ''; - print ''; + $searchpitco=$form->showFilterAndCheckAddButtons(0); + print $searchpitco; print '
    '.$objectstatic->LibStatut($obj->fk_statut,5)." '; + if ($massactionbutton || $massaction) // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined + { + $selected=0; + if (in_array($obj->rowid, $arrayofselected)) $selected=1; + print ''; + } + print '
    ".dol_print_date($val["date"])."".dol_print_date($db->jdate($val["date"]))."".$invoicestatic->getNomUrl(1)."".$k."".$line['label']."
    ".dol_print_date($val["date"])."".dol_print_date($db->jdate($val["date"]))."".$invoicestatic->getNomUrl(1)."".$k."".$line['label']."'.dol_print_date($obj->tms,'dayhour').''.dol_print_date($db->jdate($obj->tms),'dayhour').''.$staticcontrat->LibStatut($obj->statut,2).''.($obj->nb_initial>0 ? $obj->nb_initial.$staticcontratligne->LibStatut(0,3):'').''.($obj->nb_running>0 ? $obj->nb_running.$staticcontratligne->LibStatut(4,3,0):'').'
    '; +print '
    '; -// Left area -print '
    '; +if (! empty($conf->don->enabled) && $user->rights->don->lire) +{ + $listofsearchfields['search_donation']=array('text'=>'Donation'); +} +if (count($listofsearchfields)) +{ + print '
    '; + print ''; + print ''; + $i=0; + foreach($listofsearchfields as $key => $value) + { + if ($i == 0) print ''; + print ''; + print ''; + if ($i == 0) print ''; + print ''; + $i++; + } + print '
    '.$langs->trans("Search").'
    :
    '; + print '
    '; + print '
    '; +} print ''; print ''; @@ -136,8 +157,7 @@ print ''; print "
    "; -// Right area -print '
    '; +print '
    '; $max=10; @@ -203,7 +223,7 @@ if ($resql) else dol_print_error($db); -print '
    '; +print ''; llxFooter(); From 5d7414dcc3d3dd740adbb66464474fb90137d0f5 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 28 Aug 2016 01:58:11 +0200 Subject: [PATCH 371/476] Solve php regression failing travis --- htdocs/core/lib/functions2.lib.php | 3 ++- test/phpunit/Functions2LibTest.php | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/htdocs/core/lib/functions2.lib.php b/htdocs/core/lib/functions2.lib.php index 0cc43080c6c..098f630adfe 100644 --- a/htdocs/core/lib/functions2.lib.php +++ b/htdocs/core/lib/functions2.lib.php @@ -1490,7 +1490,8 @@ function getListOfModels($db,$type,$maxfilenamelength=0) /** * This function evaluates a string that should be a valid IPv4 - * + * Note: For ip 169.254.0.0, it returns 0 with some PHP (5.6.24) and 2 with some minor patchs of PHP (5.6.25). See https://github.com/php/php-src/pull/1954. + * * @param string $ip IP Address * @return int 0 if not valid or reserved range, 1 if valid and public IP, 2 if valid and private range IP */ diff --git a/test/phpunit/Functions2LibTest.php b/test/phpunit/Functions2LibTest.php index 13462afc601..470a570bf6e 100644 --- a/test/phpunit/Functions2LibTest.php +++ b/test/phpunit/Functions2LibTest.php @@ -223,7 +223,7 @@ class Functions2LibTest extends PHPUnit_Framework_TestCase $ip='169.254.0.0'; $result=is_ip($ip); print __METHOD__." for ".$ip." result=".$result."\n"; - $this->assertEquals(0,$result,$ip); + //$this->assertEquals(2,$result,$ip); // Assertion disabled because returned value differs between PHP patch version $ip='1.2.3.4'; $result=is_ip($ip); From f6a7838c800aaaeca7e1441ea58c53f0e7f156cd Mon Sep 17 00:00:00 2001 From: BENKE Charlie Date: Sun, 28 Aug 2016 07:59:47 +0200 Subject: [PATCH 372/476] Update actioncomm.class.php the variable name defined on the class is type_color --- htdocs/comm/action/class/actioncomm.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/comm/action/class/actioncomm.class.php b/htdocs/comm/action/class/actioncomm.class.php index 68943525ca6..c4739845042 100644 --- a/htdocs/comm/action/class/actioncomm.class.php +++ b/htdocs/comm/action/class/actioncomm.class.php @@ -513,7 +513,7 @@ class ActionComm extends CommonObject $sql.= " a.fk_contact, a.percent as percentage,"; $sql.= " a.fk_element, a.elementtype,"; $sql.= " a.priority, a.fulldayevent, a.location, a.punctual, a.transparency,"; - $sql.= " c.id as type_id, c.code as type_code, c.libelle, c.color,"; + $sql.= " c.id as type_id, c.code as type_code, c.libelle, c.color as type_color,"; $sql.= " s.nom as socname,"; $sql.= " u.firstname, u.lastname as lastname"; $sql.= " FROM ".MAIN_DB_PREFIX."actioncomm as a "; @@ -541,7 +541,7 @@ class ActionComm extends CommonObject // Properties of parent table llx_c_actioncomm (will be deprecated in future) $this->type_id = $obj->type_id; $this->type_code = $obj->type_code; - $this->color = $obj->color; + $this->type_color = $obj->type_color; $transcode=$langs->trans("Action".$obj->type_code); $type_libelle=($transcode!="Action".$obj->type_code?$transcode:$obj->libelle); $this->type = $type_libelle; From 52c12cbecdea87cd839de6d3a210d69bee0fade4 Mon Sep 17 00:00:00 2001 From: philippe grand Date: Sun, 28 Aug 2016 14:37:53 +0200 Subject: [PATCH 373/476] fix : bad name --- htdocs/adherents/list.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/adherents/list.php b/htdocs/adherents/list.php index caa45b1d99c..92cd863f0e0 100644 --- a/htdocs/adherents/list.php +++ b/htdocs/adherents/list.php @@ -421,7 +421,7 @@ if ($resql) if (! empty($arrayfields['d.firstname']['checked'])) { print '
    '; - print '
    '; print ''; @@ -587,7 +590,7 @@ if (! empty($arrayfields['s.ape']['checked'])) print_liste_field_titr if (! empty($arrayfields['s.idprof4']['checked'])) print_liste_field_titre($form->textwithpicto($langs->trans("ProfId4Short"),$textprofid[4],1,0),$_SERVER["PHP_SELF"],"s.idprof4","",$param,'class="nowrap"',$sortfield,$sortorder); if (! empty($arrayfields['s.idprof5']['checked'])) print_liste_field_titre($form->textwithpicto($langs->trans("ProfId5Short"),$textprofid[4],1,0),$_SERVER["PHP_SELF"],"s.idprof5","",$param,'class="nowrap"',$sortfield,$sortorder); if (! empty($arrayfields['s.idprof6']['checked'])) print_liste_field_titre($form->textwithpicto($langs->trans("ProfId6Short"),$textprofid[4],1,0),$_SERVER["PHP_SELF"],"s.idprof6","",$param,'class="nowrap"',$sortfield,$sortorder); -print_liste_field_titre(''); // type of customer +if (! empty($arrayfields['customerorsupplier']['checked'])) print_liste_field_titre(''); // type of customer if (! empty($arrayfields['s.fk_prospectlevel']['checked'])) print_liste_field_titre($arrayfields['s.fk_prospectlevel']['label'],$_SERVER["PHP_SELF"],"s.fk_prospectlevel","",$param,'align="center"',$sortfield,$sortorder); if (! empty($arrayfields['s.fk_stcomm']['checked'])) print_liste_field_titre($arrayfields['s.fk_stcomm']['label'],$_SERVER["PHP_SELF"],"s.fk_stcomm","",$param,'align="center"',$sortfield,$sortorder); // Extra fields @@ -735,17 +738,19 @@ if (! empty($arrayfields['s.idprof6']['checked'])) } // Type (customer/prospect/supplier) -print ''; - +if (! empty($arrayfields['customerorsupplier']['checked'])) +{ + print ''; +} if (! empty($arrayfields['s.fk_prospectlevel']['checked'])) { // Prospect level @@ -946,30 +951,33 @@ while ($i < min($num, $limit)) print "\n"; } // Type - print ''; + if (! empty($arrayfields['customerorsupplier']['checked'])) + { + print ''; + } if (! empty($arrayfields['s.fk_prospectlevel']['checked'])) { // Prospect level From cc97abb15e3616399ee48e5623baa178b16101e9 Mon Sep 17 00:00:00 2001 From: philippe grand Date: Sun, 28 Aug 2016 15:49:00 +0200 Subject: [PATCH 375/476] fix : search by search first name was not working --- htdocs/adherents/list.php | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/adherents/list.php b/htdocs/adherents/list.php index 92cd863f0e0..2297b155634 100644 --- a/htdocs/adherents/list.php +++ b/htdocs/adherents/list.php @@ -215,6 +215,7 @@ if ($search_ref) if (is_numeric($search_ref)) $sql.= " AND (d.rowid = ".$db->escape($search_ref).")"; else $sql.=" AND 1 = 2"; // Always wrong } +if ($search_firstname) $sql.= natural_search("d.firstname", $search_firstname); if ($search_lastname) $sql.= natural_search(array("d.firstname", "d.lastname", "d.societe"), $search_lastname); if ($search_login) $sql.= natural_search("d.login", $search_login); if ($search_email) $sql.= natural_search("d.email", $search_email); From e46bda5f9a8515cd168ef9689c55126ad5cc9a02 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 28 Aug 2016 15:58:52 +0200 Subject: [PATCH 376/476] Fix for jmobile --- htdocs/product/class/product.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index f4cf2c994a6..6252811fff2 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -3727,11 +3727,11 @@ class Product extends CommonObject if (empty($maxHeight) || $photo_vignette && $imgarray['height'] > $maxHeight) { $return.= ''; - $return.= 'dol_use_jmobile?'max-height':'height').'="'.$maxHeight.'" src="'.DOL_URL_ROOT.'/viewimage.php?modulepart=product&entity='.$this->entity.'&file='.urlencode($pdirthumb.$photo_vignette).'" title="'.dol_escape_htmltag($alt).'">'; + $return.= ''; } else { $return.= ''; - $return.= 'dol_use_jmobile?'max-height':'height').'="'.$maxHeight.'" src="'.DOL_URL_ROOT.'/viewimage.php?modulepart=product&entity='.$this->entity.'&file='.urlencode($pdir.$photo).'" title="'.dol_escape_htmltag($alt).'">'; + $return.= ''; } if (empty($nolink)) $return.= ''; From 661526f822544c56a5734429d782bfbe634ebf4a Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 28 Aug 2016 15:58:52 +0200 Subject: [PATCH 377/476] Fix for jmobile --- htdocs/product/class/product.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index 7b3f1750003..98cadbff7d9 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -3702,11 +3702,11 @@ class Product extends CommonObject if (empty($maxHeight) || $photo_vignette && $imgarray['height'] > $maxHeight) { $return.= ''; - $return.= 'dol_use_jmobile?'max-height':'height').'="'.$maxHeight.'" src="'.DOL_URL_ROOT.'/viewimage.php?modulepart=product&entity='.$this->entity.'&file='.urlencode($pdirthumb.$photo_vignette).'" title="'.dol_escape_htmltag($alt).'">'; + $return.= ''; } else { $return.= ''; - $return.= 'dol_use_jmobile?'max-height':'height').'="'.$maxHeight.'" src="'.DOL_URL_ROOT.'/viewimage.php?modulepart=product&entity='.$this->entity.'&file='.urlencode($pdir.$photo).'" title="'.dol_escape_htmltag($alt).'">'; + $return.= ''; } if (empty($nolink)) $return.= ''; From 92ef3f0cd840da4d2de3fe013b1fc92dd86b9b1c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 28 Aug 2016 16:17:23 +0200 Subject: [PATCH 378/476] Fix responsive design --- htdocs/product/card.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/htdocs/product/card.php b/htdocs/product/card.php index fe593628ea5..e5417ef6bd7 100644 --- a/htdocs/product/card.php +++ b/htdocs/product/card.php @@ -962,7 +962,7 @@ else print ''; } @@ -976,7 +976,7 @@ else // Public URL print ''; // Stock min level @@ -1268,7 +1268,7 @@ else print ''; } @@ -1284,7 +1284,7 @@ else // Public Url print ''; // Stock @@ -1375,7 +1375,7 @@ else print ''; // Origin country print ''; } @@ -1526,7 +1526,7 @@ else print ''; print ''; print ''; - print ''; + print ''; print ' '; } else From 1becfbd7b6fbcf76bc358be02b5c2787ce69a894 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 28 Aug 2016 16:26:54 +0200 Subject: [PATCH 379/476] CSS --- htdocs/theme/eldy/style.css.php | 6 +++--- htdocs/theme/md/style.css.php | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index 845f6ede9ad..9b4a1addc78 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -3788,9 +3788,9 @@ div.ecmjqft { /* use or not ? */ div.jnotify-background { opacity : 0.95 !important; - -moz-box-shadow: 3px 3px 4px #888 !important; - -webkit-box-shadow: 3px 3px 4px #888 !important; - box-shadow: 3px 3px 4px #888 !important; + -moz-box-shadow: 2px 2px 4px #888 !important; + -webkit-box-shadow: 2px 2px 4px #888 !important; + box-shadow: 2px 2px 4px #888 !important; } /* ============================================================================== */ diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php index 900b614f1fe..122ae08244b 100644 --- a/htdocs/theme/md/style.css.php +++ b/htdocs/theme/md/style.css.php @@ -3677,9 +3677,9 @@ div.ecmjqft { /* use or not ? */ div.jnotify-background { opacity : 0.95 !important; - -moz-box-shadow: 3px 3px 4px #888 !important; - -webkit-box-shadow: 3px 3px 4px #888 !important; - box-shadow: 3px 3px 4px #888 !important; + -moz-box-shadow: 2px 2px 4px #888 !important; + -webkit-box-shadow: 2px 2px 4px #888 !important; + box-shadow: 2px 2px 4px #888 !important; } /* ============================================================================== */ From 989d6e7bc89482a0975132964aa5dad018d073f8 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 28 Aug 2016 16:17:23 +0200 Subject: [PATCH 380/476] Fix responsive design --- htdocs/product/card.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/htdocs/product/card.php b/htdocs/product/card.php index f082c037767..c07a291c539 100644 --- a/htdocs/product/card.php +++ b/htdocs/product/card.php @@ -956,7 +956,7 @@ else print ''; } @@ -970,7 +970,7 @@ else // Public URL print ''; // Stock min level @@ -1259,7 +1259,7 @@ else print ''; } @@ -1275,7 +1275,7 @@ else // Public Url print ''; // Stock @@ -1366,7 +1366,7 @@ else print ''; // Origin country print ''; } @@ -1514,7 +1514,7 @@ else print ''; print ''; print ''; - print ''; + print ''; print ' '; } else From a9e5668ea4b4444c8d86b1cfd49d226a1990f27d Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 28 Aug 2016 15:58:52 +0200 Subject: [PATCH 381/476] Fix for jmobile --- htdocs/product/class/product.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index 79c21cfcbdf..afff7d6f1c6 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -3690,11 +3690,11 @@ class Product extends CommonObject if (empty($maxHeight) || $photo_vignette && $imgarray['height'] > $maxHeight) { $return.= ''; - $return.= 'dol_use_jmobile?'max-height':'height').'="'.$maxHeight.'" src="'.DOL_URL_ROOT.'/viewimage.php?modulepart=product&entity='.$this->entity.'&file='.urlencode($pdirthumb.$photo_vignette).'" title="'.dol_escape_htmltag($alt).'">'; + $return.= ''; } else { $return.= ''; - $return.= 'dol_use_jmobile?'max-height':'height').'="'.$maxHeight.'" src="'.DOL_URL_ROOT.'/viewimage.php?modulepart=product&entity='.$this->entity.'&file='.urlencode($pdir.$photo).'" title="'.dol_escape_htmltag($alt).'">'; + $return.= ''; } if (empty($nolink)) $return.= ''; From 6ddd264178571b47ec2124f020fa36cb14cc20b2 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 28 Aug 2016 17:45:20 +0200 Subject: [PATCH 382/476] Fix not used field --- htdocs/core/modules/modFacture.class.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/htdocs/core/modules/modFacture.class.php b/htdocs/core/modules/modFacture.class.php index 28a275c3863..9ba9fae7322 100644 --- a/htdocs/core/modules/modFacture.class.php +++ b/htdocs/core/modules/modFacture.class.php @@ -192,9 +192,10 @@ class modFacture extends DolibarrModules $this->export_label[$r]='CustomersInvoicesAndInvoiceLines'; // Translation key (used only if key ExportDataset_xxx_z not found) $this->export_icon[$r]='bill'; $this->export_permission[$r]=array(array("facture","facture","export","other")); - $this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.zip'=>'Zip','s.town'=>'Town','c.code'=>'CountryCode','s.phone'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.code_compta'=>'CustomerAccountancyCode','s.code_compta_fournisseur'=>'SupplierAccountancyCode','s.tva_intra'=>'VATIntra','f.rowid'=>"InvoiceId",'f.facnumber'=>"InvoiceRef",'f.datec'=>"InvoiceDateCreation",'f.datef'=>"DateInvoice",'f.date_lim_reglement'=>"DateDue",'f.total'=>"TotalHT",'f.total_ttc'=>"TotalTTC",'f.tva'=>"TotalVAT",'f.paye'=>"InvoicePaid",'f.fk_statut'=>'InvoiceStatus','f.note_private'=>"NotePrivate",'f.note_public'=>"NotePublic",'f.fk_user_author'=>'CreatedById','uc.login'=>'CreatedByLogin','f.fk_user_valid'=>'ValidatedById','uv.login'=>'ValidatedByLogin', 'pj.ref'=>'ProjectRef', 'fd.rowid'=>'LineId','fd.label'=>"Label",'fd.description'=>"LineDescription",'fd.subprice'=>"LineUnitPrice",'fd.tva_tx'=>"LineVATRate",'fd.qty'=>"LineQty",'fd.total_ht'=>"LineTotalHT",'fd.total_tva'=>"LineTotalVAT",'fd.total_ttc'=>"LineTotalTTC",'fd.date_start'=>"DateStart",'fd.date_end'=>"DateEnd",'fd.special_code'=>'SpecialCode','fd.product_type'=>"TypeOfLineServiceOrProduct",'fd.fk_product'=>'ProductId','p.ref'=>'ProductRef','p.label'=>'ProductLabel','p.accountancy_code_sell'=>'ProductAccountancySellCode'); + $this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.zip'=>'Zip','s.town'=>'Town','c.code'=>'CountryCode','s.phone'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.code_compta'=>'CustomerAccountancyCode','s.code_compta_fournisseur'=>'SupplierAccountancyCode','s.tva_intra'=>'VATIntra','f.rowid'=>"InvoiceId",'f.facnumber'=>"InvoiceRef",'f.datec'=>"InvoiceDateCreation",'f.datef'=>"DateInvoice",'f.date_lim_reglement'=>"DateDue",'f.total'=>"TotalHT",'f.total_ttc'=>"TotalTTC",'f.tva'=>"TotalVAT",'f.paye'=>"InvoicePaid",'f.fk_statut'=>'InvoiceStatus','f.note_private'=>"NotePrivate",'f.note_public'=>"NotePublic",'f.fk_user_author'=>'CreatedById','uc.login'=>'CreatedByLogin','f.fk_user_valid'=>'ValidatedById','uv.login'=>'ValidatedByLogin', 'pj.ref'=>'ProjectRef', 'fd.rowid'=>'LineId','fd.description'=>"LineDescription",'fd.subprice'=>"LineUnitPrice",'fd.tva_tx'=>"LineVATRate",'fd.qty'=>"LineQty",'fd.total_ht'=>"LineTotalHT",'fd.total_tva'=>"LineTotalVAT",'fd.total_ttc'=>"LineTotalTTC",'fd.date_start'=>"DateStart",'fd.date_end'=>"DateEnd",'fd.special_code'=>'SpecialCode','fd.product_type'=>"TypeOfLineServiceOrProduct",'fd.fk_product'=>'ProductId','p.ref'=>'ProductRef','p.label'=>'ProductLabel','p.accountancy_code_sell'=>'ProductAccountancySellCode'); + //Add 'fd.label'=>"Label" to export_fields_array if you use it. Not used by dolibarr currently. //$this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:nom",'s.nom'=>'Text','s.address'=>'Text','s.zip'=>'Text','s.town'=>'Text','c.code'=>'Text','s.phone'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text','s.tva_intra'=>'Text','f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.date_lim_reglement'=>"Date",'f.total'=>"Numeric",'f.total_ttc'=>"Numeric",'f.tva'=>"Numeric",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note_private'=>"Text",'f.note_public'=>"Text",'fd.description'=>"Text",'fd.price'=>"Numeric",'fd.tva_tx'=>"Numeric",'fd.qty'=>"Numeric",'fd.total_ht'=>"Numeric",'fd.total_tva'=>"Numeric",'fd.total_ttc'=>"Numeric",'fd.date_start'=>"Date",'fd.date_end'=>"Date",'fd.product_type'=>"Numeric",'fd.fk_product'=>'List:product:label','p.ref'=>'Text','p.label'=>'Text'); - $this->export_TypeFields_array[$r]=array('s.nom'=>'Text','s.address'=>'Text','s.zip'=>'Text','s.town'=>'Text','c.code'=>'Text','s.phone'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text','s.tva_intra'=>'Text','f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.date_lim_reglement'=>"Date",'f.total'=>"Numeric",'f.total_ttc'=>"Numeric",'f.tva'=>"Numeric",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note_private'=>"Text",'f.note_public'=>"Text", 'pj.ref'=>'Text', 'fd.description'=>"Text",'fd.subprice'=>"Numeric",'fd.tva_tx'=>"Numeric",'fd.qty'=>"Numeric",'fd.total_ht'=>"Numeric",'fd.total_tva'=>"Numeric",'fd.total_ttc'=>"Numeric",'fd.date_start'=>"Date",'fd.date_end'=>"Date",'fd.special_code'=>'Numeric','fd.product_type'=>"Numeric",'fd.fk_product'=>'List:product:label','p.ref'=>'Text','p.label'=>'Text','p.accountancy_code_sell'=>'Text'); + $this->export_TypeFields_array[$r]=array('s.nom'=>'Text','s.address'=>'Text','s.zip'=>'Text','s.town'=>'Text','c.code'=>'Text','s.phone'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text','s.tva_intra'=>'Text','f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.date_lim_reglement'=>"Date",'f.total'=>"Numeric",'f.total_ttc'=>"Numeric",'f.tva'=>"Numeric",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note_private'=>"Text",'f.note_public'=>"Text", 'pj.ref'=>'Text', 'fd.label'=>'Text', 'fd.description'=>"Text",'fd.subprice'=>"Numeric",'fd.tva_tx'=>"Numeric",'fd.qty'=>"Numeric",'fd.total_ht'=>"Numeric",'fd.total_tva'=>"Numeric",'fd.total_ttc'=>"Numeric",'fd.date_start'=>"Date",'fd.date_end'=>"Date",'fd.special_code'=>'Numeric','fd.product_type'=>"Numeric",'fd.fk_product'=>'List:product:label','p.ref'=>'Text','p.label'=>'Text','p.accountancy_code_sell'=>'Text'); $this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.zip'=>'company','s.town'=>'company','c.code'=>'company','s.phone'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.code_compta'=>'company','s.code_compta_fournisseur'=>'company','s.tva_intra'=>'company','f.rowid'=>"invoice",'f.facnumber'=>"invoice",'f.datec'=>"invoice",'f.datef'=>"invoice",'f.date_lim_reglement'=>"invoice",'f.total'=>"invoice",'f.total_ttc'=>"invoice",'f.tva'=>"invoice",'f.paye'=>"invoice",'f.fk_statut'=>'invoice','f.note_private'=>"invoice",'f.note_public'=>"invoice", 'pj.ref'=>'project', 'fd.rowid'=>'invoice_line','fd.label'=>"invoice_line",'fd.description'=>"invoice_line",'fd.subprice'=>"invoice_line",'fd.total_ht'=>"invoice_line",'fd.total_tva'=>"invoice_line",'fd.total_ttc'=>"invoice_line",'fd.tva_tx'=>"invoice_line",'fd.qty'=>"invoice_line",'fd.date_start'=>"invoice_line",'fd.date_end'=>"invoice_line",'fd.special_code'=>'invoice_line','fd.product_type'=>'invoice_line','fd.fk_product'=>'product','p.ref'=>'product','p.label'=>'product','p.accountancy_code_sell'=>'product','f.fk_user_author'=>'user','uc.login'=>'user','f.fk_user_valid'=>'user','uv.login'=>'user'); $this->export_dependencies_array[$r]=array('invoice_line'=>'fd.rowid','product'=>'fd.rowid'); // To add unique key if we ask a field of a child to avoid the DISTINCT to discard them $keyforselect='facture'; $keyforelement='invoice'; $keyforaliasextra='extra'; From 4215ec3ca9655d8dd6597e19ce473f51ca857cb6 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 28 Aug 2016 20:12:25 +0200 Subject: [PATCH 383/476] FIX usage of sepa generation setup. --- htdocs/admin/prelevement.php | 3 +- .../class/bonprelevement.class.php | 50 ++++++++++++++----- scripts/withdrawals/build_withdrawal_file.php | 1 + 3 files changed, 40 insertions(+), 14 deletions(-) diff --git a/htdocs/admin/prelevement.php b/htdocs/admin/prelevement.php index 1a021996163..0e82681c686 100644 --- a/htdocs/admin/prelevement.php +++ b/htdocs/admin/prelevement.php @@ -48,11 +48,11 @@ if ($action == "set") $id=GETPOST('PRELEVEMENT_ID_BANKACCOUNT','int'); $account = new Account($db); - if($account->fetch($id)>0) { $res = dolibarr_set_const($db, "PRELEVEMENT_ID_BANKACCOUNT", $id,'chaine',0,'',$conf->entity); if (! $res > 0) $error++; + /* $res = dolibarr_set_const($db, "PRELEVEMENT_CODE_BANQUE", $account->code_banque,'chaine',0,'',$conf->entity); if (! $res > 0) $error++; $res = dolibarr_set_const($db, "PRELEVEMENT_CODE_GUICHET", $account->code_guichet,'chaine',0,'',$conf->entity); @@ -67,6 +67,7 @@ if ($action == "set") if (! $res > 0) $error++; $res = dolibarr_set_const($db, "PRELEVEMENT_RAISON_SOCIALE", $account->proprio,'chaine',0,'',$conf->entity); if (! $res > 0) $error++; + */ } else $error++; diff --git a/htdocs/compta/prelevement/class/bonprelevement.class.php b/htdocs/compta/prelevement/class/bonprelevement.class.php index 800cd8492c9..a49b5f5f7c6 100644 --- a/htdocs/compta/prelevement/class/bonprelevement.class.php +++ b/htdocs/compta/prelevement/class/bonprelevement.class.php @@ -27,6 +27,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/commonobject.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php'; @@ -1015,15 +1016,21 @@ class BonPrelevement extends CommonObject $this->date_echeance = $datetimeprev; $this->reference_remise = $ref; - $this->raison_sociale = $conf->global->PRELEVEMENT_RAISON_SOCIALE; + $id=$conf->global->PRELEVEMENT_ID_BANKACCOUNT; + $account = new Account($this->db); + if ($account->fetch($id)>0) + { + $this->emetteur_code_banque = $account->code_banque; + $this->emetteur_code_guichet = $account->code_guichet; + $this->emetteur_numero_compte = $account->number; + $this->emetteur_number_key = $account->cle_rib; + $this->emetteur_iban = $account->iban; + $this->emetteur_bic = $account->bic; - $this->emetteur_code_banque = $conf->global->PRELEVEMENT_CODE_BANQUE; - $this->emetteur_code_guichet = $conf->global->PRELEVEMENT_CODE_GUICHET; - $this->emetteur_numero_compte = $conf->global->PRELEVEMENT_NUMERO_COMPTE; - $this->emetteur_number_key = $conf->global->PRELEVEMENT_NUMBER_KEY; - $this->emetteur_iban = $conf->global->PRELEVEMENT_IBAN; - $this->emetteur_bic = $conf->global->PRELEVEMENT_BIC; - $this->emetteur_ics = $conf->global->PRELEVEMENT_ICS; // Ex: PRELEVEMENT_ICS = "FR78ZZZ123456"; + $this->emetteur_ics = $conf->global->PRELEVEMENT_ICS; // Ex: PRELEVEMENT_ICS = "FR78ZZZ123456"; + + $this->raison_sociale = $account->proprio; + } $this->factures = $factures_prev_id; @@ -1680,6 +1687,23 @@ class BonPrelevement extends CommonObject $dateTime_ETAD = dol_print_date($ladate, '%Y-%m-%d'); $dateTime_YMDHMS = dol_print_date($ladate, '%Y-%m-%dT%H:%M:%S'); + // Get data of bank account + $id=$configuration->global->PRELEVEMENT_ID_BANKACCOUNT; + $account = new Account($this->db); + if ($account->fetch($id)>0) + { + $this->emetteur_code_banque = $account->code_banque; + $this->emetteur_code_guichet = $account->code_guichet; + $this->emetteur_numero_compte = $account->number; + $this->emetteur_number_key = $account->cle_rib; + $this->emetteur_iban = $account->iban; + $this->emetteur_bic = $account->bic; + + $this->emetteur_ics = $conf->global->PRELEVEMENT_ICS; // Ex: PRELEVEMENT_ICS = "FR78ZZZ123456"; + + $this->raison_sociale = $account->proprio; + } + // Récupération info demandeur $sql = "SELECT rowid, ref"; $sql.= " FROM"; @@ -1714,7 +1738,7 @@ class BonPrelevement extends CommonObject $XML_SEPA_INFO .= ' '.$CrLf; $XML_SEPA_INFO .= ' '.$dateTime_ETAD.''.$CrLf; $XML_SEPA_INFO .= ' '.$CrLf; - $XML_SEPA_INFO .= ' '.strtoupper(dol_string_unaccent($configuration->global->PRELEVEMENT_RAISON_SOCIALE)).''.$CrLf; + $XML_SEPA_INFO .= ' '.strtoupper(dol_string_unaccent($this->raison_sociale)).''.$CrLf; $XML_SEPA_INFO .= ' '.$CrLf; $XML_SEPA_INFO .= ' '.$country[1].''.$CrLf; $XML_SEPA_INFO .= ' '.strtoupper(dol_string_unaccent($configuration->global->MAIN_INFO_SOCIETE_ADDRESS)).''.$CrLf; @@ -1723,16 +1747,16 @@ class BonPrelevement extends CommonObject $XML_SEPA_INFO .= ' '.$CrLf; $XML_SEPA_INFO .= ' '.$CrLf; $XML_SEPA_INFO .= ' '.$CrLf; - $XML_SEPA_INFO .= ' '.preg_replace('/\s/', '', $configuration->global->PRELEVEMENT_IBAN).''.$CrLf; + $XML_SEPA_INFO .= ' '.preg_replace('/\s/', '', $this->emetteur_iban).''.$CrLf; $XML_SEPA_INFO .= ' '.$CrLf; $XML_SEPA_INFO .= ' '.$CrLf; $XML_SEPA_INFO .= ' '.$CrLf; $XML_SEPA_INFO .= ' '.$CrLf; - $XML_SEPA_INFO .= ' '.$configuration->global->PRELEVEMENT_BIC.''.$CrLf; + $XML_SEPA_INFO .= ' '.$this->emetteur_bic.''.$CrLf; $XML_SEPA_INFO .= ' '.$CrLf; $XML_SEPA_INFO .= ' '.$CrLf; /* $XML_SEPA_INFO .= ' '.$CrLf; - $XML_SEPA_INFO .= ' '.$configuration->global->PRELEVEMENT_RAISON_SOCIALE.''.$CrLf; + $XML_SEPA_INFO .= ' '.$this->raison_sociale.''.$CrLf; $XML_SEPA_INFO .= ' '.$CrLf; $XML_SEPA_INFO .= ' '.$country[1].''.$CrLf; $XML_SEPA_INFO .= ' '.$conf->global->MAIN_INFO_SOCIETE_ADDRESS.''.$CrLf; @@ -1744,7 +1768,7 @@ class BonPrelevement extends CommonObject $XML_SEPA_INFO .= ' '.$CrLf; $XML_SEPA_INFO .= ' '.$CrLf; $XML_SEPA_INFO .= ' '.$CrLf; - $XML_SEPA_INFO .= ' '.$configuration->global->PRELEVEMENT_ICS.''.$CrLf; + $XML_SEPA_INFO .= ' '.$this->emetteur_ics.''.$CrLf; $XML_SEPA_INFO .= ' '.$CrLf; $XML_SEPA_INFO .= ' SEPA'.$CrLf; $XML_SEPA_INFO .= ' '.$CrLf; diff --git a/scripts/withdrawals/build_withdrawal_file.php b/scripts/withdrawals/build_withdrawal_file.php index 1a8c673c5f9..d381c32676a 100755 --- a/scripts/withdrawals/build_withdrawal_file.php +++ b/scripts/withdrawals/build_withdrawal_file.php @@ -70,6 +70,7 @@ if (! isset($argv[1])) { // Check parameters $withdrawreceipt=new BonPrelevement($db); +// $conf->global->PRELEVEMENT_CODE_BANQUE and $conf->global->PRELEVEMENT_CODE_GUICHET should be empty $result=$withdrawreceipt->create($conf->global->PRELEVEMENT_CODE_BANQUE,$conf->global->PRELEVEMENT_CODE_GUICHET,$argv[1]); From 11ddc722f180b652342bf325adb23c352605e2fd Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 28 Aug 2016 20:17:53 +0200 Subject: [PATCH 384/476] Release 4.0 --- htdocs/filefunc.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/filefunc.inc.php b/htdocs/filefunc.inc.php index f96d5248343..87718a143e9 100644 --- a/htdocs/filefunc.inc.php +++ b/htdocs/filefunc.inc.php @@ -31,7 +31,7 @@ */ if (! defined('DOL_APPLICATION_TITLE')) define('DOL_APPLICATION_TITLE','Dolibarr'); -if (! defined('DOL_VERSION')) define('DOL_VERSION','4.0.0-rc2'); +if (! defined('DOL_VERSION')) define('DOL_VERSION','4.0.0'); if (! defined('EURO')) define('EURO',chr(128)); From 8a5bafc2dde98f2f1733911b7092ef2ba7b0adb4 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 28 Aug 2016 21:23:37 +0200 Subject: [PATCH 385/476] Prepare 4.0 --- build/makepack-dolibarr.pl | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index 809f279756c..ac735c59e0d 100755 --- a/build/makepack-dolibarr.pl +++ b/build/makepack-dolibarr.pl @@ -603,7 +603,7 @@ if ($nboftargetok) { if ($target eq 'TGZ') { $NEWDESTI=$DESTI; - if ($NEWPUBLISH =~ /stable/) + if ($NEWDESTI =~ /stable/) { mkdir($DESTI.'/standard'); if (-d $DESTI.'/standard') { $NEWDESTI=$DESTI.'/standard'; } @@ -635,7 +635,7 @@ if ($nboftargetok) { if ($target eq 'XZ') { $NEWDESTI=$DESTI; - if ($NEWPUBLISH =~ /stable/) + if ($NEWDESTI =~ /stable/) { mkdir($DESTI.'/standard'); if (-d $DESTI.'/standard') { $NEWDESTI=$DESTI.'/standard'; } @@ -672,7 +672,7 @@ if ($nboftargetok) { if ($target eq 'ZIP') { $NEWDESTI=$DESTI; - if ($NEWPUBLISH =~ /stable/) + if ($NEWDESTI =~ /stable/) { mkdir($DESTI.'/standard'); if (-d $DESTI.'/standard') { $NEWDESTI=$DESTI.'/standard'; } @@ -713,7 +713,7 @@ if ($nboftargetok) { if ($target =~ /FEDO/i) { $subdir="package_rpm_redhat-fedora"; } if ($target =~ /MAND/i) { $subdir="package_rpm_mandriva"; } if ($target =~ /OPEN/i) { $subdir="package_rpm_opensuse"; } - if ($NEWPUBLISH =~ /stable/) + if ($NEWDESTI =~ /stable/) { mkdir($DESTI.'/'.$subdir); if (-d $DESTI.'/'.$subdir) { $NEWDESTI=$DESTI.'/'.$subdir; } @@ -799,7 +799,7 @@ if ($nboftargetok) { if ($target eq 'DEB') { $NEWDESTI=$DESTI; - if ($NEWPUBLISH =~ /stable/) + if ($NEWDESTI =~ /stable/) { mkdir($DESTI.'/package_debian-ubuntu'); if (-d $DESTI.'/package_debian-ubuntu') { $NEWDESTI=$DESTI.'/package_debian-ubuntu'; } @@ -1002,7 +1002,7 @@ if ($nboftargetok) { if ($target eq 'APS') { $NEWDESTI=$DESTI; - if ($NEWPUBLISH =~ /stable/) + if ($NEWDESTI =~ /stable/) { mkdir($DESTI.'/package_aps'); if (-d $DESTI.'/package_aps') { $NEWDESTI=$DESTI.'/package_aps'; } @@ -1088,7 +1088,7 @@ if ($nboftargetok) { if ($target eq 'EXEDOLIWAMP') { $NEWDESTI=$DESTI; - if ($NEWPUBLISH =~ /stable/) + if ($NEWDESTI =~ /stable/) { mkdir($DESTI.'/package_windows'); if (-d $DESTI.'/package_windows') { $NEWDESTI=$DESTI.'/package_windows'; } From 330e494eda11842e82b009a9a3da50b0525dc2c8 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 28 Aug 2016 22:45:32 +0200 Subject: [PATCH 386/476] NEW Can filter on fields on admin translation page --- htdocs/admin/translation.php | 96 +++++++++++++++++++++++++++++------ htdocs/langs/en_US/admin.lang | 8 ++- 2 files changed, 87 insertions(+), 17 deletions(-) diff --git a/htdocs/admin/translation.php b/htdocs/admin/translation.php index f5c5970e9b3..37a9bb77c09 100644 --- a/htdocs/admin/translation.php +++ b/htdocs/admin/translation.php @@ -40,6 +40,17 @@ $langcode=GETPOST('langcode','alpha'); $transkey=GETPOST('transkey','alpha'); $transvalue=GETPOST('transvalue','alpha'); +$limit = GETPOST("limit")?GETPOST("limit","int"):$conf->liste_limit; +$sortfield = GETPOST("sortfield",'alpha'); +$sortorder = GETPOST("sortorder",'alpha'); +$page = GETPOST("page",'int'); +if ($page == -1) { $page = 0; } +$offset = $limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; +if (! $sortfield) $sortfield='lang,transkey'; +if (! $sortorder) $sortorder='ASC'; + /* * Actions @@ -62,7 +73,7 @@ if ($action == 'add' || (GETPOST('add') && $action != 'update')) } if ($transvalue == '') { - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Value")), null, 'errors'); + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("NewTranslationStringToShow")), null, 'errors'); $error++; } if (! $error) @@ -119,28 +130,84 @@ print $langs->trans("TranslationDesc")."
    \n"; print "
    \n"; print $langs->trans("CurrentUserLanguage").': '.$langs->defaultlang.'
    '; -print '
    '; - -print img_info().' '.$langs->trans("SomeTranslationAreUncomplete").'
    '; -$urlwikitranslatordoc='http://wiki.dolibarr.org/index.php/Translator_documentation'; -print $langs->trans("SeeAlso").': '.$urlwikitranslatordoc.'
    '; print '
    '; -print $langs->trans("TranslationOverwriteDesc",$langs->transnoentitiesnoconv("Language"),$langs->transnoentitiesnoconv("Key"),$langs->transnoentitiesnoconv("Value"))."
    \n"; +print img_info().' '.$langs->trans("SomeTranslationAreUncomplete"); +$urlwikitranslatordoc='https://wiki.dolibarr.org/index.php/Translator_documentation'; +print ' ('.$langs->trans("SeeAlso").': '.$urlwikitranslatordoc.')
    '; +print $langs->trans("TranslationOverwriteDesc",$langs->transnoentitiesnoconv("Language"),$langs->transnoentitiesnoconv("Key"),$langs->transnoentitiesnoconv("TranslatedStringToShow"))."
    \n"; print '
    '; +$param=''; + +if ($conf->global->MAIN_FEATURES_LEVEL > 1) +{ + print '
    '; + print load_fiche_titre($langs->trans("TranslationKeySearch"), '', '')."\n"; + + print '
    entity) && $debug)?'?debug=1':'').'" method="POST">'; + print ''; + print ''; + + print '
    '; -if ($type != '') print ''; -print ''; + if ($type != '') print ''; + print '".$obj->idprof6."'; - $s=''; - if (($obj->client==1 || $obj->client==3) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) - { - $companystatic->name=$langs->trans("Customer"); - $companystatic->name_alias=''; - $s.=$companystatic->getNomUrl(0,'customer'); - } - if (($obj->client==2 || $obj->client==3) && empty($conf->global->SOCIETE_DISABLE_PROSPECTS)) - { - if ($s) $s.=" / "; - $companystatic->name=$langs->trans("Prospect"); - $companystatic->name_alias=''; - $s.=$companystatic->getNomUrl(0,'prospect'); - } - if (! empty($conf->fournisseur->enabled) && $obj->fournisseur) - { - if ($s) $s.=" / "; - $companystatic->name=$langs->trans("Supplier"); - $companystatic->name_alias=''; - $s.=$companystatic->getNomUrl(0,'supplier'); - } - print $s; - print ''; + $s=''; + if (($obj->client==1 || $obj->client==3) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) + { + $companystatic->name=$langs->trans("Customer"); + $companystatic->name_alias=''; + $s.=$companystatic->getNomUrl(0,'customer'); + } + if (($obj->client==2 || $obj->client==3) && empty($conf->global->SOCIETE_DISABLE_PROSPECTS)) + { + if ($s) $s.=" / "; + $companystatic->name=$langs->trans("Prospect"); + $companystatic->name_alias=''; + $s.=$companystatic->getNomUrl(0,'prospect'); + } + if (! empty($conf->fournisseur->enabled) && $obj->fournisseur) + { + if ($s) $s.=" / "; + $companystatic->name=$langs->trans("Supplier"); + $companystatic->name_alias=''; + $s.=$companystatic->getNomUrl(0,'supplier'); + } + print $s; + print ''.$langs->trans("BarcodeValue").''; $tmpcode=isset($_POST['barcode'])?GETPOST('barcode'):$object->barcode; if (empty($tmpcode) && ! empty($modBarCodeProduct->code_auto)) $tmpcode=$modBarCodeProduct->getNextValue($object,$type); - print ''; + print ''; print '
    '.$langs->trans("PublicUrl").''; - print ''; + print ''; print '
    '.$langs->trans("BarcodeValue").''; $tmpcode=isset($_POST['barcode'])?GETPOST('barcode'):$object->barcode; if (empty($tmpcode) && ! empty($modBarCodeProduct->code_auto)) $tmpcode=$modBarCodeProduct->getNextValue($object,$type); - print ''; + print ''; print '
    '.$langs->trans("PublicUrl").''; - print ''; + print ''; print '
    '.$langs->trans("CustomCode").''.$langs->trans("CountryOrigin").''; - print $form->select_country($object->country_id,'country_id'); + print $form->select_country($object->country_id, 'country_id', '', 0, 'minwidth100 maxwidthonsmartphone'); if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"),1); print '
    '.$langs->trans("BarcodeValue").''; $tmpcode=isset($_POST['barcode'])?GETPOST('barcode'):$object->barcode; if (empty($tmpcode) && ! empty($modBarCodeProduct->code_auto)) $tmpcode=$modBarCodeProduct->getNextValue($object,$type); - print ''; + print ''; print '
    '.$langs->trans("PublicUrl").''; - print ''; + print ''; print '
    '.$langs->trans("BarcodeValue").''; $tmpcode=isset($_POST['barcode'])?GETPOST('barcode'):$object->barcode; if (empty($tmpcode) && ! empty($modBarCodeProduct->code_auto)) $tmpcode=$modBarCodeProduct->getNextValue($object,$type); - print ''; + print ''; print '
    '.$langs->trans("PublicUrl").''; - print ''; + print ''; print '
    '.$langs->trans("CustomCode").''.$langs->trans("CountryOrigin").''; - print $form->select_country($object->country_id,'country_id'); + print $form->select_country($object->country_id, 'country_id', '', 0, 'minwidth100 maxwidthonsmartphone'); if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"),1); print '
    '; + print ''; + print ''; + print ''; + print ''; + if (! empty($conf->multicompany->enabled) && !$user->entity) print ''; + print ''; + print "\n"; + + // Line to search new record + $var=false; + print "\n"; + + print ''."\n"; + print ''; + // Limit to superadmin + if (! empty($conf->multicompany->enabled) && !$user->entity) + { + print ''; + print '\n"; + print ''; + + print '
    '.$langs->trans("Language").' (en_US, es_MX, ...)'.$langs->trans("Key").''.$langs->trans("TranslationString").''.$langs->trans("Entity").'
    '; + print $formadmin->select_language(GETPOST('langcodesearch'),'langcodesearch',0,null,1,0,0,'',1); + //print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + } + else + { + print ''; + print ''; + } + print ''; + print "
    '; + print ''; +} + +print '
    '; + +print load_fiche_titre($langs->trans("TranslationOverwriteKey"), '', '')."\n"; + print '
    entity) && $debug)?'?debug=1':'').'" method="POST">'; print ''; print ''; print ''; print ''; -print ''; -print ''; -print ''; -if (! empty($conf->multicompany->enabled) && !$user->entity) print ''; +print_liste_field_titre($langs->trans("Language").' (en_US, es_MX, ...)',$_SERVER["PHP_SELF"],'lang,transkey','',$param,'',$sortfield,$sortorder); +print_liste_field_titre($langs->trans("Key"),$_SERVER["PHP_SELF"],'transkey','',$param,'',$sortfield,$sortorder); +print_liste_field_titre($langs->trans("NewTranslationStringToShow"),$_SERVER["PHP_SELF"],'transvalue','',$param,'',$sortfield,$sortorder); +if (! empty($conf->multicompany->enabled) && !$user->entity) print_liste_field_titre($langs->trans("Entity"),$_SERVER["PHP_SELF"],'entity,transkey','',$param,'',$sortfield,$sortorder); print ''; print "\n"; @@ -154,9 +221,9 @@ print $formadmin->select_language(GETPOST('langcode'),'langcode',0,null,1,0,0,'' //print ''; print ''."\n"; print ''; // Limit to superadmin if (! empty($conf->multicompany->enabled) && !$user->entity) @@ -182,7 +249,6 @@ $sql.= " rowid"; $sql.= ", lang"; $sql.= ", transkey"; $sql.= ", transvalue"; -//$sql.= ", entity"; $sql.= " FROM ".MAIN_DB_PREFIX."overwrite_trans"; $sql.= " WHERE 1 = 1"; //$sql.= " AND entity IN (".$user->entity.",".$conf->entity.")"; @@ -190,7 +256,7 @@ $sql.= " WHERE 1 = 1"; //else if (! GETPOST('visible') || GETPOST('visible') != 'all') $sql.= " AND visible = 1"; // We must always have this. Otherwise, array is too large and submitting data fails due to apache POST or GET limits //if (GETPOST('name')) $sql.=natural_search("name", GETPOST('name')); //$sql.= " ORDER BY entity, name ASC"; -$sql.= " ORDER BY lang ASC, transkey ASC"; +$sql.= $db->order($sortfield, $sortorder); dol_syslog("translation::select from table", LOG_DEBUG); $result = $db->query($sql); diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 1e2e3e68291..adfee91e112 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -1037,9 +1037,13 @@ SendmailOptionNotComplete=Warning, on some Linux systems, to send email from you PathToDocuments=Path to documents PathDirectory=Directory SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. -TranslationSetup=Configuration de la traduction -TranslationDesc=How to set displayed application language
    * Systemwide: menu Home - Setup - Display
    * Per user: User display setup tab of user card (click on username at the top of the screen). +TranslationSetup=Setup of translation +TranslationKeySearch=Search a translation key or string +TranslationOverwriteKey=Overwrite a translation string +TranslationDesc=How to set displayed application language :
    * Systemwide: menu Home - Setup - Display
    * Per user: User display setup tab of user card (click on username at the top of the screen). TranslationOverwriteDesc=You can also override strings filling the following table. Choose your language from "%s" dropdown, insert the key string found in the lang file (langs/xx_XX/somefile.lang) into "%s" and your new translation into "%s". +TranslationString=Translation string +NewTranslationStringToShow=New translation string to show TotalNumberOfActivatedModules=Total number of activated feature modules: %s / %s YouMustEnableOneModule=You must at least enable 1 module ClassNotFoundIntoPathWarning=Class %s not found into PHP path From 385aca8bf2104f2ad028a24a5c49846b0fc16817 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 28 Aug 2016 23:25:24 +0200 Subject: [PATCH 387/476] Fix sort of list and number of records --- htdocs/societe/notify/card.php | 86 +++++++++++++++++++--------------- 1 file changed, 48 insertions(+), 38 deletions(-) diff --git a/htdocs/societe/notify/card.php b/htdocs/societe/notify/card.php index 888459c006b..26e208c979d 100644 --- a/htdocs/societe/notify/card.php +++ b/htdocs/societe/notify/card.php @@ -52,7 +52,7 @@ $offset = $conf->liste_limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (! $sortorder) $sortorder="DESC"; -if (! $sortfield) $sortfield="a.daten"; +if (! $sortfield) $sortfield="n.daten"; $now=dol_now(); @@ -264,8 +264,30 @@ if ($result > 0) print ''; print '
    '; + + // List of notifications enabled for contacts + $sql = "SELECT n.rowid, n.type,"; + $sql.= " a.code, a.label,"; + $sql.= " c.rowid as contactid, c.lastname, c.firstname, c.email"; + $sql.= " FROM ".MAIN_DB_PREFIX."c_action_trigger as a,"; + $sql.= " ".MAIN_DB_PREFIX."notify_def as n,"; + $sql.= " ".MAIN_DB_PREFIX."socpeople c"; + $sql.= " WHERE a.rowid = n.fk_action"; + $sql.= " AND c.rowid = n.fk_contact"; + $sql.= " AND c.fk_soc = ".$object->id; + + $resql=$db->query($sql); + if ($resql) + { + $num = $db->num_rows($resql); + } + else + { + dol_print_error($db); + } + // List of active notifications - print load_fiche_titre($langs->trans("ListOfActiveNotifications"),'',''); + print load_fiche_titre($langs->trans("ListOfActiveNotifications").' ('.$num.')','',''); $var=true; // Line with titles @@ -280,21 +302,8 @@ if ($result > 0) $langs->load("errors"); $langs->load("other"); - // List of notifications enabled for contacts - $sql = "SELECT n.rowid, n.type,"; - $sql.= " a.code, a.label,"; - $sql.= " c.rowid as contactid, c.lastname, c.firstname, c.email"; - $sql.= " FROM ".MAIN_DB_PREFIX."c_action_trigger as a,"; - $sql.= " ".MAIN_DB_PREFIX."notify_def as n,"; - $sql.= " ".MAIN_DB_PREFIX."socpeople c"; - $sql.= " WHERE a.rowid = n.fk_action"; - $sql.= " AND c.rowid = n.fk_contact"; - $sql.= " AND c.fk_soc = ".$object->id; - - $resql=$db->query($sql); - if ($resql) + if ($num) { - $num = $db->num_rows($resql); $i = 0; $contactstatic=new Contact($db); @@ -336,10 +345,6 @@ if ($result > 0) } $db->free($resql); } - else - { - dol_print_error($db); - } // List of notifications enabled for fixed email /* @@ -395,20 +400,6 @@ if ($result > 0) print '
    '; - // List of notifications done - print load_fiche_titre($langs->trans("ListOfNotificationsDone"),'',''); - $var=true; - - // Line with titles - print '
    '.$langs->trans("Language").' (en_US, es_MX, ...)'.$langs->trans("Key").''.$langs->trans("Value").''.$langs->trans("Entity").'
    '; -print ''; +print ''; print ''; -print ''; +print ''; print '
    '; - print ''; - print_liste_field_titre($langs->trans("Target"),$_SERVER["PHP_SELF"],"c.lastname",'',$param,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Action"),$_SERVER["PHP_SELF"],"a.titre",'',$param,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"",'',$param,'',$sortfield,$sortorder); - //print_liste_field_titre($langs->trans("Object"),$_SERVER["PHP_SELF"],"",'',$param,'"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"],"a.daten",'',$param,'align="right"',$sortfield,$sortorder); - print ''; - // List $sql = "SELECT n.rowid, n.daten, n.email, n.objet_type as object_type, n.objet_id as object_id, n.type,"; $sql.= " c.rowid as id, c.lastname, c.firstname, c.email as contactemail,"; @@ -418,11 +409,34 @@ if ($result > 0) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."socpeople as c ON n.fk_contact = c.rowid"; $sql.= " WHERE a.rowid = n.fk_action"; $sql.= " AND n.fk_soc = ".$object->id; + $sql.= $db->order($sortfield, $sortorder); $resql=$db->query($sql); if ($resql) { $num = $db->num_rows($resql); + } + else + { + dol_print_error($db); + } + + // List of notifications done + print load_fiche_titre($langs->trans("ListOfNotificationsDone").' ('.$num.')','',''); + $var=true; + + // Line with titles + print '
    '; + print ''; + print_liste_field_titre($langs->trans("Target"),$_SERVER["PHP_SELF"],"c.lastname,c.firstname",'',$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Action"),$_SERVER["PHP_SELF"],"",'',$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"n.type",'',$param,'',$sortfield,$sortorder); + //print_liste_field_titre($langs->trans("Object"),$_SERVER["PHP_SELF"],"",'',$param,'"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"],"n.daten",'',$param,'align="right"',$sortfield,$sortorder); + print ''; + + if ($num > 0) + { $i = 0; $contactstatic=new Contact($db); @@ -471,10 +485,6 @@ if ($result > 0) } $db->free($resql); } - else - { - dol_print_error($db); - } print '
    '; } From b8201c9f867f6412689408d33ff1d4ecb6e2db9e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 28 Aug 2016 23:46:12 +0200 Subject: [PATCH 388/476] Fix fk_soc can be null because we can set notification for users only. --- .../install/mysql/migration/4.0.0-5.0.0.sql | 10 +- .../install/mysql/tables/llx_notify_def.sql | 3 +- htdocs/user/notify/card.php | 109 ++++++++++-------- 3 files changed, 69 insertions(+), 53 deletions(-) diff --git a/htdocs/install/mysql/migration/4.0.0-5.0.0.sql b/htdocs/install/mysql/migration/4.0.0-5.0.0.sql index 443afa13289..7740c6dc28f 100644 --- a/htdocs/install/mysql/migration/4.0.0-5.0.0.sql +++ b/htdocs/install/mysql/migration/4.0.0-5.0.0.sql @@ -13,10 +13,10 @@ -- To drop an index: -- VPGSQL8.0 DROP INDEX nomindex -- To restrict request to Mysql version x.y minimum use -- VMYSQLx.y -- To restrict request to Pgsql version x.y minimum use -- VPGSQLx.y --- To make pk to be auto increment (mysql): VMYSQL4.3 ALTER TABLE llx_c_shipment_mode CHANGE COLUMN rowid rowid INTEGER NOT NULL AUTO_INCREMENT; --- To make pk to be auto increment (postgres): VPGSQL8.2 NOT POSSIBLE. MUST DELETE/CREATE TABLE --- To set a field as NULL: VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN name DROP NOT NULL; --- To set a field as default NULL: VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN name SET DEFAULT NULL; +-- To make pk to be auto increment (mysql): -- VMYSQL4.3 ALTER TABLE llx_c_shipment_mode CHANGE COLUMN rowid rowid INTEGER NOT NULL AUTO_INCREMENT; +-- To make pk to be auto increment (postgres): -- VPGSQL8.2 NOT POSSIBLE. MUST DELETE/CREATE TABLE +-- To set a field as NULL: -- VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN name DROP NOT NULL; +-- To set a field as default NULL: -- VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN name SET DEFAULT NULL; -- Note: fields with type BLOB/TEXT can't have default value. -- -- VPGSQL8.2 DELETE FROM llx_usergroup_user WHERE fk_user NOT IN (SELECT rowid from llx_user); -- -- VMYSQL4.1 DELETE FROM llx_usergroup_user WHERE fk_usergroup NOT IN (SELECT rowid from llx_usergroup); @@ -45,3 +45,5 @@ ALTER TABLE llx_notify ADD COLUMN type_target varchar(16) NULL; ALTER TABLE llx_entrepot DROP COLUMN valo_pmp; +ALTER TABLE llx_notify_def MODIFY COLUMN fk_soc integer NULL; +-- VPGSQL8.2 ALTER TABLE llx_notify_def ALTER COLUMN fk_soc SET DEFAULT NULL; \ No newline at end of file diff --git a/htdocs/install/mysql/tables/llx_notify_def.sql b/htdocs/install/mysql/tables/llx_notify_def.sql index 28055c76cfe..a3fc123c8dd 100644 --- a/htdocs/install/mysql/tables/llx_notify_def.sql +++ b/htdocs/install/mysql/tables/llx_notify_def.sql @@ -1,5 +1,6 @@ -- =================================================================== -- Copyright (C) 2003 Rodolphe Quiedeville +-- Copyright (C) 2016 Laurent Destailleur -- -- 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 @@ -22,7 +23,7 @@ create table llx_notify_def tms timestamp, datec date, -- date de creation fk_action integer NOT NULL, - fk_soc integer NOT NULL, + fk_soc integer, fk_contact integer, fk_user integer, type varchar(16) DEFAULT 'email' diff --git a/htdocs/user/notify/card.php b/htdocs/user/notify/card.php index 996a6fba370..ec3691e85db 100644 --- a/htdocs/user/notify/card.php +++ b/htdocs/user/notify/card.php @@ -52,7 +52,7 @@ $offset = $conf->liste_limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; if (! $sortorder) $sortorder="DESC"; -if (! $sortfield) $sortfield="a.daten"; +if (! $sortfield) $sortfield="n.daten"; $now=dol_now(); @@ -137,8 +137,11 @@ if ($result > 0) dol_fiche_head($head, 'notify', $langs->trans("User"),0,'user'); - - print ''; + $linkback = ''.$langs->trans("BackToList").''; + + dol_banner_tab($object, 'id', $linkback, $user->rights->user->user->lire || $user->admin); + + /*print '
    '; // Ref print ''; @@ -160,7 +163,7 @@ if ($result > 0) print ''; print "\n"; - print '
    '.$langs->trans("Ref").''.dol_print_email($object->email,0,0,1).'
    '; + print '
    ';*/ dol_fiche_end(); @@ -187,9 +190,9 @@ if ($result > 0) // Line with titles print ''; print ''; - print_liste_field_titre($langs->trans("Target"),$_SERVER["PHP_SELF"],"c.lastname",'',$param,'"width="45%"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Action"),$_SERVER["PHP_SELF"],"a.titre",'',$param,'"width="35%"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"",'',$param,'"width="10%"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Target"),$_SERVER["PHP_SELF"],"c.lastname,c.firstname",'',$param,'"width="45%"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Action"),$_SERVER["PHP_SELF"],"",'',$param,'"width="35%"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"n.type",'',$param,'"width="10%"',$sortfield,$sortorder); print_liste_field_titre(''); print "\n"; @@ -242,22 +245,6 @@ if ($result > 0) print ''; print '
    '; - // List of active notifications - print_fiche_titre($langs->trans("ListOfActiveNotifications"),'',''); - $var=true; - - // Line with titles - print '
    '; - print ''; - print_liste_field_titre($langs->trans("Target"),$_SERVER["PHP_SELF"],"c.lastname",'',$param,'"width="45%"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Action"),$_SERVER["PHP_SELF"],"a.titre",'',$param,'"width="35%"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"",'',$param,'"width="10%"',$sortfield,$sortorder); - print_liste_field_titre('','',''); - print ''; - - $langs->load("errors"); - $langs->load("other"); - // List of notifications enabled for contacts $sql = "SELECT n.rowid, n.type,"; $sql.= " a.code, a.label,"; @@ -268,12 +255,36 @@ if ($result > 0) $sql.= " WHERE a.rowid = n.fk_action"; $sql.= " AND c.rowid = n.fk_user"; $sql.= " AND c.rowid = ".$object->id; - + $resql=$db->query($sql); if ($resql) { $num = $db->num_rows($resql); - $i = 0; + } + else + { + dol_print_error($db); + } + + // List of active notifications + print_fiche_titre($langs->trans("ListOfActiveNotifications").' ('.$num.')','',''); + $var=true; + + // Line with titles + print '
    '; + print ''; + print_liste_field_titre($langs->trans("Target"),$_SERVER["PHP_SELF"],"c.lastname,c.firstname",'',$param,'"width="45%"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Action"),$_SERVER["PHP_SELF"],"",'',$param,'"width="35%"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"n.type",'',$param,'"width="10%"',$sortfield,$sortorder); + print_liste_field_titre('','',''); + print ''; + + $langs->load("errors"); + $langs->load("other"); + + if ($num) + { + $i = 0; $userstatic=new user($db); @@ -314,10 +325,7 @@ if ($result > 0) } $db->free($resql); } - else - { - dol_print_error($db); - } + // List of notifications enabled for fixed email /* @@ -375,20 +383,6 @@ if ($result > 0) print '

    '."\n"; - // List of notifications done - print_fiche_titre($langs->trans("ListOfNotificationsDone"),'',''); - $var=true; - - // Line with titles - print '
    '; - print ''; - print_liste_field_titre($langs->trans("Target"),$_SERVER["PHP_SELF"],"c.lastname",'',$param,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Action"),$_SERVER["PHP_SELF"],"a.titre",'',$param,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"",'',$param,'',$sortfield,$sortorder); - //print_liste_field_titre($langs->trans("Object"),$_SERVER["PHP_SELF"],"",'',$param,'"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"],"a.daten",'',$param,'align="right"',$sortfield,$sortorder); - print ''; - // List $sql = "SELECT n.rowid, n.daten, n.email, n.objet_type as object_type, n.objet_id as object_id, n.type,"; $sql.= " c.rowid as id, c.lastname, c.firstname, c.email as contactemail,"; @@ -398,11 +392,34 @@ if ($result > 0) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."user as c ON n.fk_user = c.rowid"; $sql.= " WHERE a.rowid = n.fk_action"; $sql.= " AND n.fk_user = ".$object->id; - + $sql.= $db->order($sortfield, $sortorder); + $resql=$db->query($sql); if ($resql) { $num = $db->num_rows($resql); + } + else + { + dol_print_error($db); + } + + // List of notifications done + print_fiche_titre($langs->trans("ListOfNotificationsDone").' ('.$num.')','',''); + $var=true; + + // Line with titles + print '
    '; + print ''; + print_liste_field_titre($langs->trans("Target"),$_SERVER["PHP_SELF"],"c.lastname,c.firstname",'',$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Action"),$_SERVER["PHP_SELF"],"",'',$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"n.type",'',$param,'',$sortfield,$sortorder); + //print_liste_field_titre($langs->trans("Object"),$_SERVER["PHP_SELF"],"",'',$param,'"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"],"n.daten",'',$param,'align="right"',$sortfield,$sortorder); + print ''; + + if ($num) + { $i = 0; $userstatic=new User($db); @@ -451,10 +468,6 @@ if ($result > 0) } $db->free($resql); } - else - { - dol_print_error($db); - } print '
    '; } From f7c89b004434c64d4c84c1a0ea73aa51bf793dd4 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 28 Aug 2016 23:52:40 +0200 Subject: [PATCH 389/476] Update doc --- README-FR.md | 6 +++--- README.md | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README-FR.md b/README-FR.md index 55065d5d15f..41edb8ba50e 100644 --- a/README-FR.md +++ b/README-FR.md @@ -25,7 +25,7 @@ OpenSuse, Mandriva ou Mageia). Vous pouvez les télécharger depuis la rubrique *download* du portail officiel: https://www.dolibarr.org/ -Si vous avez déjà installé un serveur Web avec PHP et une base de donnée (Mysql), +Si vous avez déjà installé un serveur Web avec PHP et une base de donnée (MariaDb/MySql/PostgreSql), vous pouvez installer Dolibarr avec cette version de la manière suivante: - Copier le répertoire "dolibarr" et son contenu dans la racine de votre serveur @@ -117,8 +117,8 @@ Voir fichier ChangeLog. - Application simple à utiliser. - Plusieurs thèmes visuels. - Code simple et facilement personnalisable. -- Requiert PHP et Mysql ou Postgresql (Voir versions exactes sur http://wiki.dolibarr.org/index.php/Prérequis). -- Compatible avec toutes les offres Cloud du marché respectant les prérequis MySQL et PHP ou Postgresql. +- Requiert PHP et MariaDb, Mysql ou Postgresql (Voir versions exactes sur http://wiki.dolibarr.org/index.php/Prérequis). +- Compatible avec toutes les offres Cloud du marché respectant les prérequis de base de données et PHP. - Export PDF de tous les éléments (factures, propositions commerciales, commandes, bons expéditions, etc...) diff --git a/README.md b/README.md index 3eb0941568a..64579486985 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ If you have low technical skills and you're looking to install Dolibarr ERP/CRM ### Advanced setup -You can use a Web server and a supported database (MySQL recommended) to install the standard version. +You can use a Web server and a supported database (MariaDb, MySql or Postgresql) to install the standard version. - Uncompress the downloaded archive - Copy directory "dolibarr" and all its files inside your web server root, or copy directory anywhere and set up your web server to use "dolibarr/htdocs" as root for a new web server virtual host (second choice need to be server administrator) @@ -119,7 +119,7 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog) - Can manage several currencies by adding external module multi-currency. - Very user friendly and easy to use - Highly customizable: enable only the modules you need, add user personalized fields, choose your skin, several menu managers (can be used by internal users as a back-office with a particular menu, or by external users as a front-office with another one) -- Works with PHP 5.3+ and MySQL 4.1+ or PostgreSQL 8.1. (See requirements on the [Wiki](http://wiki.dolibarr.org/index.php/Prerequisite)) +- Works with PHP 5.3+ and MariaDB 5.0.3+, MySQL 5.0.3+ or PostgreSQL 8.1.4+ (See requirements on the [Wiki](http://wiki.dolibarr.org/index.php/Prerequisite)) - Compatible with all Cloud solutions that match MySQL, PHP or PostgreSQL prerequisites. - An easy to understand, maintain and code interfaces with your own information system (PHP with no heavy framework; trigger and hook architecture) - Support for country specific features: From af070dad94e14e10cd98007f30df45a6bb062b1b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 28 Aug 2016 23:53:13 +0200 Subject: [PATCH 390/476] Fix sort of fields --- htdocs/societe/notify/card.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/htdocs/societe/notify/card.php b/htdocs/societe/notify/card.php index 26e208c979d..d90d978e7d4 100644 --- a/htdocs/societe/notify/card.php +++ b/htdocs/societe/notify/card.php @@ -217,9 +217,9 @@ if ($result > 0) // Line with titles print ''; print ''; - print_liste_field_titre($langs->trans("Target"),$_SERVER["PHP_SELF"],"c.lastname",'',$param,'"width="45%"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Action"),$_SERVER["PHP_SELF"],"a.titre",'',$param,'"width="35%"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"",'',$param,'"width="10%"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Target"),$_SERVER["PHP_SELF"],"c.lastname,c.firstname",'',$param,'"width="45%"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Action"),$_SERVER["PHP_SELF"],"",'',$param,'"width="35%"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"n.type",'',$param,'"width="10%"',$sortfield,$sortorder); print_liste_field_titre(''); print "\n"; @@ -293,9 +293,9 @@ if ($result > 0) // Line with titles print '
    '; print ''; - print_liste_field_titre($langs->trans("Target"),$_SERVER["PHP_SELF"],"c.lastname",'',$param,'"width="45%"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Action"),$_SERVER["PHP_SELF"],"a.titre",'',$param,'"width="35%"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"",'',$param,'"width="10%"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Target"),$_SERVER["PHP_SELF"],"c.lastname,c.firstname",'',$param,'"width="45%"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Action"),$_SERVER["PHP_SELF"],"",'',$param,'"width="35%"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"n.type",'',$param,'"width="10%"',$sortfield,$sortorder); print_liste_field_titre('','',''); print ''; From 7cb4f85f6bdec49bfb780dcbe5773867e5f57c20 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Mon, 29 Aug 2016 07:30:39 +0200 Subject: [PATCH 391/476] Fix: Wrong language key --- htdocs/compta/salaries/card.php | 2 +- htdocs/compta/tva/card.php | 6 +++--- htdocs/langs/en_US/banks.lang | 1 + 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/htdocs/compta/salaries/card.php b/htdocs/compta/salaries/card.php index f39fd0780ad..ea0070ef50b 100644 --- a/htdocs/compta/salaries/card.php +++ b/htdocs/compta/salaries/card.php @@ -415,7 +415,7 @@ if ($id) } else { - print ''.$langs->trans("Delete").''; + print ''.$langs->trans("Delete").''; } print ""; } diff --git a/htdocs/compta/tva/card.php b/htdocs/compta/tva/card.php index fb2edc5c4d1..17bcd80757c 100644 --- a/htdocs/compta/tva/card.php +++ b/htdocs/compta/tva/card.php @@ -365,8 +365,8 @@ if ($id) /* - * Boutons d'actions - */ + * Action buttons + */ print "
    \n"; if ($object->rappro == 0) { @@ -381,7 +381,7 @@ if ($id) } else { - print ''.$langs->trans("Delete").''; + print ''.$langs->trans("Delete").''; } print "
    "; } diff --git a/htdocs/langs/en_US/banks.lang b/htdocs/langs/en_US/banks.lang index 819664dfdc4..b0b7af4076f 100644 --- a/htdocs/langs/en_US/banks.lang +++ b/htdocs/langs/en_US/banks.lang @@ -78,6 +78,7 @@ AccountToCredit=Account to credit AccountToDebit=Account to debit DisableConciliation=Disable reconciliation feature for this account ConciliationDisabled=Reconciliation feature disabled +LinkedToAConciliatedTransaction=Linked to a conciliated transaction StatusAccountOpened=Open StatusAccountClosed=Closed AccountIdShort=Number From 14e6e705c3197850ca73678fbcb4d820d8bbb50d Mon Sep 17 00:00:00 2001 From: aspangaro Date: Mon, 29 Aug 2016 07:44:09 +0200 Subject: [PATCH 392/476] Remove the old file of ventilation module - Replace by advanced accountancy module --- htdocs/compta/ventilation/card.php | 164 ------------------ .../compta/ventilation/fournisseur/card.php | 148 ---------------- .../compta/ventilation/fournisseur/list.php | 105 ----------- htdocs/compta/ventilation/list.php | 129 -------------- 4 files changed, 546 deletions(-) delete mode 100644 htdocs/compta/ventilation/card.php delete mode 100644 htdocs/compta/ventilation/fournisseur/card.php delete mode 100644 htdocs/compta/ventilation/fournisseur/list.php delete mode 100644 htdocs/compta/ventilation/list.php diff --git a/htdocs/compta/ventilation/card.php b/htdocs/compta/ventilation/card.php deleted file mode 100644 index 59ed7fe9cde..00000000000 --- a/htdocs/compta/ventilation/card.php +++ /dev/null @@ -1,164 +0,0 @@ - - * Copyright (C) 2005-2006 Laurent Destailleur - * - * 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 . - * - */ - -/** - * \file htdocs/compta/ventilation/card.php - * \ingroup compta - * \brief Page fiche ventilation - */ - -require '../../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; - -$langs->load("bills"); - -$mesg = ''; - -if (!$user->rights->compta->ventilation->creer) accessforbidden(); - - -/* - * Actions - */ - -if ($_POST["action"] == 'ventil' && $user->rights->compta->ventilation->creer) -{ - $sql = " UPDATE ".MAIN_DB_PREFIX."facturedet"; - $sql .= " SET fk_code_ventilation = ".$_POST["codeventil"]; - $sql .= " WHERE rowid = ".$_GET["id"]; - - $db->query($sql); -} - -llxHeader("","","Fiche ventilation"); - -if ($cancel == $langs->trans("Cancel")) -{ - $action = ''; -} -/* - * - * - */ - -$sql = "SELECT rowid, numero, intitule"; -$sql .= " FROM ".MAIN_DB_PREFIX."compta_compte_generaux"; -$sql .= " ORDER BY numero ASC"; - -$result = $db->query($sql); -if ($result) -{ - $num = $db->num_rows($result); - $i = 0; - - while ($i < $num) - { - $row = $db->fetch_row($result); - $cgs[$row[0]] = $row[1] . ' ' . $row[2]; - $i++; - } -} - -/* - * Cr�ation - * - */ -$form = new Form($db); -$facture_static=new Facture($db); - -if($_GET["id"]) -{ - $sql = "SELECT f.facnumber, f.rowid as facid, l.fk_product, l.description, l.price,"; - $sql .= " l.qty, l.rowid, l.tva_tx, l.remise_percent, l.subprice,"; - $sql .= " l.date_start as date_start, l.date_end as date_end,"; - $sql .= " l.fk_code_ventilation "; - $sql .= " FROM ".MAIN_DB_PREFIX."facturedet as l"; - $sql .= " , ".MAIN_DB_PREFIX."facture as f"; - $sql .= " WHERE f.rowid = l.fk_facture AND f.fk_statut = 1 AND l.rowid = ".$_GET["id"]; - - $result = $db->query($sql); - if ($result) - { - $num_lignes = $db->num_rows($result); - $i = 0; - - if ($num_lignes) - { - - $objp = $db->fetch_object($result); - - - if($objp->fk_code_ventilation == 0) - { - print '
    '."\n"; - print ''; - print ''; - } - - - print load_fiche_titre("Ventilation"); - - print '
    '; - - // Ref facture - print ''; - $facture_static->ref=$objp->facnumber; - $facture_static->id=$objp->facid; - print ''; - print ''; - - print ''; - print ''; - print ''; - - if($objp->fk_code_ventilation == 0) - { - print ''; - } - print '
    '.$langs->trans("Invoice").''.$facture_static->getNomUrl(1).'
    Ligne'.nl2br($objp->description).'
    Ventiler dans le compte :'; - - if($objp->fk_code_ventilation == 0) - { - print $form->selectarray("codeventil",$cgs, $objp->fk_code_ventilation); - } - else - { - print $cgs[$objp->fk_code_ventilation]; - } - - print '
     
    '; - print ''; - } - else - { - print "Error"; - } - } - else - { - print "Error"; - } -} -else -{ - print "Error ID incorrect"; -} - -llxFooter(); -$db->close(); diff --git a/htdocs/compta/ventilation/fournisseur/card.php b/htdocs/compta/ventilation/fournisseur/card.php deleted file mode 100644 index dc376de7c06..00000000000 --- a/htdocs/compta/ventilation/fournisseur/card.php +++ /dev/null @@ -1,148 +0,0 @@ - - * Copyright (C) 2005 Simon TOSSER - * - * 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 . - * - */ - -/** - * \file htdocs/compta/ventilation/fournisseur/card.php - * \ingroup compta - * \brief Page fiche ventilation - */ - -require '../../../main.inc.php'; - -$mesg = ''; - -if (!$user->rights->compta->ventilation->creer) accessforbidden(); - -if ($_POST["action"] == 'ventil' && $user->rights->compta->ventilation->creer) -{ - $sql = " UPDATE ".MAIN_DB_PREFIX."facture_fourn_det"; - $sql .= " SET fk_code_ventilation = ".$_POST["codeventil"]; - $sql .= " WHERE rowid = ".$_GET["id"]; - - $db->query($sql); -} - -llxHeader("","","Fiche ventilation"); - -if ($cancel == $langs->trans("Cancel")) -{ - $action = ''; -} -/* - * - * - */ - -$sql = "SELECT rowid, numero, intitule"; -$sql .= " FROM ".MAIN_DB_PREFIX."compta_compte_generaux"; -$sql .= " ORDER BY numero ASC"; - -$result = $db->query($sql); -if ($result) -{ - $num = $db->num_rows($result); - $i = 0; - - while ($i < $num) - { - $row = $db->fetch_row($result); - $cgs[$row[0]] = $row[1] . ' ' . $row[2]; - $i++; - } -} - -/* - * Creation - * - */ -$form = new Form($db); - -if($_GET["id"]) -{ - $sql = "SELECT f.facnumber, f.rowid as facid, l.fk_product, l.description, l.total_ttc, l.qty, l.rowid, l.tva_tx, l.fk_code_ventilation "; - $sql .= " FROM ".MAIN_DB_PREFIX."facture_fourn_det as l"; - $sql .= " , ".MAIN_DB_PREFIX."facture_fourn as f"; - $sql .= " WHERE f.rowid = l.fk_facture_fourn AND f.fk_statut = 1 AND l.rowid = ".$_GET["id"]; - - $result = $db->query($sql); - - if ($result) - { - $num_lignes = $db->num_rows($result); - $i = 0; - - if ($num_lignes) - { - - $objp = $db->fetch_object($result); - - - if($objp->fk_code_ventilation == 0) - { - print '
    '."\n"; - print ''; - print ''; - } - - - print load_fiche_titre("Ventilation"); - - print ''; - print ''; - print ''; - - print ''; - print ''; - print ''; - - if($objp->fk_code_ventilation == 0) - { - print ''; - } - print '
    Facture'.$objp->facnumber.'
    Ligne'.stripslashes(nl2br($objp->description)).'
    Ventiler dans le compte :'; - - if($objp->fk_code_ventilation == 0) - { - print $form->selectarray("codeventil",$cgs, $objp->fk_code_ventilation); - } - else - { - print $cgs[$objp->fk_code_ventilation]; - } - - print '
     
    '; - print '
    '; - } - else - { - print "Error"; - } - } - else - { - print "Error"; - } -} -else -{ - print "Error ID incorrect"; -} - -llxFooter(); -$db->close(); diff --git a/htdocs/compta/ventilation/fournisseur/list.php b/htdocs/compta/ventilation/fournisseur/list.php deleted file mode 100644 index 20ca396aa30..00000000000 --- a/htdocs/compta/ventilation/fournisseur/list.php +++ /dev/null @@ -1,105 +0,0 @@ - - * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2004 Laurent Destailleur - * - * 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 . - * - */ - - -/** - * \file htdocs/compta/ventilation/list.php - * \ingroup compta - * \brief Page de ventilation des lignes de facture - */ - -require '../../../main.inc.php'; - -$langs->load("bills"); - -if (!$user->rights->facture->lire) accessforbidden(); -if (!$user->rights->compta->ventilation->creer) accessforbidden(); -/* - * Securite acces client - */ -if ($user->societe_id > 0) accessforbidden(); - - -llxHeader('','Ventilation'); - -/* - * Lignes de factures - * - */ -$page = $_GET["page"]; -if ($page < 0) $page = 0; -$limit = GETPOST('limit')?GETPOST('limit','int'):$conf->liste_limit; -$offset = $limit * $page ; - -$sql = "SELECT f.facnumber, f.rowid as facid, l.fk_product, l.description, l.total_ttc as price, l.rowid, l.fk_code_ventilation "; -$sql .= " FROM ".MAIN_DB_PREFIX."facture_fourn_det as l"; -$sql .= " , ".MAIN_DB_PREFIX."facture_fourn as f"; -$sql .= " WHERE f.rowid = l.fk_facture_fourn AND f.fk_statut = 1 AND fk_code_ventilation = 0"; -$sql .= " ORDER BY l.rowid DESC ".$db->plimit($limit+1,$offset); - -$result = $db->query($sql); -if ($result) -{ - $num_lignes = $db->num_rows($result); - $i = 0; - - print_barre_liste("Lignes de facture à ventiler",$page,"list.php","",$sortfield,$sortorder,'',$num_lignes); - - print ''; - print ''; - print ''; - print ''; - print ''; - print "\n"; - - $var=True; - while ($i < min($num_lignes, $limit)) - { - $objp = $db->fetch_object($result); - $var=!$var; - print ""; - - print ''; - print ''; - - print ''; - - print ''; - - print ""; - $i++; - } - -print "
    Facture'.$langs->trans("Description").'  
    '.$objp->facnumber.''.stripslashes(nl2br($objp->description)).''; - print price($objp->price); - print ''; - print img_edit(); - print '
    "; - - - -} -else -{ - print $db->error(); -} - -llxFooter(); -$db->close(); diff --git a/htdocs/compta/ventilation/list.php b/htdocs/compta/ventilation/list.php deleted file mode 100644 index fc022cade0d..00000000000 --- a/htdocs/compta/ventilation/list.php +++ /dev/null @@ -1,129 +0,0 @@ - - * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2004-2006 Laurent Destailleur - * - * 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 . - * - */ - - -/** - * \file htdocs/compta/ventilation/list.php - * \ingroup compta - * \brief Page de ventilation des lignes de facture - */ - -require '../../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; -require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; - -$langs->load("compta"); -$langs->load("bills"); - -if (!$user->rights->facture->lire) accessforbidden(); -if (!$user->rights->compta->ventilation->creer) accessforbidden(); - -// Securite acces client -if ($user->societe_id > 0) accessforbidden(); - - -llxHeader('','Ventilation'); - -/* - * Lignes de factures - */ - -$sortfield = GETPOST("sortfield",'alpha'); -$sortorder = GETPOST("sortorder",'alpha'); -$limit = GETPOST('limit')?GETPOST('limit','int'):$conf->liste_limit; -$page = GETPOST("page",'int'); -if ($page == -1) { $page = 0; } -$offset = $limit * $page; -$pageprev = $page - 1; -$pagenext = $page + 1; - -$sql = "SELECT f.facnumber, f.rowid as facid, l.fk_product, l.description, f.total as price, l.rowid, l.fk_code_ventilation,"; -$sql.= " p.rowid as product_id, p.ref as product_ref, p.label as product_label, p.fk_product_type as type"; -$sql.= " FROM ".MAIN_DB_PREFIX."facture as f"; -$sql.= " , ".MAIN_DB_PREFIX."facturedet as l"; -$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON p.rowid = l.fk_product"; -$sql.= " WHERE f.rowid = l.fk_facture AND f.fk_statut = 1 AND fk_code_ventilation = 0"; -$sql.= " AND f.entity = ".$conf->entity; -$sql.= " ORDER BY l.rowid DESC ".$db->plimit($limit+1,$offset); - -$result = $db->query($sql); -if ($result) -{ - $num_lignes = $db->num_rows($result); - $i = 0; - - print_barre_liste($langs->trans("InvoiceLinesToDispatch"),$page,"list.php","",$sortfield,$sortorder,'',$num_lignes); - - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print "\n"; - - $facture_static=new Facture($db); - $product_static=new Product($db); - - $var=True; - while ($i < min($num_lignes, $limit)) - { - $objp = $db->fetch_object($result); - $var=!$var; - print ""; - - // Ref facture - $facture_static->ref=$objp->facnumber; - $facture_static->id=$objp->facid; - print ''; - - // Ref produit - $product_static->ref=$objp->product_ref; - $product_static->id=$objp->product_id; - $product_static->type=$objp->type; - print ''; - - print ''; - print ''; - - print ''; - - print ''; - - print ""; - $i++; - } - print "
    '.$langs->trans("Invoice").''.$langs->trans("Ref").''.$langs->trans("Label").''.$langs->trans("Description").''.$langs->trans("Montant").' 
    '.$facture_static->getNomUrl(1).''; - if ($product_static->id) print $product_static->getNomUrl(1); - else print ' '; - print ''.dol_trunc($objp->product_label,24).''.nl2br(dol_trunc($objp->description,32)).''; - print price($objp->price); - print ''; - print img_edit(); - print '
    "; -} -else -{ - print $db->error(); -} - -llxFooter(); -$db->close(); From a4ce756724c1fcdacbc82f219937fd7643c51ab7 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Mon, 29 Aug 2016 10:32:00 +0200 Subject: [PATCH 393/476] Manage project category --- htdocs/categories/card.php | 13 +- htdocs/categories/categorie.php | 94 +++++++++++++++ htdocs/categories/class/categorie.class.php | 33 +++-- htdocs/categories/index.php | 1 + htdocs/categories/photos.php | 3 +- htdocs/categories/traduction.php | 3 +- htdocs/categories/viewcat.php | 14 +++ htdocs/core/menus/standard/eldy.lib.php | 57 +++++---- htdocs/langs/en_US/categories.lang | 5 + htdocs/projet/card.php | 92 ++++++++++---- htdocs/projet/class/project.class.php | 127 +++++++++++++++----- 11 files changed, 354 insertions(+), 88 deletions(-) diff --git a/htdocs/categories/card.php b/htdocs/categories/card.php index 8af76ce8647..5ec318aca52 100644 --- a/htdocs/categories/card.php +++ b/htdocs/categories/card.php @@ -58,6 +58,7 @@ if ($origin) if ($type == Categorie::TYPE_CUSTOMER) $idCompanyOrigin = $origin; if ($type == Categorie::TYPE_MEMBER) $idMemberOrigin = $origin; if ($type == Categorie::TYPE_CONTACT) $idContactOrigin = $origin; + if ($type == Categorie::TYPE_PROJECT) $idProjectOrigin = $origin; } if ($catorigin && $type == Categorie::TYPE_PRODUCT) $idCatOrigin = $catorigin; @@ -116,6 +117,11 @@ if ($action == 'add' && $user->rights->categorie->creer) header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idContactOrigin.'&type='.$type); exit; } + else if ($idProjectOrigin) + { + header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idProjectOrigin.'&type='.$type); + exit; + } else { header("Location: ".DOL_URL_ROOT.'/categories/index.php?leftmenu=cat&type='.$type); @@ -201,6 +207,11 @@ if (($action == 'add' || $action == 'confirmed') && $user->rights->categorie->cr header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idContactOrigin.'&mesg='.urlencode($langs->trans("CatCreated"))); exit; } + else if ($idProjectOrigin) + { + header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idProjectOrigin.'&mesg='.urlencode($langs->trans("CatCreated"))); + exit; + } header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$result.'&type='.$type); exit; @@ -259,7 +270,7 @@ if ($user->rights->categorie->creer) print '
    '.$langs->trans("Color").''; print $formother->selectColor($color,'color'); print '
    '.$langs->trans("AddIn").''; print $form->select_all_categories($type, $catorigin); diff --git a/htdocs/categories/categorie.php b/htdocs/categories/categorie.php index c347b4863c7..f472570f308 100644 --- a/htdocs/categories/categorie.php +++ b/htdocs/categories/categorie.php @@ -88,6 +88,13 @@ if ($id || $ref) $dbtablename = 'socpeople&societe'; $fieldid = ! empty($ref)?'ref':'rowid'; } + elseif ($type == Categorie::TYPE_PROJECT) { + $elementtype = 'project'; + $objecttype = 'project'; + $objectid = isset($id)?$id:(isset($ref)?$ref:''); + $dbtablename = '&project'; + $fieldid = ! empty($ref)?'ref':'rowid'; + } } // Security check @@ -145,6 +152,13 @@ if (empty($reshook)) $result = $object->fetch($objectid); $elementtype = 'contact'; } + if ($type == Categorie::TYPE_PROJECT && $user->rights->projet->creer) + { + require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; + $object = new Project($db); + $result = $object->fetch($objectid); + $elementtype = 'project'; + } $cat = new Categorie($db); $result=$cat->fetch($removecat); @@ -192,6 +206,13 @@ if (empty($reshook)) $result = $object->fetch($objectid); $elementtype = 'contact'; } + if ($type == Categorie::TYPE_PROJECT && $user->rights->projet->creer) + { + require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; + $object = new Project($db); + $result = $object->fetch($objectid); + $elementtype = 'project'; + } $cat = new Categorie($db); $result=$cat->fetch($parent); @@ -607,6 +628,75 @@ else if ($id || $ref) formCategory($db,$object,4,$socid, $user->rights->societe->creer); } + + if ($type == Categorie::TYPE_PROJECT) + { + $langs->load("products"); + + /* + * Category card for product + */ + require_once DOL_DOCUMENT_ROOT.'/core/lib/project.lib.php'; + require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; + + // Product + $product = new Product($db); + $result = $product->fetch($id, $ref); + + llxHeader("","",$langs->trans("Project")); + + + $head=project_prepare_head($product); + $titre=$langs->trans("Project"); + $picto=($object->public?'projectpub':'project'); + dol_fiche_head($head, 'category', $titre,0,$picto); + + + print ''; + + $linkback = ''.$langs->trans("BackToList").''; + + // Ref + print ''; + + // Label + print ''; + + // Third party + print ''; + + // Visibility + print ''; + + // Statut + print ''; + + // Date start + print ''; + + // Date end + print ''; + + formCategory($db,$product,0,$socid,($user->rights->projet->creer)); + } } @@ -630,6 +720,7 @@ function formCategory($db,$object,$typeid,$socid=0,$showclassifyform=1) if ($typeid == Categorie::TYPE_CUSTOMER) $title = $langs->trans("CustomersProspectsCategoriesShort"); if ($typeid == Categorie::TYPE_MEMBER) $title = $langs->trans("MembersCategoriesShort"); if ($typeid == Categorie::TYPE_CONTACT) $title = $langs->trans("ContactCategoriesShort"); + if ($typeid == Categorie::TYPE_PROJECT) $title = $langs->trans("ProjectsCategoriesShort"); $linktocreate=''; if ($showclassifyform && $user->rights->categorie->creer) @@ -674,6 +765,7 @@ function formCategory($db,$object,$typeid,$socid=0,$showclassifyform=1) if ($typeid == Categorie::TYPE_CUSTOMER) $title=$langs->trans("CompanyIsInCustomersCategories"); if ($typeid == Categorie::TYPE_MEMBER) $title=$langs->trans("MemberIsInCategories"); if ($typeid == Categorie::TYPE_CONTACT) $title=$langs->trans("ContactIsInCategories"); + if ($typeid == Categorie::TYPE_PROJECT) $title=$langs->trans("ProjectIsInCategories"); print "\n"; print '
    '.$langs->trans("Ref").''; + // Define a complementary filter for search of next/prev ref. + if (! $user->rights->projet->all->lire) + { + $objectsListId = $object->getProjectsAuthorizedForUser($user,0,0); + $object->next_prev_filter=" rowid in (".(count($objectsListId)?join(',',array_keys($objectsListId)):'0').")"; + } + print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref'); + print '
    '.$langs->trans("Label").''.$object->title.'
    '.$langs->trans("ThirdParty").''; + if ($object->thirdparty->id > 0) print $object->thirdparty->getNomUrl(1, 'project'); + else print' '; + print '
    '.$langs->trans("Visibility").''; + if ($object->public) print $langs->trans('SharedProject'); + else print $langs->trans('PrivateProject'); + print '
    '.$langs->trans("Status").''.$object->getLibStatut(4).'
    '.$langs->trans("DateStart").''; + print dol_print_date($object->date_start,'day'); + print '
    '.$langs->trans("DateEnd").''; + print dol_print_date($object->date_end,'day'); + print '
    '; print ''; @@ -699,6 +791,7 @@ function formCategory($db,$object,$typeid,$socid=0,$showclassifyform=1) if ($typeid == Categorie::TYPE_CUSTOMER) $permission=$user->rights->societe->creer; if ($typeid == Categorie::TYPE_MEMBER) $permission=$user->rights->adherent->creer; if ($typeid == Categorie::TYPE_CONTACT) $permission=$user->rights->societe->creer; + if ($typeid == Categorie::TYPE_PROJECT) $permission=$user->rights->projet->creer; if ($permission) { print ""; @@ -727,6 +820,7 @@ function formCategory($db,$object,$typeid,$socid=0,$showclassifyform=1) if ($typeid == Categorie::TYPE_CUSTOMER) $title=$langs->trans("CompanyHasNoCategory"); if ($typeid == Categorie::TYPE_MEMBER) $title=$langs->trans("MemberHasNoCategory"); if ($typeid == Categorie::TYPE_CONTACT) $title=$langs->trans("ContactHasNoCategory"); + if ($typeid == Categorie::TYPE_PROJECT) $title=$langs->trans("ProjectHasNoCategory"); print $title; print "
    "; } diff --git a/htdocs/categories/class/categorie.class.php b/htdocs/categories/class/categorie.class.php index 60e132f3051..e926611ccd4 100644 --- a/htdocs/categories/class/categorie.class.php +++ b/htdocs/categories/class/categorie.class.php @@ -50,6 +50,7 @@ class Categorie extends CommonObject const TYPE_CONTACT = 4; // TODO Replace this value with 'contact' const TYPE_USER = 4; // categorie contact and user are same ! TODO Replace this value with 'user' const TYPE_ACCOUNT = 5; // for bank account TODO Replace this value with 'account' + const TYPE_PROJECT = 6; /** * @var array ID mapping from type string @@ -64,6 +65,7 @@ class Categorie extends CommonObject 'contact' => 4, 'user' => 4, 'account' => 5, + 'project' => 6, ); /** * @var array Foreign keys mapping from type string @@ -78,6 +80,7 @@ class Categorie extends CommonObject 'contact' => 'socpeople', 'user' => 'user', 'account' => 'account', + 'project' => 'project', ); /** * @var array Category tables mapping from type string @@ -92,6 +95,7 @@ class Categorie extends CommonObject 'contact' => 'contact', 'user' => 'user', 'account' => 'account', + 'project' => 'project', ); /** * @var array Object class mapping from type string @@ -106,6 +110,7 @@ class Categorie extends CommonObject 'contact' => 'Contact', 'user' => 'User', 'account' => 'Account', + 'project' => 'Project', ); /** * @var array Object table mapping from type string @@ -120,6 +125,7 @@ class Categorie extends CommonObject 'contact' => 'socpeople', 'user' => 'user', 'account' => 'bank_account', + 'project' => 'project', ); public $element='category'; @@ -146,6 +152,7 @@ class Categorie extends CommonObject * @see Categorie::TYPE_CONTACT * @see Categorie::TYPE_USER * @see Categorie::TYPE_ACCOUNT + * @see Categorie::TYPE_PROJECT */ var $type; @@ -514,6 +521,18 @@ class Categorie extends CommonObject $error++; } } + if (! $error) + { + $sql = "DELETE FROM ".MAIN_DB_PREFIX."categorie_project"; + $sql .= " WHERE fk_category = ".$this->id; + if (!$this->db->query($sql)) + { + $this->error=$this->db->lasterror(); + dol_syslog("Error sql=".$sql." ".$this->error, LOG_ERR); + $error++; + } + } + if (! $error) { $sql = "DELETE FROM ".MAIN_DB_PREFIX."categorie_lang"; @@ -1029,11 +1048,11 @@ class Categorie extends CommonObject /** - * Returns all categories + * Returns all categories * * @param int $type Type of category * @param boolean $parent Just parent categories if true - * @return array Table of Object Category + * @return array Table of Object Category */ function get_all_categories($type=null, $parent=false) { @@ -1183,7 +1202,7 @@ class Categorie extends CommonObject } } } - + if ($url == '') { $link = '
    '; @@ -1196,7 +1215,7 @@ class Categorie extends CommonObject } } $newcategwithpath = preg_replace('/toreplace/', $forced_color, implode($sep, $w)); - + $ways[] = $newcategwithpath; } @@ -1239,8 +1258,8 @@ class Categorie extends CommonObject } /** - * Returns in a table all possible paths to get to the category - * starting with the major categories represented by Tables of categories + * Returns in a table all possible paths to get to the category + * starting with the major categories represented by Tables of categories * * @return array */ @@ -1415,7 +1434,7 @@ class Categorie extends CommonObject $b = hexdec($hex[4].$hex[5]); $bright = (max($r, $g, $b) + min($r, $g, $b)) / 510.0; // HSL algorithm if ($bright >= 0.5) $forced_color='categtextblack'; // Higher than 60% - } + } $link = ''; $linkend=''; diff --git a/htdocs/categories/index.php b/htdocs/categories/index.php index a2c7186933e..07c586e3b11 100644 --- a/htdocs/categories/index.php +++ b/htdocs/categories/index.php @@ -54,6 +54,7 @@ elseif ($type == Categorie::TYPE_CUSTOMER) $title=$langs->trans("CustomersCateg elseif ($type == Categorie::TYPE_MEMBER) $title=$langs->trans("MembersCategoriesArea"); elseif ($type == Categorie::TYPE_CONTACT) $title=$langs->trans("ContactsCategoriesArea"); elseif ($type == Categorie::TYPE_ACCOUNT) $title=$langs->trans("AccountsCategoriesArea"); +elseif ($type == Categorie::TYPE_PROJECT) $title=$langs->trans("ProjectsCategoriesArea"); else $title=$langs->trans("CategoriesArea"); $arrayofjs=array('/includes/jquery/plugins/jquerytreeview/jquery.treeview.js', '/includes/jquery/plugins/jquerytreeview/lib/jquery.cookie.js'); diff --git a/htdocs/categories/photos.php b/htdocs/categories/photos.php index d3b1f8854b9..6da030db893 100644 --- a/htdocs/categories/photos.php +++ b/htdocs/categories/photos.php @@ -101,6 +101,7 @@ if ($object->id) elseif ($type == Categorie::TYPE_MEMBER) $title=$langs->trans("MembersCategoryShort"); elseif ($type == Categorie::TYPE_CONTACT) $title=$langs->trans("ContactCategoriesShort"); elseif ($type == Categorie::TYPE_ACCOUNT) $title=$langs->trans("AccountsCategoriesShort"); + elseif ($type == Categorie::TYPE_PROJECT) $title=$langs->trans("ProjectsCategoriesShort"); else $title=$langs->trans("Category"); $head = categories_prepare_head($object,$type); @@ -140,7 +141,7 @@ if ($object->id) print $langs->trans("Color").''; - + print "
    '.$title.':
    '; print $formother->showColor($object->color); print '
    \n"; print "\n"; diff --git a/htdocs/categories/traduction.php b/htdocs/categories/traduction.php index 25fb000a594..38ff45d043d 100644 --- a/htdocs/categories/traduction.php +++ b/htdocs/categories/traduction.php @@ -152,6 +152,7 @@ elseif ($type == Categorie::TYPE_CUSTOMER) $title=$langs->trans("CustomersCateg elseif ($type == Categorie::TYPE_MEMBER) $title=$langs->trans("MembersCategoryShort"); elseif ($type == Categorie::TYPE_CONTACT) $title=$langs->trans("ContactCategoriesShort"); elseif ($type == Categorie::TYPE_ACCOUNT) $title=$langs->trans("AccountsCategoriesShort"); +elseif ($type == Categorie::TYPE_PROJECT) $title=$langs->trans("ProjectsCategoriesShort"); else $title=$langs->trans("Category"); $head = categories_prepare_head($object,$type); @@ -207,7 +208,7 @@ if ($action == 'edit') $doleditor = new DolEditor("desc-$key", $object->multilangs[$key]["description"], '', 160, 'dolibarr_notes', '', false, true, $conf->global->FCKEDITOR_ENABLE_PRODUCTDESC, 3, 80); $doleditor->Create(); print '
    '; } diff --git a/htdocs/categories/viewcat.php b/htdocs/categories/viewcat.php index f5cb88f85f4..fdde86ff1f9 100644 --- a/htdocs/categories/viewcat.php +++ b/htdocs/categories/viewcat.php @@ -115,6 +115,13 @@ if ($id > 0 && $removeelem > 0) $result = $tmpobject->fetch($removeelem); $elementtype = 'account'; } + else if ($type == Categorie::TYPE_PROJECT && $user->rights->projet->creer) + { + require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; + $tmpobject = new Project($db); + $result = $tmpobject->fetch($removeelem); + $elementtype = 'project'; + } $result=$object->del_type($tmpobject,$elementtype); if ($result < 0) dol_print_error('',$object->error); @@ -178,6 +185,7 @@ elseif ($type == Categorie::TYPE_CUSTOMER) $title=$langs->trans("CustomersCateg elseif ($type == Categorie::TYPE_MEMBER) $title=$langs->trans("MembersCategoryShort"); elseif ($type == Categorie::TYPE_CONTACT) $title=$langs->trans("ContactCategoriesShort"); elseif ($type == Categorie::TYPE_ACCOUNT) $title=$langs->trans("AccountsCategoriesShort"); +elseif ($type == Categorie::TYPE_PROJECT) $title=$langs->trans("ProjectsCategoriesShort"); else $title=$langs->trans("Category"); $head = categories_prepare_head($object,$type); @@ -360,6 +368,7 @@ if ($object->type == Categorie::TYPE_PRODUCT) if ($typeid == Categorie::TYPE_SUPPLIER) $permission=$user->rights->societe->creer; if ($typeid == Categorie::TYPE_CUSTOMER) $permission=$user->rights->societe->creer; if ($typeid == Categorie::TYPE_MEMBER) $permission=$user->rights->adherent->creer; + if ($typeid == Categorie::TYPE_PROJECT) $permission=$user->rights->projet->creer; if ($permission) { print ""; @@ -410,6 +419,7 @@ if ($object->type == Categorie::TYPE_SUPPLIER) if ($typeid == Categorie::TYPE_SUPPLIER) $permission=$user->rights->societe->creer; if ($typeid == Categorie::TYPE_CUSTOMER) $permission=$user->rights->societe->creer; if ($typeid == Categorie::TYPE_MEMBER) $permission=$user->rights->adherent->creer; + if ($typeid == Categorie::TYPE_PROJECT) $permission=$user->rights->projet->creer; if ($permission) { print ""; @@ -464,6 +474,7 @@ if($object->type == Categorie::TYPE_CUSTOMER) if ($typeid == Categorie::TYPE_SUPPLIER) $permission=$user->rights->societe->creer; if ($typeid == Categorie::TYPE_CUSTOMER) $permission=$user->rights->societe->creer; if ($typeid == Categorie::TYPE_MEMBER) $permission=$user->rights->adherent->creer; + if ($typeid == Categorie::TYPE_PROJECT) $permission=$user->rights->projet->creer; if ($permission) { print ""; @@ -519,6 +530,7 @@ if ($object->type == Categorie::TYPE_MEMBER) if ($typeid == Categorie::TYPE_SUPPLIER) $permission=$user->rights->societe->creer; if ($typeid == Categorie::TYPE_CUSTOMER) $permission=$user->rights->societe->creer; if ($typeid == Categorie::TYPE_MEMBER) $permission=$user->rights->adherent->creer; + if ($typeid == Categorie::TYPE_PROJECT) $permission=$user->rights->projet->creer; if ($permission) { print ""; @@ -571,6 +583,7 @@ if($object->type == Categorie::TYPE_CONTACT) if ($typeid == Categorie::TYPE_CUSTOMER) $permission=$user->rights->societe->creer; if ($typeid == Categorie::TYPE_MEMBER) $permission=$user->rights->adherent->creer; if ($typeid == Categorie::TYPE_CONTACT) $permission=$user->rights->societe->creer; + if ($typeid == Categorie::TYPE_PROJECT) $permission=$user->rights->projet->creer; if ($permission) { print ""; @@ -626,6 +639,7 @@ if ($object->type == Categorie::TYPE_ACCOUNT) if ($typeid == Categorie::TYPE_CUSTOMER) $permission=$user->rights->societe->creer; if ($typeid == Categorie::TYPE_MEMBER) $permission=$user->rights->adherent->creer; if ($typeid == Categorie::TYPE_ACCOUNT) $permission=$user->rights->banque->configurer; + if ($typeid == Categorie::TYPE_PROJECT) $permission=$user->rights->projet->creer; if ($permission) { print ""; diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php index 7b2b131a59e..386328c0929 100644 --- a/htdocs/core/menus/standard/eldy.lib.php +++ b/htdocs/core/menus/standard/eldy.lib.php @@ -57,13 +57,13 @@ function print_eldy_menu($db,$atarget,$type_user,&$tabMenu,&$menu,$noout=0,$mode $showmode=1; $classname = 'class="tmenu menuhider"'; $idsel='menu'; - + if (empty($noout)) print_start_menu_entry($idsel,$classname,$showmode); if (empty($noout)) print_text_menu_entry('', 1, '#', $id, $idsel, $classname, $atarget); if (empty($noout)) print_end_menu_entry($showmode); $menu->add('#', '', 0, $showmode, $atarget, "xxx", ''); } - + // Home $showmode=1; $classname=""; @@ -132,8 +132,8 @@ function print_eldy_menu($db,$atarget,$type_user,&$tabMenu,&$menu,$noout=0,$mode if (! empty($conf->contrat->enabled)) $menuqualified++; if (! empty($conf->ficheinter->enabled)) $menuqualified++; $tmpentry=array( - 'enabled'=>$menuqualified, - 'perms'=>(! empty($user->rights->societe->lire) || ! empty($user->rights->societe->contact->lire)), + 'enabled'=>$menuqualified, + 'perms'=>(! empty($user->rights->societe->lire) || ! empty($user->rights->societe->contact->lire)), 'module'=>'propal|commande|supplier_order|contrat|ficheinter'); $showmode=dol_eldy_showmenu($type_user, $tmpentry, $listofmodulesforexternal); if ($showmode) @@ -343,7 +343,7 @@ function print_eldy_menu($db,$atarget,$type_user,&$tabMenu,&$menu,$noout=0,$mode function print_start_menu_array() { global $conf; - + print '
    '; print '
      global->MAIN_OPTIMIZEFORTEXTBROWSER)?'':' title="Top menu"').'>'; } @@ -488,7 +488,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu print '
    '."\n"; print "\n"; } - + /** * We update newmenu with entries found into database * -------------------------------------------------- @@ -504,7 +504,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu // Home - dashboard $newmenu->add("/index.php?mainmenu=home&leftmenu=home", $langs->trans("Dashboard"), 0, 1, '', $mainmenu, 'home'); - + // Setup $newmenu->add("/admin/index.php?mainmenu=home&leftmenu=setup", $langs->trans("Setup"), 0, $user->admin, '', $mainmenu, 'setup'); if (empty($leftmenu) || $leftmenu=="setup") @@ -528,7 +528,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu $newmenu->add("/admin/modules.php?mainmenu=home", $langs->trans("Modules").$warnpicto,1); $newmenu->add("/admin/menus.php?mainmenu=home", $langs->trans("Menus"),1); $newmenu->add("/admin/ihm.php?mainmenu=home", $langs->trans("GUISetup"),1); - + $newmenu->add("/admin/translation.php?mainmenu=home", $langs->trans("Translation"),1); $newmenu->add("/admin/boxes.php?mainmenu=home", $langs->trans("Boxes"),1); $newmenu->add("/admin/delais.php?mainmenu=home",$langs->trans("Alerts"),1); @@ -568,7 +568,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu $newmenu->add("/admin/tools/listsessions.php?mainmenu=home&leftmenu=admintools", $langs->trans("Sessions"),1); $newmenu->add('/admin/system/about.php?mainmenu=home&leftmenu=admintools', $langs->trans('About'), 1); - if (! empty($conf->product->enabled) || ! empty($conf->service->enabled)) + if (! empty($conf->product->enabled) || ! empty($conf->service->enabled)) { $langs->load("products"); $newmenu->add("/product/admin/product_tools.php?mainmenu=home&leftmenu=admintools", $langs->trans("ProductVatMassChange"), 1, $user->admin); @@ -579,7 +579,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu $langs->load("accountancy"); $newmenu->add("/accountancy/admin/productaccount.php?mainmenu=home&leftmenu=admintools", $langs->trans("InitAccountancy"), 1, $user->admin); } - + $newmenu->add("/support/index.php?mainmenu=home&leftmenu=admintools", $langs->trans("HelpCenter"),1,1,'targethelp'); } @@ -747,7 +747,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu if (empty($leftmenu) || $leftmenu=="orders_suppliers") $newmenu->add("/fourn/commande/list.php?leftmenu=orders_suppliers&statut=6,7", $langs->trans("StatusOrderCanceled"), 2, $user->rights->fournisseur->commande->lire); if (empty($leftmenu) || $leftmenu=="orders_suppliers") $newmenu->add("/fourn/commande/list.php?leftmenu=orders_suppliers&statut=9", $langs->trans("StatusOrderRefused"), 2, $user->rights->fournisseur->commande->lire); // Billed is another field. We should add instead a dedicated filter on list. if (empty($leftmenu) || $leftmenu=="orders_suppliers") $newmenu->add("/fourn/commande/list.php?leftmenu=orders_suppliers&billed=1", $langs->trans("StatusOrderBilled"), 2, $user->rights->fournisseur->commande->lire); - + $newmenu->add("/commande/stats/index.php?leftmenu=orders_suppliers&mode=supplier", $langs->trans("Statistics"), 1, $user->rights->fournisseur->commande->lire); } @@ -773,7 +773,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu $newmenu->add("/fichinter/index.php?leftmenu=ficheinter", $langs->trans("Interventions"), 0, $user->rights->ficheinter->lire, '', $mainmenu, 'ficheinter', 2200); $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, '', '', '', 202); - + $newmenu->add("/fichinter/stats/index.php?leftmenu=ficheinter", $langs->trans("Statistics"), 1, $user->rights->fournisseur->commande->lire); } @@ -910,7 +910,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu } } } - + // Salaries if (! empty($conf->salaries->enabled)) { @@ -919,7 +919,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu if (empty($leftmenu) || preg_match('/^tax_salary/i',$leftmenu)) $newmenu->add("/compta/salaries/card.php?leftmenu=tax_salary&action=create",$langs->trans("NewPayment"),2,$user->rights->salaries->write); if (empty($leftmenu) || preg_match('/^tax_salary/i',$leftmenu)) $newmenu->add("/compta/salaries/index.php?leftmenu=tax_salary",$langs->trans("Payments"),2,$user->rights->salaries->read); } - + // Loan if (! empty($conf->loan->enabled)) { @@ -1212,6 +1212,15 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu $newmenu->add("/projet/tasks/list.php", $langs->trans("List"), 1, $user->rights->projet->lire && $user->rights->projet->lire); $newmenu->add("/projet/activity/perweek.php", $langs->trans("NewTimeSpent"), 1, $user->rights->projet->creer && $user->rights->projet->lire); } + + // Categories + if (! empty($conf->categorie->enabled)) + { + $langs->load("categories"); + $newmenu->add("/categories/index.php?leftmenu=cat&type=6", $langs->trans("Categories"), 0, $user->rights->categorie->lire, '', $mainmenu, 'cat'); + $newmenu->add("/categories/card.php?action=create&type=6", $langs->trans("NewCategory"), 1, $user->rights->categorie->creer); + //if (empty($leftmenu) || $leftmenu=="cat") $newmenu->add("/categories/list.php", $langs->trans("List"), 1, $user->rights->categorie->lire); + } } } @@ -1338,7 +1347,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu $menuArbo = new Menubase($db,'eldy'); $newmenu = $menuArbo->menuLeftCharger($newmenu,$mainmenu,$leftmenu,(empty($user->societe_id)?0:1),'eldy',$tabMenu); //var_dump($newmenu->liste); // - + // We update newmenu for special dynamic menus if (!empty($user->rights->banque->lire) && $mainmenu == 'bank') // Entry for each bank account { @@ -1410,7 +1419,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu $nbentry = count($menu_array); while (findNextEntryForLevel($menu_array, $cursor, $position, $level)) { - + $cursor++; }*/ @@ -1431,7 +1440,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu $altok++; $blockvmenuopened=true; $lastopened=true; - for($j = ($i + 1); $j < $num; $j++) + for($j = ($i + 1); $j < $num; $j++) { if (empty($menu_array[$j]['level'])) $lastopened=false; } @@ -1457,7 +1466,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu } $url = $shorturl = $menu_array[$i]['url']; - + if (! preg_match("/^(http:\/\/|https:\/\/)/i",$menu_array[$i]['url'])) { $tmp=explode('?',$menu_array[$i]['url'],2); @@ -1465,11 +1474,11 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu $param = (isset($tmp[1])?$tmp[1]:''); // params in url of the menu link // Complete param to force leftmenu to '' to closed opend menu when we click on a link with no leftmenu defined. - if ((! preg_match('/mainmenu/i',$param)) && (! preg_match('/leftmenu/i',$param)) && ! empty($menu_array[$i]['mainmenu'])) + if ((! preg_match('/mainmenu/i',$param)) && (! preg_match('/leftmenu/i',$param)) && ! empty($menu_array[$i]['mainmenu'])) { $param.=($param?'&':'').'mainmenu='.$menu_array[$i]['mainmenu'].'&leftmenu='; } - if ((! preg_match('/mainmenu/i',$param)) && (! preg_match('/leftmenu/i',$param)) && empty($menu_array[$i]['mainmenu'])) + if ((! preg_match('/mainmenu/i',$param)) && (! preg_match('/leftmenu/i',$param)) && empty($menu_array[$i]['mainmenu'])) { $param.=($param?'&':'').'leftmenu='; } @@ -1477,12 +1486,12 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu $url = dol_buildpath($url,1).($param?'?'.$param:''); $shorturl = $shorturl.($param?'?'.$param:''); } - + $url=preg_replace('/__LOGIN__/',$user->login,$url); $shorturl=preg_replace('/__LOGIN__/',$user->login,$shorturl); $url=preg_replace('/__USERID__/',$user->id,$url); $shorturl=preg_replace('/__USERID__/',$user->id,$shorturl); - + print ''."\n"; // Menu niveau 0 @@ -1528,7 +1537,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu if ($blockvmenuopened) { print '
    '."\n"; $blockvmenuopened=false; } } } - + if ($altok) print '
    '; } @@ -1541,7 +1550,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu print '
    '."\n"; print "\n"; } - + return count($menu_array); } diff --git a/htdocs/langs/en_US/categories.lang b/htdocs/langs/en_US/categories.lang index 976c8a50d93..351a730104f 100644 --- a/htdocs/langs/en_US/categories.lang +++ b/htdocs/langs/en_US/categories.lang @@ -14,6 +14,7 @@ CustomersCategoriesArea=Customers tags/categories area MembersCategoriesArea=Members tags/categories area ContactsCategoriesArea=Contacts tags/categories area AccountsCategoriesArea=Accounts tags/categories area +PeojectCategoriesArea=Projects tags/categories area SubCats=Subcategories CatList=List of tags/categories NewCategory=New tag/category @@ -36,6 +37,7 @@ ProductHasNoCategory=This product/service is not in any tags/categories CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories +ProjectHasNoCategory=This project is not in any tags/categories ClassifyInCategory=Add to tag/category NotCategorized=Without tag/category CategoryExistsAtSameLevel=This category already exists with this ref @@ -56,12 +58,14 @@ ProductsCategoriesShort=Products tags/categories MembersCategoriesShort=Members tags/categories ContactCategoriesShort=Contacts tags/categories AccountsCategoriesShort=Accounts tags/categories +ProjectsCategoriesShort=Projects tags/categories ThisCategoryHasNoProduct=This category does not contain any product. ThisCategoryHasNoSupplier=This category does not contain any supplier. ThisCategoryHasNoCustomer=This category does not contain any customer. ThisCategoryHasNoMember=This category does not contain any member. ThisCategoryHasNoContact=This category does not contain any contact. ThisCategoryHasNoAccount=This category does not contain any account. +ThisCategoryHasNoProject=This category does not contain any project. CategId=Tag/category id CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories @@ -71,6 +75,7 @@ CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories +CatProJectLinks=Links between projects and tags/categories DeleteFromCat=Remove from tags/category ExtraFieldsCategories=Complementary attributes CategoriesSetup=Tags/categories setup diff --git a/htdocs/projet/card.php b/htdocs/projet/card.php index fa89e06f398..67463b27222 100644 --- a/htdocs/projet/card.php +++ b/htdocs/projet/card.php @@ -31,6 +31,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/modules/project/modules_project.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; +require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; $langs->load("projects"); $langs->load('companies'); @@ -170,6 +171,17 @@ if (empty($reshook)) setEventMessages($langs->trans($object->error), null, 'errors'); $error++; } + if (! $error && !empty($object->id) > 0) + { + // Category association + $categories = GETPOST('categories'); + $result=$object->setCategories($categories); + if ($result<0) { + $langs->load("errors"); + setEventMessages($object->error, $object->errors, 'errors'); + $error++; + } + } if (! $error) { @@ -235,7 +247,7 @@ if (empty($reshook)) if (isset($_POST['budget_amount'])) $object->budget_amount= price2num(GETPOST('budget_amount')); if (isset($_POST['opp_status'])) $object->opp_status = $opp_status; if (isset($_POST['opp_percent'])) $object->opp_percent = $opp_percent; - + // Fill array 'array_options' with data from add form $ret = $extrafields->setOptionalsFromPost($extralabels,$object); if ($ret < 0) $error++; @@ -246,7 +258,7 @@ if (empty($reshook)) $error++; setEventMessages($langs->trans("ErrorOppStatusRequiredIfAmount"), null, 'errors'); } - + if (! $error) { $result=$object->update($user); @@ -254,6 +266,15 @@ if (empty($reshook)) { $error++; setEventMessages($object->error, $object->errors,'errors'); + }else { + // Category association + $categories = GETPOST('categories'); + $result=$object->setCategories($categories); + if ($result < 0) + { + $error++; + setEventMessages($object->error, $object->errors, 'errors'); + } } } @@ -310,7 +331,7 @@ if (empty($reshook)) if ($object->id > 0) { require_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php'; - + $langs->load("other"); $upload_dir = $conf->projet->dir_output; $file = $upload_dir . '/' . GETPOST('file'); @@ -377,7 +398,7 @@ if (empty($reshook)) $clone_notes=GETPOST('clone_notes')?1:0; $move_date=GETPOST('move_date')?1:0; $clone_thirdparty=GETPOST('socid','int')?GETPOST('socid','int'):0; - + $result=$object->createFromClone($object->id,$clone_contacts,$clone_tasks,$clone_project_files,$clone_task_files,$clone_notes,$move_date,0,$clone_thirdparty); if ($result <= 0) { @@ -486,7 +507,7 @@ if ($action == 'create' && $user->rights->projet->creer) print ' '.$langs->trans("AddThirdParty").''; print ''; } - + // Status if ($status != '') { @@ -526,7 +547,7 @@ if ($action == 'create' && $user->rights->projet->creer) print ''; print ''; print ''; - + // Opportunity amount print ''.$langs->trans("OpportunityAmount").''; print ''; @@ -544,6 +565,14 @@ if ($action == 'create' && $user->rights->projet->creer) print ''; print ''; + if($conf->categorie->enabled) { + // Categories + print ''.$langs->trans("Categories").''; + $cate_arbo = $form->select_all_categories(Categorie::TYPE_PROJECT, '', 'parent', 64, 0, 1); + print $form->multiselectarray('categories', $cate_arbo, $arrayselected, '', 0, '', 0, '100%'); + print ""; + } + // Other options $parameters=array(); $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook @@ -566,13 +595,13 @@ if ($action == 'create' && $user->rights->projet->creer) print '
    '; print ''; - + // Change probability from status print ''; - } - + } + /* * Boutons actions */ @@ -895,7 +945,7 @@ else print ''; } } - + // Validate if ($object->statut == 0 && $user->rights->projet->creer) { @@ -908,7 +958,7 @@ else print ''; } } - + // Close if ($object->statut == 1 && $user->rights->projet->creer) { @@ -921,7 +971,7 @@ else print ''; } } - + // Reopen if ($object->statut == 2 && $user->rights->projet->creer) { @@ -934,8 +984,8 @@ else print ''; } } - - // Add button to create objects from project + + // Add button to create objects from project if (! empty($conf->global->PROJECT_SHOW_CREATE_OBJECT_BUTTON)) { if (! empty($conf->propal->enabled) && $user->rights->propal->creer) @@ -989,7 +1039,7 @@ else print ''; } } - + // Clone if ($user->rights->projet->creer) { @@ -1002,7 +1052,7 @@ else print ''; } } - + // Delete if ($user->rights->projet->supprimer || ($object->statut == 0 && $user->rights->projet->creer)) { diff --git a/htdocs/projet/class/project.class.php b/htdocs/projet/class/project.class.php index d5765f102d5..3274f164e75 100644 --- a/htdocs/projet/class/project.class.php +++ b/htdocs/projet/class/project.class.php @@ -54,10 +54,10 @@ class Project extends CommonObject var $date_start; var $date_end; var $date_close; - + var $socid; // To store id of thirdparty var $thirdparty_name; // To store name of thirdparty (defined only in some cases) - + var $user_author_id; //!< Id of project creator. Not defined if shared project. var $user_close_id; var $public; //!< Tell if this is a public or private project @@ -234,7 +234,7 @@ class Project extends CommonObject global $langs, $conf; $error=0; - + // Clean parameters $this->title = trim($this->title); $this->description = trim($this->description); @@ -463,9 +463,9 @@ class Project extends CommonObject function get_element_list($type, $tablename, $datefieldname='', $dates='', $datee='') { $elements = array(); - + if ($this->id <= 0) return $elements; - + if ($type == 'agenda') { $sql = "SELECT id as rowid FROM " . MAIN_DB_PREFIX . "actioncomm WHERE fk_project=" . $this->id; @@ -905,7 +905,7 @@ class Project extends CommonObject if ($moreinpopup) $label.='
    '.$moreinpopup; $linkclose = '" title="'.dol_escape_htmltag($label, 1).'" class="classfortooltip">'; - if ($option != 'nolink') + if ($option != 'nolink') { if (preg_match('/\.php$/',$option)) { $link = 'societe_id; - + $projectsListId = $this->getProjectsAuthorizedForUser($user,$mine?$mine:($user->rights->projet->all->lire?2:0),1,$socid); - + $sql = "SELECT p.rowid, p.fk_statut as status, p.fk_opp_status, p.datee as datee"; $sql.= " FROM (".MAIN_DB_PREFIX."projet as p"; $sql.= ")"; @@ -1626,33 +1626,33 @@ class Project extends CommonObject //if ($socid || ! $user->rights->societe->client->voir) $sql.= " AND (p.fk_soc IS NULL OR p.fk_soc = 0 OR p.fk_soc = ".$socid.")"; if ($socid) $sql.= " AND (p.fk_soc IS NULL OR p.fk_soc = 0 OR p.fk_soc = ".$socid.")"; if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND ((s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id.") OR (s.rowid IS NULL))"; - + $resql=$this->db->query($sql); if ($resql) { $project_static = new Project($this->db); - + $response = new WorkboardResponse(); $response->warning_delay = $conf->projet->warning_delay/60/60/24; $response->label = $langs->trans("OpenedProjects"); if ($user->rights->projet->all->lire) $response->url = DOL_URL_ROOT.'/projet/list.php?search_status=1&mainmenu=project'; else $response->url = DOL_URL_ROOT.'/projet/list.php?mode=mine&search_status=1&mainmenu=project'; $response->img = img_object($langs->trans("Projects"),"project"); - + // This assignment in condition is not a bug. It allows walking the results. while ($obj=$this->db->fetch_object($resql)) { $response->nbtodo++; - + $project_static->statut = $obj->status; $project_static->opp_status = $obj->opp_status; $project_static->datee = $this->db->jdate($obj->datee); - + if ($project_static->hasDelay()) { $response->nbtodolate++; } } - + return $response; } else @@ -1661,8 +1661,8 @@ class Project extends CommonObject return -1; } } - - + + /** * Function used to replace a thirdparty id with another one. * @@ -1679,8 +1679,8 @@ class Project extends CommonObject return CommonObject::commonReplaceThirdparty($db, $origin_id, $dest_id, $tables); } - - + + /** * Charge indicateurs this->nb pour le tableau de bord * @@ -1689,16 +1689,16 @@ class Project extends CommonObject function load_state_board() { global $conf; - + $this->nb=array(); - + $sql = "SELECT count(u.rowid) as nb"; $sql.= " FROM ".MAIN_DB_PREFIX."projet as u"; $sql.= " WHERE"; //$sql.= " WHERE u.fk_statut > 0"; //$sql.= " AND employee != 0"; $sql.= " u.entity IN (".getEntity('projet', 1).")"; - + $resql=$this->db->query($sql); if ($resql) { @@ -1716,8 +1716,8 @@ class Project extends CommonObject return -1; } } - - + + /** * Is the project delayed? * @@ -1726,16 +1726,16 @@ class Project extends CommonObject public function hasDelay() { global $conf; - + if (! ($this->statut == 1)) return false; if (! $this->datee) return false; $now = dol_now(); return $this->datee < ($now - $conf->projet->warning_delay); - } + } + - /** * Charge les informations d'ordre info dans l'objet commande * @@ -1762,27 +1762,88 @@ class Project extends CommonObject $cuser->fetch($obj->fk_user_author); $this->user_creation = $cuser; } - + if ($obj->fk_user_cloture) { $cluser = new User($this->db); $cluser->fetch($obj->fk_user_cloture); $this->user_cloture = $cluser; } - + $this->date_creation = $this->db->jdate($obj->datec); $this->date_modification = $this->db->jdate($obj->datem); $this->date_cloture = $this->db->jdate($obj->datecloture); } - + $this->db->free($result); - + } else { dol_print_error($this->db); } } - + + /** + * Sets object to supplied categories. + * + * Deletes object from existing categories not supplied. + * Adds it to non existing supplied categories. + * Existing categories are left untouch. + * + * @param int[]|int $categories Category or categories IDs + * @param string $type Category type (customer or supplier) + */ + public function setCategories($categories) + { + // Decode type + $type_id = Categorie::TYPE_PROJECT; + $type_text = 'project'; + + + // Handle single category + if (!is_array($categories)) { + $categories = array($categories); + } + + // Get current categories + require_once DOL_DOCUMENT_ROOT . '/categories/class/categorie.class.php'; + $c = new Categorie($this->db); + $existing = $c->containing($this->id, $type_id, 'id'); + + // Diff + if (is_array($existing)) { + $to_del = array_diff($existing, $categories); + $to_add = array_diff($categories, $existing); + } else { + $to_del = array(); // Nothing to delete + $to_add = $categories; + } + + // Process + foreach ($to_del as $del) { + if ($c->fetch($del) > 0) { + $result=$c->del_type($this, $type_text); + if ($result<0) { + $this->errors=$c->errors; + $this->error=$c->error; + return -1; + } + } + } + foreach ($to_add as $add) { + if ($c->fetch($add) > 0) { + $result=$c->add_type($this, $type_text); + if ($result<0) { + $this->errors=$c->errors; + $this->error=$c->error; + return -1; + } + } + } + + return 1; + } + } From cd1f78cd52be893e75426181c2d5bc517d5b0fc2 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Mon, 29 Aug 2016 10:41:14 +0200 Subject: [PATCH 394/476] continur working --- htdocs/categories/class/categorie.class.php | 2 +- htdocs/categories/viewcat.php | 55 +++++++++++++++++++++ htdocs/langs/en_US/categories.lang | 2 +- 3 files changed, 57 insertions(+), 2 deletions(-) diff --git a/htdocs/categories/class/categorie.class.php b/htdocs/categories/class/categorie.class.php index e926611ccd4..9522a45c383 100644 --- a/htdocs/categories/class/categorie.class.php +++ b/htdocs/categories/class/categorie.class.php @@ -125,7 +125,7 @@ class Categorie extends CommonObject 'contact' => 'socpeople', 'user' => 'user', 'account' => 'bank_account', - 'project' => 'project', + 'project' => 'projet', ); public $element='category'; diff --git a/htdocs/categories/viewcat.php b/htdocs/categories/viewcat.php index fdde86ff1f9..4411061e0c0 100644 --- a/htdocs/categories/viewcat.php +++ b/htdocs/categories/viewcat.php @@ -657,6 +657,61 @@ if ($object->type == Categorie::TYPE_ACCOUNT) } } +// List of Project +if ($object->type == Categorie::TYPE_PROJECT) +{ + require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; + + $projects = $object->getObjectsInCateg("project"); + if ($projects < 0) + { + dol_print_error($db, $object->error, $object->errors); + } + else + { + print "
    "; + print "\n"; + print '\n"; + + if (count($projects) > 0) + { + $var=true; + foreach ($projects as $key => $project) + { + $var=!$var; + print "\t\n"; + print '\n"; + print '\n"; + print '\n"; + // Link to delete from category + print '\n"; + } + } + else + { + print ''; + } + print "
    '.$langs->trans("Project")."
    '; + print $project->getNomUrl(1,0); + print "'.$project->ref."'.$project->title."'; + $typeid=$object->type; + $permission=0; + if ($typeid == Categorie::TYPE_PRODUCT) $permission=($user->rights->produit->creer || $user->rights->service->creer); + if ($typeid == Categorie::TYPE_SUPPLIER) $permission=$user->rights->societe->creer; + if ($typeid == Categorie::TYPE_CUSTOMER) $permission=$user->rights->societe->creer; + if ($typeid == Categorie::TYPE_MEMBER) $permission=$user->rights->adherent->creer; + if ($typeid == Categorie::TYPE_ACCOUNT) $permission=$user->rights->banque->configurer; + if ($typeid == Categorie::TYPE_PROJECT) $permission=$user->rights->projet->creer; + if ($permission) + { + print ""; + print img_delete($langs->trans("DeleteFromCat")).' '; + print $langs->trans("DeleteFromCat").""; + } + print "
    '.$langs->trans("ThisCategoryHasNoProject").'
    \n"; + } +} + llxFooter(); $db->close(); diff --git a/htdocs/langs/en_US/categories.lang b/htdocs/langs/en_US/categories.lang index 351a730104f..1008cd5bd68 100644 --- a/htdocs/langs/en_US/categories.lang +++ b/htdocs/langs/en_US/categories.lang @@ -14,7 +14,7 @@ CustomersCategoriesArea=Customers tags/categories area MembersCategoriesArea=Members tags/categories area ContactsCategoriesArea=Contacts tags/categories area AccountsCategoriesArea=Accounts tags/categories area -PeojectCategoriesArea=Projects tags/categories area +ProjectsCategoriesArea=Projects tags/categories area SubCats=Subcategories CatList=List of tags/categories NewCategory=New tag/category From 56f0ffee0b83d0cd4acb81c70eaee5ae73558047 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Mon, 29 Aug 2016 10:47:13 +0200 Subject: [PATCH 395/476] add category entry menu into auguria menu sql --- htdocs/core/menus/init_menu_auguria.sql | 3 +++ 1 file changed, 3 insertions(+) diff --git a/htdocs/core/menus/init_menu_auguria.sql b/htdocs/core/menus/init_menu_auguria.sql index 57270236c64..d78682a57db 100644 --- a/htdocs/core/menus/init_menu_auguria.sql +++ b/htdocs/core/menus/init_menu_auguria.sql @@ -285,6 +285,9 @@ insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, left insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->projet->enabled', __HANDLER__, 'left', 3801__+MAX_llx_menu__, 'project', '', 3800__+MAX_llx_menu__, '/projet/tasks.php?leftmenu=projects&action=create', 'NewTask', 1, 'projects', '$user->rights->projet->creer', '', 2, 1, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->projet->enabled', __HANDLER__, 'left', 3802__+MAX_llx_menu__, 'project', '', 3800__+MAX_llx_menu__, '/projet/tasks/list.php?leftmenu=projects&mode=mine', 'List', 1, 'projects', '$user->rights->projet->lire', '', 2, 2, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->projet->enabled', __HANDLER__, 'left', 3803__+MAX_llx_menu__, 'project', '', 3800__+MAX_llx_menu__, '/projet/activity/perweek.php?leftmenu=projects&mode=mine', 'NewTimeSpent', 1, 'projects', '$user->rights->projet->lire', '', 2, 3, __ENTITY__); +-- Project - Categories +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->categorie->enabled', __HANDLER__, 'left', 3804__+MAX_llx_menu__, 'project', 'cat', 3__+MAX_llx_menu__, '/categories/index.php?leftmenu=cat&type=6', 'Categories', 0, 'categories', '$user->rights->categorie->lire', '', 2, 4, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->categorie->enabled', __HANDLER__, 'left', 3805__+MAX_llx_menu__, 'project', '', 3200__+MAX_llx_menu__, '/categories/card.php?action=create&type=6', 'NewCategory', 1, 'categories', '$user->rights->categorie->creer', '', 2, 0, __ENTITY__); -- Tools insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->mailing->enabled', __HANDLER__, 'left', 3900__+MAX_llx_menu__, 'tools', 'mailing', 8__+MAX_llx_menu__, '/comm/mailing/index.php?leftmenu=mailing', 'EMailings', 0, 'mails', '$user->rights->mailing->lire', '', 0, 0, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->mailing->enabled', __HANDLER__, 'left', 3901__+MAX_llx_menu__, 'tools', '', 3900__+MAX_llx_menu__, '/comm/mailing/card.php?leftmenu=mailing&action=create', 'NewMailing', 1, 'mails', '$user->rights->mailing->creer', '', 0, 0, __ENTITY__); From 90466f37a7264c9880c55127e9a67f98bacf5dc6 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Mon, 29 Aug 2016 11:10:30 +0200 Subject: [PATCH 396/476] travis comment --- htdocs/projet/class/project.class.php | 1 - 1 file changed, 1 deletion(-) diff --git a/htdocs/projet/class/project.class.php b/htdocs/projet/class/project.class.php index 3274f164e75..0e7333708f1 100644 --- a/htdocs/projet/class/project.class.php +++ b/htdocs/projet/class/project.class.php @@ -1792,7 +1792,6 @@ class Project extends CommonObject * Existing categories are left untouch. * * @param int[]|int $categories Category or categories IDs - * @param string $type Category type (customer or supplier) */ public function setCategories($categories) { From 2ba920a4cb18dbdd5dec980d5223b9024f898e02 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 29 Aug 2016 11:33:48 +0200 Subject: [PATCH 397/476] Fix for jmobile --- htdocs/core/search_page.php | 25 ++++++++++++++++--------- htdocs/main.inc.php | 35 ++++++++++++++++++++--------------- 2 files changed, 36 insertions(+), 24 deletions(-) diff --git a/htdocs/core/search_page.php b/htdocs/core/search_page.php index ae1b29a5c48..e3cca7a73c7 100644 --- a/htdocs/core/search_page.php +++ b/htdocs/core/search_page.php @@ -67,51 +67,58 @@ $hookmanager->initHooks(array('searchform')); // Define $searchform $searchform = ''; -// TODO Mutualize code here with function left_menu into main.inc.php page -if ($conf->use_javascript_ajax && 1 == 2) +if ($conf->use_javascript_ajax && 1 == 2) // select2 is ko with jmobile { if (! is_object($form)) $form=new Form($db); $selected=-1; - $searchform.=$form->selectArrayAjax('searchselectcombo', DOL_URL_ROOT.'/core/ajax/selectsearchbox.php', $selected, 'data-role="none"', '', 0, 1, 'vmenusearchselectcombo', 1, $langs->trans("Search"), 0); + $searchform.='

    '.$form->selectArrayAjax('searchselectcombo', DOL_URL_ROOT.'/core/ajax/selectsearchbox.php', $selected, 'data-role="none"', '', 0, 1, 'minwidth300', 1, $langs->trans("Search"), 0); } else { + $conf->global->MAIN_HTML5_PLACEHOLDER = 1; + // Define $searchform if ((( ! empty($conf->societe->enabled) && (empty($conf->global->SOCIETE_DISABLE_PROSPECTS) || empty($conf->global->SOCIETE_DISABLE_CUSTOMERS))) || ! empty($conf->fournisseur->enabled)) && $user->rights->societe->lire) { $langs->load("companies"); - $searchform.=printSearchForm(DOL_URL_ROOT.'/societe/list.php', DOL_URL_ROOT.'/societe/list.php', $langs->trans("ThirdParties"), 'soc', 'sall', 'T', 'searchleftt', img_object('','company')); + $searchform.=printSearchForm(DOL_URL_ROOT.'/societe/list.php', DOL_URL_ROOT.'/societe/list.php', $langs->trans("ThirdParties"), 'soc', 'sall', 'T', 'searchleftt', img_picto('','object_company','', 0, 1)); + //$searchform.=printSearchForm(DOL_URL_ROOT.'/societe/list.php', DOL_URL_ROOT.'/societe/list.php', $langs->trans("ThirdParties"), 'soc', 'sall', 'T', 'searchleftt', 'notitle'); } if (! empty($conf->societe->enabled) && $user->rights->societe->lire) { $langs->load("companies"); - $searchform.=printSearchForm(DOL_URL_ROOT.'/contact/list.php', DOL_URL_ROOT.'/contact/list.php', $langs->trans("Contacts"), 'contact', 'sall', 'A', 'searchleftc', img_object('','contact')); + $searchform.=printSearchForm(DOL_URL_ROOT.'/contact/list.php', DOL_URL_ROOT.'/contact/list.php', $langs->trans("Contacts"), 'contact', 'sall', 'A', 'searchleftc', img_picto('','object_contact','', 0, 1)); + //$searchform.=printSearchForm(DOL_URL_ROOT.'/contact/list.php', DOL_URL_ROOT.'/contact/list.php', $langs->trans("Contacts"), 'contact', 'sall', 'A', 'searchleftc', 'notitle'); } if (((! empty($conf->product->enabled) && $user->rights->produit->lire) || (! empty($conf->service->enabled) && $user->rights->service->lire)) ) { $langs->load("products"); - $searchform.=printSearchForm(DOL_URL_ROOT.'/product/list.php', DOL_URL_ROOT.'/product/list.php', $langs->trans("Products")."/".$langs->trans("Services"), 'products', 'sall', 'P', 'searchleftp', img_object('','product')); + $searchform.=printSearchForm(DOL_URL_ROOT.'/product/list.php', DOL_URL_ROOT.'/product/list.php', $langs->trans("Products")."/".$langs->trans("Services"), 'products', 'sall', 'P', 'searchleftp', img_picto('','object_product','', 0, 1)); + //$searchform.=printSearchForm(DOL_URL_ROOT.'/product/list.php', DOL_URL_ROOT.'/product/list.php', $langs->trans("Products")."/".$langs->trans("Services"), 'products', 'sall', 'P', 'searchleftp', 'notitle'); } if (! empty($conf->projet->enabled) && $user->rights->projet->lire) { $langs->load("projects"); - $searchform.=printSearchForm(DOL_URL_ROOT.'/projet/list.php', DOL_URL_ROOT.'/projet/list.php', $langs->trans("Projects"), 'project', 'search_all', 'Q', 'searchleftproj', img_object('','projectpub')); + $searchform.=printSearchForm(DOL_URL_ROOT.'/projet/list.php', DOL_URL_ROOT.'/projet/list.php', $langs->trans("Projects"), 'project', 'search_all', 'Q', 'searchleftproj', img_picto('','object_projectpub','', 0, 1)); + //$searchform.=printSearchForm(DOL_URL_ROOT.'/projet/list.php', DOL_URL_ROOT.'/projet/list.php', $langs->trans("Projects"), 'project', 'search_all', 'Q', 'searchleftproj', 'notitle'); } if (! empty($conf->adherent->enabled) && $user->rights->adherent->lire) { $langs->load("members"); - $searchform.=printSearchForm(DOL_URL_ROOT.'/adherents/list.php', DOL_URL_ROOT.'/adherents/list.php', $langs->trans("Members"), 'member', 'sall', 'M', 'searchleftm', img_object('','user')); + $searchform.=printSearchForm(DOL_URL_ROOT.'/adherents/list.php', DOL_URL_ROOT.'/adherents/list.php', $langs->trans("Members"), 'member', 'sall', 'M', 'searchleftm', img_picto('','object_user','', 0, 1)); + //$searchform.=printSearchForm(DOL_URL_ROOT.'/adherents/list.php', DOL_URL_ROOT.'/adherents/list.php', $langs->trans("Members"), 'member', 'sall', 'M', 'searchleftm', 'notitle'); } if (! empty($conf->user->enabled) && $user->rights->user->user->lire) { $langs->load("users"); - $searchform.=printSearchForm(DOL_URL_ROOT.'/user/index.php', DOL_URL_ROOT.'/user/index.php', $langs->trans("Users"), 'user', 'sall', 'M', 'searchleftuser', img_object('','user')); + $searchform.=printSearchForm(DOL_URL_ROOT.'/user/index.php', DOL_URL_ROOT.'/user/index.php', $langs->trans("Users"), 'user', 'sall', 'M', 'searchleftuser', img_picto('','object_user','', 0, 1)); + //$searchform.=printSearchForm(DOL_URL_ROOT.'/user/index.php', DOL_URL_ROOT.'/user/index.php', $langs->trans("Users"), 'user', 'sall', 'M', 'searchleftuser', 'notitle'); } } diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index 10c099af44c..5f193404cf3 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -986,13 +986,14 @@ function top_httphead() * * @param string $head Optionnal head lines * @param string $title HTML title - * @param int $disablejs More content into html header - * @param int $disablehead More content into html header + * @param int $disablejs Disable js output + * @param int $disablehead Disable head output * @param array $arrayofjs Array of complementary js files * @param array $arrayofcss Array of complementary css files + * @param int $disablejmobile Disable jmobile * @return void */ -function top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs='', $arrayofcss='') +function top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs='', $arrayofcss='', $disablejmobile=0) { global $user, $conf, $langs, $db; @@ -1065,7 +1066,7 @@ function top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs print ''."\n"; } // jQuery jMobile - if (! empty($conf->global->MAIN_USE_JQUERY_JMOBILE) || defined('REQUIRE_JQUERY_JMOBILE') || ! empty($conf->dol_use_jmobile)) + if (! $disablejmobile && (! empty($conf->global->MAIN_USE_JQUERY_JMOBILE) || defined('REQUIRE_JQUERY_JMOBILE') || ! empty($conf->dol_use_jmobile))) { print ''."\n"; } @@ -1237,7 +1238,7 @@ function top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs print ''."\n"; } // jQuery jMobile - if (! empty($conf->global->MAIN_USE_JQUERY_JMOBILE) || defined('REQUIRE_JQUERY_JMOBILE') || (! empty($conf->dol_use_jmobile) && $conf->dol_use_jmobile > 0)) + if (! $disablejmobile && (! empty($conf->global->MAIN_USE_JQUERY_JMOBILE) || defined('REQUIRE_JQUERY_JMOBILE') || (! empty($conf->dol_use_jmobile) && $conf->dol_use_jmobile > 0))) { // We must force not using ajax because cache of jquery does not load js of other pages. // This also increase seriously speed onto mobile device where complex js code is very slow and memory very low. @@ -1841,20 +1842,24 @@ function printSearchForm($urlaction,$urlobject,$title,$htmlmodesearch,$htmlinput $ret=''; $ret.='
    '; - $ret.=''; + if (empty($conf->global->MAIN_HTML5_PLACEHOLDER)) + { + $ret.=''; + } $ret.=''; $ret.=''; $ret.=''; $ret.='global->MAIN_HTML5_PLACEHOLDER)) $ret.=' style="text-indent: 22px; background-image: url(\''.$img.'\'); background-repeat: no-repeat; background-position: 3px;"'; $ret.=($accesskey?' accesskey="'.$accesskey.'"':''); if (! empty($conf->global->MAIN_HTML5_PLACEHOLDER)) $ret.=' placeholder="'.strip_tags($title).'"'; // Will work only if MAIN_HTML5_PLACEHOLDER is set to 1 else $ret.=' title="'.$langs->trans("SearchOf").''.strip_tags($title).'"'; From 8b959a09f2db26460177550454776c8bcb7bba57 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 29 Aug 2016 16:12:56 +0200 Subject: [PATCH 398/476] Fix missing /form --- htdocs/product/card.php | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/product/card.php b/htdocs/product/card.php index c07a291c539..88eceda8aa9 100644 --- a/htdocs/product/card.php +++ b/htdocs/product/card.php @@ -1516,6 +1516,7 @@ else print ''; print ''; print ' '; + print ''; } else { From cd1a12c686c5349669aada897c304d8a12087e37 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 29 Aug 2016 16:30:31 +0200 Subject: [PATCH 399/476] NEW Can edit a label for each price segment when using several segment prices for products. --- htdocs/admin/translation.php | 2 +- htdocs/product/price.php | 36 ++++++++++++++++++++++++++++++++---- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/htdocs/admin/translation.php b/htdocs/admin/translation.php index 37a9bb77c09..bfd21deee33 100644 --- a/htdocs/admin/translation.php +++ b/htdocs/admin/translation.php @@ -136,7 +136,7 @@ print '
    '; print img_info().' '.$langs->trans("SomeTranslationAreUncomplete"); $urlwikitranslatordoc='https://wiki.dolibarr.org/index.php/Translator_documentation'; print ' ('.$langs->trans("SeeAlso").': '.$urlwikitranslatordoc.')
    '; -print $langs->trans("TranslationOverwriteDesc",$langs->transnoentitiesnoconv("Language"),$langs->transnoentitiesnoconv("Key"),$langs->transnoentitiesnoconv("TranslatedStringToShow"))."
    \n"; +print $langs->trans("TranslationOverwriteDesc",$langs->transnoentitiesnoconv("Language"),$langs->transnoentitiesnoconv("Key"),$langs->transnoentitiesnoconv("NewTranslationStringToShow"))."
    \n"; print '
    '; diff --git a/htdocs/product/price.php b/htdocs/product/price.php index 420fde73839..eabc52337bd 100644 --- a/htdocs/product/price.php +++ b/htdocs/product/price.php @@ -92,6 +92,14 @@ if (empty($reshook)) $search_soc = ''; } + if ($action == 'setlabelsellingprice' && $user->admin) + { + require_once DOL_DOCUMENT_ROOT . '/core/lib/admin.lib.php'; + $keyforlabel = 'PRODUIT_MULTIPRICES_LABEL'.GETPOST('pricelevel'); + dolibarr_set_const($db, $keyforlabel, GETPOST('labelsellingprice','alpha'), 'chaine', 0, '', $conf->entity); + $action = ''; + } + if (($action == 'update_vat') && !$cancel && ($user->rights->produit->creer || $user->rights->service->creer)) { $tva_tx_txt = GETPOST('tva_tx', 'alpha'); // tva_tx can be '8.5' or '8.5*' or '8.5 (XXX)' or '8.5* (XXX)' @@ -661,7 +669,9 @@ if (! empty($conf->global->PRODUIT_MULTIPRICES)) $soc->fetch($socid); // Selling price - print '' . $langs->trans("SellingPrice") . ''; + print ''; + print $langs->trans("SellingPrice"); + print ''; print ''; if ($object->multiprices_base_type[$soc->price_level] == 'TTC') { print price($object->multiprices_ttc[$soc->price_level]); @@ -722,16 +732,34 @@ if (! empty($conf->global->PRODUIT_MULTIPRICES)) print ''; } - print ''.$langs->trans("PriceLevel").''.$langs->trans("SellingPrice").''.$langs->trans("MinPrice").''; + print ''; + print $langs->trans("PriceLevel"); + if ($user->admin) print ' id.'">'.img_edit($langs->trans('EditSellingPriceLabel'),0).''; + print ''.$langs->trans("SellingPrice").''.$langs->trans("MinPrice").''; for($i = 1; $i <= $conf->global->PRODUIT_MULTIPRICES_LIMIT; $i++) { print ''; // Label of price - print '' . $langs->trans("SellingPrice") . ' ' . $i; + print ''; $keyforlabel='PRODUIT_MULTIPRICES_LABEL'.$i; - if (! empty($conf->global->$keyforlabel)) print ' - '.$langs->trans($conf->global->$keyforlabel); + if (preg_match('/editlabelsellingprice/', $action)) + { + print '
    '; + print ''; + print ''; + print ''; + print $langs->trans("SellingPrice") . ' ' . $i.' - '; + print ''; + print ' '; + print '
    '; + } + else + { + print $langs->trans("SellingPrice") . ' ' . $i; + if (! empty($conf->global->$keyforlabel)) print ' - '.$langs->trans($conf->global->$keyforlabel); + } print ''; if ($object->multiprices_base_type [$i] == 'TTC') { From 9c1ba67169abcb538d12b1a9160d72c3a9685824 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 29 Aug 2016 16:40:51 +0200 Subject: [PATCH 400/476] Fix css --- htdocs/compta/facture/fiche-rec.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/compta/facture/fiche-rec.php b/htdocs/compta/facture/fiche-rec.php index de76577e78b..ed202206ba7 100644 --- a/htdocs/compta/facture/fiche-rec.php +++ b/htdocs/compta/facture/fiche-rec.php @@ -1002,7 +1002,7 @@ else if ($action == 'ask_deleteline') { $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id . '&lineid=' . $lineid, $langs->trans('DeleteProductLine'), $langs->trans('ConfirmDeleteProductLine'), 'confirm_deleteline', '', 'no', 1); } - + print $formconfirm; $author = new User($db); @@ -1160,7 +1160,7 @@ else print ''; // if "frequency" is empty or = 0, the reccurence is disabled - print ''; print ''; - print ''; - print ''; + print ''; print '"; print ""; @@ -349,7 +348,6 @@ while($j<$numlt) print ''; print_liste_field_titre($langs->trans("PeriodEndDate"),$_SERVER["PHP_SELF"],"pv.datev","",$param,'width="120"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Label"),$_SERVER["PHP_SELF"],"pv.label","",$param,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("ExpectedToPay"),$_SERVER["PHP_SELF"],"pv.amount","",$param,'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("RefPayment"),$_SERVER["PHP_SELF"],"pv.rowid","",$param,'',$sortfield,$sortorder); print_liste_field_titre($langs->trans("DatePayment"),$_SERVER["PHP_SELF"],"pv.datep","",$param,'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("PayedByThisPayment"),$_SERVER["PHP_SELF"],"pv.amount","",$param,'align="right"',$sortfield,$sortorder); @@ -367,8 +365,6 @@ while($j<$numlt) print "\n"; - print '"; - // Ref payment $tva_static->id=$obj->rowid; $tva_static->ref=$obj->rowid; @@ -380,10 +376,7 @@ while($j<$numlt) $i++; } - print ''; - print '"; - print ''; - print ''; + print ''; print '"; print ""; @@ -431,7 +424,6 @@ if (! empty($conf->salaries->enabled) && $user->rights->salaries->read) print ''; print_liste_field_titre($langs->trans("PeriodEndDate"),$_SERVER["PHP_SELF"],"s.dateep","",$param,'width="140px"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Label"),$_SERVER["PHP_SELF"],"s.label","",$param,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("ExpectedToPay"),$_SERVER["PHP_SELF"],"s.amount","",$param,'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("RefPayment"),$_SERVER["PHP_SELF"],"s.rowid","",$param,'',$sortfield,$sortorder); print_liste_field_titre($langs->trans("DatePayment"),$_SERVER["PHP_SELF"],"s.datep","",$param,'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("PayedByThisPayment"),$_SERVER["PHP_SELF"],"s.amount","",$param,'align="right"',$sortfield,$sortorder); @@ -450,8 +442,6 @@ if (! empty($conf->salaries->enabled) && $user->rights->salaries->read) print "\n"; - print '"; - // Ref payment $sal_static->id=$obj->rowid; $sal_static->ref=$obj->rowid; @@ -463,10 +453,7 @@ if (! empty($conf->salaries->enabled) && $user->rights->salaries->read) $i++; } - print ''; - print ''; // A total here has no sense - print ''; - print ''; + print ''; print '"; print ""; diff --git a/htdocs/compta/salaries/index.php b/htdocs/compta/salaries/index.php index f279e97b478..f83499e0cd7 100644 --- a/htdocs/compta/salaries/index.php +++ b/htdocs/compta/salaries/index.php @@ -1,7 +1,7 @@ - * Copyright (C) 2015-2016 Laurent Destailleur - * Copyright (C) 2015 Jean-François Ferry +/* Copyright (C) 2011-2016 Alexandre Spangaro + * Copyright (C) 2015-2016 Laurent Destailleur + * Copyright (C) 2015 Jean-François Ferry * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -145,8 +145,7 @@ if ($result) print '
    '; + print '
    '; print ''; @@ -1263,7 +1263,7 @@ else print '
    '; print $langs->trans('Frequency'); print '
    '; // Nb of generation already done - print ''; + print ''; print ''; From c49c23df3db8cc08b639ef66e062035a28435b7a Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 29 Aug 2016 17:30:54 +0200 Subject: [PATCH 401/476] Fix debug project categories --- htdocs/categories/class/categorie.class.php | 4 ++-- htdocs/install/mysql/migration/4.0.0-5.0.0.sql | 18 +++++++++++++++++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/htdocs/categories/class/categorie.class.php b/htdocs/categories/class/categorie.class.php index 9522a45c383..e1a17798e25 100644 --- a/htdocs/categories/class/categorie.class.php +++ b/htdocs/categories/class/categorie.class.php @@ -458,7 +458,7 @@ class Categorie extends CommonObject $this->db->begin(); - /* FIX #1317 : Check for child cat and move up 1 level*/ + /* FIX #1317 : Check for child category and move up 1 level*/ if (! $error) { $sql = "UPDATE ".MAIN_DB_PREFIX."categorie"; @@ -524,7 +524,7 @@ class Categorie extends CommonObject if (! $error) { $sql = "DELETE FROM ".MAIN_DB_PREFIX."categorie_project"; - $sql .= " WHERE fk_category = ".$this->id; + $sql .= " WHERE fk_categorie = ".$this->id; if (!$this->db->query($sql)) { $this->error=$this->db->lasterror(); diff --git a/htdocs/install/mysql/migration/4.0.0-5.0.0.sql b/htdocs/install/mysql/migration/4.0.0-5.0.0.sql index 7740c6dc28f..482880c5082 100644 --- a/htdocs/install/mysql/migration/4.0.0-5.0.0.sql +++ b/htdocs/install/mysql/migration/4.0.0-5.0.0.sql @@ -46,4 +46,20 @@ ALTER TABLE llx_notify ADD COLUMN type_target varchar(16) NULL; ALTER TABLE llx_entrepot DROP COLUMN valo_pmp; ALTER TABLE llx_notify_def MODIFY COLUMN fk_soc integer NULL; --- VPGSQL8.2 ALTER TABLE llx_notify_def ALTER COLUMN fk_soc SET DEFAULT NULL; \ No newline at end of file +-- VPGSQL8.2 ALTER TABLE llx_notify_def ALTER COLUMN fk_soc SET DEFAULT NULL; + + +create table llx_categorie_project +( + fk_categorie integer NOT NULL, + fk_project integer NOT NULL, + import_key varchar(14) +)ENGINE=innodb; + +ALTER TABLE llx_categorie_project ADD PRIMARY KEY pk_categorie_project (fk_categorie, fk_project); +ALTER TABLE llx_categorie_project ADD INDEX idx_categorie_project_fk_categorie (fk_categorie); +ALTER TABLE llx_categorie_project ADD INDEX idx_categorie_project_fk_project (fk_project); + +ALTER TABLE llx_categorie_project ADD CONSTRAINT fk_categorie_project_categorie_rowid FOREIGN KEY (fk_categorie) REFERENCES llx_categorie (rowid); +ALTER TABLE llx_categorie_project ADD CONSTRAINT fk_categorie_project_fk_project_rowid FOREIGN KEY (fk_project) REFERENCES llx_projet (rowid); + From 13f61f2a6337e50e16897d7b91e3db1c8bff975e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 29 Aug 2016 17:36:18 +0200 Subject: [PATCH 402/476] Fix css --- htdocs/categories/edit.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/categories/edit.php b/htdocs/categories/edit.php index 715547c3311..d746ac93218 100644 --- a/htdocs/categories/edit.php +++ b/htdocs/categories/edit.php @@ -1,6 +1,6 @@ - * Copyright (C) 2006-2010 Laurent Destailleur + * Copyright (C) 2006-2016 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2007 Patrick Raguin * @@ -147,7 +147,7 @@ dol_fiche_head(''); print '
    '.$langs->trans("NbOfGenerationDone").'
    '.$langs->trans("NbOfGenerationDone").''; print $object->nb_gen_done?$object->nb_gen_done:'0'; print '
    '; // Ref -print ''; print ''; From 867525cc91ce9037fad7a5fdb9fb7314a1bcd56f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 29 Aug 2016 17:50:31 +0200 Subject: [PATCH 403/476] Fix missing migration instructions --- htdocs/install/mysql/migration/4.0.0-5.0.0.sql | 2 ++ 1 file changed, 2 insertions(+) diff --git a/htdocs/install/mysql/migration/4.0.0-5.0.0.sql b/htdocs/install/mysql/migration/4.0.0-5.0.0.sql index 482880c5082..8aa67dedbce 100644 --- a/htdocs/install/mysql/migration/4.0.0-5.0.0.sql +++ b/htdocs/install/mysql/migration/4.0.0-5.0.0.sql @@ -63,3 +63,5 @@ ALTER TABLE llx_categorie_project ADD INDEX idx_categorie_project_fk_project (fk ALTER TABLE llx_categorie_project ADD CONSTRAINT fk_categorie_project_categorie_rowid FOREIGN KEY (fk_categorie) REFERENCES llx_categorie (rowid); ALTER TABLE llx_categorie_project ADD CONSTRAINT fk_categorie_project_fk_project_rowid FOREIGN KEY (fk_project) REFERENCES llx_projet (rowid); +ALTER TABLE llx_societe_remise_except ADD COLUMN entity integer DEFAULT 1 NOT NULL after rowid; + From 99246ecfbaa4ca76d8223389b0d8b1c7b760adbb Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 29 Aug 2016 17:58:55 +0200 Subject: [PATCH 404/476] Fix css --- htdocs/theme/eldy/style.css.php | 4 ++-- htdocs/theme/md/style.css.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index 7fbd4a353d3..cad2c53e4b8 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -4093,8 +4093,8 @@ dl.dropdown { margin-right: 3px; } .dropdown dd ul li a, .dropdown dd ul li span { - padding:5px; - display:block; + padding: 3px; + display: block; } .dropdown dd ul li span { color: #888; diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php index 34951b80d5c..c77a131e7a7 100644 --- a/htdocs/theme/md/style.css.php +++ b/htdocs/theme/md/style.css.php @@ -3993,8 +3993,8 @@ dl.dropdown { margin-right: 3px; } .dropdown dd ul li a, .dropdown dd ul li span { - padding:5px; - display:block; + padding: 3px; + display: block; } .dropdown dd ul li span { color: #888; From fbdbad0d7c7f48a37ef2aeec8638945d715ec515 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 29 Aug 2016 18:04:21 +0200 Subject: [PATCH 405/476] More space on dropdown --- htdocs/main.inc.php | 2 +- htdocs/theme/eldy/style.css.php | 1 + htdocs/theme/md/style.css.php | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index 906e44fce72..095817015c1 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -1940,7 +1940,7 @@ if (! function_exists("llxFooter")) //console.log($(this).parent().parent().find(\'dd ul\')); $(this).parent().parent().find(\'dd ul\').slideToggle(\'fast\'); // Note: Did not find a way to get exact height (value is update at exit) so i calculate a generic from nb of lines - heigthofcontent = 19 * $(this).parent().parent().find(\'dd div ul li\').length; + heigthofcontent = 21 * $(this).parent().parent().find(\'dd div ul li\').length; if (heigthofcontent > 300) heigthofcontent = 300; // limited by max-height on css .dropdown dd ul posbottom = $(this).parent().parent().find(\'dd\').offset().top + heigthofcontent + 8; //console.log(posbottom); diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index cad2c53e4b8..eba8130a3ef 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -4088,6 +4088,7 @@ dl.dropdown { .dropdown dd ul li { white-space: nowrap; font-weight: normal; + padding: 2px; } .dropdown dd ul li input[type="checkbox"] { margin-right: 3px; diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php index c77a131e7a7..d4eaacbdc48 100644 --- a/htdocs/theme/md/style.css.php +++ b/htdocs/theme/md/style.css.php @@ -3988,6 +3988,7 @@ dl.dropdown { .dropdown dd ul li { white-space: nowrap; font-weight: normal; + padding: 2px; } .dropdown dd ul li input[type="checkbox"] { margin-right: 3px; From 6b7d509e441d8976bfa37395a46b8f8e4f21b27f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 29 Aug 2016 18:12:53 +0200 Subject: [PATCH 406/476] Fix css --- htdocs/compta/facture/fiche-rec.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/compta/facture/fiche-rec.php b/htdocs/compta/facture/fiche-rec.php index ed202206ba7..10e542acf1d 100644 --- a/htdocs/compta/facture/fiche-rec.php +++ b/htdocs/compta/facture/fiche-rec.php @@ -1640,7 +1640,7 @@ else $i++; } } - else print ''; + else print ''; print "
    '; +print '
    '; print $langs->trans("Ref").''; print '
    '.$langs->trans("NoneF").'
    '.$langs->trans("NoneF").'
    "; $db->free($resql); From 98eb3fec5a828d964561a163056a9f12355cd7df Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 29 Aug 2016 21:07:36 +0200 Subject: [PATCH 407/476] Fix avoid migration when already migrated --- htdocs/install/upgrade2.php | 45 ++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 20 deletions(-) diff --git a/htdocs/install/upgrade2.php b/htdocs/install/upgrade2.php index 6167510e527..8db34216f18 100644 --- a/htdocs/install/upgrade2.php +++ b/htdocs/install/upgrade2.php @@ -403,28 +403,33 @@ if (! GETPOST("action") || preg_match('/upgrade/i',GETPOST('action'))) $beforeversionarray=explode('.','4.0.9'); if (versioncompare($versiontoarray,$afterversionarray) >= 0 && versioncompare($versiontoarray,$beforeversionarray) <= 0) { - // Migrate to add entity value into llx_societe_remise - migrate_remise_entity($db,$langs,$conf); - - // Migrate to add entity value into llx_societe_remise_except - migrate_remise_except_entity($db,$langs,$conf); - migrate_directories($db,$langs,$conf,'/fckeditor','/medias'); - - // Reload modules (this must be always and only into last targeted version) - $listofmodule=array( - 'MAIN_MODULE_BARCODE'=>'newboxdefonly', - 'MAIN_MODULE_CRON'=>'newboxdefonly', - 'MAIN_MODULE_FACTURE'=>'newboxdefonly', - 'MAIN_MODULE_PRINTING'=>'newboxdefonly', - ); - migrate_reload_modules($db,$langs,$conf,$listofmodule); - - // Reload menus (this must be always and only into last targeted version) - migrate_reload_menu($db,$langs,$conf,$versionto); } - + // Scripts for last version + $afterversionarray=explode('.','4.0.9'); + $beforeversionarray=explode('.','5.0.9'); + if (versioncompare($versiontoarray,$afterversionarray) >= 0 && versioncompare($versiontoarray,$beforeversionarray) <= 0) + { + // Migrate to add entity value into llx_societe_remise + migrate_remise_entity($db,$langs,$conf); + + // Migrate to add entity value into llx_societe_remise_except + migrate_remise_except_entity($db,$langs,$conf); + + // Reload modules (this must be always and only into last targeted version) + $listofmodule=array( + 'MAIN_MODULE_BARCODE'=>'newboxdefonly', + 'MAIN_MODULE_CRON'=>'newboxdefonly', + 'MAIN_MODULE_FACTURE'=>'newboxdefonly', + 'MAIN_MODULE_PRINTING'=>'newboxdefonly', + ); + migrate_reload_modules($db,$langs,$conf,$listofmodule); + + // Reload menus (this must be always and only into last targeted version) + migrate_reload_menu($db,$langs,$conf,$versionto); + } + // Can force activation of some module during migration with third paramater = MAIN_MODULE_XXX,MAIN_MODULE_YYY,... if ($enablemodules) { @@ -3688,7 +3693,7 @@ function migrate_remise_entity($db,$langs,$conf) $sqlSelect = "SELECT sr.rowid, s.entity"; $sqlSelect.= " FROM ".MAIN_DB_PREFIX."societe_remise as sr, ".MAIN_DB_PREFIX."societe as s"; - $sqlSelect.= " WHERE sr.fk_soc = s.rowid"; + $sqlSelect.= " WHERE sr.fk_soc = s.rowid and sr.entity != s.entity"; //print $sqlSelect; From 5eb0e4ad875d43fc9b91a836b07f8fcf8103f59f Mon Sep 17 00:00:00 2001 From: aspangaro Date: Mon, 29 Aug 2016 21:14:11 +0200 Subject: [PATCH 408/476] Fix: Presentation on salaries payment index --- htdocs/compta/charges/index.php | 19 +++---------------- htdocs/compta/salaries/index.php | 19 +++++++------------ 2 files changed, 10 insertions(+), 28 deletions(-) diff --git a/htdocs/compta/charges/index.php b/htdocs/compta/charges/index.php index 3f794491566..d02d78b01bb 100644 --- a/htdocs/compta/charges/index.php +++ b/htdocs/compta/charges/index.php @@ -280,8 +280,7 @@ if (! empty($conf->tax->enabled) && $user->rights->tax->charges->lire) } print '
    '.$langs->trans("Total").''.price($total).'   '.price($total)."
    ".$obj->label."'.price($obj->amount)."
    '.$langs->trans("Total").''.price($total)."  
    '.$langs->trans("Total").''.price($total)."
    ".$obj->label."'.($obj->salary?price($obj->salary):'')."
    '.$langs->trans("Total").'  
    '.$langs->trans("Total").''.price($total)."
    '; print ''; print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"s.rowid","",$param,"",$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Person"),$_SERVER["PHP_SELF"],"u.rowid","",$param,"",$sortfield,$sortorder); - print_liste_field_titre($langs->trans("ExpectedToPay"),$_SERVER["PHP_SELF"],"s.salary","",$param,"",$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Employee"),$_SERVER["PHP_SELF"],"u.rowid","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("Label"),$_SERVER["PHP_SELF"],"s.label","",$param,'align="left"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("DatePayment"),$_SERVER["PHP_SELF"],"s.datep","",$param,'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("PaymentMode"),$_SERVER["PHP_SELF"],"type","",$param,'align="left"',$sortfield,$sortorder); @@ -159,12 +158,10 @@ if ($result) print ''; - // People + // Employee print ''; - // Current salary - print ''; // Label print ''; // Date @@ -200,10 +197,8 @@ if ($result) $salstatic->ref=$obj->rowid; // Ref print "\n"; - // User name + // Employee print "\n"; - // Current salary - print "\n"; // Label payment print "\n"; // Date payment @@ -220,7 +215,7 @@ if ($result) $i++; } - print ''; + print ''; print '"; print ""; From d6d474f10d7ef1383dc245fd8bfc6ce41c4fb314 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 29 Aug 2016 21:31:27 +0200 Subject: [PATCH 409/476] Clean code for category management. --- htdocs/adherents/class/adherent.class.php | 8 +- htdocs/categories/card.php | 28 +- htdocs/categories/categorie.php | 832 ---------------------- htdocs/core/lib/company.lib.php | 11 - htdocs/product/class/product.class.php | 4 +- htdocs/societe/class/societe.class.php | 12 +- 6 files changed, 12 insertions(+), 883 deletions(-) delete mode 100644 htdocs/categories/categorie.php diff --git a/htdocs/adherents/class/adherent.class.php b/htdocs/adherents/class/adherent.class.php index 7604c4fe02c..5c950b06e13 100644 --- a/htdocs/adherents/class/adherent.class.php +++ b/htdocs/adherents/class/adherent.class.php @@ -1580,7 +1580,7 @@ class Adherent extends CommonObject $linkclose = '" title="'.dol_escape_htmltag($label, 1).'" class="classfortooltip">'; $link=''; $linkend=''; - if ($option == 'card') + if ($option == 'card' || $option == 'category') { $link = ''; } - if ($option == 'category') - { - $type = Categorie::TYPE_MEMBER; - $link = 'rights->categorie->creer) header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idMemberOrigin.'&type='.$type); exit; } - else if ($idCatOrigin) - { - header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idCatOrigin.'&type='.$type); - exit; - } else if ($idContactOrigin) { header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idContactOrigin.'&type='.$type); @@ -179,37 +174,32 @@ if (($action == 'add' || $action == 'confirmed') && $user->rights->categorie->cr } else if ($idProdOrigin) { - header("Location: ".DOL_URL_ROOT.'/categories/categorie.php?id='.$idProdOrigin.'&mesg='.urlencode($langs->trans("CatCreated"))); + header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idProdOrigin.'&type='.$type.'&mesg='.urlencode($langs->trans("CatCreated"))); exit; } else if ($idCompanyOrigin) { - header("Location: ".DOL_URL_ROOT.'/categories/categorie.php?socid='.$idCompanyOrigin.'&mesg='.urlencode($langs->trans("CatCreated"))); + header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idCompanyOrigin.'&type='.$type.'&mesg='.urlencode($langs->trans("CatCreated"))); exit; } else if ($idSupplierOrigin) { - header("Location: ".DOL_URL_ROOT.'/categories/categorie.php?socid='.$idSupplierOrigin.'&mesg='.urlencode($langs->trans("CatCreated"))); + header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idSupplierOrigin.'&type='.$type.'&mesg='.urlencode($langs->trans("CatCreated"))); exit; } else if ($idMemberOrigin) { - header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idMemberOrigin.'&type='.$type); - exit; - } - else if ($idCatOrigin) - { - header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idCatOrigin.'&mesg='.urlencode($langs->trans("CatCreated"))); + header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idMemberOrigin.'&type='.$type.'&mesg='.urlencode($langs->trans("CatCreated"))); exit; } else if ($idContactOrigin) { - header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idContactOrigin.'&mesg='.urlencode($langs->trans("CatCreated"))); + header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idContactOrigin.'&type='.$type.'&mesg='.urlencode($langs->trans("CatCreated"))); exit; } else if ($idProjectOrigin) { - header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idProjectOrigin.'&mesg='.urlencode($langs->trans("CatCreated"))); + header("Location: ".DOL_URL_ROOT.'/categories/viewcat.php?id='.$idProjectOrigin.'&type='.$type.'&mesg='.urlencode($langs->trans("CatCreated"))); exit; } diff --git a/htdocs/categories/categorie.php b/htdocs/categories/categorie.php deleted file mode 100644 index f472570f308..00000000000 --- a/htdocs/categories/categorie.php +++ /dev/null @@ -1,832 +0,0 @@ - - * Copyright (C) 2005 Brice Davoleau - * Copyright (C) 2005-2012 Regis Houssin - * Copyright (C) 2006-2015 Laurent Destailleur - * Copyright (C) 2007 Patrick Raguin - * Copyright (C) 2010 Juanjo Menent - * Copyright (C) 2013 Florian Henry - * Copyright (C) 2015 Raphaël Doursenaud - * Copyright (C) 2015 Marcos García - * - * 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 . - */ - -/** - * \file htdocs/categories/categorie.php - * \ingroup category - * \brief Page to show category tab - */ - -require '../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; - -$langs->load("categories"); -$langs->load("products"); - -$socid = GETPOST('socid','int'); -$id = GETPOST('id','int'); -$ref = GETPOST('ref'); -$type = GETPOST('type'); - -$removecat = GETPOST('removecat','int'); -$parent=GETPOST('parent','int'); - -$dbtablename = ''; - - -// For categories on third parties -if (! empty($socid)) $id = $socid; -if (! isset($type)) $type = Categorie::TYPE_PRODUCT; -if ($type == Categorie::TYPE_SUPPLIER || $type == Categorie::TYPE_CUSTOMER) $socid = $id; - -if ($id || $ref) -{ - if ($type == Categorie::TYPE_PRODUCT) { - $elementtype = 'product'; - $objecttype = 'produit|service&categorie'; - $objectid = isset($id)?$id:(isset($ref)?$ref:''); - $dbtablename = 'product'; - $fieldid = isset($ref)?'ref':'rowid'; - } - elseif ($type == Categorie::TYPE_SUPPLIER) { - $elementtype = 'fournisseur'; - $objecttype = 'societe&categorie'; - $objectid = isset($id)?$id:(isset($socid)?$socid:''); - $dbtablename = '&societe'; - $fieldid = 'rowid'; - } - elseif ($type == Categorie::TYPE_CUSTOMER) { - $elementtype = 'societe'; - $objecttype = 'societe&categorie'; - $objectid = isset($id)?$id:(isset($socid)?$socid:''); - $dbtablename = '&societe'; - $fieldid = 'rowid'; - } - elseif ($type == Categorie::TYPE_MEMBER) { - $elementtype = 'member'; - $objecttype = 'adherent&categorie'; - $objectid = isset($id)?$id:(isset($ref)?$ref:''); - $dbtablename = 'adherent'; - $fieldid = ! empty($ref)?'ref':'rowid'; - } - elseif ($type == Categorie::TYPE_CONTACT) { - $elementtype = 'societe'; - $objecttype = 'contact'; - $objectid = isset($id)?$id:(isset($ref)?$ref:''); - $dbtablename = 'socpeople&societe'; - $fieldid = ! empty($ref)?'ref':'rowid'; - } - elseif ($type == Categorie::TYPE_PROJECT) { - $elementtype = 'project'; - $objecttype = 'project'; - $objectid = isset($id)?$id:(isset($ref)?$ref:''); - $dbtablename = '&project'; - $fieldid = ! empty($ref)?'ref':'rowid'; - } -} - -// Security check -if ($user->societe_id) $socid=$user->societe_id; -$result = restrictedArea($user,$objecttype,$objectid,$dbtablename,'','',$fieldid); - -// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array -$hookmanager->initHooks(array('categorycard','globalcard')); - - -/* - * Actions - */ - -$parameters=array('id'=>$socid); -$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks -if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); - -if (empty($reshook)) -{ - // Remove element from category - if ($removecat > 0) - { - if ($type == Categorie::TYPE_PRODUCT && ($user->rights->produit->creer || $user->rights->service->creer)) - { - require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; - $object = new Product($db); - $result = $object->fetch($id, $ref); - $elementtype = 'product'; - } - if ($type == Categorie::TYPE_SUPPLIER && $user->rights->societe->creer) - { - require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php'; - $object = new Fournisseur($db); - $result = $object->fetch($objectid); - $elementtype = 'fournisseur'; - } - if ($type == Categorie::TYPE_CUSTOMER && $user->rights->societe->creer) - { - $object = new Societe($db); - $result = $object->fetch($objectid); - $elementtype = 'societe'; - } - if ($type == Categorie::TYPE_MEMBER && $user->rights->adherent->creer) - { - require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php'; - $object = new Adherent($db); - $result = $object->fetch($objectid); - $elementtype = 'member'; - } - if ($type == Categorie::TYPE_CONTACT && $user->rights->societe->creer) - { - require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; - $object = new Contact($db); - $result = $object->fetch($objectid); - $elementtype = 'contact'; - } - if ($type == Categorie::TYPE_PROJECT && $user->rights->projet->creer) - { - require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; - $object = new Project($db); - $result = $object->fetch($objectid); - $elementtype = 'project'; - } - $cat = new Categorie($db); - $result=$cat->fetch($removecat); - - $result=$cat->del_type($object,$elementtype); - if ($result < 0) - { - setEventMessages($cat->error, $cat->errors, 'errors'); - } - } - - // Add object into a category - if ($parent > 0) - { - if ($type == Categorie::TYPE_PRODUCT && ($user->rights->produit->creer || $user->rights->service->creer)) - { - require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; - $object = new Product($db); - $result = $object->fetch($id, $ref); - $elementtype = 'product'; - } - if ($type == Categorie::TYPE_SUPPLIER && $user->rights->societe->creer) - { - require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php'; - $object = new Fournisseur($db); - $result = $object->fetch($objectid); - $elementtype = 'fournisseur'; - } - if ($type == Categorie::TYPE_CUSTOMER && $user->rights->societe->creer) - { - $object = new Societe($db); - $result = $object->fetch($objectid); - $elementtype = 'societe'; - } - if ($type == Categorie::TYPE_MEMBER && $user->rights->adherent->creer) - { - require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php'; - $object = new Adherent($db); - $result = $object->fetch($objectid); - $elementtype = 'member'; - } - if ($type == Categorie::TYPE_CONTACT && $user->rights->societe->creer) - { - require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; - $object = new Contact($db); - $result = $object->fetch($objectid); - $elementtype = 'contact'; - } - if ($type == Categorie::TYPE_PROJECT && $user->rights->projet->creer) - { - require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; - $object = new Project($db); - $result = $object->fetch($objectid); - $elementtype = 'project'; - } - $cat = new Categorie($db); - $result=$cat->fetch($parent); - - $result=$cat->add_type($object,$elementtype); - if ($result >= 0) - { - setEventMessages($langs->trans("WasAddedSuccessfully",$cat->label), null, 'mesgs'); - } - else - { - if ($cat->error == 'DB_ERROR_RECORD_ALREADY_EXISTS') - { - setEventMessages($langs->trans("ObjectAlreadyLinkedToCategory"), null, 'warnings'); - } - else - { - setEventMessages($cat->error, $cat->errors, 'errors'); - } - } - } -} - - -/* - * View - */ - -$form = new Form($db); - - -/* - * Fiche categorie de client et/ou fournisseur - */ -if ($socid) -{ - require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; - require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; - - $langs->load("companies"); - if (! empty($conf->notification->enabled)) $langs->load("mails"); - - $soc = new Societe($db); - $result = $soc->fetch($socid); - - $title=$langs->trans("Category"); - if (! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/thirdpartynameonly/',$conf->global->MAIN_HTML_TITLE) && $object->name) $title=$soc->name." - ".$title; - llxHeader("",$title); - - // Show tabs - $head = societe_prepare_head($soc); - - dol_fiche_head($head, 'category', $langs->trans("ThirdParty"),0,'company'); - - print '
    '; print ''; print ''; print ''; print ' ".$salstatic->getNomUrl(1)."".$userstatic->getNomUrl(1)."".($obj->salary?price($obj->salary):'')."".dol_trunc($obj->label,40)."
    '.$langs->trans("Total").'
    '.$langs->trans("Total").''.price($total)."
    '; - - print ''; - - // Alias names (commercial, trademark or alias names) - print '"; - - if (! empty($conf->global->SOCIETE_USEPREFIX)) // Old not used prefix field - { - print ''; - } - - if ($soc->client) - { - print ''; - } - - if ($soc->fournisseur) - { - print ''; - } - - if (! empty($conf->barcode->enabled)) - { - print ''; - } - - // Address - print ''; - - // Zip / Town - print '"; - print '"; - - // Country - if ($soc->country) - { - print ''; - } - - // EMail - print ''; - - // Web - print ''; - - // Phone - print ''; - print ''; - - print '
    '.$langs->trans("ThirdPartyName").''; - print $form->showrefnav($soc,'socid','',($user->societe_id?0:1),'rowid','nom','','&type='.$type); - print '
    '.$langs->trans('AliasNames').''; - print $soc->name_alias; - print "
    '.$langs->trans('Prefix').''.$soc->prefix_comm.'
    '; - print $langs->trans('CustomerCode').''; - print $soc->code_client; - if ($soc->check_codeclient() <> 0) print ' ('.$langs->trans("WrongCustomerCode").')'; - print '
    '; - print $langs->trans('SupplierCode').''; - print $soc->code_fournisseur; - if ($soc->check_codefournisseur() <> 0) print ' ('.$langs->trans("WrongSupplierCode").')'; - print '
    '.$langs->trans('Gencod').''.$soc->barcode.'
    '.$langs->trans('Address').''; - dol_print_address($soc->address,'gmap','thirdparty',$soc->id); - print '
    '.$langs->trans('Zip').''.$soc->zip."'.$langs->trans('Town').''.$soc->town."
    '.$langs->trans('Country').''; - //$img=picto_from_langcode($soc->country_code); - $img=''; - print ($img?$img.' ':''); - print $soc->country; - print '
    '.$langs->trans('EMail').''; - print dol_print_email($soc->email,0,$soc->id,'AC_EMAIL'); - print '
    '.$langs->trans('Web').''; - print dol_print_url($soc->url); - print '
    '.$langs->trans('Phone').''.dol_print_phone($soc->phone,$soc->country_code,0,$soc->id,'AC_TEL').''.$langs->trans('Fax').''.dol_print_phone($soc->fax,$soc->country_code,0,$soc->id,'AC_FAX').'
    '; - - dol_fiche_end(); - - if ($soc->client) formCategory($db,$soc,2,$socid,$user->rights->societe->creer); - - if ($soc->client && $soc->fournisseur) print '

    '; - - if ($soc->fournisseur) formCategory($db,$soc,1,$socid,$user->rights->societe->creer); -} -else if ($id || $ref) -{ - if ($type == Categorie::TYPE_PRODUCT) - { - $langs->load("products"); - - /* - * Category card for product - */ - require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php'; - require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; - - // Product - $product = new Product($db); - $result = $product->fetch($id, $ref); - - llxHeader("","",$langs->trans("CardProduct".$product->type)); - - - $head=product_prepare_head($product); - $titre=$langs->trans("CardProduct".$product->type); - $picto=($product->type== Product::TYPE_SERVICE?'service':'product'); - dol_fiche_head($head, 'category', $titre,0,$picto); - - - print ''; - - // Ref - print ""; - print ''; - print ''; - - // Label - print ''; - print ''; - - // Status (to sell) - print ''; - - // Status (to buy) - print ''; - - print '
    '.$langs->trans("Ref").''; - print $form->showrefnav($product,'ref','',1,'ref'); - print '
    '.$langs->trans("Label").''.$product->label.'
    '.$langs->trans("Status").' ('.$langs->trans("Sell").')'; - print $product->getLibStatut(2,0); - print '
    '.$langs->trans("Status").' ('.$langs->trans("Buy").')'; - print $product->getLibStatut(2,1); - print '
    '; - - dol_fiche_end(); - - formCategory($db,$product,0,$socid,($user->rights->produit->creer || $user->rights->service->creer)); - } - - if ($type == Categorie::TYPE_MEMBER) - { - $langs->load("members"); - - /* - * Category card for member - */ - require_once DOL_DOCUMENT_ROOT.'/core/lib/member.lib.php'; - require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php'; - require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent_type.class.php'; - - // Produit - $member = new Adherent($db); - $result = $member->fetch($id, $ref); - - $membert = new AdherentType($db); - $membert->fetch($member->typeid); - - llxHeader("","",$langs->trans("Member")); - - - $head=member_prepare_head($member); - $titre=$langs->trans("Member"); - $picto='user'; - dol_fiche_head($head, 'category', $titre,0,$picto); - - $rowspan=5; - if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) $rowspan+=1; - if (! empty($conf->societe->enabled)) $rowspan++; - - print ''; - - // Ref - print ''; - print ''; - - // Login - if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) - { - print ''; - } - - // Morphy - print ''; - /*print '';*/ - print ''; - - // Type - print '\n"; - - // Company - print ''; - - // Civility - print ''; - print ''; - - // Lastname - print ''; - print ''; - - // Firstname - print ''; - print ''; - - // Status - print ''; - - print '
    '.$langs->trans("Ref").''; - print $form->showrefnav($member,'id','','1','rowid','ref','','&type='.$type); - print '
    '.$langs->trans("Login").' / '.$langs->trans("Id").''.$member->login.' 
    '.$langs->trans("Nature").''.$member->getmorphylib().''; - print $form->showphoto('memberphoto',$member); - print '
    '.$langs->trans("Type").''.$membert->getNomUrl(1)."
    '.$langs->trans("Company").''.$member->societe.'
    '.$langs->trans("UserTitle").''.$member->getCivilityLabel().' 
    '.$langs->trans("Lastname").''.$member->lastname.' 
    '.$langs->trans("Firstname").''.$member->firstname.' 
    '.$langs->trans("Status").''.$member->getLibStatut(4).'
    '; - - dol_fiche_end(); - - formCategory($db,$member,3,0,$user->rights->adherent->creer); - } - if ($type == Categorie::TYPE_CONTACT) - { - $langs->load("contact"); - - /* - * Category card for contact - */ - require_once DOL_DOCUMENT_ROOT.'/core/lib/contact.lib.php'; - require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; - - // Produit - $object = new Contact($db); - $result = $object->fetch($id, $ref); - $object->fetch_thirdparty(); - - llxHeader("","",$langs->trans("Contact")); - - - $head=contact_prepare_head($object); - $titre=$langs->trans("ContactsAddresses"); - $picto='contact'; - dol_fiche_head($head, 'category', $titre,0,$picto); - - $rowspan=5; - if (! empty($conf->societe->enabled)) $rowspan++; - - print ''; - - // Ref - print ''; - print ''; - - // Name - print ''; - print ''; - - // Company - if (empty($conf->global->SOCIETE_DISABLE_CONTACTS)) - { - print ''; - } - - // Civility - print ''; - - // Role - print ''; - - // Address - print ''; - - // Zip/Town - print ''; - - // Country - print ''; - - // State - if (empty($conf->global->SOCIETE_DISABLE_STATE)) - { - print ''; - } - - // Phone - print ''; - print ''; - - print ''; - print ''; - - // Email - print ''; - if (! empty($conf->mailing->enabled)) - { - $langs->load("mails"); - print ''; - print ''; - } - else - { - print ''; - } - print ''; - - // Instant message and no email - print ''; - if (!empty($conf->mailing->enabled)) - { - print ''; - } - else - { - print ''; - } - print ''; - - print ''; - - // Note Public - print ''; - - // Note Private - print ''; - - // Other attributes - $parameters=array('socid'=>$socid, 'colspan' => ' colspan="3"'); - $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook - if (empty($reshook) && ! empty($extrafields->attribute_label)) - { - print $object->showOptionals($extrafields); - } - - print '
    '.$langs->trans("Ref").''; - print $form->showrefnav($object,'rowid'); - print '
    '.$langs->trans("Lastname").' / '.$langs->trans("Label").''.$object->lastname.''.$langs->trans("Firstname").''.$object->firstname.'
    '.$langs->trans("Company").''; - if (!empty($object->thirdparty->id)) - { - print $object->thirdparty->getNomUrl(1); - } - else - { - print $langs->trans("ContactNotLinkedToCompany"); - } - print '
    '.$langs->trans("UserTitle").''; - print $object->getCivilityLabel(); - print '
    '.$langs->trans("PostOrFunction").''.$object->poste.'
    '.$langs->trans("Address").''; - dol_print_address($object->address,'gmap','contact',$object->id); - print '
    '.$langs->trans("Zip").' / '.$langs->trans("Town").''; - print $object->zip; - if ($object->zip) print ' '; - print $object->town.'
    '.$langs->trans("Country").''; - $img=picto_from_langcode($object->country_code); - if ($img) print $img.' '; - print $object->country; - print '
    '.$langs->trans('State').''.$object->state.'
    '.$langs->trans("PhonePro").''.dol_print_phone($object->phone_pro,$object->country_code,$object->id,$object->socid,'AC_TEL').''.$langs->trans("PhonePerso").''.dol_print_phone($object->phone_perso,$object->country_code,$object->id,$object->socid,'AC_TEL').'
    '.$langs->trans("PhoneMobile").''.dol_print_phone($object->phone_mobile,$object->country_code,$object->id,$object->socid,'AC_TEL').''.$langs->trans("Fax").''.dol_print_phone($object->fax,$object->country_code,$object->id,$object->socid,'AC_FAX').'
    '.$langs->trans("EMail").''.dol_print_email($object->email,$object->id,$object->socid,'AC_EMAIL').''.$langs->trans("NbOfEMailingsReceived").''.$object->getNbOfEMailings().' 
    '.$langs->trans("IM").''.$object->jabberid.''.$langs->trans("No_Email").''.yn($object->no_email).' 
    '.$langs->trans("ContactVisibility").''; - print $object->LibPubPriv($object->priv); - print '
    '.$langs->trans("NotePublic").''; - print nl2br($object->note_public); - print '
    '.$langs->trans("NotePrivate").''; - print nl2br($object->note_private); - print '
    '; - - dol_fiche_end(); - - formCategory($db,$object,4,$socid, $user->rights->societe->creer); - } - - if ($type == Categorie::TYPE_PROJECT) - { - $langs->load("products"); - - /* - * Category card for product - */ - require_once DOL_DOCUMENT_ROOT.'/core/lib/project.lib.php'; - require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; - - // Product - $product = new Product($db); - $result = $product->fetch($id, $ref); - - llxHeader("","",$langs->trans("Project")); - - - $head=project_prepare_head($product); - $titre=$langs->trans("Project"); - $picto=($object->public?'projectpub':'project'); - dol_fiche_head($head, 'category', $titre,0,$picto); - - - print ''; - - $linkback = ''.$langs->trans("BackToList").''; - - // Ref - print ''; - - // Label - print ''; - - // Third party - print ''; - - // Visibility - print ''; - - // Statut - print ''; - - // Date start - print ''; - - // Date end - print ''; - - formCategory($db,$product,0,$socid,($user->rights->projet->creer)); - } -} - - -/** - * Function to output a form to add object into a category - * - * @param DoliDb $db Database handler - * @param Object $object Object we want to see categories it can be classified into - * @param int $typeid Type of category (0, 1, 2, 3) - * @param int $socid Id thirdparty - * @param int $showclassifyform 1=Add form to 'Classify', 0=Do not show form to 'Classify' - * @return int 0 - */ -function formCategory($db,$object,$typeid,$socid=0,$showclassifyform=1) -{ - global $user,$langs,$form,$bc; - - $title='NotDefined'; - if ($typeid == Categorie::TYPE_PRODUCT) $title = $langs->trans("ProductsCategoriesShort"); - if ($typeid == Categorie::TYPE_SUPPLIER) $title = $langs->trans("SuppliersCategoriesShort"); - if ($typeid == Categorie::TYPE_CUSTOMER) $title = $langs->trans("CustomersProspectsCategoriesShort"); - if ($typeid == Categorie::TYPE_MEMBER) $title = $langs->trans("MembersCategoriesShort"); - if ($typeid == Categorie::TYPE_CONTACT) $title = $langs->trans("ContactCategoriesShort"); - if ($typeid == Categorie::TYPE_PROJECT) $title = $langs->trans("ProjectsCategoriesShort"); - - $linktocreate=''; - if ($showclassifyform && $user->rights->categorie->creer) - { - $linktocreate='id.'&type='.$typeid).'">'; - $linktocreate.=$langs->trans("CreateCat").' '; - $linktocreate.=img_picto($langs->trans("Create"),'filenew'); - $linktocreate.=""; - } - - print '
    '; - print load_fiche_titre($title,$linktocreate,''); - - // Form to add record into a category - if ($showclassifyform) - { - print ''; - print ''; - print ''; - print ''; - print ''; - print '
    '.$langs->trans("Ref").''; - // Define a complementary filter for search of next/prev ref. - if (! $user->rights->projet->all->lire) - { - $objectsListId = $object->getProjectsAuthorizedForUser($user,0,0); - $object->next_prev_filter=" rowid in (".(count($objectsListId)?join(',',array_keys($objectsListId)):'0').")"; - } - print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref'); - print '
    '.$langs->trans("Label").''.$object->title.'
    '.$langs->trans("ThirdParty").''; - if ($object->thirdparty->id > 0) print $object->thirdparty->getNomUrl(1, 'project'); - else print' '; - print '
    '.$langs->trans("Visibility").''; - if ($object->public) print $langs->trans('SharedProject'); - else print $langs->trans('PrivateProject'); - print '
    '.$langs->trans("Status").''.$object->getLibStatut(4).'
    '.$langs->trans("DateStart").''; - print dol_print_date($object->date_start,'day'); - print '
    '.$langs->trans("DateEnd").''; - print dol_print_date($object->date_end,'day'); - print '
    '; - print ''; - print ''; - print ''; - print '
    '; - print ''.$langs->trans("ClassifyInCategory").'  '; - print $form->select_all_categories($typeid,'auto'); - print '
    '; - print ''; - print '
    '; - } - - - $c = new Categorie($db); - $cats = $c->containing($object->id,$typeid); - - if (count($cats) > 0) - { - if ($typeid == Categorie::TYPE_PRODUCT) $title=$langs->trans("ProductIsInCategories"); - if ($typeid == Categorie::TYPE_SUPPLIER) $title=$langs->trans("CompanyIsInSuppliersCategories"); - if ($typeid == Categorie::TYPE_CUSTOMER) $title=$langs->trans("CompanyIsInCustomersCategories"); - if ($typeid == Categorie::TYPE_MEMBER) $title=$langs->trans("MemberIsInCategories"); - if ($typeid == Categorie::TYPE_CONTACT) $title=$langs->trans("ContactIsInCategories"); - if ($typeid == Categorie::TYPE_PROJECT) $title=$langs->trans("ProjectIsInCategories"); - print "\n"; - print ''; - print ''; - - $var = true; - foreach ($cats as $cat) - { - $ways = $cat->print_all_ways(); - - foreach ($ways as $way) - { - $var = ! $var; - print ""; - - // Categorie - print ""; - - // Link to delete from category - print '"; - - print "\n"; - } - } - print "
    '.$title.':
    ".img_object('','category').' '.$way."'; - $permission=0; - if ($typeid == Categorie::TYPE_PRODUCT) $permission=($user->rights->produit->creer || $user->rights->service->creer); - if ($typeid == Categorie::TYPE_SUPPLIER) $permission=$user->rights->societe->creer; - if ($typeid == Categorie::TYPE_CUSTOMER) $permission=$user->rights->societe->creer; - if ($typeid == Categorie::TYPE_MEMBER) $permission=$user->rights->adherent->creer; - if ($typeid == Categorie::TYPE_CONTACT) $permission=$user->rights->societe->creer; - if ($typeid == Categorie::TYPE_PROJECT) $permission=$user->rights->projet->creer; - if ($permission) - { - print ""; - print img_delete($langs->trans("DeleteFromCat")).' '; - print $langs->trans("DeleteFromCat").""; - } - else - { - print ' '; - } - print "
    \n"; - } - else if ($cats < 0) - { - print $langs->trans("ErrorUnknown"); - } - else - { - if ($typeid == Categorie::TYPE_PRODUCT) $title=$langs->trans("ProductHasNoCategory"); - if ($typeid == Categorie::TYPE_SUPPLIER) $title=$langs->trans("CompanyHasNoCategory"); - if ($typeid == Categorie::TYPE_CUSTOMER) $title=$langs->trans("CompanyHasNoCategory"); - if ($typeid == Categorie::TYPE_MEMBER) $title=$langs->trans("MemberHasNoCategory"); - if ($typeid == Categorie::TYPE_CONTACT) $title=$langs->trans("ContactHasNoCategory"); - if ($typeid == Categorie::TYPE_PROJECT) $title=$langs->trans("ProjectHasNoCategory"); - print $title; - print "
    "; - } - return 0; -} - -llxFooter(); - -$db->close(); diff --git a/htdocs/core/lib/company.lib.php b/htdocs/core/lib/company.lib.php index 0f427381d15..7a459c17cb9 100644 --- a/htdocs/core/lib/company.lib.php +++ b/htdocs/core/lib/company.lib.php @@ -113,17 +113,6 @@ function societe_prepare_head(Societe $object) $head[$h][2] = 'project'; $h++; } - //show categorie tab - /*if (! empty($conf->categorie->enabled) && ! empty($user->rights->categorie->lire)) - { - require_once DOL_DOCUMENT_ROOT . '/categories/class/categorie.class.php'; - $type = Categorie::TYPE_CUSTOMER; - if ($object->fournisseur) $type = Categorie::TYPE_SUPPLIER; - $head[$h][0] = DOL_URL_ROOT.'/categories/categorie.php?socid='.$object->id."&type=".$type; - $head[$h][1] = $langs->trans('Categories'); - $head[$h][2] = 'category'; - $h++; - }*/ // Tab to link resources if (! empty($conf->resource->enabled) && ! empty($conf->global->RESOURCE_ON_THIRDPARTIES)) diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index 6252811fff2..cf825a50e28 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -3175,7 +3175,7 @@ class Product extends CommonObject if ($reshook > 0) $linkclose = $hookmanager->resPrint; - if ($option == 'supplier') { + if ($option == 'supplier' || $option == 'category') { $link = ''; - } else if ($option == 'category') { - $link = ''; diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index 3bd03e0673e..d318e132f92 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -1855,7 +1855,7 @@ class Societe extends CommonObject $label.= '
    '; - if ($option == 'customer' || $option == 'compta') + if ($option == 'customer' || $option == 'compta' || $option == 'category' || $option == 'category_supplier') { $label.= '' . $langs->trans("ShowCustomer") . ''; $link = ''; $link = ''; - $link = ''; - $link = ''; From 358bcee3a5fbc6397d8336813760335897543d6b Mon Sep 17 00:00:00 2001 From: aspangaro Date: Mon, 29 Aug 2016 21:49:34 +0200 Subject: [PATCH 410/476] Presentation on financiel account --- htdocs/compta/bank/account.php | 5 +++-- htdocs/compta/bank/annuel.php | 5 +++-- htdocs/compta/bank/card.php | 4 +++- htdocs/compta/bank/document.php | 5 +++-- htdocs/compta/bank/graph.php | 4 +++- htdocs/compta/bank/releve.php | 4 +++- htdocs/compta/bank/treso.php | 4 +++- htdocs/core/lib/bank.lib.php | 2 +- 8 files changed, 22 insertions(+), 11 deletions(-) diff --git a/htdocs/compta/bank/account.php b/htdocs/compta/bank/account.php index 10c52e657ab..2aff7aaaa1d 100644 --- a/htdocs/compta/bank/account.php +++ b/htdocs/compta/bank/account.php @@ -177,8 +177,9 @@ if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->banque->m /* * View */ - -llxHeader('',$langs->trans("FinancialAccount").'-'.$langs->trans("Transactions")); +$title = $langs->trans("FinancialAccount").' - '.$langs->trans("Transactions"); +$helpurl = ""; +llxHeader('',$title,$helpurl); $societestatic=new Societe($db); $userstatic=new User($db); diff --git a/htdocs/compta/bank/annuel.php b/htdocs/compta/bank/annuel.php index f756d50ad2a..5f0dbfd10ac 100644 --- a/htdocs/compta/bank/annuel.php +++ b/htdocs/compta/bank/annuel.php @@ -53,8 +53,9 @@ else $year_end=$year_start+2; } - -llxHeader(); +$title = $langs->trans("FinancialAccount").' - '.$langs->trans("IOMonthlyReporting"); +$helpurl = ""; +llxHeader('',$title,$helpurl); $form = new Form($db); diff --git a/htdocs/compta/bank/card.php b/htdocs/compta/bank/card.php index a29a0d768bd..5f075ebf821 100644 --- a/htdocs/compta/bank/card.php +++ b/htdocs/compta/bank/card.php @@ -249,7 +249,9 @@ if (! empty($conf->accounting->enabled)) $formaccountancy = New FormVentilation( $countrynotdefined=$langs->trans("ErrorSetACountryFirst").' ('.$langs->trans("SeeAbove").')'; -llxHeader(); +$title = $langs->trans("FinancialAccount") . " - " . $langs->trans("Card"); +$helpurl = ""; +llxHeader("",$title,$helpurl); // Creation diff --git a/htdocs/compta/bank/document.php b/htdocs/compta/bank/document.php index 7320ce85f91..a014bdc5d60 100644 --- a/htdocs/compta/bank/document.php +++ b/htdocs/compta/bank/document.php @@ -139,8 +139,9 @@ else if ($action == 'confirm_deletefile' && $confirm == 'yes') { /* * View */ - -llxHeader(); +$title = $langs->trans("FinancialAccount").' - '.$langs->trans("Documents"); +$helpurl = ""; +llxHeader('',$title,$helpurl); $form = new Form($db); diff --git a/htdocs/compta/bank/graph.php b/htdocs/compta/bank/graph.php index 0764c87f5ab..6f9de0a5aac 100644 --- a/htdocs/compta/bank/graph.php +++ b/htdocs/compta/bank/graph.php @@ -53,7 +53,9 @@ $error=0; * View */ -llxHeader(); +$title = $langs->trans("FinancialAccount").' - '.$langs->trans("Graph"); +$helpurl = ""; +llxHeader('',$title,$helpurl); $form = new Form($db); diff --git a/htdocs/compta/bank/releve.php b/htdocs/compta/bank/releve.php index cc23d9a9d04..ff50b3e66e5 100644 --- a/htdocs/compta/bank/releve.php +++ b/htdocs/compta/bank/releve.php @@ -81,7 +81,9 @@ $pagenext = $page + 1; * View */ -llxHeader(); +$title = $langs->trans("FinancialAccount").' - '.$langs->trans("AccountStatements"); +$helpurl = ""; +llxHeader('',$title,$helpurl); $form = new Form($db); $societestatic=new Societe($db); diff --git a/htdocs/compta/bank/treso.php b/htdocs/compta/bank/treso.php index e9596149e4f..2b3593cd5bd 100644 --- a/htdocs/compta/bank/treso.php +++ b/htdocs/compta/bank/treso.php @@ -55,7 +55,9 @@ $page=isset($_GET["page"])?$_GET["page"]:0; * View */ -llxHeader(); +$title = $langs->trans("FinancialAccount").' - '.$langs->trans("PlannedTransactions"); +$helpurl = ""; +llxHeader('',$title,$helpurl); $societestatic = new Societe($db); $facturestatic=new Facture($db); diff --git a/htdocs/core/lib/bank.lib.php b/htdocs/core/lib/bank.lib.php index 33eac43476c..b5371e6fa53 100644 --- a/htdocs/core/lib/bank.lib.php +++ b/htdocs/core/lib/bank.lib.php @@ -38,7 +38,7 @@ function bank_prepare_head(Account $object) $head = array(); $head[$h][0] = DOL_URL_ROOT . '/compta/bank/card.php?id=' . $object->id; - $head[$h][1] = $langs->trans("AccountCard"); + $head[$h][1] = $langs->trans("Card"); $head[$h][2] = 'bankname'; $h++; From cfcd9677f181923147bf4665baadf2b7c785193f Mon Sep 17 00:00:00 2001 From: aspangaro Date: Mon, 29 Aug 2016 21:54:52 +0200 Subject: [PATCH 411/476] Fix: Missing language key --- htdocs/compta/bank/account.php | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/compta/bank/account.php b/htdocs/compta/bank/account.php index 10c52e657ab..16cc8c88511 100644 --- a/htdocs/compta/bank/account.php +++ b/htdocs/compta/bank/account.php @@ -52,6 +52,7 @@ $langs->load("salaries"); $langs->load("loan"); $langs->load("donations"); $langs->load("trips"); +$langs->load("members"); $id = (GETPOST('id','int') ? GETPOST('id','int') : GETPOST('account','int')); $ref = GETPOST('ref','alpha'); From e2a92f304d946bac9f92d4c372d64e9ecda3efa9 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Mon, 29 Aug 2016 22:07:21 +0200 Subject: [PATCH 412/476] Presentation on member card --- htdocs/adherents/agenda.php | 4 +++- htdocs/adherents/card.php | 3 ++- htdocs/adherents/card_subscriptions.php | 4 +++- htdocs/adherents/document.php | 4 +++- htdocs/adherents/info.php | 4 +++- htdocs/adherents/note.php | 5 +++-- htdocs/core/lib/member.lib.php | 2 +- 7 files changed, 18 insertions(+), 8 deletions(-) diff --git a/htdocs/adherents/agenda.php b/htdocs/adherents/agenda.php index 77fa8022968..057d7ada946 100644 --- a/htdocs/adherents/agenda.php +++ b/htdocs/adherents/agenda.php @@ -77,7 +77,9 @@ if ($object->id > 0) $langs->load("companies"); - llxHeader("",$langs->trans("Agenda"),''); + $title=$langs->trans("Member") . " - " . $langs->trans("Agenda"); + $helpurl="EN:Module_Foundations|FR:Module_Adhérents|ES:Módulo_Miembros"; + llxHeader("",$title,$helpurl); if (! empty($conf->notification->enabled)) $langs->load("mails"); $head = member_prepare_head($object); diff --git a/htdocs/adherents/card.php b/htdocs/adherents/card.php index 347052f86be..ba1a06c9f17 100644 --- a/htdocs/adherents/card.php +++ b/htdocs/adherents/card.php @@ -717,8 +717,9 @@ if (empty($reshook)) $form = new Form($db); $formcompany = new FormCompany($db); +$title=$langs->trans("Member") . " - " . $langs->trans("Card"); $help_url='EN:Module_Foundations|FR:Module_Adhérents|ES:Módulo_Miembros'; -llxHeader('',$langs->trans("Member"),$help_url); +llxHeader('',$title,$help_url); $countrynotdefined=$langs->trans("ErrorSetACountryFirst").' ('.$langs->trans("SeeAbove").')'; diff --git a/htdocs/adherents/card_subscriptions.php b/htdocs/adherents/card_subscriptions.php index 92331d2cc88..838ba49c6a9 100644 --- a/htdocs/adherents/card_subscriptions.php +++ b/htdocs/adherents/card_subscriptions.php @@ -557,7 +557,9 @@ $form = new Form($db); $now=dol_now(); -llxHeader('',$langs->trans("Subscriptions"),'EN:Module_Foundations|FR:Module_Adhérents|ES:Módulo_Miembros'); +$title=$langs->trans("Member") . " - " . $langs->trans("Subscriptions"); +$helpurl="EN:Module_Foundations|FR:Module_Adhérents|ES:Módulo_Miembros"; +llxHeader("",$title,$helpurl); if ($rowid > 0) { diff --git a/htdocs/adherents/document.php b/htdocs/adherents/document.php index 0e19cd6331c..eebb4fda37f 100644 --- a/htdocs/adherents/document.php +++ b/htdocs/adherents/document.php @@ -85,7 +85,9 @@ include_once DOL_DOCUMENT_ROOT . '/core/actions_linkedfiles.inc.php'; $form = new Form($db); -llxHeader(); +$title=$langs->trans("Member") . " - " . $langs->trans("Documents"); +$helpurl="EN:Module_Foundations|FR:Module_Adhérents|ES:Módulo_Miembros"; +llxHeader("",$title,$helpurl); if ($id > 0) { diff --git a/htdocs/adherents/info.php b/htdocs/adherents/info.php index 36ed504dd73..53e9b7ee092 100644 --- a/htdocs/adherents/info.php +++ b/htdocs/adherents/info.php @@ -44,7 +44,9 @@ $result=restrictedArea($user,'adherent',$id); $form = new Form($db); -llxHeader('',$langs->trans("Member"),'EN:Module_Foundations|FR:Module_Adhérents|ES:Módulo_Miembros'); +$title=$langs->trans("Member") . " - " . $langs->trans("Info"); +$helpurl="EN:Module_Foundations|FR:Module_Adhérents|ES:Módulo_Miembros"; +llxHeader("",$title,$helpurl); $object = new Adherent($db); $object->fetch($id); diff --git a/htdocs/adherents/note.php b/htdocs/adherents/note.php index a895d6cfef8..9e6a20f6cb3 100644 --- a/htdocs/adherents/note.php +++ b/htdocs/adherents/note.php @@ -59,8 +59,9 @@ include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, /* * View */ - -llxHeader('',$langs->trans("Member"),'EN:Module_Foundations|FR:Module_Adhérents|ES:Módulo_Miembros'); +$title=$langs->trans("Member") . " - " . $langs->trans("Note"); +$helpurl="EN:Module_Foundations|FR:Module_Adhérents|ES:Módulo_Miembros"; +llxHeader("",$title,$helpurl); $form = new Form($db); diff --git a/htdocs/core/lib/member.lib.php b/htdocs/core/lib/member.lib.php index b8ddc9545e3..9b90821883f 100644 --- a/htdocs/core/lib/member.lib.php +++ b/htdocs/core/lib/member.lib.php @@ -37,7 +37,7 @@ function member_prepare_head(Adherent $object) $head = array(); $head[$h][0] = DOL_URL_ROOT.'/adherents/card.php?rowid='.$object->id; - $head[$h][1] = $langs->trans("MemberCard"); + $head[$h][1] = $langs->trans("Card"); $head[$h][2] = 'general'; $h++; From d7007bd16ba1c49c41c2d33889fd4f323c712e74 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 30 Aug 2016 00:21:26 +0200 Subject: [PATCH 413/476] Fix lang not loaded --- htdocs/compta/stats/casoc.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/htdocs/compta/stats/casoc.php b/htdocs/compta/stats/casoc.php index dade07fd0e3..08eb5c001de 100644 --- a/htdocs/compta/stats/casoc.php +++ b/htdocs/compta/stats/casoc.php @@ -34,6 +34,8 @@ require_once DOL_DOCUMENT_ROOT . '/categories/class/categorie.class.php'; $langs->load("companies"); $langs->load("categories"); +$langs->load("bills"); +$langs->load("compta"); // Define modecompta ('CREANCES-DETTES' or 'RECETTES-DEPENSES') $modecompta = $conf->global->ACCOUNTING_MODE; From b85e9938e883b596ce6cb020043e460352988a2d Mon Sep 17 00:00:00 2001 From: aspangaro Date: Tue, 30 Aug 2016 05:17:27 +0200 Subject: [PATCH 414/476] Fix: VATArea - Problem of presentation --- htdocs/compta/tva/index.php | 29 ++++++----------------------- 1 file changed, 6 insertions(+), 23 deletions(-) diff --git a/htdocs/compta/tva/index.php b/htdocs/compta/tva/index.php index f6308a3790d..30d9655acc8 100644 --- a/htdocs/compta/tva/index.php +++ b/htdocs/compta/tva/index.php @@ -123,17 +123,9 @@ print $langs->trans("VATReportBuildWithOptionDefinedInModule").'
    '; print '('.$langs->trans("TaxModuleSetupToModifyRules",DOL_URL_ROOT.'/admin/taxes.php').')
    '; print '
    '; -print ''; -print ''; +print '
    '; -print '
    '; -print '
    '; -print load_fiche_titre($langs->trans("VATSummary"), '', ''); -// The report mode is the one defined by defaut in tax module setup -//print $modetax; -//print '('.$langs->trans("SeeVATReportInInputOutputMode",'','').')'; -print ''; -print load_fiche_titre($langs->trans("VATPaid"), '', ''); -print '
    '; +print load_fiche_titre($langs->trans("VATSummary"), '', ''); print ''; print ''; @@ -223,18 +215,12 @@ print '\n"; print ''; -/*} - else - { - print ''; - print ''; - }*/ - print '
    '.$langs->trans("To print " 
    '.$langs->trans("FeatureNotYetAvailable").'
    '.$langs->trans("FeatureIsSupportedInInOutModeOnly").'
    '; -print '
    '; +print '
    '; + +print load_fiche_titre($langs->trans("VATPaid"), '', ''); /* * Payed @@ -250,10 +236,7 @@ $sql.= " GROUP BY dm ORDER BY dm ASC"; pt($db, $sql,$langs->trans("Year")." $y"); -print "
    "; - -print ''; -print ''; +print '
    '; llxFooter(); $db->close(); From 0467a5480d9c4f2bb3ffe72ad1248ad31f6ac685 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Tue, 30 Aug 2016 07:02:44 +0200 Subject: [PATCH 415/476] Presentation of Expense Report --- htdocs/expensereport/card.php | 56 ++++++++++++++++--------------- htdocs/expensereport/document.php | 7 ++-- htdocs/expensereport/info.php | 7 ++-- 3 files changed, 37 insertions(+), 33 deletions(-) diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php index 23943fd5282..d568776fca9 100644 --- a/htdocs/expensereport/card.php +++ b/htdocs/expensereport/card.php @@ -1079,8 +1079,9 @@ else if ($action == 'remove_file') /* * View */ - -llxHeader('', $langs->trans("ExpenseReport")); +$title=$langs->trans("ExpenseReport") . " - " . $langs->trans("Card"); +$helpurl="EN:Module_Expense_Reports"; +llxHeader("",$title,$helpurl); $form = new Form($db); $formfile = new FormFile($db); @@ -1137,7 +1138,7 @@ if ($action == 'create') // Public note print ''; print '' . $langs->trans('NotePublic') . ''; - print ''; + print ''; $doleditor = new DolEditor('note_public', $note_public, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, '90%'); print $doleditor->Create(1); @@ -1147,7 +1148,7 @@ if ($action == 'create') if (empty($user->societe_id)) { print ''; print '' . $langs->trans('NotePrivate') . ''; - print ''; + print ''; $doleditor = new DolEditor('note_private', $note_private, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, '90%'); print $doleditor->Create(1); @@ -1159,7 +1160,7 @@ if ($action == 'create') dol_fiche_end(); - print '
    '; + print '
    '; print ''; print '     '; print '
    '; @@ -1200,7 +1201,7 @@ else print ''; print ''; - dol_fiche_head($head, 'card', $langs->trans("TripCard"), 0, 'trip'); + dol_fiche_head($head, 'card', $langs->trans("ExpenseReport"), 0, 'trip'); if($object->fk_statut==99) { @@ -1216,7 +1217,7 @@ else $linkback = '
    '.$langs->trans("BackToList").''; // Ref - print ''.$langs->trans("Ref").''; + print ''.$langs->trans("Ref").''; print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref', ''); print ''; @@ -1287,7 +1288,7 @@ else // Public note print ''; print '' . $langs->trans('NotePublic') . ''; - print ''; + print ''; $doleditor = new DolEditor('note_public', $object->note_public, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, '90%'); print $doleditor->Create(1); @@ -1297,7 +1298,7 @@ else if (empty($user->societe_id)) { print ''; print '' . $langs->trans('NotePrivate') . ''; - print ''; + print ''; $doleditor = new DolEditor('note_private', $object->note_private, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, '90%'); print $doleditor->Create(1); @@ -1317,7 +1318,7 @@ else } else { - dol_fiche_head($head, 'card', $langs->trans("TripCard"), 0, 'trip'); + dol_fiche_head($head, 'card', $langs->trans("ExpenseReport"), 0, 'trip'); if ($action == 'save') { @@ -1435,7 +1436,6 @@ else $sql.= " AND p.fk_typepayment = c.id"; $sql.= " ORDER BY dp"; - //print $sql; $resql = $db->query($sql); if ($resql) { @@ -1702,17 +1702,19 @@ else } // Ajout des boutons de modification/suppression - print ''; if (($object->fk_statut < 2 || $object->fk_statut == 99) && $user->rights->expensereport->creer) { + print ''; + print 'rowid.'#'.$objp->rowid.'">'; print img_edit(); print '   '; print 'rowid.'">'; print img_delete(); print ''; + + print ''; } - print ''; print ''; } @@ -1904,12 +1906,12 @@ if ($action != 'create' && $action != 'edit') if ($object->fk_user_author == $user->id) { // Modify - print 'id.'">'.$langs->trans('Modify').''; + print ''; // Validate if (count($object->lines) > 0 || count($object->lignes) > 0) { - print 'id.'">'.$langs->trans('ValidateAndSubmit').''; + print ''; } } } @@ -1924,12 +1926,12 @@ if ($action != 'create' && $action != 'edit') if ($user->id == $object->fk_user_author || $user->id == $object->fk_user_valid) { // Modify - print 'id.'">'.$langs->trans('Modify').''; + print ''; // Brouillonner (le statut refusée est identique à brouillon) //print ''.$langs->trans('BROUILLONNER').''; // Enregistrer depuis le statut "Refusée" - print 'id.'">'.$langs->trans('ValidateAndSubmit').''; + print ''; } } @@ -1938,7 +1940,7 @@ if ($action != 'create' && $action != 'edit') if ($user->id == $object->fk_user_author || $user->id == $object->fk_user_valid) { // Brouillonner - print 'id.'">'.$langs->trans('SetToDraft').''; + print ''; } } @@ -1952,7 +1954,7 @@ if ($action != 'create' && $action != 'edit') if ($object->fk_user_author == $user->id) { // Brouillonner - print 'id.'">'.$langs->trans('SetToDraft').''; + print ''; } } @@ -1961,15 +1963,15 @@ if ($action != 'create' && $action != 'edit') //if($object->fk_user_validator==$user->id) //{ // Validate - print 'id.'">'.$langs->trans('Approve').''; + print ''; // Deny - print 'id.'">'.$langs->trans('Deny').''; + print ''; //} if ($user->id == $object->fk_user_author || $user->id == $object->fk_user_valid) { // Cancel - print 'id.'">'.$langs->trans('Cancel').''; + print ''; } } @@ -1979,7 +1981,7 @@ if ($action != 'create' && $action != 'edit') if ($user->rights->expensereport->approve && $object->fk_statut == 5) { - print 'id.'">'.$langs->trans('Deny').''; + print ''; } // If bank module is used @@ -2008,14 +2010,14 @@ if ($action != 'create' && $action != 'edit') if ($user->rights->expensereport->creer && ($user->id == $object->fk_user_author || $user->id == $object->fk_user_valid) && $object->fk_statut == 5) { // Cancel - print 'id.'">'.$langs->trans('Cancel').''; + print ''; } // TODO Replace this. It should be SetUnpaid and should go back to status unpaid not canceled. if (($user->rights->expensereport->approve || $user->rights->expensereport->to_paid) && $object->fk_statut == 6) { // Cancel - print 'id.'">'.$langs->trans('Cancel').''; + print ''; } @@ -2023,12 +2025,12 @@ if ($action != 'create' && $action != 'edit') if ($user->rights->expensereport->creer && $user->id == $object->fk_user_author && $object->fk_statut <= 4) { // Delete - print 'id.'">'.$langs->trans('Delete').''; + print ''; } else if($user->rights->expensereport->supprimer && $object->fk_statut != 6) { // Delete - print 'id.'">'.$langs->trans('Delete').''; + print ''; } } diff --git a/htdocs/expensereport/document.php b/htdocs/expensereport/document.php index dd9a28a130c..00e8cfe583d 100644 --- a/htdocs/expensereport/document.php +++ b/htdocs/expensereport/document.php @@ -81,8 +81,9 @@ include_once DOL_DOCUMENT_ROOT . '/core/actions_linkedfiles.inc.php'; $form = new Form($db); -llxHeader("",$langs->trans("ExpenseReport")); - +$title=$langs->trans("ExpenseReport") . " - " . $langs->trans("Documents"); +$helpurl="EN:Module_Expense_Reports"; +llxHeader("",$title,$helpurl); if ($object->id) { @@ -90,7 +91,7 @@ if ($object->id) $head=expensereport_prepare_head($object); - dol_fiche_head($head, 'documents', $langs->trans("TripCard"), 0, 'trip'); + dol_fiche_head($head, 'documents', $langs->trans("ExpenseReport"), 0, 'trip'); // Construit liste des fichiers diff --git a/htdocs/expensereport/info.php b/htdocs/expensereport/info.php index a5a3c830975..b3ebbc153ef 100644 --- a/htdocs/expensereport/info.php +++ b/htdocs/expensereport/info.php @@ -39,8 +39,9 @@ $result = restrictedArea($user, 'expensereport', $id, ''); /* * View */ - -llxHeader('', $langs->trans("ExpenseReport")); +$title=$langs->trans("ExpenseReport") . " - " . $langs->trans("Info"); +$helpurl="EN:Module_Expense_Reports"; +llxHeader("",$title,$helpurl); if ($id) { @@ -50,7 +51,7 @@ if ($id) $head = expensereport_prepare_head($object); - dol_fiche_head($head, 'info', $langs->trans("TripCard"), 0, 'trip'); + dol_fiche_head($head, 'info', $langs->trans("ExpenseReport"), 0, 'trip'); print '\n"; From 452f7be441b71b5ff9151e2bfc65316f38cf19d3 Mon Sep 17 00:00:00 2001 From: Maxime Kohlhaas Date: Tue, 30 Aug 2016 14:44:35 +0200 Subject: [PATCH 417/476] Fix migration for entity in remise table --- htdocs/install/upgrade2.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/install/upgrade2.php b/htdocs/install/upgrade2.php index 8db34216f18..cde5b8e199e 100644 --- a/htdocs/install/upgrade2.php +++ b/htdocs/install/upgrade2.php @@ -3692,7 +3692,7 @@ function migrate_remise_entity($db,$langs,$conf) $db->begin(); $sqlSelect = "SELECT sr.rowid, s.entity"; - $sqlSelect.= " FROM ".MAIN_DB_PREFIX."societe_remise as sr, ".MAIN_DB_PREFIX."societe as s"; + $sqlSelect.= " FROM ".MAIN_DB_PREFIX."societe_remise_except as sr, ".MAIN_DB_PREFIX."societe as s"; $sqlSelect.= " WHERE sr.fk_soc = s.rowid and sr.entity != s.entity"; //print $sqlSelect; From cb660cba8690e68728619bbe25c3f815ad603461 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 30 Aug 2016 18:10:30 +0200 Subject: [PATCH 418/476] NEW More filter on bank transaction list --- htdocs/compta/bank/search.php | 88 +++++++++++++++------------------ htdocs/compta/bank/virement.php | 4 +- 2 files changed, 43 insertions(+), 49 deletions(-) diff --git a/htdocs/compta/bank/search.php b/htdocs/compta/bank/search.php index 8860fa7c4ab..406ea1efbd3 100644 --- a/htdocs/compta/bank/search.php +++ b/htdocs/compta/bank/search.php @@ -42,11 +42,12 @@ $langs->load("margins"); if ($user->societe_id) $socid=$user->societe_id; $result=restrictedArea($user,'banque'); +$search_ref=GETPOST('search_ref','int'); $description=GETPOST("description",'alpha'); $debit=GETPOST("debit",'alpha'); $credit=GETPOST("credit",'alpha'); $type=GETPOST("type",'alpha'); -$account=GETPOST("account",'alpha'); +$account=GETPOST("account",'int'); $bid=GETPOST("bid","int"); $search_dt_start = dol_mktime(0, 0, 0, GETPOST('search_start_dtmonth', 'int'), GETPOST('search_start_dtday', 'int'), GETPOST('search_start_dtyear', 'int')); $search_dt_end = dol_mktime(0, 0, 0, GETPOST('search_end_dtmonth', 'int'), GETPOST('search_end_dtday', 'int'), GETPOST('search_end_dtyear', 'int')); @@ -64,28 +65,12 @@ $pagenext = $page + 1; if (! $sortorder) $sortorder='DESC'; if (! $sortfield) $sortfield='b.dateo'; -$param=''; -if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.$contextpage; -if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.$limit; -if (!empty($description)) $param.='&description='.$description; -if (!empty($type)) $param.='&type='.$type; -if (!empty($debit)) $param.='&debit='.$debit; -if (!empty($credit)) $param.='&credit='.$credit; -if (!empty($account)) $param.='&account='.$account; -if (!empty($bid)) $param.='&bid='.$bid; -if (dol_strlen($search_dt_start) > 0) - $param .= '&search_start_dtmonth=' . GETPOST('search_start_dtmonth', 'int') . '&search_start_dtday=' . GETPOST('search_start_dtday', 'int') . '&search_start_dtyear=' . GETPOST('search_start_dtyear', 'int'); -if (dol_strlen($search_dt_end) > 0) - $param .= '&search_end_dtmonth=' . GETPOST('search_end_dtmonth', 'int') . '&search_end_dtday=' . GETPOST('search_end_dtday', 'int') . '&search_end_dtyear=' . GETPOST('search_end_dtyear', 'int'); -if (GETPOST("req_nb")) $param.='&req_nb='.urlencode(GETPOST("req_nb")); -if (GETPOST("thirdparty")) $param.='&thirdparty='.urlencode(GETPOST("thirdparty")); - /* * Actions */ -if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both test are required to be compatible with all browsers +if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") || GETPOST("button_removefilter")) // Both test are required to be compatible with all browsers { $description=""; $type=""; @@ -93,6 +78,7 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both $credit=""; $account=""; $bid=""; + $search_ref=""; $search_req_nb=''; $search_thirdparty=''; $thirdparty=''; @@ -127,29 +113,15 @@ $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."bank_url as bu ON bu.fk_bank = b.rowid AND $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON bu.url_id = s.rowid"; $sql.= " WHERE b.fk_account = ba.rowid"; $sql.= " AND ba.entity IN (".getEntity('bank_account', 1).")"; -if ($search_req_nb) -{ - $sql.= " AND b.num_chq LIKE '%".$db->escape($search_req_nb)."%'"; -} -if ($search_thirdparty) -{ - $sql.=" AND s.nom LIKE '%".$db->escape($search_thirdparty)."%'"; -} -if ($bid) -{ - $sql.= " AND b.rowid=l.lineid AND l.fk_categ=".$bid; -} -if (! empty($type)) -{ - $sql.= " AND b.fk_type = '".$db->escape($type)."' "; -} +if ($search_ref) $sql.=natural_search("b.rowid", $search_ref); +if ($account > 0) $sql.=" AND b.fk_account = ".$account; +if ($search_req_nb) $sql.= " AND b.num_chq LIKE '%".$db->escape($search_req_nb)."%'"; +if ($search_thirdparty) $sql.=" AND s.nom LIKE '%".$db->escape($search_thirdparty)."%'"; +if ($bid) $sql.= " AND b.rowid=l.lineid AND l.fk_categ=".$bid; +if (! empty($type)) $sql.= " AND b.fk_type = '".$db->escape($type)."' "; // Search period criteria -if (dol_strlen($search_dt_start)>0) { - $sql .= " AND b.dateo >= '" . $db->idate($search_dt_start) . "'"; -} -if (dol_strlen($search_dt_end)>0) { - $sql .= " AND b.dateo <= '" . $db->idate($search_dt_end) . "'"; -} +if (dol_strlen($search_dt_start)>0) $sql .= " AND b.dateo >= '" . $db->idate($search_dt_start) . "'"; +if (dol_strlen($search_dt_end)>0) $sql .= " AND b.dateo <= '" . $db->idate($search_dt_end) . "'"; // Search criteria amount $debit = price2num(str_replace('-','',$debit)); $credit = price2num(str_replace('-','',$credit)); @@ -165,7 +137,7 @@ if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) } $sql.= $db->plimit($limit+1,$offset); - +print $sql; dol_syslog('compta/bank/search.php::', LOG_DEBUG); $resql = $db->query($sql); if ($resql) @@ -174,6 +146,23 @@ if ($resql) $num = $db->num_rows($resql); $i = 0; + $param=''; + if (!empty($search_ref)) $param.='&search_ref='.$search_ref; + if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.$contextpage; + if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.$limit; + if (!empty($description)) $param.='&description='.$description; + if (!empty($type)) $param.='&type='.$type; + if (!empty($debit)) $param.='&debit='.$debit; + if (!empty($credit)) $param.='&credit='.$credit; + if (!empty($account)) $param.='&account='.$account; + if (!empty($bid)) $param.='&bid='.$bid; + if (dol_strlen($search_dt_start) > 0) + $param .= '&search_start_dtmonth=' . GETPOST('search_start_dtmonth', 'int') . '&search_start_dtday=' . GETPOST('search_start_dtday', 'int') . '&search_start_dtyear=' . GETPOST('search_start_dtyear', 'int'); + if (dol_strlen($search_dt_end) > 0) + $param .= '&search_end_dtmonth=' . GETPOST('search_end_dtmonth', 'int') . '&search_end_dtday=' . GETPOST('search_end_dtday', 'int') . '&search_end_dtyear=' . GETPOST('search_end_dtyear', 'int'); + if (GETPOST("req_nb")) $param.='&req_nb='.urlencode(GETPOST("req_nb")); + if (GETPOST("thirdparty")) $param.='&thirdparty='.urlencode(GETPOST("thirdparty")); + print '
    '."\n"; if ($optioncss != '') print ''; print ''; @@ -199,10 +188,11 @@ if ($resql) $moreforfilter = ''; $moreforfilter.='
    '; - $moreforfilter .= $langs->trans('Period') . ' ('.$langs->trans('DateOperationShort').') : ' . $langs->trans('DateStart') . ' '; - $moreforfilter .= $form->select_date($search_dt_start, 'search_start_dt', 0, 0, 1, "search_form", 1, 0, 1); + $moreforfilter .= $langs->trans('Period') . ' ('.$langs->trans('DateOperationShort').') : '; + $moreforfilter .= '
    '.$langs->trans('DateStart') . ' '; + $moreforfilter .= $form->select_date($search_dt_start, 'search_start_dt', 0, 0, 1, "search_form", 1, 0, 1).'
    '; $moreforfilter .= ' - '; - $moreforfilter .= $langs->trans('DateEnd') . ' ' . $form->select_date($search_dt_end, 'search_end_dt', 0, 0, 1, "search_form", 1, 0, 1); + $moreforfilter .= '
    '.$langs->trans('DateEnd') . ' ' . $form->select_date($search_dt_end, 'search_end_dt', 0, 0, 1, "search_form", 1, 0, 1).'
    '; $moreforfilter .= '
    '; if ($moreforfilter) @@ -223,12 +213,14 @@ if ($resql) print_liste_field_titre($langs->trans("ThirdParty"),$_SERVER['PHP_SELF'],'bu.label','',$param,'',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Debit"),$_SERVER['PHP_SELF'],'','',$param,'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Credit"),$_SERVER['PHP_SELF'],'','',$param,'align="right"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Account"),$_SERVER['PHP_SELF'],'','',$param,'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Account"),$_SERVER['PHP_SELF'],'ba.ref','',$param,'align="right"',$sortfield,$sortorder); print_liste_field_titre(''); print "\n"; print '
    '; - print ''; + print ''; print ''; print ''; print ''; - print ''; + print ''; print '\n"; print "\n"; -print ''; -print ''; +print ''; +print ''; print "
    '; dol_print_object_info($object); From b06cc18568134d9126693b63208cfaa774ea1e2b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 30 Aug 2016 11:53:42 +0200 Subject: [PATCH 416/476] Fix sort on amount --- htdocs/compta/bank/search.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/compta/bank/search.php b/htdocs/compta/bank/search.php index 8860fa7c4ab..0bd1730f93f 100644 --- a/htdocs/compta/bank/search.php +++ b/htdocs/compta/bank/search.php @@ -221,8 +221,8 @@ if ($resql) print_liste_field_titre($langs->trans("Numero"),$_SERVER['PHP_SELF'],'b.num_releve','',$param,'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Description"),$_SERVER['PHP_SELF'],'','',$param,'',$sortfield,$sortorder); print_liste_field_titre($langs->trans("ThirdParty"),$_SERVER['PHP_SELF'],'bu.label','',$param,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Debit"),$_SERVER['PHP_SELF'],'','',$param,'align="right"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Credit"),$_SERVER['PHP_SELF'],'','',$param,'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Debit"),$_SERVER['PHP_SELF'],'b.amount','',$param,'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Credit"),$_SERVER['PHP_SELF'],'b.amount','',$param,'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Account"),$_SERVER['PHP_SELF'],'','',$param,'align="right"',$sortfield,$sortorder); print_liste_field_titre(''); print "
     '; + print ''; + print '  '; @@ -246,7 +238,9 @@ if ($resql) print ''; print ''; print ''; + $form->select_comptes($account,'account',0,'',1); + print ''; $searchpitco=$form->showFilterAndCheckAddButtons(0); print $searchpitco; diff --git a/htdocs/compta/bank/virement.php b/htdocs/compta/bank/virement.php index 78950923b34..abb06d17d76 100644 --- a/htdocs/compta/bank/virement.php +++ b/htdocs/compta/bank/virement.php @@ -179,8 +179,8 @@ print ""; $form->select_date((! empty($dateo)?$dateo:''),'','','','','add'); print "
    "; From 6dd11d78e84728aced0899db28d2c67d712e3605 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 30 Aug 2016 18:10:53 +0200 Subject: [PATCH 419/476] NEW Better responsive design for very small device --- htdocs/theme/eldy/style.css.php | 18 ++++++++++++++---- htdocs/theme/md/style.css.php | 11 +++++++++++ 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index eba8130a3ef..8e982f2d69c 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -1869,10 +1869,10 @@ div.tabsElem { div.tabBar { color: #; - padding-top: px; - padding-left: px; - padding-right: px; - padding-bottom: px; + padding-top: 16px; + padding-left: 18px; + padding-right: 18px; + padding-bottom: 14px; margin: 0px 0px 14px 0px; -moz-border-radius:4px; -webkit-border-radius: 4px; @@ -4403,6 +4403,16 @@ img.demothumb { margin-left: 4px; width: 80px; } + + div.tabBar { + padding-left: 0px; + padding-right: 0px; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0px; + border-right: none; + border-left: none; + } } /* nboftopmenuentries = , fontsize= */ diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php index d4eaacbdc48..09a8bc80a65 100644 --- a/htdocs/theme/md/style.css.php +++ b/htdocs/theme/md/style.css.php @@ -4294,6 +4294,17 @@ img.demothumb { position: absolute; width: px; } + + div.tabBar { + padding-left: 0px; + padding-right: 0px; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0px; + border-right: none; + border-left: none; + } + } From 124df446d7b8dda3934684e11628ce0e1881b3c5 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 30 Aug 2016 18:12:26 +0200 Subject: [PATCH 420/476] Fix remove log --- htdocs/compta/bank/search.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/compta/bank/search.php b/htdocs/compta/bank/search.php index 406ea1efbd3..28917aca957 100644 --- a/htdocs/compta/bank/search.php +++ b/htdocs/compta/bank/search.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004-2015 Laurent Destailleur + * Copyright (C) 2004-2016 Laurent Destailleur * Copyright (C) 2005-2010 Regis Houssin * Copyright (C) 2012 Vinícius Nogueira * Copyright (C) 2014 Florian Henry @@ -137,7 +137,7 @@ if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) } $sql.= $db->plimit($limit+1,$offset); -print $sql; + dol_syslog('compta/bank/search.php::', LOG_DEBUG); $resql = $db->query($sql); if ($resql) From 42293089a03f361b53a9be5d9c06165df25e0f6e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 30 Aug 2016 20:16:58 +0200 Subject: [PATCH 421/476] Fix several fix into tab management of tasks --- htdocs/projet/tasks/contact.php | 4 +- htdocs/projet/tasks/document.php | 4 +- htdocs/projet/tasks/note.php | 4 +- htdocs/projet/tasks/time.php | 92 +++++++++++++++++++++++--------- 4 files changed, 73 insertions(+), 31 deletions(-) diff --git a/htdocs/projet/tasks/contact.php b/htdocs/projet/tasks/contact.php index f3f58c17119..6689f966c15 100644 --- a/htdocs/projet/tasks/contact.php +++ b/htdocs/projet/tasks/contact.php @@ -194,7 +194,7 @@ if ($id > 0 || ! empty($ref)) print ''; // Ref - print '
    '; + print '
    '; print $langs->trans("Ref"); print ''; // Define a complementary filter for search of next/prev ref. @@ -255,7 +255,7 @@ if ($id > 0 || ! empty($ref)) $linkback=GETPOST('withproject')?''.$langs->trans("BackToList").'':''; // Ref - print '
    '.$langs->trans('Ref').''; + print '
    '.$langs->trans('Ref').''; if (! GETPOST('withproject') || empty($projectstatic->id)) { $projectsListId = $projectstatic->getProjectsAuthorizedForUser($user,0,1); diff --git a/htdocs/projet/tasks/document.php b/htdocs/projet/tasks/document.php index 07fda131407..c9a69fc81a4 100644 --- a/htdocs/projet/tasks/document.php +++ b/htdocs/projet/tasks/document.php @@ -137,7 +137,7 @@ if ($object->id > 0) print ''; // Ref - print '
    '; + print '
    '; print $langs->trans("Ref"); print ''; // Define a complementary filter for search of next/prev ref. @@ -198,7 +198,7 @@ if ($object->id > 0) print ''; // Ref - print '
    '; + print '
    '; print $langs->trans("Ref"); print ''; if (empty($withproject) || empty($projectstatic->id)) diff --git a/htdocs/projet/tasks/note.php b/htdocs/projet/tasks/note.php index e62e58df58b..5d5cb38dbe5 100644 --- a/htdocs/projet/tasks/note.php +++ b/htdocs/projet/tasks/note.php @@ -117,7 +117,7 @@ if ($object->id > 0) print ''; // Ref - print ''; print ''; @@ -1609,6 +1718,10 @@ else */ } + // Other attributes + $cols = 3; + include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_view.tpl.php'; + print '
    '; + print '
    '; print $langs->trans("Ref"); print ''; // Define a complementary filter for search of next/prev ref. @@ -172,7 +172,7 @@ if ($object->id > 0) $linkback=GETPOST('withproject')?''.$langs->trans("BackToList").'':''; // Ref - print '
    '.$langs->trans("Ref").''; + print '
    '.$langs->trans("Ref").''; if (empty($withproject) || empty($projectstatic->id)) { $projectsListId = $projectstatic->getProjectsAuthorizedForUser($user,0,1); diff --git a/htdocs/projet/tasks/time.php b/htdocs/projet/tasks/time.php index 8eacca6f09e..09a86e1df58 100644 --- a/htdocs/projet/tasks/time.php +++ b/htdocs/projet/tasks/time.php @@ -34,6 +34,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; $langs->load('projects'); $id=GETPOST('id','int'); +$projectid=GETPOST('projectid','int'); $ref=GETPOST('ref','alpha'); $action=GETPOST('action','alpha'); $confirm=GETPOST('confirm','alpha'); @@ -45,8 +46,20 @@ $socid=0; if ($user->societe_id > 0) $socid = $user->societe_id; if (!$user->rights->projet->lire) accessforbidden(); +// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array +$hookmanager->initHooks(array('projecttaskcard','globalcard')); + $object = new Task($db); $projectstatic = new Project($db); +$extrafields_project = new ExtraFields($db); +$extrafields_task = new ExtraFields($db); + +if ($projectid > 0 || ! empty($ref)) +{ + // fetch optionals attributes and labels + $extralabels_projet=$extrafields_project->fetch_name_optionals_label($projectstatic->table_element); +} +$extralabels_task=$extrafields_task->fetch_name_optionals_label($object->table_element); /* @@ -223,12 +236,14 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0) { $result=$projectstatic->fetch($projectidforalltimes); if (! empty($projectstatic->socid)) $projectstatic->fetch_thirdparty(); + $res=$projectstatic->fetch_optionals($object->id,$extralabels_projet); } elseif ($object->fetch($id, $ref) >= 0) { $result=$projectstatic->fetch($object->fk_project); if (! empty($projectstatic->socid)) $projectstatic->fetch_thirdparty(); - + $res=$projectstatic->fetch_optionals($object->id,$extralabels_projet); + $object->project = clone $projectstatic; } @@ -247,7 +262,7 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0) print ''; - $linkback = ''.$langs->trans("BackToList").''; + $linkback = ''.$langs->trans("BackToList").''; // Ref print ''; - // Budget - print ''; - - // Other options - $parameters=array(); - $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook - if (empty($reshook) && ! empty($extrafields_project->attribute_label)) + if (! $id && ! $ref) // Not a dedicated task { - print $object->showOptionals($extrafields_project); - } - + // Budget + print ''; + + // Other options + $parameters=array(); + $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$projectstatic,$action); // Note that $action and $object may have been modified by hook + if (empty($reshook) && ! empty($extrafields_project->attribute_label)) + { + print $projectstatic->showOptionals($extrafields_project); + } + } + print '
    '; @@ -291,19 +306,22 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0) print dol_print_date($projectstatic->date_end,'day'); print '
    '.$langs->trans("Budget").''; - if (strcmp($object->budget_amount, '')) print price($object->budget_amount,'',$langs,0,0,0,$conf->currency); - print '
    '.$langs->trans("Budget").''; + if (strcmp($projectstatic->budget_amount, '')) print price($projectstatic->budget_amount,'',$langs,0,0,0,$conf->currency); + print '
    '; dol_fiche_end(); @@ -312,7 +330,7 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0) /* * Actions */ - if (empty($id)) + if (empty($id) && empty($ref)) { print '
    '; @@ -353,7 +371,7 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0) $linkback=$withproject?''.$langs->trans("BackToList").'':''; // Ref - print '
    '; + print '
    '; print $langs->trans("Ref"); print ''; if (! GETPOST('withproject') || empty($projectstatic->id)) @@ -492,16 +510,21 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0) if ($projectstatic->id > 0) { - /* + if ($action == 'deleteline') + { + print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$object->id.'&lineid='.$_GET["lineid"].($withproject?'&withproject=1':''),$langs->trans("DeleteATimeSpent"),$langs->trans("ConfirmDeleteATimeSpent"),"confirm_delete",'','',1); + } + + /* * List of time spent */ $tasks = array(); - $sql = "SELECT t.rowid, t.fk_task, t.task_date, t.task_datehour, t.task_date_withhour, t.task_duration, t.fk_user, t.note, t.thm"; - $sql.= ", u.lastname, u.firstname"; - $sql .= " FROM ".MAIN_DB_PREFIX."projet_task_time as t"; - $sql .= " , ".MAIN_DB_PREFIX."user as u"; - $sql .= " WHERE t.fk_user = u.rowid"; + $sql = "SELECT t.rowid, t.fk_task, t.task_date, t.task_datehour, t.task_date_withhour, t.task_duration, t.fk_user, t.note, t.thm,"; + $sql .= " pt.ref, pt.label,"; + $sql .= " u.lastname, u.firstname"; + $sql .= " FROM ".MAIN_DB_PREFIX."projet_task_time as t, ".MAIN_DB_PREFIX."projet_task as pt, ".MAIN_DB_PREFIX."user as u"; + $sql .= " WHERE t.fk_user = u.rowid AND t.fk_task = pt.rowid"; if (empty($projectidforalltimes)) $sql .= " AND t.fk_task =".$object->id; $sql .= " ORDER BY t.task_date DESC, t.task_datehour DESC, t.rowid DESC"; @@ -534,15 +557,20 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0) dol_print_error($db); } - print ''; + print ''; print ''; print ''; - print ''; + print ''; + print ''; print ''; print ''; print ''; print ''; + if (! $id && ! $ref) // Not a dedicated task + { + print ''; + } print ''; print ''; print ''; @@ -553,6 +581,8 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0) print ''; print "\n"; + $tasktmp = new Task($db); + $total = 0; $totalvalue = 0; foreach ($tasks as $task_time) @@ -575,10 +605,22 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0) } print ''; + // Task + if (! $id && ! $ref) // Not a dedicated task + { + print ''; + } + // User print ''; } + // Other attributes + $parameters = array('colspan' => ' colspan="3"'); + $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $object, $action); // Note that $action and $object may have been modified by + // hook + if (empty($reshook) && ! empty($extrafields->attribute_label)) { + print $object->showOptionals($extrafields, 'edit'); + } + print ''; print '
    '.$langs->trans("Date").''.$langs->trans("Task").''.$langs->trans("By").''.$langs->trans("Note").''.$langs->trans("TimeSpent").' 
    '; + $tasktmp->id = $task_time->fk_task; + $tasktmp->ref = $task_time->ref; + $tasktmp->label = $task_time->label; + print $tasktmp->getNomUrl(1, 'withproject', 'time'); + print ''; if ($_GET['action'] == 'editline' && $_GET['lineid'] == $task_time->rowid) - { + { + if (empty($object->id)) $object->fetch($id); $contactsoftask=$object->getListContactId('internal'); if (!in_array($task_time->fk_user,$contactsoftask)) { $contactsoftask[]=$task_time->fk_user; From 1be3c86b4bc7d1ce5c7c58f7b9e8d1075a1f0986 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 30 Aug 2016 20:17:34 +0200 Subject: [PATCH 422/476] NEW Use new archi to select field into list of time spent --- htdocs/projet/tasks/time.php | 344 +++++++++++++++++++++++++++-------- 1 file changed, 270 insertions(+), 74 deletions(-) diff --git a/htdocs/projet/tasks/time.php b/htdocs/projet/tasks/time.php index 8eacca6f09e..6c9b964ead9 100644 --- a/htdocs/projet/tasks/time.php +++ b/htdocs/projet/tasks/time.php @@ -1,6 +1,6 @@ - * Copyright (C) 2006-2015 Laurent Destailleur + * Copyright (C) 2006-2016 Laurent Destailleur * Copyright (C) 2010-2012 Regis Houssin * Copyright (C) 2011 Juanjo Menent * @@ -40,11 +40,31 @@ $confirm=GETPOST('confirm','alpha'); $withproject=GETPOST('withproject','int'); $project_ref=GETPOST('project_ref','alpha'); +$search_dateday=GETPOST('search_dateday'); +$search_datemonth=GETPOST('search_datemonth'); +$search_dateyear=GETPOST('search_dateyear'); +$search_datehour=''; +$search_datewithhour=''; +$search_note=GETPOST('search_note','alpha'); +$search_duration=GETPOST('search_duration','int'); +$search_value=GETPOST('search_value','int'); + // Security check $socid=0; if ($user->societe_id > 0) $socid = $user->societe_id; if (!$user->rights->projet->lire) accessforbidden(); +$limit = GETPOST("limit")?GETPOST("limit","int"):$conf->liste_limit; +$sortfield = GETPOST("sortfield",'alpha'); +$sortorder = GETPOST("sortorder",'alpha'); +$page = GETPOST("page",'int'); +if ($page == -1) { $page = 0; } +$offset = $limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; +if (! $sortfield) $sortfield='t.task_date,t.task_datehour,t.rowid'; +if (! $sortorder) $sortorder='DESC'; + $object = new Task($db); $projectstatic = new Project($db); @@ -53,6 +73,28 @@ $projectstatic = new Project($db); * Actions */ +$parameters=array('socid'=>$socid, 'projectid'=>$projectid); +$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); + +include DOL_DOCUMENT_ROOT.'/core/actions_changeselectedfields.inc.php'; + +// Purge search criteria +if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") ||GETPOST("button_removefilter")) // All test are required to be compatible with all browsers +{ + $search_date=''; + $search_datehour=''; + $search_datewithhour=''; + $search_note=''; + $search_duration=''; + $search_value=''; + $search_date_creation=''; + $search_date_update=''; + $toselect=''; + $search_array_options=array(); + $action=''; +} + if ($action == 'addtimespent' && $user->rights->projet->lire) { $error=0; @@ -202,7 +244,6 @@ if (GETPOST('projectid')) } - /* * View @@ -247,7 +288,7 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0) print ''; - $linkback = ''.$langs->trans("BackToList").''; + $linkback = ''.$langs->trans("BackToList").''; // Ref print '
    '; @@ -492,6 +533,29 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0) if ($projectstatic->id > 0) { + // Initialize technical object to manage hooks. Note that conf->hooks_modules contains array + $hookmanager->initHooks(array('tasktimelist')); + $extrafields = new ExtraFields($db); + + // Definition of fields for list + $arrayfields=array( + 't.task_date'=>array('label'=>$langs->trans("Date"), 'checked'=>1), + 'author'=>array('label'=>$langs->trans("By"), 'checked'=>1), + 't.note'=>array('label'=>$langs->trans("Note"), 'checked'=>1), + 't.task_duration'=>array('label'=>$langs->trans("Duration"), 'checked'=>1), + 'value'=>array('label'=>$langs->trans("Value"), 'checked'=>1, 'enabled'=>$conf->salaries->enabled), + ); + // Extra fields + if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label)) + { + foreach($extrafields->attribute_label as $key => $val) + { + $arrayfields["ef.".$key]=array('label'=>$extrafields->attribute_label[$key], 'checked'=>$extrafields->attribute_list[$key], 'position'=>$extrafields->attribute_pos[$key], 'enabled'=>$extrafields->attribute_perms[$key]); + } + } + + + /* * List of time spent */ @@ -503,8 +567,10 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0) $sql .= " , ".MAIN_DB_PREFIX."user as u"; $sql .= " WHERE t.fk_user = u.rowid"; if (empty($projectidforalltimes)) $sql .= " AND t.fk_task =".$object->id; - $sql .= " ORDER BY t.task_date DESC, t.task_datehour DESC, t.rowid DESC"; - + if ($search_ref) $sql .= natural_search('c.ref', $search_ref); + + $sql .= $db->order($sortfield, $sortorder); + $var=true; $resql = $db->query($sql); if ($resql) @@ -534,25 +600,138 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0) dol_print_error($db); } + + + $arrayofselected=is_array($toselect)?$toselect:array(); + + $params=''; + if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.$contextpage; + if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.$limit; + if ($search_note != '') $params.= '&search_note='.urlencode($search_note); + if ($search_duration != '') $params.= '&search_field2='.urlencode($search_duration); + if ($optioncss != '') $param.='&optioncss='.$optioncss; + // Add $param from extra fields + /*foreach ($search_array_options as $key => $val) + { + $crit=$val; + $tmpkey=preg_replace('/search_options_/','',$key); + if ($val != '') $param.='&search_options_'.$tmpkey.'='.urlencode($val); + }*/ + if ($projectstatic->id) $params.='&projectid='.$projectstatic->id; + if ($withproject) $params.='&withproject='.$withproject; + + + $arrayofmassactions = array( + //'presend'=>$langs->trans("SendByMail"), + //'builddoc'=>$langs->trans("PDFMerge"), + ); + //if ($user->rights->projet->creer) $arrayofmassactions['delete']=$langs->trans("Delete"); + if ($massaction == 'presend') $arrayofmassactions=array(); + $massactionbutton=$form->selectMassAction('', $arrayofmassactions); + + + print ''; + if ($optioncss != '') print ''; print ''; - print ''; - print ''; + print ''; + print ''; + print ''; + print ''; + + print ''; print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - if (! empty($conf->salaries->enabled)) + $moreforfilter = ''; + + $parameters=array(); + $reshook=$hookmanager->executeHooks('printFieldPreListTitle',$parameters); // Note that $action and $object may have been modified by hook + if (empty($reshook)) $moreforfilter .= $hookmanager->resPrint; + else $moreforfilter = $hookmanager->resPrint; + + if (! empty($moreforfilter)) { - print ''; + print '
    '; + print $moreforfilter; + print '
    '; } - print ''; + + $varpage=empty($contextpage)?$_SERVER["PHP_SELF"]:$contextpage; + $selectedfields=$form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields + + print '
    '.$langs->trans("Date").''.$langs->trans("By").''.$langs->trans("Note").''.$langs->trans("TimeSpent").''.$langs->trans("Value").' 
    '."\n"; + + print ''; + if (! empty($arrayfields['t.task_date']['checked'])) print_liste_field_titre($arrayfields['t.task_date']['label'],$_SERVER['PHP_SELF'],'t.task_date,t.task_datehour,t.rowid','',$params,'',$sortfield,$sortorder); + if (! empty($arrayfields['t.task_datehour']['checked'])) print_liste_field_titre($arrayfields['t.task_datehour']['label'],$_SERVER['PHP_SELF'],'t.task_date,t.task_datehour,t.rowid','',$params,'',$sortfield,$sortorder); + if (! empty($arrayfields['author']['checked'])) print_liste_field_titre($arrayfields['author']['label'],$_SERVER['PHP_SELF'],'','',$params,'',$sortfield,$sortorder); + if (! empty($arrayfields['t.note']['checked'])) print_liste_field_titre($arrayfields['t.note']['label'],$_SERVER['PHP_SELF'],'t.note','',$params,'',$sortfield,$sortorder); + if (! empty($arrayfields['t.task_duration']['checked'])) print_liste_field_titre($arrayfields['t.task_duration']['label'],$_SERVER['PHP_SELF'],'t.task_duration','',$params,'align="right"',$sortfield,$sortorder); + if (! empty($arrayfields['value']['checked'])) print_liste_field_titre($arrayfields['value']['label'],$_SERVER['PHP_SELF'],'','',$params,'align="right"',$sortfield,$sortorder); + // Extra fields + /* + if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label)) + { + foreach($extrafields->attribute_label as $key => $val) + { + if (! empty($arrayfields["ef.".$key]['checked'])) + { + $align=$extrafields->getAlignFlag($key); + print_liste_field_titre($extralabels[$key],$_SERVER["PHP_SELF"],"ef.".$key,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder); + } + } + }*/ + // Hook fields + $parameters=array('arrayfields'=>$arrayfields); + $reshook=$hookmanager->executeHooks('printFieldListTitle',$parameters); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"],"",'','','align="right"',$sortfield,$sortorder,'maxwidthsearch '); print "\n"; + // Fields title search + print ''; + // LIST_OF_TD_TITLE_SEARCH + if (! empty($arrayfields['t.task_date']['checked'])) print ''; + if (! empty($arrayfields['t.task_datehour']['checked'])) print ''; + if (! empty($arrayfields['author']['checked'])) print ''; + if (! empty($arrayfields['t.note']['checked'])) print ''; + if (! empty($arrayfields['t.task_duration']['checked'])) print ''; + if (! empty($arrayfields['value']['checked'])) print ''; + // Extra fields + /* + if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label)) + { + foreach($extrafields->attribute_label as $key => $val) + { + if (! empty($arrayfields["ef.".$key]['checked'])) + { + $align=$extrafields->getAlignFlag($key); + $typeofextrafield=$extrafields->attribute_type[$key]; + print ''; + } + } + }*/ + // Fields from hook + $parameters=array('arrayfields'=>$arrayfields); + $reshook=$hookmanager->executeHooks('printFieldListOption',$parameters); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + // Action column + print ''; + print ''."\n"; + $total = 0; $totalvalue = 0; foreach ($tasks as $task_time) @@ -564,76 +743,92 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0) $date2=$db->jdate($task_time->task_datehour); // Date - print ''; } - else - { - print dol_print_date(($date2?$date2:$date1),($task_time->task_date_withhour?'dayhour':'day')); - } - print ''; - // User - print ''; + if (! empty($arrayfields['author']['checked'])) + { + print ''; + } // Note - print ''; - + if (! empty($arrayfields['t.note']['checked'])) + { + print ''; + } + // Time spent - print ''; - + if (! empty($arrayfields['t.task_duration']['checked'])) + { + print ''; + } + // Value spent - if ($conf->salaries->enabled) - { + if (! empty($arrayfields['value']['checked'])) + { print ''; } - // Edit and delete icon - print ''; print ''; if ($conf->salaries->enabled) From b5f093436e9b79e5d0adbf9e6126afd189aae65a Mon Sep 17 00:00:00 2001 From: aspangaro Date: Tue, 30 Aug 2016 21:43:17 +0200 Subject: [PATCH 423/476] NEW: Move Expense report menu from module to menu files (Again) --- htdocs/core/menus/init_menu_auguria.sql | 9 +- htdocs/core/menus/standard/eldy.lib.php | 11 ++ .../core/modules/modExpenseReport.class.php | 106 ------------------ .../install/mysql/migration/4.0.0-5.0.0.sql | 1 + 4 files changed, 19 insertions(+), 108 deletions(-) diff --git a/htdocs/core/menus/init_menu_auguria.sql b/htdocs/core/menus/init_menu_auguria.sql index d78682a57db..8d442086d64 100644 --- a/htdocs/core/menus/init_menu_auguria.sql +++ b/htdocs/core/menus/init_menu_auguria.sql @@ -332,9 +332,14 @@ insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, left insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->holiday->enabled', __HANDLER__, 'left', 5003__+MAX_llx_menu__, 'hrm', '', 5002__+MAX_llx_menu__, '/holiday/list.php?select_statut=2&leftmenu=hrm', 'ListToApprove', 2, 'trips', '$user->rights->holiday->read', '', 0, 1, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->holiday->enabled', __HANDLER__, 'left', 5004__+MAX_llx_menu__, 'hrm', '', 5000__+MAX_llx_menu__, '/holiday/define_holiday.php?&action=request', 'MenuConfCP', 1, 'holiday', '$user->rights->holiday->define_holiday', '', 0, 2, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->holiday->enabled', __HANDLER__, 'left', 5005__+MAX_llx_menu__, 'hrm', '', 5000__+MAX_llx_menu__, '/holiday/view_log.php?&action=request', 'MenuLogCP', 1, 'holiday', '$user->rights->holiday->define_holiday', '', 0, 3, __ENTITY__); --- HRM - Expense reports +-- HRM - Trips and expenses (old module) insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->deplacement->enabled', __HANDLER__, 'left', 2100__+MAX_llx_menu__, 'accountancy', 'tripsandexpenses', 15__+MAX_llx_menu__, '/compta/deplacement/index.php?leftmenu=tripsandexpenses', 'TripsAndExpenses', 0, 'trips', '$user->rights->deplacement->lire', '', 0, 5, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->deplacement->enabled', __HANDLER__, 'left', 2101__+MAX_llx_menu__, 'accountancy', '', 2100__+MAX_llx_menu__, '/compta/deplacement/card.php?action=create&leftmenu=tripsandexpenses', 'New', 1, 'trips', '$user->rights->deplacement->creer', '', 0, 1, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->deplacement->enabled', __HANDLER__, 'left', 2102__+MAX_llx_menu__, 'accountancy', '', 2100__+MAX_llx_menu__, '/compta/deplacement/list.php?leftmenu=tripsandexpenses', 'List', 1, 'trips', '$user->rights->deplacement->lire', '', 0, 2, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->deplacement->enabled', __HANDLER__, 'left', 2103__+MAX_llx_menu__, 'accountancy', '', 2100__+MAX_llx_menu__, '/compta/deplacement/stats/index.php?leftmenu=tripsandexpenses', 'Statistics', 1, 'trips', '$user->rights->deplacement->lire', '', 0, 2, __ENTITY__); - +-- HRM - Expense reports +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->expensereport->enabled', __HANDLER__, 'left', 5300__+MAX_llx_menu__, 'hrm', 'expensereport', 15__+MAX_llx_menu__, '/expensereport/index.php?leftmenu=expensereport', 'TripsAndExpenses', 0, 'trips', '$user->rights->expensereport->lire', '', 0, 5, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->expensereport->enabled', __HANDLER__, 'left', 5301__+MAX_llx_menu__, 'hrm', '', 5300__+MAX_llx_menu__, '/expensereport/card.php?action=create&leftmenu=expensereport', 'New', 1, 'trips', '$user->rights->expensereport->creer', '', 0, 1, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->expensereport->enabled', __HANDLER__, 'left', 5302__+MAX_llx_menu__, 'hrm', '', 5300__+MAX_llx_menu__, '/expensereport/list.php?leftmenu=expensereport', 'List', 1, 'trips', '$user->rights->expensereport->lire', '', 0, 2, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->expensereport->enabled', __HANDLER__, 'left', 5303__+MAX_llx_menu__, 'hrm', '', 5302__+MAX_llx_menu__, '/expensereport/list.php?search_status=2&leftmenu=expensereport', 'ListToApprove', 2, 'trips', '$user->rights->expensereport->approve', '', 0, 2, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->expensereport->enabled', __HANDLER__, 'left', 5304__+MAX_llx_menu__, 'hrm', '', 5300__+MAX_llx_menu__, '/expensereport/stats/index.php?leftmenu=expensereport', 'Statistics', 1, 'trips', '$user->rights->expensereport->lire', '', 0, 2, __ENTITY__); diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php index 386328c0929..f186a45b6dd 100644 --- a/htdocs/core/menus/standard/eldy.lib.php +++ b/htdocs/core/menus/standard/eldy.lib.php @@ -1262,6 +1262,17 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu $newmenu->add("/compta/deplacement/list.php?leftmenu=tripsandexpenses&mainmenu=hrm", $langs->trans("List"), 1, $user->rights->deplacement->lire); $newmenu->add("/compta/deplacement/stats/index.php?leftmenu=tripsandexpenses&mainmenu=hrm", $langs->trans("Statistics"), 1, $user->rights->deplacement->lire); } + + // Expense report + if (! empty($conf->expensereport->enabled)) + { + $langs->load("trips"); + $newmenu->add("/expensereport/index.php?leftmenu=expensereport&mainmenu=hrm", $langs->trans("TripsAndExpenses"), 0, $user->rights->expensereport->lire, '', $mainmenu, 'expensereport'); + $newmenu->add("/expensereport/card.php?action=create&leftmenu=expensereport&mainmenu=hrm", $langs->trans("New"), 1, $user->rights->expensereport->creer); + $newmenu->add("/expensereport/list.php?leftmenu=expensereport&mainmenu=hrm", $langs->trans("List"), 1, $user->rights->expensereport->lire); + $newmenu->add("/expensereport/list.php?search_status=2&leftmenu=expensereport&mainmenu=hrm", $langs->trans("ListToApprove"), 2, $user->rights->expensereport->approve); + $newmenu->add("/expensereport/stats/index.php?leftmenu=expensereport&mainmenu=hrm", $langs->trans("Statistics"), 1, $user->rights->expensereport->lire); + } } diff --git a/htdocs/core/modules/modExpenseReport.class.php b/htdocs/core/modules/modExpenseReport.class.php index 67dcc68b1e9..01110a66bf3 100644 --- a/htdocs/core/modules/modExpenseReport.class.php +++ b/htdocs/core/modules/modExpenseReport.class.php @@ -213,112 +213,6 @@ class modExpenseReport extends DolibarrModules $this->export_sql_end[$r] .=' WHERE ed.fk_expensereport = d.rowid AND d.fk_user_author = u.rowid'; $this->export_sql_end[$r] .=' AND d.entity IN ('.getEntity('expensereport',1).')'; - - - // Main menu entries - $this->menu = array(); // List of menus to add - $r=0; - - // Example to declare a Left Menu entry: fk_mainmenu=home,fk_leftmenu=admintools - $this->menu[$r]=array( 'fk_menu'=>'fk_mainmenu=hrm', // Use r=value where r is index key used for the parent menu entry (higher parent must be a top menu entry) - 'type'=>'left', // This is a Left menu entry - 'titre'=>'TripsAndExpenses', - 'mainmenu'=>'hrm', - 'leftmenu'=>'expensereport', - 'url'=>'/expensereport/index.php', - 'langs'=>'trips', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. - 'position'=>100, - 'enabled'=>'$conf->expensereport->enabled', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled. - 'perms'=>'$user->rights->expensereport->lire', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules - 'target'=>'', - 'user'=>2); // 0=Menu for internal users, 1=external users, 2=both - $r++; - - $this->menu[$r]=array( 'fk_menu'=>'fk_mainmenu=hrm,fk_leftmenu=expensereport', // Use r=value where r is index key used for the parent menu entry (higher parent must be a top menu entry) - 'type'=>'left', // This is a Left menu entry - 'titre'=>'New', - 'mainmenu'=>'hrm', - 'leftmenu'=>'expensereport_detailnew', - 'url'=>'/expensereport/card.php?action=create', - 'langs'=>'trips', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. - 'position'=>100, - 'enabled'=>'$conf->expensereport->enabled', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled. - 'perms'=>'$user->rights->expensereport->creer', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules - 'target'=>'', - 'user'=>2); // 0=Menu for internal users, 1=external users, 2=both - $r++; - - $this->menu[$r]=array( 'fk_menu'=>'fk_mainmenu=hrm,fk_leftmenu=expensereport', // Use r=value where r is index key used for the parent menu entry (higher parent must be a top menu entry) - 'type'=>'left', // This is a Left menu entry - 'titre'=>'List', - 'mainmenu'=>'hrm', - 'leftmenu'=>'expensereport_detaillist', - 'url'=>'/expensereport/list.php', - 'langs'=>'trips', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. - 'position'=>100, - 'enabled'=>'$conf->expensereport->enabled', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled. - 'perms'=>'$user->rights->expensereport->lire', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules - 'target'=>'', - 'user'=>2); // 0=Menu for internal users, 1=external users, 2=both - $r++; - - $this->menu[$r]=array( 'fk_menu'=>'fk_mainmenu=hrm,fk_leftmenu=expensereport_detaillist', // Use r=value where r is index key used for the parent menu entry (higher parent must be a top menu entry) - 'type'=>'left', // This is a Left menu entry - 'titre'=>'ListToApprove', - 'mainmenu'=>'hrm', - 'leftmenu'=>'expensereport_detaillist_approve', - 'url'=>'/expensereport/list.php?search_status=2', - 'langs'=>'trips', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. - 'position'=>100, - 'enabled'=>'$conf->expensereport->enabled', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled. - 'perms'=>'$user->rights->expensereport->approve', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules - 'target'=>'', - 'user'=>2); // 0=Menu for internal users, 1=external users, 2=both - $r++; - - $this->menu[$r]=array( 'fk_menu'=>'fk_mainmenu=hrm,fk_leftmenu=expensereport', // Use r=value where r is index key used for the parent menu entry (higher parent must be a top menu entry) - 'type'=>'left', // This is a Left menu entry - 'titre'=>'Statistics', - 'mainmenu'=>'hrm', - 'leftmenu'=>'expensereport_detail', - 'url'=>'/expensereport/stats/index.php', - 'langs'=>'trips', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. - 'position'=>100, - 'enabled'=>'$conf->expensereport->enabled', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled. - 'perms'=>'$user->rights->expensereport->lire', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules - 'target'=>'', - 'user'=>2); // 0=Menu for internal users, 1=external users, 2=both - $r++; - - - // Disabled, not yet stable - $this->menu[$r]=array( 'fk_menu'=>'fk_mainmenu=hrm,fk_leftmenu=expensereport', // Use r=value where r is index key used for the parent menu entry (higher parent must be a top menu entry) - 'type'=>'left', // This is a Left menu entry - 'titre'=>'ExportTripCSV', - 'mainmenu'=>'hrm', - 'leftmenu'=>'expensereport_detail', - 'url'=>'/expensereport/export_csv.php', - 'langs'=>'expensereport', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. - 'position'=>100, - 'enabled'=>'$conf->global->DEPLACEMENT_TO_CLEAN', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled. - 'perms'=>'$user->rights->expensereport->lire', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules - 'target'=>'', - 'user'=>2); // 0=Menu for internal users, 1=external users, 2=both - $r++; - - $this->menu[$r]=array( 'fk_menu'=>'fk_mainmenu=hrm,fk_leftmenu=expensereport', // Use r=value where r is index key used for the parent menu entry (higher parent must be a top menu entry) - 'type'=>'left', // This is a Left menu entry - 'titre'=>'Synchro_Compta', - 'mainmenu'=>'hrm', - 'leftmenu'=>'expensereport_detail', - 'url'=>'/expensereport/synchro_compta.php', - 'langs'=>'expensereport', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. - 'position'=>100, - 'enabled'=>'$conf->global->DEPLACEMENT_TO_CLEAN', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled. - 'perms'=>'$user->rights->expensereport->lire', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules - 'target'=>'', - 'user'=>2); // 0=Menu for internal users, 1=external users, 2=both - $r++; } /** diff --git a/htdocs/install/mysql/migration/4.0.0-5.0.0.sql b/htdocs/install/mysql/migration/4.0.0-5.0.0.sql index 8aa67dedbce..2eefc224a7a 100644 --- a/htdocs/install/mysql/migration/4.0.0-5.0.0.sql +++ b/htdocs/install/mysql/migration/4.0.0-5.0.0.sql @@ -21,6 +21,7 @@ -- -- VPGSQL8.2 DELETE FROM llx_usergroup_user WHERE fk_user NOT IN (SELECT rowid from llx_user); -- -- VMYSQL4.1 DELETE FROM llx_usergroup_user WHERE fk_usergroup NOT IN (SELECT rowid from llx_usergroup); +DELETE FROM llx_menu where module='expensereport'; ALTER TABLE llx_user DROP COLUMN phenix_login; ALTER TABLE llx_user DROP COLUMN phenix_pass; From c2b503d90fd87bf1caec3e69714efe952a0bc1af Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 31 Aug 2016 00:15:09 +0200 Subject: [PATCH 424/476] Fix missing filter --- htdocs/projet/tasks/time.php | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/projet/tasks/time.php b/htdocs/projet/tasks/time.php index 09a86e1df58..ada4156ad1c 100644 --- a/htdocs/projet/tasks/time.php +++ b/htdocs/projet/tasks/time.php @@ -526,6 +526,7 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0) $sql .= " FROM ".MAIN_DB_PREFIX."projet_task_time as t, ".MAIN_DB_PREFIX."projet_task as pt, ".MAIN_DB_PREFIX."user as u"; $sql .= " WHERE t.fk_user = u.rowid AND t.fk_task = pt.rowid"; if (empty($projectidforalltimes)) $sql .= " AND t.fk_task =".$object->id; + else $sql.= " AND pt.fk_projet IN (".$projectidforalltimes.")"; $sql .= " ORDER BY t.task_date DESC, t.task_datehour DESC, t.rowid DESC"; $var=true; From 9e6429320a56408a506385b42bbe4e54b91df967 Mon Sep 17 00:00:00 2001 From: Juanjo Menent Date: Wed, 31 Aug 2016 02:47:42 +0200 Subject: [PATCH 425/476] Fix #5641 Dolibarr 4.0 RC2 bug when create new contract --- htdocs/contrat/class/contrat.class.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/htdocs/contrat/class/contrat.class.php b/htdocs/contrat/class/contrat.class.php index 69e969c56d9..f88afb0eb07 100644 --- a/htdocs/contrat/class/contrat.class.php +++ b/htdocs/contrat/class/contrat.class.php @@ -4,7 +4,7 @@ * Copyright (C) 2005-2014 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2008 Raphael Bertrand - * Copyright (C) 2010-2015 Juanjo Menent + * Copyright (C) 2010-2016 Juanjo Menent * Copyright (C) 2013 Christophe Battarel * Copyright (C) 2013 Florian Henry * Copyright (C) 2014-2015 Marcos García @@ -2407,7 +2407,6 @@ class ContratLigne extends CommonObjectLine */ function fetch($id, $ref='') { - global $langs,$user; // Check parameters if (empty($id) && empty($ref)) return -1; @@ -2423,7 +2422,7 @@ class ContratLigne extends CommonObjectLine $sql.= " p.ref as product_ref,"; $sql.= " p.label as product_label,"; $sql.= " p.description as product_desc,"; - $sql.= " p.type as product_type,"; + $sql.= " p.fk_product_type as product_type,"; $sql.= " t.description,"; $sql.= " t.date_commande,"; $sql.= " t.date_ouverture_prevue as date_ouverture_prevue,"; From 3892f295c752bd01b74a9363e7a55a03cf2c6321 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Wed, 31 Aug 2016 06:27:35 +0200 Subject: [PATCH 426/476] Uniformize presentation of customer's invoice --- htdocs/compta/facture.php | 8 +++++--- htdocs/compta/facture/apercu.php | 8 +++++--- htdocs/compta/facture/contact.php | 6 ++++-- htdocs/compta/facture/document.php | 4 +++- htdocs/compta/facture/info.php | 4 +++- htdocs/compta/facture/note.php | 4 +++- htdocs/compta/facture/prelevement.php | 6 ++++-- htdocs/core/lib/invoice.lib.php | 2 +- 8 files changed, 28 insertions(+), 14 deletions(-) diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php index a3ead34c8fc..b821769e666 100644 --- a/htdocs/compta/facture.php +++ b/htdocs/compta/facture.php @@ -1880,7 +1880,9 @@ if (! empty($conf->projet->enabled)) { $formproject = new FormProjets($db); } $now = dol_now(); -llxHeader('', $langs->trans('InvoiceCustomer'), 'EN:Customers_Invoices|FR:Factures_Clients|ES:Facturas_a_clientes'); +$title = $langs->trans('InvoiceCustomer') . " - " . $langs->trans('Card'); +$helpurl = "EN:Customers_Invoices|FR:Factures_Clients|ES:Facturas_a_clientes"; +llxHeader('', $title, $helpurl); // Mode creation @@ -2368,7 +2370,7 @@ if ($action == 'create') } // Date invoice - print ''; @@ -3055,7 +3057,7 @@ else if ($id > 0 || ! empty($ref)) // Date invoice print ''."\n"; print ''."\n"; @@ -367,11 +372,11 @@ if ($mode == 'searchkey') print ''; - print ''."\n"; } diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 4549aa74181..ebac37ce6d8 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -1047,6 +1047,7 @@ TranslationString=Translation string CurrentTranslationString=Current translation string WarningAtLeastKeyOrTranslationRequired=A search criteria is required at least for key or translation string NewTranslationStringToShow=New translation string to show +OriginalValueWas=The original translation is overwritten. Original value was:

    %s TotalNumberOfActivatedModules=Total number of activated feature modules: %s / %s YouMustEnableOneModule=You must at least enable 1 module ClassNotFoundIntoPathWarning=Class %s not found into PHP path From 84ec5757a14ac7c4370e57148989a2785fb611de Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 4 Sep 2016 15:06:34 +0200 Subject: [PATCH 469/476] Uniformize look and feel --- htdocs/admin/translation.php | 38 ++++++++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/htdocs/admin/translation.php b/htdocs/admin/translation.php index 86a605afa53..bf313be16c2 100644 --- a/htdocs/admin/translation.php +++ b/htdocs/admin/translation.php @@ -61,6 +61,28 @@ if (! $sortorder) $sortorder='ASC'; * Actions */ +/* + * Actions + */ + +if (GETPOST('cancel')) { $action='list'; $massaction=''; } +if (! GETPOST('confirmmassaction') && $massaction != 'presend' && $massaction != 'confirm_presend') { $massaction=''; } + +$parameters=array('socid'=>$socid); +$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); + +include DOL_DOCUMENT_ROOT.'/core/actions_changeselectedfields.inc.php'; + +// Purge search criteria +if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") || GETPOST("button_removefilter")) // All test are required to be compatible with all browsers +{ + $transkey=''; + $transvalue=''; + $toselect=''; + $search_array_options=array(); +} + if ($action == 'add' || (GETPOST('add') && $action != 'update')) { @@ -296,7 +318,7 @@ if ($mode == 'searchkey') if (empty($langcode) || $langcode == '-1') $nbempty++; if (empty($transkey)) $nbempty++; if (empty($transvalue)) $nbempty++; - if ($action == 'search' && ($nbempty > 1)) + if ($action == 'search' && ($nbempty > 999)) // 999 to disable this { setEventMessages($langs->trans("WarningAtLeastKeyOrTranslationRequired"), null, 'warnings'); } @@ -365,22 +387,22 @@ if ($mode == 'searchkey') print ''; print ''; // Limit to superadmin if (! empty($conf->multicompany->enabled) && !$user->entity) { - print ''; - print '\n"; + print ''; + // Action column + print ''; print ''; if ($sortfield == 'transkey' && strtolower($sortorder) == 'asc') ksort($recordtoshow); From d1719bad5ac73722c80e1e13a0e440f276f078bc Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 5 Sep 2016 01:36:06 +0200 Subject: [PATCH 470/476] Fix ChangeLog --- ChangeLog | 91 +++++++++++++++++++++++++++---------------------------- 1 file changed, 44 insertions(+), 47 deletions(-) diff --git a/ChangeLog b/ChangeLog index ad4b18285a5..f4b13d1e3ed 100644 --- a/ChangeLog +++ b/ChangeLog @@ -31,64 +31,58 @@ check you make a fetch on object before calling the delete. ***** ChangeLog for 4.0.0 compared to 3.9.* ***** For users: -NEW: Add reccuring invoice feature and automatic generation of invoices. +NEW: Add recurring invoice feature and automatic generation of invoices. NEW: Add module "Loan" as stable. -NEW: Add module "Supplier commercial proposal" (price request) is set to stable status. -NEW: Experimental module Accountancy Expert -NEW: Experimental module Multicurency -NEW: Show into badge on tab head the number of dedicated contacts for all objects. +NEW: Add module "Supplier commercial proposal" (price request) with stable status. +NEW: Can select dynamicaly number of lines to show on page on product, shipment, contact, orders, thirdparties. +NEW: Can select fields to show on list also for list of customer orders, supplier orders, shipments, proposals and invoices. +NEW: Show into badge on tab head, the number of dedicated contacts for all objects. NEW: Add a checkbox to select/unselect all lines on page that support mass actions (like invoice list page) -NEW: Add a new method for margin calculation. Added margin on "cost price" to margin on WAP price and margin on "best supplier price". +NEW: Add a new method for margin calculation. Added margin on "cost price" in addition to margin on WAP price and margin on "best supplier price". NEW: Add an explanation message on shipment page to explain you can't make shipment if order is not validated NEW: Add date_rum into table of thirdparty bank account. NEW: The probability of lead/opportunity can be defined per lead. NEW: Added Malta VAT into migration script -NEW: #4972 Translated Charges sociales (type 0) and Charges sociales (type 1) in reports page NEW: Add Expense report into accountancy report NEW: Add Expense report to approve into workboard -NEW: Selection of boxes is move on top of home page -NEW: Add filter on a keyword, status and nature into list of modules +NEW: Selection of boxes is moved on top of home page +NEW: Add filter on a keyword, status and nature into list of modules. NEW: Add hidden option BANK_DISABLE_CHECK_DEPOSIT to disable check deposit feature. -NEW: Add option MAIN_PUBLIC_NOTE_IN_ADDRESS -NEW: add html id/class to locate value in the DOM html +NEW: Add hidden option MAIN_PUBLIC_NOTE_IN_ADDRESS NEW: Add index on invoice status -NEW: Add constant MAIN_LOGTOHTML to 0 into other setup by default to save time when we need to make debug on hosted instance. +NEW: Add constant MAIN_LOGTOHTML to 0 into setup by default to save time when we need to make debug on hosted instance. NEW: Add list of billed NEW: Add minimum stock and desired stock into import/export profiles. -NEW: Add state into thirdparty export fields +NEW: Add state into thirdparty export fields. NEW: Add more trackable events (create, submit and receive supplier order). -NEW: Add option MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN +NEW: Add hidden option MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN NEW: Add picto on module list to show warning and if module is an external module. -NEW: add product type filter on turnover report +NEW: Add product type filter on turnover report NEW: Add state into list of fields available for personalized fields of thirdparties NEW: Add statistics for interventions module NEW: Add statistics on number of projets on home page -NEW: Add stats and late records into dashboard for supplier proposals. +NEW: Add statistics and late records into dashboard for supplier proposals. NEW: Add the admin info on combo of type of contact -NEW: Add the event BILL_PAYED to list of supported events for module notification. -NEW: Add total weight and volume on PDF +NEW: Add the event BILL_PAYED to the list of supported events for module notification. +NEW: Add total weight and volume on PDF. NEW: Add hidden option to hide column qty ordered on shipments. -NEW: Add view of virtual stock into product list (when appropriate) -NEW: Add warning on tasks when they are late (add also the warning tolerance parameter) -NEW: Add weight/volume for one product into shipment export +NEW: Add view of virtual stock into product list (when appropriate). +NEW: Add warning on tasks when they are late (add also the warning tolerance parameter). +NEW: Add weight/volume for one product into shipment export. NEW: Add width and height on product card -NEW: allow a document to be linked to project from another customer on config -NEW: allow project to be shared across entities (for multicompany module) +NEW: allow a document to be linked to project of another customer by config setup. +NEW: allow project to be shared across entities (for multicompany module). NEW: All variant of ckeditor config can be tested into the setup page of module. NEW: Can change dynamically number of records visible into lists. -NEW: Can change type of extrafields for some combinations. -NEW: Can define number of first and last line into import wizard. +NEW: Can change type of extrafields (for some combinations only). +NEW: Can define number of first and last line to import into import wizard. NEW: Can edit next execution date of a cron job. NEW: Can edit value date of a vat payment after recording it. -NEW: Can filter modules on publisher -NEW: Can filter on employee status when building emailing from users -NEW: Can reopen an closed shipment -NEW: Can search on shipments into the quick search box -NEW: Can select dynamicaly number of lines to show on page on product, shipment, contact, orders, thirdparties -NEW: Can select fields to show on supplier orders list. -NEW: Can select fields to show on list also for list of customer orders, shipments and invoices. -NEW: Can select fields to show on proposal lists. -NEW: Can select language from combo list on page to overwrite a translation +NEW: Can filter modules on publisher. +NEW: Can filter on employee status when building emailing from users. +NEW: Can reopen an closed shipment. +NEW: Can search on shipments into the quick search box. +NEW: Can select language from a combo list on page to overwrite a translation. NEW: Can select number of lines on page list for projects and tasks. NEW: Can use ^ and $ (to say start with or end with like regex syntax) into search fields when search field is text. Bonus: ^$ can filter all lines with field not defined. NEW: Clean and enhance code for cron engine @@ -110,33 +104,35 @@ NEW: Into GED module, filename is truncated only if there is not enough space in NEW: Introduce a predefined job to run database backup NEW: Introduce option MAIN_WEIGHT_DEFAULT_UNIT and MAIN_VOLUME_DEFAULT_UNIT to force output unit for weight and volume. NEW: Introduce position of records into dictionnary of type of contacts -NEW: Link on user in leave context reach to leave tab. -NEW: List of user in agenda view per user show photo thumb +NEW: Link on a user in leave page reach to leave tab of user. +NEW: List of user in agenda view per user show photo thumb. NEW: Margins module - Check/update buying price on invoice lines NEW: Merge all admin tools (system and module admin tools) into same entry "Admin tools", so now things are clear: All features restricted to an admin user is inside "setup" (for setup) or "admin tools" (for action tools) instead of 3 different entries. NEW: Merge all boxes "related objects" into one. This save a lot of room on most card and avoid often horizontal scoll. NEW: Moved code that deals with bank categories to BankCateg. Created BankCateg::fetchAll function -NEW: Move Expense report menu from module to menu files -NEW: Move HRM dictionary from module to core dictionaries +NEW: Move HRM dictionary from module to core dictionaries. NEW: Mutualize code to manage email substitution variables. Show available variables into page to edit email templates. NEW: Mutualize code: Use one call of function "addThumbs", when possible, to generate thumbs files instead of several call of "vignette" function. NEW: On translation admin page, admin can overwrite a translation value. -NEW: Option MAIN_LIST_FILTER_ON_DAY is supported on proposal list -NEW: Add reputation field for price supplier -NEW: Rest API token is no more reset at each call. We can reset it with param reset=1 on login call. +NEW: Option MAIN_LIST_FILTER_ON_DAY is supported on proposal list. +NEW: Add reputation field for price supplier. NEW: Selection of fields is available on member list. NEW: Show a badge with number of withdraw requests done on the withdraw tab of invoice. -NEW: Add option to show detail per warehouse into reassort -NEW: Show total number of modules into the module list +NEW: Add option to show detail per warehouse into reassort. +NEW: Show total number of modules into the module list. NEW: Survey system has now a status like other objects. You can close or reopen a survey. -NEW: The note on time spent can be entered when using the view per day. -NEW: Use ellipsis truncation on too large left menu text +NEW: The note on time spent can be entered when using the "view per day". +NEW: Use ellipsis truncation on too large left menu text. NEW: When a new field to show into lists is selected, the form is automatically submited and field added. NEW: When creating a template invoice from a draft invoice, if there is link to contract on draft invoice, link is kept on template invoice. NEW: When emailing is not sent completely, show progression. -NEW: Add entity field in llx_societe_remise_except and llx_societe_remise +NEW: Experimental module Accountancy Expert. +NEW: Experimental module Multicurency For developers: +NEW: Add entity field in llx_societe_remise_except and llx_societe_remise. +NEW: Rest API token is no more reset at each call. We can reset it with param reset=1 on login call. +NEW: Add html id/class to locate value in the DOM html NEW: Add a css class style called 'reposition', so when clicking on a link with this class will move scrollbarr to be placed at same page location. NEW: TimeZone can be supplied to mktime NEW: hook in shipment card @@ -156,8 +152,9 @@ NEW: Removed deprecated CommonObject::client property. Please use CommonObject:: NEW: Removed unused FormOrder::selectSourcesCommande function NEW: Renamed ActionComm::add function to ActionComm::create NEW: Rename Form::select_date to Form::selectDate and Form::form_date to Form::formDate -NEW: Rename path for generiN +NEW: Rename path for generic media files NEW: More phpunit tests. Include some REST API into automatic tests. +NEW: Move Expense report menu from module to menu files. WARNING: From ae34ef98f61be966f895e0013a3929e6eb9708d1 Mon Sep 17 00:00:00 2001 From: florian HENRY Date: Mon, 5 Sep 2016 09:42:34 +0200 Subject: [PATCH 471/476] Create order from contract --- htdocs/contrat/card.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/htdocs/contrat/card.php b/htdocs/contrat/card.php index ccb3d1d314c..9e3d5425eb5 100644 --- a/htdocs/contrat/card.php +++ b/htdocs/contrat/card.php @@ -1950,6 +1950,13 @@ else else print ''; } + if (! empty($conf->commande->enabled) && $object->statut > 0 && $object->nbofservicesclosed < $nbofservices) + { + $langs->load("bills"); + if ($user->rights->facture->creer) print ''; + else print ''; + } + if ($object->nbofservicesclosed < $nbofservices) { //if (! $numactive) From ec99a056acb4a41d9d30cdf685ac440f66d8592a Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 5 Sep 2016 15:13:03 +0200 Subject: [PATCH 472/476] NEW introduce option PROJECT_DISABLE_PRIVATE_PROJECT and PROJECT_DISABLE_PUBLIC_PROJECT --- htdocs/projet/card.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/htdocs/projet/card.php b/htdocs/projet/card.php index 67463b27222..ce39fad4a14 100644 --- a/htdocs/projet/card.php +++ b/htdocs/projet/card.php @@ -519,7 +519,9 @@ if ($action == 'create' && $user->rights->projet->creer) // Public print ''; @@ -716,7 +718,9 @@ else // Visibility print ''; From 8419202588fe724ed644b0cf26fb2b279a5b670c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 6 Sep 2016 12:47:18 +0200 Subject: [PATCH 473/476] NEW Support free bottom text and watermark on expense report template --- htdocs/admin/commande.php | 1 - htdocs/admin/expensereport.php | 90 ++++++++++++++----- .../doc/pdf_standard.modules.php | 4 +- .../class/expensereport.class.php | 2 +- 4 files changed, 69 insertions(+), 28 deletions(-) diff --git a/htdocs/admin/commande.php b/htdocs/admin/commande.php index d91e58ee711..2a1c4a1561d 100644 --- a/htdocs/admin/commande.php +++ b/htdocs/admin/commande.php @@ -554,7 +554,6 @@ print "
    "; /* * Other options - * */ print load_fiche_titre($langs->trans("OtherOptions"),'',''); diff --git a/htdocs/admin/expensereport.php b/htdocs/admin/expensereport.php index 3023cb7cc66..a26a21fbede 100644 --- a/htdocs/admin/expensereport.php +++ b/htdocs/admin/expensereport.php @@ -74,7 +74,9 @@ else if ($action == 'specimen') // For fiche inter $inter = new ExpenseReport($db); $inter->initAsSpecimen(); - + $inter->status = 0; // Force statut draft to show watermark + $inter->fk_statut = 0; // Force statut draft to show watermark + // Search template files $file=''; $classname=''; $filefound=0; $dirmodels=array_merge(array('/'),(array) $conf->modules_parts['models']); @@ -187,43 +189,31 @@ else if ($action == 'setmod') dolibarr_set_const($db, "EXPENSEREPORT_ADDON",$value,'chaine',0,'',$conf->entity); } -else if ($action == 'set_EXPENSEREPORT_FREE_TEXT') +else if ($action == 'setoptions') { + $db->begin(); + $freetext= GETPOST('EXPENSEREPORT_FREE_TEXT'); // No alpha here, we want exact string - $res = dolibarr_set_const($db, "EXPENSEREPORT_FREE_TEXT",$freetext,'chaine',0,'',$conf->entity); - - if (! $res > 0) $error++; - - if (! $error) - { - setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); - } - else - { - setEventMessages($langs->trans("Error"), null, 'errors'); - } -} - -else if ($action == 'set_EXPENSEREPORT_DRAFT_WATERMARK') -{ + $res1 = dolibarr_set_const($db, "EXPENSEREPORT_FREE_TEXT",$freetext,'chaine',0,'',$conf->entity); + $draft= GETPOST('EXPENSEREPORT_DRAFT_WATERMARK','alpha'); - - $res = dolibarr_set_const($db, "EXPENSEREPORT_DRAFT_WATERMARK",trim($draft),'chaine',0,'',$conf->entity); - - if (! $res > 0) $error++; + $res2 = dolibarr_set_const($db, "EXPENSEREPORT_DRAFT_WATERMARK",trim($draft),'chaine',0,'',$conf->entity); + + if (! $res1 > 0 || ! $res2 > 0) $error++; if (! $error) { + $db->commit(); setEventMessages($langs->trans("SetupSaved"), null, 'mesgs'); } else { + $db->rollback(); setEventMessages($langs->trans("Error"), null, 'errors'); } } - /* * View */ @@ -346,7 +336,7 @@ print '
    '; + if (in_array($typeofextrafield, array('varchar', 'int', 'double', 'select'))) + { + $crit=$val; + $tmpkey=preg_replace('/search_options_/','',$key); + $searchclass=''; + if (in_array($typeofextrafield, array('varchar', 'select'))) $searchclass='searchstring'; + if (in_array($typeofextrafield, array('int', 'double'))) $searchclass='searchnum'; + print ''; + } + print ''; + $searchpitco=$form->showFilterAndCheckAddButtons($massactionbutton?1:0, 'checkforselect', 1); + print $searchpitco; + print '
    '; - if ($_GET['action'] == 'editline' && $_GET['lineid'] == $task_time->rowid) + if (! empty($arrayfields['t.task_date']['checked'])) { - print $form->select_date(($date2?$date2:$date1),'timeline',1,1,2,"timespent_date",1,0,1); + print ''; + if ($_GET['action'] == 'editline' && $_GET['lineid'] == $task_time->rowid) + { + print $form->select_date(($date2?$date2:$date1),'timeline',1,1,2,"timespent_date",1,0,1); + } + else + { + print dol_print_date(($date2?$date2:$date1),($task_time->task_date_withhour?'dayhour':'day')); + } + print ''; - if ($_GET['action'] == 'editline' && $_GET['lineid'] == $task_time->rowid) - { - $contactsoftask=$object->getListContactId('internal'); - if (!in_array($task_time->fk_user,$contactsoftask)) { - $contactsoftask[]=$task_time->fk_user; - } - if (count($contactsoftask)>0) { - print img_object('','user','class="hideonsmartphone"'); - print $form->select_dolusers($task_time->fk_user,'userid_line',0,'',0,'',$contactsoftask); - }else { - print img_error($langs->trans('FirstAddRessourceToAllocateTime')).$langs->trans('FirstAddRessourceToAllocateTime'); - } - } - else - { - $userstatic->id = $task_time->fk_user; - $userstatic->lastname = $task_time->lastname; - $userstatic->firstname = $task_time->firstname; - print $userstatic->getNomUrl(1); - } - print ''; + if ($_GET['action'] == 'editline' && $_GET['lineid'] == $task_time->rowid) + { + $contactsoftask=$object->getListContactId('internal'); + if (!in_array($task_time->fk_user,$contactsoftask)) { + $contactsoftask[]=$task_time->fk_user; + } + if (count($contactsoftask)>0) { + print img_object('','user','class="hideonsmartphone"'); + print $form->select_dolusers($task_time->fk_user,'userid_line',0,'',0,'',$contactsoftask); + }else { + print img_error($langs->trans('FirstAddRessourceToAllocateTime')).$langs->trans('FirstAddRessourceToAllocateTime'); + } + } + else + { + $userstatic->id = $task_time->fk_user; + $userstatic->lastname = $task_time->lastname; + $userstatic->firstname = $task_time->firstname; + print $userstatic->getNomUrl(1); + } + print ''; - if ($_GET['action'] == 'editline' && $_GET['lineid'] == $task_time->rowid) - { - print ''; - } - else - { - print dol_nl2br($task_time->note); - } - print ''; + if ($_GET['action'] == 'editline' && $_GET['lineid'] == $task_time->rowid) + { + print ''; + } + else + { + print dol_nl2br($task_time->note); + } + print ''; - if ($_GET['action'] == 'editline' && $_GET['lineid'] == $task_time->rowid) - { - print ''; - print $form->select_duration('new_duration',$task_time->task_duration,0,'text'); - } - else - { - print convertSecondToTime($task_time->task_duration,'allhourmin'); - } - print ''; + if ($_GET['action'] == 'editline' && $_GET['lineid'] == $task_time->rowid) + { + print ''; + print $form->select_duration('new_duration',$task_time->task_duration,0,'text'); + } + else + { + print convertSecondToTime($task_time->task_duration,'allhourmin'); + } + print ''; print price(price2num($task_time->thm * $task_time->task_duration / 3600), 1, $langs, 1, -1, -1, $conf->currency); print ''; + // Fields from hook + $parameters=array('arrayfields'=>$arrayfields, 'obj'=>$obj); + $reshook=$hookmanager->executeHooks('printFieldListValue',$parameters); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + + // Action column + print ''; if ($action == 'editline' && $_GET['lineid'] == $task_time->rowid) { print ''; @@ -659,6 +854,7 @@ if (($id > 0 || ! empty($ref)) || $projectidforalltimes > 0) $total += $task_time->task_duration; $totalvalue += price2num($task_time->thm * $task_time->task_duration / 3600); } + print '
    '.$langs->trans("Total").''.convertSecondToTime($total,'allhourmin').'
    ' . $langs->trans('Date') . ''; + print '
    ' . $langs->trans('DateInvoice') . ''; $datefacture = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']); print $form->select_date($datefacture?$datefacture:$dateinvoice, '', '', '', '', "add", 1, 1, 1); print '
    '; print ''; if ($object->type != Facture::TYPE_CREDIT_NOTE && $action != 'editinvoicedate' && ! empty($object->brouillon) && $user->rights->facture->creer && empty($conf->global->FAC_FORCE_DATE_VALIDATION)) print ''; diff --git a/htdocs/compta/facture/apercu.php b/htdocs/compta/facture/apercu.php index 1172769e95a..8300545cb22 100644 --- a/htdocs/compta/facture/apercu.php +++ b/htdocs/compta/facture/apercu.php @@ -50,7 +50,9 @@ $result = restrictedArea($user, 'facture', $id); $now=dol_now(); -llxHeader('',$langs->trans("Bill"),'Facture'); +$title = $langs->trans('InvoiceCustomer') . " - " . $langs->trans('Preview'); +$helpurl = "EN:Customers_Invoices|FR:Factures_Clients|ES:Facturas_a_clientes"; +llxHeader('', $title, $helpurl); $form = new Form($db); @@ -83,7 +85,7 @@ if ($id > 0 || ! empty($ref)) $linkback = '' . $langs->trans("BackToList") . ''; // Ref - print ''; // Dates - print ''; + print ''; print ''; // Right part with $rowspan lines diff --git a/htdocs/compta/facture/contact.php b/htdocs/compta/facture/contact.php index a7fa51ff5ae..ebc90fca6c5 100644 --- a/htdocs/compta/facture/contact.php +++ b/htdocs/compta/facture/contact.php @@ -114,7 +114,9 @@ else if ($action == 'deletecontact' && $user->rights->facture->creer) * View */ -llxHeader('', $langs->trans("InvoiceCustomer")); +$title = $langs->trans('InvoiceCustomer') . " - " . $langs->trans('ContactsAddresses'); +$helpurl = "EN:Customers_Invoices|FR:Factures_Clients|ES:Facturas_a_clientes"; +llxHeader('', $title, $helpurl); $form = new Form($db); $formcompany = new FormCompany($db); @@ -163,7 +165,7 @@ if ($id > 0 || ! empty($ref)) print ''; // Ref customer - print ''; print ''; diff --git a/htdocs/fourn/facture/contact.php b/htdocs/fourn/facture/contact.php index fbcb907ec74..1da6e0699fc 100644 --- a/htdocs/fourn/facture/contact.php +++ b/htdocs/fourn/facture/contact.php @@ -112,7 +112,9 @@ else if ($action == 'deletecontact' && $user->rights->fournisseur->facture->cree * View */ -llxHeader('',$langs->trans('SupplierInvoice')); +$title = $langs->trans('SupplierInvoice') . " - " . $langs->trans('ContactsAddresses'); +$helpurl = "EN:Module_Suppliers_Invoices|FR:Module_Fournisseurs_Factures|ES:Módulo_Facturas_de_proveedores"; +llxHeader('', $title, $helpurl); $form = new Form($db); $formcompany = new FormCompany($db); diff --git a/htdocs/fourn/facture/document.php b/htdocs/fourn/facture/document.php index 97e84d0cb6e..3ca1c2d05fa 100644 --- a/htdocs/fourn/facture/document.php +++ b/htdocs/fourn/facture/document.php @@ -81,7 +81,9 @@ include_once DOL_DOCUMENT_ROOT . '/core/actions_linkedfiles.inc.php'; $form = new Form($db); -llxHeader('',$langs->trans('SupplierInvoice')); +$title = $langs->trans('SupplierInvoice') . " - " . $langs->trans('Documents'); +$helpurl = "EN:Module_Suppliers_Invoices|FR:Module_Fournisseurs_Factures|ES:Módulo_Facturas_de_proveedores"; +llxHeader('', $title, $helpurl); if ($object->id > 0) { diff --git a/htdocs/fourn/facture/info.php b/htdocs/fourn/facture/info.php index 4dad6ea7f86..590d5ea75bd 100644 --- a/htdocs/fourn/facture/info.php +++ b/htdocs/fourn/facture/info.php @@ -43,7 +43,9 @@ $result = restrictedArea($user, 'fournisseur', $id, 'facture_fourn', 'facture'); * View */ -llxHeader('',$langs->trans('SupplierInvoice')); +$title = $langs->trans('SupplierInvoice') . " - " . $langs->trans('Info'); +$helpurl = "EN:Module_Suppliers_Invoices|FR:Module_Fournisseurs_Factures|ES:Módulo_Facturas_de_proveedores"; +llxHeader('', $title, $helpurl); $object = new FactureFournisseur($db); $object->fetch($id); diff --git a/htdocs/fourn/facture/note.php b/htdocs/fourn/facture/note.php index 1b8a4cd6bbc..eeb9d37f2fd 100644 --- a/htdocs/fourn/facture/note.php +++ b/htdocs/fourn/facture/note.php @@ -67,7 +67,9 @@ if ($action == 'setlabel' && $user->rights->fournisseur->facture->creer) $form = new Form($db); -llxHeader('',$langs->trans('SupplierInvoice')); +$title = $langs->trans('SupplierInvoice') . " - " . $langs->trans('Notes'); +$helpurl = "EN:Module_Suppliers_Invoices|FR:Module_Fournisseurs_Factures|ES:Módulo_Facturas_de_proveedores"; +llxHeader('', $title, $helpurl); if ($object->id > 0) { From 18cf2f8f8b04a50e2f8c7eb4f604b2eb01907020 Mon Sep 17 00:00:00 2001 From: gauthier Date: Wed, 31 Aug 2016 10:19:40 +0200 Subject: [PATCH 428/476] FIX : header title in commercial area --- htdocs/comm/index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/comm/index.php b/htdocs/comm/index.php index 7dc359b4568..2d473efc310 100644 --- a/htdocs/comm/index.php +++ b/htdocs/comm/index.php @@ -66,7 +66,7 @@ $companystatic=new Societe($db); if (! empty($conf->propal->enabled)) $propalstatic=new Propal($db); if (! empty($conf->commande->enabled)) $orderstatic=new Commande($db); -llxHeader(); +llxHeader("",$langs->trans("CommercialArea")); print_fiche_titre($langs->trans("CommercialArea"),'','title_commercial.png'); From 8cfac3b5c3875fc9fa7e54a3062711e1fa1cfa7c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 31 Aug 2016 12:38:54 +0200 Subject: [PATCH 429/476] FIX Several problems when using smartphone --- htdocs/cashdesk/tpl/menu.tpl.php | 4 +-- htdocs/comm/index.php | 2 +- htdocs/compta/facture/info.php | 1 + htdocs/compta/index.php | 2 +- htdocs/core/menus/standard/auguria_menu.php | 6 ++++- htdocs/core/menus/standard/eldy_menu.php | 6 ++++- htdocs/don/index.php | 2 +- htdocs/hrm/hrm.php | 2 +- htdocs/langs/en_US/cashdesk.lang | 2 +- htdocs/langs/en_US/companies.lang | 4 +-- htdocs/product/index.php | 2 +- htdocs/projet/activity/index.php | 2 +- htdocs/projet/index.php | 2 +- htdocs/societe/index.php | 2 +- htdocs/societe/notify/card.php | 8 +++--- htdocs/societe/project.php | 1 + htdocs/theme/eldy/style.css.php | 27 ++++++++++++++++++--- 17 files changed, 53 insertions(+), 22 deletions(-) diff --git a/htdocs/cashdesk/tpl/menu.tpl.php b/htdocs/cashdesk/tpl/menu.tpl.php index 745ea723b49..75347427bda 100644 --- a/htdocs/cashdesk/tpl/menu.tpl.php +++ b/htdocs/cashdesk/tpl/menu.tpl.php @@ -62,9 +62,9 @@ $langs->load("main"); print ''; print ''; - print ''; + print ''; if ($i == 0) print ''; print ''; $i++; diff --git a/htdocs/compta/facture/info.php b/htdocs/compta/facture/info.php index 250848319f3..18d585291ce 100644 --- a/htdocs/compta/facture/info.php +++ b/htdocs/compta/facture/info.php @@ -28,6 +28,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/discount.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/invoice.lib.php'; +$langs->load("companies"); $langs->load("bills"); diff --git a/htdocs/compta/index.php b/htdocs/compta/index.php index 35a56e5afb3..1dd1c46299a 100644 --- a/htdocs/compta/index.php +++ b/htdocs/compta/index.php @@ -117,7 +117,7 @@ if (count($listofsearchfields)) { if ($i == 0) print ''; print ''; - print ''; + print ''; if ($i == 0) print ''; print ''; $i++; diff --git a/htdocs/core/menus/standard/auguria_menu.php b/htdocs/core/menus/standard/auguria_menu.php index 736f2a72380..5402ac5bbd1 100644 --- a/htdocs/core/menus/standard/auguria_menu.php +++ b/htdocs/core/menus/standard/auguria_menu.php @@ -177,7 +177,11 @@ class MenuManager // We add sub entry print str_pad('',1).'
  • '; // ui-btn to highlight on clic print ''; - if ($langs->trans(ucfirst($val['mainmenu'])."Dashboard") == ucfirst($val['mainmenu'])."Dashboard") print $langs->trans("Access"); // No translation + if ($langs->trans(ucfirst($val['mainmenu'])."Dashboard") == ucfirst($val['mainmenu'])."Dashboard") // No translation + { + if ($val['mainmenu'] == 'cashdesk') print $langs->trans("Access"); + else print $langs->trans("Dashboard"); + } else print $langs->trans(ucfirst($val['mainmenu'])."Dashboard"); print ''; print '
  • '."\n"; diff --git a/htdocs/core/menus/standard/eldy_menu.php b/htdocs/core/menus/standard/eldy_menu.php index 0d43c0af9f9..5800e4b5d7a 100644 --- a/htdocs/core/menus/standard/eldy_menu.php +++ b/htdocs/core/menus/standard/eldy_menu.php @@ -185,7 +185,11 @@ class MenuManager print ''; - if ($langs->trans(ucfirst($val['mainmenu'])."Dashboard") == ucfirst($val['mainmenu'])."Dashboard") print $langs->trans("Access"); // No translation + if ($langs->trans(ucfirst($val['mainmenu'])."Dashboard") == ucfirst($val['mainmenu'])."Dashboard") // No translation + { + if ($val['mainmenu'] == 'cashdesk') print $langs->trans("Access"); + else print $langs->trans("Dashboard"); + } else print $langs->trans(ucfirst($val['mainmenu'])."Dashboard"); print ''; print ''."\n"; diff --git a/htdocs/don/index.php b/htdocs/don/index.php index 6d0b9a7fafa..9894de3a2b5 100644 --- a/htdocs/don/index.php +++ b/htdocs/don/index.php @@ -96,7 +96,7 @@ if (count($listofsearchfields)) { if ($i == 0) print ''; print ''; - print ''; + print ''; if ($i == 0) print ''; print ''; $i++; diff --git a/htdocs/hrm/hrm.php b/htdocs/hrm/hrm.php index cc2366d7e4c..1eaa45de97d 100644 --- a/htdocs/hrm/hrm.php +++ b/htdocs/hrm/hrm.php @@ -97,7 +97,7 @@ if (count($listofsearchfields)) { if ($i == 0) print ''; print ''; - print ''; + print ''; if ($i == 0) print ''; print ''; $i++; diff --git a/htdocs/langs/en_US/cashdesk.lang b/htdocs/langs/en_US/cashdesk.lang index 7b80d1a6f47..a797b8d9756 100644 --- a/htdocs/langs/en_US/cashdesk.lang +++ b/htdocs/langs/en_US/cashdesk.lang @@ -15,7 +15,7 @@ NewSell=New sell BackOffice=Back office AddThisArticle=Add this article RestartSelling=Go back on sell -SellFinished=Sell finished +SellFinished=Sale complete PrintTicket=Print ticket NoProductFound=No article found ProductFound=product found diff --git a/htdocs/langs/en_US/companies.lang b/htdocs/langs/en_US/companies.lang index 76bf2961c62..22a7844ee07 100644 --- a/htdocs/langs/en_US/companies.lang +++ b/htdocs/langs/en_US/companies.lang @@ -354,9 +354,9 @@ ExportCardToFormat=Export card to format ContactNotLinkedToCompany=Contact not linked to any third party DolibarrLogin=Dolibarr login NoDolibarrAccess=No Dolibarr access -ExportDataset_company_1=Third parties (Companies/foundations/physical people) and properties +ExportDataset_company_1=Third parties (Companies / foundations / physical people) and properties ExportDataset_company_2=Contacts and properties -ImportDataset_company_1=Third parties (Companies/foundations/physical people) and properties +ImportDataset_company_1=Third parties (Companies / foundations / physical people) and properties ImportDataset_company_2=Contacts/Addresses (of thirdparties or not) and attributes ImportDataset_company_3=Bank details ImportDataset_company_4=Third parties/Sales representatives (Affect sales representatives users to companies) diff --git a/htdocs/product/index.php b/htdocs/product/index.php index a0306af338e..f31159e044d 100644 --- a/htdocs/product/index.php +++ b/htdocs/product/index.php @@ -96,7 +96,7 @@ if (count($listofsearchfields)) { if ($i == 0) print ''; print ''; - print ''; + print ''; if ($i == 0) print ''; print ''; $i++; diff --git a/htdocs/projet/activity/index.php b/htdocs/projet/activity/index.php index b9c8e455751..adf6efbc95c 100644 --- a/htdocs/projet/activity/index.php +++ b/htdocs/projet/activity/index.php @@ -90,7 +90,7 @@ if (count($listofsearchfields)) { if ($i == 0) print ''; print ''; - print ''; + print ''; if ($i == 0) print ''; print ''; $i++; diff --git a/htdocs/projet/index.php b/htdocs/projet/index.php index 1b0dec4d9f8..752e3615464 100644 --- a/htdocs/projet/index.php +++ b/htdocs/projet/index.php @@ -114,7 +114,7 @@ if (count($listofsearchfields)) { if ($i == 0) print ''; print ''; - print ''; + print ''; if ($i == 0) print ''; print ''; $i++; diff --git a/htdocs/societe/index.php b/htdocs/societe/index.php index 1cc44777438..02b1fb94448 100644 --- a/htdocs/societe/index.php +++ b/htdocs/societe/index.php @@ -79,7 +79,7 @@ if (count($listofsearchfields)) { if ($i == 0) print ''; print ''; - print ''; + print ''; if ($i == 0) print ''; print ''; $i++; diff --git a/htdocs/societe/notify/card.php b/htdocs/societe/notify/card.php index d90d978e7d4..b1fd1bb585c 100644 --- a/htdocs/societe/notify/card.php +++ b/htdocs/societe/notify/card.php @@ -238,11 +238,11 @@ if ($result > 0) $label=($langs->trans("Notify_".$managedeventfornotification['code'])!="Notify_".$managedeventfornotification['code']?$langs->trans("Notify_".$managedeventfornotification['code']):$managedeventfornotification['label']); $actions[$managedeventfornotification['rowid']]=$label; } - print ''; - print ''; print ''; } @@ -1271,7 +1271,7 @@ else print ''; if ($object->fk_statut==6) { @@ -1280,7 +1280,7 @@ else print ''; } @@ -1504,7 +1504,7 @@ else $userauthor=new User($db); $result=$userauthor->fetch($object->fk_user_author); if ($result < 0) dol_print_error('',$userauthor->error); - print $userauthor->getNomUrl(1); + print $userauthor->getNomUrl(-1); } print ''; @@ -1527,7 +1527,7 @@ else { $userfee=new User($db); $userfee->fetch($object->fk_user_validator); - print $userfee->getNomUrl(1); + print $userfee->getNomUrl(-1); if (empty($userfee->email) || ! isValidEmail($userfee->email)) { $langs->load("errors"); @@ -1545,7 +1545,7 @@ else { $userfee=new User($db); $userfee->fetch($object->fk_user_cancel); - print $userfee->getNomUrl(1); + print $userfee->getNomUrl(-1); } print ''; print ''; @@ -1566,7 +1566,7 @@ else { $userapp=new User($db); $userapp->fetch($object->fk_user_approve); - print $userapp->getNomUrl(1); + print $userapp->getNomUrl(-1); } print ''; print ''; @@ -1582,7 +1582,7 @@ else print ''; print ''; print ''; @@ -1600,7 +1600,7 @@ else print ''; print ''; print ''; diff --git a/htdocs/expensereport/index.php b/htdocs/expensereport/index.php index 117ecc5e3c4..8d19a8e9f6d 100644 --- a/htdocs/expensereport/index.php +++ b/htdocs/expensereport/index.php @@ -142,7 +142,7 @@ $max=10; $langs->load("boxes"); -$sql = "SELECT u.rowid as uid, u.lastname, u.firstname, d.rowid, d.ref, d.date_debut as dated, d.date_fin as datef, d.date_create as dm, d.total_ht, d.total_ttc, d.fk_statut as fk_status"; +$sql = "SELECT u.rowid as uid, u.lastname, u.firstname, u.login, u.statut, u.photo, d.rowid, d.ref, d.date_debut as dated, d.date_fin as datef, d.date_create as dm, d.total_ht, d.total_ttc, d.fk_statut as fk_status"; $sql.= " FROM ".MAIN_DB_PREFIX."expensereport as d, ".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"; $sql.= " WHERE u.rowid = d.fk_user_author"; @@ -183,9 +183,12 @@ if ($result) $userstatic->id=$obj->uid; $userstatic->lastname=$obj->lastname; $userstatic->firstname=$obj->firstname; + $userstatic->login=$obj->login; + $userstatic->statut=$obj->statut; + $userstatic->photo=$obj->photo; print ''; print ''; - print ''; + print ''; print ''; print ''; print ''; diff --git a/htdocs/expensereport/list.php b/htdocs/expensereport/list.php index e09a74e20f3..d3a5205eeda 100644 --- a/htdocs/expensereport/list.php +++ b/htdocs/expensereport/list.php @@ -20,7 +20,7 @@ */ /** - * \file htdocs/expensereport/index.php + * \file htdocs/expensereport/list.php * \ingroup expensereport * \brief list of expense reports */ @@ -130,7 +130,7 @@ $pagenext = $page + 1; $sql = "SELECT d.rowid, d.ref, d.fk_user_author, d.total_ht, d.total_tva, d.total_ttc, d.fk_statut as status,"; $sql.= " d.date_debut, d.date_fin, d.date_valid,"; -$sql.= " u.rowid as id_user, u.firstname, u.lastname"; +$sql.= " u.rowid as id_user, u.firstname, u.lastname, u.login, u.statut, u.photo"; $sql.= " FROM ".MAIN_DB_PREFIX."expensereport as d"; $sql.= " INNER JOIN ".MAIN_DB_PREFIX."user as u ON d.fk_user_author = u.rowid"; $sql.= " WHERE d.entity = ".$conf->entity; @@ -314,19 +314,20 @@ if ($resql) $total_total_tva = 0; $expensereportstatic=new ExpenseReport($db); - + $usertmp = new User($db); + if ($num > 0) { while ($i < min($num,$limit)) { - $objp = $db->fetch_object($resql); - - $expensereportstatic->id=$objp->rowid; - $expensereportstatic->ref=$objp->ref; - $expensereportstatic->status=$objp->status; - $expensereportstatic->valid=$objp->date_valid; - $expensereportstatic->date_debut=$objp->date_debut; - $expensereportstatic->date_fin=$objp->date_fin; + $obj = $db->fetch_object($resql); + + $expensereportstatic->id=$obj->rowid; + $expensereportstatic->ref=$obj->ref; + $expensereportstatic->status=$obj->status; + $expensereportstatic->valid=$obj->date_valid; + $expensereportstatic->date_debut=$obj->date_debut; + $expensereportstatic->date_fin=$obj->date_fin; $var=!$var; print ""; @@ -335,12 +336,20 @@ if ($resql) if ($expensereportstatic->status == 2 && $expensereportstatic->hasDelay('toappove')) print img_warning($langs->trans("Late")); if ($expensereportstatic->status == 5 && $expensereportstatic->hasDelay('topay')) print img_warning($langs->trans("Late")); print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; print ''; @@ -349,9 +358,9 @@ if ($resql) print "\n"; - $total_total_ht = $total_total_ht + $objp->total_ht; - $total_total_tva = $total_total_tva + $objp->total_tva; - $total_total_ttc = $total_total_ttc + $objp->total_ttc; + $total_total_ht = $total_total_ht + $obj->total_ht; + $total_total_tva = $total_total_tva + $obj->total_tva; + $total_total_ttc = $total_total_ttc + $obj->total_ttc; $i++; } diff --git a/htdocs/holiday/card.php b/htdocs/holiday/card.php index 4c6aeb99110..1103804b72c 100644 --- a/htdocs/holiday/card.php +++ b/htdocs/holiday/card.php @@ -1,6 +1,6 @@ - * Copyright (C) 2012-2015 Laurent Destailleur + * Copyright (C) 2012-2016 Laurent Destailleur * Copyright (C) 2012-2016 Regis Houssin * Copyright (C) 2013 Juanjo Menent * Copyright (C) 2014 Ferran Marcet @@ -1010,7 +1010,7 @@ else print ''; print ''; // Type @@ -1120,14 +1120,14 @@ else $userCreate->fetch($cp->fk_user_create); print ''; print ''; - print ''; + print ''; print ''; } if (!$edit) { print ''; print ''; - print ''; + print ''; print ''; } else { print ''; diff --git a/htdocs/holiday/class/holiday.class.php b/htdocs/holiday/class/holiday.class.php index b76c90cbf48..75fe446d64d 100644 --- a/htdocs/holiday/class/holiday.class.php +++ b/htdocs/holiday/class/holiday.class.php @@ -298,11 +298,17 @@ class Holiday extends CommonObject $sql.= " cp.detail_refuse,"; $sql.= " uu.lastname as user_lastname,"; - $sql.= " uu.firstname as user_firstname,"; - + $sql.= " uu.firstname as user_firstname,"; + $sql.= " uu.login as user_login,"; + $sql.= " uu.statut as user_statut,"; + $sql.= " uu.photo as user_photo,"; + $sql.= " ua.lastname as validator_lastname,"; - $sql.= " ua.firstname as validator_firstname"; - + $sql.= " ua.firstname as validator_firstname,"; + $sql.= " ua.login as validator_login,"; + $sql.= " ua.statut as validator_statut,"; + $sql.= " ua.photo as validator_photo"; + $sql.= " FROM ".MAIN_DB_PREFIX."holiday as cp, ".MAIN_DB_PREFIX."user as uu, ".MAIN_DB_PREFIX."user as ua"; $sql.= " WHERE cp.entity IN (".getEntity('holiday', 1).")"; $sql.= " AND cp.fk_user = uu.rowid AND cp.fk_validator = ua.rowid "; // Hack pour la recherche sur le tableau @@ -360,10 +366,16 @@ class Holiday extends CommonObject $tab_result[$i]['user_firstname'] = $obj->user_firstname; $tab_result[$i]['user_lastname'] = $obj->user_lastname; - + $tab_result[$i]['user_login'] = $obj->user_login; + $tab_result[$i]['user_statut'] = $obj->user_statut; + $tab_result[$i]['user_photo'] = $obj->user_photo; + $tab_result[$i]['validator_firstname'] = $obj->validator_firstname; $tab_result[$i]['validator_lastname'] = $obj->validator_lastname; - + $tab_result[$i]['validator_login'] = $obj->validator_login; + $tab_result[$i]['validator_statut'] = $obj->validator_statut; + $tab_result[$i]['validator_photo'] = $obj->validator_photo; + $i++; } @@ -412,10 +424,16 @@ class Holiday extends CommonObject $sql.= " uu.lastname as user_lastname,"; $sql.= " uu.firstname as user_firstname,"; - + $sql.= " uu.login as user_login,"; + $sql.= " uu.statut as user_statut,"; + $sql.= " uu.photo as user_photo,"; + $sql.= " ua.lastname as validator_lastname,"; - $sql.= " ua.firstname as validator_firstname"; - + $sql.= " ua.firstname as validator_firstname,"; + $sql.= " ua.login as validator_login,"; + $sql.= " ua.statut as validator_statut,"; + $sql.= " ua.photo as validator_photo"; + $sql.= " FROM ".MAIN_DB_PREFIX."holiday as cp, ".MAIN_DB_PREFIX."user as uu, ".MAIN_DB_PREFIX."user as ua"; $sql.= " WHERE cp.entity IN (".getEntity('holiday', 1).")"; $sql.= " AND cp.fk_user = uu.rowid AND cp.fk_validator = ua.rowid "; // Hack pour la recherche sur le tableau @@ -473,10 +491,16 @@ class Holiday extends CommonObject $tab_result[$i]['user_firstname'] = $obj->user_firstname; $tab_result[$i]['user_lastname'] = $obj->user_lastname; - + $tab_result[$i]['user_login'] = $obj->user_login; + $tab_result[$i]['user_statut'] = $obj->user_statut; + $tab_result[$i]['user_photo'] = $obj->user_photo; + $tab_result[$i]['validator_firstname'] = $obj->validator_firstname; $tab_result[$i]['validator_lastname'] = $obj->validator_lastname; - + $tab_result[$i]['validator_login'] = $obj->validator_login; + $tab_result[$i]['validator_statut'] = $obj->validator_statut; + $tab_result[$i]['validator_photo'] = $obj->validator_photo; + $i++; } // Retourne 1 et ajoute le tableau à la variable diff --git a/htdocs/holiday/document.php b/htdocs/holiday/document.php index e2554cffffb..4f45704a269 100644 --- a/htdocs/holiday/document.php +++ b/htdocs/holiday/document.php @@ -121,14 +121,14 @@ if ($object->id) print ''; print ''; // Type print ''; print ''; print ''; print ''; diff --git a/htdocs/holiday/list.php b/htdocs/holiday/list.php index 013ee177726..a02d508cf1d 100644 --- a/htdocs/holiday/list.php +++ b/htdocs/holiday/list.php @@ -404,12 +404,18 @@ if (! empty($holiday->holiday)) $userstatic->id=$infos_CP['fk_user']; $userstatic->lastname=$infos_CP['user_lastname']; $userstatic->firstname=$infos_CP['user_firstname']; - + $userstatic->login=$infos_CP['user_login']; + $userstatic->statut=$infos_CP['user_statut']; + $userstatic->photo=$infos_CP['user_photo']; + // Valideur $approbatorstatic->id=$infos_CP['fk_validator']; $approbatorstatic->lastname=$infos_CP['validator_lastname']; $approbatorstatic->firstname=$infos_CP['validator_firstname']; - + $approbatorstatic->login=$infos_CP['validator_login']; + $approbatorstatic->statut=$infos_CP['validator_statut']; + $approbatorstatic->photo=$infos_CP['validator_photo']; + $date = $infos_CP['date_create']; print ''; @@ -419,8 +425,8 @@ if (! empty($holiday->holiday)) print $holidaystatic->getNomUrl(1); print ''; print ''; - print ''; - print ''; + print ''; + print ''; print ''; print ''; print ''; - print ''; - print ''; + print ''; + print ''; print ''; print ''; print ''; - print ''; + print ''; print ''; $starthalfday=($obj->halfday == -1 || $obj->halfday == 2)?'afternoon':'morning'; @@ -218,7 +221,7 @@ if (! empty($conf->holiday->enabled) && $user->rights->holiday->read) // Last expense report (old module) if (! empty($conf->deplacement->enabled) && $user->rights->deplacement->lire) { - $sql = "SELECT u.rowid as uid, u.lastname, u.firstname, d.rowid, d.dated as date, d.tms as dm, d.km, d.fk_statut"; + $sql = "SELECT u.rowid as uid, u.lastname, u.firstname, u.login, u.statut, u.photo, d.rowid, d.dated as date, d.tms as dm, d.km, d.fk_statut"; $sql.= " FROM ".MAIN_DB_PREFIX."deplacement as d, ".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"; $sql.= " WHERE u.rowid = d.fk_user"; @@ -258,9 +261,12 @@ if (! empty($conf->deplacement->enabled) && $user->rights->deplacement->lire) $userstatic->id=$obj->uid; $userstatic->lastname=$obj->lastname; $userstatic->firstname=$obj->firstname; + $userstatic->login=$obj->login; + $userstatic->statut=$obj->statut; + $userstatic->photo=$obj->photo; print ''; print ''; - print ''; + print ''; print ''; print ''; print ''; @@ -282,7 +288,7 @@ if (! empty($conf->deplacement->enabled) && $user->rights->deplacement->lire) // Last expense report (new module) if (! empty($conf->expensereport->enabled) && $user->rights->expensereport->lire) { - $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 = "SELECT u.rowid as uid, u.lastname, u.firstname, u.login, u.statut, u.photo, 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"; 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"; @@ -322,9 +328,12 @@ if (! empty($conf->expensereport->enabled) && $user->rights->expensereport->lire $userstatic->id=$obj->uid; $userstatic->lastname=$obj->lastname; $userstatic->firstname=$obj->firstname; + $userstatic->login=$obj->login; + $userstatic->statut=$obj->statut; + $userstatic->photo=$obj->photo; print ''; print ''; - print ''; + print ''; print ''; print ''; print ''; diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index d318e132f92..9be1124210f 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -1696,7 +1696,7 @@ class Societe extends CommonObject $reparray=array(); - $sql = "SELECT DISTINCT u.rowid, u.lastname, u.firstname, u.email, u.statut, u.entity"; + $sql = "SELECT DISTINCT u.rowid, u.login, u.lastname, u.firstname, u.email, u.statut, u.entity, u.photo"; $sql.= " FROM ".MAIN_DB_PREFIX."societe_commerciaux as sc, ".MAIN_DB_PREFIX."user as u"; if (! empty($conf->multicompany->enabled) && ! empty($conf->multicompany->transverse_mode)) { @@ -1724,6 +1724,8 @@ class Societe extends CommonObject $reparray[$i]['email']=$obj->email; $reparray[$i]['statut']=$obj->statut; $reparray[$i]['entity']=$obj->entity; + $reparray[$i]['login']=$obj->login; + $reparray[$i]['photo']=$obj->photo; $i++; } return $reparray; diff --git a/htdocs/societe/commerciaux.php b/htdocs/societe/commerciaux.php index 08d2bdd7a8b..e0f5ab7ec91 100644 --- a/htdocs/societe/commerciaux.php +++ b/htdocs/societe/commerciaux.php @@ -137,7 +137,7 @@ if (! empty($socid)) print ''; print ''; print ''; - print ''; + print ''; print ''; print ''."\n"; diff --git a/htdocs/societe/tpl/linesalesrepresentative.tpl.php b/htdocs/societe/tpl/linesalesrepresentative.tpl.php index 22d99d3e9c3..fe2add787c4 100644 --- a/htdocs/societe/tpl/linesalesrepresentative.tpl.php +++ b/htdocs/societe/tpl/linesalesrepresentative.tpl.php @@ -27,10 +27,12 @@ foreach($listsalesrepresentatives as $val) { $userstatic->id=$val['id']; + $userstatic->login=$val['login']; $userstatic->lastname=$val['lastname']; $userstatic->firstname=$val['firstname']; $userstatic->statut=$val['statut']; - print $userstatic->getNomUrl(1); + $userstatic->photo=$val['photo']; + print $userstatic->getNomUrl(-1); $i++; if ($i < $nbofsalesrepresentative) print ', '; } diff --git a/htdocs/user/group/card.php b/htdocs/user/group/card.php index 1da40878a62..541d847a45b 100644 --- a/htdocs/user/group/card.php +++ b/htdocs/user/group/card.php @@ -450,7 +450,7 @@ else print ""; print ''; diff --git a/htdocs/user/home.php b/htdocs/user/home.php index 6bcd468f62e..a5e9db67867 100644 --- a/htdocs/user/home.php +++ b/htdocs/user/home.php @@ -139,7 +139,7 @@ if ($resql) $fuserstatic->email = $obj->email; $fuserstatic->skype = $obj->skype; $fuserstatic->societe_id = $obj->fk_soc; - print $fuserstatic->getNomUrl(1); + print $fuserstatic->getNomUrl(-1); if (! empty($conf->multicompany->enabled) && $obj->admin && ! $obj->entity) { print img_picto($langs->trans("SuperAdministrator"),'redstar'); From 959f4d0ba0d6bf374999dc03e1fdecfd800f3437 Mon Sep 17 00:00:00 2001 From: philippe grand Date: Thu, 1 Sep 2016 19:44:49 +0200 Subject: [PATCH 449/476] internationalized comments --- .../class/bonprelevement.class.php | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/htdocs/compta/prelevement/class/bonprelevement.class.php b/htdocs/compta/prelevement/class/bonprelevement.class.php index 924d8092485..12195e5e05e 100644 --- a/htdocs/compta/prelevement/class/bonprelevement.class.php +++ b/htdocs/compta/prelevement/class/bonprelevement.class.php @@ -22,7 +22,7 @@ /** * \file htdocs/compta/prelevement/class/bonprelevement.class.php * \ingroup prelevement - * \brief Fichier de la classe des bons de prelevements + * \brief File of withdrawal receipts class */ require_once DOL_DOCUMENT_ROOT.'/core/class/commonobject.class.php'; @@ -104,11 +104,11 @@ class BonPrelevement extends CommonObject } /** - * Add facture to withdrawal + * Add invoice to withdrawal * * @param int $facture_id id invoice to add * @param int $client_id id invoice customer - * @param string $client_nom name of cliente + * @param string $client_nom customer name * @param int $amount amount of invoice * @param string $code_banque code of bank withdrawal * @param string $code_guichet code of bank's office @@ -166,7 +166,7 @@ class BonPrelevement extends CommonObject * * @param int $line_id id line to add * @param int $client_id id invoice customer - * @param string $client_nom name of cliente + * @param string $client_nom customer name * @param int $amount amount of invoice * @param string $code_banque code of bank withdrawal * @param string $code_guichet code of bank's office @@ -182,7 +182,7 @@ class BonPrelevement extends CommonObject if ($concat == 1) { /* - * On aggrege les lignes + * We aggregate the lines */ $sql = "SELECT rowid"; $sql.= " FROM ".MAIN_DB_PREFIX."prelevement_lignes"; @@ -205,7 +205,7 @@ class BonPrelevement extends CommonObject else { /* - * Pas de d'agregation + * No aggregate */ $sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_lignes ("; $sql.= "fk_prelevement_bons"; @@ -376,7 +376,7 @@ class BonPrelevement extends CommonObject } /* - * Fin de la procedure + * End of procedure */ if ($error == 0) { @@ -478,7 +478,7 @@ class BonPrelevement extends CommonObject $error++; } } - // Update prelevement line + // Update withdrawal line // TODO: Translate to ligneprelevement.class.php $sql = " UPDATE ".MAIN_DB_PREFIX."prelevement_lignes"; $sql.= " SET statut = 2"; @@ -605,8 +605,8 @@ class BonPrelevement extends CommonObject $arr = array(); /* - * Renvoie toutes les factures presente - * dans un bon de prelevement + * Returns all invoices presented + * within a withdrawal receipt */ $sql = "SELECT fk_facture"; if ($amounts) $sql .= ", SUM(pl.amount)"; From 50d46fa126d09ee53bad2b2af336f3799e85c928 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Thu, 1 Sep 2016 22:36:02 +0200 Subject: [PATCH 450/476] Fix: Product note & double header --- htdocs/product/info.php | 2 -- htdocs/product/note.php | 24 ++++++++++++++---------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/htdocs/product/info.php b/htdocs/product/info.php index f725d0e17d9..e29d1a168cb 100644 --- a/htdocs/product/info.php +++ b/htdocs/product/info.php @@ -74,8 +74,6 @@ llxHeader('', $title, $helpurl); $form=new Form($b); -llxHeader('', $title, $help_url); - if ($id > 0 || $ref) { $result = $object->fetch($id,$ref); diff --git a/htdocs/product/note.php b/htdocs/product/note.php index ef53946460f..39f461a4a0e 100644 --- a/htdocs/product/note.php +++ b/htdocs/product/note.php @@ -30,17 +30,20 @@ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; -$action = GETPOST('action'); - $langs->load("companies"); +$id = GETPOST('id', 'int'); +$ref = GETPOST('ref', 'alpha'); +$action = GETPOST('action'); + // Security check -$id = GETPOST('id')?GETPOST('id','int'):GETPOST('socid','int'); -if ($user->societe_id) $id=$user->societe_id; -$result = restrictedArea($user, 'societe', $id, '&societe'); +$fieldvalue = (! empty($id) ? $id : (! empty($ref) ? $ref : '')); +$fieldtype = (! empty($ref) ? 'ref' : 'rowid'); +if ($user->societe_id) $socid=$user->societe_id; +$result=restrictedArea($user,'produit|service',$fieldvalue,'product&product','','',$fieldtype); $object = new Product($db); -if ($id > 0) $object->fetch($id); +if ($id > 0 || ! empty($ref)) $object->fetch($id, $ref); $permissionnote=$user->rights->produit->creer; // Used by the include of actions_setnotes.inc.php @@ -64,7 +67,7 @@ $form = new Form($db); llxHeader('', $langs->trans("ThirdParty").' - '.$langs->trans("Notes"), $help_url); -if ($id > 0) +if ($id > 0 || ! empty($ref)) { /* * Affichage onglets @@ -81,13 +84,14 @@ if ($id > 0) print ''; print ''; - dol_banner_tab($object, 'socid', '', ($user->societe_id?0:1), 'rowid', 'nom'); + $linkback = ''.$langs->trans("BackToList").''; + + dol_banner_tab($object, 'ref', $linkback, ($user->societe_id?0:1), 'ref'); print '
    '; print '
    '; - //$colwidth='25'; - $cssclass='titlefield'; + $cssclass='titlefield'; include DOL_DOCUMENT_ROOT.'/core/tpl/notes.tpl.php'; From a54784588ba54c51fc7bb2855a63e56edbaf7faf Mon Sep 17 00:00:00 2001 From: aspangaro Date: Thu, 1 Sep 2016 22:39:01 +0200 Subject: [PATCH 451/476] Fix: Info tab on product card - Double header --- htdocs/product/info.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/htdocs/product/info.php b/htdocs/product/info.php index f725d0e17d9..e29d1a168cb 100644 --- a/htdocs/product/info.php +++ b/htdocs/product/info.php @@ -74,8 +74,6 @@ llxHeader('', $title, $helpurl); $form=new Form($b); -llxHeader('', $title, $help_url); - if ($id > 0 || $ref) { $result = $object->fetch($id,$ref); From 1c626c01eee96e1720e3aee0bd3fa3555c1d4645 Mon Sep 17 00:00:00 2001 From: fappels Date: Fri, 2 Sep 2016 11:29:28 +0200 Subject: [PATCH 452/476] Ignore time when checking lot dates --- .../stock/class/mouvementstock.class.php | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/htdocs/product/stock/class/mouvementstock.class.php b/htdocs/product/stock/class/mouvementstock.class.php index dde89bfb6e5..f9c844cd7c5 100644 --- a/htdocs/product/stock/class/mouvementstock.class.php +++ b/htdocs/product/stock/class/mouvementstock.class.php @@ -137,17 +137,26 @@ class MouvementStock extends CommonObject while ($i < $num) { $obj = $this->db->fetch_object($resql); - if ($this->db->jdate($obj->eatby) != $eatby) + // only check date values + $tmparray=dol_getdate($eatby, true); + $eatby=dol_mktime(0, 0, 0, $tmparray['mon'], $tmparray['mday'], $tmparray['year']); + $tmparray=dol_getdate($sellby, true); + $sellby=dol_mktime(0, 0, 0, $tmparray['mon'], $tmparray['mday'], $tmparray['year']); + $tmparray=dol_getdate($this->db->jdate($obj->eatby), true); + $dbEatby=dol_mktime(0, 0, 0, $tmparray['mon'], $tmparray['mday'], $tmparray['year']); + $tmparray=dol_getdate($this->db->jdate($obj->sellby), true); + $dbSellby=dol_mktime(0, 0, 0, $tmparray['mon'], $tmparray['mday'], $tmparray['year']); + if ($dbEatby != $eatby) { - $this->errors[]=$langs->trans("ThisSerialAlreadyExistWithDifferentDate", $batch, dol_print_date($this->db->jdate($obj->eatby)), dol_print_date($eatby)); - dol_syslog($langs->transnoentities("ThisSerialAlreadyExistWithDifferentDate", $batch, dol_print_date($this->db->jdate($obj->eatby)), dol_print_date($eatby)), LOG_ERR); + $this->errors[]=$langs->trans("ThisSerialAlreadyExistWithDifferentDate", $batch, dol_print_date($dbEatby), dol_print_date($eatby)); + dol_syslog($langs->transnoentities("ThisSerialAlreadyExistWithDifferentDate", $batch, dol_print_date($dbEatby), dol_print_date($eatby)), LOG_ERR); $this->db->rollback(); return -3; } - if ($this->db->jdate($obj->sellby) != $sellby) + if ($dbSellby != $sellby) { - $this->errors[]=$langs->trans("ThisSerialAlreadyExistWithDifferentDate", $batch, dol_print_date($this->db->jdate($obj->sellby)), dol_print_date($sellby)); - dol_syslog($langs->transnoentities("ThisSerialAlreadyExistWithDifferentDate", $batch, dol_print_date($this->db->jdate($obj->sellby)), dol_print_date($sellby)), LOG_ERR); + $this->errors[]=$langs->trans("ThisSerialAlreadyExistWithDifferentDate", $batch, dol_print_date($dbSellby), dol_print_date($sellby)); + dol_syslog($langs->transnoentities("ThisSerialAlreadyExistWithDifferentDate", $batch, dol_print_date($dbSellby), dol_print_date($sellby)), LOG_ERR); $this->db->rollback(); return -3; } From 416a0892d75438a4083c94176d803a5c723d8fa9 Mon Sep 17 00:00:00 2001 From: Ferran Marcet Date: Fri, 2 Sep 2016 12:32:14 +0200 Subject: [PATCH 453/476] Fix: An empty variable is used to update multiprice --- htdocs/product/price.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/htdocs/product/price.php b/htdocs/product/price.php index cfdcfd33db7..ef807d2f603 100644 --- a/htdocs/product/price.php +++ b/htdocs/product/price.php @@ -10,6 +10,7 @@ * Copyright (C) 2014 Ion agorria * Copyright (C) 2015 Alexandre Spangaro * Copyright (C) 2015 Marcos García + * Copyright (C) 2016 Ferran Marcet * * 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 @@ -213,7 +214,7 @@ if (empty($reshook)) 'price' => $newprice[$i], 'price_min' => $newprice_min[$i], 'price_base_type' => $newpricebase[$i], - 'vat_tx' => $tva_tx, + 'vat_tx' => $tva_tx_txt, 'npr' => $npr, 'localtaxes_array' => array('0'=>$localtax1_type, '1'=>$localtax1, '2'=>$localtax2_type, '3'=>$localtax2) ); From b52e2f404cbba1963d33a20bbc83bb2bc0ac8f93 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 2 Sep 2016 14:47:59 +0200 Subject: [PATCH 454/476] NEW Can select fields/extrafields on contract list + Mass delete action. --- htdocs/commande/list.php | 6 +- htdocs/contrat/list.php | 573 +++++++++++++++++++++++++++++++-------- 2 files changed, 456 insertions(+), 123 deletions(-) diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index cc4a156746f..5625b153ab1 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -95,11 +95,11 @@ $pagenext = $page + 1; if (! $sortfield) $sortfield='c.ref'; if (! $sortorder) $sortorder='DESC'; +$viewstatut=GETPOST('viewstatut'); + // Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array $contextpage='orderlist'; -$viewstatut=GETPOST('viewstatut'); - // Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array $hookmanager->initHooks(array('orderlist')); $extrafields = new ExtraFields($db); @@ -594,7 +594,7 @@ if ($resql) if (! empty($arrayfields['c.date_commande']['checked'])) print_liste_field_titre($arrayfields['c.date_commande']['label'],$_SERVER["PHP_SELF"],'c.date_commande','',$param, 'align="center"',$sortfield,$sortorder); if (! empty($arrayfields['c.date_delivery']['checked'])) print_liste_field_titre($arrayfields['c.date_delivery']['label'],$_SERVER["PHP_SELF"],'c.date_livraison','',$param, 'align="center"',$sortfield,$sortorder); if (! empty($arrayfields['c.total_ht']['checked'])) print_liste_field_titre($arrayfields['c.total_ht']['label'],$_SERVER["PHP_SELF"],'c.total_ht','',$param, 'align="right"',$sortfield,$sortorder); - if (! empty($arrayfields['c.total_vat']['checked'])) print_liste_field_titre($arrayfields['c.total_vat']['label'],$_SERVER["PHP_SELF"],'c.tva','',$param, 'align="right"',$sortfield,$sortorder); + if (! empty($arrayfields['c.total_vat']['checked'])) print_liste_field_titre($arrayfields['c.total_vat']['label'],$_SERVER["PHP_SELF"],'c.tva','',$param, 'align="right"',$sortfield,$sortorder); if (! empty($arrayfields['c.total_ttc']['checked'])) print_liste_field_titre($arrayfields['c.total_ttc']['label'],$_SERVER["PHP_SELF"],'c.total_ttc','',$param, 'align="right"',$sortfield,$sortorder); // Extra fields if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label)) diff --git a/htdocs/contrat/list.php b/htdocs/contrat/list.php index 9e0bf8a022d..72c852b10fc 100644 --- a/htdocs/contrat/list.php +++ b/htdocs/contrat/list.php @@ -31,13 +31,25 @@ require ("../main.inc.php"); require_once (DOL_DOCUMENT_ROOT."/contrat/class/contrat.class.php"); require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; $langs->load("contracts"); $langs->load("products"); $langs->load("companies"); $langs->load("compta"); +$action=GETPOST('action','alpha'); +$massaction=GETPOST('massaction','alpha'); +$show_files=GETPOST('show_files','int'); +$confirm=GETPOST('confirm','alpha'); +$toselect = GETPOST('toselect', 'array'); + $search_name=GETPOST('search_name'); +$search_town=GETPOST('search_town','alpha'); +$search_zip=GETPOST('search_zip','alpha'); +$search_state=trim(GETPOST("search_state")); +$search_country=GETPOST("search_country",'int'); +$search_type_thirdparty=GETPOST("search_type_thirdparty",'int'); $search_contract=GETPOST('search_contract'); $search_ref_supplier=GETPOST('search_ref_supplier','alpha'); $sall=GETPOST('sall'); @@ -73,6 +85,7 @@ $staticcontratligne=new ContratLigne($db); if ($search_status == '') $search_status=1; +// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array $contextpage='contractlist'; // Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array @@ -80,9 +93,8 @@ $hookmanager->initHooks(array($contextpage)); $extrafields = new ExtraFields($db); // fetch optionals attributes and labels -$extralabels = $extrafields->fetch_name_optionals_label('contract'); +$extralabels = $extrafields->fetch_name_optionals_label('contrat'); $search_array_options=$extrafields->getOptionalsFromPost($extralabels,'','search_'); - // List of fields to search into when doing a "search in all" $fieldstosearchall = array( 'c.ref'=>'Ref', @@ -94,25 +106,56 @@ $fieldstosearchall = array( ); if (empty($user->socid)) $fieldstosearchall["c.note_private"]="NotePrivate"; +$arrayfields=array( + 'c.ref'=>array('label'=>$langs->trans("Ref"), 'checked'=>1), + 'c.ref_customer'=>array('label'=>$langs->trans("RefCustomer"), 'checked'=>1), + 'c.ref_supplier'=>array('label'=>$langs->trans("RefSupplier"), 'checked'=>1), + 's.nom'=>array('label'=>$langs->trans("ThirdParty"), 'checked'=>1), + 's.town'=>array('label'=>$langs->trans("Town"), 'checked'=>0), + 's.zip'=>array('label'=>$langs->trans("Zip"), 'checked'=>0), + 'state.nom'=>array('label'=>$langs->trans("StateShort"), 'checked'=>0), + 'country.code_iso'=>array('label'=>$langs->trans("Country"), 'checked'=>0), + 'sale_representative'=>array('label'=>$langs->trans("SalesRepresentative"), 'checked'=>1), + 'c.date_contrat'=>array('label'=>$langs->trans("DateContract"), 'checked'=>1), + 'c.datec'=>array('label'=>$langs->trans("DateCreation"), 'checked'=>0, 'position'=>500), + 'c.tms'=>array('label'=>$langs->trans("DateModificationShort"), 'checked'=>0, 'position'=>500), + 'status'=>array('label'=>$langs->trans("Status"), 'checked'=>1, 'position'=>1000), +); +// Extra fields +if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label)) +{ + foreach($extrafields->attribute_label as $key => $val) + { + $arrayfields["ef.".$key]=array('label'=>$extrafields->attribute_label[$key], 'checked'=>$extrafields->attribute_list[$key], 'position'=>$extrafields->attribute_pos[$key], 'enabled'=>$extrafields->attribute_perms[$key]); + } +} + /* * Action */ -$parameters=array(); -$reshook=$hookmanager->executeHooks('doActions',$parameters, $object, $action); // Note that $action and $object may have been modified by some hooks +if (GETPOST('cancel')) { $action='list'; $massaction=''; } +if (! GETPOST('confirmmassaction') && $massaction != 'presend' && $massaction != 'confirm_presend') { $massaction=''; } + +$parameters=array('socid'=>$socid); +$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); include DOL_DOCUMENT_ROOT.'/core/actions_changeselectedfields.inc.php'; -if (empty($reshook)) +// Purge search criteria +if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") || GETPOST("button_removefilter")) // All test are required to be compatible with all browsers { - -} - -if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") || GETPOST("button_removefilter")) // Both test are required to be compatible with all browsers -{ - $search_name=""; + $day=''; + $month=''; + $year=''; + $search_name=""; + $search_town=''; + $search_zip=""; + $search_state=""; + $search_type=''; + $search_country=''; $search_contract=""; $search_ref_supplier=""; $search_user=''; @@ -120,10 +163,18 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") || GETP $search_product_category=''; $sall=""; $search_status=""; + $toselect=''; $search_array_options=array(); - $day=''; - $month=''; - $year=''; +} + +if (empty($reshook)) +{ + $objectclass='Contrat'; + $objectlabel='Contracts'; + $permtoread = $user->rights->contrat->lire; + $permtodelete = $user->rights->contrat->supprimer; + $uploaddir = $conf->contrat->dir_output; + include DOL_DOCUMENT_ROOT.'/core/actions_massactions.inc.php'; } @@ -139,16 +190,28 @@ $socstatic = new Societe($db); llxHeader(); $sql = 'SELECT'; -$sql.= " c.rowid as cid, c.ref, c.datec, c.date_contrat, c.statut, c.ref_customer, c.ref_supplier,"; -$sql.= " s.nom as name, s.rowid as socid,"; +$sql.= " c.rowid, c.ref, c.datec as date_creation, c.tms as date_update, c.date_contrat, c.statut, c.ref_customer, c.ref_supplier,"; +$sql.= ' s.rowid as socid, s.nom as name, s.town, s.zip, s.fk_pays, s.client, s.code_client,'; +$sql.= " typent.code as typent_code,"; +$sql.= " state.code_departement as state_code, state.nom as state_name,"; $sql.= ' SUM('.$db->ifsql("cd.statut=0",1,0).') as nb_initial,'; $sql.= ' SUM('.$db->ifsql("cd.statut=4 AND (cd.date_fin_validite IS NULL OR cd.date_fin_validite >= '".$db->idate($now)."')",1,0).') as nb_running,'; $sql.= ' SUM('.$db->ifsql("cd.statut=4 AND (cd.date_fin_validite IS NOT NULL AND cd.date_fin_validite < '".$db->idate($now)."')",1,0).') as nb_expired,'; $sql.= ' SUM('.$db->ifsql("cd.statut=4 AND (cd.date_fin_validite IS NOT NULL AND cd.date_fin_validite < '".$db->idate($now - $conf->contrat->services->expires->warning_delay)."')",1,0).') as nb_late,'; $sql.= ' SUM('.$db->ifsql("cd.statut=5",1,0).') as nb_closed'; +// Add fields from extrafields +foreach ($extrafields->attribute_label as $key => $val) $sql.=($extrafields->attribute_type[$key] != 'separate' ? ",ef.".$key.' as options_'.$key : ''); +// Add fields from hooks +$parameters=array(); +$reshook=$hookmanager->executeHooks('printFieldListSelect',$parameters); // Note that $action and $object may have been modified by hook +$sql.=$hookmanager->resPrint; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; +$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_country as country on (country.rowid = s.fk_pays)"; +$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_typent as typent on (typent.id = s.fk_typent)"; +$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_departements as state on (state.rowid = s.fk_departement)"; if ($search_sale > 0 || (! $user->rights->societe->client->voir && ! $socid)) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= ", ".MAIN_DB_PREFIX."contrat as c"; +if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label)) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."contrat_extrafields as ef on (c.rowid = ef.fk_object)"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."contratdet as cd ON c.rowid = cd.fk_contrat"; if ($search_product_category > 0) $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'categorie_product as cp ON cp.fk_product=cd.fk_product'; if ($search_user > 0) @@ -183,14 +246,46 @@ if ($search_sale > 0) } if ($sall) $sql .= natural_search(array_keys($fieldstosearchall), $sall); if ($search_user > 0) $sql.= " AND ec.fk_c_type_contact = tc.rowid AND tc.element='contrat' AND tc.source='internal' AND ec.element_id = c.rowid AND ec.fk_socpeople = ".$search_user; -$sql.= " GROUP BY c.rowid, c.ref, c.datec, c.date_contrat, c.statut, c.ref_customer, c.ref_supplier, s.nom, s.rowid"; +// Add where from extra fields +foreach ($search_array_options as $key => $val) +{ + $crit=$val; + $tmpkey=preg_replace('/search_options_/','',$key); + $typ=$extrafields->attribute_type[$tmpkey]; + $mode=0; + if (in_array($typ, array('int','double'))) $mode=1; // Search on a numeric + if ($val && ( ($crit != '' && ! in_array($typ, array('select'))) || ! empty($crit))) + { + $sql .= natural_search('ef.'.$tmpkey, $crit, $mode); + } +} +// Add where from hooks +$parameters=array(); +$reshook=$hookmanager->executeHooks('printFieldListWhere',$parameters); // Note that $action and $object may have been modified by hook +$sql.=$hookmanager->resPrint; + +$sql.= " GROUP BY c.rowid, c.ref, c.datec, c.tms, c.date_contrat, c.statut, c.ref_customer, c.ref_supplier,"; +$sql.= ' s.rowid, s.nom, s.town, s.zip, s.fk_pays, s.client, s.code_client,'; +$sql.= " typent.code,"; +$sql.= " state.code_departement, state.nom"; +// Add where from extra fields +foreach ($extrafields->attribute_label as $key => $val) +{ + $sql .= ', ef.'.$val; +} +// Add where from hooks +$parameters=array(); +$reshook=$hookmanager->executeHooks('printFieldListGroupBy',$parameters); // Note that $action and $object may have been modified by hook +$sql.=$hookmanager->resPrint; + +$sql.= $db->order($sortfield,$sortorder); + $totalnboflines=0; $result=$db->query($sql); if ($result) { $totalnboflines = $db->num_rows($result); } -$sql.= $db->order($sortfield,$sortorder); $nbtotalofrecords = 0; if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) @@ -207,23 +302,46 @@ if ($resql) $num = $db->num_rows($resql); $i = 0; + $arrayofselected=is_array($toselect)?$toselect:array(); + $param=''; if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.$contextpage; if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.$limit; - $param.='&search_contract='.$search_contract; - $param.='&search_name='.$search_name; - $param.='&search_ref_supplier='.$search_ref_supplier; - $param.='&search_sale=' .$search_sale; - if ($optioncss != '') $param.='&optioncss='.$optioncss; + if ($search_contract) $param.='&search_contract='.$search_contract; + if ($search_name) $param.='&search_name='.$search_name; + if ($search_ref_supplier) $param.='&search_ref_supplier='.$search_ref_supplier; + if ($search_sale) $param.='&search_sale=' .$search_sale; + if ($show_files) $param.='&show_files=' .$show_files; + if ($optioncss != '') $param.='&optioncss='.$optioncss; + // Add $param from extra fields + foreach ($search_array_options as $key => $val) + { + $crit=$val; + $tmpkey=preg_replace('/search_options_/','',$key); + if ($val != '') $param.='&search_options_'.$tmpkey.'='.urlencode($val); + } + + // List of mass actions available + $arrayofmassactions = array( + //'presend'=>$langs->trans("SendByMail"), + //'builddoc'=>$langs->trans("PDFMerge"), + ); + if ($user->rights->contrat->supprimer) $arrayofmassactions['delete']=$langs->trans("Delete"); + if ($massaction == 'presend') $arrayofmassactions=array(); + $massactionbutton=$form->selectMassAction('', $arrayofmassactions); + + + print ''; if ($optioncss != '') print ''; print ''; + print ''; print ''; print ''; print ''; - print_barre_liste($langs->trans("ListOfContracts"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder,'',$num,$totalnboflines,'title_commercial.png', 0, '', '', $limit); + print_barre_liste($langs->trans("ListOfContracts"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, $massactionbutton, $num, $totalnboflines, 'title_commercial.png', 0, '', '', $limit); if ($sall) { @@ -231,8 +349,9 @@ if ($resql) print $langs->trans("FilterOnInto", $sall) . join(', ',$fieldstosearchall); } - // If the user can view prospects other than his' $moreforfilter=''; + + // If the user can view prospects other than his' if ($user->rights->societe->client->voir || $socid) { $langs->load("commercial"); @@ -264,6 +383,7 @@ if ($resql) $reshook=$hookmanager->executeHooks('printFieldPreListTitle',$parameters); // Note that $action and $object may have been modified by hook if (empty($reshook)) $moreforfilter .= $hookmanager->resPrint; else $moreforfilter = $hookmanager->resPrint; + if (! empty($moreforfilter)) { print '
    '; @@ -271,52 +391,164 @@ if ($resql) print '
    '; } - print '
    '; - print $langs->trans('Date'); + print $langs->trans('DateInvoice'); print 'id . '">' . img_edit($langs->trans('SetDate'), 1) . '
    ' . $langs->trans('Ref') . ''; + print '
    ' . $langs->trans('Ref') . ''; $morehtmlref = ''; $discount = new DiscountAbsolute($db); $result = $discount->fetch(0, $object->id); @@ -238,7 +240,7 @@ if ($id > 0 || ! empty($ref)) print '
    '.$langs->trans("Date").'
    '.$langs->trans("DateInvoice").''.dol_print_date($object->date,"daytext").'
    '; + print '
    '; print $langs->trans('RefCustomer'); print ''; diff --git a/htdocs/compta/facture/document.php b/htdocs/compta/facture/document.php index b25d52c173b..9a15b7875d8 100644 --- a/htdocs/compta/facture/document.php +++ b/htdocs/compta/facture/document.php @@ -82,7 +82,9 @@ include_once DOL_DOCUMENT_ROOT . '/core/actions_linkedfiles.inc.php'; * View */ -llxHeader('', $langs->trans("InvoiceCustomer")); +$title = $langs->trans('InvoiceCustomer') . " - " . $langs->trans('Documents'); +$helpurl = "EN:Customers_Invoices|FR:Factures_Clients|ES:Facturas_a_clientes"; +llxHeader('', $title, $helpurl); $form = new Form($db); diff --git a/htdocs/compta/facture/info.php b/htdocs/compta/facture/info.php index 250848319f3..39334e7ccb6 100644 --- a/htdocs/compta/facture/info.php +++ b/htdocs/compta/facture/info.php @@ -35,7 +35,9 @@ $langs->load("bills"); * View */ -llxHeader('', $langs->trans("InvoiceCustomer")); +$title = $langs->trans('InvoiceCustomer') . " - " . $langs->trans('Info'); +$helpurl = "EN:Customers_Invoices|FR:Factures_Clients|ES:Facturas_a_clientes"; +llxHeader('', $title, $helpurl); $fac = new Facture($db); $fac->fetch($_GET["facid"]); diff --git a/htdocs/compta/facture/note.php b/htdocs/compta/facture/note.php index 77d3817d911..4b4b68a7cf4 100644 --- a/htdocs/compta/facture/note.php +++ b/htdocs/compta/facture/note.php @@ -60,7 +60,9 @@ include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, * View */ -llxHeader('', $langs->trans("InvoiceCustomer")); +$title = $langs->trans('InvoiceCustomer') . " - " . $langs->trans('Notes'); +$helpurl = "EN:Customers_Invoices|FR:Factures_Clients|ES:Facturas_a_clientes"; +llxHeader('', $title, $helpurl); $form = new Form($db); diff --git a/htdocs/compta/facture/prelevement.php b/htdocs/compta/facture/prelevement.php index 74a41dee31c..87a27166ae8 100644 --- a/htdocs/compta/facture/prelevement.php +++ b/htdocs/compta/facture/prelevement.php @@ -106,7 +106,9 @@ if ($action == "delete") $now=dol_now(); -llxHeader('', $langs->trans("InvoiceCustomer")); +$title = $langs->trans('InvoiceCustomer') . " - " . $langs->trans('StandingOrders'); +$helpurl = "EN:Customers_Invoices|FR:Factures_Clients|ES:Facturas_a_clientes"; +llxHeader('', $title, $helpurl); $form = new Form($db); @@ -290,7 +292,7 @@ if ($object->id > 0) // Date invoice print '
    '; print ''; if ($object->type != Facture::TYPE_CREDIT_NOTE && $action != 'editinvoicedate' && ! empty($object->brouillon) && $user->rights->facture->creer) print ''; print '
    '; - print $langs->trans('Date'); + print $langs->trans('DateInvoice'); print 'id.'">'.img_edit($langs->trans('SetDate'),1).'
    '; diff --git a/htdocs/core/lib/invoice.lib.php b/htdocs/core/lib/invoice.lib.php index f947caf5609..f48a248ab14 100644 --- a/htdocs/core/lib/invoice.lib.php +++ b/htdocs/core/lib/invoice.lib.php @@ -39,7 +39,7 @@ function facture_prepare_head($object) $head = array(); $head[$h][0] = DOL_URL_ROOT.'/compta/facture.php?facid='.$object->id; - $head[$h][1] = $langs->trans('CardBill'); + $head[$h][1] = $langs->trans('Card'); $head[$h][2] = 'compta'; $h++; From 688ac691a99911d34184e4c29f45d524b8a29b08 Mon Sep 17 00:00:00 2001 From: aspangaro Date: Wed, 31 Aug 2016 07:05:23 +0200 Subject: [PATCH 427/476] Uniformize presentation on suppliers invoices --- htdocs/core/lib/fourn.lib.php | 2 +- htdocs/fourn/facture/card.php | 6 ++++-- htdocs/fourn/facture/contact.php | 4 +++- htdocs/fourn/facture/document.php | 4 +++- htdocs/fourn/facture/info.php | 4 +++- htdocs/fourn/facture/note.php | 4 +++- 6 files changed, 17 insertions(+), 7 deletions(-) diff --git a/htdocs/core/lib/fourn.lib.php b/htdocs/core/lib/fourn.lib.php index 34a0df45674..4c277a69968 100644 --- a/htdocs/core/lib/fourn.lib.php +++ b/htdocs/core/lib/fourn.lib.php @@ -39,7 +39,7 @@ function facturefourn_prepare_head($object) $head = array(); $head[$h][0] = DOL_URL_ROOT.'/fourn/facture/card.php?facid='.$object->id; - $head[$h][1] = $langs->trans('CardBill'); + $head[$h][1] = $langs->trans('Card'); $head[$h][2] = 'card'; $h++; diff --git a/htdocs/fourn/facture/card.php b/htdocs/fourn/facture/card.php index 84b0a24a75a..7f7cbdf44eb 100644 --- a/htdocs/fourn/facture/card.php +++ b/htdocs/fourn/facture/card.php @@ -1113,7 +1113,9 @@ $formfile = new FormFile($db); $bankaccountstatic=new Account($db); $paymentstatic=new PaiementFourn($db); -llxHeader('',$langs->trans('SupplierInvoice'),''); +$title = $langs->trans('SupplierInvoice') . " - " . $langs->trans('Card'); +$helpurl = "EN:Module_Suppliers_Invoices|FR:Module_Fournisseurs_Factures|ES:Módulo_Facturas_de_proveedores"; +llxHeader('', $title, $helpurl); // Mode creation if ($action == 'create') @@ -1827,7 +1829,7 @@ else $form_permission = $object->statutrights->fournisseur->facture->creer && $object->getSommePaiement() <= 0; // Date - print '
    '.$form->editfieldkey("Date",'datef',$object->datep,$object,$form_permission,'datepicker').''; + print '
    '.$form->editfieldkey("DateInvoice",'datef',$object->datep,$object,$form_permission,'datepicker').''; print $form->editfieldval("Date",'datef',$object->datep,$object,$form_permission,'datepicker'); print '
    '.$langs->trans("Search").'
    :
    '.$langs->trans("Search").'
    :
    '.$langs->trans("Search").'
    :
    '.$langs->trans("Search").'
    :
    '.$langs->trans("Search").'
    :
    '.$langs->trans("Search").'
    :
    '.$langs->trans("Search").'
    :
    '.$langs->trans("Search").'
    :
    '; - print $form->selectarray("contactid",$listofemails); + print '
    '; + print $form->selectarray("contactid", $listofemails, '', 0, 0, 0, '', 0, 0, 0, '', 'maxwidthonsmartphone'); print ''; - print $form->selectarray("actionid",$actions,'',1); + print ''; + print $form->selectarray("actionid", $actions, '', 1, 0, 0, '', 0, 0, 0, '', 'maxwidthonsmartphone'); print ''; $type=array('email'=>$langs->trans("EMail")); diff --git a/htdocs/societe/project.php b/htdocs/societe/project.php index 707fe21a010..f99bd517975 100644 --- a/htdocs/societe/project.php +++ b/htdocs/societe/project.php @@ -32,6 +32,7 @@ require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; $langs->load("companies"); +$langs->load("projects"); // Security check $socid = GETPOST('socid','int'); diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index 9b4a1addc78..d9df3205c68 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -4310,7 +4310,6 @@ border-top-right-radius: 6px; .menu_choix1 a { background: url('') top left no-repeat; } - .menu_choix2 a { background: url('') top left no-repeat; } @@ -4327,12 +4326,34 @@ border-top-right-radius: 6px; padding-top: 18px; padding-left: 54px; font-size: 14px; - height: 40px; + height: 38px; } .menu_choix1 a:hover,.menu_choix2 a:hover { color: #6d3f6d; } - +.menu li.menu_choix1 { + padding-top: 6px; + padding-right: 10px; +} +.menu li.menu_choix2 { + padding-top: 6px; + padding-right: 10px; +} +@media only screen and (max-width: 767px) +{ + .menu_choix1 a, .menu_choix2 a { + background-size: 30px 30px; + height: 30px; + padding-left: 40px; + } + .menu li.menu_choix1, .menu li.menu_choix2 { + padding-left: 4px; + padding-right: 0; + } + .liste_articles { + margin-right: 0 !important; + } +} /* ============================================================================== */ From c49508c415673cbf881bdfe97541840bdbc18d26 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 31 Aug 2016 12:52:25 +0200 Subject: [PATCH 430/476] Revert "Fix migration for entity in remise table" This reverts commit 452f7be441b71b5ff9151e2bfc65316f38cf19d3. --- htdocs/install/upgrade2.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/install/upgrade2.php b/htdocs/install/upgrade2.php index cde5b8e199e..8db34216f18 100644 --- a/htdocs/install/upgrade2.php +++ b/htdocs/install/upgrade2.php @@ -3692,7 +3692,7 @@ function migrate_remise_entity($db,$langs,$conf) $db->begin(); $sqlSelect = "SELECT sr.rowid, s.entity"; - $sqlSelect.= " FROM ".MAIN_DB_PREFIX."societe_remise_except as sr, ".MAIN_DB_PREFIX."societe as s"; + $sqlSelect.= " FROM ".MAIN_DB_PREFIX."societe_remise as sr, ".MAIN_DB_PREFIX."societe as s"; $sqlSelect.= " WHERE sr.fk_soc = s.rowid and sr.entity != s.entity"; //print $sqlSelect; From 3edb04c5b818e2d9f9750557ca8ddace431ac1e4 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 31 Aug 2016 12:54:44 +0200 Subject: [PATCH 431/476] Fix missing migration to create entity --- htdocs/install/mysql/migration/4.0.0-5.0.0.sql | 3 +++ 1 file changed, 3 insertions(+) diff --git a/htdocs/install/mysql/migration/4.0.0-5.0.0.sql b/htdocs/install/mysql/migration/4.0.0-5.0.0.sql index 8aa67dedbce..aa3e4976965 100644 --- a/htdocs/install/mysql/migration/4.0.0-5.0.0.sql +++ b/htdocs/install/mysql/migration/4.0.0-5.0.0.sql @@ -64,4 +64,7 @@ ALTER TABLE llx_categorie_project ADD CONSTRAINT fk_categorie_project_categorie_ ALTER TABLE llx_categorie_project ADD CONSTRAINT fk_categorie_project_fk_project_rowid FOREIGN KEY (fk_project) REFERENCES llx_projet (rowid); ALTER TABLE llx_societe_remise_except ADD COLUMN entity integer DEFAULT 1 NOT NULL after rowid; +ALTER TABLE llx_societe_remise ADD COLUMN entity integer DEFAULT 1 NOT NULL after rowid; + + From e62299d67eb542be7e65ee4df9eddfcb6f614bb8 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 31 Aug 2016 14:36:08 +0200 Subject: [PATCH 432/476] NEW Add date into list of print jobs for Google Print. --- .../core/modules/printing/printgcp.modules.php | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/htdocs/core/modules/printing/printgcp.modules.php b/htdocs/core/modules/printing/printgcp.modules.php index f0e12f33610..cc8699a4e84 100644 --- a/htdocs/core/modules/printing/printgcp.modules.php +++ b/htdocs/core/modules/printing/printgcp.modules.php @@ -25,6 +25,7 @@ include_once DOL_DOCUMENT_ROOT.'/core/modules/printing/modules_printing.php'; require_once DOL_DOCUMENT_ROOT.'/includes/OAuth/bootstrap.php'; + use OAuth\Common\Storage\DoliStorage; use OAuth\Common\Consumer\Credentials; use OAuth\OAuth2\Service\Google; @@ -430,12 +431,13 @@ class printing_printgcp extends PrintingDriver //$html .= '
    '.print_r($responsedata,true).'
    '; $html .= ''; $html .= ''; - $html .= ""; - $html .= ""; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; + $html .= ''; $html .= ''."\n"; $var = True; $jobs = $responsedata['jobs']; @@ -447,6 +449,8 @@ class printing_printgcp extends PrintingDriver $var = !$var; $html .= ''; $html .= ''; + $dates=dol_print_date((int) substr($value['createTime'], 0, 10), 'dayhour'); + $html .= ''; $html .= ''; $html .= ''; $html .= ''; From c4ae712bacbc2e8197230165967203ab1ae8500e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 31 Aug 2016 16:09:56 +0200 Subject: [PATCH 433/476] Fix responsive design --- htdocs/societe/soc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/societe/soc.php b/htdocs/societe/soc.php index d818363bc14..9c792d1aaa6 100644 --- a/htdocs/societe/soc.php +++ b/htdocs/societe/soc.php @@ -1782,7 +1782,7 @@ else print ''; // Juridical type - print ''; From 45fceaeea58d71a84a7eb306b80b6063e308057f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 31 Aug 2016 16:14:31 +0200 Subject: [PATCH 434/476] Fix another field not responsive --- htdocs/societe/soc.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/societe/soc.php b/htdocs/societe/soc.php index 9c792d1aaa6..beb1cc2b4f6 100644 --- a/htdocs/societe/soc.php +++ b/htdocs/societe/soc.php @@ -1535,7 +1535,7 @@ else // Prospect/Customer print ''; - print ''; - print ''; print ''; print ''; @@ -119,7 +120,7 @@ if ($result) print ''; print ''; print "\n"; diff --git a/htdocs/hrm/class/establishment.class.php b/htdocs/hrm/class/establishment.class.php index 88b765740ef..9ff2e2065cc 100644 --- a/htdocs/hrm/class/establishment.class.php +++ b/htdocs/hrm/class/establishment.class.php @@ -58,8 +58,8 @@ class Establishment extends CommonObject { $this->db = $db; - $this->statuts_short = array(0 => 'Opened', 1 => 'Closed'); - $this->statuts = array(0 => 'Opened', 1 => 'Closed'); + $this->statuts_short = array(0 => 'Closed', 1 => 'Opened'); + $this->statuts = array(0 => 'Closed', 1 => 'Opened'); return 1; } @@ -157,7 +157,7 @@ class Establishment extends CommonObject $sql .= ", address = '".$this->address."'"; $sql .= ", zip = '".$this->zip."'"; $sql .= ", town = '".$this->town."'"; - + $sql .= ", fk_country = ".($this->country_id > 0 ? $this->country_id : 'null'); $sql .= ", status = '".$this->status."'"; $sql .= ", fk_user_mod = " . $user->id; $sql .= " WHERE rowid = ".$this->id; @@ -273,23 +273,23 @@ class Establishment extends CommonObject } if ($mode == 2) { - if ($status==0) return img_picto($langs->trans($this->statuts_short[$status]),'statut4').' '.$langs->trans($this->statuts_short[$status]); - if ($status==1) return img_picto($langs->trans($this->statuts_short[$status]),'statut8').' '.$langs->trans($this->statuts_short[$status]); + if ($status==0) return img_picto($langs->trans($this->statuts_short[$status]),'statut5').' '.$langs->trans($this->statuts_short[$status]); + if ($status==1) return img_picto($langs->trans($this->statuts_short[$status]),'statut4').' '.$langs->trans($this->statuts_short[$status]); } if ($mode == 3) { - if ($status==0 && ! empty($this->statuts_short[$status])) return img_picto($langs->trans($this->statuts_short[$status]),'statut4'); - if ($status==1 && ! empty($this->statuts_short[$status])) return img_picto($langs->trans($this->statuts_short[$status]),'statut8'); + if ($status==0 && ! empty($this->statuts_short[$status])) return img_picto($langs->trans($this->statuts_short[$status]),'statut5'); + if ($status==1 && ! empty($this->statuts_short[$status])) return img_picto($langs->trans($this->statuts_short[$status]),'statut4'); } if ($mode == 4) { - if ($status==0 && ! empty($this->statuts_short[$status])) return img_picto($langs->trans($this->statuts_short[$status]),'statut4').' '.$langs->trans($this->statuts[$status]); - if ($status==1 && ! empty($this->statuts_short[$status])) return img_picto($langs->trans($this->statuts_short[$status]),'statut8').' '.$langs->trans($this->statuts[$status]); + if ($status==0 && ! empty($this->statuts_short[$status])) return img_picto($langs->trans($this->statuts_short[$status]),'statut5').' '.$langs->trans($this->statuts[$status]); + if ($status==1 && ! empty($this->statuts_short[$status])) return img_picto($langs->trans($this->statuts_short[$status]),'statut4').' '.$langs->trans($this->statuts[$status]); } if ($mode == 5) { - if ($status==0 && ! empty($this->statuts_short[$status])) return $langs->trans($this->statuts_short[$status]).' '.img_picto($langs->trans($this->statuts_short[$status]),'statut4'); - if ($status==1 && ! empty($this->statuts_short[$status])) return $langs->trans($this->statuts_short[$status]).' '.img_picto($langs->trans($this->statuts_short[$status]),'statut8'); + if ($status==0 && ! empty($this->statuts_short[$status])) return $langs->trans($this->statuts_short[$status]).' '.img_picto($langs->trans($this->statuts_short[$status]),'statut5'); + if ($status==1 && ! empty($this->statuts_short[$status])) return $langs->trans($this->statuts_short[$status]).' '.img_picto($langs->trans($this->statuts_short[$status]),'statut4'); } } diff --git a/htdocs/hrm/establishment/card.php b/htdocs/hrm/establishment/card.php index 9917113ff39..eafa302886f 100644 --- a/htdocs/hrm/establishment/card.php +++ b/htdocs/hrm/establishment/card.php @@ -40,8 +40,8 @@ $id = GETPOST('id','int'); // List of status static $tmpstatus2label=array( - '0'=>'OpenEtablishment', - '1'=>'CloseEtablishment' + '0'=>'CloseEtablishment', + '1'=>'OpenEtablishment' ); $status2label=array(''); foreach ($tmpstatus2label as $key => $val) $status2label[$key]=$langs->trans($val); @@ -138,7 +138,7 @@ else if ($action == 'update') $object->address = GETPOST('address', 'alpha'); $object->zip = GETPOST('zipcode', 'alpha'); $object->town = GETPOST('town', 'alpha'); - $object->country_id = $_POST["country_id"]; + $object->country_id = GETPOST('country_id', 'int'); $object->fk_user_mod = $user->id; $result = $object->update($user); @@ -378,7 +378,8 @@ else if ($id) print ''; // Status - print ''; + print ''; print "
    IdOwnerPrinterFileStatusCancel'.$langs->trans("Id").''.$langs->trans("Date").''.$langs->trans("Owner").''.$langs->trans("Printer").''.$langs->trans("Filename").''.$langs->trans("Status").''.$langs->trans("Cancel").'
    '.$value['id'].''.$dates.''.$value['ownerId'].''.$value['printerName'].''.$value['title'].'
    '.fieldLabel('JuridicalStatus','forme_juridique_code').''; + print '
    '.fieldLabel('JuridicalStatus','forme_juridique_code').''; print $formcompany->select_juridicalstatus($object->forme_juridique_code, $object->country_code, '', 'forme_juridique_code'); print '
    '.fieldLabel('ProspectCustomer','customerprospect',1).'
    '.fieldLabel('Supplier','fournisseur',1).''; + print ''.fieldLabel('Supplier','fournisseur',1).''; print $form->selectyesno("fournisseur",$object->fournisseur,1); print ''.fieldLabel('SupplierCode','supplier_code').''; From 56d6510472c07ae5af598c77a60d3e3544243bd1 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 31 Aug 2016 18:35:15 +0200 Subject: [PATCH 435/476] Fix Quick hack to solve legal problem in some countries. --- htdocs/compta/facture.php | 194 ++++++++++++++++++++------------------ 1 file changed, 102 insertions(+), 92 deletions(-) diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php index 8586a5d77a5..63d87cfba31 100644 --- a/htdocs/compta/facture.php +++ b/htdocs/compta/facture.php @@ -2190,31 +2190,34 @@ if ($action == 'create') if ((empty($origin)) || ((($origin == 'propal') || ($origin == 'commande')) && (! empty($originid)))) { // Deposit - print '
    '; - $tmp=' '; - print ''; - - $desc = $form->textwithpicto($tmp.$langs->trans("InvoiceDeposit"), $langs->transnoentities("InvoiceDepositDesc"), 1, 'help', '', 0, 3); - print ''; - if (($origin == 'propal') || ($origin == 'commande')) - { - print ''; - print '
    '; - print $desc; - print ''; - $arraylist = array('amount' => 'FixAmount','variable' => 'VarAmount'); - print $form->selectarray('typedeposit', $arraylist, GETPOST('typedeposit'), 0, 0, 0, '', 1); - print '' . $langs->trans('Value') . ':'; - } - print '
    '; - - print '
    '; + if (empty($conf->global->INVOICE_DISABLE_DEPOSIT)) + { + print '
    '; + $tmp=' '; + print ''; + + $desc = $form->textwithpicto($tmp.$langs->trans("InvoiceDeposit"), $langs->transnoentities("InvoiceDepositDesc"), 1, 'help', '', 0, 3); + print ''; + if (($origin == 'propal') || ($origin == 'commande')) + { + print ''; + print '
    '; + print $desc; + print ''; + $arraylist = array('amount' => 'FixAmount','variable' => 'VarAmount'); + print $form->selectarray('typedeposit', $arraylist, GETPOST('typedeposit'), 0, 0, 0, '', 1); + print '' . $langs->trans('Value') . ':'; + } + print '
    '; + + print '
    '; + } } if ($socid > 0) @@ -2244,32 +2247,36 @@ if ($action == 'create') } // Replacement - print '
    '; - $tmp=' - jQuery(document).ready(function() { - jQuery("#fac_replacement").change(function() { - jQuery("#radio_replacement").prop("checked", true); - }); - }); - '; - $text = $tmp.$langs->trans("InvoiceReplacementAsk") . ' '; - $text .= ' + jQuery(document).ready(function() { + jQuery("#fac_replacement").change(function() { + jQuery("#radio_replacement").prop("checked", true); + }); + }); + '; + $text = $tmp.$langs->trans("InvoiceReplacementAsk") . ' '; + $text .= ''; + $desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceReplacementDesc"), 1, 'help', '', 0, 3); + print $desc; + print '
    '; } - $text .= ''; - $desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceReplacementDesc"), 1, 'help', '', 0, 3); - print $desc; - print ''; } else { @@ -2286,48 +2293,51 @@ if ($action == 'create') { if ($socid > 0) { - // Credit note - print '
    '; - $tmp=' - jQuery(document).ready(function() { - if (! jQuery("#radio_creditnote").is(":checked")) - { - jQuery("#credit_note_options").hide(); - } - jQuery("#radio_creditnote").click(function() { - jQuery("#credit_note_options").show(); - }); - jQuery("#radio_standard, #radio_replacement, #radio_deposit").click(function() { - jQuery("#credit_note_options").hide(); - }); - }); - '; - $text = $tmp.$langs->transnoentities("InvoiceAvoirAsk") . ' '; - // $text.=''; - $text .= ''; - $desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceAvoirDesc"), 1, 'help', '', 0, 3); - print $desc; - - print '
    '; - print '    0 ? 'checked':'').' /> "; - print '
        0 ? 'checked':'').' /> "; - print '
    '; - - print '
    '; + // Credit note + if (empty($conf->global->INVOICE_DISABLE_CREDIT_NOTE)) + { + print '
    '; + $tmp=' + jQuery(document).ready(function() { + if (! jQuery("#radio_creditnote").is(":checked")) + { + jQuery("#credit_note_options").hide(); + } + jQuery("#radio_creditnote").click(function() { + jQuery("#credit_note_options").show(); + }); + jQuery("#radio_standard, #radio_replacement, #radio_deposit").click(function() { + jQuery("#credit_note_options").hide(); + }); + }); + '; + $text = $tmp.$langs->transnoentities("InvoiceAvoirAsk") . ' '; + // $text.=''; + $text .= ''; + $desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceAvoirDesc"), 1, 'help', '', 0, 3); + print $desc; + + print '
    '; + print '    0 ? 'checked':'').' /> "; + print '
        0 ? 'checked':'').' /> "; + print '
    '; + + print '
    '; + } } else { From f04a3bf0c800f38213ae5613e613fff2df0ef8e5 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 31 Aug 2016 18:46:47 +0200 Subject: [PATCH 436/476] Fix sql error --- htdocs/hrm/establishment/card.php | 7 ++++++- htdocs/install/mysql/migration/3.9.0-4.0.0.sql | 4 ++++ htdocs/install/mysql/tables/llx_establishment.sql | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/htdocs/hrm/establishment/card.php b/htdocs/hrm/establishment/card.php index 11179d218f8..9917113ff39 100644 --- a/htdocs/hrm/establishment/card.php +++ b/htdocs/hrm/establishment/card.php @@ -48,6 +48,10 @@ foreach ($tmpstatus2label as $key => $val) $status2label[$key]=$langs->trans($va $object = new Establishment($db); +// Load object +include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once + + /* * Actions */ @@ -128,7 +132,8 @@ else if ($action == 'update') $error ++; } - if (empty($error)) { + if (empty($error)) + { $object->name = GETPOST('name', 'alpha'); $object->address = GETPOST('address', 'alpha'); $object->zip = GETPOST('zipcode', 'alpha'); diff --git a/htdocs/install/mysql/migration/3.9.0-4.0.0.sql b/htdocs/install/mysql/migration/3.9.0-4.0.0.sql index 1309c1dc225..cbc0dd75a56 100644 --- a/htdocs/install/mysql/migration/3.9.0-4.0.0.sql +++ b/htdocs/install/mysql/migration/3.9.0-4.0.0.sql @@ -537,3 +537,7 @@ INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (178, INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (178, '17804', 'Sociedad Civil', 1); INSERT INTO llx_c_forme_juridique (fk_pays, code, libelle, active) VALUES (178, '17805', 'Sociedad Anónima', 1); + +-- VMYSQL4.1 ALTER TABLE llx_establishment CHANGE COLUMN fk_user_mod fk_user_mod integer NULL; +-- VPGSQL8.2 ALTER TABLE llx_establishment ALTER COLUMN fk_user_mod DROP NOT NULL; + diff --git a/htdocs/install/mysql/tables/llx_establishment.sql b/htdocs/install/mysql/tables/llx_establishment.sql index fcf57ac28b6..667d512762d 100644 --- a/htdocs/install/mysql/tables/llx_establishment.sql +++ b/htdocs/install/mysql/tables/llx_establishment.sql @@ -33,7 +33,7 @@ CREATE TABLE llx_establishment ( profid3 varchar(20), phone varchar(20), fk_user_author integer NOT NULL, - fk_user_mod integer NOT NULL, + fk_user_mod integer, datec datetime NOT NULL, tms timestamp NOT NULL, status tinyint DEFAULT 1 From 1360372a3cdd5b6aa4f62e743f33692e3d0e6194 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 31 Aug 2016 18:57:27 +0200 Subject: [PATCH 437/476] Fix hrm module --- htdocs/hrm/admin/admin_establishment.php | 5 +++-- htdocs/hrm/class/establishment.class.php | 22 +++++++++++----------- htdocs/hrm/establishment/card.php | 9 +++++---- 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/htdocs/hrm/admin/admin_establishment.php b/htdocs/hrm/admin/admin_establishment.php index 5f004f15e09..25c2fbf24c7 100644 --- a/htdocs/hrm/admin/admin_establishment.php +++ b/htdocs/hrm/admin/admin_establishment.php @@ -110,7 +110,8 @@ if ($result) $establishmentstatic->id=$obj->rowid; $establishmentstatic->name=$obj->name; - + $establishmentstatic->status=$obj->status; + $var=!$var; print '
    '.$establishmentstatic->getNomUrl(1).''.$obj->town.''; - print $establishmenttmp->getLibStatus(5); + print $establishmentstatic->getLibStatus(5); print '
    '.$langs->trans("Status").''.$object->getLibStatus(4).'
    '.$langs->trans("Status").''; + print $object->getLibStatus(4).'
    "; From 545bc9d33d2f04738408a08c93367f7b2c42202e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 31 Aug 2016 19:36:21 +0200 Subject: [PATCH 438/476] Fix var conf not defined. --- htdocs/compta/prelevement/class/bonprelevement.class.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/htdocs/compta/prelevement/class/bonprelevement.class.php b/htdocs/compta/prelevement/class/bonprelevement.class.php index a49b5f5f7c6..924d8092485 100644 --- a/htdocs/compta/prelevement/class/bonprelevement.class.php +++ b/htdocs/compta/prelevement/class/bonprelevement.class.php @@ -1680,8 +1680,9 @@ class BonPrelevement extends CommonObject * @return string String with SEPA Sender */ function EnregEmetteurSEPA($configuration, $ladate, $nombre, $total, $CrLf='\n') - { // SEPA INITIALISATION - global $confs; + { + // SEPA INITIALISATION + global $conf; $dateTime_YMD = dol_print_date($ladate, '%Y%m%d'); $dateTime_ETAD = dol_print_date($ladate, '%Y-%m-%d'); From 292993c14f028b783b4c86d04bb5b274e8301802 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 31 Aug 2016 19:37:34 +0200 Subject: [PATCH 439/476] Fix var $conf not defined --- htdocs/compta/prelevement/class/bonprelevement.class.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/htdocs/compta/prelevement/class/bonprelevement.class.php b/htdocs/compta/prelevement/class/bonprelevement.class.php index a49b5f5f7c6..924d8092485 100644 --- a/htdocs/compta/prelevement/class/bonprelevement.class.php +++ b/htdocs/compta/prelevement/class/bonprelevement.class.php @@ -1680,8 +1680,9 @@ class BonPrelevement extends CommonObject * @return string String with SEPA Sender */ function EnregEmetteurSEPA($configuration, $ladate, $nombre, $total, $CrLf='\n') - { // SEPA INITIALISATION - global $confs; + { + // SEPA INITIALISATION + global $conf; $dateTime_YMD = dol_print_date($ladate, '%Y%m%d'); $dateTime_ETAD = dol_print_date($ladate, '%Y-%m-%d'); From 10ced563b30063f6faaa2cbf2689f907c6bdff97 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 31 Aug 2016 19:39:12 +0200 Subject: [PATCH 440/476] Fix var $conf not defined --- htdocs/compta/prelevement/class/bonprelevement.class.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/htdocs/compta/prelevement/class/bonprelevement.class.php b/htdocs/compta/prelevement/class/bonprelevement.class.php index 9a569a46f7c..bd2fd150d75 100644 --- a/htdocs/compta/prelevement/class/bonprelevement.class.php +++ b/htdocs/compta/prelevement/class/bonprelevement.class.php @@ -1673,8 +1673,9 @@ class BonPrelevement extends CommonObject * @return string String with SEPA Sender */ function EnregEmetteurSEPA($configuration, $ladate, $nombre, $total, $CrLf='\n') - { // SEPA INITIALISATION - global $confs; + { + // SEPA INITIALISATION + global $conf; $dateTime_YMD = dol_print_date($ladate, '%Y%m%d'); $dateTime_ETAD = dol_print_date($ladate, '%Y-%m-%d'); From aba83040862febdd5bf87b7dc0bb99ebf79a0668 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 31 Aug 2016 19:44:45 +0200 Subject: [PATCH 441/476] Fix code not reachable --- htdocs/contact/class/contact.class.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/htdocs/contact/class/contact.class.php b/htdocs/contact/class/contact.class.php index 8566b4e5585..c10d2b508dc 100644 --- a/htdocs/contact/class/contact.class.php +++ b/htdocs/contact/class/contact.class.php @@ -554,8 +554,6 @@ class Contact extends CommonObject $this->db->rollback(); return -$error; } - - return $result; } From 07e6c156a31eaa4dfdd734a87ad361f80020b440 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 31 Aug 2016 19:48:15 +0200 Subject: [PATCH 442/476] Fix free to reachable --- htdocs/core/lib/company.lib.php | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/htdocs/core/lib/company.lib.php b/htdocs/core/lib/company.lib.php index 7a459c17cb9..0562edad6b5 100644 --- a/htdocs/core/lib/company.lib.php +++ b/htdocs/core/lib/company.lib.php @@ -309,6 +309,8 @@ function getCountry($searchkey,$withcode='',$dbtouse=0,$outputlangs='',$entconv= { global $db,$langs; + $result=''; + // Check parameters if (empty($searchkey) && empty($searchlabel)) { @@ -323,7 +325,6 @@ function getCountry($searchkey,$withcode='',$dbtouse=0,$outputlangs='',$entconv= elseif (! empty($searchkey)) $sql.= " WHERE code='".$db->escape($searchkey)."'"; else $sql.= " WHERE label='".$db->escape($searchlabel)."'"; - dol_syslog("Company.lib::getCountry", LOG_DEBUG); $resql=$dbtouse->query($sql); if ($resql) { @@ -337,17 +338,18 @@ function getCountry($searchkey,$withcode='',$dbtouse=0,$outputlangs='',$entconv= if ($entconv) $label=($obj->code && ($outputlangs->trans("Country".$obj->code)!="Country".$obj->code))?$outputlangs->trans("Country".$obj->code):$label; else $label=($obj->code && ($outputlangs->transnoentitiesnoconv("Country".$obj->code)!="Country".$obj->code))?$outputlangs->transnoentitiesnoconv("Country".$obj->code):$label; } - if ($withcode == 1) return $label?"$obj->code - $label":"$obj->code"; - else if ($withcode == 2) return $obj->code; - else if ($withcode == 3) return $obj->rowid; - else if ($withcode === 'all') return array('id'=>$obj->rowid,'code'=>$obj->code,'label'=>$label); - else return $label; + if ($withcode == 1) $result=$label?"$obj->code - $label":"$obj->code"; + else if ($withcode == 2) $result=$obj->code; + else if ($withcode == 3) $result=$obj->rowid; + else if ($withcode === 'all') $result=array('id'=>$obj->rowid,'code'=>$obj->code,'label'=>$label); + else $result=$label; } else { - return 'NotDefined'; + $result='NotDefined'; } $dbtouse->free($resql); + return $result; } else dol_print_error($dbtouse,''); return 'Error'; From 3e84d227b3c8cdfd84dad2b18aa74a3d77e00102 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 31 Aug 2016 19:56:44 +0200 Subject: [PATCH 443/476] Remove not used function calculate_byte. Use dol_print_size instead. --- ChangeLog | 2 +- htdocs/core/lib/files.lib.php | 322 ---------------------------------- 2 files changed, 1 insertion(+), 323 deletions(-) diff --git a/ChangeLog b/ChangeLog index c52a486523c..5b93245f378 100644 --- a/ChangeLog +++ b/ChangeLog @@ -24,7 +24,7 @@ Dolibarr better: - Function delete of class Facture (invoice) need the object $user as first parameter. Also you must check you make a fetch on object before calling the delete. - The old driver of "mysql" has been removed. Dolibarr use the new one (mysqli) by default. - +- Remove not used function calculate_byte(). Use dol_print_size() instead. ***** ChangeLog for 4.0.0 compared to 3.9.* ***** diff --git a/htdocs/core/lib/files.lib.php b/htdocs/core/lib/files.lib.php index 186a17a9934..c1436e6d36e 100644 --- a/htdocs/core/lib/files.lib.php +++ b/htdocs/core/lib/files.lib.php @@ -204,328 +204,6 @@ function dol_dir_list($path, $types="all", $recursive=0, $filter="", $excludefil } } -/** - * Scan a directory and return a array of files/directories from a selection. - * Content for string is UTF8 and dir separator is "/". - * - * @param int $fk_soc select socid - for your selection in array - * @param string $module_get Starting path from which to search - * @param string $sortorder SORT_ASC or SORT_DESC - * @param array $excludefiles Array of Regex for exclude filter (example: array('(\.meta|_preview\.png)$','^\.')) - * @return array Array of array( filefolder=> array( filelabel=> array( file=> array('name'=>'xxx','date'=>'yyy','size'=>99,'type'=>'dir|file')))) - */ -function get_soc_file_array($fk_soc, $module_get = false, $sortorder = false, $excludefiles = false) -{ - global $user, $conf, $db; - - $sortfield = "date"; - - if(!$sortorder){ - $sorting = SORT_DESC; - }else{ - $sorting = $sortorder; - } - - $ar_modules_get = array(); - if (is_array($module_get)) $ar_modules_get = $module_get; - elseif (strlen($module_get) > 0) $ar_modules_get[$module_get] = $module_get; - else - { - $ar_modules_get['company'] = 'company'; - $ar_modules_get['dolimail'] = 'dolimail'; - $ar_modules_get['actions'] = 'actions'; - $ar_modules_get['invoice'] = 'invoice'; - $ar_modules_get['order'] = 'order'; - $ar_modules_get['propal'] = 'propal'; - $ar_modules_get['contract'] = 'contract'; - $ar_modules_get['project'] = 'project'; - $ar_modules_get['invoice_supplier'] = 'invoice_supplier'; - $ar_modules_get['order_supplier'] = 'order_supplier'; - } - - - // rights - if (count($ar_modules_get) > 0) - foreach($ar_modules_get as $curmodule) - { - switch($curmodule) - { - case 'company': - if (! empty($conf->societe->enabled)) // Recht Alle oder nur die Vertriebspartneradressen - $ar_modules_secure['company']['outputdir'] = $conf->societe->dir_output; - break; - case 'dolimail': - if (! empty($conf->dolimail->enabled) && ($user->rights->dolimail->read || $user->admin)) - $ar_modules_secure[$curmodule]['outputdir']=$conf->dolimail->dir_output.'/attachments'; - break; - case 'actions': - if (! empty($conf->agenda->enabled) || ($user->rights->agenda->allactions->read || $user->admin)) - $ar_modules_secure[$curmodule]['outputdir']=$conf->agenda->dir_output; - break; - case 'invoice': - if (! empty($conf->facture->enabled) && ($user->rights->facture->lire || $user->admin)) - $ar_modules_secure[$curmodule]['outputdir']=$conf->facture->dir_output; - break; - case 'order': - if (!empty($conf->commande->enabled) && ($user->rights->commande->lire || $user->admin)) - $ar_modules_secure[$curmodule]['outputdir']=$conf->commande->dir_output; - break; - case 'propal': - if (!empty($conf->propal->enabled) && ($user->rights->propale->lire || $user->admin)) - $ar_modules_secure[$curmodule]['outputdir']=$conf->propal->dir_output; - break; - case 'project': - if (! empty($conf->projet->enabled) && ($user->rights->projet->lire || $user->admin)) - $ar_modules_secure[$curmodule]['outputdir']=$conf->projet->dir_output; - break; - case 'invoice_supplier': - if (! empty($conf->fournisseur->enabled) && ($user->rights->fournisseur->facture->lire || $user->admin)) - $ar_modules_secure[$curmodule]['outputdir']=$conf->fournisseur->dir_output.'/facture'; - break; - case 'order_supplier': - if (! empty($conf->fournisseur->enabled) && ($user->rights->fournisseur->commande->lire || $user->admin)) - $ar_modules_secure[$curmodule]['outputdir']=$conf->fournisseur->dir_output.'/commande'; - break; - } - } - /* TODO make a outputdir*/ - //unset($ar_modules_secure['dolimail']); - unset($ar_modules_secure['project']); // project (list with project) is "ref" - unset($ar_modules_secure['actions']); - unset($ar_modules_secure['contract']); - /* TODO make a outputdir*/ - unset($curmodule); - - if($fk_soc > 0) - $ar_modules_get = $ar_modules_secure; - - $xy=0; - if (count($ar_modules_get)>0) - foreach($ar_modules_get as $curmodule => $myarray) - { - if($fk_soc > 0 && $curmodule != "company") - { - - // SQL to find documents (ref number) - - if($curmodule == "invoice") $sql = "SELECT facnumber as refstr FROM ".MAIN_DB_PREFIX."facture"; - elseif($curmodule == "order") $sql = "SELECT ref as refstr FROM ".MAIN_DB_PREFIX."commande"; - elseif($curmodule == "invoice_supplier") $sql = "SELECT rowid as refstr FROM ".MAIN_DB_PREFIX."facture_fourn"; - elseif($curmodule == "order_supplier") $sql = "SELECT ref as refstr FROM ".MAIN_DB_PREFIX."commande_fournisseur"; - elseif($curmodule == "propal") $sql = "SELECT ref as refstr FROM ".MAIN_DB_PREFIX."propal"; - elseif($curmodule == "contract") $sql = "SELECT ref as refstr FROM ".MAIN_DB_PREFIX."contrat"; - elseif($curmodule == "dolimail") $sql = "SELECT uid as refstr, subject FROM ".MAIN_DB_PREFIX."mails"; - - $sql.= ' WHERE entity IN ('.getEntity('societe', 1).')'; - $sql.= " AND fk_soc = '".$fk_soc."'"; - - - $res = $db->query($sql); - if ($res && $db->num_rows($res) > 0) - { - while($obj = $db->fetch_object($res)) - { - $ar_modules_secure[$curmodule]['socref'][] = $obj->refstr; - if($curmodule == "dolimail") $ar_modules_secure['dolimail']['subject'][$obj->refstr] = $obj->subject; - } - } - else - { - unset($ar_modules_secure[$curmodule]); - continue; - $errors[]="SQL Error: ".$sql; - $error++; - } - - - }else{ - if($curmodule == "dolimail") $sql = "SELECT uid as refstr, subject FROM ".MAIN_DB_PREFIX."mails"; - - $res = $db->query($sql); - if ($res && $db->num_rows($res) > 0) - { - while($obj = $db->fetch_object($res)) - { - if($curmodule == "dolimail") $ar_modules_secure['dolimail']['subject'][$obj->refstr] = $obj->subject; - } - } - } - - // Data in Array - // Get Array from ar_module - - $output[$curmodule]=dol_dir_list($myarray['outputdir'],"files",1,'', $excludefiles, $sortfield, $sorting,1); - if($fk_soc > 0) - { - if($curmodule == "company") - { - foreach($output["company"] as $label => $filedata) - { - if($filedata['level1name'] != $fk_soc) - { - unset($output['company'][$label]); - } - } - } - - elseif($curmodule == "invoice") - { - if (! is_array($ar_modules_secure[$curmodule]['socref'])) { unset($output[$curmodule]); continue; } // wenn no file exsit - foreach($output["invoice"] as $label => $filedata) - { - if (! in_array($filedata['level1name'], $ar_modules_secure[$curmodule]['socref'])) - { - unset($output[$curmodule][$label]); // throw all ref number who are not in ($fac_supp_N_arr) array - } - - } - } - elseif($curmodule == "invoice_supplier") - { - if (! is_array($ar_modules_secure[$curmodule]['socref'])) { unset($output[$curmodule]); } // throw all ref number who are not in ($fac_invoice_arr) array - foreach($output["invoice_supplier"] as $label => $filedata) - { - if (! in_array($filedata['level1name'], $ar_modules_secure[$curmodule]['socref'])) { - unset($output[$curmodule][$label]); // throw all ref number who are not in ($fac_supp_N_arr) array - } - } - } - elseif($curmodule == "order") - { - if (! is_array($ar_modules_secure[$curmodule]['socref'])) { unset($output[$curmodule]); continue; } // throw all ref number who are not in ($fac_invoice_arr) array - foreach($output["order"] as $label => $filedata) - { - if (! in_array($filedata['level1name'], $ar_modules_secure[$curmodule]['socref'])) { - unset($output[$curmodule][$label]); // throw all ref number who are not in ($ref_order_arr) array - } - } - } - elseif($curmodule == "order_supplier") - { - if (! is_array($ar_modules_secure[$curmodule]['socref'])) { unset($output[$curmodule]); continue; } // throw all ref number who are not in ($fac_invoice_arr) array - foreach($output["order_supplier"] as $label => $filedata) - { - if (! in_array($filedata['level1name'], $ar_modules_secure[$curmodule]['socref'])) { - unset($output[$curmodule][$label]); // throw all ref number who are not in ($ref_order_supp_arr) array - } - } - } - elseif($curmodule == "propal") - { - if (! is_array($ar_modules_secure[$curmodule]['socref'])) { unset($output[$curmodule]); continue; } // throw all ref number who are not in ($fac_invoice_arr) array - foreach($output["propal"] as $label => $filedata) - { - if (! in_array($filedata['level1name'], $ar_modules_secure[$curmodule]['socref'])) { - unset($output[$curmodule][$label]); // throw all ref number who are not in ($ref_propal_arr) array - } - } - } - elseif($curmodule == "contract") - { - if (! is_array($ar_modules_secure[$curmodule]['socref'])) { unset($output[$curmodule]); continue; } // throw all ref number who are not in ($fac_invoice_arr) array - foreach($output["contract"] as $label => $filedata) - { - if (! in_array($filedata['level1name'], $ar_modules_secure[$curmodule]['socref'])) { - unset($output[$curmodule][$label]); // throw all ref number who are not in ($ref_contract_arr) array - } - } - } - elseif($curmodule == "dolimail") - { - - if (! is_array($ar_modules_secure[$curmodule]['socref'])) { unset($output[$curmodule]); continue; } // throw all ref number who are not in ($fac_invoice_arr) array - foreach($output["dolimail"] as $label => $filedata) - { - if($filedata['name'] == "winmail.dat" || $filedata['name'] == "smime.p7s") unset($output[$curmodule][$label]); - else - if (! in_array($filedata['level1name'], $ar_modules_secure[$curmodule]['socref'])) { - unset($output[$curmodule][$label]); // throw all ref number who are not in ($ref_propal_arr) array - } - } - } - // Error if ther isn't any File - if(count($output[$curmodule]) == 0) - { - $error++; - $errors[]="Error [404]: No File found for User: ".$fk_soc." in module: ".$curmodule; - unset($output[$curmodule]); - } - } - - // Extra for Mail attachments - if($curmodule == "dolimail" && count($output["dolimail"])>0) - { - foreach($output["dolimail"] as $label => $filedata) - { - $output[$curmodule][$label]['subject'] = $ar_modules_secure['dolimail']['subject'][$filedata['level1name']]; - } - } - - // Extra for Mail attachments - if($curmodule == "invoice" && count($output["invoice"])>0) - { - foreach($output["invoice"] as $label => $filedata) - { - $output[$curmodule][$label]['subject'] = $filedata['level1name']; - } - } - - // Extra for Mail attachments - if($curmodule == "invoice_supplier" && count($output["invoice_supplier"])>0) - { - foreach($output["invoice_supplier"] as $label => $filedata) - { - $output[$curmodule][$label]['subject'] = $filedata['level1name']; - } - } - - // Extra for Mail attachments - if($curmodule == "contract" && count($output["contract"])>0) - { - foreach($output["contract"] as $label => $filedata) - { - $output[$curmodule][$label]['subject'] = $filedata['level1name']; - } - } - - $xy++; - } - - if(count($output) > 0) - { - return $output; - } - else - { - return -1; - } -} - -/** - * Calculate Bytes to kb, mb and translate it to current language - * - * @param int $byt Bytes - * @return string calculated string - */ -function calculate_byte($byt) -{ - global $langs; - - if ($byt < 1024) { - $unit = ' '.$langs->trans("b"); - $mailsize=$byt; - } else if ($byt / 1024 > 1024) { - $mailsize = $byt / 1024 / 1024; - $unit = ' '.$langs->trans("Mb"); - } else { - $mailsize = $byt / 1024; - $unit = ' '.$langs->trans("Kb"); - } - - $val = number_format($mailsize, 2).$unit; - - return $val; -} /** * Fast compare of 2 files identified by their properties ->name, ->date and ->size From 64ab02234b8fbb9d2c9085f840e791d9db04fa09 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 31 Aug 2016 20:03:54 +0200 Subject: [PATCH 444/476] Fix not return in a constructor --- htdocs/accountancy/class/accountancycategory.class.php | 2 -- htdocs/accountancy/class/bookkeeping.class.php | 1 - 2 files changed, 3 deletions(-) diff --git a/htdocs/accountancy/class/accountancycategory.class.php b/htdocs/accountancy/class/accountancycategory.class.php index 6211f5752b1..ff7f764ea31 100644 --- a/htdocs/accountancy/class/accountancycategory.class.php +++ b/htdocs/accountancy/class/accountancycategory.class.php @@ -47,8 +47,6 @@ class AccountancyCategory */ public function __construct($db) { $this->db = $db; - - return 1; } /** diff --git a/htdocs/accountancy/class/bookkeeping.class.php b/htdocs/accountancy/class/bookkeeping.class.php index 5832d44cd52..0d863e064d4 100644 --- a/htdocs/accountancy/class/bookkeeping.class.php +++ b/htdocs/accountancy/class/bookkeeping.class.php @@ -95,7 +95,6 @@ class BookKeeping extends CommonObject */ public function __construct(DoliDB $db) { $this->db = $db; - return 1; } /** From ec5bd2a8f80e3df5c6dd53be5c517289e4d1f552 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 1 Sep 2016 00:40:48 +0200 Subject: [PATCH 445/476] Fix button create contract from order not visible sometimes --- htdocs/commande/card.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/commande/card.php b/htdocs/commande/card.php index 8409eb47e9e..1fcab20500f 100644 --- a/htdocs/commande/card.php +++ b/htdocs/commande/card.php @@ -2513,7 +2513,7 @@ if ($action == 'create' && $user->rights->commande->creer) } // Create contract - if ($conf->contrat->enabled && ($object->statut == Commande::STATUS_VALIDATED || $object->statut == Commande::STATUS_ACCEPTED)) { + if ($conf->contrat->enabled && ($object->statut == Commande::STATUS_VALIDATED || $object->statut == Commande::STATUS_ACCEPTED || $object->statut == Commande::STATUS_CLOSED)) { $langs->load("contracts"); if ($user->rights->contrat->creer) { From bf7a6380c90dcb8e80e61552fe82c16da763ea47 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 1 Sep 2016 01:00:28 +0200 Subject: [PATCH 446/476] Fix sort on wrong field --- htdocs/core/boxes/box_contracts.php | 8 +++++--- htdocs/langs/en_US/boxes.lang | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/htdocs/core/boxes/box_contracts.php b/htdocs/core/boxes/box_contracts.php index 40cc8885f90..fe864e1df16 100644 --- a/htdocs/core/boxes/box_contracts.php +++ b/htdocs/core/boxes/box_contracts.php @@ -1,6 +1,7 @@ - * Copyright (C) 2015 Frederic France +/* Copyright (C) 2010 Regis Houssin + * Copyright (C) 2015 Frederic France + * Copyright (C) 2016 Laurent Destailleur * * 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 @@ -71,7 +72,8 @@ class box_contracts extends ModeleBoxes $sql.= " AND c.entity = ".$conf->entity; if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; if($user->societe_id) $sql.= " AND s.rowid = ".$user->societe_id; - $sql.= " ORDER BY c.date_contrat DESC, c.ref DESC "; + if ($conf->global->MAIN_LASTBOX_ON_OBJECT_DATE) $sql.= " ORDER BY c.date_contrat DESC, c.ref DESC "; + else $sql.= " ORDER BY c.tms DESC, c.ref DESC "; $sql.= $db->plimit($max, 0); $resql = $db->query($sql); diff --git a/htdocs/langs/en_US/boxes.lang b/htdocs/langs/en_US/boxes.lang index 0cd7cac6a6b..98970318e85 100644 --- a/htdocs/langs/en_US/boxes.lang +++ b/htdocs/langs/en_US/boxes.lang @@ -38,7 +38,7 @@ BoxMyLastBookmarks=My latest %s bookmarks BoxOldestExpiredServices=Oldest active expired services BoxLastExpiredServices=Latest %s oldest contacts with active expired services BoxTitleLastActionsToDo=Latest %s actions to do -BoxTitleLastContracts=Latest %s contracts +BoxTitleLastContracts=Latest %s modified contracts BoxTitleLastModifiedDonations=Latest %s modified donations BoxTitleLastModifiedExpenses=Latest %s modified expense reports BoxGlobalActivity=Global activity (invoices, proposals, orders) From 0961ce2a2c9b38d6f2215b7281a84473e2c86498 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 1 Sep 2016 01:08:01 +0200 Subject: [PATCH 447/476] FIX Missing filter on environment --- htdocs/core/boxes/box_services_expired.php | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/core/boxes/box_services_expired.php b/htdocs/core/boxes/box_services_expired.php index 29db63054e5..f2bc86cdac5 100644 --- a/htdocs/core/boxes/box_services_expired.php +++ b/htdocs/core/boxes/box_services_expired.php @@ -68,6 +68,7 @@ class box_services_expired extends ModeleBoxes $sql.= " FROM ".MAIN_DB_PREFIX."contrat as c, ".MAIN_DB_PREFIX."societe s, ".MAIN_DB_PREFIX."contratdet as cd"; if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE cd.statut = 4 AND cd.date_fin_validite <= '".$db->idate($now)."'"; + $sql.= " AND c.entity = ".$conf->entity; $sql.= " AND c.fk_soc=s.rowid AND cd.fk_contrat=c.rowid AND c.statut > 0"; if ($user->societe_id) $sql.=' AND c.fk_soc = '.$user->societe_id; if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; From 7d056f6857061d05e01906bbbc3920985ff8b71d Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 1 Sep 2016 11:29:30 +0200 Subject: [PATCH 448/476] NEW Use small photo of user on all user links --- htdocs/expensereport/card.php | 18 +++---- htdocs/expensereport/index.php | 7 ++- htdocs/expensereport/list.php | 49 +++++++++++-------- htdocs/holiday/card.php | 8 +-- htdocs/holiday/class/holiday.class.php | 46 ++++++++++++----- htdocs/holiday/document.php | 4 +- htdocs/holiday/list.php | 14 ++++-- htdocs/holiday/view_log.php | 4 +- htdocs/hrm/index.php | 21 +++++--- htdocs/societe/class/societe.class.php | 4 +- htdocs/societe/commerciaux.php | 12 +++-- .../tpl/linesalesrepresentative.tpl.php | 4 +- htdocs/user/group/card.php | 2 +- htdocs/user/home.php | 2 +- 14 files changed, 126 insertions(+), 69 deletions(-) diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php index d568776fca9..2d43faf016a 100644 --- a/htdocs/expensereport/card.php +++ b/htdocs/expensereport/card.php @@ -1262,7 +1262,7 @@ else print '
    '; $userfee=new User($db); $userfee->fetch($object->fk_user_valid); - print $userfee->getNomUrl(1); + print $userfee->getNomUrl(-1); print '
    '; $userfee=new User($db); $userfee->fetch($object->fk_user_author); - print $userfee->getNomUrl(1); + print $userfee->getNomUrl(-1); print '
    '; $userfee=new User($db); $userfee->fetch($user->id); - print $userfee->getNomUrl(1); + print $userfee->getNomUrl(-1); print '
    '; $userfee=new User($db); $userfee->fetch($object->fk_user_refuse); - print $userfee->getNomUrl(1); + print $userfee->getNomUrl(-1); print '
    '.$langs->trans("DATE_REFUS").''; $userfee=new User($db); $userfee->fetch($object->fk_user_paid); - print $userfee->getNomUrl(1); + print $userfee->getNomUrl(-1); print '
    '.$langs->trans("DATE_PAIEMENT").'
    '.$expensereportstatic->getNomUrl(1).''.$userstatic->getNomUrl(1).''.$userstatic->getNomUrl(-1).''.price($obj->total_ht).''.price($obj->total_ttc).''.dol_print_date($db->jdate($obj->dm),'day').'
    '.($objp->date_debut > 0 ? dol_print_date($objp->date_debut, 'day') : '').''.($objp->date_fin > 0 ? dol_print_date($objp->date_fin, 'day') : '').''.img_object($langs->trans("ShowUser"),"user").' '.dolGetFirstLastname($objp->firstname, $objp->lastname).''.price($objp->total_ht).''.price($objp->total_tva).''.price($objp->total_ttc).''.($obj->date_debut > 0 ? dol_print_date($obj->date_debut, 'day') : '').''.($obj->date_fin > 0 ? dol_print_date($obj->date_fin, 'day') : '').''; + $usertmp->id=$obj->id_user; + $usertmp->lastname=$obj->lastname; + $usertmp->firstname=$obj->firstname; + $usertmp->login=$obj->login; + $usertmp->statut=$obj->statut; + $usertmp->photo=$obj->photo; + print $usertmp->getNomUrl(-1); + print ''.price($obj->total_ht).''.price($obj->total_tva).''.price($obj->total_ttc).''; print $expensereportstatic->getLibStatut(5); print '
    '.$langs->trans("User").''; - print $userRequest->getNomUrl(1, 'leave'); + print $userRequest->getNomUrl(-1, 'leave'); print '
    '.$langs->trans('RequestByCP').''.$userCreate->getNomUrl(1).''.$userCreate->getNomUrl(-1).'
    '.$langs->trans('ReviewedByCP').''.$valideur->getNomUrl(1).''.$valideur->getNomUrl(-1).'
    '.$langs->trans("User").''; - print $userRequest->getNomUrl(1); + print $userRequest->getNomUrl(-1); print '
    '.$langs->trans("Type").''; - $typeleaves=$object->getTypes(1,1); + $typeleaves=$object->getTypes(1,-1); print $typeleaves[$object->fk_type]['label']; print '
    '.dol_print_date($date,'day').''.$userstatic->getNomUrl('1', 'leave').''.$approbatorstatic->getNomUrl('1').''.$userstatic->getNomUrl(-1, 'leave').''.$approbatorstatic->getNomUrl(-1).''; $label=$alltypeleaves[$infos_CP['fk_type']]['label']; print $label?$label:$infos_CP['fk_type']; diff --git a/htdocs/holiday/view_log.php b/htdocs/holiday/view_log.php index 1b0e779488a..8ee69dc54ad 100644 --- a/htdocs/holiday/view_log.php +++ b/htdocs/holiday/view_log.php @@ -100,8 +100,8 @@ foreach($cp->logs as $logs_CP) print '
    '.$logs_CP['rowid'].''.$logs_CP['date_action'].''.$user_action->getNomUrl(1).''.$user_update->getNomUrl(1).''.$user_action->getNomUrl(-1).''.$user_update->getNomUrl(-1).''.$logs_CP['type_action'].''; $label=$alltypeleaves[$logs_CP['fk_type']]['label']; diff --git a/htdocs/hrm/index.php b/htdocs/hrm/index.php index dc260fb4fa2..acc16eb0d3e 100644 --- a/htdocs/hrm/index.php +++ b/htdocs/hrm/index.php @@ -145,7 +145,7 @@ $langs->load("boxes"); // Last leave requests if (! empty($conf->holiday->enabled) && $user->rights->holiday->read) { - $sql = "SELECT u.rowid as uid, u.lastname, u.firstname, x.rowid, x.rowid as ref, x.fk_type, x.date_debut as date_start, x.date_fin as date_end, x.halfday, x.tms as dm, x.statut as status"; + $sql = "SELECT u.rowid as uid, u.lastname, u.firstname, u.login, u.photo, u.statut, x.rowid, x.rowid as ref, x.fk_type, x.date_debut as date_start, x.date_fin as date_end, x.halfday, x.tms as dm, x.statut as status"; $sql.= " FROM ".MAIN_DB_PREFIX."holiday as x, ".MAIN_DB_PREFIX."user as u"; $sql.= " WHERE u.rowid = x.fk_user"; $sql.= " AND x.entity = ".$conf->entity; @@ -187,9 +187,12 @@ if (! empty($conf->holiday->enabled) && $user->rights->holiday->read) $userstatic->id=$obj->uid; $userstatic->lastname=$obj->lastname; $userstatic->firstname=$obj->firstname; + $userstatic->login=$obj->login; + $userstatic->photo=$obj->photo; + $userstatic->statut=$obj->statut; print '
    '.$holidaystatic->getNomUrl(1).''.$userstatic->getNomUrl(1, 'leave').''.$userstatic->getNomUrl(-1, 'leave').''.$typeleaves[$obj->fk_type]['label'].'
    '.$deplacementstatic->getNomUrl(1).''.$userstatic->getNomUrl(1).''.$userstatic->getNomUrl(-1).''.$obj->km.''.dol_print_date($db->jdate($obj->dm),'day').''.$deplacementstatic->LibStatut($obj->fk_statut,3).'
    '.$expensereportstatic->getNomUrl(1).''.$userstatic->getNomUrl(1).''.$userstatic->getNomUrl(-1).''.price($obj->total_ttc).''.dol_print_date($db->jdate($obj->dm),'day').''.$expensereportstatic->LibStatut($obj->status,3).'
    '.$langs->trans("SalesRepresentatives").''; - $sql = "SELECT DISTINCT u.rowid, u.login, u.fk_soc, u.lastname, u.firstname, u.statut, u.entity"; + $sql = "SELECT DISTINCT u.rowid, u.login, u.fk_soc, u.lastname, u.firstname, u.statut, u.entity, u.photo"; $sql .= " FROM ".MAIN_DB_PREFIX."user as u"; $sql .= " , ".MAIN_DB_PREFIX."societe_commerciaux as sc"; if (! empty($conf->multicompany->enabled) && ! empty($conf->multicompany->transverse_mode)) @@ -184,7 +184,8 @@ if (! empty($socid)) $tmpuser->login = $obj->login; $tmpuser->entity = $obj->entity; $tmpuser->societe_id = $obj->fk_soc; - print $tmpuser->getNomUrl(1); + $tmpuser->photo = $obj->photo; + print $tmpuser->getNomUrl(-1); /*print ''; print img_object($langs->trans("ShowUser"),"user").' '; @@ -227,7 +228,7 @@ if (! empty($socid)) $langs->load("users"); $title=$langs->trans("ListOfUsers"); - $sql = "SELECT DISTINCT u.rowid, u.lastname, u.firstname, u.login, u.email, u.statut, u.fk_soc"; + $sql = "SELECT DISTINCT u.rowid, u.lastname, u.firstname, u.login, u.email, u.statut, u.fk_soc, u.photo"; $sql.= " FROM ".MAIN_DB_PREFIX."user as u"; if (! empty($conf->multicompany->enabled) && ! empty($conf->multicompany->transverse_mode)) { @@ -273,10 +274,11 @@ if (! empty($socid)) $tmpuser->login=$obj->login; $tmpuser->email=$obj->email; $tmpuser->societe_id=$obj->fk_soc; - print $tmpuser->getNomUrl(1); + $tmpuser->photo=$obj->photo; + print $tmpuser->getNomUrl(-1); print ''.$obj->login.''.User::LibStatut($obj->statut,0).''.$tmpuser->getLibStatut(2).''.$langs->trans("Add").'
    '; - print ''.img_object($langs->trans("ShowUser"),"user").' '.$useringroup->login.''; + print $useringroup->getNomUrl(-1, '', 0, 0, 24, 0, 'login'); if ($useringroup->admin && ! $useringroup->entity) print img_picto($langs->trans("SuperAdministrator"),'redstar'); else if ($useringroup->admin) print img_picto($langs->trans("Administrator"),'star'); print '
    '; + $varpage=empty($contextpage)?$_SERVER["PHP_SELF"]:$contextpage; + $selectedfields=$form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage); // This also change content of $arrayfields + + print '
    '."\n"; print ''; - - print_liste_field_titre($langs->trans("Ref"), $_SERVER["PHP_SELF"], "c.ref","","$param",'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("RefCustomer"), $_SERVER["PHP_SELF"], "c.ref_customer","","$param",'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("RefSupplier"), $_SERVER["PHP_SELF"], "c.ref_supplier","","$param",'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("ThirdParty"), $_SERVER["PHP_SELF"], "s.nom","","$param",'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("SalesRepresentative"), $_SERVER["PHP_SELF"], "","","$param",'',$sortfield,$sortorder); - //print_liste_field_titre($langs->trans("DateCreation"), $_SERVER["PHP_SELF"], "c.datec","","$param",'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("DateContract"), $_SERVER["PHP_SELF"], "c.date_contrat","","$param",'align="center"',$sortfield,$sortorder); - //print_liste_field_titre($langs->trans("Status"), $_SERVER["PHP_SELF"], "c.statut","","$param",'align="center"',$sortfield,$sortorder); - print_liste_field_titre($staticcontratligne->LibStatut(0,3), '', '', '', '', 'width="16"'); - print_liste_field_titre($staticcontratligne->LibStatut(4,3,0), '', '', '', '', 'width="16"'); - print_liste_field_titre($staticcontratligne->LibStatut(4,3,1), '', '', '', '', 'width="16"'); - print_liste_field_titre($staticcontratligne->LibStatut(5,3), '', '', '', '', 'width="16"'); - print_liste_field_titre('',$_SERVER["PHP_SELF"],"",'','','',$sortfield,$sortorder,'maxwidthsearch '); + if (! empty($arrayfields['c.ref']['checked'])) print_liste_field_titre($arrayfields['c.ref']['label'], $_SERVER["PHP_SELF"], "c.ref","","$param",'',$sortfield,$sortorder); + if (! empty($arrayfields['c.ref_customer']['checked'])) print_liste_field_titre($arrayfields['c.ref_customer']['label'], $_SERVER["PHP_SELF"], "c.ref_customer","","$param",'',$sortfield,$sortorder); + if (! empty($arrayfields['c.ref_supplier']['checked'])) print_liste_field_titre($arrayfields['c.ref_supplier']['label'], $_SERVER["PHP_SELF"], "c.ref_supplier","","$param",'',$sortfield,$sortorder); + if (! empty($arrayfields['s.nom']['checked'])) print_liste_field_titre($arrayfields['s.nom']['label'], $_SERVER["PHP_SELF"], "s.nom","","$param",'',$sortfield,$sortorder); + if (! empty($arrayfields['s.town']['checked'])) print_liste_field_titre($arrayfields['s.town']['label'],$_SERVER["PHP_SELF"],'s.town','',$param,'',$sortfield,$sortorder); + if (! empty($arrayfields['s.zip']['checked'])) print_liste_field_titre($arrayfields['s.zip']['label'],$_SERVER["PHP_SELF"],'s.zip','',$param,'',$sortfield,$sortorder); + if (! empty($arrayfields['state.nom']['checked'])) print_liste_field_titre($arrayfields['state.nom']['label'],$_SERVER["PHP_SELF"],"state.nom","",$param,'',$sortfield,$sortorder); + if (! empty($arrayfields['country.code_iso']['checked'])) print_liste_field_titre($arrayfields['country.code_iso']['label'],$_SERVER["PHP_SELF"],"country.code_iso","",$param,'align="center"',$sortfield,$sortorder); + if (! empty($arrayfields['typent.code']['checked'])) print_liste_field_titre($arrayfields['typent.code']['label'],$_SERVER["PHP_SELF"],"typent.code","",$param,'align="center"',$sortfield,$sortorder); + if (! empty($arrayfields['sale_representative']['checked'])) print_liste_field_titre($arrayfields['sale_representative']['label'], $_SERVER["PHP_SELF"], "","","$param",'',$sortfield,$sortorder); + if (! empty($arrayfields['c.date_contrat']['checked'])) print_liste_field_titre($arrayfields['c.date_contrat']['label'], $_SERVER["PHP_SELF"], "c.date_contrat","","$param",'align="center"',$sortfield,$sortorder); + // Extra fields + if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label)) + { + foreach($extrafields->attribute_label as $key => $val) + { + if (! empty($arrayfields["ef.".$key]['checked'])) + { + $align=$extrafields->getAlignFlag($key); + print_liste_field_titre($extralabels[$key],$_SERVER["PHP_SELF"],"ef.".$key,"",$param,($align?'align="'.$align.'"':''),$sortfield,$sortorder); + } + } + } + // Hook fields + $parameters=array('arrayfields'=>$arrayfields); + $reshook=$hookmanager->executeHooks('printFieldListTitle',$parameters); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + if (! empty($arrayfields['c.datec']['checked'])) print_liste_field_titre($arrayfields['c.datec']['label'],$_SERVER["PHP_SELF"],"c.date_creation","",$param,'align="center" class="nowrap"',$sortfield,$sortorder); + if (! empty($arrayfields['c.tms']['checked'])) print_liste_field_titre($arrayfields['c.tms']['label'],$_SERVER["PHP_SELF"],"c.tms","",$param,'align="center" class="nowrap"',$sortfield,$sortorder); + if (! empty($arrayfields['status']['checked'])) + { + print_liste_field_titre($staticcontratligne->LibStatut(0,3), '', '', '', '', 'width="16"'); + print_liste_field_titre($staticcontratligne->LibStatut(4,3,0), '', '', '', '', 'width="16"'); + print_liste_field_titre($staticcontratligne->LibStatut(4,3,1), '', '', '', '', 'width="16"'); + print_liste_field_titre($staticcontratligne->LibStatut(5,3), '', '', '', '', 'width="16"'); + } + print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"],"",'','','align="right"',$sortfield,$sortorder,'maxwidthsearch '); print "\n"; print ''; print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - // Date contract - print ''; - print ''; - print ''; + } + if (! empty($arrayfields['c.ref_customer']['checked'])) + { + print ''; + } + if (! empty($arrayfields['c.ref_supplier']['checked'])) + { + print ''; + } + if (! empty($arrayfields['s.nom']['checked'])) + { + print ''; + } + // Town + if (! empty($arrayfields['s.town']['checked'])) print ''; + // Zip + if (! empty($arrayfields['s.zip']['checked'])) print ''; + // State + if (! empty($arrayfields['state.nom']['checked'])) + { + print ''; + } + // Country + if (! empty($arrayfields['country.code_iso']['checked'])) + { + print ''; + } + // Company type + if (! empty($arrayfields['typent.code']['checked'])) + { + print ''; + } + if (! empty($arrayfields['sale_representative']['checked'])) + { + print ''; + } + if (! empty($arrayfields['c.date_contrat']['checked'])) + { + // Date contract + print ''; + } + // Extra fields + if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label)) + { + foreach($extrafields->attribute_label as $key => $val) + { + if (! empty($arrayfields["ef.".$key]['checked'])) + { + $align=$extrafields->getAlignFlag($key); + $typeofextrafield=$extrafields->attribute_type[$key]; + print ''; + } + } + } + // Fields from hook + $parameters=array('arrayfields'=>$arrayfields); + $reshook=$hookmanager->executeHooks('printFieldListOption',$parameters); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + // Date creation + if (! empty($arrayfields['c.datec']['checked'])) + { + print ''; + } + // Date modification + if (! empty($arrayfields['c.tms']['checked'])) + { + print ''; + } + // Status + if (! empty($arrayfields['status']['checked'])) + { + print ''; + } + print ''; print "\n"; @@ -326,65 +558,166 @@ if ($resql) $obj = $db->fetch_object($resql); $var=!$var; print ''; - print ''; - print ''; - print ''; - print ''; - //print ''; - - // Sales Rapresentatives - print ''; } - else + if (! empty($arrayfields['c.ref_customer']['checked'])) { - print ' '; + print ''; + } + if (! empty($arrayfields['c.ref_supplier']['checked'])) + { + print ''; + } + if (! empty($arrayfields['s.nom']['checked'])) + { + print ''; + } + // Town + if (! empty($arrayfields['s.town']['checked'])) + { + print ''; + if (! $i) $totalarray['nbfield']++; + } + // Zip + if (! empty($arrayfields['s.zip']['checked'])) + { + print ''; + if (! $i) $totalarray['nbfield']++; + } + // State + if (! empty($arrayfields['state.nom']['checked'])) + { + print "\n"; + if (! $i) $totalarray['nbfield']++; + } + // Country + if (! empty($arrayfields['country.code_iso']['checked'])) + { + print ''; + if (! $i) $totalarray['nbfield']++; + } + // Type ent + if (! empty($arrayfields['typent.code']['checked'])) + { + print ''; + if (! $i) $totalarray['nbfield']++; + } + if (! empty($arrayfields['sale_representative']['checked'])) + { + // Sales representatives + print ''; + } + // Date + if (! empty($arrayfields['c.date_contrat']['checked'])) + { + print ''; + } + // Extra fields + if (is_array($extrafields->attribute_label) && count($extrafields->attribute_label)) + { + foreach($extrafields->attribute_label as $key => $val) + { + if (! empty($arrayfields["ef.".$key]['checked'])) + { + print 'getAlignFlag($key); + if ($align) print ' align="'.$align.'"'; + print '>'; + $tmpkey='options_'.$key; + print $extrafields->showOutputField($key, $obj->$tmpkey, '', 1); + print ''; + if (! $i) $totalarray['nbfield']++; + } + } + } + // Fields from hook + $parameters=array('arrayfields'=>$arrayfields, 'obj'=>$obj); + $reshook=$hookmanager->executeHooks('printFieldListValue',$parameters); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + // Date creation + if (! empty($arrayfields['c.datec']['checked'])) + { + print ''; + if (! $i) $totalarray['nbfield']++; + } + // Date modification + if (! empty($arrayfields['c.tms']['checked'])) + { + print ''; + if (! $i) $totalarray['nbfield']++; + } + // Status + if (! empty($arrayfields['status']['checked'])) + { + print ''; + print ''; + print ''; + print ''; + } + // Action column + print ''; - - - print ''; - //print ''; - print ''; - print ''; - print ''; - print ''; - print ''; + if (! $i) $totalarray['nbfield']++; + print "\n"; $i++; } From fcd5e1fb2c529a5eb9c5e501c23094bab5e9a05e Mon Sep 17 00:00:00 2001 From: phf Date: Fri, 2 Sep 2016 15:30:42 +0200 Subject: [PATCH 455/476] Fix lost value if use double quote --- htdocs/societe/soc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/societe/soc.php b/htdocs/societe/soc.php index 3a5ed38e2d5..d2fccc12f9b 100644 --- a/htdocs/societe/soc.php +++ b/htdocs/societe/soc.php @@ -252,7 +252,7 @@ if (empty($reshook)) $object->name_alias = GETPOST('name_alias'); } - $object->address = GETPOST('address', 'alpha'); + $object->address = GETPOST('address'); $object->zip = GETPOST('zipcode', 'alpha'); $object->town = GETPOST('town', 'alpha'); $object->country_id = GETPOST('country_id', 'int'); From aedd8132363cc4ae9760521cf37afcdc7cef831a Mon Sep 17 00:00:00 2001 From: fappels Date: Fri, 2 Sep 2016 18:13:25 +0200 Subject: [PATCH 456/476] Delete product_lot when product deleted --- htdocs/product/class/product.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index 98cadbff7d9..1b94b00d1bf 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -926,7 +926,7 @@ class Product extends CommonObject // Delete all child tables if (! $error) { - $elements = array('product_fournisseur_price','product_price','product_lang','categorie_product','product_stock','product_customer_price'); + $elements = array('product_fournisseur_price','product_price','product_lang','categorie_product','product_stock','product_customer_price','product_lot'); foreach($elements as $table) { if (! $error) From 9c8145eb885059218815bd4efa92e252aa4c4e23 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 2 Sep 2016 19:19:13 +0200 Subject: [PATCH 457/476] Better fix for 416a0892d75438a4083c94176d803a5c723d8fa9 --- htdocs/product/price.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/htdocs/product/price.php b/htdocs/product/price.php index ef807d2f603..8c3ad45c90c 100644 --- a/htdocs/product/price.php +++ b/htdocs/product/price.php @@ -97,8 +97,6 @@ if (empty($reshook)) { $tva_tx_txt = GETPOST('tva_tx', 'alpha'); // tva_tx can be '8.5' or '8.5*' or '8.5 - $tva_tx_txt; - // We must define tva_tx, npr and local taxes $tva_tx = preg_replace('/[^0-9\.].*$/', '', $tva_tx_txt); // keep remove all after the numbers and dot $npr = preg_match('/\*/', $tva_tx_txt) ? 1 : 0; @@ -204,6 +202,7 @@ if (empty($reshook)) } $tva_tx_txt = $newvattx[$i]; + $tva_tx = preg_replace('/[^0-9\.].*$/', '', $tva_tx_txt); // keep remove all after the numbers and dot $npr = $newvatnpr[$i]; $localtax1 = $newlocaltax1_tx[$i]; $localtax1_type = $newlocaltax1_type[$i]; @@ -214,7 +213,7 @@ if (empty($reshook)) 'price' => $newprice[$i], 'price_min' => $newprice_min[$i], 'price_base_type' => $newpricebase[$i], - 'vat_tx' => $tva_tx_txt, + 'vat_tx' => $tva_tx, 'npr' => $npr, 'localtaxes_array' => array('0'=>$localtax1_type, '1'=>$localtax1, '2'=>$localtax2_type, '3'=>$localtax2) ); From dc9c2f0ed7190ddec07d19aa84ce2022330f5169 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 2 Sep 2016 21:10:46 +0200 Subject: [PATCH 458/476] FIX #5687 --- scripts/cron/cron_run_jobs.php | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/cron/cron_run_jobs.php b/scripts/cron/cron_run_jobs.php index 38054c48c69..a0f067b5d0c 100755 --- a/scripts/cron/cron_run_jobs.php +++ b/scripts/cron/cron_run_jobs.php @@ -27,7 +27,6 @@ if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL','1'); // Disables token if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU','1'); if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML','1'); if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1'); -if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1'); if (! defined('NOLOGIN')) define('NOLOGIN','1'); //if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1'); From 8c4324d9124e0551da38dff74ac602eb0afbf361 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 2 Sep 2016 21:15:48 +0200 Subject: [PATCH 459/476] FIX #5674 --- htdocs/product/stock/class/mouvementstock.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/product/stock/class/mouvementstock.class.php b/htdocs/product/stock/class/mouvementstock.class.php index 7d7dd66bd10..ef59971d95e 100644 --- a/htdocs/product/stock/class/mouvementstock.class.php +++ b/htdocs/product/stock/class/mouvementstock.class.php @@ -415,8 +415,8 @@ class MouvementStock extends CommonObject // $sql = "UPDATE ".MAIN_DB_PREFIX."product SET pmp = ".$newpmp.", stock = ".$this->db->ifsql("stock IS NULL", 0, "stock") . " + ".$qty; // $sql.= " WHERE rowid = ".$fk_product; // Update pmp + denormalized fields because we change content of produt_stock. Warning: Do not use "SET p.stock", does not works with pgsql - $sql = "UPDATE ".MAIN_DB_PREFIX."product as p SET p.pmp = ".$newpmp.", "; - $sql.= " stock=(SELECT SUM(ps.reel) FROM ".MAIN_DB_PREFIX."product_stock ps WHERE ps.fk_product = p.rowid)"; + $sql = "UPDATE ".MAIN_DB_PREFIX."product as p SET pmp = ".$newpmp.", "; + $sql.= " stock=(SELECT SUM(ps.reel) FROM ".MAIN_DB_PREFIX."product_stock as ps WHERE ps.fk_product = p.rowid)"; $sql.= " WHERE rowid = ".$fk_product; dol_syslog(get_class($this)."::_create", LOG_DEBUG); From 78b2e9e4bfc0838051e588345070bd15081d97b2 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 2 Sep 2016 21:40:07 +0200 Subject: [PATCH 460/476] FIX #5651 --- htdocs/webservices/server_contact.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/webservices/server_contact.php b/htdocs/webservices/server_contact.php index f439e791cb4..8a12c288d55 100644 --- a/htdocs/webservices/server_contact.php +++ b/htdocs/webservices/server_contact.php @@ -660,7 +660,7 @@ function updateContact($authentication,$contact) $object->civility_id=$contact['civility_id']; $object->poste=$contact['poste']; - $object->statut=$contact['statut']; + $object->statut=$contact['status']; //Retreive all extrafield for contact From e19743519b85de9baf3b4d03a0bfd4c3a81ce212 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 2 Sep 2016 21:44:52 +0200 Subject: [PATCH 461/476] FIX #5660 --- htdocs/webservices/server_order.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/webservices/server_order.php b/htdocs/webservices/server_order.php index 28518d24763..de72af93b61 100644 --- a/htdocs/webservices/server_order.php +++ b/htdocs/webservices/server_order.php @@ -935,7 +935,7 @@ function updateOrder($authentication,$order) if (isset($order['billed'])) { if ($order['billed']) $result=$object->classifyBilled($fuser); - if (! $order['billed']) $result=$object->classifyBilled($fuser); + if (! $order['billed']) $result=$object->classifyUnBilled($fuser); } //Retreive all extrafield for object From dc1bc33343318acfaad86c0a1f1ce27e0459fb58 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 2 Sep 2016 21:48:02 +0200 Subject: [PATCH 462/476] sql syntax --- htdocs/supplier_proposal/class/supplier_proposal.class.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/supplier_proposal/class/supplier_proposal.class.php b/htdocs/supplier_proposal/class/supplier_proposal.class.php index 00efb287dcc..09fa2dc69e9 100644 --- a/htdocs/supplier_proposal/class/supplier_proposal.class.php +++ b/htdocs/supplier_proposal/class/supplier_proposal.class.php @@ -1192,8 +1192,8 @@ class SupplierProposal extends CommonObject $sql = "SELECT d.rowid, d.fk_supplier_proposal, d.fk_parent_line, d.label as custom_label, d.description, d.price, d.tva_tx, d.localtax1_tx, d.localtax2_tx, d.qty, d.fk_remise_except, d.remise_percent, d.subprice, d.fk_product,"; $sql.= " d.info_bits, d.total_ht, d.total_tva, d.total_localtax1, d.total_localtax2, d.total_ttc, d.fk_product_fournisseur_price as fk_fournprice, d.buy_price_ht as pa_ht, d.special_code, d.rang, d.product_type,"; $sql.= ' p.ref as product_ref, p.description as product_desc, p.fk_product_type, p.label as product_label,'; - $sql.= ' d.ref_fourn as ref_produit_fourn'; - $sql.= ' ,d.fk_multicurrency, d.multicurrency_code, d.multicurrency_subprice, d.multicurrency_total_ht, d.multicurrency_total_tva, d.multicurrency_total_ttc'; + $sql.= ' d.ref_fourn as ref_produit_fourn,'; + $sql.= ' d.fk_multicurrency, d.multicurrency_code, d.multicurrency_subprice, d.multicurrency_total_ht, d.multicurrency_total_tva, d.multicurrency_total_ttc'; $sql.= " FROM ".MAIN_DB_PREFIX."supplier_proposaldet as d"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON d.fk_product = p.rowid"; $sql.= " WHERE d.fk_supplier_proposal = ".$this->id; From eee53998adbdf7c8f51aeb1e634b07e55602baad Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 2 Sep 2016 22:13:47 +0200 Subject: [PATCH 463/476] Mark function as deprecated #5577 --- ChangeLog | 2 ++ htdocs/core/lib/pdf.lib.php | 1 + 2 files changed, 3 insertions(+) diff --git a/ChangeLog b/ChangeLog index 5b93245f378..ad4b18285a5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -25,6 +25,8 @@ Dolibarr better: check you make a fetch on object before calling the delete. - The old driver of "mysql" has been removed. Dolibarr use the new one (mysqli) by default. - Remove not used function calculate_byte(). Use dol_print_size() instead. +- Function pdf_getTotalQty is now deprecated. Not used by Dolibarr core. + ***** ChangeLog for 4.0.0 compared to 3.9.* ***** diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index 9a1ba356969..2319b52c2b1 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -1846,6 +1846,7 @@ function pdf_getlinetotalwithtax($object,$i,$outputlangs,$hidedetails=0) * @param string $type Type * @param Translate $outputlangs Object langs for output * @return integer + * @deprecated Not used by Dolibarr core, so will be removed. */ function pdf_getTotalQty($object,$type,$outputlangs) { From aab3b2837a6b652d954aa2cb4f3037f22b5760eb Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 2 Sep 2016 22:34:37 +0200 Subject: [PATCH 464/476] FIX #5589 --- htdocs/core/lib/security2.lib.php | 1 + htdocs/langs/en_US/errors.lang | 1 + 2 files changed, 2 insertions(+) diff --git a/htdocs/core/lib/security2.lib.php b/htdocs/core/lib/security2.lib.php index a32805b6169..dc73c70b4ba 100644 --- a/htdocs/core/lib/security2.lib.php +++ b/htdocs/core/lib/security2.lib.php @@ -106,6 +106,7 @@ function checkLoginPassEntity($usertotest,$passwordtotest,$entitytotest,$authmod sleep(1); $langs->load('main'); $langs->load('other'); + $langs->load('errors'); $_SESSION["dol_loginmesg"]=$langs->trans("ErrorFailedToLoadLoginFileForMode",$mode); } } diff --git a/htdocs/langs/en_US/errors.lang b/htdocs/langs/en_US/errors.lang index acbb0e286b9..0462b4d1dc9 100644 --- a/htdocs/langs/en_US/errors.lang +++ b/htdocs/langs/en_US/errors.lang @@ -174,6 +174,7 @@ ErrorStockIsNotEnoughToAddProductOnOrder=Stock is not enougth for product %s to ErrorStockIsNotEnoughToAddProductOnInvoice=Stock is not enougth for product %s to add it into a new invoice. ErrorStockIsNotEnoughToAddProductOnShipment=Stock is not enougth for product %s to add it into a new shipment. ErrorStockIsNotEnoughToAddProductOnProposal=Stock is not enougth for product %s to add it into a new proposal. +ErrorFailedToLoadLoginFileForMode=Failed to get the login file for mode '%s'. # Warnings WarningPasswordSetWithNoAccount=A password was set for this member. However, no user account was created. So this password is stored but can't be used to login to Dolibarr. It may be used by an external module/interface but if you don't need to define any login nor password for a member, you can disable option "Manage a login for each member" from Member module setup. If you need to manage a login but don't need any password, you can keep this field empty to avoid this warning. Note: Email can also be used as a login if the member is linked to a user. From cb27b018121a0d2c4457f5f357b093253b2b114d Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 3 Sep 2016 18:47:04 +0200 Subject: [PATCH 465/476] Work on feature to find a translation key --- doc/images/dolibarr_screenshot1_1280x800.jpg | Bin 0 -> 239056 bytes htdocs/admin/translation.php | 234 ++++++++++--------- htdocs/core/class/html.formadmin.class.php | 9 +- htdocs/core/lib/admin.lib.php | 31 +++ 4 files changed, 161 insertions(+), 113 deletions(-) create mode 100644 doc/images/dolibarr_screenshot1_1280x800.jpg diff --git a/doc/images/dolibarr_screenshot1_1280x800.jpg b/doc/images/dolibarr_screenshot1_1280x800.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c6d5776d1fc1a3aadda5ce1abfbd8d3be9f9e222 GIT binary patch literal 239056 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�?z)P4)=4$Xs+e+uSxe*7B*3xrP`#L6;>xJ^947UNja5c3seSC@@2yagY){qcO zqySUs!yujSRS)o9;-)-+E-G&#W?n`q}R|HYRs8M|_YHM#o z3S&aac(nSyJu_{gUXK}cGtC+m=gDNO`HrmKo=Qmm;ka^cv!+$8kbEgydQBX zGsbq=@gszL_cmwmo9g2z@>BIOrFYJL2a`AUN}t3Pz(8go+2GvVi%1&9xg#?y=6G24%uk8(1c_3=qNDd}z~4n1b06iZLH#o6GBzp8F>jIgP2lSPC= zr>R;H?@byViFcYS5h`UztxL$y zX|v|5E8G)P$UT{y<1{uQNK7qA8(I;G4TS(Y87P zl>`Drrw&x0=4(Z$vac@tWz#h;CWFvc_bEW4fL|y^lQeXsTluUR-t|O&>*D3g#iPO* zn$ZBegH7S`wnmPu_^N!3;TFI7*<)~l5$B??!$51WzC#SnTo%s*6DE^%jJa2ep8bxzFG3GVoo;9gwgy|K)a4#`-(KU+e#03o*RES8h@;sRQSvPHs6r&?ae^3M%+N zS^R#muY%ngAGZ0pa6-_|1Psh;;WE&LfQ_LInLZigvvcfhcGTI+E<`3F6dI=mIo`@M zh~@@Mx}X3a!-KN%N((rremoL{dc#X5!1=T4;Eusk`=~#5H9Wae5~0Lcw#QGn7VDhLl~

    t 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

    O2Uv9H)Ne1TUS@L02BC-*tIs!n`;C^%qY-gb;sl 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

    L)9NXpha#L5_B{A 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 literal 0 HcmV?d00001 diff --git a/htdocs/admin/translation.php b/htdocs/admin/translation.php index bfd21deee33..8d959a9decb 100644 --- a/htdocs/admin/translation.php +++ b/htdocs/admin/translation.php @@ -40,6 +40,8 @@ $langcode=GETPOST('langcode','alpha'); $transkey=GETPOST('transkey','alpha'); $transvalue=GETPOST('transvalue','alpha'); +$mode = GETPOST('mode')?GETPOST('mode'):'overwrite'; + $limit = GETPOST("limit")?GETPOST("limit","int"):$conf->liste_limit; $sortfield = GETPOST("sortfield",'alpha'); $sortorder = GETPOST("sortorder",'alpha'); @@ -124,7 +126,7 @@ $formadmin = new FormAdmin($db); $wikihelp='EN:Setup|FR:Paramétrage|ES:Configuración'; llxHeader('',$langs->trans("Setup"),$wikihelp); -print load_fiche_titre($langs->trans("TranslationSetup"),'','title_setup'); +print load_fiche_titre($langs->trans("Translation"),'','title_setup'); print $langs->trans("TranslationDesc")."
    \n"; print "
    \n"; @@ -140,16 +142,24 @@ print $langs->trans("TranslationOverwriteDesc",$langs->transnoentitiesnoconv("La print '
    '; -$param=''; -if ($conf->global->MAIN_FEATURES_LEVEL > 1) +$param='mode='.$mode; + + +print 'entity) && $debug)?'?debug=1':'').'" method="POST">'; + +$head=translation_prepare_head(); + +dol_fiche_head($head, $mode, '', 0, ''); + +if ($mode == 'searchkey') { - print '
    '; - print load_fiche_titre($langs->trans("TranslationKeySearch"), '', '')."\n"; + //print '
    '; + //print load_fiche_titre($langs->trans("TranslationKeySearch"), '', '')."\n"; - print 'entity) && $debug)?'?debug=1':'').'" method="POST">'; print ''; - print ''; + print ''; + print ''; print '

    '; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - //print $langs->trans('Month').': '; - if (! empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) print ''; - print ''; - //print ' '.$langs->trans('Year').': '; - $syear = $year; - $formother->select_year($syear,'year',1, 20, 5); - print ''; - $searchpitco=$form->showFilterAndCheckAddButtons(0); - print $searchpitco; + if (! empty($arrayfields['c.ref']['checked'])) + { + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print $form->select_country($search_country,'search_country','',0,'maxwidth100'); + print ''; + print $form->selectarray("search_type_thirdparty", $formcompany->typent_array(0), $search_type_thirdparty, 0, 0, 0, '', 0, 0, 0, (empty($conf->global->SOCIETE_SORT_ON_TYPEENT)?'ASC':$conf->global->SOCIETE_SORT_ON_TYPEENT)); + print ''; + //print $langs->trans('Month').': '; + if (! empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) print ''; + print ''; + //print ' '.$langs->trans('Year').': '; + $syear = $year; + $formother->select_year($syear,'year',1, 20, 5); + print ''; + if (in_array($typeofextrafield, array('varchar', 'int', 'double', 'select'))) + { + $crit=$val; + $tmpkey=preg_replace('/search_options_/','',$key); + $searchclass=''; + if (in_array($typeofextrafield, array('varchar', 'select'))) $searchclass='searchstring'; + if (in_array($typeofextrafield, array('int', 'double'))) $searchclass='searchnum'; + print ''; + } + print ''; + print ''; + print ''; + $searchpitco=$form->showFilterAndCheckAddButtons($massactionbutton?1:0, 'checkforselect', 1); + print $searchpitco; print '
    '; - print img_object($langs->trans("ShowContract"),"contract").' '.(isset($obj->ref) ? $obj->ref : $obj->cid) .''; - if ($obj->nb_late) print img_warning($langs->trans("Late")); - print ''.$obj->ref_customer.''.$obj->ref_supplier.''.img_object($langs->trans("ShowCompany"),"company").' '.$obj->name.''.dol_print_date($obj->datec).''; - if($obj->socid) + if (! empty($arrayfields['c.ref']['checked'])) { - $result=$socstatic->fetch($obj->socid); - if ($result < 0) - { - dol_print_error($db); - exit; - } - $listsalesrepresentatives=$socstatic->getSalesRepresentatives($user); - if ($listsalesrepresentatives < 0) dol_print_error($db); - $nbofsalesrepresentative=count($listsalesrepresentatives); - if ($nbofsalesrepresentative > 3) // We print only number - { - print ''; - print $nbofsalesrepresentative; - print ''; - } - else if ($nbofsalesrepresentative > 0) - { - $userstatic=new User($db); - $j=0; - foreach($listsalesrepresentatives as $val) - { - $userstatic->id=$val['id']; - $userstatic->lastname=$val['lastname']; - $userstatic->firstname=$val['firstname']; - print '
    '.$userstatic->getNomUrl(1); - $j++; - if ($j < $nbofsalesrepresentative) print ', '; - print '
    '; - } - } - //else print $langs->trans("NoSalesRepresentativeAffected"); + print '
    '; + print img_object($langs->trans("ShowContract"),"contract").' '.(isset($obj->ref) ? $obj->ref : $obj->rowid) .''; + if ($obj->nb_late) print img_warning($langs->trans("Late")); + print ''.$obj->ref_customer.''.$obj->ref_supplier.''.img_object($langs->trans("ShowCompany"),"company").' '.$obj->name.''; + print $obj->town; + print ''; + print $obj->zip; + print '".$obj->state_name."'; + $tmparray=getCountry($obj->fk_pays,'all'); + print $tmparray['label']; + print ''; + if (count($typenArray)==0) $typenArray = $formcompany->typent_array(1); + print $typenArray[$obj->typent_code]; + print ''; + if ($obj->socid > 0) + { + $result=$socstatic->fetch($obj->socid); + $listsalesrepresentatives=$socstatic->getSalesRepresentatives($user); + if ($listsalesrepresentatives < 0) dol_print_error($db); + $nbofsalesrepresentative=count($listsalesrepresentatives); + if ($nbofsalesrepresentative > 3) // We print only number + { + print ''; + print $nbofsalesrepresentative; + print ''; + } + else if ($nbofsalesrepresentative > 0) + { + $userstatic=new User($db); + $j=0; + foreach($listsalesrepresentatives as $val) + { + $userstatic->id=$val['id']; + $userstatic->lastname=$val['lastname']; + $userstatic->firstname=$val['firstname']; + print '
    '.$userstatic->getNomUrl(1); + $j++; + if ($j < $nbofsalesrepresentative) print ', '; + print '
    '; + } + } + //else print $langs->trans("NoSalesRepresentativeAffected"); + } + else + { + print ' '; + } + print '
    '.dol_print_date($db->jdate($obj->date_contrat), 'day').''; + print dol_print_date($db->jdate($obj->date_creation), 'dayhour'); + print ''; + print dol_print_date($db->jdate($obj->date_update), 'dayhour'); + print ''.($obj->nb_initial>0?$obj->nb_initial:'').''.($obj->nb_running>0?$obj->nb_running:'').''.($obj->nb_expired>0?$obj->nb_expired:'').''.($obj->nb_closed>0 ?$obj->nb_closed:'').''; + if ($massactionbutton || $massaction) // If we are in select mode (massactionbutton defined) or if we have already selected and sent an action ($massaction) defined + { + $selected=0; + if (in_array($obj->rowid, $arrayofselected)) $selected=1; + print ''; } print ''.dol_print_date($db->jdate($obj->date_contrat), 'day').''.$staticcontrat->LibStatut($obj->statut,3).''.($obj->nb_initial>0?$obj->nb_initial:'').''.($obj->nb_running>0?$obj->nb_running:'').''.($obj->nb_expired>0?$obj->nb_expired:'').''.($obj->nb_closed>0 ?$obj->nb_closed:'').'
    '; print ''; @@ -165,7 +175,7 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 1) print "\n"; print ''."\n"; print ''; - - print ''."\n"; - print ''."\n"; - - // Value - print ''; - - print ''; - - print "\n"; - print "\n"; - $i++; - } } - -print '
    '; - print $formadmin->select_language(GETPOST('langcodesearch'),'langcodesearch',0,null,1,0,0,'',1); + print $formadmin->select_language(GETPOST('langcodesearch'),'langcodesearch',0,null,$langs->trans("All"),0,0,'',1); //print ''; print ''; @@ -194,112 +204,116 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 1) print ''; } -print '
    '; - -print load_fiche_titre($langs->trans("TranslationOverwriteKey"), '', '')."\n"; - -print '
    entity) && $debug)?'?debug=1':'').'" method="POST">'; -print ''; -print ''; - -print ''; -print ''; -print_liste_field_titre($langs->trans("Language").' (en_US, es_MX, ...)',$_SERVER["PHP_SELF"],'lang,transkey','',$param,'',$sortfield,$sortorder); -print_liste_field_titre($langs->trans("Key"),$_SERVER["PHP_SELF"],'transkey','',$param,'',$sortfield,$sortorder); -print_liste_field_titre($langs->trans("NewTranslationStringToShow"),$_SERVER["PHP_SELF"],'transvalue','',$param,'',$sortfield,$sortorder); -if (! empty($conf->multicompany->enabled) && !$user->entity) print_liste_field_titre($langs->trans("Entity"),$_SERVER["PHP_SELF"],'entity,transkey','',$param,'',$sortfield,$sortorder); -print ''; -print "\n"; - - -// Line to add new record -$var=false; -print "\n"; - -print ''."\n"; -print ''; -// Limit to superadmin -if (! empty($conf->multicompany->enabled) && !$user->entity) +if ($mode == 'overwrite') { - print ''; - print '\n"; -print ''; + //print load_fiche_titre($langs->trans("TranslationOverwriteKey"), '', '')."\n"; + + print ''; + print ''; + print ''; + + print '
    '; -print $formadmin->select_language(GETPOST('langcode'),'langcode',0,null,1,0,0,'',1); -//print ''; -print ''; -print ''; -print ''; -print ''; -print ''; - print ''; - print ''; -} -else -{ - print ''; - print ''; -} -print ''; -print "
    '; + print ''; + print_liste_field_titre($langs->trans("Language").' (en_US, es_MX, ...)',$_SERVER["PHP_SELF"],'lang,transkey','',$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Key"),$_SERVER["PHP_SELF"],'transkey','',$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("NewTranslationStringToShow"),$_SERVER["PHP_SELF"],'transvalue','',$param,'',$sortfield,$sortorder); + if (! empty($conf->multicompany->enabled) && !$user->entity) print_liste_field_titre($langs->trans("Entity"),$_SERVER["PHP_SELF"],'entity,transkey','',$param,'',$sortfield,$sortorder); + print ''; + print "\n"; + + + // Line to add new record + $var=false; + print "\n"; + + print ''."\n"; + print ''; + // Limit to superadmin + if (! empty($conf->multicompany->enabled) && !$user->entity) + { + print ''; + print '\n"; + print ''; + + + // Show constants + $sql = "SELECT"; + $sql.= " rowid"; + $sql.= ", lang"; + $sql.= ", transkey"; + $sql.= ", transvalue"; + $sql.= " FROM ".MAIN_DB_PREFIX."overwrite_trans"; + $sql.= " WHERE 1 = 1"; + //$sql.= " AND entity IN (".$user->entity.",".$conf->entity.")"; + //if ((empty($user->entity) || $user->admin) && $debug) {} // to force for superadmin to debug + //else if (! GETPOST('visible') || GETPOST('visible') != 'all') $sql.= " AND visible = 1"; // We must always have this. Otherwise, array is too large and submitting data fails due to apache POST or GET limits + //if (GETPOST('name')) $sql.=natural_search("name", GETPOST('name')); + //$sql.= " ORDER BY entity, name ASC"; + $sql.= $db->order($sortfield, $sortorder); + + dol_syslog("translation::select from table", LOG_DEBUG); + $result = $db->query($sql); + if ($result) + { + $num = $db->num_rows($result); + $i = 0; + $var=false; + + while ($i < $num) + { + $obj = $db->fetch_object($result); + $var=!$var; + + print "\n"; + + print ''; + + print ''."\n"; + print ''."\n"; + + // Value + print ''; + + print ''; + + print "\n"; + print "\n"; + $i++; + } + } + + + print '
    '; + print $formadmin->select_language(GETPOST('langcode'),'langcode',0,null,1,0,0,'',1); + //print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + } + else + { + print ''; + print ''; + } + print ''; + print "
    '.$obj->lang.''.$obj->transkey.''; + /*print ''; + print ''; + print ''; + print ''; + */ + print $obj->transvalue; + print ''; + print ''.img_delete().''; + print '
    '; - -// Show constants -$sql = "SELECT"; -$sql.= " rowid"; -$sql.= ", lang"; -$sql.= ", transkey"; -$sql.= ", transvalue"; -$sql.= " FROM ".MAIN_DB_PREFIX."overwrite_trans"; -$sql.= " WHERE 1 = 1"; -//$sql.= " AND entity IN (".$user->entity.",".$conf->entity.")"; -//if ((empty($user->entity) || $user->admin) && $debug) {} // to force for superadmin to debug -//else if (! GETPOST('visible') || GETPOST('visible') != 'all') $sql.= " AND visible = 1"; // We must always have this. Otherwise, array is too large and submitting data fails due to apache POST or GET limits -//if (GETPOST('name')) $sql.=natural_search("name", GETPOST('name')); -//$sql.= " ORDER BY entity, name ASC"; -$sql.= $db->order($sortfield, $sortorder); - -dol_syslog("translation::select from table", LOG_DEBUG); -$result = $db->query($sql); -if ($result) -{ - $num = $db->num_rows($result); - $i = 0; - $var=false; - - while ($i < $num) - { - $obj = $db->fetch_object($result); - $var=!$var; - - print "\n"; - - print '
    '.$obj->lang.''.$obj->transkey.''; - /*print ''; - print ''; - print ''; - print ''; - */ - print $obj->transvalue; - print ''; - print ''.img_delete().''; - print '
    '; +dol_fiche_end(); print "\n"; diff --git a/htdocs/core/class/html.formadmin.class.php b/htdocs/core/class/html.formadmin.class.php index 33393f1ef46..af51b64fa8d 100644 --- a/htdocs/core/class/html.formadmin.class.php +++ b/htdocs/core/class/html.formadmin.class.php @@ -51,14 +51,14 @@ class FormAdmin * @param string $htmlname Name of HTML select * @param int $showauto Show 'auto' choice * @param array $filter Array of keys to exclude in list - * @param int $showempty Add empty value + * @param string $showempty 1=Add empty value or string to show * @param int $showwarning Show a warning if language is not complete * @param int $disabled Disable edit of select * @param string $morecss Add more css styles * @param int $showcode Add language code into label * @return string Return HTML select string with list of languages */ - function select_language($selected='',$htmlname='lang_id',$showauto=0,$filter=null,$showempty=0,$showwarning=0,$disabled=0,$morecss='',$showcode=0) + function select_language($selected='',$htmlname='lang_id',$showauto=0,$filter=null,$showempty='',$showwarning=0,$disabled=0,$morecss='',$showcode=0) { global $langs; @@ -71,7 +71,10 @@ class FormAdmin { $out.= 'dol_use_jmobile)?'':'data-role="button" ').'href="'.$file.'?page=0'.$options.'&sortfield='.$sortfield.'&sortorder='.$sortorder.'">1'; + $pagelist.= 'dol_use_jmobile)?' class="pagination"':'').'>dol_use_jmobile)?'':'data-role="button" ').'href="'.$file.'?page=0'.$options.'">1'; if ($cpt > 2) $pagelist.='dol_use_jmobile)?' class="pagination"':'').'>dol_use_jmobile)?'class="inactive"':'data-role="button"').'>...'; - else if ($cpt == 2) $pagelist.='dol_use_jmobile)?' class="pagination"':'').'>dol_use_jmobile)?'':'data-role="button" ').'href="'.$file.'?page=1'.$options.'&sortfield='.$sortfield.'&sortorder='.$sortorder.'">2'; + else if ($cpt == 2) $pagelist.='dol_use_jmobile)?' class="pagination"':'').'>dol_use_jmobile)?'':'data-role="button" ').'href="'.$file.'?page=1'.$options.'">2'; } do @@ -3119,7 +3119,7 @@ function print_barre_liste($titre, $page, $file, $options='', $sortfield='', $so } else { - $pagelist.= 'dol_use_jmobile)?' class="pagination"':'').'>dol_use_jmobile)?'':'data-role="button" ').'href="'.$file.'?page='.$cpt.$options.'&sortfield='.$sortfield.'&sortorder='.$sortorder.'">'.($cpt+1).''; + $pagelist.= 'dol_use_jmobile)?' class="pagination"':'').'>dol_use_jmobile)?'':'data-role="button" ').'href="'.$file.'?page='.$cpt.$options.'">'.($cpt+1).''; } $cpt++; } @@ -3128,8 +3128,8 @@ function print_barre_liste($titre, $page, $file, $options='', $sortfield='', $so if ($cpt<$nbpages) { if ($cpt<$nbpages-2) $pagelist.= 'dol_use_jmobile)?' class="pagination"':'').'>dol_use_jmobile)?'class="inactive"':'data-role="button"').'>...'; - else if ($cpt == $nbpages-2) $pagelist.= 'dol_use_jmobile)?' class="pagination"':'').'>dol_use_jmobile)?'':'data-role="button" ').'href="'.$file.'?page='.($nbpages-2).$options.'&sortfield='.$sortfield.'&sortorder='.$sortorder.'">'.($nbpages - 1).''; - $pagelist.= 'dol_use_jmobile)?' class="pagination"':'').'>dol_use_jmobile)?'':'data-role="button" ').'href="'.$file.'?page='.($nbpages-1).$options.'&sortfield='.$sortfield.'&sortorder='.$sortorder.'">'.$nbpages.''; + else if ($cpt == $nbpages-2) $pagelist.= 'dol_use_jmobile)?' class="pagination"':'').'>dol_use_jmobile)?'':'data-role="button" ').'href="'.$file.'?page='.($nbpages-2).$options.'">'.($nbpages - 1).''; + $pagelist.= 'dol_use_jmobile)?' class="pagination"':'').'>dol_use_jmobile)?'':'data-role="button" ').'href="'.$file.'?page='.($nbpages-1).$options.'">'.$nbpages.''; } } else @@ -3149,7 +3149,7 @@ function print_barre_liste($titre, $page, $file, $options='', $sortfield='', $so * * @param int $page Number of page * @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, may include sortfield and sortorder) * @param integer $nextpage Do we show a next page button * @param string $betweenarrows HTML content to show between arrows. MUST contains '
  • ' tags or '
  • '. * @param string $afterarrows HTML content to show after arrows. Must NOT contains '
  • ' tags. From d24045d831aadaba9b37580316ca22ee991db0ab Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 4 Sep 2016 14:45:43 +0200 Subject: [PATCH 467/476] NEW Editing translation GUI become easier with search translation tool. --- htdocs/admin/translation.php | 214 +++++++++++++++------ htdocs/core/class/html.formadmin.class.php | 2 +- htdocs/core/class/translate.class.php | 28 +-- htdocs/core/lib/functions.lib.php | 2 +- htdocs/langs/en_US/admin.lang | 5 +- 5 files changed, 171 insertions(+), 80 deletions(-) diff --git a/htdocs/admin/translation.php b/htdocs/admin/translation.php index 8d959a9decb..5e6d242dffc 100644 --- a/htdocs/admin/translation.php +++ b/htdocs/admin/translation.php @@ -23,6 +23,7 @@ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formadmin.class.php'; $langs->load("companies"); @@ -36,10 +37,12 @@ if (!$user->admin) accessforbidden(); $id=GETPOST('rowid','int'); $action=GETPOST('action','alpha'); + $langcode=GETPOST('langcode','alpha'); $transkey=GETPOST('transkey','alpha'); $transvalue=GETPOST('transvalue','alpha'); + $mode = GETPOST('mode')?GETPOST('mode'):'overwrite'; $limit = GETPOST("limit")?GETPOST("limit","int"):$conf->liste_limit; @@ -131,82 +134,44 @@ print load_fiche_titre($langs->trans("Translation"),'','title_setup'); print $langs->trans("TranslationDesc")."
    \n"; print "
    \n"; -print $langs->trans("CurrentUserLanguage").': '.$langs->defaultlang.'
    '; +$current_language_code=$langs->defaultlang; +$s=picto_from_langcode($current_language_code); +print $langs->trans("CurrentUserLanguage").': '.$s.' '.$current_language_code.'
    '; print '
    '; -print img_info().' '.$langs->trans("SomeTranslationAreUncomplete"); -$urlwikitranslatordoc='https://wiki.dolibarr.org/index.php/Translator_documentation'; -print ' ('.$langs->trans("SeeAlso").': '.$urlwikitranslatordoc.')
    '; -print $langs->trans("TranslationOverwriteDesc",$langs->transnoentitiesnoconv("Language"),$langs->transnoentitiesnoconv("Key"),$langs->transnoentitiesnoconv("NewTranslationStringToShow"))."
    \n"; - -print '
    '; - - -$param='mode='.$mode; +$param='&mode='.$mode; +if (! empty($contextpage) && $contextpage != $_SERVER["PHP_SELF"]) $param.='&contextpage='.$contextpage; +if ($limit > 0 && $limit != $conf->liste_limit) $param.='&limit='.$limit; +if ($optioncss != '') $param.='&optioncss='.$optioncss; +if ($langcode) $param.='&langcode='.urlencode($langcode); +if ($transkey) $param.='&transkey='.urlencode($transkey); +if ($transvalue) $param.='&transvalue='.urlencode($transvalue); print '
    entity) && $debug)?'?debug=1':'').'" method="POST">'; +if ($optioncss != '') print ''; +print ''; +print ''; +print ''; +print ''; +print ''; $head=translation_prepare_head(); dol_fiche_head($head, $mode, '', 0, ''); -if ($mode == 'searchkey') -{ - //print '
    '; - //print load_fiche_titre($langs->trans("TranslationKeySearch"), '', '')."\n"; - - print ''; - print ''; - print ''; - - print ''; - print ''; - print ''; - print ''; - print ''; - if (! empty($conf->multicompany->enabled) && !$user->entity) print ''; - print ''; - print "\n"; - - // Line to search new record - $var=false; - print "\n"; - - print ''."\n"; - print ''; - // Limit to superadmin - if (! empty($conf->multicompany->enabled) && !$user->entity) - { - print ''; - print '\n"; - print ''; - - print '
    '.$langs->trans("Language").' (en_US, es_MX, ...)'.$langs->trans("Key").''.$langs->trans("TranslationString").''.$langs->trans("Entity").'
    '; - print $formadmin->select_language(GETPOST('langcodesearch'),'langcodesearch',0,null,$langs->trans("All"),0,0,'',1); - //print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - } - else - { - print ''; - print ''; - } - print ''; - print "
    '; - print '
    '; -} - if ($mode == 'overwrite') { //print load_fiche_titre($langs->trans("TranslationOverwriteKey"), '', '')."\n"; + + print img_info().' '.$langs->trans("SomeTranslationAreUncomplete"); + $urlwikitranslatordoc='https://wiki.dolibarr.org/index.php/Translator_documentation'; + print ' ('.$langs->trans("SeeAlso").': '.$urlwikitranslatordoc.')
    '; + print $langs->trans("TranslationOverwriteDesc",$langs->transnoentitiesnoconv("Language"),$langs->transnoentitiesnoconv("Key"),$langs->transnoentitiesnoconv("NewTranslationStringToShow"))."\n"; + print ' ('.$langs->trans("TranslationOverwriteDesc2").').'."
    \n"; + print '
    '; + print ''; print ''; @@ -227,8 +192,7 @@ if ($mode == 'overwrite') print "\n"; print '
    '; - print $formadmin->select_language(GETPOST('langcode'),'langcode',0,null,1,0,0,'',1); - //print ''; + print $formadmin->select_language(GETPOST('langcode'), 'langcode', 0, null, 1, 0, 0, 'maxwidthonsmartphone', 1); print ''; print ''; @@ -313,6 +277,128 @@ if ($mode == 'overwrite') } +if ($mode == 'searchkey') +{ + $recordtoshow=array(); + + $nbempty=0; + /*var_dump($langcode); + var_dump($transkey); + var_dump($transvalue);*/ + if (empty($langcode) || $langcode == '-1') $nbempty++; + if (empty($transkey)) $nbempty++; + if (empty($transvalue)) $nbempty++; + if ($action == 'search' && ($nbempty > 1)) + { + setEventMessages($langs->trans("WarningAtLeastKeyOrTranslationRequired"), null, 'warnings'); + } + else + { + $newlang=new Translate('',$conf); + $newlang->setDefaultLang($langcode); + + // Load all translations keys + foreach($conf->file->dol_document_root as $keydir => $searchdir) + { + // Directory of translation files + $dir_lang = $searchdir."/langs/".$langcode; + $dir_lang_osencoded=dol_osencode($dir_lang); + + $filearray=dol_dir_list($dir_lang_osencoded,'files',0,'','',$sortfield,(strtolower($sortorder)=='asc'?SORT_ASC:SORT_DESC),1); + + foreach($filearray as $file) + { + $tmpfile=preg_replace('/.lang/i', '', basename($file['name'])); + $newlang->load($tmpfile, 0, 0, '', 0); + //print 'After loading lang '.$tmpfile.', newlang has '.count($newlang->tab_translate).' records
    '."\n"; + } + } + + // Now search into translation array + foreach($newlang->tab_translate as $key => $val) + { + if ($transkey && ! preg_match('/'.preg_quote($transkey).'/', $key)) continue; + if ($transvalue && ! preg_match('/'.preg_quote($transvalue).'/', $val)) continue; + $recordtoshow[$key]=$val; + } + } + + //print '
    '; + $nbtotalofrecordswithoutfilters = count($newlang->tab_translate); + $nbtotalofrecords = count($recordtoshow); + $num = $limit + 1; + if (($offset + $num) > $nbtotalofrecords) $num = $limit; + + //print 'param='.$param.' $_SERVER["PHP_SELF"]='.$_SERVER["PHP_SELF"].' num='.$num.' page='.$page.' nbtotalofrecords='.$nbtotalofrecords." sortfield=".$sortfield." sortorder=".$sortorder; + $title = $langs->trans("TranslationKeySearch"); + if ($nbtotalofrecords > 0) $title.=' ('.$nbtotalofrecords.' / '.$nbtotalofrecordswithoutfilters.')'; + print print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, -1 * $nbtotalofrecords, '', 0, '', '', $limit)."\n"; + + print ''; + print ''; + print ''; + + print ''; + print ''; + print_liste_field_titre($langs->trans("Language").' (en_US, es_MX, ...)',$_SERVER["PHP_SELF"],'lang,transkey','',$param,'',$sortfield,$sortorder).''; + print_liste_field_titre($langs->trans("Key"),$_SERVER["PHP_SELF"],'transkey','',$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("CurrentTranslationString"),$_SERVER["PHP_SELF"],'transvalue','',$param,'',$sortfield,$sortorder); + if (! empty($conf->multicompany->enabled) && !$user->entity) print_liste_field_titre($langs->trans("Entity"),$_SERVER["PHP_SELF"],'entity,transkey','',$param,'',$sortfield,$sortorder); + print ''; + print "\n"; + + // Line to search new record + $var=false; + print "\n"; + + print ''."\n"; + print ''; + // Limit to superadmin + if (! empty($conf->multicompany->enabled) && !$user->entity) + { + print ''; + print '\n"; + print ''; + + if ($sortfield == 'transkey' && strtolower($sortorder) == 'asc') ksort($recordtoshow); + if ($sortfield == 'transkey' && strtolower($sortorder) == 'desc') krsort($recordtoshow); + if ($sortfield == 'transvalue' && strtolower($sortorder) == 'asc') asort($recordtoshow); + if ($sortfield == 'transvalue' && strtolower($sortorder) == 'desc') arsort($recordtoshow); + + // Show result + $i=0; + foreach($recordtoshow as $key => $val) + { + $i++; + if ($i <= $offset) continue; + if ($i > ($offset + $limit)) break; + print ''."\n"; + } + + print '
    '; + $langcode=GETPOST('langcode')?GETPOST('langcode'):$langs->defaultlang; + //print $formadmin->select_language($langcode,'langcode',0,null,$langs->trans("All"),0,0,'',1); + print $formadmin->select_language($langcode,'langcode', 0, null, 0, 0, 0, 'maxwidthonsmartphone', 1); + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + } + else + { + print ''; + print ''; + } + print ''; + print "
    '.$langcode.''.$key.''; + print dol_escape_htmltag($val); + print '
    '; + print ''; +} + dol_fiche_end(); print "\n"; diff --git a/htdocs/core/class/html.formadmin.class.php b/htdocs/core/class/html.formadmin.class.php index af51b64fa8d..16a16719366 100644 --- a/htdocs/core/class/html.formadmin.class.php +++ b/htdocs/core/class/html.formadmin.class.php @@ -58,7 +58,7 @@ class FormAdmin * @param int $showcode Add language code into label * @return string Return HTML select string with list of languages */ - function select_language($selected='',$htmlname='lang_id',$showauto=0,$filter=null,$showempty='',$showwarning=0,$disabled=0,$morecss='',$showcode=0) + function select_language($selected='', $htmlname='lang_id', $showauto=0, $filter=null, $showempty='', $showwarning=0, $disabled=0, $morecss='', $showcode=0) { global $langs; diff --git a/htdocs/core/class/translate.class.php b/htdocs/core/class/translate.class.php index 9ca6196b018..6b596dc3aa5 100644 --- a/htdocs/core/class/translate.class.php +++ b/htdocs/core/class/translate.class.php @@ -155,14 +155,15 @@ class Translate * @param integer $alt 0 (try xx_ZZ then 1), 1 (try xx_XX then 2), 2 (try en_US) * @param int $stopafterdirection Stop when the DIRECTION tag is found (optimize speed) * @param int $forcelangdir To force a different lang directory + * @param int $loadfromfileonly 1=Do not load overwritten translation from file or old conf. * @return int <0 if KO, 0 if already loaded or loading not required, >0 if OK */ - function load($domain,$alt=0,$stopafterdirection=0,$forcelangdir='') + function load($domain,$alt=0,$stopafterdirection=0,$forcelangdir='',$loadfromfileonly=0) { global $conf,$db; // Load $this->tab_translate[] from database - if (count($this->tab_translate) == 0) $this->loadFromDatabase($db); // Nothing was loaded yet, so we load database. + if (empty($loadfromfileonly) && count($this->tab_translate) == 0) $this->loadFromDatabase($db); // Nothing was loaded yet, so we load database. // Check parameters if (empty($domain)) @@ -336,19 +337,20 @@ class Translate // This part is deprecated and replaced with table llx_overwrite_trans // Kept for backward compatibility. - $overwritekey='MAIN_OVERWRITE_TRANS_'.$this->defaultlang; - if (! empty($conf->global->$overwritekey)) // Overwrite translation with key1:newstring1,key2:newstring2 - { - // Overwrite translation with param MAIN_OVERWRITE_TRANS_xx_XX - $tmparray=explode(',', $conf->global->$overwritekey); - foreach($tmparray as $tmp) + if (empty($loadfromfileonly)) + { + $overwritekey='MAIN_OVERWRITE_TRANS_'.$this->defaultlang; + if (! empty($conf->global->$overwritekey)) // Overwrite translation with key1:newstring1,key2:newstring2 { - $tmparray2=explode(':',$tmp); - if (! empty($tmparray2[1])) $this->tab_translate[$tmparray2[0]]=$tmparray2[1]; + // Overwrite translation with param MAIN_OVERWRITE_TRANS_xx_XX + $tmparray=explode(',', $conf->global->$overwritekey); + foreach($tmparray as $tmp) + { + $tmparray2=explode(':',$tmp); + if (! empty($tmparray2[1])) $this->tab_translate[$tmparray2[0]]=$tmparray2[1]; + } } - } - - + } // Check to be sure that SeparatorDecimal differs from SeparatorThousand if (! empty($this->tab_translate["SeparatorDecimal"]) && ! empty($this->tab_translate["SeparatorThousand"]) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 5065abc69ed..4d6f05f4de8 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -3041,7 +3041,7 @@ function load_fiche_titre($titre, $mesg='', $picto='title_generic.png', $pictois * @param string $sortorder Order to sort ('' by default) * @param string $center Strin gin the middle ('' by default). We often find here string $massaction comming from $form->selectMassAction() * @param int $num Number of records found by select with limit+1 - * @param int $totalnboflines Total number of records/lines for all pages (if known). Use a negative value to no show number. + * @param int $totalnboflines Total number of records/lines for all pages (if known). Use a negative value to not show number. * @param string $picto Icon to use before title (should be a 32x32 transparent png file) * @param int $pictoisfullpath 1=Icon name is a full absolute url of image * @param string $morehtml More html to show diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index aebb4aaa81d..4549aa74181 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -1041,8 +1041,11 @@ TranslationSetup=Setup of translation TranslationKeySearch=Search a translation key or string TranslationOverwriteKey=Overwrite a translation string TranslationDesc=How to set displayed application language :
    * Systemwide: menu Home - Setup - Display
    * Per user: User display setup tab of user card (click on username at the top of the screen). -TranslationOverwriteDesc=You can also override strings filling the following table. Choose your language from "%s" dropdown, insert the key string found in the lang file (langs/xx_XX/somefile.lang) into "%s" and your new translation into "%s". +TranslationOverwriteDesc=You can also override strings filling the following table. Choose your language from "%s" dropdown, insert the translation key string into "%s" and your new translation into "%s" +TranslationOverwriteDesc2=You can use the other tab to help you know translation key to use TranslationString=Translation string +CurrentTranslationString=Current translation string +WarningAtLeastKeyOrTranslationRequired=A search criteria is required at least for key or translation string NewTranslationStringToShow=New translation string to show TotalNumberOfActivatedModules=Total number of activated feature modules: %s / %s YouMustEnableOneModule=You must at least enable 1 module From 6da7410c18ef9b50aa8036f4fb4133f6948fc398 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 4 Sep 2016 14:58:58 +0200 Subject: [PATCH 468/476] Show warning for overwritten translation --- htdocs/admin/translation.php | 27 ++++++++++++++++++++------- htdocs/langs/en_US/admin.lang | 1 + 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/htdocs/admin/translation.php b/htdocs/admin/translation.php index 5e6d242dffc..86a605afa53 100644 --- a/htdocs/admin/translation.php +++ b/htdocs/admin/translation.php @@ -279,6 +279,14 @@ if ($mode == 'overwrite') if ($mode == 'searchkey') { + $langcode=GETPOST('langcode')?GETPOST('langcode'):$langs->defaultlang; + + $newlang=new Translate('',$conf); + $newlang->setDefaultLang($langcode); + + $newlangfileonly=new Translate('',$conf); + $newlangfileonly->setDefaultLang($langcode); + $recordtoshow=array(); $nbempty=0; @@ -294,9 +302,6 @@ if ($mode == 'searchkey') } else { - $newlang=new Translate('',$conf); - $newlang->setDefaultLang($langcode); - // Load all translations keys foreach($conf->file->dol_document_root as $keydir => $searchdir) { @@ -310,6 +315,7 @@ if ($mode == 'searchkey') { $tmpfile=preg_replace('/.lang/i', '', basename($file['name'])); $newlang->load($tmpfile, 0, 0, '', 0); + $newlangfileonly->load($tmpfile, 0, 0, '', 1); //print 'After loading lang '.$tmpfile.', newlang has '.count($newlang->tab_translate).' records
    '."\n"; } } @@ -352,7 +358,6 @@ if ($mode == 'searchkey') print "\n"; print '
    '; - $langcode=GETPOST('langcode')?GETPOST('langcode'):$langs->defaultlang; //print $formadmin->select_language($langcode,'langcode',0,null,$langs->trans("All"),0,0,'',1); print $formadmin->select_language($langcode,'langcode', 0, null, 0, 0, 0, 'maxwidthonsmartphone', 1); print ''; print ''; print ''; + print ''; } else { - print ''; + print ''; print ''; } print ''; @@ -385,13 +390,21 @@ if ($mode == 'searchkey') // Show result $i=0; + $var=false; foreach($recordtoshow as $key => $val) { $i++; if ($i <= $offset) continue; if ($i > ($offset + $limit)) break; - print '
    '.$langcode.''.$key.''; + $var=!$var; + print '
    '.$langcode.''.$key.''; print dol_escape_htmltag($val); + print ''; + if ($val != $newlangfileonly->tab_translate[$key]) + { + $htmltext = $langs->trans("OriginalValueWas", $newlangfileonly->tab_translate[$key]); + print $form->textwithpicto('', $htmltext, 1, 'warning'); + } print '
    '; print ''; - print ''; + print ''; print ''; - print ''; } else { - print ''; print ''; } - print ''; - print "'; + $searchpitco=$form->showFilterAndCheckAddButtons($massactionbutton?1:0, 'checkforselect', 1); + print $searchpitco; + print '
    '.$langs->trans("Visibility").''; - $array=array(0 => $langs->trans("PrivateProject"),1 => $langs->trans("SharedProject")); + $array=array(); + if (empty($conf->global->PROJECT_DISABLE_PRIVATE_PROJECT)) $array[0] = $langs->trans("PrivateProject"); + if (empty($conf->global->PROJECT_DISABLE_PUBLIC_PROJECT)) $array[1] = $langs->trans("SharedProject"); print $form->selectarray('public',$array,GETPOST('public')?GETPOST('public'):(isset($conf->global->PROJECT_DEFAULT_PUBLIC)?$conf->global->PROJECT_DEFAULT_PUBLIC:$object->public)); print '
    '.$langs->trans("Visibility").''; - $array=array(0 => $langs->trans("PrivateProject"),1 => $langs->trans("SharedProject")); + $array=array(); + if (empty($conf->global->PROJECT_DISABLE_PRIVATE_PROJECT)) $array[0] = $langs->trans("PrivateProject"); + if (empty($conf->global->PROJECT_DISABLE_PUBLIC_PROJECT)) $array[1] = $langs->trans("SharedProject"); print $form->selectarray('public',$array,$object->public); print '

    '; * Documents models for Interventions */ -print load_fiche_titre($langs->trans("TemplatePDFExpenseReports")); +print load_fiche_titre($langs->trans("TemplatePDFExpenseReports"), '', ''); // Defini tableau def des modeles $type='expensereport'; @@ -494,6 +484,58 @@ foreach ($dirmodels as $reldir) print '
    '; + +print '
    '; + + + +/* + * Other options + */ + +print '
    '; +print ''; +print ''; + +print load_fiche_titre($langs->trans("OtherOptions"), '', ''); +print ''; +print ''; +print ''; +print ''; +print "\n"; +$var=true; + +$var=! $var; +print ''."\n"; + +//Use draft Watermark +$var=!$var; +print ''."\n"; + +print '
    '.$langs->trans("Parameter").'
    '; +print $langs->trans("FreeLegalTextOnExpenseReports").' ('.$langs->trans("AddCRIfTooLong").')
    '; +$variablename='EXPENSEREPORT_FREE_TEXT'; +if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) +{ + print ''; +} +else +{ + include_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; + $doleditor=new DolEditor($variablename, $conf->global->$variablename,'',80,'dolibarr_details'); + print $doleditor->Create(); +} +print '
    '; +print $langs->trans("WatermarkOnDraftOrders").'
    '; +print ''; +print '
    '; + +print '
    '; +print ''; +print '
    '; + +print '
    '; + dol_fiche_end(); diff --git a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php index a0176ae7dda..912aeec0ef9 100644 --- a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php @@ -512,9 +512,9 @@ class pdf_standard extends ModeleExpenseReport */ // Draft watermark - if ($object->fk_statut==1 && ! empty($conf->global->EXPENSEREPORT_FREE_TEXT)) + if ($object->fk_statut == 0 && ! empty($conf->global->EXPENSEREPORT_DRAFT_WATERMARK)) { - pdf_watermark($pdf,$outputlangs,$this->page_hauteur,$this->page_largeur,'mm',$conf->global->EXPENSEREPORT_FREE_TEXT); + pdf_watermark($pdf,$outputlangs,$this->page_hauteur,$this->page_largeur,'mm',$conf->global->EXPENSEREPORT_DRAFT_WATERMARK); } $pdf->SetTextColor(0,0,60); diff --git a/htdocs/expensereport/class/expensereport.class.php b/htdocs/expensereport/class/expensereport.class.php index a05805c7f74..4e7f7a551b3 100644 --- a/htdocs/expensereport/class/expensereport.class.php +++ b/htdocs/expensereport/class/expensereport.class.php @@ -41,7 +41,7 @@ class ExpenseReport extends CommonObject var $fk_user_validator; var $status; - var $fk_statut; // -- 1=draft, 2=validated (attente approb), 4=canceled, 5=approved, 6=payed, 99=denied + var $fk_statut; // -- 0=draft, 2=validated (attente approb), 4=canceled, 5=approved, 6=payed, 99=denied var $fk_c_paiement; var $paid; From 898bbd60315224750c3df17c6aa4714f68964ed6 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 6 Sep 2016 13:00:32 +0200 Subject: [PATCH 474/476] NEW Support extrafields for expense reports --- htdocs/admin/expensereport_extrafields.php | 122 ++++++++++++++++++ htdocs/core/lib/expensereport.lib.php | 3 +- .../install/mysql/migration/4.0.0-5.0.0.sql | 13 ++ .../llx_expensereport_extrafields.key.sql | 21 +++ .../tables/llx_expensereport_extrafields.sql | 26 ++++ 5 files changed, 184 insertions(+), 1 deletion(-) create mode 100644 htdocs/admin/expensereport_extrafields.php create mode 100644 htdocs/install/mysql/tables/llx_expensereport_extrafields.key.sql create mode 100644 htdocs/install/mysql/tables/llx_expensereport_extrafields.sql diff --git a/htdocs/admin/expensereport_extrafields.php b/htdocs/admin/expensereport_extrafields.php new file mode 100644 index 00000000000..65e1592eff8 --- /dev/null +++ b/htdocs/admin/expensereport_extrafields.php @@ -0,0 +1,122 @@ + + * Copyright (C) 2003 Jean-Louis Bergamo + * Copyright (C) 2004-2013 Laurent Destailleur + * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Florian Henry + * Copyright (C) 2013 Philippe Grand + * + * 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 . + */ + +/** + * \file htdocs/admin/expensereport_extrafields.php + * \ingroup expensereport + * \brief Page to setup extra fields of expensereport + */ + +require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/expensereport.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; + +if (!$user->admin) + accessforbidden(); + +$langs->load("admin"); +$langs->load("errors"); +$langs->load("trips"); +$langs->load('other'); + +$extrafields = new ExtraFields($db); +$form = new Form($db); + +// List of supported format +$tmptype2label=ExtraFields::$type2label; +$type2label=array(''); +foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->trans($val); + +$action=GETPOST('action', 'alpha'); +$attrname=GETPOST('attrname', 'alpha'); +$elementtype='expensereport'; //Must be the $table_element of the class that manage extrafield + +if (!$user->admin) accessforbidden(); + + +/* + * Actions + */ + +require DOL_DOCUMENT_ROOT.'/core/actions_extrafields.inc.php'; + + + +/* + * View + */ + +$textobject=$langs->transnoentitiesnoconv("expensereports"); + +llxHeader('',$langs->trans("expensereportsSetup")); + +$linkback=''.$langs->trans("BackToModuleList").''; +print load_fiche_titre($langs->trans("ExpenseReportsSetup"),$linkback,'title_setup'); + +$head = expensereport_admin_prepare_head(); + +dol_fiche_head($head, 'attributes', $langs->trans("ExpenseReports"), 0, 'trip'); + +require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php'; + +dol_fiche_end(); + + +// Buttons +if ($action != 'create' && $action != 'edit') +{ + print '
    '; + print "".$langs->trans("NewAttribute").""; + print "
    "; +} + + +/* ************************************************************************** */ +/* */ +/* Creation of an optional field */ +/* */ +/* ************************************************************************** */ + +if ($action == 'create') +{ + print "
    "; + print load_fiche_titre($langs->trans('NewAttribute')); + + require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; +} + +/* ************************************************************************** */ +/* */ +/* Edition of an optional field */ +/* */ +/* ************************************************************************** */ +if ($action == 'edit' && ! empty($attrname)) +{ + print "
    "; + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); + + require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; +} + +llxFooter(); + +$db->close(); diff --git a/htdocs/core/lib/expensereport.lib.php b/htdocs/core/lib/expensereport.lib.php index 30f9da30583..bc5641b2593 100644 --- a/htdocs/core/lib/expensereport.lib.php +++ b/htdocs/core/lib/expensereport.lib.php @@ -93,11 +93,12 @@ function expensereport_admin_prepare_head() // $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab complete_head_from_modules($conf,$langs,null,$head,$h,'expensereport_admin'); - /*$head[$h][0] = DOL_URL_ROOT.'/fichinter/admin/fichinter_extrafields.php'; + $head[$h][0] = DOL_URL_ROOT.'/admin/expensereport_extrafields.php'; $head[$h][1] = $langs->trans("ExtraFields"); $head[$h][2] = 'attributes'; $h++; + /* $head[$h][0] = DOL_URL_ROOT.'/fichinter/admin/fichinterdet_extrafields.php'; $head[$h][1] = $langs->trans("ExtraFieldsLines"); $head[$h][2] = 'attributesdet'; diff --git a/htdocs/install/mysql/migration/4.0.0-5.0.0.sql b/htdocs/install/mysql/migration/4.0.0-5.0.0.sql index 954cb3cc663..424ee7463e3 100644 --- a/htdocs/install/mysql/migration/4.0.0-5.0.0.sql +++ b/htdocs/install/mysql/migration/4.0.0-5.0.0.sql @@ -68,4 +68,17 @@ ALTER TABLE llx_societe_remise_except ADD COLUMN entity integer DEFAULT 1 NOT NU ALTER TABLE llx_societe_remise ADD COLUMN entity integer DEFAULT 1 NOT NULL after rowid; +create table llx_expensereport_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, + import_key varchar(14) -- import key +) ENGINE=innodb; + +ALTER TABLE llx_expensereport_extrafields ADD INDEX idx_expensereport_extrafields (fk_object); + + + + diff --git a/htdocs/install/mysql/tables/llx_expensereport_extrafields.key.sql b/htdocs/install/mysql/tables/llx_expensereport_extrafields.key.sql new file mode 100644 index 00000000000..1982600d8e3 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_expensereport_extrafields.key.sql @@ -0,0 +1,21 @@ +-- =================================================================== +-- Copyright (C) 2016 Laurent Destailleur +-- +-- 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 . +-- +-- =================================================================== + + +ALTER TABLE llx_expensereport_extrafields ADD INDEX idx_expensereport_extrafields (fk_object); + diff --git a/htdocs/install/mysql/tables/llx_expensereport_extrafields.sql b/htdocs/install/mysql/tables/llx_expensereport_extrafields.sql new file mode 100644 index 00000000000..72b6a8c3194 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_expensereport_extrafields.sql @@ -0,0 +1,26 @@ +-- ======================================================================== +-- Copyright (C) 2016 Laurent Destailleur +-- +-- 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 . +-- +-- ======================================================================== + +create table llx_expensereport_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, + import_key varchar(14) -- import key +) ENGINE=innodb; + From cc9230c07f0b95aed297dd77dd2eba702a682c39 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 6 Sep 2016 13:07:24 +0200 Subject: [PATCH 475/476] FIX Columns truncated and translation missing --- .../expensereport/doc/pdf_standard.modules.php | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php index 912aeec0ef9..8b853b01605 100644 --- a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php @@ -68,7 +68,7 @@ class pdf_standard extends ModeleExpenseReport $langs->load("main"); $langs->load("trips"); - $langs->load("project"); + $langs->load("projects"); $this->db = $db; $this->name = ""; @@ -107,11 +107,11 @@ class pdf_standard extends ModeleExpenseReport $this->posxcomment=$this->marge_gauche+10; $this->posxdate=88; $this->posxtype=107; - $this->posxprojet=126; - $this->posxtva=146; - $this->posxup=158; - $this->posxqty=176; - $this->postotalttc=188; + $this->posxprojet=120; + $this->posxtva=136; + $this->posxup=152; + $this->posxqty=168; + $this->postotalttc=178; if (empty($conf->projet->enabled)) { $this->posxtva-=20; $this->posxup-=20; @@ -158,7 +158,7 @@ class pdf_standard extends ModeleExpenseReport $outputlangs->load("main"); $outputlangs->load("dict"); $outputlangs->load("trips"); - $outputlangs->load("project"); + $outputlangs->load("projects"); $nblignes = count($object->lines); @@ -435,6 +435,7 @@ class pdf_standard extends ModeleExpenseReport if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT)) { + // TODO Show vat amout per tax level $posy+=5; $pdf->SetXY(100, $posy); $pdf->SetTextColor(0,0,60); From 10c1f0224330ea85366612fda98c5370ca3ce90a Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 6 Sep 2016 13:39:44 +0200 Subject: [PATCH 476/476] Extrafields for expensereports are visible on cards --- htdocs/commande/card.php | 2 - htdocs/expensereport/card.php | 2074 +++++++++++++++++---------------- 2 files changed, 1095 insertions(+), 981 deletions(-) diff --git a/htdocs/commande/card.php b/htdocs/commande/card.php index 8b471fdcfe2..25e6606c16c 100644 --- a/htdocs/commande/card.php +++ b/htdocs/commande/card.php @@ -262,7 +262,6 @@ if (empty($reshook)) $object->location_incoterms = GETPOST('location_incoterms', 'alpha'); $object->multicurrency_code = GETPOST('multicurrency_code', 'alpha'); $object->multicurrency_tx = GETPOST('originmulticurrency_tx', 'int'); - // Fill array 'array_options' with data from add form if (! $error) { @@ -1212,7 +1211,6 @@ if (empty($reshook)) if (! $error) { // Actions on extra fields (by external module or standard code) - // TODO le hook fait double emploi avec le trigger !! $hookmanager->initHooks(array('orderdao')); $parameters = array('id' => $object->id); $reshook = $hookmanager->executeHooks('insertExtraFields', $parameters, $object, $action); // Note that $action and $object may have been modified by diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php index 2d43faf016a..f0c21ebd3d8 100644 --- a/htdocs/expensereport/card.php +++ b/htdocs/expensereport/card.php @@ -38,6 +38,7 @@ require_once DOL_DOCUMENT_ROOT . '/core/modules/expensereport/modules_expenserep require_once DOL_DOCUMENT_ROOT . '/expensereport/class/expensereport.class.php'; require_once DOL_DOCUMENT_ROOT . '/compta/paiement/class/paiement.class.php'; require_once DOL_DOCUMENT_ROOT . '/core/class/doleditor.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/extrafields.class.php'; $langs->load("trips"); $langs->load("bills"); @@ -89,996 +90,1091 @@ $hidedesc = (GETPOST('hidedesc', 'int') ? GETPOST('hidedesc', 'int') : (! empty( $hideref = (GETPOST('hideref', 'int') ? GETPOST('hideref', 'int') : (! empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_REF) ? 1 : 0)); +$object=new ExpenseReport($db); +$extrafields = new ExtraFields($db); + +// fetch optionals attributes and labels +$extralabels = $extrafields->fetch_name_optionals_label($object->table_element); + +// Load object +include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once + +// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array +$hookmanager->initHooks(array('expensereportcard','globalcard')); + +$permissionnote = $user->rights->expensereport->creer; // Used by the include of actions_setnotes.inc.php +$permissiondellink = $user->rights->expensereport->creer; // Used by the include of actions_dellink.inc.php +$permissionedit = $user->rights->expensereport->creer; // Used by the include of actions_lineupdown.inc.php + + + /* * Actions */ -if ($cancel) +$parameters = array('socid' => $socid); +$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks +if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); + +if (empty($reshook)) { - $action=''; - $fk_projet=''; - $date_start=''; - $date_end=''; - $date=''; - $comments=''; - $vatrate=''; - $value_unit=''; - $qty=1; - $fk_c_type_fees=-1; -} - -if ($action == 'confirm_delete' && GETPOST("confirm") == "yes" && $id > 0 && $user->rights->expensereport->supprimer) -{ - $object = new ExpenseReport($db); - $result=$object->delete($id, $user); - if ($result >= 0) - { - header("Location: index.php"); - exit; - } - else - { - setEventMessages($object->error, $object->errors, 'errors'); - } -} - -if ($action == 'add' && $user->rights->expensereport->creer) -{ - $object = new ExpenseReport($db); - - $object->date_debut = $date_start; - $object->date_fin = $date_end; - - $object->fk_statut = 1; - $object->fk_c_paiement = GETPOST('fk_c_paiement','int'); - $object->fk_user_validator = GETPOST('fk_user_validator','int'); - $object->note_public = GETPOST('note_public'); - $object->note_private = GETPOST('note_private'); - - if ($object->periode_existe($user,$object->date_debut,$object->date_fin)) - { - $error++; - setEventMessages($langs->trans("ErrorDoubleDeclaration"), null, 'errors'); - $action='create'; - } - - if (! $error) - { - $db->begin(); - - $id = $object->create($user); - - if ($id > 0) - { - $db->commit(); - Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$id); - exit; - } - else - { - setEventMessages($object->error, $object->errors, 'errors'); - $db->rollback(); - $action='create'; - } - } -} - -if ($action == 'update' && $user->rights->expensereport->creer) -{ - $object = new ExpenseReport($db); - $object->fetch($id); - - $object->date_debut = $date_start; - $object->date_fin = $date_end; - - if($object->fk_statut < 3) - { - $object->fk_user_validator = GETPOST('fk_user_validator','int'); - } - - $object->fk_c_paiement = GETPOST('fk_c_paiement','int'); - $object->note_public = GETPOST('note_public'); - $object->note_private = GETPOST('note_private'); - $object->fk_user_modif = $user->id; - - $result = $object->update($user); - if ($result > 0) - { - header("Location: ".$_SERVER["PHP_SELF"]."?id=".$_POST['id']); - exit; - } - else - { - setEventMessages($object->error, $object->errors, 'errors'); - } -} - -if ($action == "confirm_validate" && GETPOST("confirm") == "yes" && $id > 0 && $user->rights->expensereport->creer) -{ - $object = new ExpenseReport($db); - $object->fetch($id); - $result = $object->setValidate($user); - - if ($result > 0) - { - // Define output language - if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) - { - $outputlangs = $langs; - $newlang = ''; - if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang = GETPOST('lang_id','alpha'); - if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang = $object->thirdparty->default_lang; - if (! empty($newlang)) { - $outputlangs = new Translate("", $conf); - $outputlangs->setDefaultLang($newlang); - } - $model=$object->modelpdf; - $ret = $object->fetch($id); // Reload to get new records - - $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); - } - } - - if ($result > 0 && $object->fk_user_validator > 0) - { - $langs->load("mails"); - - // TO - $destinataire = new User($db); - $destinataire->fetch($object->fk_user_validator); - $emailTo = $destinataire->email; - - // FROM - $expediteur = new User($db); - $expediteur->fetch($object->fk_user_author); - $emailFrom = $expediteur->email; - - if ($emailTo && $emailFrom) - { - $filename=array(); $filedir=array(); $mimetype=array(); - - // SUBJECT - $subject = $langs->trans("ExpenseReportWaitingForApproval"); - - // CONTENT - $link = $urlwithroot.'/expensereport/card.php?id='.$object->id; - $message = $langs->trans("ExpenseReportWaitingForApprovalMessage", $expediteur->getFullName($langs), get_date_range($object->date_debut,$object->date_fin,'',$langs), $link); - - // Rebuild pdf - /* - $object->setDocModel($user,""); - $resultPDF = expensereport_pdf_create($db,$id,'',"",$langs); - - if($resultPDF): - // ATTACHMENT - array_push($filename,dol_sanitizeFileName($object->ref).".pdf"); - array_push($filedir,$conf->expensereport->dir_output . "/" . dol_sanitizeFileName($object->ref) . "/" . dol_sanitizeFileName($object->ref).".pdf"); - array_push($mimetype,"application/pdf"); - */ - - // PREPARE SEND - $mailfile = new CMailFile($subject,$emailTo,$emailFrom,$message,$filedir,$mimetype,$filename); - - if ($mailfile) - { - // SEND - $result=$mailfile->sendfile(); - if ($result) - { - $mesg=$langs->trans('MailSuccessfulySent',$mailfile->getValidAddress($emailFrom,2),$mailfile->getValidAddress($emailTo,2)); - setEventMessages($mesg, null, 'mesgs'); - header("Location: ".$_SERVER["PHP_SELF"]."?id=".$id); - exit; - } - else - { - $langs->load("other"); - if ($mailfile->error) - { - $mesg=''; - $mesg.=$langs->trans('ErrorFailedToSendMail', $emailFrom, $emailTo); - $mesg.='
    '.$mailfile->error; - setEventMessages($mesg, null, 'errors'); - } - else - { - setEventMessages('No mail sent. Feature is disabled by option MAIN_DISABLE_ALL_MAILS', null, 'warnings'); - } - } - } - else - { - setEventMessages($mailfile->error,$mailfile->errors,'errors'); - $action=''; - } - } - else - { - setEventMessages($langs->trans("NoEmailSentBadSenderOrRecipientEmail"), null, 'warnings'); - $action=''; - } - } - else - { - setEventMessages($object->error, $object->errors, 'errors'); - } -} - -if ($action == "confirm_save_from_refuse" && GETPOST("confirm") == "yes" && $id > 0 && $user->rights->expensereport->creer) -{ - $object = new ExpenseReport($db); - $object->fetch($id); - $result = $object->set_save_from_refuse($user); - - if ($result > 0) - { - // Define output language - if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) - { - $outputlangs = $langs; - $newlang = ''; - if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang = GETPOST('lang_id','alpha'); - if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang = $object->thirdparty->default_lang; - if (! empty($newlang)) { - $outputlangs = new Translate("", $conf); - $outputlangs->setDefaultLang($newlang); - } - $model=$object->modelpdf; - $ret = $object->fetch($id); // Reload to get new records - - $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); - } - } - - if ($result > 0) - { - if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) // TODO Translate this so we can remove condition - { - // Send mail - - // TO - $destinataire = new User($db); - $destinataire->fetch($object->fk_user_validator); - $emailTo = $destinataire->email; - - if ($emailTo) - { - // FROM - $expediteur = new User($db); - $expediteur->fetch($object->fk_user_author); - $emailFrom = $expediteur->email; - - // SUBJECT - $subject = "' ERP - Note de frais à re-approuver"; - - // CONTENT - $dateRefusEx = explode(" ",$object->date_refuse); - - $message = "Bonjour {$destinataire->firstname},\n\n"; - $message.= "Le {$dateRefusEx[0]} à {$dateRefusEx[1]} vous avez refusé d'approuver la note de frais \"{$object->ref}\". Vous aviez émis le motif suivant : {$object->detail_refuse}\n\n"; - $message.= "L'auteur vient de modifier la note de frais, veuillez trouver la nouvelle version en pièce jointe.\n"; - $message.= "- Déclarant : {$expediteur->firstname} {$expediteur->lastname}\n"; - $message.= "- Période : du {$object->date_debut} au {$object->date_fin}\n"; - $message.= "- Lien : {$dolibarr_main_url_root}/expensereport/card.php?id={$object->id}\n\n"; - $message.= "Bien cordialement,\n' SI"; - - // Génération du pdf avant attachement - $object->setDocModel($user,""); - $resultPDF = expensereport_pdf_create($db,$object,'',"",$langs); - - if($resultPDF) - { - // ATTACHMENT - $filename=array(); $filedir=array(); $mimetype=array(); - array_push($filename,dol_sanitizeFileName($object->ref).".pdf"); - array_push($filedir,$conf->expensereport->dir_output . "/" . dol_sanitizeFileName($object->ref) . "/" . dol_sanitizeFileName($object->ref_number).".pdf"); - array_push($mimetype,"application/pdf"); - - // PREPARE SEND - $mailfile = new CMailFile($subject,$emailTo,$emailFrom,$message,$filedir,$mimetype,$filename); - - if (! $mailfile->error) - { - // SEND - $result=$mailfile->sendfile(); - if ($result) - { - Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$id); - exit; - } - else - { - $mesg=$mailfile->error; - setEventMessages($mesg, null, 'errors'); - } - // END - Send mail - } - else - { - dol_print_error($db,$resultPDF); - exit; - } - } - } - } - } - else - { - setEventMessages($object->error, $object->errors, 'errors'); - } -} - -// Approve -if ($action == "confirm_approve" && GETPOST("confirm") == "yes" && $id > 0 && $user->rights->expensereport->approve) -{ - $object = new ExpenseReport($db); - $object->fetch($id); - - $result = $object->setApproved($user); - - if ($result > 0) - { - // Define output language - if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) - { - $outputlangs = $langs; - $newlang = ''; - if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang = GETPOST('lang_id','alpha'); - if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang = $object->thirdparty->default_lang; - if (! empty($newlang)) { - $outputlangs = new Translate("", $conf); - $outputlangs->setDefaultLang($newlang); - } - $model=$object->modelpdf; - $ret = $object->fetch($id); // Reload to get new records - - $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); - } - } - - if ($result > 0) - { - if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) // TODO Translate this so we can remove condition - { - // Send mail - - // TO - $destinataire = new User($db); - $destinataire->fetch($object->fk_user_author); - $emailTo = $destinataire->email; - - // CC - $emailCC = $conf->global->NDF_CC_EMAILS; - - // FROM - $expediteur = new User($db); - $expediteur->fetch($object->fk_user_valid); - $emailFrom = $expediteur->email; - - // SUBJECT - $subject = "' ERP - Note de frais validée"; - - // CONTENT - $message = "Bonjour {$destinataire->firstname},\n\n"; - $message.= "Votre note de frais \"{$object->ref}\" vient d'être approuvé!\n"; - $message.= "- Approbateur : {$expediteur->firstname} {$expediteur->lastname}\n"; - $message.= "- Lien : {$dolibarr_main_url_root}/expensereport/card.php?id={$object->id}\n\n"; - $message.= "Bien cordialement,\n' SI"; - - // Génération du pdf avant attachement - $object->setDocModel($user,""); - $resultPDF = expensereport_pdf_create($db,$object,'',"",$langs); - - if($resultPDF): - // ATTACHMENT - $filename=array(); $filedir=array(); $mimetype=array(); - array_push($filename,dol_sanitizeFileName($object->ref).".pdf"); - array_push($filedir, $conf->expensereport->dir_output. - "/". - dol_sanitizeFileName($object->ref) . - "/". - dol_sanitizeFileName($object->ref). - ".pdf" - ); - array_push($mimetype,"application/pdf"); - - // PREPARE SEND - $mailfile = new CMailFile($subject,$emailTo,$emailFrom,$message,$filedir,$mimetype,$filename,$emailCC); - - if(!$mailfile->error): - - // SEND - $result=$mailfile->sendfile(); - if ($result): - setEventMessages($langs->trans("MailSuccessfulySent",$emailFrom,$emailTo), null, 'mesgs'); - Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$id); - exit; - else: - setEventMessages($langs->trans("ErrorFailedToSendMail",$emailFrom,$emailTo), null, 'errors'); - endif; - - else: - setEventMessages($langs->trans("ErrorFailedToSendMail",$emailFrom,$emailTo), null, 'errors'); - endif; - // END - Send mail - else : // if ($resultPDF) - dol_print_error($db,$resultPDF); - exit; - endif; - } - } - else - { - setEventMessages($object->error, $object->errors, 'errors'); - } -} - -if ($action == "confirm_refuse" && GETPOST('confirm')=="yes" && $id > 0 && $user->rights->expensereport->approve) -{ - $object = new ExpenseReport($db); - $object->fetch($id); - - $result = $object->setDeny($user,GETPOST('detail_refuse')); - - if ($result > 0) - { - // Define output language - if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) - { - $outputlangs = $langs; - $newlang = ''; - if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang = GETPOST('lang_id','alpha'); - if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang = $object->thirdparty->default_lang; - if (! empty($newlang)) { - $outputlangs = new Translate("", $conf); - $outputlangs->setDefaultLang($newlang); - } - $model=$object->modelpdf; - $ret = $object->fetch($id); // Reload to get new records - - $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); - } - } - - if ($result > 0) - { - if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) // TODO Translate this so we can remove condition - { - // Send mail - - // TO - $destinataire = new User($db); - $destinataire->fetch($object->fk_user_author); - $emailTo = $destinataire->email; - - // FROM - $expediteur = new User($db); - $expediteur->fetch($object->fk_user_refuse); - $emailFrom = $expediteur->email; - - // SUBJECT - $subject = "' ERP - Note de frais refusée"; - - // CONTENT - $message = "Bonjour {$destinataire->firstname},\n\n"; - $message.= "Votre note de frais \"{$object->ref}\" vient d'être refusée.\n"; - $message.= "- Refuseur : {$expediteur->firstname} {$expediteur->lastname}\n"; - $message.= "- Motif de refus : {$_POST['detail_refuse']}\n"; - $message.= "- Lien : {$dolibarr_main_url_root}/expensereport/card.php?id={$object->id}\n\n"; - $message.= "Bien cordialement,\n' SI"; - - // PREPARE SEND - $mailfile = new CMailFile($subject,$emailTo,$emailFrom,$message); - - if(!$mailfile->error) - { - // SEND - $result=$mailfile->sendfile(); - if ($result) - { - setEventMessages($langs->trans("MailSuccessfulySent",$emailFrom,$emailTo), null, 'mesgs'); - Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$id); - exit; - } - else - { - setEventMessages($langs->trans("ErrorFailedToSendMail",$emailFrom,$emailTo), null, 'errors'); - } - // END - Send mail - } - } - } - else - { - setEventMessages($object->error, $object->errors, 'errors'); - } -} - -//var_dump($user->id == $object->fk_user_validator);exit; -if ($action == "confirm_cancel" && GETPOST('confirm')=="yes" && GETPOST('detail_cancel') && $id > 0 && $user->rights->expensereport->creer) -{ - $object = new ExpenseReport($db); - $object->fetch($id); - - if ($user->id == $object->fk_user_valid || $user->id == $object->fk_user_author) - { - $result = $object->set_cancel($user,GETPOST('detail_cancel')); - - if ($result > 0) - { - // Define output language - if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) - { - $outputlangs = $langs; - $newlang = ''; - if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang = GETPOST('lang_id','alpha'); - if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang = $object->thirdparty->default_lang; - if (! empty($newlang)) { - $outputlangs = new Translate("", $conf); - $outputlangs->setDefaultLang($newlang); - } - $model=$object->modelpdf; - $ret = $object->fetch($id); // Reload to get new records - - $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); - } - } - - if ($result > 0) - { - if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) // TODO Translate this so we can remove condition - { - // Send mail - - // TO - $destinataire = new User($db); - $destinataire->fetch($object->fk_user_author); - $emailTo = $destinataire->email; - - // FROM - $expediteur = new User($db); - $expediteur->fetch($object->fk_user_cancel); - $emailFrom = $expediteur->email; - - // SUBJECT - $subject = "' ERP - Note de frais annulée"; - - // CONTENT - $message = "Bonjour {$destinataire->firstname},\n\n"; - $message.= "Votre note de frais \"{$object->ref}\" vient d'être annulée.\n"; - $message.= "- Annuleur : {$expediteur->firstname} {$expediteur->lastname}\n"; - $message.= "- Motif d'annulation : {$_POST['detail_cancel']}\n"; - $message.= "- Lien : {$dolibarr_main_url_root}/expensereport/card.php?id={$object->id}\n\n"; - $message.= "Bien cordialement,\n' SI"; - - // PREPARE SEND - $mailfile = new CMailFile($subject,$emailTo,$emailFrom,$message); - - if(!$mailfile->error) - { - // SEND - $result=$mailfile->sendfile(); - if ($result) - { - header("Location: ".$_SERVER["PHP_SELF"]."?id=".$id); - exit; - } - else - { - $mesg="Impossible d'envoyer l'email."; - setEventMessages($mesg, null, 'errors'); - } - // END - Send mail - } - else - { - setEventMessages($mail->error, $mail->errors, 'errors'); - } - } - } - else - { - setEventMessages($object->error, $object->errors, 'errors'); - } - } - else - { - setEventMessages($langs->transnoentitiesnoconv("OnlyOwnerCanCancel"), '', 'errors'); // Should not happened - } -} - -if ($action == "confirm_brouillonner" && GETPOST('confirm')=="yes" && $id > 0 && $user->rights->expensereport->creer) -{ - $object = new ExpenseReport($db); - $object->fetch($id); - if ($user->id == $object->fk_user_author || $user->id == $object->fk_user_valid) - { - $result = $object->setStatut(0); - - if ($result > 0) - { - // Define output language - if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) - { - $outputlangs = $langs; - $newlang = ''; - if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang = GETPOST('lang_id','alpha'); - if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang = $object->thirdparty->default_lang; - if (! empty($newlang)) { - $outputlangs = new Translate("", $conf); - $outputlangs->setDefaultLang($newlang); - } - $model=$object->modelpdf; - $ret = $object->fetch($id); // Reload to get new records - - $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); - } - } - - if ($result > 0) - { - header("Location: ".$_SERVER["PHP_SELF"]."?id=".$id); - exit; - } - else - { - setEventMessages($object->error, $object->errors, 'errors'); - } - } - else - { - setEventMessages("NOT_AUTHOR", '', 'errors'); - } -} - -if ($action == 'set_paid' && $id > 0 && $user->rights->expensereport->to_paid) -{ - $object = new ExpenseReport($db); - $object->fetch($id); - - $result = $object->set_paid($id, $user); - - if ($result > 0) - { - // Define output language - if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) - { - $outputlangs = $langs; - $newlang = ''; - if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang = GETPOST('lang_id','alpha'); - if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang = $object->thirdparty->default_lang; - if (! empty($newlang)) { - $outputlangs = new Translate("", $conf); - $outputlangs->setDefaultLang($newlang); - } - $model=$object->modelpdf; - $ret = $object->fetch($id); // Reload to get new records - - $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); - } - } - - if ($result > 0) - { - if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) // TODO Translate this so we can remove condition - { - // Send mail - - // TO - $destinataire = new User($db); - $destinataire->fetch($object->fk_user_author); - $emailTo = $destinataire->email; - - // FROM - $expediteur = new User($db); - $expediteur->fetch($user->id); - $emailFrom = $expediteur->email; - - // SUBJECT - $subject = "'ERP - Note de frais payée"; - - // CONTENT - $message = "Bonjour {$destinataire->firstname},\n\n"; - $message.= "Votre note de frais \"{$object->ref}\" vient d'être payée.\n"; - $message.= "- Payeur : {$expediteur->firstname} {$expediteur->lastname}\n"; - $message.= "- Lien : {$dolibarr_main_url_root}/expensereport/card.php?id={$object->id}\n\n"; - $message.= "Bien cordialement,\n' SI"; - - // Generate pdf before attachment - $object->setDocModel($user,""); - $resultPDF = expensereport_pdf_create($db,$object,'',"",$langs); - - // PREPARE SEND - $mailfile = new CMailFile($subject,$emailTo,$emailFrom,$message); - - if(!$mailfile->error): - - // SEND - $result=$mailfile->sendfile(); - if ($result): - - // Retour - if($result): - Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$id); - exit; - else: - dol_print_error($db); - endif; - - else: - dol_print_error($db,$acct->error); - endif; - - else: - $mesg="Impossible d'envoyer l'email."; - setEventMessages($mesg, null, 'errors'); - endif; - // END - Send mail - } - } - else - { - setEventMessages($object->error, $object->errors, 'errors'); - } -} - -if ($action == "addline" && $user->rights->expensereport->creer) -{ - $error = 0; - - $db->begin(); - - $object_ligne = new ExpenseReportLine($db); - - $vatrate = GETPOST('vatrate'); - $object_ligne->comments = GETPOST('comments'); - $qty = GETPOST('qty','int'); - if (empty($qty)) $qty=1; - $object_ligne->qty = $qty; - - $up=price2num(GETPOST('value_unit'),'MU'); - $object_ligne->value_unit = $up; - - $object_ligne->date = $date; - - $object_ligne->fk_c_type_fees = GETPOST('fk_c_type_fees'); - - // if VAT is not used in Dolibarr, set VAT rate to 0 because VAT rate is necessary. - if (empty($vatrate)) $vatrate = "0.000"; - - $object_ligne->vatrate = price2num($vatrate); - - $object_ligne->fk_projet = $fk_projet; - - - if (! GETPOST('fk_c_type_fees') > 0) - { - $error++; - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Type")), null, 'errors'); - $action=''; - } - - if ($vatrate < 0 || $vatrate == '') - { - $error++; - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("VAT")), null, 'errors'); - $action=''; - } - - /* Projects are never required. To force them, check module forceproject - if ($conf->projet->enabled) - { - if (empty($object_ligne->fk_projet) || $object_ligne->fk_projet==-1) - { - $error++; - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Project")), null, 'errors'); - } - }*/ - - // Si aucune date n'est rentrée - if (empty($object_ligne->date) || $object_ligne->date=="--") - { - $error++; - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Date")), null, 'errors'); - } - // Si aucun prix n'est rentré - if($object_ligne->value_unit==0) - { - $error++; - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("PriceUTTC")), null, 'errors'); - } - - // S'il y'a eu au moins une erreur - if (! $error) - { - $object_ligne->fk_expensereport = $_POST['fk_expensereport']; - - $type = 0; // TODO What if service ? - $seller = ''; // seller is unknown - $tmp = calcul_price_total($qty, $up, 0, $vatrate, 0, 0, 0, 'TTC', 0, $type, $seller); - - $object_ligne->vatrate = price2num($vatrate); - $object_ligne->total_ttc = $tmp[2]; - $object_ligne->total_ht = $tmp[0]; - $object_ligne->total_tva = $tmp[1]; - - $result = $object_ligne->insert(); - if ($result > 0) - { - $db->commit(); - header("Location: ".$_SERVER["PHP_SELF"]."?id=".$id); - exit; - } - else - { - dol_print_error($db,$object->error); - $db->rollback(); - } - } - - $action=''; -} - -if ($action == 'confirm_delete_line' && GETPOST("confirm") == "yes" && $user->rights->expensereport->creer) -{ - $object = new ExpenseReport($db); - $object->fetch($id); - - $object_ligne = new ExpenseReportLine($db); - $object_ligne->fetch(GETPOST("rowid")); - $total_ht = $object_ligne->total_ht; - $total_tva = $object_ligne->total_tva; - - $result=$object->deleteline(GETPOST("rowid"), $user); - if ($result >= 0) - { - if ($result > 0) - { - // Define output language - if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) - { - $outputlangs = $langs; - $newlang = ''; - if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang = GETPOST('lang_id','alpha'); - if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang = $object->thirdparty->default_lang; - if (! empty($newlang)) { - $outputlangs = new Translate("", $conf); - $outputlangs->setDefaultLang($newlang); - } - $model=$object->modelpdf; - $ret = $object->fetch($id); // Reload to get new records - - $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); - } - } - - $object->update_totaux_del($object_ligne->total_ht,$object_ligne->total_tva); - header("Location: ".$_SERVER["PHP_SELF"]."?id=".$_GET['id']); - exit; - } - else - { - setEventMessages($object->error, $object->errors, 'errors'); - } -} - -if ($action == "updateligne" && $user->rights->expensereport->creer) -{ - $object = new ExpenseReport($db); - $object->fetch($id); - - $rowid = $_POST['rowid']; - $type_fees_id = GETPOST('fk_c_type_fees'); - $projet_id = $fk_projet; - $comments = GETPOST('comments'); - $qty = GETPOST('qty'); - $value_unit = GETPOST('value_unit'); - $vatrate = GETPOST('vatrate'); - - if (! GETPOST('fk_c_type_fees') > 0) - { - $error++; - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Type")), null, 'errors'); - $action=''; - } - if (GETPOST('vatrate') < 0 || GETPOST('vatrate') == '') - { - $error++; - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Vat")), null, 'errors'); - $action=''; - } - - if (! $error) - { - // TODO Use update method of ExpenseReportLine - $result = $object->updateline($rowid, $type_fees_id, $projet_id, $vatrate, $comments, $qty, $value_unit, $date, $id); - if ($result >= 0) - { - if ($result > 0) - { - // Define output language - if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) - { - $outputlangs = $langs; - $newlang = ''; - if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang = GETPOST('lang_id','alpha'); - if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang = $object->thirdparty->default_lang; - if (! empty($newlang)) { - $outputlangs = new Translate("", $conf); - $outputlangs->setDefaultLang($newlang); - } - $model=$object->modelpdf; - $ret = $object->fetch($id); // Reload to get new records - - $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); - } - } - - $result = $object->recalculer($id); - - header("Location: ".$_SERVER["PHP_SELF"]."?id=".$id); - exit; - } - else - { - setEventMessages($object->error, $object->errors, 'errors'); - } - } -} - - -/* - * Generate or regenerate the PDF document - */ -if ($action == 'builddoc') // GET or POST -{ - $depl = new ExpenseReport($db, 0, $_GET['id']); - $depl->fetch($id); - - if ($_REQUEST['model']) - { - $depl->setDocModel($user, $_REQUEST['model']); - } - - $outputlangs = $langs; - if (! empty($_REQUEST['lang_id'])) - { - $outputlangs = new Translate("",$conf); - $outputlangs->setDefaultLang($_REQUEST['lang_id']); - } - $result=expensereport_pdf_create($db, $depl, '', $depl->modelpdf, $outputlangs); - if ($result <= 0) - { - setEventMessages($object->error, $object->errors, 'errors'); + if ($cancel) + { $action=''; - } -} + $fk_projet=''; + $date_start=''; + $date_end=''; + $date=''; + $comments=''; + $vatrate=''; + $value_unit=''; + $qty=1; + $fk_c_type_fees=-1; + } -// Remove file in doc form -else if ($action == 'remove_file') -{ - $object = new ExpenseReport($db, 0, $_GET['id']); - if ($object->fetch($id)) - { - require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once - $object->fetch_thirdparty(); + include DOL_DOCUMENT_ROOT.'/core/actions_dellink.inc.php'; // Must be include, not include_once - $langs->load("other"); - $upload_dir = $conf->expensereport->dir_output; - $file = $upload_dir . '/' . GETPOST('file'); - $ret=dol_delete_file($file,0,0,0,$object); - if ($ret) setEventMessages($langs->trans("FileWasRemoved", GETPOST('urlfile')), null, 'mesgs'); - else setEventMessages($langs->trans("ErrorFailToDeleteFile", GETPOST('urlfile')), null, 'errors'); - $action=''; - } + include DOL_DOCUMENT_ROOT.'/core/actions_lineupdown.inc.php'; // Must be include, not include_once + + // Action clone object + if ($action == 'confirm_clone' && $confirm == 'yes' && $user->rights->expensereport->creer) + { + if (1==0 && ! GETPOST('clone_content') && ! GETPOST('clone_receivers')) + { + setEventMessages($langs->trans("NoCloneOptionsSpecified"), null, 'errors'); + } + else + { + if ($object->id > 0) + { + // Because createFromClone modifies the object, we must clone it so that we can restore it later + $orig = clone $object; + + $result=$object->createFromClone($socid); + if ($result > 0) + { + header("Location: ".$_SERVER['PHP_SELF'].'?id='.$result); + exit; + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + $object = $orig; + $action=''; + } + } + } + } + + if ($action == 'confirm_delete' && GETPOST("confirm") == "yes" && $id > 0 && $user->rights->expensereport->supprimer) + { + $object = new ExpenseReport($db); + $result=$object->delete($id, $user); + if ($result >= 0) + { + header("Location: index.php"); + exit; + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + } + } + + if ($action == 'add' && $user->rights->expensereport->creer) + { + $object = new ExpenseReport($db); + + $object->date_debut = $date_start; + $object->date_fin = $date_end; + + $object->fk_statut = 1; + $object->fk_c_paiement = GETPOST('fk_c_paiement','int'); + $object->fk_user_validator = GETPOST('fk_user_validator','int'); + $object->note_public = GETPOST('note_public'); + $object->note_private = GETPOST('note_private'); + // Fill array 'array_options' with data from add form + if (! $error) + { + $ret = $extrafields->setOptionalsFromPost($extralabels, $object); + if ($ret < 0) $error++; + } + + if ($object->periode_existe($user,$object->date_debut,$object->date_fin)) + { + $error++; + setEventMessages($langs->trans("ErrorDoubleDeclaration"), null, 'errors'); + $action='create'; + } + + if (! $error) + { + $db->begin(); + + $id = $object->create($user); + + if ($id > 0) + { + $db->commit(); + Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$id); + exit; + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + $db->rollback(); + $action='create'; + } + } + } + + if ($action == 'update' && $user->rights->expensereport->creer) + { + $object = new ExpenseReport($db); + $object->fetch($id); + + $object->date_debut = $date_start; + $object->date_fin = $date_end; + + if($object->fk_statut < 3) + { + $object->fk_user_validator = GETPOST('fk_user_validator','int'); + } + + $object->fk_c_paiement = GETPOST('fk_c_paiement','int'); + $object->note_public = GETPOST('note_public'); + $object->note_private = GETPOST('note_private'); + $object->fk_user_modif = $user->id; + + $result = $object->update($user); + if ($result > 0) + { + header("Location: ".$_SERVER["PHP_SELF"]."?id=".$_POST['id']); + exit; + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + } + } + + if ($action == 'update_extras') + { + // Fill array 'array_options' with data from update form + $extralabels = $extrafields->fetch_name_optionals_label($object->table_element); + $ret = $extrafields->setOptionalsFromPost($extralabels, $object, GETPOST('attribute')); + if ($ret < 0) $error++; + + if (! $error) + { + // Actions on extra fields (by external module or standard code) + $hookmanager->initHooks(array('expensereportdao')); + $parameters = array('id' => $object->id); + $reshook = $hookmanager->executeHooks('insertExtraFields', $parameters, $object, $action); // Note that $action and $object may have been modified by + // some hooks + if (empty($reshook)) { + $result = $object->insertExtraFields(); + if ($result < 0) { + $error++; + } + } else if ($reshook < 0) + $error++; + } + + if ($error) + $action = 'edit_extras'; + } + + if ($action == "confirm_validate" && GETPOST("confirm") == "yes" && $id > 0 && $user->rights->expensereport->creer) + { + $object = new ExpenseReport($db); + $object->fetch($id); + $result = $object->setValidate($user); + + if ($result > 0) + { + // Define output language + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) + { + $outputlangs = $langs; + $newlang = ''; + if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang = GETPOST('lang_id','alpha'); + if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang = $object->thirdparty->default_lang; + if (! empty($newlang)) { + $outputlangs = new Translate("", $conf); + $outputlangs->setDefaultLang($newlang); + } + $model=$object->modelpdf; + $ret = $object->fetch($id); // Reload to get new records + + $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); + } + } + + if ($result > 0 && $object->fk_user_validator > 0) + { + $langs->load("mails"); + + // TO + $destinataire = new User($db); + $destinataire->fetch($object->fk_user_validator); + $emailTo = $destinataire->email; + + // FROM + $expediteur = new User($db); + $expediteur->fetch($object->fk_user_author); + $emailFrom = $expediteur->email; + + if ($emailTo && $emailFrom) + { + $filename=array(); $filedir=array(); $mimetype=array(); + + // SUBJECT + $subject = $langs->trans("ExpenseReportWaitingForApproval"); + + // CONTENT + $link = $urlwithroot.'/expensereport/card.php?id='.$object->id; + $message = $langs->trans("ExpenseReportWaitingForApprovalMessage", $expediteur->getFullName($langs), get_date_range($object->date_debut,$object->date_fin,'',$langs), $link); + + // Rebuild pdf + /* + $object->setDocModel($user,""); + $resultPDF = expensereport_pdf_create($db,$id,'',"",$langs); + + if($resultPDF): + // ATTACHMENT + array_push($filename,dol_sanitizeFileName($object->ref).".pdf"); + array_push($filedir,$conf->expensereport->dir_output . "/" . dol_sanitizeFileName($object->ref) . "/" . dol_sanitizeFileName($object->ref).".pdf"); + array_push($mimetype,"application/pdf"); + */ + + // PREPARE SEND + $mailfile = new CMailFile($subject,$emailTo,$emailFrom,$message,$filedir,$mimetype,$filename); + + if ($mailfile) + { + // SEND + $result=$mailfile->sendfile(); + if ($result) + { + $mesg=$langs->trans('MailSuccessfulySent',$mailfile->getValidAddress($emailFrom,2),$mailfile->getValidAddress($emailTo,2)); + setEventMessages($mesg, null, 'mesgs'); + header("Location: ".$_SERVER["PHP_SELF"]."?id=".$id); + exit; + } + else + { + $langs->load("other"); + if ($mailfile->error) + { + $mesg=''; + $mesg.=$langs->trans('ErrorFailedToSendMail', $emailFrom, $emailTo); + $mesg.='
    '.$mailfile->error; + setEventMessages($mesg, null, 'errors'); + } + else + { + setEventMessages('No mail sent. Feature is disabled by option MAIN_DISABLE_ALL_MAILS', null, 'warnings'); + } + } + } + else + { + setEventMessages($mailfile->error,$mailfile->errors,'errors'); + $action=''; + } + } + else + { + setEventMessages($langs->trans("NoEmailSentBadSenderOrRecipientEmail"), null, 'warnings'); + $action=''; + } + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + } + } + + if ($action == "confirm_save_from_refuse" && GETPOST("confirm") == "yes" && $id > 0 && $user->rights->expensereport->creer) + { + $object = new ExpenseReport($db); + $object->fetch($id); + $result = $object->set_save_from_refuse($user); + + if ($result > 0) + { + // Define output language + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) + { + $outputlangs = $langs; + $newlang = ''; + if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang = GETPOST('lang_id','alpha'); + if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang = $object->thirdparty->default_lang; + if (! empty($newlang)) { + $outputlangs = new Translate("", $conf); + $outputlangs->setDefaultLang($newlang); + } + $model=$object->modelpdf; + $ret = $object->fetch($id); // Reload to get new records + + $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); + } + } + + if ($result > 0) + { + if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) // TODO Translate this so we can remove condition + { + // Send mail + + // TO + $destinataire = new User($db); + $destinataire->fetch($object->fk_user_validator); + $emailTo = $destinataire->email; + + if ($emailTo) + { + // FROM + $expediteur = new User($db); + $expediteur->fetch($object->fk_user_author); + $emailFrom = $expediteur->email; + + // SUBJECT + $subject = "' ERP - Note de frais à re-approuver"; + + // CONTENT + $dateRefusEx = explode(" ",$object->date_refuse); + + $message = "Bonjour {$destinataire->firstname},\n\n"; + $message.= "Le {$dateRefusEx[0]} à {$dateRefusEx[1]} vous avez refusé d'approuver la note de frais \"{$object->ref}\". Vous aviez émis le motif suivant : {$object->detail_refuse}\n\n"; + $message.= "L'auteur vient de modifier la note de frais, veuillez trouver la nouvelle version en pièce jointe.\n"; + $message.= "- Déclarant : {$expediteur->firstname} {$expediteur->lastname}\n"; + $message.= "- Période : du {$object->date_debut} au {$object->date_fin}\n"; + $message.= "- Lien : {$dolibarr_main_url_root}/expensereport/card.php?id={$object->id}\n\n"; + $message.= "Bien cordialement,\n' SI"; + + // Génération du pdf avant attachement + $object->setDocModel($user,""); + $resultPDF = expensereport_pdf_create($db,$object,'',"",$langs); + + if($resultPDF) + { + // ATTACHMENT + $filename=array(); $filedir=array(); $mimetype=array(); + array_push($filename,dol_sanitizeFileName($object->ref).".pdf"); + array_push($filedir,$conf->expensereport->dir_output . "/" . dol_sanitizeFileName($object->ref) . "/" . dol_sanitizeFileName($object->ref_number).".pdf"); + array_push($mimetype,"application/pdf"); + + // PREPARE SEND + $mailfile = new CMailFile($subject,$emailTo,$emailFrom,$message,$filedir,$mimetype,$filename); + + if (! $mailfile->error) + { + // SEND + $result=$mailfile->sendfile(); + if ($result) + { + Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$id); + exit; + } + else + { + $mesg=$mailfile->error; + setEventMessages($mesg, null, 'errors'); + } + // END - Send mail + } + else + { + dol_print_error($db,$resultPDF); + exit; + } + } + } + } + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + } + } + + // Approve + if ($action == "confirm_approve" && GETPOST("confirm") == "yes" && $id > 0 && $user->rights->expensereport->approve) + { + $object = new ExpenseReport($db); + $object->fetch($id); + + $result = $object->setApproved($user); + + if ($result > 0) + { + // Define output language + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) + { + $outputlangs = $langs; + $newlang = ''; + if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang = GETPOST('lang_id','alpha'); + if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang = $object->thirdparty->default_lang; + if (! empty($newlang)) { + $outputlangs = new Translate("", $conf); + $outputlangs->setDefaultLang($newlang); + } + $model=$object->modelpdf; + $ret = $object->fetch($id); // Reload to get new records + + $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); + } + } + + if ($result > 0) + { + if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) // TODO Translate this so we can remove condition + { + // Send mail + + // TO + $destinataire = new User($db); + $destinataire->fetch($object->fk_user_author); + $emailTo = $destinataire->email; + + // CC + $emailCC = $conf->global->NDF_CC_EMAILS; + + // FROM + $expediteur = new User($db); + $expediteur->fetch($object->fk_user_valid); + $emailFrom = $expediteur->email; + + // SUBJECT + $subject = "' ERP - Note de frais validée"; + + // CONTENT + $message = "Bonjour {$destinataire->firstname},\n\n"; + $message.= "Votre note de frais \"{$object->ref}\" vient d'être approuvé!\n"; + $message.= "- Approbateur : {$expediteur->firstname} {$expediteur->lastname}\n"; + $message.= "- Lien : {$dolibarr_main_url_root}/expensereport/card.php?id={$object->id}\n\n"; + $message.= "Bien cordialement,\n' SI"; + + // Génération du pdf avant attachement + $object->setDocModel($user,""); + $resultPDF = expensereport_pdf_create($db,$object,'',"",$langs); + + if($resultPDF): + // ATTACHMENT + $filename=array(); $filedir=array(); $mimetype=array(); + array_push($filename,dol_sanitizeFileName($object->ref).".pdf"); + array_push($filedir, $conf->expensereport->dir_output. + "/". + dol_sanitizeFileName($object->ref) . + "/". + dol_sanitizeFileName($object->ref). + ".pdf" + ); + array_push($mimetype,"application/pdf"); + + // PREPARE SEND + $mailfile = new CMailFile($subject,$emailTo,$emailFrom,$message,$filedir,$mimetype,$filename,$emailCC); + + if(!$mailfile->error): + + // SEND + $result=$mailfile->sendfile(); + if ($result): + setEventMessages($langs->trans("MailSuccessfulySent",$emailFrom,$emailTo), null, 'mesgs'); + Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$id); + exit; + else: + setEventMessages($langs->trans("ErrorFailedToSendMail",$emailFrom,$emailTo), null, 'errors'); + endif; + + else: + setEventMessages($langs->trans("ErrorFailedToSendMail",$emailFrom,$emailTo), null, 'errors'); + endif; + // END - Send mail + else : // if ($resultPDF) + dol_print_error($db,$resultPDF); + exit; + endif; + } + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + } + } + + if ($action == "confirm_refuse" && GETPOST('confirm')=="yes" && $id > 0 && $user->rights->expensereport->approve) + { + $object = new ExpenseReport($db); + $object->fetch($id); + + $result = $object->setDeny($user,GETPOST('detail_refuse')); + + if ($result > 0) + { + // Define output language + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) + { + $outputlangs = $langs; + $newlang = ''; + if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang = GETPOST('lang_id','alpha'); + if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang = $object->thirdparty->default_lang; + if (! empty($newlang)) { + $outputlangs = new Translate("", $conf); + $outputlangs->setDefaultLang($newlang); + } + $model=$object->modelpdf; + $ret = $object->fetch($id); // Reload to get new records + + $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); + } + } + + if ($result > 0) + { + if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) // TODO Translate this so we can remove condition + { + // Send mail + + // TO + $destinataire = new User($db); + $destinataire->fetch($object->fk_user_author); + $emailTo = $destinataire->email; + + // FROM + $expediteur = new User($db); + $expediteur->fetch($object->fk_user_refuse); + $emailFrom = $expediteur->email; + + // SUBJECT + $subject = "' ERP - Note de frais refusée"; + + // CONTENT + $message = "Bonjour {$destinataire->firstname},\n\n"; + $message.= "Votre note de frais \"{$object->ref}\" vient d'être refusée.\n"; + $message.= "- Refuseur : {$expediteur->firstname} {$expediteur->lastname}\n"; + $message.= "- Motif de refus : {$_POST['detail_refuse']}\n"; + $message.= "- Lien : {$dolibarr_main_url_root}/expensereport/card.php?id={$object->id}\n\n"; + $message.= "Bien cordialement,\n' SI"; + + // PREPARE SEND + $mailfile = new CMailFile($subject,$emailTo,$emailFrom,$message); + + if(!$mailfile->error) + { + // SEND + $result=$mailfile->sendfile(); + if ($result) + { + setEventMessages($langs->trans("MailSuccessfulySent",$emailFrom,$emailTo), null, 'mesgs'); + Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$id); + exit; + } + else + { + setEventMessages($langs->trans("ErrorFailedToSendMail",$emailFrom,$emailTo), null, 'errors'); + } + // END - Send mail + } + } + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + } + } + + //var_dump($user->id == $object->fk_user_validator);exit; + if ($action == "confirm_cancel" && GETPOST('confirm')=="yes" && GETPOST('detail_cancel') && $id > 0 && $user->rights->expensereport->creer) + { + $object = new ExpenseReport($db); + $object->fetch($id); + + if ($user->id == $object->fk_user_valid || $user->id == $object->fk_user_author) + { + $result = $object->set_cancel($user,GETPOST('detail_cancel')); + + if ($result > 0) + { + // Define output language + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) + { + $outputlangs = $langs; + $newlang = ''; + if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang = GETPOST('lang_id','alpha'); + if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang = $object->thirdparty->default_lang; + if (! empty($newlang)) { + $outputlangs = new Translate("", $conf); + $outputlangs->setDefaultLang($newlang); + } + $model=$object->modelpdf; + $ret = $object->fetch($id); // Reload to get new records + + $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); + } + } + + if ($result > 0) + { + if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) // TODO Translate this so we can remove condition + { + // Send mail + + // TO + $destinataire = new User($db); + $destinataire->fetch($object->fk_user_author); + $emailTo = $destinataire->email; + + // FROM + $expediteur = new User($db); + $expediteur->fetch($object->fk_user_cancel); + $emailFrom = $expediteur->email; + + // SUBJECT + $subject = "' ERP - Note de frais annulée"; + + // CONTENT + $message = "Bonjour {$destinataire->firstname},\n\n"; + $message.= "Votre note de frais \"{$object->ref}\" vient d'être annulée.\n"; + $message.= "- Annuleur : {$expediteur->firstname} {$expediteur->lastname}\n"; + $message.= "- Motif d'annulation : {$_POST['detail_cancel']}\n"; + $message.= "- Lien : {$dolibarr_main_url_root}/expensereport/card.php?id={$object->id}\n\n"; + $message.= "Bien cordialement,\n' SI"; + + // PREPARE SEND + $mailfile = new CMailFile($subject,$emailTo,$emailFrom,$message); + + if(!$mailfile->error) + { + // SEND + $result=$mailfile->sendfile(); + if ($result) + { + header("Location: ".$_SERVER["PHP_SELF"]."?id=".$id); + exit; + } + else + { + $mesg="Impossible d'envoyer l'email."; + setEventMessages($mesg, null, 'errors'); + } + // END - Send mail + } + else + { + setEventMessages($mail->error, $mail->errors, 'errors'); + } + } + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + } + } + else + { + setEventMessages($langs->transnoentitiesnoconv("OnlyOwnerCanCancel"), '', 'errors'); // Should not happened + } + } + + if ($action == "confirm_brouillonner" && GETPOST('confirm')=="yes" && $id > 0 && $user->rights->expensereport->creer) + { + $object = new ExpenseReport($db); + $object->fetch($id); + if ($user->id == $object->fk_user_author || $user->id == $object->fk_user_valid) + { + $result = $object->setStatut(0); + + if ($result > 0) + { + // Define output language + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) + { + $outputlangs = $langs; + $newlang = ''; + if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang = GETPOST('lang_id','alpha'); + if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang = $object->thirdparty->default_lang; + if (! empty($newlang)) { + $outputlangs = new Translate("", $conf); + $outputlangs->setDefaultLang($newlang); + } + $model=$object->modelpdf; + $ret = $object->fetch($id); // Reload to get new records + + $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); + } + } + + if ($result > 0) + { + header("Location: ".$_SERVER["PHP_SELF"]."?id=".$id); + exit; + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + } + } + else + { + setEventMessages("NOT_AUTHOR", '', 'errors'); + } + } + + if ($action == 'set_paid' && $id > 0 && $user->rights->expensereport->to_paid) + { + $object = new ExpenseReport($db); + $object->fetch($id); + + $result = $object->set_paid($id, $user); + + if ($result > 0) + { + // Define output language + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) + { + $outputlangs = $langs; + $newlang = ''; + if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang = GETPOST('lang_id','alpha'); + if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang = $object->thirdparty->default_lang; + if (! empty($newlang)) { + $outputlangs = new Translate("", $conf); + $outputlangs->setDefaultLang($newlang); + } + $model=$object->modelpdf; + $ret = $object->fetch($id); // Reload to get new records + + $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); + } + } + + if ($result > 0) + { + if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) // TODO Translate this so we can remove condition + { + // Send mail + + // TO + $destinataire = new User($db); + $destinataire->fetch($object->fk_user_author); + $emailTo = $destinataire->email; + + // FROM + $expediteur = new User($db); + $expediteur->fetch($user->id); + $emailFrom = $expediteur->email; + + // SUBJECT + $subject = "'ERP - Note de frais payée"; + + // CONTENT + $message = "Bonjour {$destinataire->firstname},\n\n"; + $message.= "Votre note de frais \"{$object->ref}\" vient d'être payée.\n"; + $message.= "- Payeur : {$expediteur->firstname} {$expediteur->lastname}\n"; + $message.= "- Lien : {$dolibarr_main_url_root}/expensereport/card.php?id={$object->id}\n\n"; + $message.= "Bien cordialement,\n' SI"; + + // Generate pdf before attachment + $object->setDocModel($user,""); + $resultPDF = expensereport_pdf_create($db,$object,'',"",$langs); + + // PREPARE SEND + $mailfile = new CMailFile($subject,$emailTo,$emailFrom,$message); + + if(!$mailfile->error): + + // SEND + $result=$mailfile->sendfile(); + if ($result): + + // Retour + if($result): + Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$id); + exit; + else: + dol_print_error($db); + endif; + + else: + dol_print_error($db,$acct->error); + endif; + + else: + $mesg="Impossible d'envoyer l'email."; + setEventMessages($mesg, null, 'errors'); + endif; + // END - Send mail + } + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + } + } + + if ($action == "addline" && $user->rights->expensereport->creer) + { + $error = 0; + + $db->begin(); + + $object_ligne = new ExpenseReportLine($db); + + $vatrate = GETPOST('vatrate'); + $object_ligne->comments = GETPOST('comments'); + $qty = GETPOST('qty','int'); + if (empty($qty)) $qty=1; + $object_ligne->qty = $qty; + + $up=price2num(GETPOST('value_unit'),'MU'); + $object_ligne->value_unit = $up; + + $object_ligne->date = $date; + + $object_ligne->fk_c_type_fees = GETPOST('fk_c_type_fees'); + + // if VAT is not used in Dolibarr, set VAT rate to 0 because VAT rate is necessary. + if (empty($vatrate)) $vatrate = "0.000"; + + $object_ligne->vatrate = price2num($vatrate); + + $object_ligne->fk_projet = $fk_projet; + + + if (! GETPOST('fk_c_type_fees') > 0) + { + $error++; + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Type")), null, 'errors'); + $action=''; + } + + if ($vatrate < 0 || $vatrate == '') + { + $error++; + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("VAT")), null, 'errors'); + $action=''; + } + + /* Projects are never required. To force them, check module forceproject + if ($conf->projet->enabled) + { + if (empty($object_ligne->fk_projet) || $object_ligne->fk_projet==-1) + { + $error++; + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Project")), null, 'errors'); + } + }*/ + + // Si aucune date n'est rentrée + if (empty($object_ligne->date) || $object_ligne->date=="--") + { + $error++; + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Date")), null, 'errors'); + } + // Si aucun prix n'est rentré + if($object_ligne->value_unit==0) + { + $error++; + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("PriceUTTC")), null, 'errors'); + } + + // S'il y'a eu au moins une erreur + if (! $error) + { + $object_ligne->fk_expensereport = $_POST['fk_expensereport']; + + $type = 0; // TODO What if service ? + $seller = ''; // seller is unknown + $tmp = calcul_price_total($qty, $up, 0, $vatrate, 0, 0, 0, 'TTC', 0, $type, $seller); + + $object_ligne->vatrate = price2num($vatrate); + $object_ligne->total_ttc = $tmp[2]; + $object_ligne->total_ht = $tmp[0]; + $object_ligne->total_tva = $tmp[1]; + + $result = $object_ligne->insert(); + if ($result > 0) + { + $db->commit(); + header("Location: ".$_SERVER["PHP_SELF"]."?id=".$id); + exit; + } + else + { + dol_print_error($db,$object->error); + $db->rollback(); + } + } + + $action=''; + } + + if ($action == 'confirm_delete_line' && GETPOST("confirm") == "yes" && $user->rights->expensereport->creer) + { + $object = new ExpenseReport($db); + $object->fetch($id); + + $object_ligne = new ExpenseReportLine($db); + $object_ligne->fetch(GETPOST("rowid")); + $total_ht = $object_ligne->total_ht; + $total_tva = $object_ligne->total_tva; + + $result=$object->deleteline(GETPOST("rowid"), $user); + if ($result >= 0) + { + if ($result > 0) + { + // Define output language + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) + { + $outputlangs = $langs; + $newlang = ''; + if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang = GETPOST('lang_id','alpha'); + if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang = $object->thirdparty->default_lang; + if (! empty($newlang)) { + $outputlangs = new Translate("", $conf); + $outputlangs->setDefaultLang($newlang); + } + $model=$object->modelpdf; + $ret = $object->fetch($id); // Reload to get new records + + $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); + } + } + + $object->update_totaux_del($object_ligne->total_ht,$object_ligne->total_tva); + header("Location: ".$_SERVER["PHP_SELF"]."?id=".$_GET['id']); + exit; + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + } + } + + if ($action == "updateligne" && $user->rights->expensereport->creer) + { + $object = new ExpenseReport($db); + $object->fetch($id); + + $rowid = $_POST['rowid']; + $type_fees_id = GETPOST('fk_c_type_fees'); + $projet_id = $fk_projet; + $comments = GETPOST('comments'); + $qty = GETPOST('qty'); + $value_unit = GETPOST('value_unit'); + $vatrate = GETPOST('vatrate'); + + if (! GETPOST('fk_c_type_fees') > 0) + { + $error++; + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Type")), null, 'errors'); + $action=''; + } + if (GETPOST('vatrate') < 0 || GETPOST('vatrate') == '') + { + $error++; + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Vat")), null, 'errors'); + $action=''; + } + + if (! $error) + { + // TODO Use update method of ExpenseReportLine + $result = $object->updateline($rowid, $type_fees_id, $projet_id, $vatrate, $comments, $qty, $value_unit, $date, $id); + if ($result >= 0) + { + if ($result > 0) + { + // Define output language + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) + { + $outputlangs = $langs; + $newlang = ''; + if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang = GETPOST('lang_id','alpha'); + if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang = $object->thirdparty->default_lang; + if (! empty($newlang)) { + $outputlangs = new Translate("", $conf); + $outputlangs->setDefaultLang($newlang); + } + $model=$object->modelpdf; + $ret = $object->fetch($id); // Reload to get new records + + $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); + } + } + + $result = $object->recalculer($id); + + header("Location: ".$_SERVER["PHP_SELF"]."?id=".$id); + exit; + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + } + } + } + + + /* + * Generate or regenerate the PDF document + */ + if ($action == 'builddoc') // GET or POST + { + $depl = new ExpenseReport($db, 0, $_GET['id']); + $depl->fetch($id); + + if ($_REQUEST['model']) + { + $depl->setDocModel($user, $_REQUEST['model']); + } + + $outputlangs = $langs; + if (! empty($_REQUEST['lang_id'])) + { + $outputlangs = new Translate("",$conf); + $outputlangs->setDefaultLang($_REQUEST['lang_id']); + } + $result=expensereport_pdf_create($db, $depl, '', $depl->modelpdf, $outputlangs); + if ($result <= 0) + { + setEventMessages($object->error, $object->errors, 'errors'); + $action=''; + } + } + + // Remove file in doc form + else if ($action == 'remove_file') + { + $object = new ExpenseReport($db, 0, $_GET['id']); + if ($object->fetch($id)) + { + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + + $object->fetch_thirdparty(); + + $langs->load("other"); + $upload_dir = $conf->expensereport->dir_output; + $file = $upload_dir . '/' . GETPOST('file'); + $ret=dol_delete_file($file,0,0,0,$object); + if ($ret) setEventMessages($langs->trans("FileWasRemoved", GETPOST('urlfile')), null, 'mesgs'); + else setEventMessages($langs->trans("ErrorFailToDeleteFile", GETPOST('urlfile')), null, 'errors'); + $action=''; + } + } } /* * View */ + $title=$langs->trans("ExpenseReport") . " - " . $langs->trans("Card"); $helpurl="EN:Module_Expense_Reports"; llxHeader("",$title,$helpurl); @@ -1155,6 +1251,14 @@ if ($action == 'create') print '
    '; @@ -1171,9 +1275,10 @@ else { if($id > 0 || $ref) { - $object = new ExpenseReport($db); $result = $object->fetch($id, $ref); + $res = $object->fetch_optionals($object->id, $extralabels); + if ($result > 0) { if ($object->fk_user_author != $user->id) @@ -1285,6 +1390,10 @@ else } + // Other attributes + //$cols = 3; + //include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_edit.tpl.php'; + // Public note print '
    ' . $langs->trans('NotePublic') . '
    '; print '
    '; @@ -2046,6 +2159,7 @@ print '
    '; /* * Generate documents */ + if($user->rights->expensereport->export && $object->fk_statut>0 && $action != 'edit') { $filename = dol_sanitizeFileName($object->ref); @@ -2074,10 +2188,12 @@ if ($action != 'create' && $action != 'edit' && ($id || $ref)) // Show links to link elements $linktoelements=array(); - if (! empty($conf->global->EXPENSES_LINK_TO_INTERVENTION)) $linktoelements[]='fichinter'; - $linktoelem = $form->showLinkToObjectBlock($object, $linktoelements, array('expensereport')); - $somethingshown = $form->showLinkedObjectBlock($object, $linktoelem); - + if (! empty($conf->global->EXPENSES_LINK_TO_INTERVENTION)) + { + $linktoelements[]='fichinter'; + $linktoelem = $form->showLinkToObjectBlock($object, $linktoelements, array('expensereport')); + $somethingshown = $form->showLinkedObjectBlock($object, $linktoelem); + } } llxFooter();